@font-face{font-family:Public Sans;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/public-sans.woff2) format("woff2")}:root{--ink: #0f1c33;--ink-soft: #2a3a55;--muted: #5a6b80;--line: #e3eaf0;--line-strong: #cdd9e3;--brand: #0b6aa8;--brand-dark: #064f7c;--brand-darker: #073a5c;--accent: #f2b705;--accent-dark: #d99e00;--paper: #ffffff;--wash: #f5f8fb;--wash-2: #eef3f8;--radius: 14px;--radius-sm: 10px;--shadow-sm: 0 2px 10px rgba(15, 28, 51, .06);--shadow: 0 14px 40px rgba(15, 28, 51, .1);--shadow-lg: 0 24px 60px rgba(15, 28, 51, .16);--container: 1160px;--font-display: "Public Sans", system-ui, sans-serif;--font-body: "Public Sans", system-ui, sans-serif;--size: 48px;--size-paso: 8px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:var(--font-body);color:var(--ink);background:var(--paper);line-height:1.6;-webkit-font-smoothing:antialiased}h1,h2,h3,h4{font-family:var(--font-display);color:var(--ink);line-height:1.12;margin:0;letter-spacing:-.01em}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.container{width:min(var(--container),calc(100% - 40px));margin-inline:auto}.app{display:flex;flex-direction:column;min-height:100vh}main{flex:1}.eyebrow{display:inline-block;font-family:var(--font-display);font-weight:700;font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:var(--brand);margin-bottom:14px}.eyebrow.light{color:var(--accent)}.lead{color:var(--muted);font-size:18px}.muted{color:var(--muted)}.small{font-size:13px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 24px;border-radius:999px;font-family:var(--font-display);font-weight:700;font-size:15px;cursor:pointer;border:1.5px solid transparent;transition:transform .15s ease,box-shadow .15s ease,background .15s ease,color .15s ease}.btn:active{transform:translateY(1px)}.btn-primary{background:var(--brand);color:#fff;box-shadow:0 8px 20px #0b6aa847}.btn-primary:hover{background:var(--brand-dark)}.btn-ghost{background:transparent;color:var(--brand-dark);border-color:var(--line-strong)}.btn-ghost:hover{border-color:var(--brand);color:var(--brand);background:var(--wash)}.btn-accent{background:var(--accent);color:#3a2c00;box-shadow:0 8px 20px #f2b70559}.btn-accent:hover{background:var(--accent-dark)}.site-header{position:sticky;top:0;z-index:50;background:#ffffffe0;-webkit-backdrop-filter:saturate(180%) blur(12px);backdrop-filter:saturate(180%) blur(12px);border-bottom:1px solid var(--line)}.header-inner{display:flex;align-items:center;justify-content:space-between;min-height:74px;gap:20px}.brand{display:inline-flex;align-items:center;gap:14px}.brand img{width:150px;height:auto}.brand-text{font-family:var(--font-display);font-weight:700;font-size:18px;color:var(--brand-dark);letter-spacing:-.01em;padding-left:14px;border-left:1px solid var(--line);line-height:1.1}@media (max-width: 620px){.brand-text{display:none}}.site-nav{display:flex;align-items:center;gap:4px}.nav-item{font-family:var(--font-display);font-weight:600;font-size:15px;color:var(--ink-soft);padding:10px 14px;border-radius:8px;position:relative;transition:color .15s ease,background .15s ease}.nav-item:hover{color:var(--brand-dark);background:var(--wash)}.nav-item.active{color:var(--brand-dark)}.nav-item.active:after{content:"";position:absolute;left:14px;right:14px;bottom:4px;height:2.5px;border-radius:2px;background:var(--accent)}.nav-cta{margin-left:8px;background:var(--brand);color:#fff;font-family:var(--font-display);font-weight:700;font-size:14px;padding:11px 18px;border-radius:999px;transition:background .15s ease}.nav-cta:hover{background:var(--brand-dark)}.nav-toggle{display:none;flex-direction:column;gap:5px;background:none;border:0;cursor:pointer;padding:8px}.nav-toggle span{width:24px;height:2.5px;background:var(--ink);border-radius:2px;transition:.2s}.hero{background:radial-gradient(1200px 500px at 85% -10%,rgba(11,106,168,.1),transparent 60%),linear-gradient(180deg,var(--wash) 0%,var(--paper) 100%);padding:64px 0 56px}.hero-inner{display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center}.hero-copy h1{font-size:clamp(34px,5vw,58px);font-weight:800;margin-bottom:18px}.hero-copy .lead{max-width:520px;font-size:19px}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}.hero-feature{position:relative;display:block;border-radius:var(--radius);overflow:hidden;aspect-ratio:4 / 3;box-shadow:var(--shadow-lg);background:var(--wash-2)}.hero-feature img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}.hero-feature:hover img{transform:scale(1.04)}.hero-feature-ph{display:grid;place-items:center;height:100%;font-family:var(--font-display);font-weight:800;font-size:48px;color:var(--brand);opacity:.25;letter-spacing:.1em}.hero-feature-overlay{position:absolute;inset:auto 0 0 0;padding:26px 24px 22px;background:linear-gradient(180deg,transparent,rgba(7,40,68,.92));color:#fff}.hero-feature-overlay h2{color:#fff;font-size:22px;margin-top:12px;font-weight:700}.section{padding:64px 0}.section-alt{background:var(--wash)}.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:32px}.section-head h2{font-size:clamp(26px,3vw,36px);font-weight:800}.section-link{font-family:var(--font-display);font-weight:700;color:var(--brand);white-space:nowrap}.section-link:hover{color:var(--brand-dark)}.news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}.news-card{display:flex;flex-direction:column;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-sm);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.news-card:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:var(--line-strong)}.news-media{position:relative;display:block;aspect-ratio:16 / 10;background:var(--wash-2);overflow:hidden}.news-media img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}.news-card:hover .news-media img{transform:scale(1.05)}.news-media.placeholder{display:grid;place-items:center;font-family:var(--font-display);font-weight:800;font-size:30px;color:var(--brand);opacity:.25;letter-spacing:.1em}.news-chip{position:absolute;top:12px;left:12px;color:#fff;font-family:var(--font-display);font-weight:700;font-size:12px;letter-spacing:.02em;padding:5px 11px;border-radius:999px;box-shadow:0 4px 12px #0000002e}.news-body{padding:20px 22px 22px;display:flex;flex-direction:column;flex:1}.news-date{font-size:13px;color:var(--muted);font-weight:600}.news-title{font-size:19px;font-weight:700;margin:8px 0 10px;line-height:1.25}.news-title a:hover{color:var(--brand-dark)}.news-excerpt{color:var(--muted);font-size:15px;margin:0 0 16px;flex:1}.news-more{font-family:var(--font-display);font-weight:700;font-size:14px;color:var(--brand);align-self:flex-start}.news-more:hover{color:var(--brand-dark)}.band{background:linear-gradient(135deg,var(--brand-darker),var(--brand-dark));color:#fff;padding:60px 0}.band-inner{display:grid;grid-template-columns:1.2fr 1fr;gap:48px;align-items:center}.band h2{color:#fff;font-size:clamp(26px,3vw,36px);font-weight:800;margin-bottom:14px}.band p{color:#ffffffd9;font-size:18px;max-width:540px;margin:0 0 26px}.band .btn-primary{background:#fff;color:var(--brand-dark);box-shadow:0 8px 20px #0003}.band .btn-primary:hover{background:var(--accent);color:#3a2c00}.band-stats{display:grid;grid-template-columns:1fr 1fr 1fr;gap:18px}.stat{background:#ffffff14;border:1px solid rgba(255,255,255,.16);border-radius:var(--radius-sm);padding:20px 16px;text-align:center}.stat strong{display:block;font-family:var(--font-display);font-size:26px;font-weight:800}.stat span{font-size:13px;color:#fffc}.benefit-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.benefit-card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:28px 24px;box-shadow:var(--shadow-sm);transition:transform .2s ease,box-shadow .2s ease}.benefit-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}.benefit-icon{display:inline-grid;place-items:center;width:52px;height:52px;font-size:26px;background:var(--wash-2);border-radius:14px;margin-bottom:16px}.benefit-card h3{font-size:19px;font-weight:700;margin-bottom:8px}.benefit-card p{color:var(--muted);font-size:15px;margin:0 0 12px}.cta-mundial{background:radial-gradient(800px 300px at 10% 0%,rgba(242,183,5,.12),transparent 60%),linear-gradient(135deg,#0a2540,#07304f);color:#fff;padding:56px 0}.cta-inner{display:flex;align-items:center;justify-content:space-between;gap:30px;flex-wrap:wrap}.cta-mundial h2{color:#fff;font-size:34px;font-weight:800}.cta-mundial p{color:#ffffffd1;margin:8px 0 0;max-width:460px}.page-head{background:linear-gradient(180deg,var(--wash),var(--paper));padding:56px 0 8px;border-bottom:1px solid var(--line)}.page-head h1{font-size:clamp(32px,4.5vw,50px);font-weight:800}.page-head .lead{margin-top:14px;max-width:620px}.filters{display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;align-items:center;margin-bottom:30px}.chips{display:flex;flex-wrap:wrap;gap:8px}.chip{font-family:var(--font-display);font-weight:600;font-size:14px;padding:8px 16px;border-radius:999px;border:1.5px solid var(--line-strong);background:var(--paper);color:var(--ink-soft);cursor:pointer;transition:.15s ease}.chip:hover{border-color:var(--brand);color:var(--brand-dark)}.chip.active{background:var(--brand);border-color:var(--brand);color:#fff}.search{display:flex;align-items:center}.search input{height:42px;border:1.5px solid var(--line-strong);border-radius:999px 0 0 999px;border-right:0;padding:0 16px;font-family:var(--font-body);font-size:15px;outline:none;min-width:180px}.search input:focus{border-color:var(--brand)}.search button{height:42px;border:1.5px solid var(--brand);background:var(--brand);color:#fff;border-radius:0 999px 999px 0;padding:0 16px;cursor:pointer}.pagination{display:flex;align-items:center;justify-content:center;gap:18px;margin-top:44px}.pagination button{font-family:var(--font-display);font-weight:700;font-size:14px;padding:10px 18px;border-radius:999px;border:1.5px solid var(--line-strong);background:var(--paper);cursor:pointer;transition:.15s ease}.pagination button:hover:not(:disabled){border-color:var(--brand);color:var(--brand-dark)}.pagination button:disabled{opacity:.4;cursor:not-allowed}.pagination span{font-size:14px;color:var(--muted)}.article{padding-bottom:64px}.article-head{padding:48px 0 24px;max-width:820px}.back-link{color:var(--brand);font-weight:700;font-family:var(--font-display);font-size:14px}.back-link:hover{color:var(--brand-dark)}.article-head h1{font-size:clamp(30px,4vw,46px);font-weight:800;margin:16px 0 12px}.article-head .news-chip{position:static;display:inline-block;margin-top:14px}.article-date{color:var(--muted);font-weight:600;font-size:15px}.article-hero{width:100%;max-height:460px;object-fit:cover;border-radius:var(--radius);margin:8px 0;box-shadow:var(--shadow)}.article-body{max-width:760px;padding-top:28px}.article-body p{font-size:18px;color:var(--ink-soft);margin:0 0 20px}.article-lead{font-size:21px!important;font-weight:600;color:var(--ink)!important}.article-body hr{border:0;border-top:1px solid var(--line);margin:32px 0}.article-source a{color:var(--brand);font-weight:700}.prose{max-width:800px}.prose h2{font-size:30px;font-weight:800;margin-bottom:16px}.prose p{font-size:18px;color:var(--ink-soft)}.comision-foto{margin:0 0 36px}.comision-foto img{width:100%;max-height:480px;object-fit:cover;border-radius:var(--radius);box-shadow:var(--shadow)}.comision-foto figcaption{margin-top:12px;text-align:center;color:var(--muted);font-size:14px;font-weight:600}.people-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}.person-card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:26px 18px;text-align:center;box-shadow:var(--shadow-sm)}.person-avatar{width:88px;height:88px;margin:0 auto 14px;border-radius:50%;background:linear-gradient(135deg,var(--brand),var(--brand-dark));display:grid;place-items:center;overflow:hidden;color:#fff;font-family:var(--font-display);font-weight:800;font-size:32px}.person-avatar img{width:100%;height:100%;object-fit:cover}.person-card h3{font-size:18px;font-weight:700}.person-role{color:var(--brand-dark);font-weight:600;font-size:14px;margin-top:4px}.values-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.value{border-left:4px solid var(--accent);padding:6px 0 6px 20px}.value h3{font-size:20px;font-weight:700;margin-bottom:8px}.value p{color:var(--muted);margin:0}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:start}.contact-item{display:flex;gap:16px;padding:16px 0;border-bottom:1px solid var(--line)}.contact-icon{flex:none;width:46px;height:46px;display:grid;place-items:center;background:var(--wash-2);border-radius:12px;font-size:22px}.contact-item h4{font-size:15px;margin-bottom:2px}.contact-item p{margin:0;color:var(--muted)}.contact-item a{color:var(--brand-dark);font-weight:600}.contact-social{margin-top:22px}.contact-social h4{margin-bottom:10px}.contact-card{background:var(--wash);border:1px solid var(--line);border-radius:var(--radius);padding:32px;box-shadow:var(--shadow-sm)}.contact-card h3{font-size:24px;font-weight:800;margin-bottom:12px}.contact-card .btn{margin:18px 0}.social-row{display:flex;gap:10px;margin-top:14px}.social-icon{width:40px;height:40px;display:grid;place-items:center;border-radius:50%;background:var(--wash-2);color:var(--brand-dark);transition:.15s ease}.social-icon:hover{background:var(--brand);color:#fff;transform:translateY(-2px)}.site-footer{background:#0a1729;color:#ffffffbf;margin-top:auto}.footer-grid{display:grid;grid-template-columns:minmax(260px,2fr) repeat(auto-fit,minmax(160px,1fr));gap:36px;padding:54px 0 40px}.footer-brand img{width:160px;filter:brightness(0) invert(1);opacity:.92;margin-bottom:16px}.footer-brand p{font-size:14px;line-height:1.6}.footer-col h4{color:#fff;font-size:14px;text-transform:uppercase;letter-spacing:.06em;margin-bottom:14px}.footer-col a,.footer-col span{display:block;font-size:14px;color:#ffffffb3;margin-bottom:9px;transition:color .15s ease}.footer-col a:hover{color:var(--accent)}.footer-brand .social-icon{background:#ffffff1a;color:#fff}.footer-brand .social-icon:hover{background:var(--brand)}.footer-bottom{border-top:1px solid rgba(255,255,255,.1);padding:18px 0;font-size:13px;color:#ffffff8c}.state{display:flex;flex-direction:column;align-items:center;gap:12px;padding:60px 20px;color:var(--muted)}.state.error p{color:var(--ink)}.spinner{width:34px;height:34px;border:3px solid var(--line-strong);border-top-color:var(--brand);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.notfound{text-align:center;padding:60px 0}.notfound h1{font-size:96px;font-weight:800;color:var(--brand)}@media (max-width: 920px){.hero-inner{grid-template-columns:1fr;gap:36px}.hero-feature{order:-1;aspect-ratio:16/10}.band-inner{grid-template-columns:1fr;gap:30px}.news-grid,.benefit-grid,.people-grid{grid-template-columns:repeat(2,1fr)}.values-grid,.contact-grid{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr 1fr}}@media (max-width: 760px){.nav-toggle{display:flex}.site-nav{position:absolute;top:74px;left:0;right:0;flex-direction:column;align-items:stretch;gap:2px;background:var(--paper);border-bottom:1px solid var(--line);padding:12px 20px 18px;box-shadow:var(--shadow);transform:translateY(-12px);opacity:0;pointer-events:none;transition:.18s ease}.site-nav.open{transform:translateY(0);opacity:1;pointer-events:auto}.nav-item{padding:12px 14px;font-size:16px}.nav-item.active:after{display:none}.nav-cta{margin:8px 0 0;text-align:center}}@media (max-width: 560px){.news-grid,.benefit-grid,.people-grid,.band-stats,.footer-grid{grid-template-columns:1fr}.section{padding:48px 0}.filters{flex-direction:column;align-items:stretch}.search input{flex:1}}.btn-sm{min-height:38px;padding:0 16px;font-size:14px}.auth-box{display:flex;align-items:center;gap:10px}.auth-user{font-weight:700;color:var(--brand-dark)}.amen-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:22px}.amen-card{display:flex;flex-direction:column;justify-content:space-between;gap:14px;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:24px;box-shadow:var(--shadow-sm);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.amen-card:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:var(--line-strong)}.amen-card h3{font-size:20px;margin-bottom:6px}.amen-card>.news-more{margin-top:2px}.amen-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.tag{display:inline-block;padding:4px 12px;border-radius:999px;background:var(--wash-2);color:var(--ink-soft);font-size:13px;font-weight:600}.tag.accent{background:#fdf3d0;color:#6b5200}.amen-layout{display:grid;grid-template-columns:320px 1fr;gap:34px;align-items:start}.amen-rules{background:var(--wash);border:1px solid var(--line);border-radius:var(--radius);padding:22px 24px;position:sticky;top:96px}.amen-rules h3{font-size:18px;margin-bottom:10px}.amen-rules ul{margin:0;padding-left:18px;color:var(--ink-soft);font-size:14.5px}.amen-rules li{margin-bottom:7px}.amen-booking h3{font-size:20px;margin-bottom:14px}.day-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(76px,1fr));gap:10px;margin-bottom:22px}.day-chip{display:flex;flex-direction:column;align-items:center;gap:1px;padding:10px 4px;border-radius:var(--radius-sm);border:1.5px solid var(--line-strong);background:var(--paper);cursor:pointer;font-family:var(--font-body);transition:border-color .15s ease,background .15s ease,transform .15s ease}.day-chip:hover{border-color:var(--brand);transform:translateY(-2px)}.day-chip.selected{border-color:var(--brand);background:var(--brand);color:#fff}.day-chip.selected .day-dow,.day-chip.selected .day-mes{color:#ffffffd9}.day-dow{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}.day-num{font-family:var(--font-display);font-weight:800;font-size:20px;line-height:1.1}.day-mes{font-size:11px;color:var(--muted)}.amen-form,.amen-login-cta{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:24px;box-shadow:var(--shadow-sm)}.amen-login-cta{text-align:center}.amen-login-cta p{margin-top:0}.amen-form h3{margin-bottom:16px}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}.field>span{font-size:13.5px;font-weight:600;color:var(--ink-soft)}.field input,.field select,.field textarea,.aviso-form input{border:1.5px solid var(--line-strong);border-radius:var(--radius-sm);padding:10px 14px;font:inherit;font-size:15px;color:var(--ink);background:var(--paper);outline:none;min-height:var(--size)}.field textarea{min-height:calc(var(--size) * 1.5);resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--brand)}.guest-row{display:flex;gap:8px;margin-bottom:8px}.guest-row input{flex:1;min-width:0}.guest-del{border:none;background:var(--wash-2);color:var(--muted);border-radius:var(--radius-sm);width:40px;cursor:pointer;font-size:14px}.guest-del:hover{background:#fbe5e5;color:#a33}.form-error{background:#fdecec;border:1px solid #f3c1c1;color:#8e2323;border-radius:var(--radius-sm);padding:10px 14px;font-size:14.5px}.amen-confirm{text-align:center;max-width:560px}.amen-confirm h1{margin:10px 0}.amen-confirm-actions{display:flex;gap:12px;justify-content:center;margin-top:22px;flex-wrap:wrap}.reserva-list{display:flex;flex-direction:column;gap:16px;max-width:720px;margin-inline:auto}.reserva-card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:20px 24px;box-shadow:var(--shadow-sm)}.reserva-head{display:flex;justify-content:space-between;align-items:start;gap:12px}.reserva-head h3{font-size:18px}.reserva-head p{margin:4px 0 0}.estado-chip{padding:4px 12px;border-radius:999px;font-size:13px;font-weight:700;white-space:nowrap}.estado-chip.confirmada{background:#e2f5e9;color:#146c2e}.estado-chip.pendiente{background:#fdf3d0;color:#6b5200}.estado-chip.cancelada{background:var(--wash-2);color:var(--muted)}.reserva-actions{display:flex;gap:10px;margin-top:14px;flex-wrap:wrap}.btn.danger{color:#a33;border-color:#e8c4c4}.btn.danger:hover{background:#fbe5e5;border-color:#d99;color:#8e2323}.aviso-form{display:flex;gap:8px;align-items:center;flex-wrap:wrap}@media (max-width: 860px){.amen-layout{grid-template-columns:1fr}.amen-rules{position:static}.auth-box{margin-top:8px}}.admin-tabs{display:flex;gap:8px;margin-top:20px}.admin-tab{border:1.5px solid var(--line-strong);background:var(--paper);color:var(--ink-soft);border-radius:999px;padding:9px 20px;font-family:var(--font-display);font-weight:700;font-size:14px;cursor:pointer;transition:.15s ease}.admin-tab:hover{border-color:var(--brand);color:var(--brand)}.admin-tab.active{background:var(--brand);border-color:var(--brand);color:#fff}.admin-espacios,.reserva-list.admin{max-width:880px;margin-inline:auto;display:flex;flex-direction:column;gap:16px}.admin-filtros{max-width:880px;margin:0 auto 18px}.admin-filtros select{border:1.5px solid var(--line-strong);border-radius:var(--radius-sm);padding:9px 14px;font:inherit;background:var(--paper)}.admin-editor{margin-top:16px;border-top:1px solid var(--line);padding-top:16px}.admin-fields{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:4px 18px}.admin-fields.nombre{grid-template-columns:1fr}.admin-switches{display:flex;flex-wrap:wrap;gap:4px 28px;margin:6px 0 14px}.admin-editor details{margin:8px 0 14px}.admin-editor summary{cursor:pointer;font-weight:600;color:var(--brand-dark);font-size:14.5px}.admin-json{width:100%;font-family:ui-monospace,Cascadia Code,Menlo,monospace;font-size:13px;border:1.5px solid var(--line-strong);border-radius:var(--radius-sm);padding:12px;margin-top:10px;background:var(--wash)}.form-ok{background:#e2f5e9;border:1px solid #bfe5cc;color:#146c2e;border-radius:var(--radius-sm);padding:10px 14px;font-size:14.5px}.stepper{display:inline-flex;align-items:stretch}.stepper button{width:var(--size);min-height:var(--size);border:1.5px solid var(--line-strong);background:var(--paper);color:var(--brand-dark);font-size:20px;font-weight:700;cursor:pointer;transition:background .15s ease,border-color .15s ease;touch-action:manipulation;-webkit-user-select:none;user-select:none}.stepper button:first-child{border-radius:var(--radius-sm) 0 0 var(--radius-sm);border-right:0}.stepper button:last-child{border-radius:0 var(--radius-sm) var(--radius-sm) 0;border-left:0}.stepper button:hover{background:var(--wash);border-color:var(--brand)}.stepper button:disabled{opacity:.4;cursor:default}.stepper input{width:92px;min-height:var(--size);border:1.5px solid var(--line-strong);border-radius:0;text-align:center;font:inherit;font-size:15px;color:var(--ink);background:var(--paper);outline:none;-moz-appearance:textfield}.stepper input::-webkit-outer-spin-button,.stepper input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.stepper input:focus{border-color:var(--brand)}.segmented{display:flex;flex-wrap:wrap;gap:8px}.segmented button{min-height:var(--size);padding:0 18px;border-radius:var(--radius-sm);border:1.5px solid var(--line-strong);background:var(--paper);color:var(--ink-soft);font:inherit;font-weight:600;cursor:pointer;transition:.15s ease}.segmented button:hover{border-color:var(--brand);color:var(--brand)}.segmented button.on{background:var(--brand);border-color:var(--brand);color:#fff}.caldis-atajo-label{font-weight:700;font-size:14.5px;margin:0 0 8px}.day-grid.atajo{grid-template-columns:repeat(auto-fill,minmax(96px,1fr));max-width:520px;margin-bottom:20px}.caldis-head{display:flex;align-items:center;justify-content:space-between;margin:4px 0 10px}.caldis-mes{font-family:var(--font-display);font-weight:800;font-size:17px;text-transform:capitalize}.caldis-nav{display:flex;gap:8px}.caldis-nav button{width:42px;height:42px;border-radius:var(--radius-sm);border:1.5px solid var(--line-strong);background:var(--paper);color:var(--brand-dark);font-size:18px;font-weight:700;cursor:pointer}.caldis-nav button:hover:not(:disabled){border-color:var(--brand);background:var(--wash)}.caldis-nav button:disabled{opacity:.35;cursor:default}.caldis-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;max-width:560px}.caldis-dow{text-align:center;font-size:11.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);padding-bottom:4px}.caldis-dia{position:relative;min-height:50px;border-radius:var(--radius-sm);border:1.5px solid var(--line-strong);background:#eaf3fa;font:inherit;font-size:16px;font-weight:700;color:var(--brand-dark);font-variant-numeric:tabular-nums;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;transition:border-color .15s ease,background .15s ease;padding:4px 2px}.caldis-dia:hover:not(:disabled){border-color:var(--brand);background:#ddedf9}.caldis-dia:disabled{cursor:default}.caldis-dia.fuera{border-color:transparent;background:transparent;color:var(--muted);opacity:.4;font-weight:500}.caldis-dia.ocupado{background:#f9e7e7;border-color:transparent;color:#9c3535;text-decoration:line-through;font-weight:600}.caldis-dia.sel{background:var(--brand);border-color:var(--brand);color:#fff}.caldis-puntos{display:flex;gap:3px;height:6px}.caldis-punto{width:6px;height:6px;border-radius:50%;background:var(--brand)}.caldis-punto.tomado{background:var(--line-strong)}.caldis-dia.sel .caldis-punto{background:#fff}.caldis-dia.sel .caldis-punto.tomado{background:#ffffff73}.caldis-leyenda{display:flex;flex-wrap:wrap;gap:10px 20px;margin:16px 0 22px;font-size:13.5px;color:var(--muted)}.caldis-leyenda span{display:inline-flex;align-items:center;gap:7px}.caldis-leyenda .ley{width:16px;height:16px;border-radius:5px;border:1.5px solid var(--line-strong);display:inline-block}.caldis-leyenda .li{background:#eaf3fa}.caldis-leyenda .oc{background:#f9e7e7;border-color:transparent}.caldis-leyenda .fu{border-color:transparent;opacity:.4;background:var(--wash-2)}.caldis-leyenda .se{background:var(--brand);border-color:var(--brand)}.caldis-leyenda .pu{width:7px;height:7px;border-radius:50%;background:var(--brand);border:none}.reserva-card{border-left:4px solid var(--line)}.reserva-card.borde-confirmada{border-left-color:#2e9e57}.reserva-card.borde-pendiente{border-left-color:var(--accent)}.reserva-card.borde-cancelada{border-left-color:var(--line-strong)}.modulo-icono{font-size:34px;display:block;margin-bottom:10px}.badge-pend{display:inline-block;margin-top:12px;padding:5px 14px;border-radius:999px;background:#fdf3d0;color:#6b5200;font-size:13px;font-weight:700}
