@import "https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,500;0,600;0,700;1,500&family=Inter:wght@400;500;600&display=swap";:root{--color-bg:#eee6db;--color-bg-soft:#e8dfd2;--color-surface:#e2d8c9;--color-surface-raised:#f4efe7;--color-border:#ddd2c3;--color-text:#3d2f26;--color-text-muted:#7a695c;--color-accent:#b9a4c7;--color-accent-soft:#e8dff0;--color-accent-deep:#8f779e;--color-danger-soft:#e8d5cf;--shadow-clay:8px 8px 20px #3d2f2614, -4px -4px 14px #ffffffb3;--shadow-clay-inset:inset 2px 2px 6px #3d2f260f, inset -2px -2px 6px #ffffff8c;--shadow-btn:4px 4px 12px #3d2f261f, -2px -2px 8px #ffffffa6;--radius-card:1.35rem;--radius-btn:999px;--nav-height:4.25rem;--font-serif:"Cormorant Garamond", Georgia, serif;--font-sans:"Inter", system-ui, sans-serif;--max-width:720px}*,:before,:after{box-sizing:border-box}html,body,#root{max-width:100%;min-height:100%;overflow-x:hidden}body{font-family:var(--font-sans);color:var(--color-text);background:radial-gradient(ellipse 80% 50% at 10% -10%, #b9a4c72e, transparent 55%), radial-gradient(ellipse 60% 40% at 100% 0%, #ebe3d6e6, transparent 50%), var(--color-bg);-webkit-font-smoothing:antialiased;margin:0;font-size:1rem;line-height:1.5}h1,h2,h3{font-family:var(--font-serif);letter-spacing:.01em;margin:0;font-weight:600}button,input,select{font:inherit;color:inherit}button{cursor:pointer;background:0 0;border:none}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.app-shell{width:100%;min-height:100dvh;max-width:var(--max-width);flex-direction:column;min-width:0;margin:0 auto;display:flex;position:relative}.data-error{margin:.75rem 1.25rem 0}.demo-banner{z-index:20;text-align:center;letter-spacing:.08em;text-transform:uppercase;color:var(--color-accent-deep);background:color-mix(in srgb, var(--color-accent-soft) 70%, white);border-bottom:1px solid color-mix(in srgb, var(--color-accent) 35%, transparent);padding:.4rem 1rem;font-size:.72rem;font-weight:500;position:sticky;top:0}.app-main{padding:1.25rem 1.25rem calc(var(--nav-height) + 1.5rem);flex:1;width:100%}.screen{flex-direction:column;gap:1.35rem;animation:.28s fade-in;display:flex}@keyframes fade-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.screen-header .logo--header{margin-bottom:.65rem;display:block}.screen-header h1{font-size:clamp(1.85rem,5vw,2.35rem);line-height:1.15}.screen-header p{color:var(--color-text-muted);margin:.45rem 0 0;font-size:.95rem}.card{background:var(--color-surface-raised);border-radius:var(--radius-card);box-shadow:var(--shadow-clay);border:1px solid color-mix(in srgb, var(--color-border) 70%, white);padding:1.15rem 1.2rem}.btn{border-radius:var(--radius-btn);min-height:2.85rem;box-shadow:var(--shadow-btn);justify-content:center;align-items:center;gap:.4rem;padding:.7rem 1.4rem;font-size:.95rem;font-weight:500;transition:transform .15s,box-shadow .15s;display:inline-flex}.btn:active{box-shadow:var(--shadow-clay-inset);transform:translateY(1px)}.btn-primary{background:linear-gradient(180deg, #4a3830 0%, var(--color-text) 100%);color:#f8f3ec}.btn-secondary{background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border)}.btn-accent{background:linear-gradient(180deg, #c9b6d6 0%, var(--color-accent) 100%);color:var(--color-text)}.btn-block{width:100%}.btn:disabled{opacity:.45;cursor:not-allowed;transform:none}.bottom-nav{width:min(100%, var(--max-width));height:var(--nav-height);padding:.45rem .35rem calc(.45rem + env(safe-area-inset-bottom));background:color-mix(in srgb, var(--color-surface-raised) 92%, white);border-top:1px solid var(--color-border);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:30;grid-template-columns:repeat(5,1fr);gap:.15rem;display:grid;position:fixed;bottom:0;left:50%;transform:translate(-50%);box-shadow:0 -8px 24px #3d2f260f}.bottom-nav--admin{grid-template-columns:repeat(6,1fr)}.admin-row{flex-direction:column;gap:.75rem;display:flex}.admin-row-top{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.75rem;min-width:0;display:flex}.admin-time{font-family:var(--font-serif);font-size:1.45rem;font-weight:600}.admin-check{color:var(--color-text);align-items:center;gap:.5rem;font-size:.92rem;display:flex}.especiales-section{border-top:1px solid var(--color-border);flex-direction:column;gap:.85rem;margin-top:.5rem;padding-top:.5rem;display:flex}.especial-card h3{font-size:1.35rem}.especial-card .form-actions,.especial-card .btn{margin-top:.25rem}.nav-item{min-width:0;color:var(--color-text-muted);letter-spacing:0;text-align:center;overflow-wrap:anywhere;border-radius:1rem;flex-direction:column;justify-content:center;align-items:center;gap:.2rem;padding:.35rem .1rem;font-size:.62rem;font-weight:500;line-height:1.15;display:flex}.nav-item span.icon{background:0 0;border-radius:.65rem;place-items:center;width:1.6rem;height:1.6rem;font-size:1.05rem;line-height:1;display:grid}.nav-item.active{color:var(--color-text)}.nav-item.active span.icon{background:var(--color-accent-soft);color:var(--color-accent-deep);box-shadow:var(--shadow-clay-inset)}.welcome{min-height:calc(100dvh - var(--nav-height) - 3rem);text-align:center;justify-content:center;padding-top:1rem}.logo{object-fit:contain;background:0 0;height:auto;display:block}.logo--hero{width:min(70vw,360px);max-width:360px;margin:0 auto 1.25rem}.logo--header{width:2.75rem;max-width:2.75rem}.welcome .tagline{color:var(--color-text-muted);margin:0 0 1.75rem;font-size:1.05rem}.welcome-actions{flex-direction:column;gap:.75rem;width:100%;max-width:280px;margin:0 auto;display:flex}.day-tabs{scrollbar-width:none;gap:.5rem;padding-bottom:.25rem;display:flex;overflow-x:auto}.day-tabs::-webkit-scrollbar{display:none}.day-tab{border-radius:var(--radius-btn);background:var(--color-surface);box-shadow:var(--shadow-clay-inset);color:var(--color-text-muted);border:1px solid #0000;flex:none;padding:.55rem 1rem;font-size:.88rem;font-weight:500}.day-tab.active{background:var(--color-surface-raised);color:var(--color-text);border-color:color-mix(in srgb, var(--color-accent) 45%, var(--color-border));box-shadow:var(--shadow-btn)}.slots-grid{grid-template-columns:repeat(2,1fr);gap:.75rem;display:grid}@media (width>=560px){.slots-grid{grid-template-columns:repeat(3,1fr)}}.slot-card{text-align:left;background:var(--color-surface-raised);box-shadow:var(--shadow-clay);border:1px solid #0000;border-radius:1.15rem;flex-direction:column;gap:.35rem;min-height:5.5rem;padding:1rem;display:flex}.slot-card .time{font-family:var(--font-serif);font-size:1.45rem;font-weight:600;line-height:1}.slot-card .meta{color:var(--color-text-muted);font-size:.78rem}.slot-card.selected{border-color:var(--color-accent);background:linear-gradient(160deg, var(--color-surface-raised), var(--color-accent-soft))}.slot-card.closed{opacity:.55;box-shadow:none;background:var(--color-bg-soft);cursor:not-allowed}.slot-card.closed .meta{color:#a07870}.selection-bar{bottom:calc(var(--nav-height) + .75rem);border-radius:var(--radius-card);background:var(--color-surface-raised);box-shadow:var(--shadow-clay);border:1px solid var(--color-border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;padding:.9rem 1rem;display:flex;position:sticky}.selection-bar p{margin:0;font-size:.9rem}.selection-bar strong{font-family:var(--font-serif);font-size:1.15rem;font-weight:600}.packs-list{flex-direction:column;gap:.9rem;display:flex}.pack-card{text-align:left;border-radius:var(--radius-card);background:var(--color-surface-raised);width:100%;box-shadow:var(--shadow-clay);border:1px solid #0000;flex-direction:column;gap:.35rem;padding:1.25rem 1.3rem;display:flex}.pack-card.selected{border-color:var(--color-accent);background:linear-gradient(160deg, var(--color-surface-raised), var(--color-accent-soft))}.pack-card .pack-top{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.75rem;min-width:0;display:flex}.pack-card h3{font-size:1.45rem}.pack-card .price{min-width:0;font-size:1rem;font-weight:600}.pack-card .price span{color:var(--color-text-muted);font-size:.85rem;font-weight:400}.pack-card .freq{color:var(--color-accent-deep);font-size:.88rem;font-weight:500}.pack-card .desc{color:var(--color-text-muted);margin:.25rem 0 0;font-size:.88rem}.form{flex-direction:column;gap:1rem;display:flex}.field{flex-direction:column;gap:.4rem;display:flex}.field label{color:var(--color-text-muted);font-size:.82rem;font-weight:500}.field input,.field select{border:1px solid var(--color-border);background:var(--color-surface-raised);width:100%;max-width:100%;min-height:2.85rem;box-shadow:var(--shadow-clay-inset);border-radius:1rem;outline:none;padding:.7rem 1rem}.field input:focus,.field select:focus{border-color:var(--color-accent)}.form-error{color:#a07870;margin:0;font-size:.88rem}.form-info{color:var(--color-accent-deep);margin:0;font-size:.88rem}.muted{color:var(--color-text-muted);font-size:.92rem}.section-sub{font-family:var(--font-serif);margin:.5rem 0 0;font-size:1.25rem}.reserva-card{flex-direction:column;gap:.65rem;display:flex}.muted-card{opacity:.75}.summary-card{flex-direction:column;gap:.45rem;display:flex}.summary-card .label{text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted);font-size:.75rem}.summary-row{flex-wrap:wrap;justify-content:space-between;gap:.35rem 1rem;min-width:0;font-size:.95rem;display:flex}.summary-row span,.summary-row strong{overflow-wrap:anywhere;min-width:0}.summary-row strong{font-family:var(--font-serif);text-align:right;font-size:1.1rem;font-weight:600}.form-actions{flex-direction:column;gap:.65rem;margin-top:.35rem;display:flex}.confirm{text-align:center;padding-top:1.5rem}.confirm-icon{background:var(--color-accent-soft);width:4rem;height:4rem;color:var(--color-accent-deep);box-shadow:var(--shadow-clay);border-radius:1.35rem;place-items:center;margin:0 auto 1.25rem;font-size:1.6rem;display:grid}.confirm h1{margin-bottom:.75rem;font-size:clamp(1.9rem,5vw,2.4rem)}.confirm-msg{background:var(--color-danger-soft);max-width:22rem;color:var(--color-text);border-radius:1rem;margin:0 auto 1.5rem;padding:.85rem 1rem;font-size:.95rem;font-weight:500}.confirm-details{text-align:left;margin-bottom:1.5rem}@media (width>=768px){.app-main{padding:2rem 1.75rem calc(var(--nav-height) + 2rem)}.welcome-actions{flex-direction:row;justify-content:center;max-width:none}.welcome-actions .btn{min-width:160px}.form-actions{flex-direction:row}.form-actions .btn{flex:1}}
