:root{
  --green-950:#103b2a;
  --green-900:#174b35;
  --green-800:#1f6849;
  --green-700:#2f8058;
  --green-100:#e9f4ed;
  --green-50:#f4faf6;
  --cream:#f6f3eb;
  --paper:#fff;
  --text:#143426;
  --muted:#66776d;
  --border:#d9e5dd;
  --danger:#a73c3c;
  --danger-bg:#fff0ee;
  --warning:#b66718;
  --warning-bg:#fff5e9;
  --shadow:0 18px 45px rgba(22,65,46,.09);
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  color:var(--text);
  background:var(--cream);
  font-synthesis:none;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--cream)}
body{margin:0;min-height:100vh;background:linear-gradient(180deg,#f9f7f1 0,#f1f6f2 100%);color:var(--text)}
button,input,textarea,select{font:inherit}
button{cursor:pointer}
button:disabled{cursor:not-allowed;opacity:.56}
a{color:inherit}
.hidden{display:none!important}
.app-frame{width:min(100%,760px);min-height:100vh;margin:0 auto;background:#fbfcfa;position:relative;padding-bottom:94px;box-shadow:0 0 50px rgba(26,58,42,.06)}
.app-header{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 18px;background:rgba(251,252,250,.94);backdrop-filter:blur(18px);border-bottom:1px solid rgba(217,229,221,.9)}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;min-width:0}
.brand img{width:48px;height:48px;object-fit:contain;background:var(--green-900);border-radius:15px;padding:8px}
.brand span{display:flex;flex-direction:column;min-width:0}
.brand strong{font-family:Georgia,"Times New Roman",serif;font-size:1.07rem;line-height:1.05;color:var(--green-950);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.brand small{text-transform:uppercase;letter-spacing:.17em;color:var(--green-700);font-size:.64rem;margin-top:3px}
.install-button{border:1px solid var(--border);background:#fff;color:var(--green-900);padding:9px 12px;border-radius:12px;font-size:.82rem;font-weight:800}
main{padding:18px}
.view{display:none;animation:fade .2s ease}
.view.active{display:block}
@keyframes fade{from{opacity:.35;transform:translateY(3px)}to{opacity:1;transform:none}}
.hero-card{display:grid;grid-template-columns:1fr auto;gap:12px;background:linear-gradient(145deg,var(--green-900),#226846);color:#fff;padding:25px;border-radius:28px;box-shadow:var(--shadow);overflow:hidden;position:relative}
.hero-card:after{content:"";position:absolute;width:190px;height:190px;border:38px solid rgba(255,255,255,.06);border-radius:50%;right:-75px;bottom:-90px}
.hero-card h1{margin:4px 0 10px;font-size:clamp(1.7rem,6vw,2.45rem);line-height:1.04;letter-spacing:-.035em;max-width:520px}
.hero-card p{margin:0;line-height:1.55;color:rgba(255,255,255,.86)}
.hero-card .eyebrow{color:#cfe8da}
.hero-tree{font-size:4.7rem;align-self:end;filter:drop-shadow(0 7px 8px rgba(0,0,0,.16));z-index:1}
.eyebrow{margin:0 0 5px;text-transform:uppercase;letter-spacing:.15em;color:var(--green-700);font-size:.69rem;font-weight:900}
.home-actions{display:grid;gap:12px;margin-top:18px}
.home-action{display:grid;grid-template-columns:45px 1fr auto;align-items:center;gap:13px;width:100%;text-align:left;border:1px solid var(--border);background:#fff;color:var(--text);border-radius:20px;padding:15px 16px;box-shadow:0 8px 20px rgba(24,73,51,.04)}
.home-action.primary{background:var(--green-900);color:#fff;border-color:var(--green-900)}
.home-action.soft{background:var(--green-50)}
.home-action .action-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:13px;background:var(--green-100);color:var(--green-900);font-weight:900;font-size:1.16rem}
.home-action.primary .action-icon{background:rgba(255,255,255,.14);color:#fff}
.home-action span:nth-child(2){display:flex;flex-direction:column;gap:3px}
.home-action strong{font-size:1rem}
.home-action small{color:var(--muted);line-height:1.35}
.home-action.primary small{color:rgba(255,255,255,.75)}
.section-heading{display:flex;align-items:flex-end;justify-content:space-between;margin:3px 0 18px}
.section-heading h1{font-size:2rem;line-height:1;margin:0;letter-spacing:-.035em;color:var(--green-950)}
.segmented{display:grid;grid-template-columns:1fr 1fr;background:#edf3ef;padding:4px;border-radius:15px;margin-bottom:17px}
.segmented button{border:0;background:transparent;padding:11px;border-radius:11px;color:var(--muted);font-weight:800}
.segmented button.active{background:#fff;color:var(--green-900);box-shadow:0 4px 12px rgba(22,63,45,.09)}
.field{display:flex;flex-direction:column;gap:7px;margin-bottom:15px}
.field>span{font-size:.83rem;font-weight:800;color:var(--green-950)}
.field input,.field textarea,.field select{width:100%;border:1px solid var(--border);background:#fff;color:var(--text);border-radius:14px;padding:13px 14px;outline:none;transition:.16s}
.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--green-700);box-shadow:0 0 0 4px rgba(47,128,88,.10)}
.field textarea{resize:vertical;min-height:92px}
.input-shell{display:flex;width:100%;min-width:0;border:1px solid var(--border);background:#fff;border-radius:14px;padding:12px 14px}
.input-shell input[type=date],.input-shell input[type=time]{display:block;width:100%;min-width:0;border:0;background:transparent;padding:0;outline:0;color:var(--text)}
.date-field{margin-top:2px}
.availability-legend{display:flex;gap:16px;flex-wrap:wrap;font-size:.83rem;color:var(--muted);margin:4px 0 12px}
.availability-legend span{display:flex;align-items:center;gap:6px}
.dot{width:10px;height:10px;border-radius:50%;display:inline-block}
.dot.available{background:#73b877}.dot.occupied{background:#e3915d}.dot.closed{background:#b8c0bb}
.slot-list{display:grid;gap:9px}
.slot-card{display:flex;align-items:center;justify-content:space-between;gap:14px;border:1px solid var(--border);background:#fff;border-radius:16px;padding:14px 15px}
.slot-card>div{display:flex;flex-direction:column;gap:3px}
.slot-card strong{font-size:.96rem}
.slot-card small{color:var(--muted)}
.status-pill{border-radius:999px;padding:7px 10px;font-size:.76rem;font-weight:900;white-space:nowrap}
.status-pill.available{background:#e3f3e5;color:#26713f}
.status-pill.occupied{background:#fff0e6;color:#b65b25}
.status-pill.closed{background:#edf0ee;color:#68736d}
.slot-card.selectable{cursor:pointer;transition:.16s}
.slot-card.selectable:hover{border-color:#a9c9b5}
.slot-card.selectable.selected{border:2px solid var(--green-700);background:var(--green-50);padding:13px 14px}
.slot-card.disabled{opacity:.65}
.loading-card{border:1px dashed #c9d7ce;border-radius:16px;padding:22px;color:var(--muted);text-align:center;background:rgba(255,255,255,.65)}
.notice,.rule-card{border-radius:17px;padding:14px 15px;margin:14px 0;line-height:1.45}
.notice{background:var(--green-100);color:var(--green-950);border:1px solid #d3e8da}
.notice.warning{background:var(--warning-bg);border-color:#f3d8b6;color:#7a4818}
.notice.error{background:var(--danger-bg);border-color:#efc6c1;color:#862f2f}
.rule-card{background:#f0f6f1;border:1px solid var(--border)}
.rule-card strong{display:block;margin-bottom:4px}.rule-card p{margin:0;color:var(--muted)}
.primary-action,.secondary-action{border-radius:14px;padding:13px 17px;font-weight:900;text-decoration:none;text-align:center;border:1px solid transparent;display:inline-flex;align-items:center;justify-content:center;gap:8px}
.primary-action{background:var(--green-900);color:#fff;border-color:var(--green-900)}
.secondary-action{background:#fff;color:var(--green-900);border-color:var(--border)}
.primary-action.full,.secondary-action.full{width:100%}
.info-grid{display:grid;gap:11px}
.info-card{display:flex;gap:13px;align-items:flex-start;background:#fff;border:1px solid var(--border);border-radius:18px;padding:15px}
.info-card>span{width:42px;height:42px;display:grid;place-items:center;background:var(--green-50);border-radius:13px;font-size:1.2rem}
.info-card h2{font-size:1rem;margin:0 0 4px}.info-card p{margin:0;color:var(--muted);line-height:1.45}
.subheading{margin:23px 0 12px;font-size:1.15rem}
.menu-list{display:grid;gap:10px}
.menu-info{background:#fff;border:1px solid var(--border);border-radius:18px;padding:15px;display:grid;gap:8px}
.menu-info header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.menu-info h3{margin:0;font-size:1rem}.menu-info p{margin:0;color:var(--muted);font-size:.87rem}
.menu-prices{display:flex;gap:8px;flex-wrap:wrap}.price-chip{background:var(--green-50);border-radius:10px;padding:7px 9px;font-size:.76rem;color:var(--green-900);font-weight:800}
.contact-card{background:var(--green-900);color:#fff;border-radius:20px;padding:18px;margin-top:15px}.contact-card h2{margin:0 0 8px}.contact-card p{margin:3px 0;color:rgba(255,255,255,.82)}
.progress-steps{display:grid;grid-template-columns:auto 1fr auto 1fr auto;align-items:start;margin:3px 4px 23px}
.progress-steps span{width:36px;height:36px;border-radius:50%;background:#e8eeea;color:#75827a;display:grid;place-items:center;font-weight:900;position:relative}
.progress-steps span.active{background:var(--green-900);color:#fff}.progress-steps span.complete{background:var(--green-700);color:#fff}
.progress-steps span small{position:absolute;top:40px;color:var(--muted);font-weight:700;font-size:.68rem;white-space:nowrap}
.progress-steps i{height:2px;background:#dce5df;margin-top:17px}.progress-steps i.complete{background:var(--green-700)}
.booking-step{display:none}.booking-step.active{display:block;animation:fade .2s ease}
.form-grid{display:grid;gap:0}
.selectable-list{display:grid;gap:9px}
.menu-choice{border:1px solid var(--border);background:#fff;border-radius:16px;padding:13px;text-align:left;display:flex;justify-content:space-between;gap:10px;color:var(--text)}
.menu-choice div{display:flex;flex-direction:column;gap:3px}.menu-choice small{color:var(--muted)}
.menu-choice.selected{border:2px solid var(--green-700);background:var(--green-50);padding:12px}
.children-row{display:flex;align-items:center;justify-content:space-between;gap:14px;border:1px solid var(--border);background:#fff;border-radius:16px;padding:14px;margin-bottom:15px}
.children-row>div:first-child{display:flex;flex-direction:column;gap:3px}.children-row small{color:var(--muted)}
.stepper{display:grid;grid-template-columns:38px 40px 38px;align-items:center;text-align:center}.stepper button{height:38px;border:1px solid var(--border);background:var(--green-50);color:var(--green-900);border-radius:11px;font-size:1.2rem}.stepper strong{font-size:1.1rem}
.form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:16px}.form-actions.split{justify-content:space-between}.form-actions.split>*{flex:1}
.summary-card{border:1px solid var(--border);background:#fff;border-radius:20px;padding:18px;display:grid;gap:11px}
.summary-card h2{margin:0 0 4px;font-size:1.18rem}.summary-row{display:flex;justify-content:space-between;gap:18px;padding-bottom:9px;border-bottom:1px solid #edf1ee}.summary-row span{color:var(--muted)}.summary-row strong{text-align:right}
.summary-total{display:grid;grid-template-columns:1fr auto;gap:8px;background:var(--green-50);border-radius:14px;padding:14px}.summary-total strong{font-size:1.22rem}.summary-total small{grid-column:1/-1;color:var(--green-700)}
.consent-row{display:flex;gap:10px;align-items:flex-start;margin:15px 2px;color:var(--muted);font-size:.88rem;line-height:1.4}.consent-row input{margin-top:3px;accent-color:var(--green-800)}
.secure-note{text-align:center;color:var(--muted);font-size:.77rem;line-height:1.4;margin:13px 8px 0}
.honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.lookup-card{background:#fff;border:1px solid var(--border);border-radius:20px;padding:17px}
.reservation-result{background:#fff;border:1px solid var(--border);border-radius:20px;padding:18px;margin-top:15px}.reservation-result.confirmed{border-color:#abd2b8;background:#f7fcf8}.reservation-result h2{margin:0 0 8px}.reservation-result dl{display:grid;grid-template-columns:1fr auto;gap:9px 14px;margin:15px 0}.reservation-result dt{color:var(--muted)}.reservation-result dd{margin:0;text-align:right;font-weight:800}.reservation-reference{word-break:break-all;background:#eef4f0;border-radius:11px;padding:10px;font-size:.77rem;color:var(--muted)}
.bottom-nav{position:fixed;z-index:30;bottom:0;left:50%;transform:translateX(-50%);width:min(100%,760px);display:grid;grid-template-columns:repeat(4,1fr);background:rgba(255,255,255,.96);backdrop-filter:blur(18px);border-top:1px solid var(--border);padding:8px max(8px,env(safe-area-inset-right)) calc(8px + env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left))}
.bottom-nav button{border:0;background:transparent;color:#79847e;display:flex;flex-direction:column;align-items:center;gap:3px;padding:7px 3px;border-radius:12px}.bottom-nav button span{font-size:1.18rem}.bottom-nav button small{font-size:.68rem;font-weight:800}.bottom-nav button.active{color:var(--green-800);background:var(--green-50)}
.toast{position:fixed;z-index:60;left:50%;bottom:100px;transform:translate(-50%,18px);width:min(calc(100% - 32px),560px);background:#173b2c;color:#fff;padding:13px 15px;border-radius:14px;opacity:0;pointer-events:none;transition:.2s;text-align:center;box-shadow:var(--shadow)}
.toast.show{opacity:1;transform:translate(-50%,0)}.toast.error{background:#8f3434}
.standalone-page{display:grid;place-items:center;padding:20px;min-height:100vh}.result-card{width:min(100%,500px);background:#fff;border:1px solid var(--border);border-radius:27px;padding:28px;text-align:center;box-shadow:var(--shadow)}.result-logo{width:74px;height:74px;background:var(--green-900);padding:12px;border-radius:21px}.result-card h1{margin:18px 0 8px}.result-card p{color:var(--muted);line-height:1.5}.result-spinner{width:54px;height:54px;border:5px solid var(--green-100);border-top-color:var(--green-700);border-radius:50%;margin:22px auto 0;animation:spin 1s linear infinite}.result-spinner.success{animation:none;border:0;background:var(--green-100);position:relative}.result-spinner.success:after{content:"✓";position:absolute;inset:0;display:grid;place-items:center;color:var(--green-700);font-size:1.8rem;font-weight:900}@keyframes spin{to{transform:rotate(360deg)}}.result-icon{width:54px;height:54px;border-radius:50%;display:grid;place-items:center;margin:22px auto 0;font-size:1.6rem;font-weight:900}.result-icon.warning{background:var(--warning-bg);color:var(--warning)}.result-details{display:grid;gap:6px;background:var(--green-50);border-radius:15px;padding:14px;margin:16px 0;text-align:left}.result-details span,.result-details small{color:var(--muted)}
@media(min-width:620px){main{padding:25px}.home-actions{grid-template-columns:1fr 1fr}.form-grid{grid-template-columns:1fr 1fr;column-gap:12px}.info-grid{grid-template-columns:1fr 1fr}.info-card:last-child{grid-column:1/-1}.hero-card{padding:32px}.hero-tree{font-size:6rem}}
@media(max-width:430px){.hero-tree{font-size:3.5rem}.hero-card{padding:21px}.hero-card h1{font-size:1.7rem}.app-header{padding:11px 14px}.brand img{width:43px;height:43px}.brand strong{font-size:1rem}.install-button{font-size:.72rem;padding:8px 9px}main{padding:15px}.slot-card{padding:13px}.status-pill{padding:6px 8px}.children-row{align-items:flex-start;flex-direction:column}.stepper{align-self:flex-end}}

/* v0.8.0 · Agenda pública + reservas */
.section-intro{margin:7px 0 0;color:var(--muted);line-height:1.5;font-size:.9rem}
.agenda-heading{margin-bottom:14px}
.calendar-card{background:#fff;border:1px solid var(--border);border-radius:22px;padding:15px;box-shadow:0 10px 28px rgba(22,65,46,.05)}
.calendar-toolbar{display:grid;grid-template-columns:42px 1fr 42px;align-items:center;gap:8px;margin-bottom:12px;text-align:center}
.calendar-toolbar strong{font-family:Georgia,"Times New Roman",serif;font-size:1.12rem;color:var(--green-950)}
.calendar-nav{width:42px;height:42px;border:1px solid var(--border);border-radius:13px;background:var(--green-50);color:var(--green-900);font-size:1.6rem;line-height:1}
.calendar-weekdays,.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}
.calendar-weekdays{margin:0 0 6px;color:var(--muted);font-size:.72rem;font-weight:900;text-align:center}
.calendar-weekdays span{padding:4px 0}
.calendar-grid.loading-card{display:block;min-height:210px;padding-top:88px}
.calendar-grid.notice{display:block}
.calendar-empty{aspect-ratio:1/1}
.calendar-day{position:relative;aspect-ratio:1/1;border:1px solid var(--border);border-radius:13px;background:#fff;color:var(--text);padding:6px;display:flex;align-items:flex-start;justify-content:flex-start;min-width:0}
.calendar-day:hover:not(:disabled){border-color:#9fc5ad;background:var(--green-50)}
.calendar-day.selected{border:2px solid var(--green-700);background:var(--green-50);padding:5px}
.calendar-day.past{opacity:.38;background:#f3f4f2}
.calendar-number{font-size:.82rem;font-weight:900;line-height:1}
.calendar-cake{position:absolute;right:4px;top:3px;font-size:.88rem;line-height:1}
.calendar-status{position:absolute;left:50%;bottom:6px;transform:translateX(-50%);width:8px;height:8px;border-radius:50%;background:#a4aea8}
.calendar-status.available,.legend-dot.available{background:#3d9a5d}
.calendar-status.partial,.legend-dot.partial{background:#e59b38}
.calendar-status.blocked,.legend-dot.blocked{background:#c74a45}
.calendar-status.closed,.calendar-status.unconfigured{background:#a4aea8}
.calendar-legend{display:flex;gap:9px 13px;flex-wrap:wrap;margin-top:13px;padding-top:12px;border-top:1px solid #edf1ee;color:var(--muted);font-size:.72rem}
.calendar-legend span{display:flex;align-items:center;gap:5px}
.legend-dot{width:8px;height:8px;border-radius:50%;display:inline-block;background:#a4aea8}
.agenda-day-card{margin-top:16px;background:#fff;border:1px solid var(--border);border-radius:22px;padding:16px}
.agenda-day-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}
.agenda-day-header h2{font-size:1.1rem;margin:2px 0 0;text-transform:none}
.primary-action.compact{padding:10px 12px;font-size:.78rem;white-space:nowrap}
.agenda-subheading{font-size:.92rem;margin:16px 0 8px;color:var(--green-950)}
.booking-info-block{margin-bottom:25px}
.booking-info-title h2{margin:2px 0 12px;font-size:1.25rem}
.bottom-nav{grid-template-columns:repeat(2,1fr)}
.install-help{position:fixed;inset:0;z-index:100;background:rgba(15,43,30,.5);display:grid;align-items:end;padding:16px}
.install-help.hidden{display:none!important}
.install-sheet{width:min(100%,520px);margin:0 auto;background:#fff;border-radius:24px;padding:21px;box-shadow:0 25px 70px rgba(0,0,0,.2)}
.install-sheet h2{margin:0 0 7px;color:var(--green-950);font-size:1.2rem}.install-sheet p{margin:0;color:var(--muted)}
.install-sheet ol{margin:16px 0 18px;padding-left:24px;display:grid;gap:9px;color:var(--text)}
@media(max-width:430px){
  .calendar-card{padding:12px}.calendar-weekdays,.calendar-grid{gap:4px}.calendar-day{border-radius:10px;padding:5px}.calendar-day.selected{padding:4px}.calendar-cake{font-size:.72rem;right:3px;top:3px}.calendar-status{bottom:5px;width:7px;height:7px}.agenda-day-header{align-items:flex-start;flex-direction:column}.primary-action.compact{width:100%}
}


/* v1.0.0 cartoon hosting pack */
:root{
  --bg:#f8f6e8;
  --card:#fffdf6;
  --green-950:#165123;
  --green-900:#1c6a2b;
  --green-800:#238233;
  --green-700:#2d9c3f;
  --green-100:#edf8e8;
  --green-50:#f7fbf1;
  --yellow-100:#fff4c6;
  --border:#e7e2c8;
  --text:#27402f;
  --muted:#6c7569;
  --shadow:0 18px 45px rgba(44,91,45,.10);
  --radius-xl:28px;
}
html,body{background:linear-gradient(180deg,#b6edff 0%,#dff8ff 22%,#f8f6e8 22%,#f8f6e8 100%)}
body.cartoon-body{min-height:100vh;color:var(--text)}
.site-wrap{position:relative;max-width:1440px;margin:0 auto;padding:24px 16px 110px}
.decor{position:fixed;pointer-events:none;z-index:0;filter:blur(1px)}
.decor-left{left:-30px;bottom:-20px;width:180px;height:180px;background:radial-gradient(circle at 35% 35%,#ffdf62 0 12px,transparent 13px),radial-gradient(circle at 50% 50%,#ff8b8b 0 7px,transparent 8px),radial-gradient(circle at 70% 40%,#7acb54 0 16px,transparent 17px),radial-gradient(circle at 20% 70%,#7acb54 0 16px,transparent 17px)}
.decor-right{right:-30px;top:-10px;width:220px;height:220px;background:radial-gradient(circle at 50% 50%,#7acb54 0 18px,transparent 19px),radial-gradient(circle at 72% 40%,#ffffff 0 8px,transparent 9px),radial-gradient(circle at 30% 40%,#ffffff 0 8px,transparent 9px),radial-gradient(circle at 50% 28%,#ffffff 0 8px,transparent 9px)}
.cartoon-frame{position:relative;z-index:1;max-width:1280px;margin:0 auto;background:rgba(255,253,246,.96);border:1px solid #efe9d1;border-radius:34px;box-shadow:0 28px 80px rgba(52,84,39,.14);overflow:hidden}
.cartoon-header{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:22px 28px;border-bottom:1px solid rgba(231,226,200,.8);background:linear-gradient(180deg,#fffef9,#fffaf0)}
.cartoon-brand{display:flex;align-items:center;gap:14px;min-width:0;color:var(--green-950);text-decoration:none}
.cartoon-brand img{width:74px;height:74px;object-fit:contain;flex:0 0 auto}
.cartoon-brand strong{font-size:clamp(1.3rem,2vw,2rem);letter-spacing:.01em;text-transform:uppercase;color:var(--green-950);line-height:1.05}
.cartoon-brand small{font-size:1.05rem;letter-spacing:.22em;color:#5f4c38;text-transform:uppercase;margin-top:4px}
.top-nav{display:flex;align-items:center;gap:10px;flex:1;justify-content:center}
.top-nav button,.cartoon-bottom-nav button{border:0;background:transparent;color:#6b6f63;border-radius:16px;padding:10px 16px;display:flex;align-items:center;gap:9px;font-weight:800;cursor:pointer;transition:.18s}
.top-nav button span,.cartoon-bottom-nav button span{font-size:1.1rem}
.top-nav button small,.cartoon-bottom-nav button small{font-size:1rem;font-weight:800}
.top-nav button.active{background:#eef8e4;color:var(--green-950);box-shadow:inset 0 -3px 0 var(--green-800)}
.header-tools{display:flex;align-items:center;gap:10px}
.live-badge{display:inline-flex;align-items:center;gap:10px;background:#eef8e4;color:var(--green-950);padding:12px 18px;border-radius:999px;font-weight:800;white-space:nowrap;border:1px solid #dbeec8}
.live-badge i{width:10px;height:10px;border-radius:50%;background:#2eb24c;box-shadow:0 0 0 4px rgba(46,178,76,.15)}
.install-button{border:1px solid #d8e9d2;background:#fff;padding:10px 14px;border-radius:999px;font-weight:800;color:var(--green-950)}
.install-button.hidden{display:none!important}
main{padding:28px}
.view{display:none}
.view.active{display:block}
.hero-card{display:grid;grid-template-columns:1.1fr .95fr;gap:16px;align-items:stretch;margin-bottom:24px;background:linear-gradient(180deg,#fffef9 0%,#fffdf3 100%);border:1px solid var(--border);border-radius:var(--radius-xl);overflow:hidden;box-shadow:var(--shadow)}
.hero-copy{padding:34px 32px 28px}
.eyebrow{display:inline-flex;align-items:center;gap:8px;margin:0;padding:8px 14px;border-radius:999px;background:#eff8e2;color:var(--green-900);font-size:.78rem;text-transform:uppercase;letter-spacing:.12em;font-weight:900}
.eyebrow.warm{background:#fff0c9;color:#db7c09}
.hero-copy h1{margin:14px 0 10px;font-size:clamp(3rem,6vw,5.4rem);line-height:.92;color:#137126;letter-spacing:-.03em;text-shadow:0 3px 0 rgba(255,255,255,.55)}
.section-intro{font-size:1.1rem;max-width:42ch;color:#4f5e54;line-height:1.55}
.hero-badges{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}
.hero-badges span{padding:10px 14px;background:#fff;border:1px solid #efe6c4;border-radius:999px;font-weight:700;color:#51624f}
.hero-media{position:relative;min-height:300px;background:linear-gradient(180deg,#95e1ff 0%,#cff3ff 60%,#e4f5bf 60%,#d6f0a6 100%);overflow:hidden}
.hero-media img{position:absolute;left:50%;bottom:18px;transform:translateX(-50%);width:min(60%,340px);height:auto;filter:drop-shadow(0 14px 20px rgba(87,63,21,.18))}
.hero-sky{position:absolute;inset:0;background:radial-gradient(circle at 20% 18%,rgba(255,255,255,.75) 0 60px,transparent 61px),radial-gradient(circle at 70% 16%,rgba(255,255,255,.78) 0 78px,transparent 79px),radial-gradient(circle at 80% 80%,rgba(255,239,145,.45) 0 120px,transparent 121px)}
.hero-cloud{position:absolute;background:#fff;border-radius:999px;opacity:.9}
.cloud-a{width:92px;height:32px;left:11%;top:16%}
.cloud-a:before,.cloud-a:after,.cloud-b:before,.cloud-b:after{content:"";position:absolute;background:#fff;border-radius:50%}
.cloud-a:before{width:28px;height:28px;left:12px;top:-12px}.cloud-a:after{width:36px;height:36px;left:38px;top:-16px}
.cloud-b{width:74px;height:26px;right:15%;top:12%}.cloud-b:before{width:24px;height:24px;left:8px;top:-10px}.cloud-b:after{width:32px;height:32px;left:34px;top:-14px}
.hero-flower{position:absolute;width:22px;height:22px;border-radius:50%;background:#f0ff8a;box-shadow:0 0 0 5px #7ebd34}
.hero-flower:before,.hero-flower:after{content:"";position:absolute;inset:0;border-radius:50%;box-shadow:0 -18px 0 #ffffff,18px 0 0 #ffffff,-18px 0 0 #ffffff,0 18px 0 #ffffff}
.flower-a{top:14%;right:28%;transform:scale(.55)}
.flower-b{top:24%;right:15%;transform:scale(.65)}
.flower-c{top:31%;left:23%;transform:scale(.48)}
.hero-butterfly{position:absolute;left:13%;top:54%;font-size:1.7rem;filter:drop-shadow(0 3px 6px rgba(0,0,0,.12))}
.hero-butterfly.second{left:auto;right:19%;top:63%;font-size:1.45rem}
.agenda-layout{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(340px,.9fr);gap:24px;align-items:start}
.cartoon-card{background:linear-gradient(180deg,#fffef9 0%,#fffdf5 100%);border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow)}
.calendar-card{padding:20px}
.calendar-toolbar strong{font-family:inherit;font-size:2rem;color:var(--green-950);font-weight:900}
.calendar-nav{width:52px;height:52px;border:1px solid #eadf9d;border-radius:18px;background:#fff6cb;color:#6c7723;font-size:2rem;box-shadow:0 8px 18px rgba(196,182,88,.16)}
.calendar-weekdays{margin-bottom:10px;font-size:.88rem;color:#6f755f}
.calendar-grid{gap:8px}
.calendar-grid.loading-card{display:grid;place-items:center;min-height:340px;border:2px dashed #efe7c7;border-radius:24px;background:#fffef8;color:#83907f;font-size:1.2rem}
.calendar-day{aspect-ratio:1/1;border:1px solid #efe5c6;border-radius:20px;background:#fff;box-shadow:inset 0 -2px 0 rgba(244,237,205,.65);padding:10px}
.calendar-day:hover:not(:disabled){background:#f7fff0;border-color:#cce29b}
.calendar-day.selected{border:3px solid #2c8b36;background:linear-gradient(180deg,#2d8c35,#186b22);color:#fff;padding:8px;box-shadow:0 14px 24px rgba(37,119,45,.25)}
.calendar-day.past{opacity:.45}
.calendar-number{font-size:1.55rem;font-weight:900}
.calendar-day.selected .calendar-number{color:#fff}
.calendar-cake{font-size:1.25rem;top:auto;bottom:9px;left:50%;transform:translateX(-50%);right:auto}
.calendar-status{width:10px;height:10px;bottom:10px;left:12px;transform:none}
.calendar-legend{font-size:.9rem;margin-top:16px}
.legend-dot{width:10px;height:10px}
.side-card{padding:22px}
.agenda-day-header{align-items:flex-start}
.agenda-day-header h2{font-size:2rem;color:var(--green-950)}
.agenda-subheading{font-size:1.12rem;text-transform:uppercase;letter-spacing:.1em;color:#57704b}
.notice,.rule-card,.slot-card,.menu-info,.summary-card,.contact-card{border:1px solid var(--border);background:#fffef8;border-radius:20px;box-shadow:0 6px 16px rgba(68,76,33,.04)}
.notice{padding:14px 16px}
.notice.warning{background:#fff8dc;color:#7d5b08;border-color:#f0ddb2}
.notice.error{background:#fff0ef;color:#9d3f3d;border-color:#f1cdc8}
.notice.hidden{display:none!important}
.slot-list{display:grid;gap:12px}
.slot-card{padding:16px;display:flex;align-items:center;justify-content:space-between;gap:12px}
.slot-card div{display:flex;flex-direction:column;gap:4px;min-width:0}
.slot-card strong{font-size:1rem}.slot-card small{color:var(--muted)}
.slot-card.selectable{cursor:pointer;transition:.15s}
.slot-card.selectable:hover:not(.disabled){transform:translateY(-1px);border-color:#cbdc95;background:#fbfff2}
.slot-card.disabled{opacity:.55}
.status-pill{display:inline-flex;align-items:center;gap:8px;padding:10px 12px;border-radius:999px;font-weight:800;font-size:.85rem;white-space:nowrap}
.status-pill.available{background:#e9f9e9;color:#1f7a30}
.status-pill.partial{background:#fff5db;color:#ce8600}
.status-pill.blocked,.status-pill.occupied{background:#ffe9e8;color:#c23232}
.primary-action,.secondary-action{border:0;border-radius:18px;padding:15px 22px;font-weight:900;font-size:1rem;cursor:pointer;transition:.18s}
.primary-action{background:linear-gradient(180deg,#2a9c39,#1b7e2b);color:#fff;box-shadow:0 12px 22px rgba(36,124,46,.18)}
.primary-action:hover{transform:translateY(-1px)}
.primary-action.full{width:100%}
.primary-action.compact{padding:13px 16px;white-space:nowrap}
.secondary-action{background:#fff7d6;color:#796413;border:1px solid #eadb99}
.gentle-card{margin-top:16px;background:linear-gradient(180deg,#f6fbe8,#fbfff3)}
.rule-card{padding:16px 18px;margin-top:14px}
.rule-card p{margin:.45rem 0 0;color:#5c695d;line-height:1.5}
.cta-banner{margin-top:26px;padding:18px 22px;display:grid;grid-template-columns:auto 1fr auto;gap:18px;align-items:center;background:linear-gradient(180deg,#f7ffe7,#fffce9)}
.cta-character{font-size:4rem;line-height:1}
.cta-copy h2{margin:0 0 6px;color:var(--green-950);font-size:1.6rem}.cta-copy p{margin:0;color:#667060}
.reserve-hero .hero-copy h1{font-size:clamp(2.2rem,4vw,3.7rem)}
.hero-mini-illustration{display:grid;place-items:center;background:linear-gradient(180deg,#d1f4ff,#fff4c5)}
.hero-mini-illustration img{max-width:280px;width:60%;height:auto;filter:drop-shadow(0 10px 18px rgba(89,59,21,.18))}
.reserve-layout{display:grid;grid-template-columns:minmax(280px,.95fr) minmax(0,1.2fr);gap:24px;align-items:start}
.sticky-card{position:sticky;top:24px}
.booking-flow{padding:22px}
.menu-list,.selectable-list{display:grid;gap:14px}
.menu-info{padding:16px}.menu-info h3{margin:0 0 6px;color:var(--green-950)}.menu-info p{margin:0;color:var(--muted);line-height:1.5}.menu-prices{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}.price-chip{background:#eef8e4;border:1px solid #dce9bb;color:var(--green-950);border-radius:999px;padding:8px 12px;font-weight:800;font-size:.86rem}
.progress-steps{display:flex;align-items:center;gap:10px;margin-bottom:18px}
.progress-steps span{width:auto;min-width:70px;padding:12px 12px;background:#fff6cd;border:1px solid #eddc98;border-radius:18px;text-align:center;color:#6e6a2f;font-weight:900}
.progress-steps span.active{background:#ebf8e8;border-color:#cbe5be;color:var(--green-950)}
.progress-steps span small{display:block;margin-top:4px;font-size:.75rem}
.progress-steps i{flex:1;height:4px;border-radius:999px;background:#efe7c6}.progress-steps i.complete{background:#2b8b36}
.booking-step{display:none}.booking-step.active{display:block}
.field{display:grid;gap:8px;margin-bottom:15px}.field>span{font-weight:800;color:#55604d}
.field input,.field textarea,.input-shell input{width:100%;border:1px solid var(--border);background:#fff;padding:14px 15px;border-radius:16px;color:var(--text);font:inherit;box-shadow:inset 0 -2px 0 rgba(244,237,205,.5)}
.input-shell{display:block}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.menu-choice{border:1px solid var(--border);background:#fff;border-radius:18px;padding:15px 16px;text-align:left;display:flex;align-items:center;justify-content:space-between;gap:10px;color:var(--text);box-shadow:0 8px 18px rgba(68,76,33,.05)}
.menu-choice.selected{border:2px solid #2d8c35;background:#f6ffef;padding:14px 15px}
.menu-choice strong{display:block}.menu-choice small{color:var(--muted)}
.children-row{display:flex;align-items:center;justify-content:space-between;gap:16px;border:1px solid var(--border);background:#fff;border-radius:20px;padding:16px;margin-bottom:16px}
.stepper{display:grid;grid-template-columns:42px 44px 42px;gap:6px;align-items:center;text-align:center}
.stepper button{height:42px;border:1px solid #eadb99;background:#fff6cd;border-radius:14px;font-size:1.4rem;color:#7b6b1d}.stepper strong{font-size:1.2rem}
.form-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:18px}.form-actions.split>*{flex:1}
.summary-card{padding:18px}.summary-card h2{margin:0 0 10px;color:var(--green-950)}.summary-row{display:flex;justify-content:space-between;gap:16px;padding-bottom:11px;margin-bottom:11px;border-bottom:1px dashed #eadfbb}.summary-total{display:grid;grid-template-columns:1fr auto;gap:8px;background:#f1fbe8;border-radius:16px;padding:14px}.summary-total strong{font-size:1.3rem}.summary-total small{grid-column:1/-1;color:#527354}
.consent-row{display:flex;align-items:flex-start;gap:10px;margin:16px 0;color:#586459}.consent-row input{margin-top:3px;accent-color:#238233}
.secure-note{text-align:center;color:#6c7467;font-size:.85rem;line-height:1.45;margin-top:14px}
.contact-card{padding:16px}.contact-card h2{margin:0 0 8px;color:var(--green-950)}.contact-card p{margin:5px 0;color:#5a665a}
.hidden{display:none!important}
.honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.cartoon-bottom-nav{display:none}
.toast{position:fixed;z-index:60;left:50%;bottom:26px;transform:translate(-50%,18px);width:min(calc(100% - 32px),560px);background:#173b2c;color:#fff;padding:13px 15px;border-radius:16px;opacity:0;pointer-events:none;transition:.2s;text-align:center;box-shadow:var(--shadow)}
.toast.show{opacity:1;transform:translate(-50%,0)}.toast.error{background:#8f3434}
.install-help{position:fixed;inset:0;z-index:100;background:rgba(16,40,19,.55);display:grid;align-items:end;padding:18px}.install-help.hidden{display:none!important}
.install-sheet{width:min(100%,520px);margin:0 auto;background:#fffdf6;border-radius:28px;padding:22px;box-shadow:0 25px 70px rgba(0,0,0,.2)}
.install-sheet h2{margin:0 0 7px;color:var(--green-950);font-size:1.4rem}.install-sheet p{margin:0;color:#5f695d}.install-sheet ol{margin:16px 0 18px;padding-left:24px;display:grid;gap:10px;color:var(--text)}
@media (max-width:1100px){
  .cartoon-header{flex-wrap:wrap;justify-content:center}
  .top-nav{order:3;width:100%;justify-content:center}
  .hero-card,.agenda-layout,.reserve-layout{grid-template-columns:1fr}
  .sticky-card{position:static}
}
@media (max-width:760px){
  .site-wrap{padding:10px 10px 100px}
  .cartoon-frame{border-radius:24px}
  .cartoon-header{padding:16px 16px 12px}
  .cartoon-brand img{width:58px;height:58px}
  .cartoon-brand strong{font-size:1.25rem}.cartoon-brand small{font-size:.92rem;letter-spacing:.16em}
  .header-tools{width:100%;justify-content:space-between}
  main{padding:16px}
  .hero-copy{padding:24px 20px 18px}
  .hero-copy h1{font-size:clamp(2.4rem,13vw,4rem)}
  .hero-media{min-height:220px}
  .calendar-toolbar strong{font-size:1.7rem}
  .calendar-day{border-radius:14px;padding:7px}.calendar-number{font-size:1.2rem}.calendar-cake{font-size:1rem}
  .agenda-day-header{flex-direction:column;gap:12px}.primary-action.compact{width:100%}
  .cta-banner{grid-template-columns:1fr;text-align:center}.cta-character{display:none}
  .form-grid{grid-template-columns:1fr}
  .top-nav{display:none}
  .cartoon-bottom-nav{position:fixed;z-index:30;bottom:12px;left:50%;transform:translateX(-50%);width:min(calc(100% - 18px),520px);display:grid;grid-template-columns:repeat(2,1fr);gap:8px;padding:10px;background:rgba(255,254,249,.94);border:1px solid #efe7c6;border-radius:22px;box-shadow:0 14px 40px rgba(54,78,41,.18);backdrop-filter:blur(16px)}
  .cartoon-bottom-nav button{justify-content:center;background:transparent;padding:12px}.cartoon-bottom-nav button.active{background:#eef8e4;color:var(--green-950)}
}

.build-stamp{position:fixed;right:10px;bottom:10px;z-index:9999;padding:5px 8px;border-radius:999px;background:#173b2c;color:white;font:700 10px/1 system-ui;opacity:.55;pointer-events:none}


/* v1.0.4 · sincronización real + instalación mobile-first */
.install-banner{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;margin:18px 28px 0;padding:14px 16px;border:1px solid #d8ebc8;border-radius:22px;background:linear-gradient(135deg,#f0fae5,#fff9d9);box-shadow:0 10px 25px rgba(52,101,45,.08)}
.install-banner.hidden{display:none!important}
.install-banner-logo{width:58px;height:58px;object-fit:contain;background:#fff;border-radius:16px;padding:4px;box-shadow:0 5px 14px rgba(44,91,45,.10)}
.install-banner-copy strong{display:block;color:#165123;font-size:1.03rem}.install-banner-copy small{display:block;color:#677361;margin-top:3px;line-height:1.35}
.install-banner-button{border:0;border-radius:16px;padding:12px 16px;background:linear-gradient(180deg,#2a9c39,#1b7e2b);color:#fff;font-weight:900;white-space:nowrap;box-shadow:0 10px 20px rgba(36,124,46,.16)}
.agenda-sync-row{display:flex;justify-content:flex-end;align-items:center;margin:-4px 2px 12px;color:#6c7569;font-size:.78rem;font-weight:700}
.agenda-sync-row span{display:inline-flex;align-items:center;gap:7px;padding:7px 10px;border-radius:999px;background:#f4f8ed}
.agenda-sync-row span:before{content:"";width:8px;height:8px;border-radius:50%;background:#35a84b;box-shadow:0 0 0 3px rgba(53,168,75,.12)}
.agenda-sync-row span[data-state="loading"]:before{background:#e3a027;animation:agendaPulse .8s ease-in-out infinite alternate}.agenda-sync-row span[data-state="error"]:before{background:#c94b47}
@keyframes agendaPulse{to{transform:scale(1.35);opacity:.55}}
.build-stamp{position:fixed;right:6px;bottom:6px;z-index:200;font:700 9px/1 system-ui;color:rgba(20,70,35,.35);pointer-events:none}
@media(max-width:760px){
  .site-wrap{padding:0 0 94px;background:#fffdf6}
  .cartoon-frame{border-radius:0;border-left:0;border-right:0;box-shadow:none;min-height:100vh}
  .cartoon-header{position:sticky;top:0;z-index:25;background:rgba(255,254,249,.96);backdrop-filter:blur(16px);padding:10px 13px;border-radius:0}
  .cartoon-brand{gap:8px}.cartoon-brand img{width:48px;height:48px}.cartoon-brand strong{font-size:.98rem}.cartoon-brand small{font-size:.66rem;letter-spacing:.13em}
  .header-tools{width:auto;margin-left:auto}.header-tools .live-badge{display:none}.header-tools .install-button{display:none!important}
  .install-banner{margin:10px 10px 0;padding:11px 12px;grid-template-columns:48px 1fr;gap:10px;border-radius:18px}
  .install-banner-logo{width:48px;height:48px;border-radius:14px}.install-banner-button{grid-column:1/-1;width:100%;padding:12px 14px}
  .install-banner-copy strong{font-size:.94rem}.install-banner-copy small{font-size:.78rem}
  main{padding:10px}
  .hero-card{margin-bottom:12px;border-radius:22px}.hero-copy{padding:18px 16px 14px}.hero-copy h1{font-size:2.65rem;margin:8px 0 7px}.section-intro{font-size:.9rem;line-height:1.45}.hero-badges{display:none}.hero-media{min-height:145px}.hero-media img{width:min(52%,210px);bottom:8px}
  .agenda-layout{gap:12px}.calendar-card,.side-card{padding:12px;border-radius:22px}.calendar-toolbar{grid-template-columns:42px 1fr 42px;margin-bottom:8px}.calendar-toolbar strong{font-size:1.35rem}.calendar-nav{width:42px;height:42px;border-radius:14px}
  .agenda-sync-row{justify-content:center;margin:0 0 8px;font-size:.72rem}
  .calendar-weekdays{font-size:.62rem;gap:3px}.calendar-grid{gap:3px}.calendar-day{border-radius:11px;padding:5px;min-height:43px}.calendar-day.selected{padding:3px}.calendar-number{font-size:.94rem}.calendar-cake{font-size:.72rem;bottom:5px}.calendar-status{width:6px;height:6px;left:5px;bottom:5px}.calendar-legend{gap:7px 10px;font-size:.67rem}
  .agenda-day-header h2{font-size:1.35rem}.agenda-subheading{font-size:.78rem;margin:14px 0 7px}.slot-card{padding:12px;border-radius:16px}.status-pill{padding:7px 9px;font-size:.72rem}.primary-action.compact{font-size:.84rem}
  .cta-banner{display:none}
  .reserve-hero .hero-media,.hero-mini-illustration{display:none}.reserve-hero .hero-copy{padding-bottom:18px}.reserve-hero .hero-copy h1{font-size:2rem}
  .reserve-layout{gap:12px}.booking-info-block,.booking-flow{border-radius:22px}.booking-flow{padding:14px}.sticky-card{padding:14px}
  .progress-steps span{min-width:0;flex:0 0 62px;padding:9px 6px;border-radius:14px}.progress-steps i{min-width:10px}.field input,.field textarea,.input-shell input{font-size:16px}
}


/* v1.0.5 · mobile-first + server-first */
[hidden]{display:none!important}
.install-banner.hidden{display:none!important}
@media(max-width:760px){
  .site-wrap{padding:0 0 92px;background:#fffdf4}
  .cartoon-frame{border-radius:0;border-left:0;border-right:0;box-shadow:none;min-height:100vh}
  .cartoon-header{position:sticky;top:0;z-index:25;padding:10px 14px;background:rgba(255,254,248,.96);backdrop-filter:blur(12px)}
  .cartoon-brand{gap:8px;min-width:0;flex:1}.cartoon-brand img{width:48px;height:48px}.cartoon-brand strong{font-size:.96rem;line-height:1}.cartoon-brand small{font-size:.63rem;margin-top:2px}
  .header-tools{width:auto}.live-badge{padding:7px 9px;font-size:.68rem}.live-badge i{width:7px;height:7px}
  .install-button{display:none!important}
  main{padding:12px}
  .hero-card{margin-bottom:12px;border-radius:22px}.hero-copy{padding:18px 17px 10px}.hero-copy h1{font-size:2.45rem;margin:8px 0}.section-intro{font-size:.9rem;line-height:1.42}.hero-badges{display:none}.hero-media{min-height:128px}.hero-media img{width:135px;bottom:2px}
  .agenda-layout{gap:12px}.calendar-card,.side-card{border-radius:22px;padding:14px;box-shadow:0 8px 24px rgba(44,91,45,.08)}
  .calendar-toolbar{grid-template-columns:42px 1fr 42px;margin-bottom:4px}.calendar-toolbar strong{font-size:1.32rem}.calendar-nav{width:42px;height:42px;border-radius:14px}
  .agenda-sync-row{margin:2px 0 8px;font-size:.72rem}.calendar-weekdays{font-size:.62rem}.calendar-grid{gap:5px}.calendar-day{border-radius:13px;padding:6px}.calendar-number{font-size:1rem}.calendar-cake{font-size:.82rem;bottom:4px}.calendar-status{width:7px;height:7px;left:6px;bottom:6px}.calendar-legend{font-size:.68rem;gap:7px 10px}
  .agenda-day-header h2{font-size:1.3rem}.agenda-subheading{font-size:.82rem;margin-top:13px}.slot-card{padding:12px;border-radius:15px}.status-pill{padding:7px 9px;font-size:.72rem}.rule-card{padding:12px 14px;border-radius:16px}
  .cta-banner{display:none}
  .install-banner{position:relative;margin:8px 12px 0;border-radius:18px;padding:10px 11px;grid-template-columns:40px 1fr;gap:9px}.install-banner-logo{width:40px;height:40px}.install-banner-button{grid-column:1/-1;width:100%;padding:10px}.install-banner-copy strong{font-size:.85rem}.install-banner-copy small{font-size:.7rem}
}


/* v1.0.6 · navegación del calendario por servidor */
.calendar-nav{display:grid;place-items:center;text-decoration:none;-webkit-tap-highlight-color:transparent;touch-action:manipulation}
.calendar-nav.disabled{opacity:.35;pointer-events:none}
a.calendar-day{display:flex;text-decoration:none;-webkit-tap-highlight-color:transparent;touch-action:manipulation}
span.calendar-day{cursor:default}
a.calendar-day:active{transform:scale(.96)}
@media(max-width:760px){a.calendar-day{min-height:44px}.calendar-nav{min-width:48px;min-height:48px}}


/* v1.0.7 · Agenda pública simplificada */
.calendar-cake{display:none!important}
.calendar-cakes{position:absolute;left:50%;bottom:5px;transform:translateX(-50%);display:flex;align-items:center;justify-content:center;gap:1px;line-height:1;z-index:2;white-space:nowrap}
.calendar-cakes span{font-size:.72rem;filter:drop-shadow(0 1px 1px rgba(0,0,0,.08))}
.calendar-day.selected .calendar-cakes span{filter:none}
.play-summary{display:block}
.play-summary-card{display:flex;align-items:center;gap:14px;padding:16px;border:1px solid var(--border);border-radius:19px;background:#fff;box-shadow:0 7px 18px rgba(55,79,39,.05)}
.play-summary-card.available{background:linear-gradient(180deg,#f1fbe9,#fbfff7);border-color:#cfe7be}
.play-summary-card.blocked{background:linear-gradient(180deg,#fff2ef,#fff9f7);border-color:#efd2ca}
.play-summary-icon{width:42px;height:42px;border-radius:14px;display:grid;place-items:center;font-size:1.4rem;font-weight:1000;flex:0 0 auto}
.play-summary-card.available .play-summary-icon{background:#daf2cf;color:#1f7a30}
.play-summary-card.blocked .play-summary-icon{background:#ffe0da;color:#bf3e35}
.play-summary-card>div:last-child{display:flex;flex-direction:column;gap:3px;min-width:0}
.play-summary-card strong{font-size:1.05rem;color:var(--green-950)}
.play-summary-card small{color:var(--muted);line-height:1.35}
.birthday-turn-list .slot-card strong{font-size:1.02rem}
.cartoon-legend .legend-dot.partial{display:none}
@media(max-width:520px){
  .calendar-cakes{bottom:4px;gap:0}
  .calendar-cakes span{font-size:.62rem}
  .play-summary-card{padding:13px;border-radius:16px;gap:11px}
  .play-summary-icon{width:36px;height:36px;border-radius:12px;font-size:1.18rem}
  .play-summary-card strong{font-size:.96rem}
  .play-summary-card small{font-size:.75rem}
}


/* v1.0.8 · M/T sobre la tarta */
.calendar-cakes{left:auto;right:4px;bottom:6px;transform:none;display:flex;align-items:flex-end;justify-content:flex-end;gap:3px;white-space:nowrap}
.turn-cake{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;line-height:1;min-width:14px}
.turn-cake b{font-size:.58rem;font-weight:1000;color:#8d6b00;line-height:1;margin-bottom:1px;text-shadow:0 1px 0 rgba(255,255,255,.85)}
.turn-cake span:last-child{font-size:.96rem;line-height:1;filter:drop-shadow(0 1px 1px rgba(0,0,0,.10))}
.cake-only{font-size:.96rem;line-height:1;filter:drop-shadow(0 1px 1px rgba(0,0,0,.10))}
.calendar-day.selected .turn-cake b{color:#fff2b2;text-shadow:none}
.calendar-day.selected .turn-cake span:last-child,.calendar-day.selected .cake-only{filter:none}
@media(max-width:520px){
  .calendar-cakes{right:3px;bottom:4px;gap:1px}
  .turn-cake{min-width:12px}
  .turn-cake b{font-size:.5rem;margin-bottom:0}
  .turn-cake span:last-child,.cake-only{font-size:.82rem}
}


/* v1.0.9 · Tartas grandes + M/T integrada SOBRE cada tarta */
.calendar-cakes{
  left:auto;
  right:3px;
  bottom:4px;
  transform:none;
  display:flex;
  align-items:flex-end;
  justify-content:flex-end;
  gap:2px;
  z-index:3;
}
.turn-cake{
  position:relative;
  display:block;
  width:30px;
  height:30px;
  min-width:30px;
  line-height:1;
}
.turn-cake span:last-child{
  position:absolute;
  inset:auto 0 0 0;
  display:block;
  width:100%;
  text-align:center;
  font-size:1.48rem;
  line-height:1;
  filter:drop-shadow(0 2px 1px rgba(0,0,0,.12));
}
.turn-cake b{
  position:absolute;
  z-index:5;
  left:50%;
  top:13px;
  transform:translate(-50%,-50%);
  display:grid;
  place-items:center;
  width:15px;
  height:15px;
  margin:0;
  padding:0;
  border-radius:50%;
  background:#fff9ce;
  border:1px solid rgba(120,87,0,.16);
  color:#725500;
  font-size:.60rem;
  font-weight:1000;
  line-height:1;
  text-shadow:none;
  box-shadow:0 1px 2px rgba(0,0,0,.10);
}
.cake-only{
  display:block;
  font-size:1.48rem;
  line-height:1;
  filter:drop-shadow(0 2px 1px rgba(0,0,0,.12));
}
.calendar-day.selected .turn-cake b{
  background:#fff4a8;
  color:#614900;
  border-color:rgba(255,255,255,.55);
}
.calendar-day.selected .turn-cake span:last-child,
.calendar-day.selected .cake-only{
  filter:drop-shadow(0 1px 1px rgba(0,0,0,.16));
}
@media(max-width:520px){
  .calendar-cakes{right:2px;bottom:3px;gap:1px}
  .turn-cake{width:26px;height:27px;min-width:26px}
  .turn-cake span:last-child{font-size:1.30rem}
  .turn-cake b{top:12px;width:14px;height:14px;font-size:.55rem}
  .cake-only{font-size:1.30rem}
}
@media(max-width:380px){
  .turn-cake{width:24px;height:25px;min-width:24px}
  .turn-cake span:last-child{font-size:1.18rem}
  .turn-cake b{top:11px;width:13px;height:13px;font-size:.50rem}
  .cake-only{font-size:1.18rem}
}


/* v1.0.10 · Corrección específica: tarta sin M/T al mismo tamaño que las M/T */
.calendar-cakes .cake-only{
  display:block;
  font-size:1.48rem !important;
  line-height:1 !important;
  filter:drop-shadow(0 2px 1px rgba(0,0,0,.12));
}
@media(max-width:520px){
  .calendar-cakes .cake-only{font-size:1.30rem !important}
}
@media(max-width:380px){
  .calendar-cakes .cake-only{font-size:1.18rem !important}
}


/* v1.0.13 · Reservas mobile-first */
.reserve-title-mobile{padding:4px 2px 14px}.reserve-title-mobile h1{margin:10px 0 5px;color:var(--green-950);font-size:clamp(2rem,8vw,3.2rem);line-height:1}.reserve-title-mobile>p:last-child{margin:0;color:var(--muted);line-height:1.5;font-size:.98rem}
.birthday-pack{padding:20px;margin-bottom:18px}.menu-heading-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.menu-heading-row h2{margin:5px 0 0;font-size:1.65rem;color:var(--green-950)}
.whatsapp-button,.whatsapp-inline{display:inline-flex;align-items:center;justify-content:center;gap:7px;background:#25D366;color:#fff;text-decoration:none;border-radius:16px;font-weight:900;box-shadow:0 9px 18px rgba(37,211,102,.2)}.whatsapp-button{padding:12px 14px;white-space:nowrap}.whatsapp-inline{padding:10px 13px;margin-top:10px;font-size:.9rem}
.included-box{background:linear-gradient(180deg,#f4fbe9,#fffdf2);border:1px solid #dfeac6;border-radius:22px;padding:16px;margin-bottom:16px}.included-box h3{margin:0 0 12px;color:var(--green-950);font-size:1.08rem}.included-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.included-grid span{background:#fff;border:1px solid #ebe5ce;border-radius:13px;padding:9px 10px;font-size:.82rem;font-weight:800;color:#506051;line-height:1.25}.included-note{margin:12px 2px 0;color:#6a7467;font-size:.82rem;line-height:1.45}
.birthday-menu-card{padding:17px!important;overflow:hidden;position:relative}.birthday-menu-card header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:8px}.menu-kicker{display:block;color:#df8a12;font-size:.7rem;font-weight:1000;letter-spacing:.1em;margin-bottom:3px}.birthday-menu-card h3{margin:0!important;font-size:1.25rem!important}.menu-people{background:#eef8e4;border:1px solid #d8e8c3;color:#38743d;padding:7px 9px;border-radius:999px;font-size:.73rem;font-weight:900;white-space:nowrap}.birthday-menu-card>p{margin:0 0 13px!important}
.menu-price-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.menu-price-grid>div{background:#fff8d9;border:1px solid #efe0a9;border-radius:15px;padding:11px;display:flex;flex-direction:column;gap:4px}.menu-price-grid small{color:#756c45;font-size:.72rem;line-height:1.2}.menu-price-grid strong{font-size:1.35rem;color:var(--green-950)}.birthday-menu-card footer{display:flex;align-items:center;justify-content:space-between;margin-top:10px;padding-top:10px;border-top:1px dashed #e8dfc3;color:#677063;font-size:.83rem}.birthday-menu-card footer strong{color:#d9790b;font-size:1rem}
.extra-child-banner,.deposit-banner{display:flex;align-items:center;gap:12px;border-radius:20px;padding:15px;margin-top:14px}.extra-child-banner{background:#fff4c9;border:1px solid #eedb95}.extra-child-banner>div{display:flex;flex-direction:column;gap:2px;flex:1}.extra-child-banner>div span{color:#746b4e;font-size:.78rem}.extra-child-banner>b{font-size:1.45rem;color:#d97809}.extra-child-banner>small{color:#756b47;max-width:70px;line-height:1.1}
.deposit-banner{background:linear-gradient(180deg,#e9f9e7,#f6fff2);border:1px solid #c9e5bf}.deposit-icon{width:42px;height:42px;border-radius:14px;background:#2a9239;color:#fff;display:grid;place-items:center;font-size:1.35rem;font-weight:1000;flex:0 0 auto}.deposit-banner>div{display:flex;flex-direction:column;gap:3px}.deposit-banner strong{color:var(--green-950);font-size:1.05rem}.deposit-banner span{color:#61705f;font-size:.8rem;line-height:1.35}
.reserve-layout-new{margin-top:0}.compact-rules-card{padding:17px}.compact-rules-card>h3{margin:0;color:var(--green-950)}.observations-field{background:#fffaf0;border:1px solid #eadfbd;border-radius:19px;padding:13px;margin-top:5px}.observations-field textarea{background:#fff!important;min-height:112px;resize:vertical}.observations-field>small{color:#8a8d80;font-size:.74rem}
@media(max-width:760px){.birthday-pack{padding:14px;border-radius:22px}.menu-heading-row{align-items:flex-start}.menu-heading-row h2{font-size:1.45rem}.whatsapp-button{padding:10px 11px;border-radius:14px;font-size:.82rem}.included-grid{grid-template-columns:1fr 1fr;gap:6px}.included-grid span{padding:8px;font-size:.74rem;border-radius:11px}.included-note{font-size:.75rem}.birthday-menu-card{padding:14px!important;border-radius:17px!important}.birthday-menu-card h3{font-size:1.08rem!important}.menu-price-grid>div{padding:9px}.menu-price-grid strong{font-size:1.2rem}.menu-price-grid small{font-size:.67rem}.extra-child-banner{display:grid;grid-template-columns:1fr auto;gap:4px 10px}.extra-child-banner>div{grid-row:1/3}.extra-child-banner>small{max-width:none}.deposit-banner{padding:13px}.reserve-rules-column{order:2}.reserve-column:has(.booking-flow){order:1}.compact-rules-card{margin-top:0}}
@media(max-width:390px){.included-grid{grid-template-columns:1fr}.menu-heading-row{flex-direction:column}.whatsapp-button{width:100%}}


/* v1.0.14 · navegación servidor mobile-first */
.top-nav a,.cartoon-bottom-nav a{border:0;background:transparent;color:#6b6f63;border-radius:16px;padding:10px 16px;display:flex;align-items:center;gap:9px;font-weight:800;cursor:pointer;transition:.18s;text-decoration:none}
.top-nav a span,.cartoon-bottom-nav a span{font-size:1.1rem}.top-nav a small,.cartoon-bottom-nav a small{font-size:1rem;font-weight:800}
.top-nav a.active{background:#eef8e4;color:var(--green-950);box-shadow:inset 0 -3px 0 var(--green-800)}
.action-link{display:inline-flex;align-items:center;justify-content:center;text-decoration:none}
@media(max-width:760px){.cartoon-bottom-nav a{justify-content:center;background:transparent;padding:12px}.cartoon-bottom-nav a.active{background:#eef8e4;color:var(--green-950)}}


/* v1.0.15 · Reservas server-first + estética coherente con Agenda */
.header-whatsapp-link{background:#25D366!important;color:#fff!important;box-shadow:0 8px 18px rgba(37,211,102,.18)!important}.header-whatsapp-link:hover{background:#20bd5a!important}.header-whatsapp-link small{color:inherit!important}
.reserve-page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;margin:2px 2px 16px}.reserve-page-head h1{margin:9px 0 4px;font-size:2.35rem;line-height:1;color:var(--green-950)}.reserve-page-head p:last-child{margin:0;color:var(--muted);font-size:.95rem}.reserve-whatsapp-top{display:inline-flex;align-items:center;gap:7px;background:#25D366;color:#fff;text-decoration:none;padding:11px 14px;border-radius:16px;font-weight:900;box-shadow:0 9px 18px rgba(37,211,102,.20);white-space:nowrap}.reserve-whatsapp-top span{font-size:1.15rem}
.reserve-info-card,.reserve-menus-card,.server-booking-flow{padding:16px;margin-bottom:14px;border-radius:22px}.reserve-section-title{display:flex;align-items:center;gap:11px;margin-bottom:13px}.reserve-title-icon{width:42px;height:42px;border-radius:14px;background:#fff4c9;display:grid;place-items:center;font-size:1.35rem;box-shadow:inset 0 0 0 1px #eddba4}.reserve-section-title span{display:block;font-size:.69rem;text-transform:uppercase;letter-spacing:.10em;font-weight:900;color:#d9820d;margin-bottom:2px}.reserve-section-title h2{margin:0;color:var(--green-950);font-size:1.35rem}
.reserve-included-grid{grid-template-columns:repeat(3,1fr)}.reserve-menu-list{gap:10px}.reserve-menu-card{padding:14px!important;border-radius:18px!important}.reserve-menu-name{display:flex;align-items:center;gap:9px}.reserve-menu-icon{width:36px;height:36px;border-radius:12px;background:#fff4cb;display:grid;place-items:center;font-size:1.2rem}.reserve-menu-name small{display:block;color:#d77d09;font-size:.64rem;font-weight:1000;letter-spacing:.08em}.reserve-menu-name h3{font-size:1.05rem!important}.reserve-menu-card>p{font-size:.8rem!important}.reserve-menu-card .menu-price-grid>div{padding:9px 10px}.reserve-menu-card .menu-price-grid strong{font-size:1.15rem}.reserve-menu-card footer{font-size:.78rem}.reserve-menu-card footer strong{font-size:.95rem}
.server-booking-flow{margin-top:18px}.server-stepper{display:grid;grid-template-columns:auto 1fr auto 1fr auto;align-items:center;gap:7px;margin:0 0 20px}.server-stepper span{display:flex;flex-direction:column;align-items:center;gap:3px;color:#8a8e80}.server-stepper span b{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#fff5cc;border:1px solid #ebdca3;color:#776b2a}.server-stepper span small{font-size:.68rem;font-weight:800}.server-stepper span.active b{background:#288c38;border-color:#288c38;color:#fff;box-shadow:0 6px 14px rgba(40,140,56,.18)}.server-stepper span.active{color:var(--green-950)}.server-stepper span.done b{background:#e6f6df;border-color:#c8e2bd;color:#2b7d35}.server-stepper i{height:3px;border-radius:999px;background:#eee4bd}.server-stepper i.done{background:#8fc879}
.server-step-head{display:flex;align-items:flex-start;gap:12px;margin-bottom:15px}.server-step-head>span{width:38px;height:38px;border-radius:13px;background:#eaf8e4;color:#237b31;display:grid;place-items:center;font-weight:1000;flex:0 0 auto}.server-step-head h2{margin:0 0 4px;color:var(--green-950);font-size:1.35rem}.server-step-head p{margin:0;color:var(--muted);font-size:.85rem;line-height:1.4}
.server-date-form,.server-slot-form,.server-details-form,.server-checkout-form{display:grid;gap:12px}.server-check-button{margin-top:-4px}.availability-rule{padding:12px 13px;border-radius:16px;background:#f6fbe9;border:1px solid #dce8c4;color:#5b6953;font-size:.8rem;line-height:1.4;margin:14px 0 12px}.server-slot-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-bottom:3px}.server-slot{position:relative;border:1px solid #e8e1c6;background:#fff;border-radius:17px;padding:12px;display:flex;flex-direction:column;gap:3px;cursor:pointer;min-height:94px}.server-slot input{position:absolute;right:10px;top:10px;accent-color:#2a8d38}.server-slot-time{font-size:1rem;font-weight:900;color:var(--green-950)}.server-slot small{color:var(--muted);font-size:.74rem}.server-slot b{margin-top:auto;font-size:.75rem;color:#258039}.server-slot:has(input:checked){background:#f1fbe9;border:2px solid #42a24d;padding:11px}.server-slot.disabled{opacity:.48;background:#f4f2eb;cursor:not-allowed}.server-slot.disabled b{color:#b65a53}
.server-menu-picker{border:0;padding:0;margin:5px 0 2px;display:grid;gap:8px}.server-menu-picker legend{font-weight:900;color:#55634f;margin-bottom:8px}.server-menu-option{border:1px solid #e7dfc3;background:#fff;border-radius:17px;padding:12px;display:flex;align-items:center;gap:10px;cursor:pointer}.server-menu-option input{accent-color:#2b9138;flex:0 0 auto}.server-menu-option span{display:flex;flex-direction:column;gap:2px}.server-menu-option b{color:var(--green-950)}.server-menu-option small{color:var(--muted)}.server-menu-option:has(input:checked){background:#f2fae9;border:2px solid #53a65c;padding:11px}
.children-field input{max-width:120px}.children-field small{color:var(--muted);font-size:.75rem}.server-form-actions{display:grid;grid-template-columns:.8fr 1.2fr;gap:9px;margin-top:4px}.server-form-actions .action-link{width:100%}.server-form-actions button:disabled{opacity:.45;cursor:not-allowed}.reserve-error{margin-bottom:14px}
.server-summary{display:grid;gap:0;border:1px solid #e7dfc3;border-radius:19px;overflow:hidden;background:#fff}.server-summary>div{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:12px 14px;border-bottom:1px solid #efe9d4}.server-summary>div:last-child{border-bottom:0}.server-summary span{color:var(--muted);font-size:.82rem}.server-summary b{text-align:right;color:var(--green-950)}.server-summary-total{background:#f7fbe9}.server-summary-total b{font-size:1.15rem}.server-summary-pay{background:#eaf8e6}.server-summary-pay b{font-size:1.3rem;color:#217b31}.server-checkout-form{margin-top:14px}
@media(max-width:760px){
 .top-nav .header-whatsapp-link{display:none}
 .reserve-page-head{align-items:center}.reserve-page-head h1{font-size:2rem}.reserve-page-head>div{min-width:0}.reserve-whatsapp-top{padding:10px 11px;border-radius:14px;font-size:.78rem}.reserve-whatsapp-top b{display:none}.reserve-whatsapp-top span{font-size:1.3rem}
 .reserve-info-card,.reserve-menus-card,.server-booking-flow{padding:13px;border-radius:20px}.reserve-included-grid{grid-template-columns:1fr 1fr;gap:6px}.reserve-included-grid span{padding:8px;font-size:.72rem}.reserve-section-title h2{font-size:1.2rem}.reserve-title-icon{width:38px;height:38px}
 .reserve-menu-card{padding:12px!important}.reserve-menu-card header{margin-bottom:6px}.reserve-menu-icon{width:32px;height:32px;font-size:1.05rem}.reserve-menu-card .menu-price-grid{gap:6px}.reserve-menu-card .menu-price-grid>div{padding:8px}.reserve-menu-card .menu-price-grid small{font-size:.63rem}.reserve-menu-card .menu-price-grid strong{font-size:1.05rem}.deposit-banner{margin-top:10px}
 .server-slot-grid{grid-template-columns:1fr 1fr;gap:7px}.server-slot{padding:10px;min-height:88px;border-radius:15px}.server-slot:has(input:checked){padding:9px}.server-slot-time{font-size:.92rem}.server-step-head h2{font-size:1.2rem}.server-form-actions{grid-template-columns:1fr 1.35fr}.field input,.field textarea{font-size:16px}
}
@media(max-width:380px){.reserve-included-grid{grid-template-columns:1fr}.server-slot-grid{grid-template-columns:1fr}.server-form-actions{grid-template-columns:1fr}.reserve-whatsapp-top{padding:9px 10px}}


/* v1.0.16 · Reserva pública sin horas */
.public-reserve-options.single-option{grid-template-columns:1fr}
.public-reserve-option{
  min-height:104px;
  justify-content:center;
  align-items:center;
  text-align:center;
  gap:5px;
  padding:14px 12px;
}
.public-reserve-option input{top:12px;right:12px}
.public-reserve-icon{font-size:1.45rem;line-height:1}
.public-reserve-option .server-slot-time{
  font-size:1.08rem;
  color:var(--green-950);
}
.public-reserve-option b{margin-top:2px}
@media(max-width:520px){
  .public-reserve-options{grid-template-columns:1fr 1fr}
  .public-reserve-options.single-option{grid-template-columns:1fr}
  .public-reserve-option{min-height:92px;padding:11px 9px}
  .public-reserve-icon{font-size:1.3rem}
  .public-reserve-option .server-slot-time{font-size:.96rem}
}

/* =========================================================
   v1.0.20 · Rediseño visual final responsive
   Inspirado en el mockup aprobado, sin tocar lógica/negocio.
   ========================================================= */
:root{
  --v120-green:#238b32;
  --v120-green-dark:#176326;
  --v120-green-soft:#edf8e5;
  --v120-cream:#fffdf5;
  --v120-gold:#f1c75b;
  --v120-sky:#aeeaff;
  --v120-red:#dd4b4b;
  --v120-shadow:0 16px 38px rgba(56,86,42,.11);
}
html,body{background:linear-gradient(180deg,#aeeaff 0 230px,#f7f6e8 520px,#f8f7ef 100%)!important}
.site-wrap{padding:18px 14px 108px!important;max-width:1380px!important}
.cartoon-frame{max-width:1180px!important;border-radius:30px!important;background:rgba(255,253,247,.97)!important;box-shadow:0 28px 72px rgba(43,78,34,.16)!important;overflow:visible!important}
.cartoon-header{position:sticky!important;top:0!important;z-index:40!important;padding:14px 22px!important;border-radius:30px 30px 0 0;background:rgba(255,253,247,.94)!important;backdrop-filter:blur(18px)!important;box-shadow:0 7px 22px rgba(51,84,42,.06)!important}
.cartoon-brand img{width:58px!important;height:58px!important;padding:0!important;border-radius:15px!important;background:transparent!important}
.cartoon-brand strong{font-family:ui-rounded,"Trebuchet MS",system-ui,sans-serif!important;text-transform:none!important;font-size:clamp(1.22rem,2vw,1.85rem)!important;font-weight:900!important;letter-spacing:-.025em!important}
.cartoon-brand small{font-size:.82rem!important;letter-spacing:.13em!important;color:#665c50!important}
.top-nav{gap:6px!important}
.top-nav a{padding:10px 14px!important;border-radius:14px!important}
.top-nav a.active{background:#f0f9e8!important;box-shadow:inset 0 -3px 0 #2a9b3b!important}
.header-tools{display:flex;align-items:center;gap:8px!important}
.live-badge{background:#eff9df!important;border:1px solid #d6eabf!important;padding:8px 12px!important;border-radius:999px!important;color:#236d2f!important;font-weight:900!important;white-space:nowrap!important}
.live-badge i{background:#54bf39!important;box-shadow:0 0 0 4px rgba(84,191,57,.12)!important}
main{padding:18px 22px 28px!important}

/* Hero Agenda */
.agenda-hero{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.88fr);min-height:270px;margin:0 0 18px;border-radius:28px;overflow:hidden;background:linear-gradient(180deg,#a9eaff 0%,#c9f3ff 66%,#bce67b 67%,#89c94e 100%);box-shadow:var(--v120-shadow);border:1px solid rgba(255,255,255,.75)}
.agenda-hero:after{content:"";position:absolute;left:0;right:0;bottom:0;height:52px;background:radial-gradient(circle at 9% 50%,#fff 0 5px,transparent 6px),radial-gradient(circle at 15% 65%,#ffd65e 0 4px,transparent 5px),radial-gradient(circle at 28% 40%,#ff9bb0 0 4px,transparent 5px),radial-gradient(circle at 75% 60%,#fff 0 5px,transparent 6px),radial-gradient(circle at 88% 45%,#ffdf6b 0 4px,transparent 5px);opacity:.9;pointer-events:none}
.agenda-hero-copy{position:relative;z-index:3;align-self:center;padding:30px 12px 34px 34px;max-width:540px}
.agenda-hero-kicker{display:inline-flex;align-items:center;gap:7px;background:rgba(255,255,255,.72);color:#7a5b10;border:1px solid rgba(255,255,255,.85);border-radius:999px;padding:7px 11px;font-size:.75rem;font-weight:900;margin-bottom:10px}
.agenda-hero h1{margin:0 0 10px;color:#176326;font-family:ui-rounded,"Trebuchet MS",system-ui,sans-serif;font-size:clamp(2rem,4vw,3.25rem);line-height:1.02;letter-spacing:-.035em;max-width:520px;text-wrap:balance}
.agenda-hero p{margin:0;color:#42574a;font-size:1rem;line-height:1.48;max-width:430px}
.agenda-hero-action{display:inline-flex;align-items:center;justify-content:center;margin-top:17px;padding:11px 15px;border-radius:15px;background:#238b32;color:#fff;text-decoration:none;font-weight:950;box-shadow:0 9px 20px rgba(35,139,50,.22)}
.agenda-hero-art{position:relative;min-height:260px;overflow:hidden}
.agenda-hero-art img{position:absolute;z-index:3;right:14px;bottom:-9px;width:min(100%,430px);max-height:285px;object-fit:contain;filter:drop-shadow(0 10px 9px rgba(55,78,36,.15))}
.hero-cloud{position:absolute;z-index:1;width:96px;height:30px;border-radius:999px;background:rgba(255,255,255,.86);filter:drop-shadow(0 4px 8px rgba(75,145,167,.10))}
.hero-cloud:before,.hero-cloud:after{content:"";position:absolute;background:inherit;border-radius:50%}.hero-cloud:before{width:38px;height:38px;left:20px;top:-15px}.hero-cloud:after{width:48px;height:48px;right:10px;top:-23px}
.cloud-a{left:2%;top:34px}.cloud-b{right:14%;top:29px;transform:scale(.72)}
.hero-flower{position:absolute;z-index:2;color:#fff;font-size:1.25rem;text-shadow:0 2px 0 rgba(0,0,0,.04)}.flower-a{left:9%;bottom:30px}.flower-b{right:5%;bottom:44px;color:#ffed75}

/* Calendario */
.agenda-layout{display:grid!important;grid-template-columns:minmax(0,1.55fr) minmax(330px,.8fr)!important;gap:18px!important;align-items:start!important}
.calendar-card,.agenda-day-card,.agenda-menu-teaser,.cta-banner,.reserve-info-card,.reserve-menus-card,.server-booking-flow{background:rgba(255,254,249,.98)!important;border:1px solid #ece5cc!important;box-shadow:var(--v120-shadow)!important}
.calendar-card{padding:20px!important;border-radius:25px!important}
.calendar-toolbar{grid-template-columns:48px 1fr 48px!important;margin-bottom:3px!important}
.calendar-toolbar strong{font-family:ui-rounded,"Trebuchet MS",system-ui,sans-serif!important;font-size:1.7rem!important;font-weight:950!important;color:#176326!important}
.calendar-nav{width:46px!important;height:46px!important;border-radius:16px!important;border:1px solid #f0ddb0!important;background:#fff8df!important;color:#49613f!important;box-shadow:0 5px 12px rgba(75,91,48,.05)!important}
.agenda-sync-row{display:flex;justify-content:center;margin:0 0 10px!important}
.agenda-sync-row span{font-size:.70rem!important;border-radius:999px!important;background:#f5faec!important;padding:5px 9px!important;color:#68745f!important}
.calendar-weekdays{font-size:.68rem!important;letter-spacing:.06em!important;color:#655f55!important;margin-bottom:7px!important}
.calendar-grid{gap:7px!important}
.calendar-day{min-height:66px!important;aspect-ratio:auto!important;border-radius:16px!important;border-color:#eee7d7!important;background:#fff!important;padding:8px!important;box-shadow:0 2px 7px rgba(80,88,60,.025)!important}
.calendar-day.past{background:#fbf4f2!important;border-color:#f1ded9!important;opacity:.62!important}
.calendar-day:hover:not(:disabled){background:#f5fbea!important;border-color:#b8d8a7!important}
.calendar-day.selected{background:linear-gradient(180deg,#41ae38,#278b2e)!important;border:3px solid #d7f0a8!important;box-shadow:0 0 0 2px #2d9637,0 8px 18px rgba(42,145,52,.22)!important;color:#fff!important;padding:6px!important}
.calendar-number{font-size:1.05rem!important}
.calendar-status{left:9px!important;bottom:8px!important;transform:none!important;width:8px!important;height:8px!important;box-shadow:0 0 0 2px rgba(255,255,255,.55)!important}
.calendar-cakes{right:4px!important;bottom:5px!important}
.turn-cake{width:31px!important;height:31px!important;min-width:31px!important}.turn-cake span:last-child,.calendar-cakes .cake-only{font-size:1.52rem!important}.turn-cake b{top:13px!important;width:15px!important;height:15px!important;font-size:.58rem!important}
.calendar-legend{justify-content:center!important;gap:10px 18px!important;font-size:.72rem!important;margin-top:15px!important;padding-top:12px!important}

/* Día seleccionado */
.agenda-day-card{margin-top:0!important;padding:17px!important;border-radius:25px!important;position:sticky;top:100px}
.agenda-day-header{display:grid!important;grid-template-columns:92px 1fr!important;align-items:center!important;justify-content:stretch!important;gap:13px!important;margin-bottom:14px!important}
.agenda-date-badge{grid-row:1/3;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:120px;padding:10px 7px;border-radius:20px;background:linear-gradient(180deg,#edf8df,#f8fceb);border:1px solid #dbe9c6;text-align:center}
.agenda-date-badge span{font-size:.70rem;letter-spacing:.13em;font-weight:950;color:#277c32}.agenda-date-badge strong{font-size:2.55rem;line-height:.95;color:#24852f}.agenda-date-badge small{font-size:.65rem;line-height:1.25;font-weight:900;color:#5f6557;margin-top:5px}
.agenda-day-title{min-width:0}.agenda-day-header h2{font-size:1.16rem!important;line-height:1.15!important;margin:2px 0 0!important;color:#1c5d28!important}.agenda-day-header .primary-action{grid-column:2;justify-self:stretch!important;width:100%!important;white-space:normal!important}
.agenda-subheading{font-size:.75rem!important;letter-spacing:.12em!important;text-transform:uppercase!important;margin:13px 0 7px!important;color:#267d33!important}
.play-summary-card{padding:13px!important;border-radius:16px!important;box-shadow:none!important}.play-summary-icon{width:38px!important;height:38px!important;border-radius:50%!important}
.slot-card{border-radius:15px!important;padding:12px 13px!important}.slot-card strong{font-size:.95rem!important}.status-pill{font-size:.69rem!important}
.rule-card{border-radius:16px!important;background:#f5fae9!important;border-color:#dce8c5!important;padding:12px 13px!important;font-size:.78rem!important}

/* Teaser menús en Agenda */
.agenda-menu-teaser{grid-column:1/-1;margin-top:18px;padding:17px;border-radius:24px}
.agenda-menu-teaser-head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:12px}.agenda-menu-teaser-head span{display:block;color:#d68210;font-size:.67rem;font-weight:950;text-transform:uppercase;letter-spacing:.08em}.agenda-menu-teaser-head h2{margin:2px 0 0;color:#176326;font-size:1.35rem}.agenda-menu-teaser-head>b{background:#eef8df;color:#3e743f;padding:7px 10px;border-radius:999px;font-size:.72rem;white-space:nowrap}
.agenda-menu-teaser-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.agenda-menu-mini{display:flex;align-items:center;gap:9px;padding:11px;border-radius:16px;border:1px solid #ece6d0;background:#fff;text-decoration:none;min-width:0}.agenda-menu-mini-icon{width:36px;height:36px;display:grid;place-items:center;border-radius:12px;background:#fff4cd;font-size:1.25rem;flex:0 0 auto}.agenda-menu-mini>span:last-child{display:flex;flex-direction:column;min-width:0}.agenda-menu-mini strong{font-size:.83rem;color:#3e453c;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.agenda-menu-mini small{font-size:.72rem;color:#637061}.agenda-menu-mini small::first-line{font-weight:800}.agenda-deposit-mini{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:11px;margin-top:10px;padding:11px 13px;border-radius:17px;background:linear-gradient(90deg,#edf9e4,#f8fde8);border:1px solid #d5e9bd}.agenda-deposit-shield{width:36px;height:36px;border-radius:12px;display:grid;place-items:center;background:#36a53f;color:#fff;font-weight:1000}.agenda-deposit-mini>div{display:flex;flex-direction:column}.agenda-deposit-mini strong{color:#23742f}.agenda-deposit-mini small{color:#66715e;font-size:.73rem}.agenda-gift{font-size:2rem}
.cta-banner{margin-top:14px!important;border-radius:22px!important}.cta-character{background:#fff0c9!important}

/* Reservar */
.reserve-page-head{position:relative;overflow:hidden;min-height:142px;margin:0 0 16px!important;padding:24px 190px 24px 24px!important;border-radius:25px;background:linear-gradient(135deg,#eff9df 0%,#fff7da 100%);border:1px solid #e7e1c5;box-shadow:var(--v120-shadow)}
.reserve-page-head:after{content:"";position:absolute;right:-45px;bottom:-40px;width:260px;height:150px;border-radius:50%;background:radial-gradient(circle at 25% 40%,rgba(255,255,255,.85) 0 7px,transparent 8px),radial-gradient(circle at 48% 38%,rgba(255,255,255,.85) 0 6px,transparent 7px),radial-gradient(circle at 75% 65%,#e5f1b4 0 12px,transparent 13px);opacity:.9}
.reserve-head-copy{position:relative;z-index:2}.reserve-page-head h1{font-size:2.45rem!important;color:#176326!important}.reserve-page-head p:last-child{font-size:.95rem!important;max-width:520px}.reserve-head-art{position:absolute;z-index:2;right:12px;bottom:-28px;width:185px;height:165px}.reserve-head-art img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 7px 7px rgba(53,76,38,.14))}
.reserve-info-card,.reserve-menus-card,.server-booking-flow{border-radius:24px!important}
.reserve-section-title h2{font-size:1.45rem!important}.reserve-title-icon{border-radius:15px!important;background:#fff3c4!important}.reserve-included-grid span{border-radius:14px!important;background:#fff!important;box-shadow:0 2px 7px rgba(80,88,60,.025)}
.reserve-menu-list{grid-template-columns:repeat(2,1fr)!important;display:grid!important;gap:10px!important}.reserve-menu-card{margin:0!important;box-shadow:none!important}.reserve-menu-card .menu-price-grid>div{background:#fff8db!important}.deposit-banner{border-radius:18px!important}
.server-booking-flow{padding:19px!important}.server-stepper span b{box-shadow:none!important}.server-step-head>span{border-radius:14px!important}.server-slot,.server-menu-option,.server-summary{border-radius:17px!important}.primary-action{background:linear-gradient(180deg,#2ea23a,#20802d)!important;border-color:#238c31!important;box-shadow:0 7px 15px rgba(37,139,49,.15)}.secondary-action{background:#fffdf7!important;border-color:#e5dfc8!important}

/* Navegación inferior */
.cartoon-bottom-nav{position:fixed!important;z-index:50!important;left:50%!important;bottom:10px!important;transform:translateX(-50%)!important;width:min(calc(100% - 28px),720px)!important;padding:7px!important;border:1px solid #eae3cc!important;border-radius:22px!important;background:rgba(255,254,249,.96)!important;box-shadow:0 14px 34px rgba(48,76,39,.15)!important;backdrop-filter:blur(18px)!important;grid-template-columns:repeat(2,1fr)!important}
.cartoon-bottom-nav a{border-radius:16px!important;padding:10px 9px!important}.cartoon-bottom-nav a.active{background:#f1f9e7!important;box-shadow:inset 0 0 0 1px #d9e9c6!important}

/* Tablet / móvil */
@media(max-width:900px){
  .site-wrap{padding:0 0 92px!important}.cartoon-frame{border-radius:0!important;border-left:0!important;border-right:0!important;box-shadow:none!important}.cartoon-header{border-radius:0!important;padding:11px 14px!important;gap:8px!important}.cartoon-brand img{width:48px!important;height:48px!important}.cartoon-brand strong{font-size:1.13rem!important}.cartoon-brand small{font-size:.66rem!important}.top-nav{order:3;position:absolute;left:0;right:0;top:70px;height:49px;background:rgba(255,253,247,.97);border-bottom:1px solid #ede6d0;justify-content:stretch!important;padding:4px 8px}.top-nav a{flex:1;justify-content:center!important;padding:8px 6px!important}.top-nav a small{font-size:.82rem!important}.header-tools{margin-left:auto}.live-badge{padding:7px 9px!important;font-size:.72rem!important}.install-button{display:none!important}main{padding:61px 10px 22px!important}
  .agenda-hero{grid-template-columns:minmax(0,1.05fr) minmax(190px,.95fr);min-height:210px;border-radius:24px;margin-bottom:12px}.agenda-hero-copy{padding:20px 4px 22px 20px}.agenda-hero-kicker{font-size:.63rem;padding:5px 8px;margin-bottom:7px}.agenda-hero h1{font-size:clamp(1.45rem,5.3vw,2.25rem);max-width:390px}.agenda-hero p{font-size:.82rem;max-width:340px}.agenda-hero-action{font-size:.78rem;padding:9px 11px;margin-top:11px}.agenda-hero-art{min-height:205px}.agenda-hero-art img{right:2px;bottom:-7px;width:min(100%,300px);max-height:220px}.hero-cloud{transform:scale(.72)}.cloud-b{transform:scale(.55)}
  .agenda-layout{grid-template-columns:1fr!important;gap:12px!important}.agenda-day-card{position:static!important}.calendar-card{padding:13px!important}.calendar-toolbar strong{font-size:1.45rem!important}.calendar-grid{gap:5px!important}.calendar-day{min-height:58px!important;border-radius:13px!important;padding:6px!important}.calendar-day.selected{padding:4px!important}.calendar-number{font-size:.93rem!important}.turn-cake{width:27px!important;height:28px!important;min-width:27px!important}.turn-cake span:last-child,.calendar-cakes .cake-only{font-size:1.3rem!important}.agenda-day-header{grid-template-columns:78px 1fr!important}.agenda-date-badge{min-height:106px;border-radius:17px}.agenda-date-badge strong{font-size:2.25rem}.agenda-day-header h2{font-size:1.06rem!important}.agenda-menu-teaser-grid{grid-template-columns:repeat(2,1fr)}
  .reserve-page-head{padding:20px 145px 20px 18px!important;min-height:124px}.reserve-head-art{right:2px;width:150px;height:140px}.reserve-page-head h1{font-size:2rem!important}.reserve-menu-list{grid-template-columns:1fr 1fr!important}
}

@media(max-width:520px){
  html,body{background:linear-gradient(180deg,#b8efff 0 180px,#f7f6e8 390px,#f8f7ef 100%)!important}.cartoon-header{padding:9px 10px!important}.cartoon-brand{gap:8px!important}.cartoon-brand img{width:44px!important;height:44px!important}.cartoon-brand strong{font-size:1.02rem!important;max-width:185px}.cartoon-brand small{font-size:.60rem!important}.live-badge{font-size:0!important;padding:7px!important}.live-badge:after{content:"En tiempo real";font-size:.62rem}.top-nav{top:62px;height:47px}.top-nav a span{font-size:1rem!important}.top-nav a small{font-size:.75rem!important}main{padding:58px 8px 18px!important}
  .agenda-hero{grid-template-columns:1.08fr .92fr;min-height:170px;border-radius:20px}.agenda-hero-copy{padding:15px 0 18px 15px}.agenda-hero-kicker{display:none}.agenda-hero h1{font-size:1.34rem;line-height:1.04;max-width:230px}.agenda-hero p{font-size:.72rem;line-height:1.35;max-width:210px}.agenda-hero-action{display:none}.agenda-hero-art{min-height:165px}.agenda-hero-art img{right:-13px;bottom:-4px;width:210px;max-height:178px}.hero-cloud{width:64px;height:20px}.hero-cloud:before{width:26px;height:26px;top:-10px}.hero-cloud:after{width:30px;height:30px;top:-13px}.cloud-a{left:0;top:22px}.cloud-b{right:4%;top:20px}.agenda-hero:after{height:33px}
  .calendar-card{padding:10px 8px 11px!important;border-radius:20px!important}.calendar-toolbar{grid-template-columns:42px 1fr 42px!important}.calendar-toolbar strong{font-size:1.25rem!important}.calendar-nav{width:40px!important;height:40px!important;border-radius:14px!important}.agenda-sync-row span{font-size:.61rem!important}.calendar-weekdays{font-size:.56rem!important;gap:3px!important}.calendar-grid{gap:4px!important}.calendar-day{min-height:49px!important;border-radius:11px!important;padding:5px!important}.calendar-day.selected{border-width:2px!important;padding:4px!important}.calendar-number{font-size:.83rem!important}.calendar-status{width:6px!important;height:6px!important;left:6px!important;bottom:5px!important}.calendar-cakes{right:0!important;bottom:2px!important}.turn-cake{width:23px!important;height:25px!important;min-width:23px!important}.turn-cake span:last-child,.calendar-cakes .cake-only{font-size:1.14rem!important}.turn-cake b{top:11px!important;width:13px!important;height:13px!important;font-size:.49rem!important}.calendar-legend{font-size:.61rem!important;gap:7px 10px!important;margin-top:10px!important;padding-top:9px!important}
  .agenda-day-card{padding:12px!important;border-radius:20px!important}.agenda-day-header{grid-template-columns:68px 1fr!important;gap:9px!important}.agenda-date-badge{min-height:94px;padding:7px 4px;border-radius:15px}.agenda-date-badge span{font-size:.58rem}.agenda-date-badge strong{font-size:2rem}.agenda-date-badge small{font-size:.55rem}.agenda-day-title .eyebrow{font-size:.58rem}.agenda-day-header h2{font-size:.96rem!important}.agenda-day-header .primary-action{font-size:.72rem!important;padding:9px 8px!important}.agenda-subheading{font-size:.65rem!important}.play-summary-card{padding:10px!important;gap:9px!important}.play-summary-icon{width:34px!important;height:34px!important}.play-summary-card strong{font-size:.90rem!important}.play-summary-card small{font-size:.70rem!important}.slot-card{padding:10px!important}.slot-card strong{font-size:.87rem!important}.slot-card small{font-size:.69rem!important}.status-pill{padding:6px 8px!important}.rule-card{font-size:.71rem!important}
  .agenda-menu-teaser{padding:12px!important;border-radius:20px!important;margin-top:12px!important}.agenda-menu-teaser-head{align-items:center;margin-bottom:9px}.agenda-menu-teaser-head h2{font-size:1.14rem}.agenda-menu-teaser-head>b{font-size:.60rem;padding:6px 8px}.agenda-menu-teaser-grid{grid-template-columns:1fr 1fr;gap:6px}.agenda-menu-mini{padding:8px;gap:7px;border-radius:13px}.agenda-menu-mini-icon{width:31px;height:31px;font-size:1.05rem}.agenda-menu-mini strong{font-size:.72rem}.agenda-menu-mini small{font-size:.64rem}.agenda-deposit-mini{padding:9px 10px;border-radius:14px}.agenda-deposit-shield{width:31px;height:31px}.agenda-deposit-mini strong{font-size:.82rem}.agenda-deposit-mini small{font-size:.63rem}.agenda-gift{font-size:1.55rem}.cta-banner{display:none!important}
  .reserve-page-head{padding:16px 115px 16px 15px!important;min-height:108px!important;border-radius:20px!important}.reserve-page-head h1{font-size:1.72rem!important;margin:5px 0 3px!important}.reserve-page-head p:last-child{font-size:.76rem!important}.reserve-head-art{right:-2px;bottom:-24px;width:125px;height:123px}.reserve-info-card,.reserve-menus-card,.server-booking-flow{padding:12px!important;border-radius:20px!important}.reserve-section-title{gap:8px!important}.reserve-section-title h2{font-size:1.12rem!important}.reserve-title-icon{width:36px!important;height:36px!important}.reserve-included-grid{grid-template-columns:1fr 1fr!important}.reserve-menu-list{grid-template-columns:1fr!important}.reserve-menu-card .menu-price-grid{grid-template-columns:1fr 1fr!important}.server-booking-flow{padding:12px!important}.server-stepper{margin-bottom:16px!important}.server-stepper span b{width:31px!important;height:31px!important}.server-step-head{gap:9px!important}.server-step-head>span{width:34px!important;height:34px!important}.server-step-head h2{font-size:1.08rem!important}.server-step-head p{font-size:.76rem!important}.server-slot{min-height:84px!important}.server-summary>div{padding:10px 11px!important}.secure-note{font-size:.68rem!important}
  .cartoon-bottom-nav{bottom:7px!important;width:calc(100% - 16px)!important;border-radius:19px!important;padding:5px!important}.cartoon-bottom-nav a{padding:9px 4px!important;gap:5px!important}.cartoon-bottom-nav a small{font-size:.74rem!important}.cartoon-bottom-nav a span{font-size:1rem!important}
}

@media(max-width:370px){
  .cartoon-brand strong{max-width:150px;font-size:.92rem!important}.agenda-hero h1{font-size:1.16rem}.agenda-hero p{font-size:.66rem}.agenda-hero-art img{width:188px}.calendar-day{min-height:45px!important}.calendar-number{font-size:.76rem!important}.agenda-menu-teaser-head>b{display:none}.reserve-included-grid{grid-template-columns:1fr!important}.server-form-actions{grid-template-columns:1fr!important}
}

/* LCDA VISUAL FORCE BUILD v1.0.21 */

/* =========================================================
   v1.0.22 · Móvil fiel al mockup aprobado
   Corrige escala, una sola columna, jerarquía y navegación.
   ========================================================= */
.app-frame.cartoon-frame{width:100%!important;max-width:1180px!important}
.build-stamp{display:none!important}

/* El mockup coloca la leyenda antes de los días. */
.calendar-legend{margin:4px 0 14px!important;padding:0!important;border:0!important}

/* Navegación inferior real de tres accesos. */
.cartoon-bottom-nav{grid-template-columns:repeat(3,1fr)!important}
.cartoon-bottom-nav .bottom-whatsapp-link{color:#254b32!important;text-decoration:none!important}

@media(max-width:1180px){
  html,body{background:linear-gradient(180deg,#afeafa 0 255px,#f8f7e9 560px,#f9f8f0 100%)!important}
  .site-wrap{width:100%!important;max-width:none!important;padding:0 0 104px!important}
  .app-frame.cartoon-frame{width:100%!important;max-width:none!important;margin:0!important;border:0!important;border-radius:0!important;box-shadow:none!important;overflow:hidden!important}

  .cartoon-header{position:sticky!important;top:0!important;z-index:50!important;display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;grid-template-areas:"brand tools" "nav nav"!important;gap:8px 12px!important;padding:13px 22px 0!important;border-radius:0!important;background:rgba(255,254,249,.97)!important;box-shadow:0 5px 18px rgba(57,83,44,.08)!important}
  .cartoon-brand{grid-area:brand!important;gap:12px!important;min-width:0!important}
  .cartoon-brand img{width:68px!important;height:68px!important;border-radius:17px!important}
  .cartoon-brand strong{font-size:1.55rem!important;line-height:1.05!important;white-space:nowrap!important}
  .cartoon-brand small{font-size:.78rem!important;letter-spacing:.16em!important;margin-top:3px!important}
  .header-tools{grid-area:tools!important;align-self:center!important;margin:0!important}
  .live-badge{display:inline-flex!important;font-size:.82rem!important;padding:9px 13px!important}
  .top-nav{grid-area:nav!important;position:static!important;display:grid!important;grid-template-columns:repeat(3,1fr)!important;order:initial!important;width:100%!important;height:auto!important;padding:3px 0 7px!important;background:transparent!important;border:0!important;gap:5px!important}
  .top-nav a{display:flex!important;align-items:center!important;justify-content:center!important;gap:7px!important;padding:10px 8px!important;border-radius:13px!important;text-decoration:none!important;color:#31473a!important;font-weight:850!important}
  .top-nav a.active{background:#f1f9e8!important;color:#176326!important;box-shadow:inset 0 -3px 0 #2d9a3b!important}
  .top-nav a span{font-size:1.12rem!important}.top-nav a small{font-size:.92rem!important}

  main{padding:14px 18px 30px!important}

  .agenda-hero{grid-template-columns:minmax(0,1.05fr) minmax(290px,.95fr)!important;min-height:315px!important;margin:0 0 18px!important;border-radius:28px!important}
  .agenda-hero-copy{padding:38px 10px 38px 34px!important;align-self:center!important}
  .agenda-hero-kicker{display:none!important}
  .agenda-hero h1{font-size:2.45rem!important;line-height:1.03!important;max-width:520px!important;margin:0 0 18px!important}
  .agenda-hero p{font-size:1.04rem!important;line-height:1.48!important;max-width:440px!important}
  .agenda-hero-action{display:none!important}
  .agenda-hero-art{min-height:315px!important}
  .agenda-hero-art img{right:18px!important;bottom:-10px!important;width:min(100%,430px)!important;max-height:310px!important}
  .cloud-a{left:0!important;top:60px!important}.cloud-b{right:13%!important;top:44px!important}

  /* En móvil/tablet el calendario y el día seleccionado NUNCA van en dos columnas. */
  .agenda-layout{display:grid!important;grid-template-columns:1fr!important;gap:16px!important}
  .calendar-card{width:100%!important;padding:20px!important;border-radius:27px!important}
  .calendar-toolbar{grid-template-columns:54px 1fr 54px!important;margin-bottom:7px!important}
  .calendar-toolbar strong{font-size:2rem!important}
  .calendar-nav{width:52px!important;height:52px!important;border-radius:17px!important;font-size:1.7rem!important}
  .agenda-sync-row{margin:0 0 8px!important}
  .agenda-sync-row span{font-size:.74rem!important}
  .calendar-legend{display:flex!important;justify-content:center!important;flex-wrap:wrap!important;gap:8px 22px!important;font-size:.79rem!important;margin:4px 0 17px!important}
  .calendar-weekdays{font-size:.75rem!important;margin-bottom:9px!important}
  .calendar-grid{gap:8px!important}
  .calendar-day{min-height:76px!important;border-radius:18px!important;padding:9px!important}
  .calendar-day.selected{padding:7px!important}
  .calendar-number{font-size:1.2rem!important}
  .calendar-status{width:9px!important;height:9px!important;left:9px!important;bottom:8px!important}
  .calendar-cakes{right:5px!important;bottom:4px!important}.turn-cake{width:35px!important;height:35px!important;min-width:35px!important}.turn-cake span:last-child,.calendar-cakes .cake-only{font-size:1.75rem!important}.turn-cake b{top:15px!important;width:16px!important;height:16px!important;font-size:.61rem!important}

  .agenda-day-card{position:static!important;top:auto!important;width:100%!important;padding:20px!important;border-radius:27px!important}
  .agenda-day-header{grid-template-columns:112px 1fr!important;gap:18px!important;margin-bottom:18px!important}
  .agenda-date-badge{min-height:138px!important;border-radius:22px!important}.agenda-date-badge span{font-size:.78rem!important}.agenda-date-badge strong{font-size:3.2rem!important}.agenda-date-badge small{font-size:.72rem!important}
  .agenda-day-title .eyebrow{font-size:.7rem!important}.agenda-day-header h2{font-size:1.48rem!important;line-height:1.16!important}
  .agenda-day-header .primary-action{font-size:.92rem!important;padding:12px 14px!important;border-radius:15px!important}
  .agenda-subheading{font-size:.8rem!important;margin:16px 0 8px!important}
  .play-summary-card{padding:14px!important;border-radius:17px!important}.play-summary-icon{width:42px!important;height:42px!important}.play-summary-card strong{font-size:1.05rem!important}.play-summary-card small{font-size:.82rem!important}
  .slot-card{padding:14px!important;border-radius:17px!important}.slot-card strong{font-size:1rem!important}.slot-card small{font-size:.78rem!important}.status-pill{font-size:.76rem!important;padding:8px 11px!important}
  .rule-card{font-size:.82rem!important;border-radius:17px!important;padding:14px!important}

  .agenda-menu-teaser{width:100%!important;margin-top:16px!important;padding:18px!important;border-radius:27px!important}
  .agenda-menu-teaser-head h2{font-size:1.55rem!important}.agenda-menu-teaser-head>b{font-size:.72rem!important}
  .agenda-menu-teaser-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:9px!important}
  .agenda-menu-mini{min-height:72px!important;padding:10px!important;border-radius:15px!important}.agenda-menu-mini-icon{width:38px!important;height:38px!important;font-size:1.25rem!important}.agenda-menu-mini strong{font-size:.82rem!important}.agenda-menu-mini small{font-size:.72rem!important}
  .agenda-deposit-mini{margin-top:11px!important;padding:12px 14px!important;border-radius:17px!important}.agenda-deposit-mini strong{font-size:1rem!important}.agenda-deposit-mini small{font-size:.74rem!important}
  .cta-banner{display:none!important}

  .cartoon-bottom-nav{display:grid!important;position:fixed!important;z-index:60!important;left:50%!important;bottom:8px!important;transform:translateX(-50%)!important;width:calc(100% - 18px)!important;max-width:900px!important;grid-template-columns:repeat(3,1fr)!important;gap:6px!important;padding:7px!important;border-radius:22px!important;background:rgba(255,254,249,.97)!important}
  .cartoon-bottom-nav a{display:flex!important;align-items:center!important;justify-content:center!important;gap:7px!important;padding:12px 7px!important;border-radius:16px!important;text-decoration:none!important;color:#2d4937!important;font-weight:850!important}.cartoon-bottom-nav a.active{background:#f0f8e7!important;color:#176326!important}.cartoon-bottom-nav a span{font-size:1.15rem!important}.cartoon-bottom-nav a small{font-size:.86rem!important}
}

@media(max-width:620px){
  .cartoon-header{padding:10px 10px 0!important;gap:5px 8px!important}.cartoon-brand{gap:8px!important}.cartoon-brand img{width:48px!important;height:48px!important}.cartoon-brand strong{font-size:1.03rem!important;white-space:normal!important;max-width:180px!important}.cartoon-brand small{font-size:.61rem!important}.live-badge{font-size:.66rem!important;padding:7px 9px!important}.top-nav{padding-bottom:6px!important}.top-nav a{padding:8px 4px!important;gap:5px!important}.top-nav a span{font-size:1rem!important}.top-nav a small{font-size:.76rem!important}
  main{padding:10px 9px 24px!important}
  .agenda-hero{grid-template-columns:1.12fr .88fr!important;min-height:228px!important;border-radius:23px!important;margin-bottom:12px!important}.agenda-hero-copy{padding:23px 0 24px 18px!important}.agenda-hero h1{font-size:1.68rem!important;line-height:1.04!important;max-width:245px!important;margin-bottom:11px!important}.agenda-hero p{font-size:.82rem!important;line-height:1.42!important;max-width:220px!important}.agenda-hero-art{min-height:228px!important}.agenda-hero-art img{right:-10px!important;bottom:-4px!important;width:228px!important;max-height:218px!important}.hero-cloud{transform:scale(.7)!important}.cloud-b{transform:scale(.55)!important}
  .calendar-card{padding:12px 10px 13px!important;border-radius:22px!important}.calendar-toolbar{grid-template-columns:44px 1fr 44px!important}.calendar-toolbar strong{font-size:1.48rem!important}.calendar-nav{width:42px!important;height:42px!important;border-radius:14px!important;font-size:1.4rem!important}.agenda-sync-row span{font-size:.61rem!important}.calendar-legend{font-size:.65rem!important;gap:6px 12px!important;margin:2px 0 11px!important}.calendar-weekdays{font-size:.57rem!important;gap:3px!important}.calendar-grid{gap:4px!important}.calendar-day{min-height:51px!important;border-radius:12px!important;padding:5px!important}.calendar-day.selected{padding:4px!important}.calendar-number{font-size:.86rem!important}.calendar-status{width:6px!important;height:6px!important;left:6px!important;bottom:5px!important}.calendar-cakes{right:0!important;bottom:2px!important}.turn-cake{width:24px!important;height:26px!important;min-width:24px!important}.turn-cake span:last-child,.calendar-cakes .cake-only{font-size:1.18rem!important}.turn-cake b{top:11px!important;width:13px!important;height:13px!important;font-size:.48rem!important}
  .agenda-day-card{padding:13px!important;border-radius:22px!important}.agenda-day-header{grid-template-columns:76px 1fr!important;gap:10px!important;margin-bottom:13px!important}.agenda-date-badge{min-height:101px!important;border-radius:16px!important}.agenda-date-badge span{font-size:.6rem!important}.agenda-date-badge strong{font-size:2.2rem!important}.agenda-date-badge small{font-size:.56rem!important}.agenda-day-title .eyebrow{font-size:.57rem!important}.agenda-day-header h2{font-size:1.02rem!important}.agenda-day-header .primary-action{font-size:.73rem!important;padding:9px 8px!important}.agenda-subheading{font-size:.67rem!important}.play-summary-card{padding:10px!important}.play-summary-icon{width:34px!important;height:34px!important}.play-summary-card strong{font-size:.9rem!important}.play-summary-card small{font-size:.7rem!important}.slot-card{padding:10px!important}.slot-card strong{font-size:.86rem!important}.slot-card small{font-size:.68rem!important}.status-pill{font-size:.66rem!important;padding:6px 8px!important}.rule-card{font-size:.7rem!important;padding:11px!important}
  .agenda-menu-teaser{padding:12px!important;border-radius:22px!important}.agenda-menu-teaser-head h2{font-size:1.18rem!important}.agenda-menu-teaser-head>b{font-size:.6rem!important;padding:6px 8px!important}.agenda-menu-teaser-grid{grid-template-columns:1fr 1fr!important;gap:6px!important}.agenda-menu-mini{min-height:58px!important;padding:8px!important}.agenda-menu-mini-icon{width:31px!important;height:31px!important;font-size:1.05rem!important}.agenda-menu-mini strong{font-size:.72rem!important}.agenda-menu-mini small{font-size:.64rem!important}.agenda-deposit-mini{padding:9px 10px!important}.agenda-deposit-mini strong{font-size:.84rem!important}.agenda-deposit-mini small{font-size:.63rem!important}.agenda-gift{font-size:1.6rem!important}
  .cartoon-bottom-nav{width:calc(100% - 14px)!important;padding:5px!important;border-radius:19px!important}.cartoon-bottom-nav a{padding:10px 3px!important;gap:4px!important}.cartoon-bottom-nav a span{font-size:1.02rem!important}.cartoon-bottom-nav a small{font-size:.73rem!important}
}

/* LCDA VISUAL FAITHFUL BUILD v1.0.22 */


/* v1.0.24 · Agenda con cabecera estética + solo calendario */
#view-agenda .agenda-layout{grid-template-columns:1fr!important;gap:0!important;}
#view-agenda .calendar-card{width:100%!important;max-width:none!important;}
#view-agenda .agenda-day-card,
#view-agenda .agenda-menu-teaser,
#view-agenda .cta-banner{display:none!important;}
.cartoon-bottom-nav{display:none!important;}
@media (max-width: 760px){
  #view-agenda{padding-bottom:0!important;}
  #view-agenda .agenda-hero{margin-bottom:14px!important;}
}


/* v1.0.26 · Menú superior sin botón Reservar */
.top-nav{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
@media(max-width:760px){.top-nav{grid-template-columns:repeat(2,minmax(0,1fr))!important;}.top-nav .header-whatsapp-link{display:flex!important;}}


/* ==========================================================
   CARTOON v1.0.27 · REDISEÑO FIEL DE RESERVAR
   Agenda/cabecera no se modifican.
   ========================================================== */
.reserve-v127{--rv-green:#17802c;--rv-green2:#20a438;--rv-cream:#fffdf7;--rv-border:#e9e1c7;--rv-shadow:0 16px 36px rgba(52,78,38,.10)}
.reserve-v127>.cartoon-card{background:rgba(255,254,249,.985)!important;border:1px solid var(--rv-border)!important;box-shadow:var(--rv-shadow)!important}
.reserve-booking-hero{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(330px,.9fr);min-height:300px;margin:0 0 18px;border-radius:30px;overflow:hidden;background:linear-gradient(180deg,#a6e8ff 0%,#c9f4ff 74%,#a9dc66 75%,#82c544 100%);border:1px solid rgba(255,255,255,.85);box-shadow:var(--rv-shadow)}
.reserve-booking-hero:after{content:"";position:absolute;left:0;right:0;bottom:0;height:48px;background:radial-gradient(circle at 8% 56%,#fff 0 4px,transparent 5px),radial-gradient(circle at 18% 68%,#ffd75e 0 4px,transparent 5px),radial-gradient(circle at 31% 50%,#ff9eaa 0 4px,transparent 5px),radial-gradient(circle at 83% 48%,#fff 0 4px,transparent 5px);opacity:.9}
.reserve-booking-hero-copy{position:relative;z-index:3;align-self:center;padding:34px 10px 34px 36px}
.reserve-hero-kicker{display:inline-flex;padding:7px 11px;border-radius:999px;background:rgba(255,255,255,.76);color:#7d5b0e;border:1px solid rgba(255,255,255,.88);font-size:.72rem;font-weight:900;margin-bottom:12px}
.reserve-booking-hero h1{margin:0;color:#176326;font-family:ui-rounded,"Trebuchet MS",system-ui,sans-serif;font-size:clamp(2.7rem,5.2vw,4.25rem);line-height:.96;letter-spacing:-.045em}
.reserve-booking-hero p{margin:15px 0 0;color:#3d5547;font-size:1.08rem;line-height:1.45}
.reserve-hero-whatsapp{display:inline-flex;align-items:center;gap:8px;margin-top:20px;padding:11px 15px;border-radius:15px;background:rgba(255,255,255,.94);border:1px solid #9dd5a6;color:#196c2a;text-decoration:none;font-weight:950;box-shadow:0 8px 18px rgba(37,105,48,.12)}
.reserve-booking-hero-art{position:relative;min-height:300px;overflow:hidden}.reserve-booking-hero-art img{position:absolute;z-index:3;right:12px;bottom:-12px;width:min(100%,440px);max-height:315px;object-fit:contain;filter:drop-shadow(0 10px 9px rgba(55,78,36,.14))}
.reserve-cloud{position:absolute;z-index:1;width:80px;height:25px;border-radius:999px;background:rgba(255,255,255,.88)}.reserve-cloud:before,.reserve-cloud:after{content:"";position:absolute;border-radius:50%;background:inherit}.reserve-cloud:before{width:34px;height:34px;left:14px;top:-13px}.reserve-cloud:after{width:41px;height:41px;right:11px;top:-18px}.reserve-cloud-a{left:5%;top:62px}.reserve-cloud-b{right:7%;top:48px;transform:scale(.8)}
.reserve-confetti{position:absolute;z-index:2;font-size:.8rem}.reserve-confetti.c1{left:9%;top:38%;color:#6ecb45}.reserve-confetti.c2{right:6%;top:37%;color:#f06464}.reserve-confetti.c3{left:46%;top:30%;color:#f0c635}
.reserve-includes-v127,.reserve-pricing-v127,.reserve-flow-v127{padding:22px!important;margin-bottom:18px!important;border-radius:28px!important}
.reserve-v127-heading{display:flex;align-items:center;justify-content:center;gap:10px;margin:0 0 18px}.reserve-v127-heading h2{margin:0;color:#176326;font-size:1.65rem;line-height:1.1;text-align:center}.reserve-v127-heading>span{font-size:1rem}
.reserve-includes-grid-v127{display:grid;grid-template-columns:repeat(9,minmax(0,1fr));gap:9px}.reserve-includes-grid-v127 article{min-height:112px;border:1px solid #ebe2c8;background:linear-gradient(180deg,#fffef9,#fffaf0);border-radius:20px;padding:13px 8px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:9px;box-shadow:0 4px 12px rgba(62,75,49,.035)}.reserve-includes-grid-v127 b{font-size:2rem;line-height:1}.reserve-includes-grid-v127 span{font-size:.78rem;font-weight:850;color:#31563a;line-height:1.15}
.reserve-includes-note-v127{margin:15px 3px 0;text-align:center;color:#788078;font-size:.78rem;line-height:1.45}
.reserve-price-grid-v127{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.reserve-price-card-v127{--accent:#2c8f37;position:relative;border:1.5px solid color-mix(in srgb,var(--accent) 30%,#eee6cf);background:linear-gradient(180deg,#fffefb,#fffdf7);border-radius:23px;padding:18px 13px 14px;text-align:center;overflow:hidden}.reserve-price-card-v127.theme-green{--accent:#24913a}.reserve-price-card-v127.theme-orange{--accent:#ef8a16}.reserve-price-card-v127.theme-blue{--accent:#2184d3}.reserve-price-card-v127.theme-purple{--accent:#8b58c6}.reserve-price-title-v127{display:flex;align-items:center;justify-content:center;gap:9px;min-height:56px}.reserve-price-title-v127 span{font-size:2.2rem}.reserve-price-title-v127 h3{margin:0;color:var(--accent);font-size:1.2rem;line-height:1.02}.reserve-price-card-v127>p{margin:4px 0 12px;color:#5e665f;font-size:.73rem}.reserve-price-box-v127{margin:7px 0;padding:10px 6px;border-radius:16px;border:1px solid #ebe4d4;background:#fff;display:flex;flex-direction:column;gap:5px}.reserve-price-box-v127 small{font-size:.72rem;color:#565f56;line-height:1.15}.reserve-price-box-v127 strong{font-size:1.5rem;color:var(--accent)}.reserve-price-card-v127 footer{margin-top:10px;color:#3f4b42;font-size:.72rem;font-weight:800}
.reserve-deposit-v127{position:relative;margin-top:15px;padding:14px 20px;border:1px solid #eadfae;border-radius:20px;background:linear-gradient(90deg,#fff9dd,#fffdf4);display:grid;grid-template-columns:auto auto 1fr auto auto auto;gap:10px;align-items:center}.reserve-deposit-shield-v127{width:42px;height:42px;border-radius:14px;background:#e4f5c7;border:1px solid #bddb91;display:grid;place-items:center;font-size:1.2rem}.reserve-deposit-v127 strong{color:#16752b;font-size:1.35rem;white-space:nowrap}.reserve-deposit-v127 p{margin:0;color:#5d645d;font-size:.82rem}.reserve-deposit-v127 i{font-style:normal;font-size:.58rem}.reserve-deposit-v127 i:nth-last-child(3){color:#ffd44e}.reserve-deposit-v127 i:nth-last-child(2){color:#73c9f0}.reserve-deposit-v127 i:nth-last-child(1){color:#fb7ba0}
.reserve-flow-v127{padding:22px!important}.reserve-stepper-v127{margin-bottom:22px!important}.reserve-stepper-v127 span{min-width:82px}.reserve-stepper-v127 span b{width:38px!important;height:38px!important;font-size:1rem}.reserve-stepper-v127 span small{font-size:.78rem!important}.reserve-stepper-v127 i{height:2px!important;background:#dedfd8!important}.reserve-stepper-v127 i.done{background:#76be7f!important}
.reserve-step-layout-v127{display:grid;grid-template-columns:265px minmax(0,1fr);gap:28px;align-items:start}.reserve-selected-date-v127{position:relative;border:1px solid #ece3c8;border-radius:22px;background:linear-gradient(180deg,#fffef8,#fffaf0);padding:22px 17px;text-align:center;min-height:250px;display:flex;flex-direction:column;align-items:center;justify-content:center}.reserve-selected-date-label-v127{font-size:.78rem;font-weight:900;color:#2c6d39;margin-bottom:13px}.reserve-selected-date-v127>strong{font-size:1.65rem;color:#176326;line-height:1.05}.reserve-selected-date-v127>b{font-size:.95rem;color:#48524a;margin-top:8px}.reserve-selected-date-v127>small{margin-top:6px;color:#627064;font-size:.77rem}.reserve-selected-date-v127>a{margin-top:22px;width:100%;padding:11px 9px;border-radius:14px;background:#eef8e4;color:#3e6944;text-decoration:none;font-size:.72rem;line-height:1.3}.reserve-selected-date-v127>a em{font-style:normal;font-weight:900;color:#147328}
.reserve-step-main-v127{min-width:0}.reserve-step-copy-v127 h2{margin:0 0 4px;color:#176326;font-size:1.55rem}.reserve-step-copy-v127 p{margin:0 0 14px;color:#6e776f;font-size:.86rem;line-height:1.4}.reserve-slots-v127{margin:12px 0}.reserve-slot-v127{border-radius:18px!important;background:#fffef8!important}.reserve-slot-v127:has(input:checked){border-color:#4aa956!important;box-shadow:0 0 0 3px rgba(74,169,86,.12)!important}.reserve-primary-v127{min-height:52px!important;border-radius:17px!important;font-size:1.03rem!important;font-weight:950!important;background:linear-gradient(180deg,#24b33d,#14922e)!important;box-shadow:0 9px 20px rgba(28,148,48,.19)!important}.reserve-trust-v127{text-align:center;color:#737a74;font-size:.74rem;margin:10px 0 0}
.reserve-form-grid-v127{display:grid;grid-template-columns:1fr 1fr;gap:10px}.reserve-field-v127{margin:0!important}.reserve-field-v127>span{font-size:.73rem!important;font-weight:850!important;color:#397147!important;margin:0 0 5px 3px!important}.reserve-field-v127 input,.reserve-field-v127 select,.reserve-field-v127 textarea{width:100%;border:1px solid #dfe3dc!important;border-radius:14px!important;background:#fff!important;min-height:48px;padding:12px 13px!important;color:#34423a;font:inherit;box-shadow:0 2px 6px rgba(55,65,54,.025)}.reserve-field-v127 select{appearance:auto}.reserve-field-v127 small{font-size:.66rem;color:#828983;margin:4px 2px 0}.reserve-observations-v127{margin-top:10px!important}.reserve-observations-v127 textarea{min-height:105px!important;resize:vertical}.reserve-actions-v127{grid-template-columns:.62fr 1.38fr!important;margin-top:14px!important}.reserve-actions-v127>a,.reserve-actions-v127>button{min-height:50px;border-radius:16px!important}.reserve-summary-v127{border:1px solid #ece5d1;border-radius:20px;overflow:hidden;background:#fffef9}.reserve-review-v127{max-width:760px;margin:0 auto}.reserve-checkout-v127{margin-top:14px}

@media(max-width:900px){.reserve-includes-grid-v127{grid-template-columns:repeat(5,1fr)}.reserve-price-grid-v127{grid-template-columns:repeat(2,1fr)}.reserve-booking-hero{grid-template-columns:1.08fr .92fr}.reserve-step-layout-v127{grid-template-columns:220px minmax(0,1fr)}}
@media(max-width:760px){
  .reserve-v127{padding-bottom:6px}.reserve-booking-hero{grid-template-columns:1.12fr .88fr;min-height:230px;border-radius:24px;margin-bottom:12px}.reserve-booking-hero-copy{padding:21px 0 22px 18px}.reserve-hero-kicker{display:none}.reserve-booking-hero h1{font-size:2.05rem;line-height:.98}.reserve-booking-hero p{font-size:.82rem;max-width:210px;margin-top:10px}.reserve-hero-whatsapp{font-size:.72rem;padding:8px 10px;margin-top:13px;border-radius:12px}.reserve-booking-hero-art{min-height:230px}.reserve-booking-hero-art img{right:-18px;bottom:-6px;width:240px;max-height:225px}.reserve-cloud{transform:scale(.62)}.reserve-cloud-b{transform:scale(.5)}
  .reserve-includes-v127,.reserve-pricing-v127,.reserve-flow-v127{padding:13px!important;border-radius:22px!important;margin-bottom:12px!important}.reserve-v127-heading{margin-bottom:12px;gap:6px}.reserve-v127-heading h2{font-size:1.23rem}.reserve-includes-grid-v127{grid-template-columns:repeat(3,1fr);gap:6px}.reserve-includes-grid-v127 article{min-height:88px;padding:9px 5px;border-radius:15px;gap:6px}.reserve-includes-grid-v127 b{font-size:1.55rem}.reserve-includes-grid-v127 span{font-size:.65rem}.reserve-includes-note-v127{font-size:.67rem;margin-top:10px}
  .reserve-price-grid-v127{grid-template-columns:1fr 1fr;gap:7px}.reserve-price-card-v127{padding:11px 7px 9px;border-radius:17px}.reserve-price-title-v127{gap:5px;min-height:45px}.reserve-price-title-v127 span{font-size:1.55rem}.reserve-price-title-v127 h3{font-size:.85rem}.reserve-price-card-v127>p{font-size:.61rem;margin:3px 0 8px}.reserve-price-box-v127{padding:7px 4px;border-radius:12px;margin:5px 0}.reserve-price-box-v127 small{font-size:.59rem}.reserve-price-box-v127 strong{font-size:1.12rem}.reserve-price-card-v127 footer{font-size:.58rem;margin-top:7px}.reserve-deposit-v127{grid-template-columns:auto 1fr;padding:11px 10px;gap:8px;border-radius:16px}.reserve-deposit-shield-v127{grid-row:1/3;width:36px;height:36px}.reserve-deposit-v127 strong{font-size:1rem}.reserve-deposit-v127 p{font-size:.66rem}.reserve-deposit-v127 i{display:none}
  .reserve-stepper-v127{gap:4px!important;margin-bottom:17px!important}.reserve-stepper-v127 span{min-width:54px!important}.reserve-stepper-v127 span b{width:31px!important;height:31px!important}.reserve-stepper-v127 span small{font-size:.66rem!important}.reserve-step-layout-v127{grid-template-columns:1fr;gap:12px}.reserve-selected-date-v127{min-height:0;padding:14px 12px;border-radius:17px}.reserve-selected-date-v127>strong{font-size:1.3rem}.reserve-selected-date-v127>a{margin-top:12px;padding:9px}.reserve-step-copy-v127 h2{font-size:1.15rem}.reserve-step-copy-v127 p{font-size:.73rem}.reserve-slots-v127{grid-template-columns:1fr 1fr!important;gap:7px!important}.reserve-slots-v127.single-option{grid-template-columns:1fr!important}.reserve-slot-v127{min-height:88px!important;padding:10px!important}.reserve-primary-v127{font-size:.9rem!important;min-height:49px!important}.reserve-form-grid-v127{grid-template-columns:1fr;gap:8px}.reserve-field-v127 input,.reserve-field-v127 select,.reserve-field-v127 textarea{font-size:16px!important}.reserve-actions-v127{grid-template-columns:1fr!important}.reserve-actions-v127 .secondary-action{order:2}.reserve-trust-v127{font-size:.65rem}
}
@media(max-width:390px){.reserve-booking-hero h1{font-size:1.82rem}.reserve-booking-hero-art img{width:214px}.reserve-includes-grid-v127{grid-template-columns:repeat(3,1fr)}.reserve-price-title-v127 h3{font-size:.78rem}.reserve-price-box-v127 strong{font-size:1.02rem}}


/* v1.0.28 · limpieza superior solicitada */
.cartoon-header{
  display:block!important;
  padding:0!important;
  min-height:0!important;
  border-bottom:1px solid #ece5cc!important;
}
.cartoon-header .cartoon-brand,
.cartoon-header .live-badge{display:none!important;}
.cartoon-header .header-tools{display:none!important;}
.cartoon-header .top-nav{
  position:static!important;
  inset:auto!important;
  width:100%!important;
  height:auto!important;
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:8px!important;
  padding:8px 10px!important;
  background:rgba(255,253,247,.98)!important;
  border:0!important;
}
.cartoon-header .top-nav a{
  width:100%!important;
  justify-content:center!important;
  min-height:42px!important;
  padding:9px 10px!important;
}
main{padding-top:12px!important;}
#view-agenda .agenda-hero{
  display:block!important;
  min-height:210px!important;
  position:relative!important;
  overflow:hidden!important;
}
#view-agenda .agenda-hero-copy{display:none!important;}
#view-agenda .agenda-hero-art{
  position:absolute!important;
  inset:0!important;
  min-height:100%!important;
  width:100%!important;
}
#view-agenda .agenda-hero-art img{
  right:7%!important;
  bottom:-8px!important;
  width:min(58%,360px)!important;
  max-height:230px!important;
}
@media(max-width:760px){
  .cartoon-header .top-nav{padding:6px 8px!important;gap:6px!important;}
  .cartoon-header .top-nav a{min-height:39px!important;padding:8px 6px!important;}
  .cartoon-header .top-nav a small{font-size:.78rem!important;}
  main{padding:10px 8px 18px!important;}
  #view-agenda .agenda-hero{min-height:175px!important;margin-bottom:12px!important;}
  #view-agenda .agenda-hero-art img{right:4%!important;width:min(62%,245px)!important;max-height:185px!important;}
}


/* v1.0.29 · Reserva: hero solo ilustración */
.reserve-booking-hero{grid-template-columns:1fr!important;}
.reserve-booking-hero-art{grid-column:1/-1!important;width:100%!important;min-height:300px!important;}
.reserve-booking-hero-art img{right:7%!important;width:min(58%,440px)!important;}
@media(max-width:760px){
  .reserve-booking-hero{min-height:230px!important;}
  .reserve-booking-hero-art{min-height:230px!important;}
  .reserve-booking-hero-art img{right:8%!important;width:245px!important;max-height:225px!important;}
}
@media(max-width:390px){.reserve-booking-hero-art img{right:5%!important;width:220px!important;}}


/* v1.0.30 · más aire sobre botones superiores */
.cartoon-header .top-nav{padding-top:16px!important;}
@media(max-width:760px){
  .cartoon-header .top-nav{padding:14px 8px 7px!important;}
}


/* v1.0.31 · Cabecera idéntica en Agenda y Reservar */
.cartoon-header{
  display:block!important;
  padding:0!important;
  margin:0!important;
  min-height:0!important;
  border-bottom:1px solid #ece5cc!important;
  background:rgba(255,253,247,.98)!important;
}
.cartoon-header .top-nav{
  position:static!important;
  width:100%!important;
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:8px!important;
  padding:16px 10px 8px!important;
  margin:0!important;
  background:rgba(255,253,247,.98)!important;
}
.cartoon-header .top-nav a{
  width:100%!important;
  min-height:42px!important;
  padding:9px 10px!important;
  justify-content:center!important;
  border-radius:14px!important;
}
/* Agenda no cambia de apariencia al estar activa: se ve igual que en Reservar */
.cartoon-header .top-nav a[data-nav="agenda"],
.cartoon-header .top-nav a[data-nav="agenda"].active{
  background:transparent!important;
  color:#36513d!important;
  box-shadow:none!important;
  border:0!important;
}
.cartoon-header .top-nav .header-whatsapp-link{
  background:#25d366!important;
  color:#153f27!important;
  box-shadow:none!important;
}
@media(max-width:760px){
  .cartoon-header .top-nav{padding:14px 8px 7px!important;gap:6px!important;}
  .cartoon-header .top-nav a{min-height:39px!important;padding:8px 6px!important;}
  .cartoon-header .top-nav a small{font-size:.78rem!important;}
}


/* v1.0.32 · Header completo idéntico en Agenda y Reservar */
.cartoon-header.unified-full-header{
  position:relative!important;
  top:auto!important;
  z-index:50!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  grid-template-areas:"brand tools" "nav nav"!important;
  align-items:center!important;
  gap:7px 12px!important;
  padding:12px 14px 7px!important;
  margin:0!important;
  border-radius:0!important;
  border-bottom:1px solid #eee7d3!important;
  background:rgba(255,254,249,.98)!important;
  box-shadow:0 5px 18px rgba(57,83,44,.07)!important;
  backdrop-filter:blur(14px)!important;
}
.cartoon-header.unified-full-header .cartoon-brand{
  grid-area:brand!important;
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  min-width:0!important;
  text-decoration:none!important;
  color:#174f2a!important;
}
.cartoon-header.unified-full-header .cartoon-brand img{
  display:block!important;
  width:45px!important;
  height:45px!important;
  object-fit:contain!important;
  padding:0!important;
  background:transparent!important;
  border-radius:0!important;
}
.cartoon-header.unified-full-header .cartoon-brand>span{
  display:flex!important;
  flex-direction:column!important;
  min-width:0!important;
}
.cartoon-header.unified-full-header .cartoon-brand strong{
  display:block!important;
  font-family:ui-rounded,"Trebuchet MS",system-ui,sans-serif!important;
  font-size:1.02rem!important;
  line-height:1.05!important;
  font-weight:900!important;
  text-transform:none!important;
  letter-spacing:-.02em!important;
  color:#174f2a!important;
  white-space:nowrap!important;
}
.cartoon-header.unified-full-header .cartoon-brand small{
  display:block!important;
  margin-top:2px!important;
  font-size:.58rem!important;
  line-height:1!important;
  letter-spacing:.15em!important;
  text-transform:uppercase!important;
  color:#675f53!important;
}
.cartoon-header.unified-full-header .header-tools{
  grid-area:tools!important;
  display:flex!important;
  width:auto!important;
  align-items:center!important;
  justify-content:flex-end!important;
  margin:0!important;
}
.cartoon-header.unified-full-header .live-badge{
  display:inline-flex!important;
  align-items:center!important;
  gap:6px!important;
  padding:6px 9px!important;
  border:1px solid #d8ebc5!important;
  border-radius:999px!important;
  background:#f0f9e3!important;
  color:#267234!important;
  font-size:.62rem!important;
  font-weight:900!important;
  white-space:nowrap!important;
}
.cartoon-header.unified-full-header .live-badge i{
  display:block!important;
  width:7px!important;
  height:7px!important;
  border-radius:50%!important;
  background:#50bd38!important;
  box-shadow:0 0 0 3px rgba(80,189,56,.13)!important;
}
.cartoon-header.unified-full-header .install-button{display:none!important;}
.cartoon-header.unified-full-header .top-nav{
  grid-area:nav!important;
  position:static!important;
  inset:auto!important;
  order:initial!important;
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  width:100%!important;
  height:auto!important;
  padding:4px 0 0!important;
  margin:0!important;
  gap:5px!important;
  background:transparent!important;
  border:0!important;
}
.cartoon-header.unified-full-header .top-nav a{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:38px!important;
  padding:8px 6px!important;
  gap:5px!important;
  border-radius:10px!important;
  text-decoration:none!important;
  font-weight:800!important;
  box-shadow:none!important;
}
.cartoon-header.unified-full-header .top-nav .header-agenda-link,
.cartoon-header.unified-full-header .top-nav .header-agenda-link.active{
  background:#f4faeb!important;
  color:#274b31!important;
  border:1px solid #e1eccf!important;
  box-shadow:inset 0 -2px 0 #309b41!important;
}
.cartoon-header.unified-full-header .top-nav .header-whatsapp-link{
  display:flex!important;
  background:#29d36b!important;
  color:#153f27!important;
  border:1px solid #25c963!important;
}
.cartoon-header.unified-full-header .top-nav a span{font-size:.92rem!important;}
.cartoon-header.unified-full-header .top-nav a small{font-size:.70rem!important;font-weight:850!important;}
/* Al volver a existir el header completo, el contenido empieza justo debajo sin offsets heredados */
.cartoon-header.unified-full-header + .install-banner + main,
.cartoon-header.unified-full-header ~ main{padding-top:8px!important;}
@media (max-width:760px){
  .cartoon-header.unified-full-header{padding:12px 8px 6px!important;gap:6px 8px!important;}
  .cartoon-header.unified-full-header .cartoon-brand img{width:42px!important;height:42px!important;}
  .cartoon-header.unified-full-header .cartoon-brand strong{font-size:.93rem!important;}
  .cartoon-header.unified-full-header .cartoon-brand small{font-size:.53rem!important;}
  .cartoon-header.unified-full-header .live-badge{font-size:.58rem!important;padding:6px 8px!important;}
  .cartoon-header.unified-full-header .top-nav{padding-top:4px!important;gap:5px!important;}
  .cartoon-header.unified-full-header .top-nav a{min-height:37px!important;padding:7px 5px!important;}
  .cartoon-header.unified-full-header .top-nav a small{font-size:.68rem!important;}
}
