:root{--navy:#1b3358;--navy-light:#264573;--cream:#f5f0e8;--cream-dark:#ede7d9;--sand:#d9cdb8;--accent:#7a9e87;--accent2:#c8a96e;--text:#1b3358;--text-light:#4a6080}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;background:var(--cream)}body{background:var(--cream);color:var(--text);min-height:100vh;font-family:Raleway,sans-serif}nav{z-index:100;background:var(--navy);justify-content:space-between;align-items:center;height:64px;padding:0 2.5rem;display:flex;position:sticky;top:0}.nav-logo{color:var(--cream);letter-spacing:.12em;font-family:Cormorant Garamond,serif;font-size:1.6rem;font-weight:600}.nav-logo span{letter-spacing:.35em;text-transform:uppercase;color:var(--sand);margin-top:-4px;font-size:.65rem;font-weight:300;display:block}.nav-links{gap:2rem;display:flex}.nav-links a{color:var(--sand);letter-spacing:.2em;text-transform:uppercase;font-size:.75rem;font-weight:500;text-decoration:none;transition:color .2s}.nav-links a:hover,.nav-links a.active{color:#fff;cursor:pointer}.nav-wave{color:var(--sand);font-size:1.1rem}.hero{background:var(--navy);text-align:center;padding:5rem 2rem 4rem;position:relative;overflow:hidden}.hero:before{content:"";background:radial-gradient(at 60% 40%,#264573 0%,#1b3358 60%,#0f1f36 100%);position:absolute;inset:0}.hero-content{position:relative}.hero-wave{color:var(--sand);letter-spacing:.3em;margin-bottom:1rem;font-size:1.8rem;display:block}.hero h1{color:var(--cream);letter-spacing:.18em;font-family:Cormorant Garamond,serif;font-size:clamp(3rem,8vw,5.5rem);font-weight:300}.hero h1 em{font-style:normal;font-weight:600}.hero-sub{letter-spacing:.45em;text-transform:uppercase;color:var(--sand);margin-top:.5rem;font-size:.72rem;font-weight:400}.hero-divider{background:var(--sand);width:60px;height:1px;margin:2rem auto}.hero-ctas{flex-wrap:wrap;justify-content:center;gap:1rem;display:flex}.btn{letter-spacing:.2em;text-transform:uppercase;cursor:pointer;border:none;padding:.75rem 2.2rem;font-family:Raleway,sans-serif;font-size:.72rem;font-weight:600;text-decoration:none;transition:all .25s;display:inline-block}.btn-primary{background:var(--cream);color:var(--navy)}.btn-primary:hover{background:#fff}.btn-outline{color:var(--cream);background:0 0;border:1px solid #ffffff73}.btn-outline:hover{background:#ffffff14;border-color:#fff}.page{max-width:920px;margin:0 auto;padding:4rem 1.5rem 5rem}.page-header{text-align:center;margin-bottom:3.5rem}.page-header .deco{color:var(--navy);letter-spacing:.3em;font-size:1.4rem}.page-header h2{letter-spacing:.15em;color:var(--navy);margin:.4rem 0;font-family:Cormorant Garamond,serif;font-size:2.6rem;font-weight:300}.page-header p{letter-spacing:.35em;text-transform:uppercase;color:var(--text-light);font-size:.72rem}.hr-fancy{border:none;border-top:1px solid var(--sand);width:80px;margin:1.5rem auto}.carta-grid{grid-template-columns:1fr 1fr;gap:2.5rem 3rem;display:grid}@media (width<=680px){.carta-grid{grid-template-columns:1fr}}.carta-block-header{align-items:center;gap:.6rem;margin-bottom:1.5rem;display:flex}.carta-block-header .icon{font-size:1.3rem}.carta-block-header h3{letter-spacing:.18em;text-transform:uppercase;color:var(--navy);font-family:Cormorant Garamond,serif;font-size:1.4rem;font-weight:600}.menu-item{margin-bottom:1.4rem}.menu-item-name{letter-spacing:.18em;text-transform:uppercase;color:var(--navy);align-items:center;gap:.4rem;font-size:.72rem;font-weight:700;display:flex}.leaf{color:var(--accent);font-size:.9rem}.menu-item-desc{color:var(--text-light);margin-top:.25rem;font-size:.85rem;font-weight:300;line-height:1.55}.menu-sep{border:none;border-top:1px solid var(--sand);margin:1.2rem 0}.siropes{flex-wrap:wrap;gap:.7rem;margin-top:.6rem;display:flex}.sirope-chip{background:var(--cream-dark);border:1px solid var(--sand);letter-spacing:.12em;text-transform:uppercase;color:var(--navy);padding:.3rem .65rem;font-size:.65rem;font-weight:600}.crea-box{border:1.5px solid var(--sand);background:#fff;grid-column:1/-1;margin-top:.5rem;padding:2rem 2.5rem}.crea-box h3{letter-spacing:.18em;text-transform:uppercase;color:var(--navy);align-items:center;gap:.6rem;margin-bottom:1.5rem;font-family:Cormorant Garamond,serif;font-size:1.4rem;font-weight:600;display:flex}.crea-cols{grid-template-columns:1fr 1fr;gap:1.5rem 3rem;display:grid}@media (width<=580px){.crea-cols{grid-template-columns:1fr}}.crea-sub{letter-spacing:.22em;text-transform:uppercase;color:var(--navy);align-items:center;gap:.4rem;margin-bottom:.8rem;font-size:.65rem;font-weight:700;display:flex}.crea-sub .icon{font-size:1rem}.pan-list{list-style:none}.pan-list li{color:var(--text-light);align-items:center;gap:.5rem;padding:.22rem 0;font-size:.82rem;font-weight:300;display:flex}.pan-list li:before{content:"•";color:var(--navy)}.ing-grid{grid-template-columns:1fr 1fr;gap:.35rem 1rem;display:grid}.ing-item{color:var(--text-light);align-items:center;gap:.4rem;font-size:.8rem;font-weight:300;display:flex}.ing-icon{font-size:1rem}.reservas-wrap{max-width:680px;margin:0 auto;padding:4rem 1.5rem 5rem}.reservas-header{text-align:center;margin-bottom:3rem}.reservas-header h2{letter-spacing:.15em;color:var(--navy);font-family:Cormorant Garamond,serif;font-size:2.6rem;font-weight:300}.reservas-header p{letter-spacing:.3em;text-transform:uppercase;color:var(--text-light);margin-top:.4rem;font-size:.75rem}.form-card{border:1.5px solid var(--sand);background:#fff;padding:2.5rem}@media (width<=500px){.form-card{padding:1.5rem}}.form-row{grid-template-columns:1fr 1fr;gap:1.2rem;display:grid}@media (width<=520px){.form-row{grid-template-columns:1fr}}.form-group{flex-direction:column;gap:.4rem;margin-bottom:1.2rem;display:flex}.form-group label{letter-spacing:.2em;text-transform:uppercase;color:var(--navy);font-size:.68rem;font-weight:700}.form-group input,.form-group select,.form-group textarea{color:var(--text);background:var(--cream);border:1px solid var(--sand);outline:none;padding:.65rem .9rem;font-family:Raleway,sans-serif;font-size:.88rem;transition:border-color .2s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--navy)}.form-group textarea{resize:vertical;min-height:80px}.btn-submit{background:var(--navy);width:100%;color:var(--cream);letter-spacing:.25em;text-transform:uppercase;cursor:pointer;border:none;margin-top:.5rem;padding:1rem;font-family:Raleway,sans-serif;font-size:.75rem;font-weight:700;transition:background .25s}.btn-submit:hover{background:var(--navy-light)}.btn-submit:disabled{opacity:.6;cursor:not-allowed}.toast{background:var(--accent);color:#fff;letter-spacing:.08em;text-align:center;margin-top:1rem;padding:1rem 1.5rem;font-size:.82rem;display:none}.toast.show{display:block}.toast.error{background:#c0392b}.loading{text-align:center;color:var(--text-light);padding:2rem;font-style:italic}.reservas-list-wrap{margin-top:3rem}.reservas-list-wrap h3{letter-spacing:.12em;color:var(--navy);border-bottom:1px solid var(--sand);margin-bottom:1.2rem;padding-bottom:.6rem;font-family:Cormorant Garamond,serif;font-size:1.5rem;font-weight:400}.reserva-card{border:1px solid var(--sand);background:#fff;grid-template-columns:1fr auto;align-items:start;gap:.3rem 1rem;margin-bottom:.8rem;padding:1rem 1.4rem;display:grid}.reserva-card-name{color:var(--navy);font-size:.9rem;font-weight:600}.reserva-card-info{color:var(--text-light);font-size:.78rem;font-weight:300}.reserva-card-badge{letter-spacing:.15em;text-transform:uppercase;background:var(--cream-dark);color:var(--navy);white-space:nowrap;align-self:center;padding:.25rem .6rem;font-size:.65rem;font-weight:700}.reserva-card-badge.cancelada{color:#c0392b;background:#f5d0d0}.btn-delete{cursor:pointer;color:#c0392b;letter-spacing:.1em;text-transform:uppercase;background:0 0;border:none;align-self:center;padding:0;font-size:.7rem;font-weight:600}.btn-delete:hover{text-decoration:underline}.no-reservas{color:var(--text-light);text-align:center;padding:1.5rem 0;font-size:.82rem;font-style:italic}.modal-overlay{z-index:200;background:#00000073;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.modal{background:var(--cream);width:100%;max-width:560px;max-height:90vh;padding:2rem;overflow-y:auto}.modal-header{border-bottom:1px solid var(--sand);justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:.8rem;display:flex}.modal-header h3{letter-spacing:.12em;color:var(--navy);font-family:Cormorant Garamond,serif;font-size:1.4rem;font-weight:400}.modal-close{cursor:pointer;color:var(--text-light);background:0 0;border:none;padding:.2rem .4rem;font-size:1.1rem}.modal-close:hover{color:var(--navy)}.modal-footer{border-top:1px solid var(--sand);justify-content:flex-end;gap:1rem;margin-top:1.5rem;padding-top:1rem;display:flex}.btn-modal-cancel{border:1px solid var(--sand);letter-spacing:.15em;text-transform:uppercase;color:var(--text-light);cursor:pointer;background:0 0;padding:.7rem 1.5rem;font-family:Raleway,sans-serif;font-size:.72rem;font-weight:600}.btn-modal-cancel:hover{border-color:var(--navy);color:var(--navy)}.admin-toolbar{border:1.5px solid var(--sand);background:#fff;flex-wrap:wrap;align-items:center;gap:1.5rem;margin-bottom:2rem;padding:1rem 1.5rem;display:flex}.admin-tabs{border:1px solid var(--sand);gap:0;display:flex}.admin-tab{letter-spacing:.15em;text-transform:uppercase;color:var(--text-light);cursor:pointer;background:0 0;border:none;align-items:center;gap:.4rem;padding:.5rem 1.2rem;font-family:Raleway,sans-serif;font-size:.7rem;font-weight:700;transition:all .2s;display:flex}.admin-tab.active{background:var(--navy);color:var(--cream)}.admin-tab-badge{background:var(--accent2);color:#fff;text-align:center;border-radius:10px;min-width:18px;padding:.1rem .4rem;font-size:.6rem;font-weight:700}.admin-check{letter-spacing:.12em;text-transform:uppercase;color:var(--navy);cursor:pointer;align-items:center;gap:.5rem;font-size:.7rem;font-weight:600;display:flex}.admin-logout{width:auto;margin-left:auto;padding:.55rem 1.2rem;font-size:.68rem}.admin-login{max-width:340px}.admin-summary{background:var(--navy);color:var(--cream);align-items:center;gap:1.2rem;margin-bottom:1.8rem;padding:1.2rem 1.8rem;display:flex}.admin-summary-item{flex-direction:column;align-items:center;display:flex}.admin-summary-num{font-family:Cormorant Garamond,serif;font-size:2rem;font-weight:600;line-height:1}.admin-summary-label{letter-spacing:.2em;text-transform:uppercase;color:var(--sand);margin-top:.2rem;font-size:.62rem}.admin-summary-sep{color:var(--sand);padding:0 .2rem;font-size:1.4rem}.admin-fecha-grupo{margin-bottom:2rem}.admin-fecha-header{border-bottom:1px solid var(--sand);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.5rem;margin-bottom:.8rem;padding-bottom:.5rem;display:flex}.admin-fecha-titulo{letter-spacing:.1em;color:var(--navy);text-transform:capitalize;font-family:Cormorant Garamond,serif;font-size:1.3rem;font-weight:400}.admin-fecha-meta{letter-spacing:.12em;text-transform:uppercase;color:var(--text-light);font-size:.7rem}.reserva-card.card-llegado{border-left:3px solid var(--accent);background:#f7faf8}.badge-llegado{background:var(--accent);color:#fff;letter-spacing:.12em;text-transform:uppercase;vertical-align:middle;margin-left:.6rem;padding:.15rem .5rem;font-size:.6rem;font-weight:700;display:inline-block}.reserva-card-actions{flex-direction:column;align-items:flex-end;gap:.4rem;min-width:80px;display:flex}.btn-llegado{border:1px solid var(--sand);cursor:pointer;color:var(--text-light);letter-spacing:.1em;text-transform:uppercase;white-space:nowrap;background:0 0;padding:.25rem .6rem;font-size:.65rem;font-weight:600}.btn-llegado:hover{border-color:var(--accent);color:var(--accent)}.btn-llegado.active{background:var(--accent);color:#fff;border-color:var(--accent)}.btn-edit{cursor:pointer;color:var(--navy);letter-spacing:.1em;text-transform:uppercase;background:0 0;border:none;padding:0;font-size:.7rem;font-weight:600}.btn-edit:hover{text-decoration:underline}.admin-search{background:var(--cream);border:1px solid var(--sand);color:var(--text);outline:none;width:180px;padding:.5rem .9rem;font-family:Raleway,sans-serif;font-size:.8rem;transition:border-color .2s}.admin-search:focus{border-color:var(--navy)}.btn-nueva-reserva{background:var(--accent2);color:#fff;letter-spacing:.15em;text-transform:uppercase;cursor:pointer;white-space:nowrap;border:none;padding:.55rem 1.2rem;font-family:Raleway,sans-serif;font-size:.7rem;font-weight:700;transition:opacity .2s}.btn-nueva-reserva:hover{opacity:.85}.ocupacion-wrap{border:1px solid var(--sand);background:#fff;margin-bottom:2rem;padding:1.2rem 1.5rem 1rem}.ocupacion-label{letter-spacing:.2em;text-transform:uppercase;color:var(--text-light);margin-bottom:1.2rem;font-size:.65rem;font-weight:700}.ocupacion-grid{align-items:flex-end;gap:.5rem;display:flex}.ocupacion-slot{flex-direction:column;flex:1;align-items:center;gap:.2rem;display:flex}.ocupacion-bar-area{flex-direction:column;justify-content:flex-end;align-items:center;width:100%;height:90px;display:flex}.ocupacion-bar{border-radius:2px 2px 0 0;width:100%;transition:height .35s}.ocupacion-hora{color:var(--text-light);white-space:nowrap;margin-top:.25rem;font-size:.58rem;font-weight:600}.ocupacion-num{color:var(--navy);margin-bottom:.15rem;font-size:.62rem;font-weight:700;line-height:1}.semana-chart-wrap{border:1px solid var(--sand);background:#fff;margin-top:1.5rem;padding:1.5rem 1.5rem 1rem}.semana-label{letter-spacing:.2em;text-transform:uppercase;color:var(--text-light);margin-bottom:1.4rem;font-size:.65rem;font-weight:700}.semana-chart{align-items:flex-end;gap:.35rem;display:flex}.semana-col{flex-direction:column;flex:1;align-items:center;gap:.25rem;display:flex}.semana-col.hoy .semana-dia,.semana-col.hoy .semana-fecha{color:var(--navy);font-weight:700}.semana-bar-area{flex-direction:column;justify-content:flex-end;align-items:center;width:100%;height:130px;display:flex}.semana-bar{border-radius:2px 2px 0 0;width:100%;min-height:0;transition:height .4s}.semana-bar-num{color:var(--navy);margin-bottom:.2rem;font-size:.62rem;font-weight:700;line-height:1}.semana-dia{color:var(--text-light);text-transform:capitalize;white-space:nowrap;margin-top:.3rem;font-size:.6rem;font-weight:600}.semana-fecha{color:var(--sand);white-space:nowrap;font-size:.58rem}.slots-empty{color:var(--text-light);margin-top:.25rem;font-size:.75rem;font-style:italic}footer{background:var(--navy);text-align:center;padding:2.5rem 1rem}footer .f-logo{letter-spacing:.18em;color:var(--cream);font-family:Cormorant Garamond,serif;font-size:1.5rem;font-weight:600}footer .f-sub{letter-spacing:.35em;text-transform:uppercase;color:var(--sand);margin-top:.25rem;font-size:.65rem}footer .f-divider{border-top:1px solid #fff3;width:40px;margin:1.2rem auto}footer .f-info{color:var(--sand);font-size:.75rem;font-weight:300;line-height:1.8}footer .f-wave{color:var(--sand);margin-top:1rem;font-size:1.2rem}
