:root{--cream:#f6f1e7;--paper:#fffdf8;--green:#23483b;--green2:#315c49;--orange:#c65e3f;--butter:#e9c779;--ink:#252b25;--muted:#686d63;--line:#ddd8cc;--serif:Georgia,'Times New Roman',serif;--sans:'Trebuchet MS',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font:16px/1.65 var(--sans)}a{color:inherit}button,input,select,textarea{font:inherit}.skip{position:absolute;top:-80px;left:10px;padding:10px;background:white;z-index:9}.skip:focus{top:10px}.top{height:78px;padding:0 max(calc((100vw - 1180px)/2),5vw);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #dcd6c9;background:#f6f1e7;position:relative;z-index:2}.brand{display:flex;align-items:center;gap:11px;text-decoration:none;font-weight:700;font-size:17px;letter-spacing:-.4px}.brand small{display:block;font-size:9px;letter-spacing:2px;color:var(--muted);font-weight:600}.brand-mark{width:38px;height:38px;border:1px solid var(--green);border-radius:50%;display:grid;place-items:center;font:700 16px var(--serif);color:var(--green);position:relative}.brand-mark span{color:var(--orange);font-size:11px;position:absolute;right:-2px;top:-3px}nav{display:flex;align-items:center;gap:32px;font-size:13px;font-weight:600}nav a{text-decoration:none}nav a:hover{color:var(--orange)}.nav-cta{background:var(--green);color:white;padding:12px 17px;border-radius:2px}.nav-cta:hover{color:white;background:var(--green2)}.nav-cta span{margin-left:8px}.menu-toggle{display:none}.hero{max-width:1180px;margin:0 auto;padding:72px 0 86px;display:grid;grid-template-columns:1fr 1fr;gap:45px;align-items:center;min-height:570px}.eyebrow{text-transform:uppercase;letter-spacing:2.5px;font-size:10px;font-weight:700;color:var(--orange);display:flex;gap:10px;align-items:center}.eyebrow:before{content:'';width:24px;height:1px;background:currentColor}.hero h1{font:500 clamp(44px,5.3vw,70px)/1.08 var(--serif);letter-spacing:-2.3px;color:var(--green);margin:22px 0}.hero h1 em{color:var(--orange);font-weight:500}.hero-copy{color:var(--muted);font-size:16px;max-width:440px}.actions{display:flex;gap:12px;margin-top:30px;align-items:center;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;background:var(--green);color:white;text-decoration:none;border:1px solid var(--green);padding:14px 20px;font-weight:600;font-size:13px;cursor:pointer;min-height:48px}.btn:hover{background:var(--green2)}.btn.secondary{background:transparent;color:var(--green)}.btn.secondary:hover{background:#ebe5d9}.micro{font-size:11px;color:var(--muted);margin-top:16px}.hero-art{position:relative;min-height:400px;background:#e9dfca;overflow:hidden}.hero-art img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover}.art-tag{position:absolute;bottom:22px;left:22px;background:var(--paper);padding:13px 17px;font:500 15px var(--serif);color:var(--green);box-shadow:0 6px 30px #3d33221c}.round-note{position:absolute;right:-17px;top:32px;width:84px;height:84px;border:1px solid #b97b58;border-radius:50%;display:grid;place-content:center;text-align:center;color:var(--orange);font:12px/1.25 var(--serif);transform:rotate(9deg);background:var(--cream)}.band{background:var(--green);color:var(--cream);padding:27px max(calc((100vw - 1180px)/2),5vw);display:flex;justify-content:space-between;align-items:center;gap:15px}.band strong{font:500 19px var(--serif)}.band span{font-size:12px;color:#d8dfd4}.band .divider{opacity:.35}.section{max-width:1180px;padding:100px 0;margin:auto}.section-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:36px;gap:30px}.section h2{font:500 clamp(34px,4vw,48px)/1.1 var(--serif);color:var(--green);letter-spacing:-1px;margin:13px 0}.section-head p{max-width:400px;color:var(--muted);margin:0 0 4px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.card{background:var(--paper);border:1px solid var(--line);text-decoration:none;display:flex;flex-direction:column;min-height:280px;transition:transform .2s,border-color .2s}.card:hover{transform:translateY(-3px);border-color:#9caa9c}.card-top{height:146px;background:#e7ddca;display:grid;place-items:center;position:relative;overflow:hidden}.card-top svg{width:140px;height:110px}.card-top .placeholder{position:absolute;bottom:8px;right:9px;color:#6e705f;font-size:9px;text-transform:uppercase;letter-spacing:1px}.card-copy{padding:21px 22px}.card h3{font:500 22px var(--serif);color:var(--green);margin:0 0 8px}.card p{font-size:13px;color:var(--muted);margin:0}.card .arrow{color:var(--orange);font-size:18px;margin-top:13px}.feature{background:#ebe5d8}.feature .section{display:grid;grid-template-columns:1fr 1fr;gap:65px;align-items:center}.feature-art{height:430px;background:#ddc69e;position:relative;overflow:hidden}.feature-art img{width:100%;height:100%;object-fit:cover}.feature-copy p{color:var(--muted);max-width:460px}.feature-list{list-style:none;padding:0;margin:24px 0}.feature-list li{border-top:1px solid #d4ccbd;padding:12px 0;font-size:13px;display:flex;gap:12px}.feature-list li:before{content:'✳';color:var(--orange)}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;margin-top:45px}.step{border-top:1px solid var(--green);padding-top:15px}.step b{color:var(--orange);font-size:11px;letter-spacing:1.5px}.step h3{font:500 23px var(--serif);color:var(--green);margin:10px 0}.step p{color:var(--muted);font-size:13px;margin:0}.faq{background:var(--paper)}details{padding:17px 0;border-bottom:1px solid var(--line)}summary{cursor:pointer;font-weight:600;color:var(--green)}details p{color:var(--muted);font-size:14px;max-width:760px}.cta{max-width:1180px;margin:90px auto;background:#e7d6b7;padding:50px 60px;display:flex;align-items:center;justify-content:space-between;gap:25px}.cta h2{font:500 38px/1.15 var(--serif);color:var(--green);margin:8px 0}.cta p{color:var(--muted);margin:0}footer{background:var(--green);color:#f6f1e7;padding:52px max(calc((100vw - 1180px)/2),5vw) 20px;display:grid;grid-template-columns:2fr 1.2fr 1fr;gap:30px}footer .brand{color:white}footer .brand small{color:#cbd4c7}footer p{font-size:12px;color:#d5ddd2;line-height:1.8}footer strong{font-size:12px}footer a:hover{color:var(--butter)}.copyright{grid-column:1/-1;border-top:1px solid #ffffff30;padding-top:14px;margin-top:15px;font-size:10px;color:#cad4c8;display:flex;justify-content:space-between}.page-head{background:#ebe5d8;padding:65px max(calc((100vw - 1000px)/2),5vw)}.page-head h1{font:500 clamp(39px,5vw,58px)/1.1 var(--serif);color:var(--green);margin:14px 0}.page-head p{max-width:640px;color:var(--muted)}.form-wrap{max-width:920px;margin:55px auto 100px;padding:0 20px}.form-panel{background:var(--paper);padding:36px;border:1px solid var(--line);margin-bottom:18px}.form-panel h2{font:500 25px var(--serif);color:var(--green);margin:0 0 8px}.form-panel>p{font-size:13px;color:var(--muted);margin-top:0}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:16px}.field{margin:13px 0}.field label{display:block;font-size:12px;font-weight:600;margin-bottom:6px}.field>input:not([type=checkbox]):not([type=radio]),.field>select,.field>textarea{width:100%;padding:12px;border:1px solid #c9c6bb;background-color:#fffefa;color:var(--ink);border-radius:0;box-sizing:border-box}.field>input:not([type=checkbox]):not([type=radio]),.field>select{height:50px}.field select{appearance:none;padding-right:42px;background-image:url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%2720%27 height=%2720%27 viewBox=%270 0 20 20%27 fill=%27none%27 stroke=%27%2323483b%27 stroke-width=%271.7%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27%3E%3Cpath d=%27m5 7.5 5 5 5-5%27/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 13px center}.field textarea{min-height:126px;resize:vertical}.field input[type=checkbox],.field input[type=radio]{width:18px;height:18px;flex:0 0 18px;margin:2px 0 0;accent-color:var(--green)}.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid #718c70;outline-offset:1px}.field small{display:block;color:var(--muted);font-size:10px;margin-top:4px}.checkgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.checkitem{border:1px solid var(--line);padding:12px}.checkitem label{display:flex;gap:10px;align-items:center;font-size:12px;min-width:0}.checkitem input[type=number]{width:76px;flex:0 0 76px;height:44px;padding:9px}.field:has(>input[type=checkbox]){display:flex;align-items:flex-start;gap:10px}.field:has(>input[type=checkbox]) span{flex:1;line-height:1.55}.pricebox{background:#eee9dd;padding:18px;display:flex;justify-content:space-between;gap:15px;align-items:center;margin:20px 0}.pricebox strong{font:500 24px var(--serif);color:var(--green)}.notice{padding:13px 16px;background:#f2e8d5;color:#5e533b;border-left:3px solid var(--butter);font-size:12px}.success{max-width:680px;margin:70px auto;padding:45px;background:var(--paper);text-align:center;border:1px solid var(--line)}.success h1{font:500 42px var(--serif);color:var(--green)}.ref{font:600 22px var(--serif);color:var(--orange)}.admin{max-width:1150px;margin:55px auto;padding:0 18px}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;background:var(--paper);font-size:12px}th,td{text-align:left;padding:12px;border-bottom:1px solid var(--line);vertical-align:top}th{background:#e9e3d7;color:var(--green)}.state{display:inline-block;background:#efe7d7;padding:4px 7px;font-size:10px}.admin-actions{display:flex;gap:8px;flex-wrap:wrap}.admin-actions select,.admin-actions button{padding:7px;border:1px solid var(--line);background:white;font-size:11px}.flash{padding:12px;background:#e1eddc;margin:14px 0}.error{background:#f5dfd8}.hide{position:absolute;left:-9999px}.small-link{font-size:12px;color:var(--green)}@media(max-width:900px){.top{padding:0 5%}.hero,.section,.feature .section{margin-left:5%;margin-right:5%}.section{padding:70px 0}.hero{padding:55px 0;gap:25px}.hero-art{min-height:340px}.feature .section{gap:35px}.cta{margin:65px 5%;padding:38px}}@media(max-width:650px){body{font-size:15px}.top{height:68px}.menu-toggle{display:block;border:1px solid var(--green);background:transparent;color:var(--green);padding:8px 12px;font-size:12px}nav{display:none;position:absolute;left:0;right:0;top:67px;padding:20px 5%;background:var(--cream);border-bottom:1px solid var(--line);align-items:stretch;gap:17px;flex-direction:column}nav.open{display:flex}.hero{display:flex;flex-direction:column;align-items:stretch;padding:46px 0 55px;gap:30px}.hero h1{font-size:49px;margin:17px 0}.hero-art{min-height:300px;margin-right:8px}.round-note{right:-9px}.band{flex-wrap:wrap;justify-content:center;text-align:center;padding:20px 5%;gap:7px 12px}.band .divider{display:none}.band span{width:100%}.section-head{display:block}.section-head p{margin-top:12px}.cards{grid-template-columns:1fr 1fr;gap:10px}.card{min-height:0}.card-top{height:110px}.card-copy{padding:14px}.card h3{font-size:18px}.card p{font-size:11px}.feature .section{display:flex;flex-direction:column-reverse;gap:28px}.feature-art{height:290px;width:100%}.steps{grid-template-columns:1fr;gap:23px}.cta{display:block;padding:30px 24px;margin:55px 5%}.cta .btn{margin-top:20px}.cta h2{font-size:32px}footer{grid-template-columns:1fr 1fr;padding:40px 5% 18px;gap:20px}.foot-brand{grid-column:1/-1}.copyright{font-size:9px;gap:15px}.page-head{padding:48px 6%}.form-wrap{margin:30px auto 70px;padding:0 12px}.form-panel{padding:22px 18px}.grid2{grid-template-columns:1fr;gap:0}.checkgrid{grid-template-columns:1fr}.success{margin:35px 14px;padding:30px 20px}.pricebox{align-items:flex-start;flex-direction:column}.admin{margin-top:30px}.table-wrap{margin:0 -10px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

/* Calendario propio y controles consistentes */
.date-picker{position:relative;width:100%}.date-input-row{display:flex;position:relative}.date-input-row input{width:100%;height:50px;padding:12px 52px 12px 12px!important;border:1px solid #c9c6bb;background:#fffefa;color:var(--ink);box-sizing:border-box;cursor:pointer}.calendar-toggle{position:absolute;right:0;top:0;width:50px;height:50px;border:0;background:transparent;color:var(--green);display:grid;place-items:center;cursor:pointer}.calendar-toggle svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.calendar-toggle:hover{background:#ebe5d8}.calendar-popover{position:absolute;z-index:5;top:calc(100% + 8px);left:0;width:min(330px,100%);padding:16px;background:var(--paper);border:1px solid var(--line);box-shadow:0 16px 38px #252b2520}.calendar-popover[hidden]{display:none}.calendar-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:13px;color:var(--green)}.calendar-heading strong{font:500 17px var(--serif);text-transform:capitalize}.calendar-heading button{border:1px solid var(--line);background:var(--cream);color:var(--green);width:32px;height:32px;font-size:21px;line-height:1;cursor:pointer}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;text-align:center}.calendar-weekdays{font-size:10px;font-weight:700;color:var(--muted);margin-bottom:5px}.calendar-days button{border:0;background:transparent;color:var(--ink);height:36px;width:100%;cursor:pointer;border-radius:50%;font-size:12px}.calendar-days button:hover:not(:disabled),.calendar-days button:focus-visible{background:#e8e1d2;outline:2px solid #b9c5b5}.calendar-days button:disabled{color:#c5c2b9;cursor:not-allowed}.calendar-days button.is-selected{background:var(--green);color:#fff}.calendar-days button.is-today:not(.is-selected){box-shadow:inset 0 0 0 1px var(--orange);color:var(--green);font-weight:700}.calendar-empty{height:36px}.calendar-help{font-size:10px;color:var(--muted);margin:12px 0 0;border-top:1px solid var(--line);padding-top:10px}.date-field{position:relative}.date-field .date-picker{margin:0}.consent-row{display:flex!important;align-items:flex-start!important;gap:10px!important}.consent-row>input[type=checkbox]{margin:2px 0 0!important;width:18px!important;height:18px!important;flex:0 0 18px!important}.consent-row>span{flex:1;min-width:0}

/* Mobile-first menu, form polish and subtle motion */
.menu-toggle svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;transition:transform .2s ease}.menu-toggle svg{overflow:visible}.menu-toggle .menu-line{transform-box:fill-box;transform-origin:center;transition:transform .2s ease,opacity .15s ease}.menu-toggle[aria-expanded=true] .menu-line-1{transform:translateY(5px) rotate(45deg)}.menu-toggle[aria-expanded=true] .menu-line-2{opacity:0}.menu-toggle[aria-expanded=true] .menu-line-3{transform:translateY(-5px) rotate(-45deg)}.menu-toggle{align-items:center;gap:8px}.menu-scrim{display:none}.reveal-item{transition:opacity .55s ease,transform .55s cubic-bezier(.2,.7,.2,1);transition-delay:var(--reveal-delay,0ms)}.reveal-item:not(.in-view){opacity:.01;transform:translateY(14px)}.reveal-item.in-view{opacity:1;transform:none}.hero>div:first-child{animation:rise-in .65s ease both}.hero-art{animation:soft-in .8s ease both}@keyframes rise-in{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes soft-in{from{opacity:.5;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:650px){.top{position:relative}.menu-toggle{min-height:44px;padding:8px 11px;border:1px solid var(--line);background:var(--paper)}nav{display:flex;visibility:hidden;opacity:0;pointer-events:none;transform:translateY(-9px);transition:opacity .2s ease,transform .2s ease,visibility .2s;z-index:3;max-height:calc(100vh - 78px);overflow:auto;box-shadow:0 16px 26px #252b2515}.top nav.open{visibility:visible;opacity:1;pointer-events:auto;transform:translateY(0)}.menu-scrim:not([hidden]){display:block;position:fixed;inset:68px 0 0;background:#19221d40;z-index:1}.top nav a{padding:10px 4px}.top nav .nav-cta{padding:14px 16px;text-align:center}.menu-open{overflow:hidden}.form-panel{padding:22px 18px}.form-panel h2{margin-bottom:6px}.field{margin:12px 0}.field label{line-height:1.45}.grid2{gap:0}.checkgrid{gap:8px}.checkitem{padding:10px}.checkitem label{font-size:13px}.checkitem input[type=number]{width:84px;flex-basis:84px}.form-panel .btn{width:100%}.consent-row{padding:0 2px}.calendar-popover{width:min(340px,calc(100vw - 52px))}.calendar-days button{height:40px}.hero-art,.feature-art{border-radius:2px}.card,.step{will-change:transform}.cta .btn{width:100%}.date-input-row input{height:52px!important}.calendar-toggle{height:52px}}
@media(prefers-reduced-motion:reduce){.reveal-item,.hero>div:first-child,.hero-art,.menu-toggle svg{animation:none!important;transition:none!important}.reveal-item:not(.in-view){opacity:1;transform:none}}

.card-action{display:inline-block;color:var(--orange);font-size:13px;font-weight:600;margin-top:13px}.local-copy{max-width:900px}.local-copy p,.local-category p{max-width:760px;color:var(--muted)}.local-category{max-width:900px}.wa-chat{position:fixed;right:18px;bottom:calc(18px + env(safe-area-inset-bottom));z-index:20;font-family:var(--sans)}.wa-launcher{display:flex;align-items:center;gap:10px;border:0;border-radius:999px;background:#1f7854;color:#fff;padding:13px 18px;font-weight:700;font-size:13px;box-shadow:0 8px 24px #1e392d38;cursor:pointer;transition:transform .18s,box-shadow .18s}.wa-launcher:hover{transform:translateY(-2px);box-shadow:0 12px 28px #1e392d45}.wa-launcher svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.wa-panel{position:absolute;right:0;bottom:calc(100% + 12px);width:min(340px,calc(100vw - 32px));background:var(--paper);border:1px solid var(--line);box-shadow:0 18px 48px #1e392d2e;transform-origin:bottom right;animation:wa-pop .2s ease both}.wa-panel[hidden]{display:none}.wa-panel-head{display:flex;align-items:center;gap:12px;padding:17px;background:var(--green);color:white}.wa-symbol,.wa-option-icon{width:37px;height:37px;border-radius:50%;display:grid;place-items:center;background:#2b8b61;color:#fff;font-weight:700}.wa-panel-head div{display:grid;gap:2px;flex:1}.wa-panel-head small{font-size:11px;color:#d6e6dc}.wa-close{border:0;background:transparent;color:#fff;font-size:25px;line-height:1;cursor:pointer;width:38px;height:38px}.wa-options{padding:8px 16px}.wa-option{display:flex;align-items:center;gap:11px;padding:13px 2px;text-decoration:none;color:var(--ink);border-bottom:1px solid var(--line)}.wa-option:last-child{border-bottom:0}.wa-option-icon{width:34px;height:34px;flex:0 0 34px}.wa-option>span:nth-child(2){display:grid;gap:2px;flex:1}.wa-option strong{font-size:12px;color:var(--green)}.wa-option small{font-size:11px;color:var(--muted)}.wa-option-mark{font-size:20px;color:var(--orange)}.wa-note{font-size:10px;color:var(--muted);padding:0 16px 13px;margin:0}@keyframes wa-pop{from{opacity:0;transform:translateY(8px) scale(.96)}to{opacity:1;transform:none}}@media(max-width:650px){.wa-chat{right:13px;bottom:calc(13px + env(safe-area-inset-bottom))}.wa-launcher{min-height:50px;padding:12px 15px}.wa-panel{bottom:calc(100% + 10px)}.local-copy{padding-top:56px;padding-bottom:56px}}@media(prefers-reduced-motion:reduce){.wa-launcher,.wa-panel{animation:none!important;transition:none!important}}

.back-top{position:fixed;right:21px;bottom:calc(83px + env(safe-area-inset-bottom));z-index:19;width:42px;height:42px;display:grid;place-items:center;border:1px solid #d8d1c2;border-radius:50%;background:var(--paper);color:var(--green);box-shadow:0 4px 14px #18291e20;transition:opacity .2s,transform .2s}.back-top[hidden]{display:none}.back-top:hover{transform:translateY(-2px);background:#eee8dc}.back-top svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.back-top:focus-visible{outline:3px solid var(--orange);outline-offset:3px}@media(max-width:650px){.back-top{right:18px;bottom:calc(76px + env(safe-area-inset-bottom));width:42px;height:42px}}

/* Footer hierarchy and smaller-screen flow */
footer{position:relative;overflow:hidden;isolation:isolate;grid-template-columns:minmax(250px,1.45fr) minmax(210px,1fr) minmax(150px,.72fr);gap:clamp(26px,5vw,64px);padding-top:60px;padding-bottom:22px}footer:before{content:"";position:absolute;inset:0 0 auto;height:3px;background:linear-gradient(90deg,var(--butter),#c87855 38%,#e9d7ad 72%,transparent);z-index:-1}footer:after{content:"";position:absolute;right:-55px;top:18px;width:260px;height:260px;border-radius:50%;background:radial-gradient(circle at center,#ffffff0b 0 1px,transparent 1.5px);background-size:13px 13px;opacity:.55;z-index:-1;pointer-events:none}.foot-brand .brand{font:600 18px var(--sans);letter-spacing:-.2px}.foot-brand .brand-mark{width:43px;height:43px;border-color:#d7dfd2;color:#f8f2e7;font-size:18px}.foot-brand>p{max-width:275px;margin-top:17px;font:500 15px/1.5 var(--serif);color:#e5e9df}footer>div:not(.copyright)>strong{display:inline-flex;align-items:center;gap:9px;text-transform:uppercase;font-size:10px;letter-spacing:1.55px;color:#f4dfb7}footer>div:not(.copyright)>strong:before{content:"";width:16px;height:1px;background:var(--orange)}footer>div:not(.copyright)>p{margin:15px 0 0;line-height:1.9}footer .footer-contacts{display:grid;justify-items:start;gap:7px;margin-top:13px}footer .footer-contacts a{display:inline-flex;align-items:center;padding:5px 9px;border:1px solid #ffffff35;color:#fffaf0;text-decoration:none;font-size:12px;line-height:1.4;transition:background .16s,border-color .16s}footer .footer-contacts a:hover{background:#ffffff14;border-color:#e8c98e}footer>div:nth-child(3)>p{line-height:2.15}footer>div:nth-child(3) a{text-decoration:none;color:#e6e9de}footer>div:nth-child(3) a:hover{color:var(--butter);text-decoration:underline;text-underline-offset:3px}.copyright{align-items:center;padding-top:17px;margin-top:9px;font-size:10px;letter-spacing:.2px}.copyright span{color:#d4ddcf}@media(max-width:650px){footer{grid-template-columns:1fr;padding:40px 6% 18px;gap:26px}.foot-brand{grid-column:auto}.foot-brand>p{margin-top:12px}footer>div:not(.copyright)>p{margin-top:9px}.copyright{margin-top:7px;padding-top:15px;flex-direction:column;align-items:flex-start;gap:6px}.footer-contacts{grid-template-columns:1fr 1fr;max-width:340px}.footer-contacts a{width:100%}}

.field select.select-occasion,.field select.select-cake,.field select.select-delivery{padding-left:42px;background-position:left 13px center,right 13px center;background-size:18px 18px,20px 20px}.field select.select-occasion{background-image:url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 24 24%27 fill=%27none%27 stroke=%27%23c65e3f%27 stroke-width=%271.6%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27%3E%3Cpath d=%27M12 3.5 14 9l5.5 2-5.5 2-2 5.5-2-5.5-5.5-2 5.5-2z%27/%3E%3C/svg%3E"),url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%2720%27 height=%2720%27 viewBox=%270 0 20 20%27 fill=%27none%27 stroke=%27%2323483b%27 stroke-width=%271.7%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27%3E%3Cpath d=%27m5 7.5 5 5 5-5%27/%3E%3C/svg%3E")}.field select.select-cake{background-image:url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 24 24%27 fill=%27none%27 stroke=%27%2323483b%27 stroke-width=%271.6%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27%3E%3Cpath d=%27M4 12h16v7H4zM3 10h18v3H3zM8 10V7a2 2 0 0 1 4 0v3m3-1a2 2 0 1 0-4 0%27/%3E%3C/svg%3E"),url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%2720%27 height=%2720%27 viewBox=%270 0 20 20%27 fill=%27none%27 stroke=%27%2323483b%27 stroke-width=%271.7%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27%3E%3Cpath d=%27m5 7.5 5 5 5-5%27/%3E%3C/svg%3E")}.field select.select-delivery{background-image:url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 24 24%27 fill=%27none%27 stroke=%27%23c65e3f%27 stroke-width=%271.6%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27%3E%3Cpath d=%27M3 7h12v11H3zM15 11h4l3 3v4h-7z%27/%3E%3Ccircle cx=%277%27 cy=%2718%27 r=%272%27/%3E%3Ccircle cx=%2718%27 cy=%2718%27 r=%272%27/%3E%3C/svg%3E"),url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%2720%27 height=%2720%27 viewBox=%270 0 20 20%27 fill=%27none%27 stroke=%27%2323483b%27 stroke-width=%271.7%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27%3E%3Cpath d=%27m5 7.5 5 5 5-5%27/%3E%3C/svg%3E")}

.cake-studio{display:grid;grid-template-columns:1fr 1fr;gap:22px;align-items:center;margin:22px 0 30px;padding:18px;background:#f1ecdf;border:1px solid var(--line)}.cake-studio-art{min-width:0}.cake-studio-art svg{display:block;width:100%;max-height:270px}.cake-studio-art>span{display:block;text-align:center;color:var(--muted);font-size:10px}.cake-studio-controls{display:grid;grid-template-columns:1fr;gap:0}.cake-studio-controls .field{margin:7px 0}.cake-studio-controls select{width:100%;min-height:46px;padding:10px;background-color:#fffefa;border:1px solid #c9c6bb}@media(max-width:650px){.cake-studio{grid-template-columns:1fr;gap:12px;padding:14px}.cake-studio-art svg{max-height:220px}.cake-studio-controls{grid-template-columns:1fr 1fr;gap:0 10px}.cake-studio-controls .field:first-child{grid-column:1/-1}}

/* v2 · tipografía, fotos y galería */
:root{--serif:'Fraunces',Georgia,'Times New Roman',serif;--sans:'DM Sans','Trebuchet MS',Arial,sans-serif;--rose:#e9b8b0;--shadow:0 18px 45px -22px #3d332266}
body{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
.hero h1 em{font-style:italic;color:var(--orange)}
.hero-art{border-radius:18px 18px 140px 18px;box-shadow:var(--shadow);min-height:520px}
.hero-art .art-tag{border-radius:10px}
.btn{border-radius:999px;padding:14px 24px;transition:background .2s,transform .2s,box-shadow .2s}
.btn:hover{transform:translateY(-1px);box-shadow:0 10px 24px -12px #23483b99}
.btn.secondary{border-radius:999px}
.nav-cta{border-radius:999px}
.card{border-radius:14px;overflow:hidden;box-shadow:0 1px 0 #0000}
.card:hover{box-shadow:var(--shadow)}
.card-top{height:200px}
.card-top.has-photo{background:#d9cbb2}
.card-top img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.card:hover .card-top img{transform:scale(1.05)}
.feature-art{border-radius:18px;box-shadow:var(--shadow)}
.feature-art img{object-position:center 60%}
.step{border-radius:14px}
details{border-radius:10px}
.center{text-align:center;margin-top:34px}
.g-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.g-grid-3{grid-template-columns:repeat(3,1fr);margin:28px 0}
.g-item{margin:0;position:relative;border-radius:14px;overflow:hidden;background:#e7ddca;aspect-ratio:4/5}
.g-item[hidden]{display:none}
.g-item a{display:block;width:100%;height:100%}
.g-item img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease,filter .3s}
.g-item a:hover img,.g-item a:focus-visible img{transform:scale(1.05);filter:saturate(1.08)}
.g-item figcaption{position:absolute;left:0;right:0;bottom:0;padding:34px 14px 12px;color:#fff;font-size:13px;font-weight:500;line-height:1.3;background:linear-gradient(transparent,#1d1a14cc);pointer-events:none}
.g-grid-full{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));grid-auto-flow:dense}
.g-grid-full .g-item:nth-child(7n+1){grid-row:span 2;aspect-ratio:auto}
.g-filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:26px}
.g-filter{border:1px solid var(--line);background:var(--paper);color:var(--ink);padding:9px 16px;border-radius:999px;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s}
.g-filter:hover{border-color:var(--green)}
.g-filter.is-active{background:var(--green);border-color:var(--green);color:#fff}
.inline-cta{margin:60px 0 0;border-radius:18px}
.lightbox{position:fixed;inset:0;z-index:50;background:#14120ef2;display:flex;align-items:center;justify-content:center;padding:4vh 4vw}
.lightbox[hidden]{display:none}
.lightbox figure{margin:0;max-width:min(1100px,100%);text-align:center}
.lightbox img{max-width:100%;max-height:82vh;border-radius:10px;object-fit:contain}
.lightbox figcaption{color:#f6f1e7;margin-top:12px;font:500 18px var(--serif)}
.lb-close,.lb-nav{position:absolute;background:#ffffff1a;color:#fff;border:0;width:48px;height:48px;border-radius:50%;font-size:28px;line-height:1;cursor:pointer}
.lb-close:hover,.lb-nav:hover{background:#ffffff33}
.lb-close{top:18px;right:18px}
.lb-prev{left:18px;top:50%;transform:translateY(-50%)}
.lb-next{right:18px;top:50%;transform:translateY(-50%)}
body.lb-open{overflow:hidden}
@media(max-width:900px){.g-grid{grid-template-columns:repeat(3,1fr)}.hero-art{min-height:420px}}
@media(max-width:650px){.g-grid,.g-grid-3{grid-template-columns:1fr 1fr;gap:10px}.g-grid-full{grid-template-columns:1fr 1fr}.g-grid-full .g-item:nth-child(7n+1){grid-row:auto;aspect-ratio:4/5}.g-item figcaption{font-size:11px;padding:26px 9px 8px}.card-top{height:130px}.hero-art{min-height:360px;border-radius:14px 14px 80px 14px}.lb-nav{top:auto;bottom:18px;transform:none}}

/* v3 · FAQ, footer y formulario */
.faq-wrap{background:var(--paper);border-block:1px solid var(--line)}
.faq-wrap .faq{background:none;display:grid;grid-template-columns:minmax(260px,.8fr) 1.4fr;gap:clamp(30px,6vw,80px);align-items:start}
.faq-intro{position:sticky;top:30px}.faq-intro p{color:var(--muted);margin:10px 0 24px}
.faq-list{display:grid;gap:12px}
.faq-list details{background:#fff;border:1px solid var(--line);border-radius:14px;padding:0;transition:border-color .2s,box-shadow .2s}
.faq-list details[open]{border-color:#b9c4b6;box-shadow:0 12px 30px -20px #23483b55}
.faq-list summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:20px 22px;font-size:16px}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary:after{content:'+';flex:0 0 30px;height:30px;border-radius:50%;display:grid;place-items:center;background:#f1ecdf;color:var(--orange);font-size:20px;transition:transform .25s}
.faq-list details[open] summary:after{transform:rotate(45deg)}
.faq-list details p{margin:0;padding:0 22px 20px;font-size:14.5px;line-height:1.7}
footer .footer-contacts{display:grid;gap:8px;margin:14px 0 12px}
.fc-row{display:flex;flex-wrap:wrap;gap:8px}
footer .footer-contacts a{border-radius:999px;padding:7px 14px;font-size:13px}
footer .footer-contacts a.fc-wa{background:#25d36622;border-color:#25d36677}
footer .footer-contacts a.fc-wa:hover{background:#25d36644}
footer>div:nth-child(3)>p{display:grid;gap:4px;line-height:1.6}
footer>div:nth-child(3)>p br{display:none}
.form-panel{border-radius:18px;padding:38px 40px}
.form-panel h2{font-size:28px}
.field>input:not([type=checkbox]):not([type=radio]),.field>select,.field>textarea,.cake-studio-controls select{border-radius:10px;border-color:#d4cfc2;transition:border-color .2s,box-shadow .2s}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--green);box-shadow:0 0 0 3px #23483b22}
.field small{font-size:11.5px}.field label small{display:inline;font-weight:400;color:var(--muted);margin-left:6px}
.cake-studio{grid-template-columns:1.05fr 1fr;gap:26px;padding:24px;border-radius:16px;background:linear-gradient(160deg,#f6f0e3,#efe6d3);align-items:start}
.cake-studio[hidden]{display:none}
.cake-studio-art{background:#fffdf8;border-radius:14px;padding:16px;border:1px solid var(--line);position:sticky;top:20px}
.cake-studio-art svg#cake-preview{max-height:300px}
.cake-layers{border-top:1px dashed var(--line);margin-top:10px;padding-top:12px;display:grid;grid-template-columns:150px 1fr;gap:6px 14px;align-items:center}
.cake-layers strong{grid-column:1/-1;font:500 15px var(--serif);color:var(--green)}
.cake-layers svg{width:150px}
#cake-summary{list-style:none;margin:0;padding:0;font-size:12.5px;display:grid;gap:5px}
#cake-summary span{display:block;font-size:10px;text-transform:uppercase;letter-spacing:1.2px;color:var(--orange);font-weight:700}
.studio-note{display:block;text-align:center;color:var(--muted);font-size:11px;margin-top:10px}
.cake-studio-controls{grid-template-columns:1fr 1fr;gap:0 12px}
.cake-studio-controls .field{margin:6px 0}.cake-studio-controls .field[hidden]{display:none}
.cake-studio-controls .field-wide,.cake-studio-controls .field:nth-child(2){grid-column:1/-1}
.cake-studio-controls input{width:100%;height:46px;padding:10px 12px;border:1px solid #d4cfc2;border-radius:10px;background:#fffefa}
.checkitem{border-radius:12px;background:#fff;padding:12px 14px}
.checkitem input[type=number]{border:1px solid #d4cfc2;border-radius:8px;text-align:center;font-weight:600}
.pricebox{border-radius:12px}
.notice{border-radius:10px}
@media(max-width:900px){.faq-wrap .faq{grid-template-columns:1fr}.faq-intro{position:static}}
@media(max-width:650px){.cake-studio{grid-template-columns:1fr;padding:14px}.cake-studio-art{position:static}.cake-layers{grid-template-columns:110px 1fr}.cake-layers svg{width:110px}.form-panel{padding:24px 18px}.faq-list summary{padding:16px;font-size:15px}.faq-list details p{padding:0 16px 16px}}
.card-top img{object-position:center 80%}
.cake-studio-controls{display:grid}.cake-studio-controls .field{min-width:0}.cake-studio-controls select{width:100%!important;font-size:14px;text-overflow:ellipsis}

/* v4 · experiencia tipo app en móvil */
.tabbar{display:none}
@media(max-width:650px){
 html{-webkit-tap-highlight-color:transparent}
 body{padding-bottom:calc(84px + env(safe-area-inset-bottom))}
 .top{position:sticky!important;top:0;height:60px;padding:0 16px;padding-top:env(safe-area-inset-top);background:#f6f1e7e6;-webkit-backdrop-filter:saturate(1.6) blur(14px);backdrop-filter:saturate(1.6) blur(14px);z-index:30}
 .brand-mark{width:34px;height:34px}
 .tabbar{display:grid;grid-template-columns:repeat(5,1fr);position:fixed;left:10px;right:10px;bottom:calc(10px + env(safe-area-inset-bottom));z-index:40;background:#fffdf8f2;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid var(--line);border-radius:22px;box-shadow:0 12px 34px -12px #23483b55;padding:6px 4px}
 .tabbar a,.tabbar button{display:flex;flex-direction:column;align-items:center;gap:2px;padding:6px 0;background:none;border:0;color:var(--muted);text-decoration:none;font:600 10.5px var(--sans);border-radius:14px;cursor:pointer;transition:transform .12s}
 .tabbar svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
 .tabbar .is-active{color:var(--green)}.tabbar .is-active svg{stroke-width:2.3}
 .tabbar a:active,.tabbar button:active{transform:scale(.93)}
 .tabbar .tab-main svg{width:48px;height:48px;margin-top:-24px;padding:11px;border-radius:50%;background:var(--green);stroke:#fff;stroke-width:2.4;box-shadow:0 8px 20px -6px #23483b99;border:3px solid #fffdf8}
 .tabbar .tab-main span{color:var(--green)}
 .tabbar .tab-wa{color:#1f9d55}
 .wa-launcher{display:none!important}
 .wa-chat{bottom:calc(94px + env(safe-area-inset-bottom))!important}
 .back-top{bottom:calc(94px + env(safe-area-inset-bottom))!important}
 .hero{padding-top:28px}
 .section{padding:54px 0}
 .cards{grid-template-columns:1fr!important;gap:12px}
 .card{flex-direction:row;min-height:120px}
 .card-top{height:auto!important;width:120px;flex:0 0 120px}
 .card-top svg{width:90px}
 .card-copy{padding:14px 16px;display:flex;flex-direction:column;justify-content:center}
 .card h3{font-size:18px;margin-bottom:4px}.card p{font-size:12.5px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.card-action{font-size:12px;margin-top:6px}
 .g-filters{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin:0 -5vw 18px;padding:0 5vw}.g-filters::-webkit-scrollbar{display:none}.g-filter{white-space:nowrap}
 .gallery-preview .g-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;margin:0 -5vw;padding:0 5vw 6px;scrollbar-width:none}.gallery-preview .g-grid::-webkit-scrollbar{display:none}
 .gallery-preview .g-item{flex:0 0 62%;scroll-snap-align:start}
 .form-panel .btn[type=submit]{position:sticky;bottom:calc(96px + env(safe-area-inset-bottom));z-index:5;box-shadow:0 10px 24px -10px #23483baa}
}
@media(display-mode:standalone){.top{padding-top:calc(env(safe-area-inset-top) + 4px)}}
@media(max-width:650px){nav.tabbar{top:auto!important;height:auto!important;width:auto!important;max-height:none!important;transform:none!important;opacity:1!important;visibility:visible!important;pointer-events:auto!important;overflow:visible!important;flex-direction:row;gap:0!important;margin:0!important;padding:6px 4px!important;font-size:inherit}nav.tabbar a{padding:6px 0!important;border:0!important;width:auto!important;font-size:10.5px!important;min-height:0!important}nav.tabbar a:after,nav.tabbar a:before{display:none!important}}

/* v5 · menú móvil */
@media(max-width:650px){
 .menu-toggle{display:inline-flex!important;width:44px;height:44px;min-height:44px!important;padding:0!important;justify-content:center;border-radius:50%!important;border:1px solid var(--line)!important;background:var(--paper)!important;box-shadow:0 4px 14px -8px #23483b55}
 .menu-toggle span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
 .menu-toggle svg{width:20px;height:20px}
 .menu-toggle[aria-expanded=true]{background:var(--green)!important;border-color:var(--green)!important;color:#fff}
 .top nav#nav{position:fixed!important;top:calc(68px + env(safe-area-inset-top))!important;left:12px!important;right:12px!important;bottom:auto!important;width:auto!important;height:auto!important;padding:10px!important;gap:2px!important;flex-direction:column;align-items:stretch;background:#fffdf8!important;border:1px solid var(--line)!important;border-radius:20px!important;box-shadow:0 24px 50px -20px #23483b66!important;transform:translateY(-8px) scale(.98);transform-origin:top right;transition:opacity .18s,transform .22s cubic-bezier(.2,.7,.2,1),visibility .18s;z-index:35}
 .top nav#nav.open{transform:none}
 .top nav#nav a:not(.nav-cta){display:flex;justify-content:space-between;align-items:center;padding:14px 14px!important;border:0!important;border-radius:12px;font-size:15px;font-weight:600;color:var(--green)}
 .top nav#nav a:not(.nav-cta):after{content:'›';font-size:22px;line-height:1;color:var(--orange)}
 .top nav#nav a:not(.nav-cta):active{background:#f1ecdf}
 .top nav#nav a+a:not(.nav-cta){border-top:1px solid #eee7d9!important;border-radius:0}
 .top nav#nav .nav-cta{margin-top:8px;padding:15px!important;text-align:center;justify-content:center;border-radius:14px!important;font-size:14px}
 .menu-scrim:not([hidden]){inset:0!important;background:#19221d33!important;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:29!important}
}
@media(max-width:650px){body.menu-open .top{z-index:36!important}}
@media(max-width:650px){body.menu-open .top{background:#f6f1e7!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}body.menu-open .menu-scrim{top:calc(60px + env(safe-area-inset-top))!important}}

/* v6 · confirmación por WhatsApp, reseñas, redes, admin */
.success{max-width:640px}
.success-actions{display:flex;flex-wrap:wrap;gap:10px;margin:22px 0}
.btn-wa{background:#1f9d55;border-color:#1f9d55;font-size:15px;padding:16px 26px}
.btn-wa:before{content:'';width:20px;height:20px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='1.8'%3E%3Cpath d='M20 11.5a8.3 8.3 0 0 1-12.4 7.2L4 20l1.3-3.6A8.4 8.4 0 1 1 20 11.5Z'/%3E%3C/svg%3E") center/contain no-repeat}
.btn-wa:hover{background:#178a48;border-color:#178a48}
.order-summary{background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:18px 20px;margin:8px 0 18px;text-align:left}
.order-summary strong{font:500 18px var(--serif);color:var(--green)}
.order-summary ul{margin:10px 0 0;padding-left:18px;font-size:14px;color:var(--muted);display:grid;gap:4px}
.success .ref{display:inline;font-weight:700;color:var(--green);letter-spacing:1px}
.reviews h2{max-width:640px}
.review-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;margin-top:26px}
.review{margin:0;background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:24px;display:flex;flex-direction:column;justify-content:space-between;gap:16px}
.review blockquote{margin:0;font:400 18px/1.5 var(--serif);color:var(--ink)}
.review figcaption{display:flex;flex-direction:column;font-size:13px}.review figcaption strong{color:var(--green)}.review figcaption span{color:var(--orange);font-size:12px}
.foot-social{display:flex;gap:8px;flex-wrap:wrap}
footer .foot-social a,footer .foot-map{display:inline-flex;padding:6px 13px;border:1px solid #ffffff35;border-radius:999px;text-decoration:none!important;font-size:12.5px}
footer .foot-social a:hover,footer .foot-map:hover{background:#ffffff14}
.admin-wa{display:inline-block;margin-top:6px;padding:4px 10px;border-radius:999px;background:#1f9d55;color:#fff!important;text-decoration:none;font-size:12px;font-weight:600}
.admin h3{font:500 20px var(--serif);color:var(--green);margin:26px 0 4px}
.admin .admin-actions{display:flex;flex-wrap:wrap;gap:8px}
.nav-mobile{display:none!important}
@media(max-width:650px){.top nav#nav .nav-dup{display:none!important}.top nav#nav .nav-mobile{display:flex!important}.success-actions .btn{width:100%}}

/* v7 · selector personalizado */
.dp{position:relative}
.dp-native{position:absolute!important;inset:0;width:100%!important;height:100%!important;opacity:0;pointer-events:none;z-index:-1}
.dp-btn{width:100%;min-height:50px;display:flex;align-items:center;gap:10px;padding:10px 14px;background:#fffefa;border:1px solid #d4cfc2;border-radius:10px;color:var(--ink);font:inherit;font-size:14.5px;text-align:left;cursor:pointer;transition:border-color .2s,box-shadow .2s}
.dp-btn:hover{border-color:#a9b4a6}
.dp-btn:focus-visible,.dp-btn[aria-expanded=true]{outline:none;border-color:var(--green);box-shadow:0 0 0 3px #23483b22}
.dp-btn.dp-invalid{border-color:#c0392b;box-shadow:0 0 0 3px #c0392b22}
.dp-text{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dp-text.is-placeholder{color:var(--muted)}
.dp-caret{width:18px;height:18px;flex:0 0 18px;fill:none;stroke:var(--green);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;transition:transform .2s}
.dp-btn[aria-expanded=true] .dp-caret{transform:rotate(180deg)}
.dp-ico{width:30px;height:30px;flex:0 0 30px;border-radius:50%;background:#f4ece0;display:grid;place-items:center}
.dp-ico svg{width:17px;height:17px;fill:none;stroke:var(--orange);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.dp-swatch{width:22px;height:22px;flex:0 0 22px;border-radius:50%;border:2px solid #fff;box-shadow:0 0 0 1px #0002}
.dp-list{position:absolute;left:0;right:0;top:calc(100% + 6px);z-index:45;background:#fffdf8;border:1px solid var(--line);border-radius:14px;box-shadow:0 22px 48px -18px #23483b55;padding:6px;max-height:320px;overflow:auto;animation:dp-in .16s ease}
.dp-list.dp-up{top:auto;bottom:calc(100% + 6px)}
.dp-head{display:none}
.dp-opts{display:grid;gap:2px}
.dp-opt{display:flex;align-items:center;gap:11px;width:100%;padding:10px 12px;border:0;border-radius:10px;background:none;font:inherit;font-size:14.5px;color:var(--ink);text-align:left;cursor:pointer}
.dp-opt>span:not(.dp-ico):not(.dp-swatch){flex:1}
.dp-opt:hover,.dp-opt:focus-visible{background:#f3eee3;outline:none}
.dp-opt[aria-selected=true]{background:#e8efe6;color:var(--green);font-weight:600}
.dp-check{width:18px;height:18px;flex:0 0 18px;fill:none;stroke:var(--green);stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;opacity:0}
.dp-opt[aria-selected=true] .dp-check{opacity:1}
.dp-backdrop{position:fixed;inset:0;z-index:60;background:#19221d55;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);animation:dp-fade .2s ease}
.dp-backdrop[hidden]{display:none}
@keyframes dp-in{from{opacity:0;transform:translateY(-4px)}}
@keyframes dp-fade{from{opacity:0}}
@keyframes dp-sheet{from{transform:translateY(100%)}}
@media(max-width:650px){
 .dp-list{position:fixed!important;left:0!important;right:0!important;top:auto!important;bottom:0!important;z-index:61;max-height:72vh;border-radius:22px 22px 0 0;padding:8px 10px calc(14px + env(safe-area-inset-bottom));animation:dp-sheet .26s cubic-bezier(.2,.8,.2,1)}
 .dp-list:before{content:'';display:block;width:40px;height:4px;border-radius:4px;background:#d9d2c3;margin:4px auto 8px}
 .dp-head{display:flex;align-items:center;justify-content:space-between;padding:4px 8px 10px;border-bottom:1px solid #eee7d9;margin-bottom:6px}
 .dp-head strong{font:500 19px var(--serif);color:var(--green)}
 .dp-x{width:34px;height:34px;border:0;border-radius:50%;background:#f1ecdf;font-size:22px;line-height:1;color:var(--green);cursor:pointer}
 .dp-opt{padding:14px 12px;font-size:16px}
 body.dp-open{overflow:hidden}
 body.dp-open .tabbar{visibility:hidden}
}
@media(prefers-reduced-motion:reduce){.dp-list,.dp-backdrop{animation:none}}

/* v8 · vista 3D */
.cake-3d{position:relative;border-radius:12px;overflow:hidden;background:radial-gradient(ellipse at 50% 35%,#fffaf1 0,#f3ebdc 70%);cursor:grab}
.cake-3d:active{cursor:grabbing}
.cake-3d canvas{display:block}
.cake-3d-hint{position:absolute;left:50%;bottom:10px;transform:translateX(-50%);background:#23483bcc;color:#fff;font-size:11px;font-weight:600;padding:5px 11px;border-radius:999px;pointer-events:none;transition:opacity .4s}
.cake-3d-hint.is-hidden{opacity:0}
.form-panel .notice+.btn[type=submit],.form-panel .btn[type=submit]{margin-top:22px}
@media(max-width:650px){.form-panel .btn[type=submit]{position:static!important;box-shadow:none;margin-top:22px}}
.checkgrid{grid-template-columns:repeat(3,minmax(0,1fr))!important}.checkitem{min-width:0}@media(max-width:650px){.checkgrid{grid-template-columns:1fr!important}}
.slice-3d{width:150px;border-radius:10px;background:radial-gradient(ellipse at 50% 40%,#fffaf1,#f1e8d8);overflow:hidden}.slice-3d canvas{display:block}@media(max-width:650px){.slice-3d{width:130px}}
/* v9 · vista 3D en móvil */
@media(max-width:650px){
 .cake-layers{grid-template-columns:1fr!important;justify-items:center;text-align:left}
 .cake-layers strong{justify-self:start}
 .slice-3d{width:min(260px,100%)!important}
 #cake-summary{grid-template-columns:1fr 1fr;gap:10px 16px;width:100%}
 .cake-studio-art{padding:12px}
}
.cake-3d-hint{top:10px;bottom:auto}
