/* Capa aislada: no modifica estilos de servicios, citas ni CRM. */
.mx-campaign { display: none; }
html[data-mazu-campaign="septiembre-2026"] .mx-campaign { display: block; }
html[data-mazu-campaign="septiembre-2026"] body > .site-header,
html[data-mazu-campaign="septiembre-2026"] #hero { display: none; }
.mx-campaign { --mx-pink: #e9adb5; color: #fff; background: #121212; }
.mx-campaign * { box-sizing: border-box; }
.mx-campaign a { text-decoration: none; }
.mx-campaign a:focus-visible, .mx-campaign button:focus-visible { outline: 3px solid #fff; outline-offset: 5px; }
.mx-header { position: relative; z-index: 20; background: #121212; border-bottom: 1px solid #9b7973; }
.mx-ribbon { position: relative; z-index: 2; min-height: 44px; display: flex; justify-content: center; align-items: center; gap: 5px; margin: 0; padding: 8px 12px; border-bottom: 1px solid #ffffff12; font: 600 18px/1.3 Georgia, serif; }
.mx-ribbon strong { color: #25804f; }
.mx-ribbon span:last-child { color: #c2616c; }
.mx-garland { position: absolute; top: 0; width: clamp(230px, 29vw, 460px); pointer-events: none; z-index: 1; }
.mx-garland img { display: block; position: static; width: 100%; max-width: 100%; height: auto; }
.mx-garland-left { left: 0; }
.mx-garland-left img { transform: none; }
.mx-garland-right { right: 0; }
.mx-garland-right img { transform: none; }
.mx-nav { position: relative; z-index: 3; min-height: 118px; width: min(900px, 76%); margin: auto; display: grid; grid-template-columns: 1fr 240px 1fr; gap: 16px; align-items: center; }
.mx-nav-links { display: flex; gap: 24px; align-items: center; justify-content: center; }
.mx-nav-links a { color: #f8f5f2; font: 600 15px/1.2 Georgia, serif; text-transform: uppercase; white-space: nowrap; padding: 12px 0; }
.mx-nav-links a:hover { color: var(--mx-pink); }
.mx-brand { position: relative; display: flex; flex-direction: column; align-items: center; color: #cfa199; padding: 10px 28px 18px; }
.mx-brand-name { font: 400 59px/.95 Georgia, serif; letter-spacing: 1px; }
.mx-brand-sub { font: italic 28px/1.1 'Allura', 'Brush Script MT', cursive; white-space: nowrap; }
.mx-brand-flower { position: absolute; bottom: 5px; width: 35px; height: 35px; object-fit: contain; pointer-events: none; }
.mx-brand-flower:first-of-type { left: 13px; }
.mx-brand-flower:last-of-type { right: 13px; }
.mx-menu-toggle, .mx-mobile-book { display: none; }
.mx-mobile-menu[hidden] { display: none; }
.mx-mobile-menu { position: absolute; top: 100%; left: 0; width: 100%; background: #191717; padding: 18px 24px; border-bottom: 1px solid var(--mx-pink); }
.mx-mobile-menu a { display: block; padding: 12px; color: #fff; }
.mx-hero { position: relative; isolation: isolate; height: clamp(438px, 34.43vw, 496px); max-width: 1440px; margin-inline: auto; container-type: inline-size; overflow: hidden; background: #121212; }
.mx-photo { position: absolute; inset: 0 8% 0 40%; overflow: hidden; border-bottom-right-radius: 31% 43%; z-index: -2; }
.mx-photo img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center 69%; }
.mx-photo::after { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg, #121212 0%, #121212d9 11%, #12121250 31%, transparent 50%); }
.mx-copy { position: relative; z-index: 4; width: 59%; margin-left: 15.9%; padding-top: clamp(46px, 3.6cqw, 70px); }
.mx-eyebrow { font: 400 clamp(14px, 1.25vw, 19px)/1.4 Arial, sans-serif; color: #c8c3be; margin: 0 0 20px; letter-spacing: .02em; }
.mx-title { display: flex; align-items: center; gap: 12px; font: 700 clamp(34px, 3.7cqw, 65px)/1.1 Georgia, serif; color: var(--mx-pink); margin: 0 0 8px; letter-spacing: -.025em; }
.mx-title svg { width: .82em; height: .6em; flex-shrink: 0; box-shadow: 0 2px 7px #0008; }
.mx-service { font: 400 clamp(26px, 2.65cqw, 47px)/1.25 Georgia, serif; margin: 0 0 5px; letter-spacing: -.015em; }
.mx-price { font: 700 clamp(40px, 3.85cqw, 67px)/1.15 Georgia, serif; margin: 0 0 7px; letter-spacing: -.025em; }
.mx-terms { font: 400 clamp(18px, 1.7cqw, 28px)/1.4 Arial, sans-serif; color: #c5c1bc; margin: 0 0 24px; }
.mx-book { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 11px 24px; color: #161212; background: linear-gradient(110deg, #e5a6af, #f0bdc5); font: 600 clamp(15px, 1.35cqw, 22px)/1.2 Arial, sans-serif; border: 1px solid #efbdc4; transition: background .2s; }
.mx-book:hover { background: #ffd0d7; }
.mx-flower { position: absolute; z-index: 2; pointer-events: none; height: auto; }
.mx-flower-tl { width: 13.5%; top: -8%; left: -3.8%; transform: rotate(165deg); }
.mx-flower-bl { width: 9%; bottom: -6%; left: -2.4%; }
.mx-flower-br { width: 16%; bottom: -10%; right: -4.8%; transform: rotate(-18deg); }

.mx-social { position: absolute; z-index: 5; right: 1.5%; top: 28%; display: grid; gap: 12px; }
.mx-social a { display: grid; place-items: center; color: var(--mx-pink); width: 44px; height: 44px; }
.mx-social svg { width: 19px; height: 19px; }
.mx-confetti { position: absolute; inset: 0; z-index: 2; pointer-events: none; }
.mx-confetti i { position: absolute; width: 7px; height: 13px; background: #ba2636; transform: rotate(24deg); border-radius: 1px 0 3px 0; }
.mx-confetti i:nth-child(3n) { background: #07804b; transform: rotate(68deg); }
.mx-confetti i:nth-child(3n + 2) { background: #f6f3e8; transform: rotate(-32deg); width: 5px; }
.mx-confetti i:nth-child(1) { top: 6%; left: 15%; }
.mx-confetti i:nth-child(2) { top: 37%; left: 57%; }
.mx-confetti i:nth-child(3) { top: 4%; left: 36%; }
.mx-confetti i:nth-child(4) { top: 8%; left: 56%; }
.mx-confetti i:nth-child(5) { top: 86%; left: 39%; }
.mx-confetti i:nth-child(6) { top: 7%; left: 89%; }
.mx-confetti i:nth-child(7) { top: 30%; left: 87%; }
.mx-confetti i:nth-child(8) { top: 21%; left: 57%; }
.mx-confetti i:nth-child(9) { top: 17%; left: 44%; }
.mx-confetti i:nth-child(10) { top: 41%; left: 6%; }
@media(min-width: 1600px) { .mx-nav { width: 1050px; grid-template-columns: 1fr 280px 1fr; min-height: 138px; } .mx-nav-links { gap: 30px; } .mx-nav-links a { font-size: 18px; } .mx-brand-name { font-size: 70px; }  }
@media (max-width: 1050px) and (min-width: 761px) { .mx-nav { width: 86%; grid-template-columns: 1fr 190px 1fr; gap: 8px; } .mx-nav-links { gap: 14px; } .mx-nav-links a { font-size: 12px; } .mx-brand-name { font-size: 51px; } .mx-copy { margin-left: 12%; width: 70%; } .mx-title { font-size: 34px; } .mx-service { font-size: 27px; }  }
@media (max-width: 760px) {
 .mx-ribbon { min-height: 36px; font-size: 12px; gap: 3px; }
 .mx-nav { width: 100%; min-height: 108px; padding: 12px 20px; display: flex; justify-content: space-between; gap: 10px; }
 .mx-nav-links { display: none; }
 .mx-brand { padding: 7px 10px 13px; }
 .mx-brand-name { font-size: 44px; }
 .mx-brand-sub { font-size: 22px; }
 .mx-brand-flower { display: none; }
 .mx-garland { width: 38%; top: 35px; opacity: 1; }
 .mx-mobile-book { display: inline-flex; color: var(--mx-pink); padding: 11px 0; font: 600 12px Arial, sans-serif; }
 .mx-menu-toggle { display: grid; align-content: center; gap: 5px; width: 44px; height: 44px; border: 1px solid #ffffff40; background: #121212; padding: 12px; color: #fff; }
 .mx-menu-toggle span { height: 1px; width: 18px; background: currentColor; }
 .mx-hero { height: auto; min-height: 670px; padding-bottom: 280px; }
 .mx-photo { inset: auto 0 0 0; height: 375px; border-radius: 0; }
 .mx-photo img { object-position: center 70%; }
 .mx-photo::after { background: linear-gradient(180deg, #121212 0%, #12121280 18%, transparent 50%); }
 .mx-copy { width: auto; margin: 0; padding: 28px 24px 24px; }
 .mx-eyebrow { font-size: 12px; margin-bottom: 14px; letter-spacing: .08em; }
 .mx-title { font-size: clamp(22px, 6.4vw, 43px); gap: 8px; margin-bottom: 13px; white-space: nowrap; }
 .mx-service { font-size: clamp(24px, 6vw, 33px); max-width: 470px; margin-bottom: 10px; }
 .mx-price { font-size: 42px; margin-bottom: 5px; }
 .mx-terms { font-size: 17px; margin-bottom: 20px; }
 .mx-book { min-height: 48px; font-size: 15px; padding: 12px 23px; }
 .mx-flower-tl, 
 .mx-flower-bl { width: 85px; left: -20px; bottom: -15px; }
 .mx-flower-br { width: 118px; right: -23px; bottom: -20px; }
 .mx-social { display: none; }
 .mx-confetti i:nth-child(n+5) { display: none; }
 .mx-confetti i:nth-child(1) { left: 88%; top: 3%; }
 .mx-confetti i:nth-child(2) { left: 85%; top: 70%; }
 .mx-confetti i:nth-child(3) { left: 8%; top: 65%; }
 .mx-confetti i:nth-child(4) { left: 93%; top: 51%; }
}
@media (prefers-reduced-motion: reduce) { .mx-campaign * { transition: none; } }

@media (min-width: 761px) { .mx-mobile-menu { display: none; } }

/* V3: campaña a lo largo de la página, con portada de ancho completo. */
.mx-hero { max-width: none; height: clamp(470px, 36vw, 590px); }
.mx-photo { inset: 0 0 0 43%; border-bottom-right-radius: 0; }
.mx-photo img { object-position: center 69%; }
.mx-photo::after { background: linear-gradient(90deg, #121212 0%, #121212ce 12%, #12121240 31%, transparent 55%); }
.mx-garland { width: clamp(300px, 40vw, 650px); top: 44px; }
.mx-nav { margin-top: clamp(70px, 7vw, 112px); }
.mx-ribbon { background: #121212; }
.mx-section-trim { display: none; }
html[data-mazu-campaign="septiembre-2026"] body { background: #121212; }
html[data-mazu-campaign="septiembre-2026"] main > .section {
 position: relative; isolation: isolate; background: #fcf7f2; border-top: 1px solid #dbbfb5;
}
html[data-mazu-campaign="septiembre-2026"] main > .section:nth-of-type(even) { background: #fffdf9; }
html[data-mazu-campaign="septiembre-2026"] .mx-section-trim {
 display: block; position: absolute; top: 0; left: 0; width: 100%; height: 68px;
 pointer-events: none; z-index: -1; overflow: hidden;
 background: linear-gradient(90deg,#247653 0 33.33%,#eee6d9 33.33% 66.66%,#b84a55 66.66%) top / 100% 3px no-repeat;
}
html[data-mazu-campaign="septiembre-2026"] .mx-section-trim::after {
 content: ''; position: absolute; top: 13px; right: 20px; width: 48px; height: 48px;
 background: url('assets/mes-patrio-2026/flor.png') center / contain no-repeat;
}
html[data-mazu-campaign="septiembre-2026"] main > .section:nth-of-type(even) .mx-section-trim::after { right: auto; left: 20px; }
html[data-mazu-campaign="septiembre-2026"] main > .section .section-tag { color: #23704f; }
html[data-mazu-campaign="septiembre-2026"] main > .section .section-title { color: #412e32; }
html[data-mazu-campaign="septiembre-2026"] main > .section .section-header::after {
 content: ''; display: block; width: 90px; height: 3px; margin: 22px auto 0;
 background: linear-gradient(90deg,#247653 0 33.33%,#d2bbae 33.33% 66.66%,#b84a55 66.66%);
}
html[data-mazu-campaign="septiembre-2026"] main > .section .btn-outline {
 border-color: #b37d88; color: #793c4b; background: transparent;
}
html[data-mazu-campaign="septiembre-2026"] main > .section .btn-outline:hover { background: #f1d6dc; }
html[data-mazu-campaign="septiembre-2026"] .site-footer {
 position: relative; background: #171414; color: #f6eae5;
 border-top: 3px solid #ae737d;
}
html[data-mazu-campaign="septiembre-2026"] .site-footer .mx-section-trim { z-index: 0; }
html[data-mazu-campaign="septiembre-2026"] .site-footer h4 { color: #edb3bd; }
@media(max-width:760px) {
 .mx-garland { width: 48%; top: 36px; }
 .mx-nav { margin-top: clamp(36px, 10vw, 70px); }
 .mx-hero { height: auto; min-height: 670px; }
 .mx-photo { inset: auto 0 0; height: 375px; }
 .mx-photo::after { background: linear-gradient(180deg,#121212 0%,#12121280 18%,transparent 50%); }
 html[data-mazu-campaign="septiembre-2026"] .mx-section-trim::after { width: 32px; height: 32px; top: 11px; right: 10px; }
 html[data-mazu-campaign="septiembre-2026"] main > .section:nth-of-type(even) .mx-section-trim::after { left: 10px; }
}

/* V4: encabezado compacto y marca como un único recurso gráfico. */
.mx-ribbon { min-height: 30px; padding: 5px 12px; font-size: 14px; }
.mx-nav { width: min(1020px, 90%); min-height: 110px; margin: 0 auto; padding: 0; grid-template-columns: 1fr 200px 1fr; gap: 18px; }
.mx-brand { padding: 0; width: 200px; height: 106px; justify-content: center; }
.mx-brand-asset { display: block; width: 190px; height: 104px; object-fit: cover; object-position: center 47%; }
.mx-nav-links { gap: clamp(12px, 1.6vw, 24px); }
.mx-nav-links a { font-family: var(--font-sans); font-size: 13px; font-weight: 500; text-transform: none; }
.mx-garland { width: clamp(200px, 28vw, 380px); top: -6px; }
@media (max-width: 1050px) and (min-width: 761px) {
 .mx-nav { width: 94%; grid-template-columns: 1fr 178px 1fr; gap: 8px; }
 .mx-brand { width: 178px; }
 .mx-brand-asset { width: 176px; height: 100px; }
 .mx-nav-links { gap: 13px; }
 .mx-nav-links a { font-size: 12px; }
}
@media(max-width:760px) {
 .mx-ribbon { min-height: 30px; font-size: 11px; }
 .mx-nav { width: 100%; min-height: 94px; padding: 0 18px; margin: 0; display: flex; gap: 12px; }
 .mx-brand { width: 150px; height: 90px; }
 .mx-brand-asset { width: 148px; height: 84px; }
 .mx-garland { top: 22px; width: 38%; max-width: 200px; opacity: .7; }
 .mx-brand, .mx-mobile-book, .mx-menu-toggle { position: relative; z-index: 2; }
}

/* V5: logo circular proporcionado por Kike, completo y sin alteraciones. */
.mx-nav { min-height: 130px; grid-template-columns: 1fr 150px 1fr; }
.mx-brand { width: 150px; height: 128px; }
.mx-brand-asset { width: 124px; height: 124px; object-fit: contain; object-position: center; }
@media (max-width:1050px) and (min-width:761px) {
 .mx-nav { grid-template-columns: 1fr 138px 1fr; }
 .mx-brand { width: 138px; }
}
@media(max-width:760px) {
 .mx-nav { min-height: 102px; }
 .mx-brand { width: 104px; height: 100px; }
 .mx-brand-asset { width: 96px; height: 96px; }
}

/* V6: mayor presencia del papel picado y menú +5 puntos tipográficos. */
.mx-garland { width: clamp(270px, 38vw, 540px); top: 0; opacity: 1; }
.mx-nav { width: min(1160px, 94%); }
.mx-nav-links { transform: translateY(25px); }
.mx-nav-links a { font-size: calc(13px + 5pt); font-weight: 600; }
.mx-nav-links a:nth-child(3n + 1), .mx-mobile-menu a:nth-child(3n + 1) { color: #66c794; }
.mx-nav-links a:nth-child(3n + 2), .mx-mobile-menu a:nth-child(3n + 2) { color: #fffaf2; }
.mx-nav-links a:nth-child(3n), .mx-mobile-menu a:nth-child(3n) { color: #f17c86; }
.mx-nav-links a:hover, .mx-mobile-menu a:hover { text-decoration: underline; text-underline-offset: 6px; }
.mx-mobile-menu a { font-size: calc(16px + 5pt); }
.mx-mobile-book { font-size: calc(12px + 5pt); color: #66c794; }
@media (max-width:1050px) and (min-width:761px) {
 .mx-nav-links { gap: 12px; }
 .mx-nav-links a { font-size: calc(12px + 5pt); }
 .mx-garland { width: 38%; }
}
@media(max-width:760px) {
 .mx-nav { width: 100%; }
 .mx-garland { top: 0; width: 46%; max-width: 280px; opacity: 1; }
 .mx-nav-links { transform: none; }
}

/* V7: sólo secciones inferiores. Hero y encabezado aprobados sin cambios. */
html[data-mazu-campaign="septiembre-2026"] main > .section .mx-section-trim,
html[data-mazu-campaign="septiembre-2026"] .site-footer > .mx-section-trim {
 inset: 0; width: 100%; height: 100%; z-index: 0; pointer-events: none;
}
html[data-mazu-campaign="septiembre-2026"] main > .section > .container,
html[data-mazu-campaign="septiembre-2026"] .site-footer > :not(.mx-section-trim) {
 position: relative; z-index: 1;
}
html[data-mazu-campaign="septiembre-2026"] .mx-section-trim::after { display: none; }
.mx-section-paper, .mx-section-flowers { position: absolute; display: block; height: auto; pointer-events: none; }
.mx-section-paper { top: 16px; left: 20px; width: clamp(150px, 16vw, 280px); }
.mx-section-flowers { bottom: 14px; right: 18px; width: clamp(62px, 7vw, 110px); }
html[data-mazu-campaign="septiembre-2026"] main > .section:nth-of-type(even) .mx-section-paper { left: auto; right: 20px; }
html[data-mazu-campaign="septiembre-2026"] main > .section:nth-of-type(even) .mx-section-flowers { right: auto; left: 18px; }
html[data-mazu-campaign="septiembre-2026"] .equipo-card { border-bottom: 3px solid #398060; }
html[data-mazu-campaign="septiembre-2026"] .equipo-card:nth-child(3n + 2) { border-bottom-color: #d6bdb0; }
html[data-mazu-campaign="septiembre-2026"] .equipo-card:nth-child(3n) { border-bottom-color: #be5962; }
@media(max-width:1300px) {
 .mx-section-paper { width: 155px; top: 8px; left: 8px; }
 .mx-section-flowers { width: 65px; bottom: 8px; right: 8px; }
 html[data-mazu-campaign="septiembre-2026"] main > .section:nth-of-type(even) .mx-section-paper { right: 8px; }
 html[data-mazu-campaign="septiembre-2026"] main > .section:nth-of-type(even) .mx-section-flowers { left: 8px; }
}
@media(max-width:760px) {
 html[data-mazu-campaign="septiembre-2026"] main > .section { padding-top: 88px; padding-bottom: 78px; }
 .mx-section-paper { width: 145px; top: 10px; }
 .mx-section-flowers { width: 52px; bottom: 10px; }
}

/* V9: dos acentos únicos, sin cambios en portada ni encabezado. */
.mx-silk-divider,.mx-embroidery { display:none; }
html[data-mazu-campaign="septiembre-2026"] .mx-silk-divider { display:flex; justify-content:center; align-items:center; padding:14px 24px; background:#fcf7f2; pointer-events:none; }
.mx-silk-divider img { display:block; width:clamp(160px,22vw,280px); height:auto; opacity:.8; }
html[data-mazu-campaign="septiembre-2026"] #equipo { position:relative; padding-bottom:116px; }
html[data-mazu-campaign="septiembre-2026"] #equipo .mx-embroidery { display:block; position:absolute; bottom:12px; left:20px; width:clamp(90px,12vw,150px); height:auto; opacity:.58; pointer-events:none; user-select:none; }
@media(max-width:760px) {
 html[data-mazu-campaign="septiembre-2026"] .mx-silk-divider { padding:10px 20px; }
 .mx-silk-divider img { width:150px; opacity:.72; }
 html[data-mazu-campaign="septiembre-2026"] #equipo { padding-bottom:90px; }
 html[data-mazu-campaign="septiembre-2026"] #equipo .mx-embroidery { width:90px; left:12px; bottom:10px; opacity:.48; }
}

/* Sustituye únicamente el listón de V9 por una línea fina tricolor. */
.mx-fine-divider { display:none; }
html[data-mazu-campaign="septiembre-2026"] .mx-fine-divider { display:block; width:100%; height:3px; margin:0; padding:0; pointer-events:none; background:linear-gradient(90deg,#247653 0 33.333%,#eee6d9 33.333% 66.666%,#b84a55 66.666% 100%); }
