@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,500;0,600;1,500&family=Manrope:wght@400;500;600;700&display=swap');

:root{--ink:#30272a;--muted:#796e70;--paper:#faf6f2;--white:#fff;--line:#eadfda;--green:#65434e;--sage:#bc9d96;--gold:#b58a58;--rose:#9d6572;--serif:'Cormorant Garamond',Georgia,serif;--sans:'Manrope',Arial,sans-serif;--shadow:0 18px 55px rgba(66,42,49,.11)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font:15px/1.65 var(--sans);background:var(--paper)}a{color:inherit;text-decoration:none}img,video{max-width:100%;display:block}button,input,textarea,select{font:inherit}button,.button{cursor:pointer}.logo{display:inline-flex;align-items:center;gap:10px;font-weight:700;letter-spacing:.02em}.logo i{display:grid;place-items:center;width:34px;height:34px;border:1px solid currentColor;border-radius:50%;font:italic 600 22px var(--serif)}.light-logo{color:#fff}.button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 24px;border:0;border-radius:2px;font-weight:700;transition:.2s}.button.primary{color:#fff;background:var(--green)}.button.primary:hover{background:#263b31;transform:translateY(-1px)}.button.ghost{border:1px solid #bfc5c0;background:transparent}.button.light{background:#fff;color:var(--green)}.button.full{width:100%}.global-flash{position:fixed;z-index:1000;top:18px;left:50%;transform:translateX(-50%);padding:12px 20px;border-radius:4px;color:#fff;background:#2f6849;box-shadow:var(--shadow);animation:flashout .4s 4.6s forwards}.global-flash.error{background:#9c3f3f}@keyframes flashout{to{opacity:0;visibility:hidden;transform:translate(-50%,-8px)}}

/* Marketing */
.marketing{background:#f8f6f1}.marketing-nav{height:76px;display:flex;align-items:center;justify-content:space-between;max-width:1180px;margin:auto;padding:0 24px}.marketing-nav nav{display:flex;align-items:center;gap:28px;font-size:13px}.nav-cta{padding:10px 17px;color:#fff;background:var(--green)}.marketing-hero{min-height:680px;display:grid;grid-template-columns:1.05fr .95fr;max-width:1180px;margin:auto;padding:70px 24px 90px;align-items:center;gap:85px}.marketing-copy>span,.eyebrow,.marketing-templates>div>span,.marketing-final>span,.template-heading span,.media-heading span,.invite-title>span,.story>div>span,.details header span,.gallery header span,.invite-video>div>span{font-size:11px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--gold)}.marketing-copy h1{max-width:620px;margin:18px 0;font:600 clamp(54px,6vw,86px)/.93 var(--serif)}.marketing-copy p{max-width:540px;color:var(--muted);font-size:17px}.marketing-copy>div{display:flex;gap:12px;margin:32px 0 15px}.marketing-copy small{color:#8c8e8a}.hero-phone{position:relative;min-height:520px;background:url('/assets/birthday-hero.png') center/cover;border-radius:180px 180px 16px 16px;box-shadow:var(--shadow);overflow:hidden}.hero-phone:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(18,23,20,.03),rgba(18,23,20,.62))}.hero-phone>div{position:absolute;z-index:1;inset:auto 20px 50px;text-align:center;color:#fff}.hero-phone small,.hero-phone span{display:block;text-transform:uppercase;letter-spacing:.18em;font-size:10px}.hero-phone strong{display:block;margin:16px 0;font:600 52px/.8 var(--serif)}.hero-phone strong i{color:#decba8}.marketing-features{display:grid;grid-template-columns:repeat(3,1fr);max-width:1180px;margin:0 auto 120px;padding:0 24px}.marketing-features article{padding:42px;border:1px solid var(--line);background:#fff}.marketing-features article+article{border-left:0}.marketing-features b{color:var(--gold)}.marketing-features h2{font:600 30px var(--serif)}.marketing-features p{color:var(--muted)}.marketing-templates{padding:95px max(24px,calc((100% - 1132px)/2));background:#263b31;color:#fff}.marketing-templates>div:first-child{max-width:560px;margin-bottom:38px}.marketing-templates h2{font:600 48px/1 var(--serif)}.mini-templates{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.mini-template{min-height:145px;padding:22px;display:flex;flex-direction:column;justify-content:flex-end;border:1px solid rgba(255,255,255,.18);background:linear-gradient(145deg,rgba(255,255,255,.13),rgba(255,255,255,.02))}.mini-template strong{font:600 25px var(--serif)}.mini-template small{opacity:.68}.mini-template.t-bohemia,.art-bohemia{background-color:#aa735c}.mini-template.t-botanica,.art-botanica{background-color:#4a6a55}.mini-template.t-noche,.art-noche{background-color:#161b25}.mini-template.t-mediterraneo,.art-mediterraneo{background-color:#607f8b}.mini-template.t-romantica,.art-romantica{background-color:#a86f78}.mini-template.t-dorada,.art-dorada{background-color:#8b7246}.mini-template.t-minimal,.art-minimal{background-color:#c8c4bc;color:#282a28}.mini-template.t-campestre,.art-campestre{background-color:#7d8061}.mini-template.t-editorial,.art-editorial{background-color:#533f45}.marketing-final{text-align:center;padding:110px 24px;background:#b08b76;color:#fff}.marketing-final h2{font:600 56px var(--serif);margin:12px}.marketing-footer{min-height:170px;display:flex;align-items:center;gap:40px;max-width:1180px;margin:auto;padding:30px 24px}.marketing-footer p{color:var(--muted);flex:1}.marketing-footer small{color:#999}

/* Auth */
.auth-page{background:#fff}.auth-shell{min-height:100vh;display:grid;grid-template-columns:.85fr 1.15fr}.auth-side{padding:45px 8vw;display:flex;flex-direction:column;justify-content:space-between;color:#fff;background:linear-gradient(150deg,rgba(31,55,43,.86),rgba(24,35,30,.92)),url('/assets/birthday-detail.png') center/cover}.auth-side>div{max-width:450px;margin-bottom:10vh}.auth-side span{color:#d8c19c;text-transform:uppercase;letter-spacing:.15em;font-size:11px}.auth-side h1{font:600 58px/1 var(--serif)}.auth-side p{color:#dfe6e1}.auth-form{display:grid;place-items:center;padding:50px 24px}.auth-card{width:min(520px,100%)}.auth-card h2{margin:5px 0;font:600 44px var(--serif)}.auth-card>p{color:var(--muted)}.auth-card form{margin-top:30px}.auth-card label,.form-panel label,.rsvp-section form>label,.rsvp-section .two label{display:block;margin-bottom:16px;color:#464a47;font-size:12px;font-weight:700}.auth-card input,.form-panel input,.form-panel textarea,.rsvp-section input,.rsvp-section textarea,.rsvp-section select{width:100%;margin-top:6px;padding:13px 14px;border:1px solid #d9d8d4;border-radius:3px;background:#fff;outline:none}.auth-card input:focus,.form-panel input:focus,.form-panel textarea:focus,.rsvp-section input:focus,.rsvp-section textarea:focus,.rsvp-section select:focus{border-color:var(--sage);box-shadow:0 0 0 3px rgba(99,129,108,.1)}.two{display:grid;grid-template-columns:1fr 1fr;gap:14px}.slug-input{display:flex;margin-top:6px}.slug-input input{margin:0;border-radius:3px 0 0 3px}.slug-input span{display:flex;align-items:center;padding:0 12px;color:#777;background:#f1f0ed;border:1px solid #d9d8d4;border-left:0;white-space:nowrap;font-size:11px}.form-error{padding:12px;margin:18px 0;color:#943f3f;background:#fbebeb;border:1px solid #efcece}.auth-switch{text-align:center;font-size:13px}.auth-switch a{text-decoration:underline}.mobile-logo{display:none}

/* Dashboard */
.dashboard-page{background:#f2f2ef}.dashboard{min-height:100vh;display:grid;grid-template-columns:250px 1fr}.sidebar{position:fixed;inset:0 auto 0 0;width:250px;padding:30px 22px;display:flex;flex-direction:column;background:#24362e;color:#d9e2dd}.wedding-chip{margin:36px 0 25px;padding:16px;border:1px solid rgba(255,255,255,.12)}.wedding-chip>*{display:block}.wedding-chip small{text-transform:uppercase;letter-spacing:.12em;font-size:9px;opacity:.65}.wedding-chip strong{margin:7px 0;color:#fff;font:600 20px var(--serif)}.wedding-chip span{font-size:10px;opacity:.7}.sidebar nav{display:grid;gap:4px}.sidebar nav a{position:relative;display:flex;align-items:center;gap:12px;padding:11px 12px;border-radius:3px;font-size:12px}.sidebar nav a:hover,.sidebar nav a.active{background:rgba(255,255,255,.1);color:#fff}.sidebar nav b{width:18px;text-align:center;font-size:16px}.sidebar nav i{margin-left:auto;min-width:20px;height:20px;text-align:center;border-radius:50%;font-style:normal;background:#b89569;color:#fff}.view-live{margin-top:auto;padding:12px;text-align:center;border:1px solid rgba(255,255,255,.2);font-size:11px}.dashboard-main{grid-column:2;min-width:0;padding:30px 4vw 70px}.dashboard-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:28px}.dashboard-head small{color:#888;text-transform:uppercase;letter-spacing:.13em;font-size:9px}.dashboard-head h1{margin:2px 0;font:600 36px var(--serif)}.user-menu{display:flex;align-items:center;gap:12px}.user-menu span{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:#d8c7ac;color:#4b4236;font-size:11px;font-weight:700}.user-menu a{font-size:11px;color:#777}.dash-cover{min-height:245px;padding:38px;display:flex;justify-content:space-between;align-items:flex-end;color:#fff;background:linear-gradient(90deg,rgba(28,43,35,.9),rgba(28,43,35,.35)),url('/assets/birthday-hero.png') center 42%/cover;box-shadow:var(--shadow)}.dash-cover h2{margin:10px 0 0;font:600 46px var(--serif)}.dash-cover p{max-width:550px}.dash-cover>a,.template-heading>a,.media-heading>a{padding:10px 14px;border:1px solid rgba(255,255,255,.5);font-size:11px}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:18px 0}.stat-grid article,.panel,.dash-panels article{padding:24px;background:#fff;border:1px solid #e7e5e0}.stat-grid small,.stat-grid span{display:block;color:#858782;font-size:10px}.stat-grid strong{display:block;margin:5px 0;font:600 34px var(--serif)}.dash-panels{display:grid;grid-template-columns:2fr 1fr;gap:16px}.panel-title{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:20px}.panel-title h3,.next-steps h3,.panel h3{margin:0;font:600 24px var(--serif)}.panel-title p,.panel>p{margin:3px 0;color:#888;font-size:11px}.panel-title a,.panel-title button{border:0;background:none;color:var(--green);font-size:11px}.recent>div{display:flex;align-items:center;gap:12px;padding:11px 0;border-top:1px solid #eceae6}.recent i{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;font-style:normal;background:#e3eee7;color:#39704d}.recent i.no{background:#f6e3e3;color:#9a4f4f}.recent p{flex:1;margin:0}.recent p>*{display:block}.recent p small,.recent time{font-size:10px;color:#8d8f8b}.next-steps ul{padding:0;list-style:none}.next-steps li{padding:10px 0 10px 28px;position:relative;color:#888}.next-steps li:before{content:"";position:absolute;left:0;top:14px;width:13px;height:13px;border:1px solid #bbb;border-radius:50%}.next-steps li.done{color:#354c40}.next-steps li.done:before{content:"✓";display:grid;place-items:center;border-color:#62806d;background:#62806d;color:#fff;font-size:9px}.empty{padding:24px;text-align:center;color:#888;background:#faf9f6}.form-panel{max-width:960px}.saved-pill{padding:5px 10px;border-radius:20px;background:#e4efe8;color:#39704d;font-size:9px;text-transform:uppercase}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:4px 18px}.form-grid .full{grid-column:1/-1}.form-grid .button{justify-self:start}.template-heading,.media-heading{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:25px;padding:34px;color:#fff;background:#3d5549}.template-heading h2,.media-heading h2{margin:5px 0;font:600 42px var(--serif)}.template-heading p,.media-heading p{margin:0;color:#dce5df}.template-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.template-card{background:#fff;border:2px solid transparent;box-shadow:0 6px 25px rgba(40,45,42,.06)}.template-card.selected{border-color:#9a7e55}.template-art{min-height:210px;padding:22px;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#fff;text-align:center;background-image:linear-gradient(140deg,rgba(255,255,255,.15),rgba(0,0,0,.18))}.template-art small,.template-art span{text-transform:uppercase;letter-spacing:.14em;font-size:9px}.template-art strong{margin:20px 0;font:600 31px var(--serif)}.template-card>div:last-child{padding:16px;display:flex;justify-content:space-between;gap:10px}.template-card p{margin:0}.template-card p>*{display:block}.template-card p small{color:#888;font-size:9px}.template-card button{padding:7px 11px;border:1px solid #4c6055;background:#fff;color:#344e41;font-size:10px}.template-card button:disabled{border:0;background:#e9efe9}.upload-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin-bottom:18px}.upload-grid article{padding:30px;text-align:center;background:#fff;border:1px dashed #bbb9b4}.upload-grid i{display:block;color:#9e8157;font:normal 28px var(--serif)}.upload-grid h3{font:600 22px var(--serif)}.upload-grid p{color:#888;font-size:10px}.upload-grid label{display:block;padding:9px;border:1px solid #4f6459;font-size:10px;cursor:pointer}.upload-grid input{display:none}.media-library{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.media-library article{border:1px solid #e5e3de}.media-preview{height:150px;display:grid;place-items:center;background:#eee}.media-preview img,.media-preview video{width:100%;height:100%;object-fit:cover}.media-preview span{font:38px var(--serif)}.media-info{display:flex;align-items:center;gap:8px;padding:10px}.media-info p{min-width:0;flex:1;margin:0}.media-info p>*{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.media-info small{color:#888;font-size:9px}.media-info button{border:0;background:none;color:#a14f4f;font-size:9px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:11px}th,td{padding:12px;text-align:left;border-bottom:1px solid #e8e6e2}th{color:#888;text-transform:uppercase;font-size:9px}td>*{display:block}td small{color:#999}.pill{display:inline-block;padding:4px 8px;border-radius:20px;background:#e2eee6;color:#3a704d}.pill.no{background:#f6e1e1;color:#934c4c}.share-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:18px}.share-grid .panel{padding:36px}.copy-field{display:flex;margin:18px 0 38px}.copy-field input{min-width:0;flex:1;padding:13px;border:1px solid #ddd;background:#f9f8f5}.copy-field button{padding:0 18px;border:0;color:#fff;background:#3c5749}.message-box{padding:18px;margin:15px 0;background:#f4f2ed;color:#646660}.button.whatsapp{color:#fff;background:#2c9c5d}.qr-panel{display:grid;place-items:center;align-content:center;text-align:center;padding:40px;background:#e7ded1}.qr-placeholder{width:190px;height:190px;display:grid;place-items:center;align-content:center;background:repeating-linear-gradient(45deg,#27332d 0 7px,#fff 7px 14px);border:12px solid #fff}.qr-placeholder b,.qr-placeholder small{padding:3px 10px;background:#fff}.qr-panel p{max-width:270px;color:#6e6963}

/* Public invitation */
.invitation{--accent:#b79a6b;--deep:#273a31;--soft:#f4f0e9;background:#fff}.invite-nav{position:absolute;z-index:5;top:0;left:0;right:0;height:82px;padding:0 4vw;display:flex;align-items:center;color:#fff;border-bottom:1px solid rgba(255,255,255,.25)}.invite-nav nav{margin:auto;display:flex;gap:28px;font-size:11px;text-transform:uppercase;letter-spacing:.1em}.audio-toggle{padding:10px 14px;border:1px solid rgba(255,255,255,.4);color:#fff;background:rgba(0,0,0,.1)}.audio-toggle.playing{background:rgba(255,255,255,.22)}.invite-hero{position:relative;min-height:100vh;display:grid;place-items:center;color:#fff;background:var(--hero) center/cover}.invite-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(17,24,20,.35),rgba(17,24,20,.62))}.invite-title{position:relative;z-index:1;text-align:center;padding:120px 20px 60px}.invite-title>span{color:#fff}.invite-title p{margin:35px 0 5px;font:italic 500 21px var(--serif)}.invite-title h1{margin:0;font:600 clamp(66px,10vw,132px)/.78 var(--serif);text-shadow:0 3px 18px rgba(0,0,0,.25)}.invite-title h1 i{display:inline-block;margin:0 .12em;color:#e3c894;font-size:.7em}.invite-title small{display:block;margin:34px 0;letter-spacing:.18em;text-transform:uppercase}.invite-title a{display:inline-block;padding:12px 20px;border:1px solid rgba(255,255,255,.7);font-size:11px;text-transform:uppercase;letter-spacing:.1em}.countdown{padding:45px 20px;text-align:center;color:#fff;background:var(--deep)}.countdown p{text-transform:uppercase;letter-spacing:.16em;font-size:10px;color:#d7e0da}.countdown>div{display:flex;justify-content:center;gap:7vw}.countdown span{min-width:75px;font-size:9px;text-transform:uppercase}.countdown strong{display:block;font:600 45px var(--serif)}.story{min-height:720px;display:grid;grid-template-columns:1fr 1fr}.story-photo{min-height:500px;background:center/cover}.story>div:last-child{padding:9vw;display:flex;flex-direction:column;justify-content:center;background:var(--soft)}.story h2,.details h2,.gallery h2,.invite-video h2,.rsvp-intro h2{margin:10px 0 25px;font:600 clamp(42px,5vw,68px)/.95 var(--serif)}.story p{color:#6e706d;white-space:normal}.story>div>i{margin-top:25px;color:var(--accent);font:italic 500 27px var(--serif)}.details{padding:110px 5vw;background:#fff}.details>header,.gallery>header{text-align:center;margin-bottom:48px}.details>div{display:grid;grid-template-columns:repeat(3,1fr);max-width:1120px;margin:auto}.details article{min-height:390px;padding:45px;text-align:center;border:1px solid #e4dfd7}.details article+article{border-left:0}.details article.featured{transform:translateY(-14px);color:#fff;background:var(--deep);border-color:var(--deep);box-shadow:var(--shadow)}.details article>b{display:block;color:var(--accent);font-size:25px}.details article small{display:block;margin:15px;text-transform:uppercase;letter-spacing:.17em}.details article h3{font:600 28px var(--serif)}.details article strong{color:var(--accent);font:600 20px var(--serif)}.details article p{color:#777}.details .featured p{color:#d7ded9}.details article a{font-size:10px;text-transform:uppercase;border-bottom:1px solid currentColor}.invite-video{padding:90px 8vw;display:grid;grid-template-columns:.8fr 1.2fr;align-items:center;gap:7vw;color:#fff;background:var(--deep)}.invite-video p{color:#d7ded9}.invite-video video{width:100%;max-height:620px;background:#111;box-shadow:var(--shadow)}.gallery{padding:110px 4vw;background:var(--soft)}.gallery>div{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:250px;gap:10px;max-width:1250px;margin:auto}.gallery img{width:100%;height:100%;object-fit:cover}.gallery img:first-child{grid-column:span 2;grid-row:span 2}.rsvp-section{padding:110px max(24px,calc((100% - 1000px)/2));display:grid;grid-template-columns:.85fr 1.15fr;gap:75px;color:#fff;background:var(--deep)}.rsvp-intro span{color:var(--accent);font:italic 500 25px var(--serif)}.rsvp-intro p{color:#d4dcd7}.rsvp-section form{padding:38px;color:var(--ink);background:#fff;box-shadow:var(--shadow)}.rsvp-section fieldset{margin:0 0 18px;padding:18px;border:1px solid #ddd}.rsvp-section legend{padding:0 7px;font-size:11px;font-weight:700}.rsvp-section fieldset label{margin-right:20px;font-size:11px}.rsvp-section fieldset input,.rsvp-section label.check input{width:auto;margin-right:5px}.rsvp-section label.check{display:flex;align-items:center;gap:6px}.rsvp-section form button{width:100%;padding:15px;border:0;color:#fff;background:var(--deep);font-weight:700}.invite-footer{padding:60px 24px;text-align:center;background:#171e1a;color:#fff}.invite-footer strong{font:600 39px var(--serif)}.invite-footer strong i{color:var(--accent)}.invite-footer p,.invite-footer a{display:block;color:#aeb7b1;font-size:10px;text-transform:uppercase;letter-spacing:.12em}.invite-footer a{margin-top:35px;text-decoration:underline}

/* Nine visual themes */
.theme-bohemia{--accent:#c78569;--deep:#633f34;--soft:#fbefe7}.theme-bohemia .invite-title h1,.theme-bohemia .story h2{font-style:italic}.theme-botanica{--accent:#aabc9a;--deep:#284536;--soft:#edf3ec}.theme-botanica .invite-overlay{background:linear-gradient(180deg,rgba(13,41,28,.25),rgba(13,41,28,.72))}.theme-noche{--accent:#d0ad69;--deep:#101520;--soft:#ececf0}.theme-noche .invite-hero{filter:saturate(.7)}.theme-mediterraneo{--accent:#d2a55e;--deep:#285768;--soft:#eef6f7}.theme-mediterraneo .invite-overlay{background:linear-gradient(180deg,rgba(22,73,91,.16),rgba(22,73,91,.67))}.theme-romantica{--accent:#bf7f88;--deep:#71434b;--soft:#fff0f2}.theme-romantica .invite-title h1{font-style:italic}.theme-dorada{--accent:#d2b16e;--deep:#463b2b;--soft:#f7f1e4}.theme-dorada .details article{border-color:#d7c6a5}.theme-minimal{--accent:#777;--deep:#222;--soft:#f3f3f1}.theme-minimal .invite-title h1,.theme-minimal .story h2{font-style:normal}.theme-minimal .invite-overlay{background:rgba(0,0,0,.43)}.theme-campestre{--accent:#bdad78;--deep:#4a5138;--soft:#f4f2e6}.theme-editorial{--accent:#d3aebe;--deep:#3b2931;--soft:#f3edf0}.theme-editorial .invite-title h1{text-transform:uppercase;letter-spacing:-.04em}

.message-page{display:grid;place-items:center;min-height:100vh;text-align:center}.message-page main{max-width:600px;padding:50px}.message-page h1{font:600 52px var(--serif)}.message-page p{color:#777}

@media(max-width:1000px){.marketing-hero{gap:35px}.stat-grid{grid-template-columns:repeat(2,1fr)}.template-grid{grid-template-columns:repeat(2,1fr)}.details article{padding:30px}.upload-grid{grid-template-columns:1fr}.media-library{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.marketing-nav nav>a:not(.nav-cta){display:none}.marketing-hero{grid-template-columns:1fr;padding-top:40px}.marketing-copy h1{font-size:56px}.hero-phone{min-height:500px}.marketing-features,.mini-templates{grid-template-columns:1fr}.marketing-features article+article{border-left:1px solid var(--line);border-top:0}.marketing-footer{display:grid;gap:5px}.auth-shell{grid-template-columns:1fr}.auth-side{display:none}.mobile-logo{display:inline-flex;margin-bottom:35px}.dashboard{display:block}.sidebar{position:static;width:auto;padding:17px}.sidebar>.logo,.wedding-chip,.view-live{display:none}.sidebar nav{display:flex;overflow:auto}.sidebar nav a{min-width:max-content}.sidebar nav a b{display:none}.dashboard-main{padding:20px}.dashboard-head{margin-top:10px}.dash-cover{padding:25px}.dash-cover h2{font-size:36px}.dash-cover>a{display:none}.stat-grid,.dash-panels,.template-grid,.share-grid{grid-template-columns:1fr}.form-grid,.two{grid-template-columns:1fr}.slug-input{display:block}.slug-input span{padding:8px;border-left:1px solid #d9d8d4;border-top:0}.template-heading,.media-heading{align-items:flex-start}.template-heading>a,.media-heading>a{display:none}.media-library{grid-template-columns:1fr}.invite-nav{position:absolute;height:70px}.invite-nav nav{display:none}.audio-toggle{margin-left:auto;font-size:10px}.invite-title h1{font-size:70px;line-height:.9}.countdown>div{gap:10px}.countdown span{min-width:0}.countdown strong{font-size:32px}.story{grid-template-columns:1fr}.story>div:last-child{padding:70px 28px}.details{padding:75px 20px}.details>div{grid-template-columns:1fr}.details article+article{border-left:1px solid #e4dfd7;border-top:0}.details article.featured{transform:none}.invite-video{grid-template-columns:1fr;padding:70px 24px}.gallery{padding:75px 15px}.gallery>div{grid-template-columns:1fr 1fr;grid-auto-rows:190px}.gallery img:first-child{grid-column:span 2;grid-row:span 1}.rsvp-section{grid-template-columns:1fr;padding:75px 20px;gap:30px}.rsvp-section form{padding:24px}}
@media print{.sidebar,.dashboard-head,.panel-title button{display:none}.dashboard-main{grid-column:1;padding:0}.dashboard{display:block}}

/* Template keys used by the application */
.mini-template.t-mediterranea,.art-mediterranea{background-color:#607f8b}.mini-template.t-clasica,.art-clasica{background-color:#8b7246}.mini-template.t-nocturna,.art-nocturna{background-color:#161b25}.mini-template.t-boho,.art-boho{background-color:#aa735c}.mini-template.t-costa,.art-costa{background-color:#4f8293}
.theme-mediterranea{--accent:#d2a55e;--deep:#285768;--soft:#eef6f7}.theme-mediterranea .invite-overlay{background:linear-gradient(180deg,rgba(22,73,91,.16),rgba(22,73,91,.67))}.theme-clasica{--accent:#d2b16e;--deep:#463b2b;--soft:#f7f1e4}.theme-clasica .details article{border-color:#d7c6a5}.theme-nocturna{--accent:#d0ad69;--deep:#101520;--soft:#ececf0}.theme-nocturna .invite-hero{filter:saturate(.7)}.theme-boho{--accent:#c78569;--deep:#633f34;--soft:#fbefe7}.theme-boho .invite-title h1,.theme-boho .story h2{font-style:italic}.theme-costa{--accent:#e4bd78;--deep:#25566a;--soft:#edf7f8}.theme-costa .invite-overlay{background:linear-gradient(180deg,rgba(20,71,92,.12),rgba(20,71,92,.7))}

/* Rich template gallery */
.showcase-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:60px;margin-bottom:44px}.showcase-heading>div{max-width:620px}.showcase-heading>p{max-width:390px;margin:0 0 8px;color:#cbd7d0}.showcase-templates{display:grid;grid-template-columns:repeat(3,1fr);gap:28px 18px}.showcase-card{min-width:0;background:#fff;color:var(--ink);box-shadow:0 18px 45px rgba(10,23,17,.18);transition:transform .25s,box-shadow .25s}.showcase-card:hover{transform:translateY(-6px);box-shadow:0 28px 65px rgba(10,23,17,.3)}.showcase-preview,.dashboard-template-preview{position:relative;width:100%;padding:0;border:0;background:none;overflow:hidden}.preview-hover{position:absolute;z-index:8;left:50%;bottom:20px;transform:translate(-50%,12px);padding:9px 14px;white-space:nowrap;color:#222;background:rgba(255,255,255,.94);box-shadow:0 8px 25px rgba(0,0,0,.2);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;opacity:0;transition:.25s}.showcase-preview:hover .preview-hover,.dashboard-template-preview:hover .preview-hover{opacity:1;transform:translate(-50%,0)}.showcase-meta{display:flex;align-items:center;justify-content:space-between;padding:18px 20px}.showcase-meta p{margin:0}.showcase-meta p>*{display:block}.showcase-meta strong{font:600 25px var(--serif)}.showcase-meta small{color:#7f817d;font-size:10px}.showcase-meta>button{padding:7px 0;border:0;border-bottom:1px solid #87978e;background:none;color:#3c5146;font-size:10px;text-transform:uppercase;letter-spacing:.08em}.showcase-meta>button span{margin-left:5px}

.wedding-mockup{position:relative;aspect-ratio:4/5;min-height:290px;overflow:hidden;color:#fff;background:#315043;isolation:isolate}.mock-photo{position:absolute;z-index:0;inset:0;background:url('/assets/birthday-hero.png') center/cover;transition:transform .6s}.showcase-card:hover .mock-photo,.template-card:hover .mock-photo{transform:scale(1.035)}.mock-frame{position:absolute;z-index:2;pointer-events:none}.mock-copy{position:absolute;z-index:3;inset:0;padding:9%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.mock-kicker,.mock-date,.mock-place,.mock-cta{display:block;text-transform:uppercase;letter-spacing:.18em;font-style:normal}.mock-kicker{font-size:8px}.mock-date{font-size:8px}.mock-names{display:flex;flex-direction:column;align-items:center;margin:18px 0;font:600 clamp(27px,3.2vw,47px)/.72 var(--serif);text-shadow:0 3px 14px rgba(0,0,0,.22)}.mock-names b{font:inherit}.mock-names i{margin:.18em 0;color:#e2c792;font:italic 500 .75em var(--serif)}.mock-place{font-size:7px}.mock-cta{margin-top:25px;padding:7px 10px;border:1px solid currentColor;font-size:6px}

.mock-mediterranea:before{content:"";position:absolute;z-index:1;inset:0;background:linear-gradient(180deg,rgba(26,90,108,.08),rgba(25,73,89,.72))}.mock-mediterranea .mock-frame{inset:7%;border:1px solid rgba(255,255,255,.55);border-radius:160px 160px 4px 4px}.mock-mediterranea .mock-copy{justify-content:flex-end;padding-bottom:14%}.mock-mediterranea .mock-names{font-style:italic}.mock-mediterranea .mock-kicker{order:-2}.mock-mediterranea .mock-date{order:-1;margin:8px 0 0}.mock-mediterranea .mock-cta{display:none}

.mock-clasica{color:#493b28;background:#eee4d2}.mock-clasica .mock-photo{inset:8% 8% 47%;filter:sepia(.25) saturate(.75);background-image:url('/assets/birthday-detail.png')}.mock-clasica:before{content:"";position:absolute;z-index:1;inset:4%;border:1px solid #a98b58}.mock-clasica:after{content:"C";position:absolute;z-index:1;left:50%;bottom:6%;transform:translateX(-50%);color:rgba(145,114,65,.13);font:600 120px var(--serif)}.mock-clasica .mock-copy{justify-content:flex-end;padding-bottom:13%}.mock-clasica .mock-kicker{color:#9d7e4f}.mock-clasica .mock-names{margin:11px 0;color:#493b28;text-shadow:none}.mock-clasica .mock-date{position:absolute;top:57%;color:#8e744d}.mock-clasica .mock-cta{display:none}

.mock-botanica:before{content:"";position:absolute;z-index:1;inset:0;background:linear-gradient(150deg,rgba(18,57,37,.15),rgba(16,56,36,.84))}.mock-botanica:after{content:"";position:absolute;z-index:2;width:75%;height:75%;right:-28%;top:-20%;border:1px solid rgba(191,218,190,.6);border-radius:50%;box-shadow:0 0 0 30px rgba(159,194,161,.08),0 0 0 60px rgba(159,194,161,.05)}.mock-botanica .mock-frame{inset:9%;border:1px solid rgba(203,224,202,.7)}.mock-botanica .mock-names{font-style:italic}.mock-botanica .mock-kicker,.mock-botanica .mock-place{color:#d1e3cf}.mock-botanica .mock-cta{border-color:#b8d1b9}

.mock-minimal{color:#161916;background:#f0eee8}.mock-minimal .mock-photo{right:48%;filter:grayscale(1);background-position:58% center}.mock-minimal:after{content:"";position:absolute;z-index:1;left:52%;top:0;bottom:0;width:1px;background:#c9c6be}.mock-minimal .mock-copy{left:52%;align-items:flex-start;text-align:left;padding:10%;justify-content:center}.mock-minimal .mock-names{align-items:flex-start;color:#171a18;text-shadow:none;font-style:normal}.mock-minimal .mock-names i{margin-left:18px;color:#777}.mock-minimal .mock-kicker,.mock-minimal .mock-date,.mock-minimal .mock-place{color:#666;letter-spacing:.12em}.mock-minimal .mock-date{position:absolute;right:8%;top:7%;writing-mode:vertical-rl}.mock-minimal .mock-cta{color:#222}

.mock-romantica:before{content:"";position:absolute;z-index:1;inset:0;background:linear-gradient(180deg,rgba(132,68,81,.12),rgba(112,50,65,.72))}.mock-romantica:after{content:"❀";position:absolute;z-index:2;right:7%;top:5%;color:rgba(255,226,232,.7);font:38px var(--serif)}.mock-romantica .mock-photo{filter:saturate(.7) sepia(.15)}.mock-romantica .mock-frame{inset:8%;border:1px solid rgba(255,224,230,.7)}.mock-romantica .mock-names{font-style:italic}.mock-romantica .mock-kicker,.mock-romantica .mock-place{color:#f1d6dc}.mock-romantica .mock-cta{display:none}

.mock-nocturna{background:#111722}.mock-nocturna .mock-photo{filter:grayscale(.8) brightness(.46);background-position:46% center}.mock-nocturna:before{content:"";position:absolute;z-index:1;inset:0;background:linear-gradient(135deg,rgba(8,15,27,.2),rgba(5,9,18,.75))}.mock-nocturna .mock-frame{inset:6%;border:1px solid #bda46d}.mock-nocturna .mock-frame:after{content:"✦";position:absolute;left:50%;top:6%;transform:translateX(-50%);color:#d3b978}.mock-nocturna .mock-kicker,.mock-nocturna .mock-date,.mock-nocturna .mock-place{color:#d5bd83}.mock-nocturna .mock-names i{color:#d5bd83}.mock-nocturna .mock-cta{border-color:#c8ae75;color:#e1cb99}

.mock-boho{background:#b9765d}.mock-boho .mock-photo{inset:7% 9% 22%;border-radius:150px 150px 8px 8px;filter:sepia(.35) saturate(.75);background-image:url('/assets/birthday-detail.png')}.mock-boho:before{content:"";position:absolute;z-index:1;inset:0;background:linear-gradient(0deg,rgba(111,55,39,.88) 0 27%,transparent 58%)}.mock-boho .mock-copy{justify-content:flex-end;padding-bottom:7%}.mock-boho .mock-kicker,.mock-boho .mock-date{position:absolute;top:10%;text-shadow:0 2px 8px rgba(0,0,0,.3)}.mock-boho .mock-date{top:14%}.mock-boho .mock-names{margin:0 0 7px;font-style:italic}.mock-boho .mock-place{color:#ecd3c4}.mock-boho .mock-cta{display:none}

.mock-costa{background:#75adbb}.mock-costa .mock-photo{filter:saturate(.78) brightness(1.08);background-position:68% center}.mock-costa:before{content:"";position:absolute;z-index:1;inset:0;background:linear-gradient(180deg,rgba(33,127,154,.08),rgba(20,100,127,.67))}.mock-costa .mock-frame{left:8%;right:8%;bottom:8%;height:42%;border:1px solid rgba(255,255,255,.66);border-top:0}.mock-costa .mock-copy{justify-content:flex-end;padding-bottom:12%}.mock-costa .mock-names{font-style:italic}.mock-costa .mock-kicker{position:absolute;top:10%}.mock-costa .mock-date{position:absolute;top:14%}.mock-costa .mock-cta{display:none}

.mock-editorial{background:#e8e0dd}.mock-editorial .mock-photo{left:38%;filter:grayscale(.15) contrast(1.03);background-position:42% center}.mock-editorial:before{content:"CUMPLEARIA";position:absolute;z-index:2;left:5%;top:5%;color:#48373e;font:700 8px var(--sans);letter-spacing:.28em}.mock-editorial .mock-copy{right:46%;align-items:flex-start;justify-content:flex-end;text-align:left;padding:8%;color:#372a30}.mock-editorial .mock-names{align-items:flex-start;margin:10px 0;color:#372a30;text-shadow:none;font-size:clamp(28px,3.8vw,52px);line-height:.68;text-transform:uppercase;letter-spacing:-.06em}.mock-editorial .mock-names i{margin-left:23px;color:#9c6f80}.mock-editorial .mock-kicker,.mock-editorial .mock-date,.mock-editorial .mock-place{color:#7d5967;letter-spacing:.1em}.mock-editorial .mock-date{position:absolute;left:8%;top:12%;writing-mode:vertical-rl}.mock-editorial .mock-cta{color:#372a30}

.template-manager-grid{gap:22px}.template-manager-grid .template-card{overflow:hidden}.template-manager-grid .wedding-mockup{min-height:320px}.template-card.selected{border-color:#a58455;box-shadow:0 0 0 2px #a58455,0 16px 40px rgba(44,42,36,.15)}.template-card.selected:before{content:"Diseño activo";position:absolute;z-index:12;margin:12px;padding:6px 10px;color:#fff;background:#a58455;font-size:8px;font-weight:700;text-transform:uppercase;letter-spacing:.1em}.template-card{position:relative}.template-card>.template-card-meta{padding:16px;display:block}.template-card-meta>p{margin-bottom:14px}.template-card-meta>p strong{font-size:24px}.template-actions{display:flex;align-items:center;justify-content:space-between;gap:8px}.template-actions>button,.template-actions form button{padding:8px 10px;border:1px solid #aab2ad;background:#fff;color:#344e41;font-size:9px;text-transform:uppercase;letter-spacing:.05em}.template-actions .choose-template{border-color:#344e41;background:#344e41;color:#fff}.template-actions .choose-template:disabled{border-color:#dfe8e1;background:#e7eee9;color:#466052}.template-actions form{margin:0}

.template-modal{position:fixed;z-index:2000;inset:0;display:grid;place-items:center;padding:28px;opacity:1;visibility:visible;transition:.22s}.template-modal[aria-hidden="true"]{opacity:0;visibility:hidden;pointer-events:none}.modal-backdrop{position:absolute;inset:0;border:0;background:rgba(13,21,17,.82);backdrop-filter:blur(8px)}.template-modal-card{position:relative;z-index:1;width:min(920px,100%);max-height:92vh;display:grid;grid-template-columns:minmax(300px,.85fr) 1.15fr;overflow:auto;background:#f8f6f1;color:var(--ink);box-shadow:0 40px 100px rgba(0,0,0,.45)}.modal-preview-slot{padding:28px;background:#1d3027}.modal-preview-slot .wedding-mockup{height:min(78vh,670px);aspect-ratio:4/5;box-shadow:0 20px 50px rgba(0,0,0,.25)}.modal-template-copy{padding:65px;display:flex;flex-direction:column;justify-content:center}.modal-template-copy>span{color:#a18051;text-transform:uppercase;letter-spacing:.17em;font-size:9px}.modal-template-copy h3{margin:8px 0;font:600 48px var(--serif)}.modal-template-copy h3 b{font:inherit}.modal-template-copy p{color:#72746f}.modal-template-copy .button{align-self:flex-start;margin-top:20px}.modal-close{position:absolute;z-index:3;right:16px;top:13px;width:38px;height:38px;border:0;border-radius:50%;background:#fff;color:#222;font-size:25px}.modal-open{overflow:hidden}

@media(max-width:1000px){.showcase-templates{grid-template-columns:repeat(2,1fr)}.template-modal-card{grid-template-columns:1fr 1fr}.modal-template-copy{padding:40px}}
@media(max-width:760px){.showcase-heading{display:block}.showcase-heading>p{margin-top:16px}.showcase-templates{grid-template-columns:1fr;gap:22px}.wedding-mockup{min-height:390px}.template-manager-grid .wedding-mockup{min-height:400px}.template-modal{padding:12px}.template-modal-card{display:block}.modal-preview-slot{padding:18px}.modal-preview-slot .wedding-mockup{height:auto;max-height:64vh}.modal-template-copy{padding:28px}.modal-template-copy h3{font-size:38px}.modal-template-copy p{display:none}.modal-template-copy .button{margin-top:8px}.showcase-meta{padding:16px}}

/* Cumplearia 1.3 — catálogo visual por edades y estilos. */
.template-filters{display:flex;align-items:center;gap:9px;margin:0 0 28px;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.template-filters::-webkit-scrollbar{display:none}
.template-filters button,.template-filters a{flex:0 0 auto;min-height:40px;padding:9px 16px;display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(118,81,93,.24);border-radius:999px;color:#654952;background:rgba(255,255,255,.72);font:700 11px var(--sans);letter-spacing:.045em;cursor:pointer;transition:background .2s,color .2s,border-color .2s,transform .2s}
.template-filters button:hover,.template-filters a:hover{transform:translateY(-1px);border-color:#76515d}
.template-filters button.is-active,.template-filters a.is-active{color:#fff;background:#76515d;border-color:#76515d}
.marketing-templates .template-filters button,.marketing-templates .template-filters a{color:#fff;background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.24)}
.marketing-templates .template-filters button.is-active,.marketing-templates .template-filters a.is-active{color:#3b2630;background:#f5d9bd;border-color:#f5d9bd}
.showcase-card[hidden],.template-card[hidden]{display:none!important}
.showcase-category{display:inline-flex!important;width:max-content;margin:0 0 7px;padding:4px 8px;border-radius:999px;color:#76515d!important;background:#f7e8df;font:800 8px var(--sans)!important;letter-spacing:.1em;text-transform:uppercase}
.template-manager-grid .showcase-category{margin-bottom:6px}
@media(max-width:760px){.template-filters{margin-right:-18px;padding-right:18px}.template-filters button,.template-filters a{min-height:42px}}

/* Additional preview covers for the 18-template catalogue */
.mock-cine:before{content:"";position:absolute;z-index:1;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.86),rgba(0,0,0,.08))}.mock-cine .mock-copy{align-items:flex-start;text-align:left;padding:10%}.mock-cine .mock-names{align-items:flex-start;text-transform:uppercase;letter-spacing:-.06em}.mock-cine .mock-names i{color:#ef5148;margin-left:25px}.mock-cine .mock-date{position:absolute;left:10%;bottom:9%;border-left:3px solid #ef5148;padding-left:9px}.mock-cine .mock-place{display:none}.mock-cine .mock-cta{border-color:#ef5148}
.mock-monograma{color:#eee9df;background:#242a26}.mock-monograma .mock-photo{inset:18% 10% 38%;filter:grayscale(1);background-image:url('/assets/birthday-detail.png')}.mock-monograma:before{content:"♡";position:absolute;z-index:2;left:50%;top:5%;transform:translateX(-50%);width:58px;height:58px;display:grid;place-items:center;border:1px solid #b99a61;border-radius:50%;color:#d6bd87;font:600 16px var(--serif)}.mock-monograma .mock-copy{justify-content:flex-end;padding-bottom:9%}.mock-monograma .mock-names{text-transform:uppercase;letter-spacing:.02em}.mock-monograma .mock-kicker,.mock-monograma .mock-date{display:none}.mock-monograma .mock-place{color:#c8b58b}.mock-monograma .mock-cta{display:none}
.mock-artdeco{background:#111713}.mock-artdeco .mock-photo{inset:18% 20% 34%;filter:grayscale(1) brightness(.7);clip-path:polygon(50% 0,100% 18%,88% 100%,12% 100%,0 18%)}.mock-artdeco:before{content:"";position:absolute;z-index:2;inset:5%;border:1px solid #b99a56;clip-path:polygon(15% 0,85% 0,100% 15%,100% 85%,85% 100%,15% 100%,0 85%,0 15%)}.mock-artdeco .mock-copy{justify-content:flex-end;padding-bottom:9%}.mock-artdeco .mock-names{text-transform:uppercase;letter-spacing:.04em}.mock-artdeco .mock-kicker,.mock-artdeco .mock-date,.mock-artdeco .mock-place{color:#d9c184}.mock-artdeco .mock-cta{display:none}
.mock-jardin{color:#3f4d3e;background:#f0f1e9}.mock-jardin .mock-photo{inset:12% 13% 34%;border-radius:150px 150px 3px 3px;background-image:url('/assets/birthday-detail.png')}.mock-jardin:before{content:"❦";position:absolute;z-index:2;left:7%;top:4%;color:#819276;font-size:45px}.mock-jardin .mock-copy{justify-content:flex-end;padding-bottom:8%}.mock-jardin .mock-names{color:#3f4d3e;text-shadow:none;font-style:italic}.mock-jardin .mock-kicker,.mock-jardin .mock-date{display:none}.mock-jardin .mock-place{color:#7c8b73}.mock-jardin .mock-cta{border-color:#819276;color:#566452}
.mock-pasaporte{color:#f0e8d7;background:#284451}.mock-pasaporte .mock-photo{inset:8% 8% 45%;filter:saturate(.75)}.mock-pasaporte:before{content:"NUESTRO VIAJE";position:absolute;z-index:2;left:8%;bottom:7%;color:rgba(236,220,185,.18);font:700 25px var(--serif);letter-spacing:.08em}.mock-pasaporte .mock-copy{justify-content:flex-end;align-items:flex-start;text-align:left;padding:8%}.mock-pasaporte .mock-names{align-items:flex-start;margin:8px 0}.mock-pasaporte .mock-names i{margin-left:20px}.mock-pasaporte .mock-date{position:absolute;right:8%;top:9%;padding:8px;border:1px dashed #d7bd87;transform:rotate(7deg)}.mock-pasaporte .mock-cta{display:none}
.mock-hacienda{color:#593f2b;background:#f1dfc2}.mock-hacienda .mock-photo{inset:7% 12% 36%;border-radius:160px 160px 0 0;filter:sepia(.2);background-image:url('/assets/birthday-detail.png')}.mock-hacienda:before{content:"✦";position:absolute;z-index:2;right:7%;top:4%;color:#b57038;font-size:42px}.mock-hacienda .mock-copy{justify-content:flex-end;padding-bottom:8%}.mock-hacienda .mock-names{color:#593f2b;text-shadow:none}.mock-hacienda .mock-names i{color:#b57038}.mock-hacienda .mock-kicker,.mock-hacienda .mock-date{display:none}.mock-hacienda .mock-place{color:#956b45}.mock-hacienda .mock-cta{display:none}
.mock-timeline:before{content:"";position:absolute;z-index:1;inset:0;background:linear-gradient(180deg,rgba(32,42,36,.1),rgba(31,42,35,.75))}.mock-timeline .mock-frame{left:11%;top:12%;bottom:12%;width:1px;background:#d3b583}.mock-timeline .mock-frame:after{content:"•\A•\A•";white-space:pre;position:absolute;left:-3px;top:18%;color:#fff;font:12px/8 var(--sans);line-height:9.5}.mock-timeline .mock-copy{align-items:flex-start;text-align:left;padding-left:18%;justify-content:flex-end}.mock-timeline .mock-names{align-items:flex-start}.mock-timeline .mock-names i{margin-left:25px}.mock-timeline .mock-kicker{position:absolute;top:10%}.mock-timeline .mock-cta{display:none}
.mock-polaroid{color:#443b35;background:#eadfd4}.mock-polaroid .mock-photo{inset:9% 9% 25%;border:10px solid #fff;border-bottom-width:45px;transform:rotate(-2deg);box-shadow:0 12px 30px rgba(59,44,35,.2)}.mock-polaroid .mock-copy{justify-content:flex-end;padding-bottom:5%}.mock-polaroid .mock-names{flex-direction:row;gap:8px;color:#443b35;text-shadow:none;font-style:italic;font-size:30px}.mock-polaroid .mock-names i{margin:0}.mock-polaroid .mock-kicker,.mock-polaroid .mock-date{display:none}.mock-polaroid .mock-place{color:#8d6d5c}.mock-polaroid .mock-cta{display:none}
.mock-festival:before{content:"";position:absolute;z-index:1;inset:0;background:linear-gradient(135deg,rgba(65,36,94,.68),rgba(229,94,86,.45))}.mock-festival:after{content:"AMOR · MÚSICA · ALEGRÍA";position:absolute;z-index:2;left:-7%;top:10%;padding:5px 30px;background:#f4cf50;color:#3b2757;font:700 8px var(--sans);letter-spacing:.12em;transform:rotate(-8deg)}.mock-festival .mock-copy{justify-content:flex-end}.mock-festival .mock-names{font-family:var(--sans);font-weight:800;text-transform:uppercase;letter-spacing:-.08em}.mock-festival .mock-names i{color:#ffd54e}.mock-festival .mock-kicker{display:none}.mock-festival .mock-cta{background:#ffd54e;border:0;color:#3b2757;font-weight:800}
.template-actions>a{padding:8px 10px;border:1px solid #aab2ad;background:#fff;color:#344e41;font-size:9px;text-transform:uppercase;letter-spacing:.05em;text-decoration:none}
.dashboard-template-preview{display:block}

/* Cumplearia 2.1 — media readability and contained template previews */
.media-panel{overflow:hidden}.media-library{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:18px}.media-library>article{min-width:0;overflow:hidden;border:1px solid #dedbd4;border-radius:6px;background:#fff;box-shadow:0 8px 24px rgba(35,45,39,.07)}.media-library>article.is-cover{border-color:#a58455;box-shadow:0 0 0 1px #a58455,0 10px 28px rgba(35,45,39,.1)}.media-preview{position:relative;height:205px;background:#e9ebe8}.media-preview img,.media-preview video{object-position:center 22%}.cover-badge,.media-badge{position:absolute;z-index:2;top:12px;left:12px;padding:6px 9px;border-radius:20px;color:#fff;background:#a58455;font-size:8px;line-height:1;text-transform:uppercase;letter-spacing:.08em;box-shadow:0 5px 16px rgba(0,0,0,.18)}.media-badge{background:rgba(30,43,36,.78)}.media-info{min-width:0;padding:14px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;background:#fff}.media-info p{min-width:0;margin:0}.media-info p strong{display:block;overflow:hidden;color:#26342d;font-size:12px;line-height:1.35;white-space:nowrap;text-overflow:ellipsis}.media-info p small{display:block;margin-top:3px;color:#777d78;font-size:9px}.media-info form{margin:0}.media-info button{padding:7px 10px;border:1px solid #d6a9a9;border-radius:3px;color:#913f3f;background:#fff7f7;font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.media-info button:hover{color:#fff;background:#a34d4d;border-color:#a34d4d}
.template-modal-card{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);overflow:hidden}.modal-preview-slot{min-width:0;display:grid;place-items:center;overflow:hidden}.modal-preview-slot .wedding-mockup{width:100%;height:auto;min-height:0;max-height:72vh;aspect-ratio:4/5}.modal-template-copy{min-width:0;overflow-wrap:anywhere}.modal-template-copy .button{max-width:100%;text-align:center}
@media(max-width:760px){.media-library{grid-template-columns:1fr}.media-preview{height:240px}.template-modal-card{overflow:auto}.modal-preview-slot .wedding-mockup{width:min(100%,430px);max-height:none}}

/* Cumplearia 2.2 — every media action remains visible */
.media-library>article{position:relative;display:grid;grid-template-rows:220px auto;align-self:start}.media-preview{position:relative;height:220px!important;min-height:220px;overflow:hidden}.media-preview>img,.media-preview>video{position:absolute;inset:0;width:100%!important;height:100%!important;max-width:none;object-fit:cover}.media-preview>span{position:relative;z-index:1}.media-delete{position:absolute;z-index:5;top:10px;right:10px;margin:0}.media-delete input{display:none}.media-delete button{padding:7px 10px;border:1px solid rgba(255,255,255,.72);border-radius:3px;color:#fff;background:rgba(128,39,39,.88);box-shadow:0 5px 16px rgba(0,0,0,.2);font-size:8px;font-weight:700;text-transform:uppercase;letter-spacing:.05em}.media-delete button:hover{background:#a43d3d}.media-info{position:relative;z-index:6;display:block;min-height:61px}.cover-badge,.media-badge{right:auto;max-width:calc(100% - 105px)}
@media(max-width:760px){.media-library>article{grid-template-rows:260px auto}.media-preview{height:260px!important;min-height:260px}}

/* Cumplearia 3.0 — structured invitation editor */
.editor-v3{max-width:1080px}.editor-sections{display:grid;gap:18px}.editor-v3 fieldset{margin:0;padding:25px;border:1px solid #dedbd4;background:#fbfaf7}.editor-v3 legend{padding:0 10px;color:#344e41;font:600 22px var(--serif)}.editor-v3 label{display:block;margin-bottom:15px;color:#464a47;font-size:12px;font-weight:700}.editor-v3 input,.editor-v3 textarea{width:100%;margin-top:6px;padding:13px 14px;border:1px solid #d9d8d4;border-radius:3px;background:#fff}.place-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.editor-save{position:sticky;z-index:10;bottom:14px;display:flex;justify-content:flex-end;padding-top:5px}.editor-save .button{box-shadow:0 10px 30px rgba(30,50,40,.22)}
@media(max-width:760px){.place-grid{grid-template-columns:1fr}.editor-v3 fieldset{padding:19px}.editor-save .button{width:100%}}

/* Cumplearia 4.0 — SaaS, activación, pagos y superadministración */
.form-success{margin:18px 0;padding:14px;color:#315f42;background:#e8f4eb;border:1px solid #cbe1d0}.auth-help{text-align:center;color:#737a76;font-size:11px}.auth-help a{text-decoration:underline}.activation-public-notice{position:fixed;z-index:9999;left:50%;bottom:18px;width:min(760px,calc(100% - 28px));padding:14px 18px;display:flex;align-items:center;justify-content:center;gap:12px;transform:translateX(-50%);color:#503b1f;background:#fff4d8;border:1px solid #d9b76f;box-shadow:0 16px 48px rgba(39,30,17,.28);font-size:12px;text-align:center}.activation-public-notice strong{font-size:13px}.activation-public-notice.state-expired{color:#6f2828;background:#fff0f0;border-color:#d99b9b}.activation-public-notice.state-pending{color:#3c4f61;background:#eef5fb;border-color:#a9c8df}
.marketing-price{padding:100px 6vw;display:grid;grid-template-columns:1.25fr .75fr;align-items:center;gap:7vw;background:#eee8de}.marketing-price>div>span{color:#9a7950;font-size:10px;font-weight:700;letter-spacing:.16em;text-transform:uppercase}.marketing-price h2{max-width:760px;margin:12px 0;font:600 clamp(45px,6vw,76px)/.94 var(--serif)}.marketing-price>div>p{max-width:680px;color:#6e736f;font-size:17px;line-height:1.6}.marketing-price article{padding:38px;background:#fff;border:1px solid #d9d2c7;box-shadow:0 24px 60px rgba(56,48,36,.12)}.marketing-price article>small{font-size:9px;letter-spacing:.14em}.marketing-price article>strong{display:block;margin:12px 0;font:600 58px var(--serif)}.marketing-price article>p{color:#7c817d}.marketing-price article .button{margin-top:16px}
.dashboard-activation{margin-bottom:14px;padding:16px 20px;display:flex;align-items:center;justify-content:space-between;gap:18px;color:#5c4422;background:#fff6de;border:1px solid #dfc080}.dashboard-activation div>*{display:block}.dashboard-activation small{font-size:9px;letter-spacing:.12em;text-transform:uppercase}.dashboard-activation strong{margin-top:3px}.dashboard-activation a{padding:9px 12px;color:#fff;background:#92703d;font-size:10px}.dashboard-activation.state-active{color:#315d42;background:#e9f4ec;border-color:#bad8c2}.dashboard-activation.state-pending{color:#38556b;background:#edf5fa;border-color:#bcd3e2}
.billing-hero{min-height:210px;margin-bottom:18px;padding:38px;display:flex;align-items:center;justify-content:space-between;color:#fff;background:linear-gradient(130deg,#2f493c,#63806e)}.billing-hero small{font-size:10px;letter-spacing:.16em;text-transform:uppercase}.billing-hero h2{margin:8px 0;font:600 46px/.96 var(--serif)}.billing-hero p{max-width:700px;color:#e2ebe6}.billing-hero>span{width:82px;height:82px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.5);border-radius:50%;font:600 38px var(--serif)}.billing-hero.state-inactive,.billing-hero.state-expired{background:linear-gradient(130deg,#6b5031,#b38b55)}.billing-hero.state-pending{background:linear-gradient(130deg,#385269,#6f92a9)}.billing-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:18px}.payment-card>small{color:#9a7a4f;font-size:9px;letter-spacing:.16em}.payment-card>strong{display:block;margin:8px 0;font:600 52px var(--serif)}.payment-card>p{color:#707671;line-height:1.6}.payment-card form{margin-top:18px}.payment-card label{display:block;margin-bottom:13px;color:#525a55;font-size:11px;font-weight:700}.payment-card input{width:100%;margin-top:6px;padding:12px;border:1px solid #d7d8d4}.payment-reference{margin:20px 0;padding:18px;text-align:center;background:#f4f1e9;border:1px dashed #af9366}.payment-reference>*{display:block}.payment-reference small{font-size:8px;letter-spacing:.14em}.payment-reference b{margin-top:6px;font-size:21px;letter-spacing:.08em}.payment-confirm{color:#334e41;background:#e8f0eb;border:1px solid #9bb0a2}.activation-ok,.activation-wait{margin-top:24px;padding:18px;display:grid;gap:5px;background:#e8f4eb;color:#315d42}.activation-wait{background:#edf5fa;color:#38566d}.activation-ok span,.activation-wait span{font-size:11px;line-height:1.5}.billing-details ol{margin:20px 0 0;padding:0;list-style:none;counter-reset:steps}.billing-details li{position:relative;padding:0 0 22px 45px;counter-increment:steps}.billing-details li:before{content:counter(steps);position:absolute;left:0;top:0;width:28px;height:28px;display:grid;place-items:center;border-radius:50%;color:#fff;background:#587263;font-size:10px}.billing-details li>*{display:block}.billing-details li span{margin-top:3px;color:#7a807b;font-size:11px;line-height:1.5}.payment-history{margin-top:18px}.admin-status{display:inline-block;padding:5px 8px;border-radius:20px;color:#71542b;background:#f5e9cf;font-size:8px;font-weight:700;text-transform:uppercase;letter-spacing:.05em}.status-active,.status-approved{color:#315f42;background:#e2f0e6}.status-pending{color:#365872;background:#e5f0f7}.status-expired,.status-rejected{color:#874242;background:#f6e2e2}.status-started,.status-inactive{color:#725936;background:#f4ead8}
.superadmin-page{background:#f1f2ef}.admin-shell{min-height:100vh;display:grid;grid-template-columns:250px 1fr}.admin-sidebar{position:fixed;inset:0 auto 0 0;width:250px;padding:30px 22px;display:flex;flex-direction:column;gap:10px;color:#dce6e0;background:#20372d}.admin-sidebar>span{margin:25px 0 8px;color:#b99b6d;font-size:8px;letter-spacing:.18em}.admin-sidebar nav{display:grid;gap:4px}.admin-sidebar nav a{padding:11px 12px;border-radius:3px;font-size:12px}.admin-sidebar nav a:hover{color:#fff;background:rgba(255,255,255,.1)}.admin-sidebar>a:nth-last-child(2){margin-top:auto}.admin-sidebar>a:nth-last-child(-n+2){padding:9px 12px;color:#bac9c1;font-size:10px}.admin-main{grid-column:2;min-width:0;padding:32px 4vw 70px}.admin-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.admin-head small{color:#888e89;font-size:9px;letter-spacing:.14em;text-transform:uppercase}.admin-head h1{margin:3px 0;font:600 39px var(--serif)}.admin-head>span{padding:9px 12px;background:#fff;border:1px solid #e0e2dd;font-size:10px}.admin-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:13px;margin-bottom:20px}.admin-stats article{padding:23px;background:#fff;border:1px solid #e1e3de}.admin-stats small{display:block;color:#7e847f;font-size:9px}.admin-stats strong{display:block;margin-top:8px;font:600 34px var(--serif)}.admin-section{margin-bottom:20px;padding:28px;background:#fff;border:1px solid #e1e3de}.admin-section-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:20px}.admin-section-head span{color:#a27e4f;font-size:8px;letter-spacing:.14em;text-transform:uppercase}.admin-section-head h2{margin:4px 0;font:600 31px var(--serif)}.admin-section-head>b{width:38px;height:38px;display:grid;place-items:center;border-radius:50%;color:#fff;background:#9f7c4e}.admin-empty{padding:30px;text-align:center;color:#858b86;background:#f8f8f6}.admin-table-wrap{overflow:auto}.admin-table{min-width:900px}.admin-table td>strong,.admin-table td>small{display:block}.admin-table td>small{max-width:270px;margin-top:4px;color:#858b86;font-size:9px;overflow-wrap:anywhere}.admin-actions{display:flex;align-items:center;gap:6px}.admin-actions.vertical{align-items:flex-start;flex-direction:column}.admin-actions form{margin:0}.admin-actions button,.admin-search button{padding:7px 9px;border:1px solid #879b8e;color:#345043;background:#fff;font-size:8px;font-weight:700;text-transform:uppercase}.admin-actions button.approve{color:#fff;background:#426451;border-color:#426451}.admin-actions button.reject{color:#8a3e3e;background:#fff5f5;border-color:#d1a2a2}.admin-search{display:flex}.admin-search input{min-width:260px;padding:10px;border:1px solid #d8dad6}.admin-search button{color:#fff;background:#426451}.admin-settings-form{max-width:840px}.admin-settings-form label{display:block;margin-bottom:16px;color:#474f4a;font-size:11px;font-weight:700}.admin-settings-form input,.admin-settings-form select,.admin-settings-form textarea{width:100%;margin-top:6px;padding:12px;border:1px solid #d8dad6;background:#fff}.admin-settings-form label>small{display:block;margin-top:6px;color:#818782;font-weight:400;line-height:1.5}
.test-mail-form{margin-top:16px;padding-top:16px;border-top:1px solid #e4e5e1}.test-mail-form button{padding:10px 14px;color:#345043;background:#fff;border:1px solid #879b8e;font-size:9px;font-weight:700;text-transform:uppercase}
@media(max-width:1000px){.billing-grid{grid-template-columns:1fr}.admin-stats{grid-template-columns:1fr 1fr}.admin-shell{display:block}.admin-sidebar{position:static;width:auto;display:flex;flex-direction:row;align-items:center;overflow:auto}.admin-sidebar>span,.admin-sidebar>nav,.admin-sidebar>a:nth-last-child(2){display:none}.admin-sidebar>a:last-child{margin-left:auto}.admin-main{padding:24px}.admin-section{padding:20px}}
@media(max-width:700px){.marketing-price{grid-template-columns:1fr;padding:72px 22px}.activation-public-notice{display:block}.activation-public-notice span{display:block;margin-top:4px}.dashboard-activation,.billing-hero,.admin-head,.admin-section-head{align-items:flex-start;flex-direction:column}.billing-hero{padding:28px}.billing-hero h2{font-size:36px}.billing-hero>span{display:none}.admin-stats{grid-template-columns:1fr}.admin-search{width:100%}.admin-search input{min-width:0;flex:1}.admin-main{padding:18px}.admin-section{padding:17px}.admin-settings-form .two{grid-template-columns:1fr}}

/* Cumplearia 4.1 — consistent public suspension and activation states */
.activation-public-notice{position:sticky;z-index:9999;top:0;left:auto;bottom:auto;width:100%;min-height:94px;padding:16px max(22px,calc((100% - 1180px)/2));display:flex;align-items:center;justify-content:center;gap:18px;transform:none;color:#422b08;background:linear-gradient(105deg,#ffd15a,#ffedaf);border:0;border-bottom:3px solid #bd7d00;box-shadow:0 12px 32px rgba(52,35,5,.3);text-align:left}.activation-notice-icon{flex:0 0 54px;width:54px;height:54px;display:grid!important;place-items:center;margin:0!important;border:2px solid currentColor;border-radius:50%;font:800 30px/1 var(--sans)}.activation-public-notice>div{width:min(900px,100%)}.activation-public-notice small,.activation-public-notice strong{display:block}.activation-public-notice small{font-size:9px;font-weight:800;letter-spacing:.18em}.activation-public-notice strong{margin:2px 0;font-size:18px;line-height:1.25}.activation-public-notice p{margin:0;font-size:12px;line-height:1.45}.activation-public-notice.state-expired{color:#5f1717;background:linear-gradient(105deg,#ff9f9f,#ffe4e4);border-color:#a82d2d}.activation-public-notice.state-pending{color:#163d58;background:linear-gradient(105deg,#9ed8ff,#e8f6ff);border-color:#397ba6}.status-suspended{color:#874242!important;background:#f6e2e2!important}.suspended-invitation-page{min-height:100vh;background:radial-gradient(circle at 20% 15%,#f3eadc 0,transparent 35%),#f7f4ee}.suspended-invitation{min-height:100vh;max-width:1100px;margin:auto;padding:42px 24px;display:flex;flex-direction:column}.suspended-invitation>section{width:min(720px,100%);margin:auto;padding:56px;text-align:center;background:#fff;border:1px solid #dfd8cd;box-shadow:0 28px 80px rgba(46,38,28,.12)}.suspended-invitation>section>span{width:76px;height:76px;margin:0 auto 24px;display:grid;place-items:center;border:2px solid #9c4646;border-radius:50%;color:#9c4646;font:300 52px/1 var(--sans)}.suspended-invitation small{color:#9c4646;font-size:10px;font-weight:800;letter-spacing:.18em}.suspended-invitation h1{margin:12px 0 18px;font:600 clamp(42px,7vw,68px)/.95 var(--serif)}.suspended-invitation p{max-width:580px;margin:0 auto 28px;color:#6d706c;line-height:1.75}.c3-rsvp-locked>aside{align-self:center;padding:36px;text-align:center;color:#5e4421;background:#fff4d8;border:2px dashed #d09c3c}.c3-rsvp-locked>aside>span{width:56px;height:56px;margin:0 auto 14px;display:grid;place-items:center;border:2px solid currentColor;border-radius:50%;font-size:28px;font-weight:800}.c3-rsvp-locked>aside strong{display:block;font-size:18px}.c3-rsvp-locked>aside p{margin:7px 0 0;font-size:12px}.admin-table td .admin-status+small{margin-top:6px}
.c3-nav.with-activation-notice{position:relative;top:auto;background:#1f3028}
@media(max-width:700px){.activation-public-notice{min-height:0;padding:13px 16px;display:flex;gap:12px}.activation-notice-icon{flex-basis:42px;width:42px;height:42px;font-size:23px}.activation-public-notice strong{font-size:15px}.activation-public-notice p{font-size:10px}.suspended-invitation{padding:24px 16px}.suspended-invitation>section{padding:38px 22px}.suspended-invitation h1{font-size:43px}}

/* Cumplearia 4.2 — full public previews for every template */
.showcase-preview{display:block}.showcase-meta>.showcase-full-link{padding:7px 0;border-bottom:1px solid #87978e;color:#3c5146;font-size:10px;text-transform:uppercase;letter-spacing:.08em;white-space:nowrap}.showcase-meta>.showcase-full-link span{margin-left:5px}.template-demo-toolbar{position:sticky;z-index:2000;top:0;min-height:58px;padding:10px max(18px,calc((100% - 1180px)/2));display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:20px;color:#28372f;background:rgba(255,255,255,.96);border-bottom:1px solid #ddd8ce;box-shadow:0 8px 26px rgba(25,35,29,.14);backdrop-filter:blur(12px)}.template-demo-toolbar a{font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.template-demo-toolbar a:last-child{justify-self:end;padding:9px 14px;color:#fff;background:#344e41}.template-demo-toolbar strong{font:600 19px var(--serif)}.c3-nav.with-demo-toolbar{position:relative;top:auto;background:#1f3028}.template-demo-form-note{margin:-12px -12px 22px;padding:11px;text-align:center;color:#624820;background:#fff1cf;border:1px solid #e2c17b;font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
@media(max-width:680px){.template-demo-toolbar{grid-template-columns:1fr auto;gap:10px}.template-demo-toolbar strong{display:none}.template-demo-toolbar a{font-size:8px}.template-demo-toolbar a:last-child{padding:8px 10px}}

/* Cumplearia 4.3 — complete couple names */
.auth-couple-group{margin:16px 0 18px;padding:18px;border:1px solid #d9d8d4;background:#faf8f3}.auth-couple-group legend{padding:0 8px;color:#344e41;font:600 20px var(--serif)}.auth-couple-group>p{margin:0 0 15px;color:#707671;font-size:11px;line-height:1.55}.auth-couple-group .two label{margin-bottom:0}.editor-field-help{margin:-2px 0 20px;color:#727873;font-size:11px;line-height:1.55}.editor-v3 label>small{display:block;margin-top:4px;color:#8b8f8c;font-size:9px;font-weight:400}.editor-v3 label>small+input{margin-top:5px}
@media(max-width:700px){.auth-couple-group .two{grid-template-columns:1fr}.auth-couple-group .two label+label{margin-top:13px}}

/* Cumplearia 4.4 — editable venue imagery and named companions */
.editor-image-control{margin-top:18px;padding:16px;border:1px dashed #c7c4bd;background:#fff}.editor-image-control>label:first-child{margin-bottom:10px}.editor-image-control input[type=file]{padding:10px;background:#f8f7f3}.editor-image-control figure{position:relative;height:180px;margin:12px 0;overflow:hidden;background:#ecebe7}.editor-image-control figure img{width:100%;height:100%;object-fit:cover}.editor-image-control figcaption{position:absolute;left:10px;bottom:10px;padding:5px 8px;color:#fff;background:rgba(28,40,34,.78);font-size:8px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.editor-v3 .editor-remove-image{display:flex;align-items:center;gap:8px;margin:8px 0 0;color:#8b4545;font-size:10px}.editor-v3 .editor-remove-image input{width:auto;margin:0}.companion-list-name{display:block!important;margin-top:4px;color:#626a65!important;font-size:10px!important;white-space:normal}

/* Cumplearia 4.5 — compact guest manager, details and complete reports */
.guest-report-actions{display:flex;align-items:center;gap:8px}.guest-report-actions button,.guest-report-actions a,.guest-detail-button{padding:9px 12px;border:1px solid #70877a;color:#365144;background:#fff;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.05em}.guest-report-actions a{color:#fff;background:#3f5d4d}.guest-summary-table{min-width:760px}.guest-summary-table td:last-child{text-align:right}.guest-summary-table td>strong,.guest-summary-table td>small{display:block}.guest-alerts{display:flex;flex-wrap:wrap;gap:5px}.guest-alerts span{padding:5px 7px;color:#6c4b1f;background:#fff0cf;border-radius:20px;font-size:8px;font-weight:700}.guest-alerts span+span{color:#7c3838;background:#fbe5e5}.guest-alerts small{color:#8b8f8c}.guest-detail-dialog{width:min(900px,calc(100% - 28px));max-height:88vh;padding:0;border:0;color:#27312c;background:#f6f4ee;box-shadow:0 30px 100px rgba(19,29,23,.38)}.guest-detail-dialog::backdrop{background:rgba(18,27,22,.72);backdrop-filter:blur(4px)}.guest-dialog-head{padding:25px 28px;display:flex;justify-content:space-between;gap:20px;color:#fff;background:#294538}.guest-dialog-head small{font-size:8px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;opacity:.7}.guest-dialog-head h3{margin:5px 0;font:600 34px var(--serif)}.guest-dialog-head p{margin:0;font-size:10px;opacity:.75}.guest-dialog-head>button{align-self:flex-start;width:38px;height:38px;border:1px solid rgba(255,255,255,.5);border-radius:50%;color:#fff;background:transparent;font-size:25px}.guest-person-grid{padding:24px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.guest-person-grid article{padding:20px;background:#fff;border:1px solid #dedbd4}.guest-person-grid article>span{color:#a17c4e;font-size:8px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.guest-person-grid h4{margin:6px 0 16px;font:600 24px var(--serif)}.guest-person-grid dl{margin:0;display:grid;grid-template-columns:110px 1fr;gap:7px 12px;font-size:10px}.guest-person-grid dt{color:#7c827e}.guest-person-grid dd{margin:0;font-weight:700;overflow-wrap:anywhere}.guest-extra-details{margin:0 24px 20px;padding:18px;background:#fff;border:1px solid #dedbd4}.guest-extra-details p{margin:0;display:grid;grid-template-columns:150px 1fr;gap:15px;font-size:10px}.guest-extra-details p+p{margin-top:12px}.guest-extra-details span{overflow-wrap:anywhere}.guest-dialog-close{margin:0 24px 24px;padding:11px 15px;border:0;color:#fff;background:#3f5d4d;font-size:10px;font-weight:700}.guest-print-report{display:none}
@media(max-width:700px){.guest-manager .panel-title{align-items:stretch;flex-direction:column}.guest-report-actions{display:grid;grid-template-columns:1fr 1fr}.guest-report-actions>*{text-align:center}.guest-person-grid{grid-template-columns:1fr;padding:15px}.guest-dialog-head{padding:20px}.guest-extra-details{margin:0 15px 15px}.guest-extra-details p{grid-template-columns:1fr;gap:4px}.guest-dialog-close{margin:0 15px 15px;width:calc(100% - 30px)}}

/* Cumplearia 4.6 — guest statistics, search and combined filters */
.guest-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px;margin-bottom:18px}.guest-stat{position:relative;min-height:125px;padding:20px 20px 17px;overflow:hidden;background:#fff;border:1px solid #e4e1da}.guest-stat:after{content:"";position:absolute;right:-21px;bottom:-29px;width:82px;height:82px;border-radius:50%;background:#edf2ee}.guest-stat small,.guest-stat span,.guest-stat strong{position:relative;z-index:1;display:block}.guest-stat small{min-height:30px;color:#777f79;font-size:9px;font-weight:800;line-height:1.45;text-transform:uppercase;letter-spacing:.07em}.guest-stat strong{margin:2px 0;color:#294538;font:600 36px/1 var(--serif)}.guest-stat span{color:#979a96;font-size:9px}.guest-stat-no:after,.guest-stat-allergy:after{background:#f8e9e7}.guest-stat-no strong,.guest-stat-allergy strong{color:#8a4848}.guest-stat-transport:after{background:#e8eef7}.guest-stat-transport strong{color:#42617d}.guest-stat-menu:after{background:#f5eee2}.guest-stat-menu strong{color:#775d39}.guest-filters{display:grid;grid-template-columns:minmax(210px,1.7fr) repeat(4,minmax(112px,1fr)) auto;align-items:end;gap:9px;margin:0 0 8px;padding:16px;background:#f7f6f2;border:1px solid #e7e4dd}.guest-filters label{display:block;color:#606762;font-size:8px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.guest-filters input,.guest-filters select{display:block;width:100%;height:39px;margin-top:5px;padding:0 10px;border:1px solid #d6d5d0;border-radius:2px;color:#303733;background:#fff;font-size:10px;outline:none}.guest-filters input:focus,.guest-filters select:focus{border-color:#70877a;box-shadow:0 0 0 3px rgba(85,111,96,.1)}.guest-filters button{height:39px;padding:0 13px;border:1px solid #70877a;color:#365144;background:#fff;font-size:8px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;white-space:nowrap}.guest-filter-result{margin:9px 0 5px;color:#7a817c;font-size:9px;text-align:right}.guest-no-results td{padding:35px!important;color:#777;text-align:center!important;background:#faf9f6}.guest-summary-table tr[hidden]{display:none}
@media(max-width:1050px){.guest-filters{grid-template-columns:repeat(3,minmax(0,1fr))}.guest-filters .guest-search{grid-column:span 2}.guest-filters button{width:100%}}
@media(max-width:700px){.guest-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.guest-stat{min-height:112px;padding:16px}.guest-filters{grid-template-columns:1fr 1fr;padding:12px}.guest-filters .guest-search{grid-column:1/-1}.guest-filters button{grid-column:1/-1}.guest-filter-result{text-align:left}}

/* Cumplearia 5.4 — legal information and explicit consent */
.legal-page{min-height:100vh;background:#f4f0e9}.legal-header{width:min(1060px,calc(100% - 40px));margin:auto;padding:28px 0;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #dcd4c8}.legal-header>a:last-child{color:#616962;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.legal-shell{width:min(900px,calc(100% - 40px));margin:55px auto 80px}.legal-shell>article{padding:clamp(28px,6vw,70px);background:#fff;border:1px solid #e1dbd1;box-shadow:0 25px 70px rgba(55,43,37,.08)}.legal-shell>article>span{color:#a17c4e;font-size:9px;font-weight:800;letter-spacing:.16em}.legal-shell h1{margin:12px 0 30px;font:600 clamp(43px,7vw,70px)/.95 var(--serif)}.legal-shell h2{margin:36px 0 8px;font:600 28px var(--serif)}.legal-shell p,.legal-shell li,.legal-shell dd{color:#5e655f;font-size:13px}.legal-shell a{text-decoration:underline;text-underline-offset:3px}.legal-shell ul{padding-left:20px}.legal-identity{margin:25px 0;padding:22px;display:grid;grid-template-columns:145px 1fr;gap:8px 20px;background:#f7f4ee;border-left:3px solid #a17c4e}.legal-identity dt{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.05em}.legal-identity dd{margin:0;overflow-wrap:anywhere}.legal-configuration-warning,.admin-legal-warning{margin:20px 0;padding:16px 18px;color:#714b21;background:#fff1d9;border:1px solid #e8c88d}.legal-configuration-warning strong,.admin-legal-warning>*{display:block}.legal-configuration-warning p{margin:4px 0 0}.legal-table-wrap{overflow-x:auto}.legal-shell table{width:100%;min-width:620px;border-collapse:collapse;font-size:11px}.legal-shell th,.legal-shell td{padding:13px;text-align:left;vertical-align:top;border:1px solid #ded8cd}.legal-shell th{background:#f5f1ea}.legal-updated{margin-top:45px!important;padding-top:18px;border-top:1px solid #e5ded4;font-size:10px!important}.legal-footer-links{display:flex;flex-wrap:wrap;justify-content:center;gap:11px 22px;color:#737974;font-size:9px;text-transform:uppercase;letter-spacing:.06em}.legal-shell>.legal-footer-links{margin-top:30px}.marketing-footer>.legal-footer-links{width:100%;padding:18px 25px;border-top:1px solid #e7e2d9}.c3-footer .legal-footer-links{margin-top:25px}.auth-legal-consent,.privacy-consent{display:flex!important;align-items:flex-start;gap:9px;font-size:10px!important;font-weight:500!important;line-height:1.55}.auth-legal-consent input,.privacy-consent input{flex:0 0 auto;width:16px!important;height:16px;margin:2px 0 0!important}.auth-legal-consent a,.privacy-consent a{text-decoration:underline;text-underline-offset:2px}.legal-settings{margin:18px 0;padding:20px;border:1px solid #d8d4ca}.legal-settings legend{padding:0 8px;font:600 22px var(--serif)}.admin-legal-warning span{margin-top:3px;font-size:10px}.settings-note{color:#747b76;font-size:10px}
@media(max-width:600px){.legal-header{padding:20px 0}.legal-header>a:last-child{font-size:8px}.legal-shell{margin-top:28px}.legal-shell>article{padding:25px 20px}.legal-identity{grid-template-columns:1fr;gap:2px}.legal-identity dd+dt{margin-top:10px}}

/* Cumplearia 5.5 — navigation designed for mobile and installed PWA */
.responsive-nav-toggle,.sidebar-mobile-bar{display:none}.responsive-nav-toggle{min-height:42px;padding:0 12px;align-items:center;gap:9px;border:1px solid currentColor;color:inherit;background:transparent}.responsive-nav-toggle>span{width:18px;display:grid;gap:4px}.responsive-nav-toggle>span i{display:block;width:18px;height:1px;background:currentColor;transition:transform .2s,opacity .2s}.responsive-nav-toggle>b{font-size:9px;text-transform:uppercase;letter-spacing:.08em}.responsive-nav-open .responsive-nav-toggle>span i:first-child{transform:translateY(5px) rotate(45deg)}.responsive-nav-open .responsive-nav-toggle>span i:nth-child(2){opacity:0}.responsive-nav-open .responsive-nav-toggle>span i:last-child{transform:translateY(-5px) rotate(-45deg)}
@media(max-width:760px){
  .marketing .marketing-nav{position:sticky;z-index:500;top:0;overflow:visible}.marketing .marketing-nav>.responsive-nav-toggle{display:flex;color:#65434e}.marketing .marketing-nav>nav{position:absolute;z-index:501;top:calc(100% + 1px);right:12px;left:12px;padding:10px;display:grid!important;gap:3px!important;visibility:hidden;opacity:0;transform:translateY(-8px);pointer-events:none;color:#493e41;background:#fffaf7;border:1px solid #e1d2cc;box-shadow:0 22px 55px rgba(65,39,47,.2);transition:opacity .18s,transform .18s,visibility .18s}.marketing .marketing-nav.responsive-nav-open>nav{visibility:visible;opacity:1;transform:none;pointer-events:auto}.marketing .marketing-nav>nav a{display:flex!important;min-height:45px;padding:0 13px;align-items:center;border-bottom:1px solid #eee2dd;font-size:11px}.marketing .marketing-nav>nav .nav-cta{justify-content:center;margin-top:5px;color:#fff;border:0}
  .dashboard{overflow:visible}.dashboard .sidebar{position:sticky;z-index:600;top:0;width:100%;padding:0;overflow:visible}.sidebar-mobile-bar{min-height:66px;padding:calc(10px + env(safe-area-inset-top,0px)) 16px 10px;display:flex;align-items:center;justify-content:space-between}.sidebar-mobile-bar .logo{display:inline-flex!important;font-size:13px}.sidebar-mobile-bar .logo i{width:30px;height:30px;font-size:19px}.sidebar-mobile-bar>.responsive-nav-toggle{display:flex;color:#fff;border-color:rgba(255,255,255,.35)}.sidebar>.sidebar-desktop-logo{display:none!important}.dashboard .sidebar>nav{position:absolute;z-index:601;top:100%;right:10px;left:10px;padding:9px;display:grid!important;gap:3px;overflow:visible;visibility:hidden;opacity:0;transform:translateY(-8px);pointer-events:none;background:#513641;border:1px solid rgba(255,255,255,.14);box-shadow:0 22px 55px rgba(45,27,34,.32);transition:opacity .18s,transform .18s,visibility .18s}.dashboard .sidebar.responsive-nav-open>nav{visibility:visible;opacity:1;transform:none;pointer-events:auto}.dashboard .sidebar nav a{width:100%;min-width:0;min-height:46px;padding:0 13px}.dashboard .sidebar nav a b{display:block}.dashboard .sidebar nav a i{margin-left:auto}.dashboard-main{padding-top:24px}
}

/* Cumplearia 5.6 — trust, contact, privacy and frequently asked questions */
#preguntas,#sobre-nosotros,#precio,#plantillas,#funciones{scroll-margin-top:95px}.price-guarantee{margin-top:30px;padding:16px 18px;display:flex;align-items:center;gap:16px;color:#634851;background:rgba(255,255,255,.62);border-left:3px solid #a97982}.price-guarantee>*{display:block}.price-guarantee b{white-space:nowrap;font-size:10px;text-transform:uppercase;letter-spacing:.07em}.price-guarantee span{font-size:10px;line-height:1.55}.marketing-privacy{padding:110px max(32px,calc((100% - 1176px)/2));background:#fffaf7}.marketing-privacy>div{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.marketing-privacy article{min-height:275px;padding:28px;background:#f6efeb;border:1px solid #e3d5cf}.marketing-privacy article i{width:36px;height:36px;display:grid;place-items:center;color:#fff;background:#76515d;border-radius:50%;font-size:8px;font-style:normal;font-weight:800}.marketing-privacy h3{margin:30px 0 11px;font:600 25px/1.05 var(--serif)}.marketing-privacy article p{color:#75696b;font-size:11px;line-height:1.7}.marketing-privacy article a{display:inline-block;margin-top:8px;color:#65434e;border-bottom:1px solid #a97982;font-size:8px;font-weight:800;text-transform:uppercase;letter-spacing:.05em}.marketing-about{padding:110px max(32px,calc((100% - 1176px)/2));display:grid;grid-template-columns:1.25fr .75fr;gap:7vw;align-items:center;color:#fff;background:#513641}.marketing-about>div>span{color:#d8b68a;font-size:9px;font-weight:800;letter-spacing:.18em;text-transform:uppercase}.marketing-about h2{max-width:720px;margin:15px 0 22px;font:600 clamp(48px,5.5vw,72px)/.92 var(--serif)}.marketing-about>div>p{max-width:720px;color:#eadde1;font-size:14px;line-height:1.8}.marketing-about>div>div{margin-top:30px;display:flex;align-items:center;gap:24px}.marketing-about .button.primary{color:#513641;background:#fff}.about-whatsapp{display:grid;padding-left:24px;border-left:1px solid rgba(255,255,255,.28)}.about-whatsapp b{font-size:8px;text-transform:uppercase;letter-spacing:.08em;color:#d8b68a}.about-whatsapp span{font:600 23px var(--serif)}.marketing-about aside{padding:34px;color:#3d3034;background:#fff8f5;border:1px solid rgba(255,255,255,.3)}.marketing-about aside>*{display:block}.marketing-about aside small{color:#a27355;font-size:8px;font-weight:800;letter-spacing:.12em}.marketing-about aside strong{margin:14px 0;font:600 30px/1 var(--serif)}.marketing-about aside p{color:#786c6f;font-size:11px}.marketing-about aside a{margin-top:20px;color:#65434e;text-decoration:underline;font-size:10px}.marketing-testimonials-ready{padding:55px max(32px,calc((100% - 1176px)/2));display:flex;align-items:center;justify-content:space-between;gap:50px;background:#efe2dc;border-bottom:1px solid #ddcdc6}.marketing-testimonials-ready>div{max-width:760px}.marketing-testimonials-ready span{color:#a27355;font-size:8px;font-weight:800;text-transform:uppercase;letter-spacing:.12em}.marketing-testimonials-ready h2{margin:8px 0;font:600 34px/1 var(--serif)}.marketing-testimonials-ready p{margin:0;color:#74696b;font-size:11px}.marketing-testimonials-ready>a{flex:0 0 auto;padding-bottom:6px;color:#65434e;border-bottom:1px solid #a97982;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.05em}.marketing-faq{padding:110px max(32px,calc((100% - 970px)/2));background:#fcf9f6}.faq-list{border-top:1px solid #dfd3cd}.faq-list details{border-bottom:1px solid #dfd3cd}.faq-list summary{position:relative;padding:22px 48px 22px 0;cursor:pointer;list-style:none;font:600 22px var(--serif)}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary:after{content:"+";position:absolute;right:8px;top:17px;color:#9d6d77;font:400 27px var(--sans)}.faq-list details[open] summary:after{content:"−"}.faq-list details p{max-width:800px;margin:0;padding:0 45px 22px 0;color:#746b6c;font-size:12px;line-height:1.75}.faq-contact{margin-top:35px;padding:20px 24px;display:flex;align-items:center;justify-content:space-between;gap:20px;color:#fff;background:#76515d}.faq-contact span{font:600 20px var(--serif)}.faq-contact a{font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid rgba(255,255,255,.65)}.floating-whatsapp{position:fixed;z-index:9000;left:18px;bottom:18px;padding:11px 15px;display:grid;color:#fff;background:#187d4b;border:1px solid rgba(255,255,255,.35);box-shadow:0 15px 38px rgba(24,79,52,.28)}.floating-whatsapp b{font-size:9px;letter-spacing:.05em}.floating-whatsapp span{font-size:8px;opacity:.78}
@media(max-width:1000px){.marketing-privacy>div{grid-template-columns:1fr 1fr}.marketing-about{grid-template-columns:1fr;gap:40px}.marketing-about aside{max-width:650px}.marketing-testimonials-ready{align-items:flex-start;flex-direction:column;gap:20px}}
@media(max-width:760px){.marketing-privacy,.marketing-about,.marketing-faq{padding:80px 22px}.marketing-privacy>div{grid-template-columns:1fr}.marketing-privacy article{min-height:0}.marketing-about h2{font-size:48px}.marketing-about>div>div{align-items:stretch;flex-direction:column}.about-whatsapp{padding:15px 0 0;border-top:1px solid rgba(255,255,255,.28);border-left:0}.marketing-testimonials-ready{padding:42px 22px}.marketing-testimonials-ready h2{font-size:30px}.faq-list summary{font-size:20px}.faq-contact{align-items:flex-start;flex-direction:column}.floating-whatsapp{left:10px;bottom:10px;padding:9px 12px}.floating-whatsapp span{display:none}}

/* Cumplearia 5.7 — managed and verifiable testimonials */
.marketing-testimonials{padding:110px max(32px,calc((100% - 1176px)/2));background:#efe2dc}.marketing-testimonials>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.marketing-testimonials article{min-width:0;padding:32px;display:flex;flex-direction:column;background:#fffaf7;border:1px solid #dfcec7}.marketing-testimonials blockquote{flex:1;margin:0;color:#54494c;font:italic 500 22px/1.35 var(--serif)}.marketing-testimonials article>footer{margin-top:30px;padding-top:20px;display:flex;align-items:center;gap:11px;border-top:1px solid #eadfd9}.marketing-testimonials footer>img,.marketing-testimonials footer>i{flex:0 0 auto;width:48px;height:48px;border-radius:50%;object-fit:cover}.marketing-testimonials footer>i{display:grid;place-items:center;color:#fff;background:#76515d;font:600 21px var(--serif)}.marketing-testimonial-person{min-width:0;flex:1;margin:0}.marketing-testimonial-person>*{display:block}.marketing-testimonial-person strong{font-size:10px}.marketing-testimonial-person span{color:#8b7f82;font-size:8px}.testimonial-verified{padding:5px 7px;color:#6d4b55;background:#f1e2e6;border-radius:20px;font-size:6px;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}.testimonial-admin-intro{max-width:850px;margin:-7px 0 22px;padding:13px 15px;color:#65565a;background:#f6ece9;border-left:3px solid #a97982;font-size:10px}.testimonial-admin-form{padding:20px;background:#faf8f5;border:1px solid #dfd9d2}.testimonial-create{margin-bottom:18px;background:#f5ece9;border-color:#ddcbc5}.testimonial-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 15px}.testimonial-form-grid .full{grid-column:1/-1}.testimonial-admin-form label{display:block;margin-bottom:13px;color:#50464a;font-size:9px;font-weight:800}.testimonial-admin-form input,.testimonial-admin-form textarea{width:100%;margin-top:5px;padding:10px;border:1px solid #d9d2cc;background:#fff}.testimonial-admin-form input[type=file]{padding:8px}.testimonial-checks{display:flex;flex-wrap:wrap;gap:9px 18px;margin:6px 0 17px}.testimonial-checks label{display:flex;align-items:center;gap:7px;margin:0;font-weight:600}.testimonial-checks input{width:15px;height:15px;margin:0}.testimonial-admin-list{display:grid;gap:13px}.testimonial-admin-list>article{position:relative;padding:15px;background:#fff;border:1px solid #e0ddd7}.testimonial-admin-person{margin-bottom:15px;display:flex;align-items:center;gap:10px}.testimonial-admin-person img,.testimonial-admin-person>i{width:50px;height:50px;border-radius:50%;object-fit:cover}.testimonial-admin-person>i{display:grid;place-items:center;color:#fff;background:#76515d;font:600 21px var(--serif)}.testimonial-admin-person div>*{display:block}.testimonial-admin-person strong{font:600 20px var(--serif)}.testimonial-admin-person span{color:#8c8587;font-size:8px;text-transform:uppercase;letter-spacing:.05em}.testimonial-delete{margin-top:8px}.testimonial-delete button{padding:8px 10px;color:#8c3e3e;background:#fff5f5;border:1px solid #d8aaaa;font-size:8px;font-weight:800;text-transform:uppercase}
@media(max-width:1000px){.marketing-testimonials>div{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.marketing-testimonials{padding:80px 22px}.marketing-testimonials>div,.testimonial-form-grid{grid-template-columns:1fr}.testimonial-form-grid .full{grid-column:auto}.marketing-testimonials blockquote{font-size:21px}.marketing-testimonials article>footer{align-items:flex-start;flex-wrap:wrap}.testimonial-verified{margin-left:59px}.testimonial-checks{align-items:flex-start;flex-direction:column}}
@media print{body *{visibility:hidden!important}.guest-print-report,.guest-print-report *{visibility:visible!important}.guest-print-report{position:absolute;inset:0;display:block!important;padding:15px;color:#000;background:#fff}.guest-print-report h1{margin:0 0 4px;font:700 25px Arial,sans-serif}.guest-print-report>p{margin:0 0 18px;font:12px Arial,sans-serif}.guest-print-report table{font:10px Arial,sans-serif}.guest-print-report th,.guest-print-report td{padding:7px;border:1px solid #999}.guest-print-report th{color:#000;background:#eee}}

/* Cumplearia 4.7 — premium marketing landing */
body.marketing{overflow-x:hidden;color:#202923;background:#f8f6f1}.marketing .marketing-nav{position:relative;z-index:20;width:min(1240px,100%);max-width:none;height:88px;padding:0 32px;border-bottom:1px solid #e7e2d9}.marketing .marketing-nav nav{gap:25px;font-size:11px}.marketing .marketing-nav nav>a:not(.nav-cta){position:relative;color:#4d5650}.marketing .marketing-nav nav>a:not(.nav-cta):after{content:"";position:absolute;right:0;bottom:-7px;left:0;height:1px;transform:scaleX(0);background:#9d7b4e;transition:transform .2s}.marketing .marketing-nav nav>a:not(.nav-cta):hover:after{transform:scaleX(1)}.marketing .nav-cta{padding:11px 18px;background:#294538}.marketing .marketing-hero{width:min(1240px,100%);max-width:none;min-height:720px;grid-template-columns:1.08fr .92fr;gap:80px;padding:76px 32px 105px}.marketing .marketing-copy{position:relative;z-index:2}.marketing .marketing-copy>span,.marketing-section-heading>span,.management-copy>span,.marketing-templates .showcase-heading span,.marketing-final>div>span{display:block;color:#a17c4e;font-size:9px;font-weight:800;letter-spacing:.21em;text-transform:uppercase}.marketing .marketing-copy h1{max-width:680px;margin:19px 0 24px;font:600 clamp(58px,5.7vw,85px)/.91 var(--serif);letter-spacing:-.025em}.marketing .marketing-copy>p{max-width:610px;margin:0;color:#646c67;font-size:17px;line-height:1.75}.marketing .marketing-hero-actions{display:flex;gap:11px;margin:34px 0 22px}.marketing .marketing-hero-actions .button{min-height:52px}.marketing-hero-points{display:flex;flex-wrap:wrap;gap:8px 22px;margin:0;padding:0;list-style:none;color:#737a75;font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.marketing-hero-points li{position:relative;padding-left:15px}.marketing-hero-points li:before{content:"✓";position:absolute;left:0;color:#9d7b4e}.marketing-visual{position:relative;min-width:0;padding:0 25px 0 15px}.marketing .hero-phone{min-height:555px;border-radius:260px 260px 8px 8px;background-position:center 37%;box-shadow:0 35px 80px rgba(27,43,34,.2)}.marketing .hero-phone:before{content:"";position:absolute;z-index:2;inset:18px;border:1px solid rgba(255,255,255,.42);border-radius:240px 240px 3px 3px}.marketing .hero-phone>div{bottom:58px}.marketing .hero-phone strong{font-size:58px}.marketing .hero-phone em{display:inline-block;margin-top:22px;padding:8px 13px;border:1px solid rgba(255,255,255,.7);font-size:7px;font-style:normal;font-weight:700;letter-spacing:.14em;text-transform:uppercase}.hero-floating-card{position:absolute;z-index:5;padding:15px 17px;background:rgba(255,255,255,.96);border:1px solid #e6e1d7;box-shadow:0 18px 45px rgba(32,43,36,.18);backdrop-filter:blur(8px)}.hero-floating-card>*{display:block}.hero-floating-top{top:63px;right:-26px;width:210px}.hero-floating-top small{color:#9d7b4e;font-size:7px;font-weight:800;letter-spacing:.11em;text-transform:uppercase}.hero-floating-top strong{margin:5px 0 2px;font:600 19px var(--serif)}.hero-floating-top span{color:#727973;font-size:8px}.hero-floating-bottom{left:-20px;bottom:52px;display:flex;align-items:center;gap:10px}.hero-floating-bottom b{color:#294538;font:600 38px/1 var(--serif)}.hero-floating-bottom span{color:#747b76;font-size:8px;font-weight:700;line-height:1.35;text-transform:uppercase;letter-spacing:.08em}.marketing-proof{width:min(1240px,calc(100% - 64px));margin:0 auto 115px;display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #dcd7cd;border-bottom:1px solid #dcd7cd}.marketing-proof article{min-width:0;padding:25px 23px;display:flex;align-items:center;gap:15px}.marketing-proof article+article{border-left:1px solid #dcd7cd}.marketing-proof strong{flex:0 0 auto;color:#294538;font:600 28px var(--serif)}.marketing-proof span{color:#747b76;font-size:9px;line-height:1.5;text-transform:uppercase;letter-spacing:.05em}.marketing-capabilities{width:min(1240px,100%);margin:auto;padding:0 32px 120px}.marketing-section-heading{max-width:800px;margin:0 auto 50px;text-align:center}.marketing-section-heading h2{margin:13px 0 18px;font:600 clamp(45px,5.5vw,70px)/.94 var(--serif);letter-spacing:-.02em}.marketing-section-heading p{max-width:660px;margin:auto;color:#727873;font-size:15px}.marketing .marketing-features{max-width:none;margin:0;padding:0;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.marketing .marketing-features article{position:relative;min-height:270px;padding:33px 31px;background:#fff;border:1px solid #e5e1d9}.marketing .marketing-features article+article{border:1px solid #e5e1d9}.marketing .marketing-features article>b{position:absolute;top:20px;right:22px;color:#c2b9aa;font:700 8px var(--sans);letter-spacing:.12em}.marketing .marketing-features article>i{width:43px;height:43px;display:grid;place-items:center;color:#fff;background:#385548;border-radius:50%;font:normal 19px var(--serif)}.marketing .marketing-features h3{margin:28px 0 10px;font:600 27px/1.05 var(--serif)}.marketing .marketing-features p{margin:0;color:#717772;font-size:12px;line-height:1.7}.marketing-management{position:relative;padding:115px max(32px,calc((100% - 1176px)/2));display:grid;grid-template-columns:.78fr 1.22fr;align-items:center;gap:80px;color:#fff;background:linear-gradient(135deg,#1e3329,#355446);overflow:hidden}.marketing-management:before{content:"";position:absolute;top:-240px;right:-150px;width:620px;height:620px;border:1px solid rgba(255,255,255,.08);border-radius:50%}.management-copy{position:relative;z-index:1}.management-copy>span{color:#d4b57c}.management-copy h2{max-width:520px;margin:15px 0 22px;font:600 clamp(47px,5vw,68px)/.93 var(--serif)}.management-copy>p{max-width:530px;color:#d3ded8;line-height:1.75}.management-copy ul{margin:30px 0;padding:0;list-style:none}.management-copy li{position:relative;padding:13px 0 13px 34px;border-top:1px solid rgba(255,255,255,.13)}.management-copy li:before{content:"✓";position:absolute;left:2px;top:14px;color:#d4b57c}.management-copy li>*{display:block}.management-copy li b{font-size:11px}.management-copy li span{margin-top:3px;color:#bfcac4;font-size:10px}.management-copy>a{display:inline-flex;gap:25px;margin-top:8px;padding-bottom:7px;border-bottom:1px solid #d4b57c;color:#fff;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.09em}.management-preview{position:relative;z-index:1;min-width:0;padding:27px;color:#25342c;background:#f6f5f1;border:8px solid rgba(255,255,255,.12);box-shadow:0 40px 90px rgba(6,17,11,.35)}.management-preview>header{display:flex;align-items:center;justify-content:space-between;padding-bottom:19px;border-bottom:1px solid #dddcd6}.management-preview>header div>*{display:block}.management-preview>header small{color:#898e8a;font-size:7px;text-transform:uppercase;letter-spacing:.12em}.management-preview>header strong{margin-top:3px;font:600 27px var(--serif)}.management-preview>header>span{width:38px;height:38px;display:grid;place-items:center;border-radius:50%;color:#594c39;background:#ded0b7;font-size:9px;font-weight:800}.management-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin:15px 0}.management-stats article{padding:13px;background:#fff;border:1px solid #e4e2dc}.management-stats small{display:block;min-height:24px;color:#8a8f8b;font-size:7px}.management-stats b{display:block;font:600 27px var(--serif)}.management-filters{display:grid;grid-template-columns:1.7fr 1fr 1fr;gap:6px;margin-bottom:10px}.management-filters span{padding:9px;color:#858a86;background:#fff;border:1px solid #dddcd6;font-size:7px}.management-list{background:#fff;border:1px solid #e0ded8}.management-list>div{display:grid;grid-template-columns:1.3fr .75fr 1fr auto;align-items:center;gap:8px;padding:12px;border-bottom:1px solid #eceae5}.management-list>div:last-child{border-bottom:0}.management-list b{font-size:9px}.management-list small{color:#7f8580;font-size:7px}.management-list em{padding:6px 7px;color:#355246;border:1px solid #7a9285;font-size:6px;font-style:normal;font-weight:800;text-transform:uppercase}.demo-pill{justify-self:start;padding:4px 6px;color:#356846;background:#e4f0e7;border-radius:20px;font-size:6px;font-weight:800;text-transform:uppercase}.demo-pill.no{color:#8a4242;background:#f6e3e3}.marketing-steps{padding:115px max(32px,calc((100% - 1176px)/2));background:#eee9df}.marketing-steps .marketing-section-heading{margin-bottom:45px}.marketing-steps>div{display:grid;grid-template-columns:repeat(3,1fr);gap:0}.marketing-steps article{position:relative;min-height:245px;padding:36px;background:#f8f6f1;border:1px solid #dcd5ca}.marketing-steps article+article{border-left:0}.marketing-steps article>b{width:42px;height:42px;display:grid;place-items:center;color:#fff;background:#a17c4e;border-radius:50%;font:600 20px var(--serif)}.marketing-steps h3{margin:40px 0 10px;font:600 29px var(--serif)}.marketing-steps p{margin:0;color:#6f7671;font-size:12px}.marketing .marketing-templates{padding-top:115px;padding-bottom:120px}.marketing .marketing-templates .showcase-heading{margin-bottom:52px}.marketing .marketing-templates h2{margin:11px 0 0;font:600 clamp(44px,5vw,65px)/.94 var(--serif)}.marketing .showcase-heading>p{line-height:1.7}.marketing .marketing-price{padding:110px max(32px,calc((100% - 1176px)/2));grid-template-columns:1.2fr .8fr;gap:8vw;background:#eee8de}.marketing .marketing-price h2{max-width:720px}.marketing .marketing-price>div>p{font-size:15px}.marketing .marketing-price ul{display:grid;grid-template-columns:1fr 1fr;gap:10px 25px;margin:28px 0 0;padding:0;list-style:none}.marketing .marketing-price li{position:relative;padding-left:20px;color:#555f59;font-size:11px}.marketing .marketing-price li:before{content:"✓";position:absolute;left:0;color:#8b6b43;font-weight:800}.marketing .marketing-price article{position:relative;padding:42px}.marketing .marketing-price article>span{display:block;color:#8a6c45;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.marketing .marketing-final{padding:0;color:#fff;background:#b5907b}.marketing-final>div{width:min(100%,1180px);margin:auto;padding:105px 32px;text-align:center}.marketing .marketing-final h2{max-width:980px;margin:14px auto 20px;font:600 clamp(48px,6vw,76px)/.92 var(--serif);letter-spacing:-.02em}.marketing-final>div>p{max-width:650px;margin:0 auto;color:#f2e9e3;font-size:15px}.marketing-final>div>div{display:flex;align-items:center;justify-content:center;gap:23px;margin-top:32px}.marketing-final>div>div>a:last-child{padding-bottom:5px;border-bottom:1px solid rgba(255,255,255,.7);font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.07em}.marketing .marketing-footer{width:100%;max-width:none;min-height:0;margin:0;padding:0;background:#fbfaf7}.marketing-footer-inner{width:min(1240px,100%);min-width:0;margin:auto;padding:38px 32px;display:grid;grid-template-columns:auto minmax(180px,1fr) auto auto;align-items:center;gap:35px}.marketing-footer-inner>*{min-width:0}.marketing-footer-inner p{margin:0;color:#737974;font-size:11px}.marketing-footer-inner nav{display:flex;gap:20px;color:#5e6661;font-size:9px;text-transform:uppercase;letter-spacing:.06em}.marketing-footer-inner small{color:#9a9e9b;font-size:9px;white-space:nowrap}
@media(max-width:1050px){.marketing .marketing-nav nav{gap:15px}.marketing .marketing-nav nav>a:not(.nav-cta):nth-child(2),.marketing .marketing-nav nav>a:not(.nav-cta):nth-child(4){display:none}.marketing .marketing-hero{gap:35px}.hero-floating-top{right:-5px}.marketing-proof{grid-template-columns:1fr 1fr}.marketing-proof article:nth-child(3){border-left:0}.marketing-proof article:nth-child(-n+2){border-bottom:1px solid #dcd7cd}.marketing .marketing-features{grid-template-columns:1fr 1fr}.marketing-management{grid-template-columns:1fr;gap:50px}.management-copy{max-width:720px}.marketing-footer-inner{grid-template-columns:auto 1fr auto}.marketing-footer-inner nav{display:none}}
@media(max-width:760px){.marketing .marketing-nav{height:74px;padding:0 20px}.marketing .marketing-nav nav>a:not(.nav-cta){display:none}.marketing .nav-cta{padding:9px 12px;font-size:10px}.marketing .marketing-hero{min-height:0;grid-template-columns:1fr;padding:60px 22px 85px;gap:55px}.marketing .marketing-copy h1{font-size:clamp(48px,15vw,67px)}.marketing .marketing-copy>p{font-size:15px}.marketing .marketing-hero-actions{align-items:stretch;flex-direction:column}.marketing .marketing-hero-actions .button{width:100%}.marketing-hero-points{display:grid;gap:8px}.marketing-visual{padding:0 13px}.marketing .hero-phone{min-height:500px}.marketing .hero-phone strong{font-size:52px}.hero-floating-top{top:36px;right:-8px;width:190px}.hero-floating-bottom{left:-8px;bottom:35px}.marketing-proof{width:calc(100% - 44px);grid-template-columns:1fr;margin-bottom:85px}.marketing-proof article+article{border-left:0;border-top:1px solid #dcd7cd}.marketing-proof article:nth-child(-n+2){border-bottom:0}.marketing-capabilities{padding:0 22px 85px}.marketing-section-heading{text-align:left}.marketing-section-heading h2{font-size:48px}.marketing .marketing-features{grid-template-columns:1fr}.marketing .marketing-features article{min-height:0;padding:28px}.marketing-management,.marketing-steps,.marketing .marketing-price{padding:82px 22px}.management-copy h2{font-size:49px}.management-preview{padding:14px;border-width:4px;overflow:hidden}.management-stats{grid-template-columns:1fr 1fr}.management-filters{grid-template-columns:1fr}.management-list>div{grid-template-columns:1fr auto}.management-list small{grid-column:1}.management-list em{grid-column:2;grid-row:1/3}.marketing-steps>div{grid-template-columns:1fr}.marketing-steps article+article{border-left:1px solid #dcd5ca;border-top:0}.marketing .marketing-templates{padding:82px 22px}.marketing .marketing-price{grid-template-columns:1fr;gap:45px}.marketing .marketing-price h2{font-size:50px}.marketing .marketing-price ul{grid-template-columns:1fr}.marketing .marketing-price article{padding:30px}.marketing-final>div{padding:82px 22px}.marketing .marketing-final h2{font-size:49px}.marketing-final>div>div{align-items:stretch;flex-direction:column}.marketing-final>div>div>a:last-child{align-self:center}.marketing-footer-inner{padding:32px 22px;grid-template-columns:1fr;gap:12px}.marketing-footer-inner .logo{margin-bottom:8px}.marketing-footer-inner small{white-space:normal}}
@media(max-width:420px){.marketing .logo{font-size:13px}.marketing .marketing-copy h1,.marketing-section-heading h2,.management-copy h2,.marketing .marketing-price h2,.marketing .marketing-final h2{font-size:43px}.hero-floating-card{transform:scale(.9)}.hero-floating-top{right:-17px}.hero-floating-bottom{left:-17px}.management-preview>header strong{font-size:22px}}

/* Cumplearia 4.8 — selector global y estado de traducción */
.language-switcher{position:fixed;z-index:10020;right:18px;bottom:18px;display:flex;align-items:center;gap:9px;min-height:48px;padding:7px 10px;color:#263a30;background:rgba(255,255,255,.96);border:1px solid rgba(57,78,67,.2);border-radius:4px;box-shadow:0 12px 34px rgba(21,35,28,.18);backdrop-filter:blur(10px)}.language-switcher>span{width:28px;height:28px;display:grid;place-items:center;color:#fff;background:#365347;border-radius:50%;font-size:17px}.language-switcher label{display:grid;gap:1px}.language-switcher b{color:#7a817d;font-size:7px;line-height:1;text-transform:uppercase;letter-spacing:.1em}.language-switcher select{min-width:102px;padding:2px 23px 2px 0;color:#25392f;background:transparent;border:0;outline:0;font-size:10px;font-weight:800;cursor:pointer}.language-switcher small{position:absolute;right:10px;top:-20px;padding:4px 7px;color:#fff;background:#365347;border-radius:2px;font-size:7px;white-space:nowrap}.i18n-loading{position:fixed;z-index:10050;inset:0;display:grid;place-content:center;justify-items:center;gap:15px;color:#294538;background:#f8f6f1}.i18n-loading i{width:31px;height:31px;border:2px solid #d8d0c3;border-top-color:#8d6d45;border-radius:50%;animation:i18n-spin .75s linear infinite}.i18n-loading strong{font:600 20px var(--serif)}html.i18n-pending body>*:not(.i18n-loading){visibility:hidden}@keyframes i18n-spin{to{transform:rotate(360deg)}}
@media(max-width:700px){.language-switcher{right:10px;bottom:10px;min-height:43px;padding:5px 8px}.language-switcher>span{width:25px;height:25px}.language-switcher select{min-width:88px;font-size:9px}}
@media print{.language-switcher,.i18n-loading{display:none!important}}
.translation-settings{margin:8px 0 4px;padding:22px;border:1px solid #ddd8cf;background:#f8f6f1}.translation-settings legend{padding:0 8px;color:#294538;font:600 22px var(--serif)}.translation-settings .settings-check{display:flex!important;align-items:center;gap:9px;margin-bottom:17px;font-weight:700}.translation-settings .settings-check input{width:17px!important;height:17px!important;margin:0!important}.translation-settings .settings-note{margin:12px 0 0;padding:12px 14px;color:#56645c;background:#eaf0ec;border-left:3px solid #577363;font-size:10px;line-height:1.6}

/* Cumplearia 4.9 — identidad marfil, champán y ciruela */
.button.primary,.nav-cta{background:#65434e}.button.primary:hover{background:#4f333c}.button.light{color:#65434e}.marketing{color:#30272a;background:radial-gradient(circle at 88% 8%,rgba(196,157,148,.18),transparent 27%),#fcf9f6}.marketing .marketing-nav{background:rgba(252,249,246,.88);border-bottom-color:#eaded8;backdrop-filter:blur(12px)}.marketing .marketing-nav nav>a:not(.nav-cta){color:#675b5e}.marketing .marketing-nav nav>a:not(.nav-cta):after{background:#b58a58}.marketing .marketing-copy>span,.marketing-section-heading>span,.management-copy>span,.marketing-templates .showcase-heading span,.marketing-final>div>span{color:#ad7e55}.marketing .marketing-features article>i{background:#8b5d69}.marketing-proof{border-color:#dfd1cb}.marketing-proof article+article{border-color:#dfd1cb}.marketing-proof strong{color:#704a55}.marketing-management{color:#382c30;background:linear-gradient(135deg,#f3e6e0,#ead8d3)}.marketing-management:before{border-color:rgba(119,75,87,.12)}.management-copy>span{color:#9e6c4e}.management-copy>p{color:#6f6063}.management-copy li{border-color:rgba(91,59,68,.14)}.management-copy li:before{color:#a27053}.management-copy li span{color:#76676a}.management-copy>a{color:#65434e;border-color:#a27053}.management-preview{color:#392f32;background:#fbf8f5;border-color:rgba(255,255,255,.72);box-shadow:0 36px 85px rgba(91,55,65,.18)}.management-preview>header>span{color:#704d56;background:#ead8d2}.management-list em{color:#704a55;border-color:#b39199}.marketing-steps{background:#f3ebe6}.marketing-steps article{background:#fcf9f6;border-color:#dfd2cc}.marketing-steps article>b{background:#a97867}.marketing .marketing-templates{color:#30272a;background:#fcf9f6}.marketing .showcase-heading>p{color:#766b6d}.marketing .marketing-price{background:#efe2dc}.marketing .marketing-price article{background:#fffaf7;border-color:#dfcec7}.marketing .marketing-final{background:linear-gradient(135deg,#a97982,#bd9289)}.marketing .marketing-final h2{color:#fff}.marketing .marketing-footer{background:#fffaf7}.auth-side{background:linear-gradient(150deg,rgba(92,58,69,.86),rgba(54,38,44,.92)),url('/assets/birthday-detail.png') center/cover}.auth-side p{color:#eee3e5}.dashboard-page,.superadmin-page{background:#f6f1ee}.sidebar,.admin-sidebar{color:#eee3e6;background:#513641}.admin-sidebar>a:nth-last-child(-n+2){color:#d8c5ca}.dash-cover{background:linear-gradient(90deg,rgba(80,50,61,.9),rgba(80,50,61,.32)),url('/assets/birthday-hero.png') center 42%/cover}.template-heading,.media-heading{background:#76515d}.template-heading p,.media-heading p{color:#eee2e5}.template-card button,.upload-grid label{color:#65434e;border-color:#8f6a74}.copy-field button{background:#76515d}.next-steps li.done{color:#65434e}.next-steps li.done:before{border-color:#9d7480;background:#9d7480}.saved-pill{color:#704a55;background:#f0e1e4}.language-switcher{color:#513641;border-color:rgba(101,67,78,.2);box-shadow:0 12px 34px rgba(71,45,53,.17)}.language-switcher>span,.language-switcher small{background:#76515d}.language-switcher select{color:#513641}.i18n-loading{color:#65434e;background:#fcf9f6}.translation-settings legend{color:#65434e}.translation-settings .settings-note{color:#694d55;background:#f2e5e7;border-left-color:#9c7480}.admin-sidebar>span,.admin-section-head span{color:#b58a58}.admin-actions button,.admin-search button{color:#65434e;border-color:#a5818b}.admin-actions button.approve,.admin-search button{color:#fff;background:#76515d;border-color:#76515d}
body.marketing{color:#30272a;background:radial-gradient(circle at 88% 8%,rgba(196,157,148,.18),transparent 27%),#fcf9f6}.marketing .nav-cta{background:#65434e}.hero-floating-bottom b{color:#704a55}.template-demo-toolbar a:last-child{background:#76515d}.c3-nav.with-demo-toolbar{background:#513641}.showcase-meta>.showcase-full-link,.template-actions>a{color:#65434e;border-color:#a98a91}.template-actions .choose-template{color:#fff;background:#76515d;border-color:#76515d}.template-actions .choose-template:disabled{color:#80636b;background:#eee2e5;border-color:#e1ced3}.editor-v3 legend,.auth-couple-group legend{color:#65434e}.guest-report-actions button,.guest-report-actions a,.guest-detail-button,.guest-filters button{color:#65434e;border-color:#a5818b}.guest-report-actions a,.guest-dialog-close{color:#fff;background:#76515d}.guest-detail-dialog{color:#382e31;background:#f8f2ef;box-shadow:0 30px 100px rgba(64,39,47,.32)}.guest-detail-dialog::backdrop{background:rgba(48,31,37,.72)}.guest-dialog-head{background:#65434e}.guest-stat strong{color:#704a55}.guest-filters input:focus,.guest-filters select:focus{border-color:#a5818b;box-shadow:0 0 0 3px rgba(157,116,128,.12)}

/* Cumplearia 5.0 — previews y selector de aniversarios */
.mock-aniversario-eterno{color:#fff;background:#6d4654}.mock-aniversario-eterno .mock-photo{inset:7% 8% 31%;border-radius:190px 190px 5px 5px;filter:saturate(.72) sepia(.12);background-image:url('/assets/birthday-detail.png')}.mock-aniversario-eterno:before{content:"∞";position:absolute;z-index:2;right:4%;bottom:-6%;color:rgba(255,223,207,.16);font:600 135px var(--serif)}.mock-aniversario-eterno .mock-copy{justify-content:flex-end;padding-bottom:8%}.mock-aniversario-eterno .mock-names{flex-direction:row;gap:8px;margin:8px 0;font-style:italic;font-size:31px}.mock-aniversario-eterno .mock-names i{margin:0;color:#e7bda6}.mock-aniversario-eterno .mock-kicker{position:absolute;top:10%}.mock-aniversario-eterno .mock-date{color:#f0cbb7;font-weight:700}.mock-aniversario-eterno .mock-cta{display:none}.mock-bodas-plata{color:#292b2d;background:#e5e6e6}.mock-bodas-plata .mock-photo{left:42%;filter:grayscale(1) contrast(1.05);background-position:44% center}.mock-bodas-plata:before{content:attr(data-anniversary-years);position:absolute;z-index:2;left:5%;top:2%;color:rgba(75,79,82,.12);font:600 105px var(--serif)}.mock-bodas-plata .mock-frame{inset:5%;border:1px solid #9ca1a4}.mock-bodas-plata .mock-copy{right:50%;align-items:flex-start;text-align:left;padding:9%}.mock-bodas-plata .mock-names{align-items:flex-start;margin:13px 0;color:#292b2d;text-shadow:none}.mock-bodas-plata .mock-names i{margin-left:20px;color:#7c8184}.mock-bodas-plata .mock-kicker,.mock-bodas-plata .mock-date,.mock-bodas-plata .mock-place{color:#5e6265}.mock-bodas-plata .mock-cta{color:#292b2d}.mock-bodas-oro{background:#2b2119}.mock-bodas-oro .mock-photo{filter:sepia(.68) brightness(.58);background-position:50% center}.mock-bodas-oro:before{content:"";position:absolute;z-index:1;inset:0;background:linear-gradient(135deg,rgba(39,26,14,.18),rgba(31,21,12,.72))}.mock-bodas-oro .mock-frame{inset:6%;border:1px solid #d2aa62}.mock-bodas-oro .mock-frame:before,.mock-bodas-oro .mock-frame:after{content:"";position:absolute;top:5%;width:52px;height:52px;border:1px solid #d2aa62;border-radius:50%}.mock-bodas-oro .mock-frame:before{left:calc(50% - 36px)}.mock-bodas-oro .mock-frame:after{right:calc(50% - 36px)}.mock-bodas-oro .mock-kicker,.mock-bodas-oro .mock-date,.mock-bodas-oro .mock-place{color:#e1c17e}.mock-bodas-oro .mock-names i{color:#d8ac57}.mock-bodas-oro .mock-cta{border-color:#d2aa62}.anniversary-template-card .template-actions{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:end}.anniversary-template-card .template-actions form{display:grid;grid-template-columns:minmax(95px,1fr) auto;align-items:end;gap:8px}.anniversary-year-picker{display:grid;gap:4px;color:#705661;font-size:7px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.anniversary-year-picker input{width:100%;height:33px;padding:5px 7px;border:1px solid #cdb9bf;background:#fff;font-size:10px}.anniversary-editor-field{padding:13px;background:#f4e8eb;border-left:3px solid #9d7480}.anniversary-editor-field input{background:#fff!important}
@media(max-width:760px){.anniversary-template-card .template-actions{grid-template-columns:1fr}.anniversary-template-card .template-actions form{grid-template-columns:1fr auto}.anniversary-template-card .template-actions>a{justify-self:start}}

/* Cumplearia 5.2 — catálogo de plantillas completo y resistente a recortes */
.template-catalog-status{margin:-8px 0 18px;padding:13px 16px;display:flex;align-items:center;justify-content:space-between;gap:18px;color:#5c4750;background:#f2e6e8;border:1px solid #dfcdd1}.template-catalog-status strong{font-size:11px}.template-catalog-status span{color:#806e73;font-size:9px}.template-catalog-status.has-catalog-error{color:#7a3030;background:#fff0f0;border-color:#d8a2a2}.template-catalog-status.has-catalog-error span{color:#8a4646}.template-manager-grid{display:grid!important;grid-auto-flow:row;align-items:start;overflow:visible!important}.template-manager-grid>.template-card{min-width:0;display:flex!important;flex-direction:column;visibility:visible!important;opacity:1!important}.template-manager-grid .template-card-meta{flex:0 0 auto;display:flex!important;flex-direction:column}.template-manager-grid .template-actions{margin-top:auto}.template-manager-grid .wedding-mockup{height:clamp(340px,42vw,500px);min-height:0;aspect-ratio:auto}.template-manager-grid>.template-card.selected:before{display:none}.template-current{padding:8px 10px;color:#76515d;background:#f0e2e5;border:1px solid #d8bec5;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.05em}.template-manager-grid[data-template-count="21"]:empty:after{content:"No se ha podido cargar el catálogo de plantillas";padding:30px;display:block;color:#8a3e3e;background:#fff0f0;border:1px solid #d1a2a2}
.template-manager-grid>.template-card[hidden]{display:none!important;visibility:hidden!important}
@media(max-width:760px){.template-catalog-status{align-items:flex-start;flex-direction:column;gap:3px}.template-manager-grid{grid-template-columns:1fr!important}.template-manager-grid>.template-card{width:100%}.template-manager-grid .template-actions{align-items:stretch;flex-direction:column}.template-manager-grid .template-actions>a,.template-current{text-align:center}.template-manager-grid .template-actions form{width:100%}}

/* Cumplearia 5.3 — preparación de lanzamiento, PWA y formularios protegidos */
.rsvp-trap{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important;opacity:0!important;pointer-events:none!important}.logout-form,.admin-logout-form{margin:0}.logout-form button,.admin-logout-form button{padding:0;border:0;color:inherit;background:transparent;font:inherit;cursor:pointer}.user-menu .logout-form button{font-size:11px;color:#777}.admin-logout-form{padding:9px 12px}.admin-logout-form button{color:#d8c5ca;font-size:10px}.completion-head{display:flex;align-items:flex-start;justify-content:space-between;gap:15px}.completion-head small{display:block;margin-bottom:3px;color:#a07758;font-size:7px;font-weight:800;letter-spacing:.12em}.completion-head>strong{color:#76515d;font:600 31px var(--serif)}.completion-track{height:5px;margin:16px 0 7px;overflow:hidden;background:#eee8e5;border-radius:10px}.completion-track i{display:block;height:100%;max-width:100%;background:linear-gradient(90deg,#a97982,#d0a97d);border-radius:10px}.next-steps li a{display:block;color:inherit}.next-steps li:not(.done) a:hover{color:#76515d}
@media(max-width:1000px){.admin-sidebar>.admin-logout-form{margin-left:auto;white-space:nowrap}}

/* Cumplearia 1.0 — identidad luminosa para cumpleaños */
:root{--ink:#312638;--muted:#776d7d;--paper:#fff9f4;--line:#f0dfd3;--green:#8056a6;--sage:#69bfc1;--gold:#e38a59;--rose:#dc5f7f;--shadow:0 18px 55px rgba(87,56,104,.13)}
.marketing{background:linear-gradient(180deg,#fffaf5,#f8f5ff)}
.marketing-templates{background:linear-gradient(145deg,#67418b,#3d6f87)}
.marketing-final{background:linear-gradient(120deg,#dc6b76,#e69a5e 52%,#6a9fc0)}
.button.primary,.nav-cta{background:#8056a6}.button.primary:hover{background:#68438a}
.sidebar{background:linear-gradient(180deg,#65428a,#3f6880);color:#f7f0ff}
.template-heading,.media-heading{background:linear-gradient(120deg,#754b99,#4c8091)}
.auth-side{background:linear-gradient(150deg,rgba(91,53,123,.76),rgba(42,86,106,.72)),url('/assets/birthday-detail.png') center/cover}
.dash-cover{background:linear-gradient(90deg,rgba(66,38,86,.84),rgba(33,88,105,.28)),url('/assets/birthday-hero.png') center 42%/cover}
.hero-phone strong i{display:inline-grid;place-items:center;min-width:64px;height:64px;margin-top:12px;padding:0 12px;border-radius:50%;color:#fff;background:#e17872;font:700 32px var(--sans)}
.mock-names i{display:grid;place-items:center;min-width:42px;height:42px;margin:.3em auto 0;padding:0 9px;border-radius:50%;color:#fff!important;background:#df776d;font:700 16px var(--sans)!important;text-shadow:none}
.birthday-location-grid{max-width:700px;grid-template-columns:1fr}
@media(max-width:760px){.marketing-copy h1{font-size:48px}.hero-phone{min-height:460px}.birthday-location-grid{grid-template-columns:1fr}}

/* Cumplearia 1.2: una portada inequívocamente de cumpleaños */
.hero-phone,
.marketing .hero-phone{
  background-image:url('/assets/birthday-landing-v3.webp');
  background-position:center 43%;
}
.hero-phone:after{
  background:linear-gradient(180deg,rgba(30,16,25,.02),rgba(30,16,25,.72));
}
.dash-cover{
  background-image:linear-gradient(90deg,rgba(66,38,86,.88),rgba(33,88,105,.2)),url('/assets/birthday-landing-v3.webp');
  background-position:center 43%;
}
