:root{--brand:#69bcc5;--brand-dark:#2f7f88;--ink:#162126;--muted:#657278;--soft:#eff7f7;--line:#dbe6e7;--white:#fff;--danger:#b54848;--ok:#2e8b68;--warn:#ad7519;--radius:24px;--shadow:0 18px 55px rgba(24,54,58,.12)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:'DM Sans',sans-serif;color:var(--ink);background:#fbfdfd}h1,h2,h3{font-family:'Manrope',sans-serif;letter-spacing:-.04em;margin:0}p{line-height:1.65;color:var(--muted)}a{color:inherit}.hidden{display:none!important}.site-header{height:82px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(20px,5vw,78px);position:sticky;top:0;background:rgba(251,253,253,.94);backdrop-filter:blur(14px);z-index:20;border-bottom:1px solid rgba(219,230,231,.8)}.brand{text-decoration:none;display:inline-grid;grid-template-columns:auto auto;align-items:end;column-gap:3px;font-family:'Manrope';font-weight:800;letter-spacing:-.06em}.brand-mark{color:var(--brand-dark);font-size:25px}.brand-health{font-size:25px}.brand small{grid-column:1/3;font-size:7px;letter-spacing:.3em;color:#718388;margin-top:1px}.site-header nav{display:flex;gap:26px;align-items:center}.site-header nav>a{text-decoration:none;font-weight:600;font-size:14px}.menu-btn{display:none;border:0;background:none;font-size:28px}.btn{border:0;border-radius:999px;padding:12px 20px;font-weight:700;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;font-family:inherit}.btn-primary{background:var(--brand-dark);color:white;box-shadow:0 7px 20px rgba(47,127,136,.2)}.btn-ghost{background:white;border:1px solid var(--line);color:var(--ink)}.btn-danger{background:#fff1f1;color:var(--danger);border:1px solid #f2cccc}.btn-sm{padding:8px 12px;font-size:12px}.btn-lg{padding:15px 25px}.full{width:100%}.hero{min-height:calc(100vh - 82px);display:grid;grid-template-columns:1.08fr .92fr;gap:7vw;align-items:center;padding:70px clamp(20px,7vw,110px)}.eyebrow{font-size:12px;letter-spacing:.18em;font-weight:800;color:var(--brand-dark)}.hero h1{font-size:clamp(55px,7vw,105px);line-height:.92;max-width:780px;margin:17px 0 24px}.hero h1 em{color:var(--brand-dark);font-style:normal}.hero-copy>p{font-size:19px;max-width:650px}.hero-actions{display:flex;gap:12px;margin:32px 0}.hero-stats{display:flex;gap:36px;border-top:1px solid var(--line);padding-top:25px;margin-top:36px}.hero-stats div{display:grid;gap:3px}.hero-stats strong{font-family:'Manrope';font-size:25px}.hero-stats span{font-size:12px;color:var(--muted)}.hero-visual{position:relative;max-width:560px}.photo-card{background:linear-gradient(145deg,#ccebed,#7fc7cf 55%,#2e7e87);padding:14px;border-radius:42px;box-shadow:var(--shadow);transform:rotate(1.5deg)}.photo-placeholder{height:590px;border-radius:32px;background:linear-gradient(145deg,rgba(255,255,255,.2),rgba(13,83,90,.18)),radial-gradient(circle at 35% 25%,rgba(255,255,255,.8),transparent 32%);display:flex;flex-direction:column;justify-content:flex-end;padding:50px;color:white}.photo-placeholder span{font-size:12px;letter-spacing:.22em}.photo-placeholder strong{font-family:'Manrope';font-size:52px;line-height:.95;margin:8px 0 20px}.photo-placeholder small{opacity:.8}.floating-card{position:absolute;left:-40px;bottom:38px;max-width:210px;background:white;border-radius:18px;padding:16px 20px;box-shadow:var(--shadow);display:grid;z-index:2}.floating-card span,.floating-card small{font-size:11px;color:var(--muted)}.section{padding:100px clamp(20px,7vw,110px)}.section.soft{background:var(--soft)}.section-head{max-width:720px;margin-bottom:48px}.section-head h2,.contact h2{font-size:clamp(38px,5vw,65px);margin:10px 0 13px}.section-head>p{font-size:17px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.service-card,.team-card,.price-card{background:white;border:1px solid var(--line);border-radius:var(--radius);padding:28px}.service-card>span{color:var(--brand-dark);font-weight:800;font-size:12px}.service-card h3{font-size:24px;margin:28px 0 12px}.service-card small{font-weight:700;color:var(--brand-dark)}.schedule-wrap{overflow:auto;background:white;border-radius:var(--radius);border:1px solid var(--line)}.schedule{width:100%;border-collapse:collapse;min-width:800px}.schedule th,.schedule td{text-align:left;padding:19px 22px;border-bottom:1px solid var(--line)}.schedule th{font-size:12px;letter-spacing:.12em;color:var(--brand-dark)}.schedule td:first-child{font-weight:800}.fineprint{font-size:12px}.price-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:18px;max-width:950px}.price-card.featured{background:var(--ink);color:white;border:0}.price-card.featured p,.price-card.featured li{color:#cfd8da}.price-card>span{font-size:11px;font-weight:800;letter-spacing:.14em;color:var(--brand)}.price-card h3{font-size:28px;margin:16px 0}.price{font-family:'Manrope';font-size:60px;font-weight:800}.price small{font-size:15px}.price-card ul{padding-left:20px;line-height:2;margin-bottom:26px}.team-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.team-card{padding:36px}.avatar-lg{width:68px;height:68px;border-radius:50%;display:grid;place-items:center;background:var(--soft);color:var(--brand-dark);font-weight:800}.team-card h3{font-size:28px;margin:22px 0 8px}.testimonial-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.testimonial-grid blockquote{margin:0;border:1px solid var(--line);background:white;border-radius:var(--radius);padding:30px;font-size:19px;line-height:1.6}.testimonial-grid cite{display:block;font-size:12px;color:var(--brand-dark);font-style:normal;font-weight:700;margin-top:18px}.contact{display:flex;align-items:flex-end;justify-content:space-between;background:var(--ink);color:white;gap:40px}.contact p{color:#c6d0d2}.contact-data{display:flex;flex-wrap:wrap;gap:12px 26px}.contact-data a,.contact-data span{color:white;font-weight:600}.contact .eyebrow{color:var(--brand)}footer{display:flex;justify-content:space-between;align-items:center;padding:35px clamp(20px,7vw,110px);border-top:1px solid var(--line)}footer p{font-size:12px}.footer-brand{transform:scale(.8);transform-origin:left}.link-btn{border:0;background:none;color:var(--brand-dark);text-decoration:underline;font-weight:700;cursor:pointer}.modal{position:fixed;inset:0;background:rgba(11,29,32,.65);display:grid;place-items:center;padding:20px;z-index:60;backdrop-filter:blur(8px)}.modal-card{background:white;border-radius:28px;padding:38px;width:min(460px,100%);box-shadow:var(--shadow);position:relative}.modal-card h2{font-size:34px;margin:10px 0}.modal-card label{display:grid;gap:6px;font-size:12px;font-weight:700;margin:16px 0}.modal-card input,.form-control{width:100%;padding:13px 14px;border-radius:13px;border:1px solid var(--line);font:inherit;background:white}.modal-close{position:absolute;right:17px;top:14px;border:0;background:none;font-size:27px;cursor:pointer}.demo-box{margin-top:18px;padding:13px;background:var(--soft);border-radius:12px;display:grid;gap:4px}.toast{position:fixed;right:24px;top:94px;padding:13px 18px;background:var(--ink);color:white;border-radius:13px;z-index:100;opacity:0;transform:translateY(-8px);pointer-events:none;transition:.25s}.toast.show{opacity:1;transform:none}.app-shell{min-height:calc(100vh - 82px);background:#f5f8f8;padding:32px clamp(15px,4vw,55px)}.app-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px}.app-top h1{font-size:32px}.app-layout{display:grid;grid-template-columns:230px 1fr;gap:24px}.side{background:var(--ink);border-radius:22px;padding:18px;color:white;height:max-content;position:sticky;top:110px}.side button{width:100%;text-align:left;padding:11px 12px;border:0;background:transparent;color:#cad5d6;border-radius:10px;font:inherit;font-weight:600;cursor:pointer}.side button.active,.side button:hover{background:#294145;color:white}.panel{background:white;border:1px solid var(--line);border-radius:22px;padding:24px}.grid-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.kpi{background:var(--soft);padding:18px;border-radius:16px}.kpi span{font-size:12px;color:var(--muted)}.kpi strong{display:block;font-family:'Manrope';font-size:27px;margin-top:5px}.table-wrap{overflow:auto}.data-table{width:100%;border-collapse:collapse;min-width:700px}.data-table th,.data-table td{padding:13px 10px;border-bottom:1px solid var(--line);text-align:left;font-size:13px}.data-table th{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.badge{display:inline-flex;padding:5px 9px;border-radius:999px;font-size:11px;font-weight:800;background:var(--soft);color:var(--brand-dark)}.badge.ok{background:#eaf7f1;color:var(--ok)}.badge.warn{background:#fff5df;color:var(--warn)}.badge.danger{background:#fff0f0;color:var(--danger)}.session-list{display:grid;gap:12px}.session{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px;border:1px solid var(--line);border-radius:16px}.session-main strong{display:block}.session-main small{color:var(--muted)}.action-row{display:flex;gap:8px;flex-wrap:wrap}.split{display:grid;grid-template-columns:1fr 1fr;gap:20px}.notice{padding:15px;border-radius:13px;background:#edf7f8;color:#326d73;font-size:13px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form-grid label{font-size:12px;font-weight:700;display:grid;gap:5px}.section-title{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:18px}.section-title h2{font-size:24px}.empty{padding:30px;text-align:center;color:var(--muted)}@media(max-width:980px){.site-header nav{position:absolute;top:var(--header-h,82px);left:0;right:0;background:white;display:none;flex-direction:column;align-items:stretch;padding:20px;border-bottom:1px solid var(--line)}.site-header nav.open{display:flex}.menu-btn{display:block}.hero{grid-template-columns:1fr;padding-top:45px}.hero-visual{margin:20px auto}.photo-placeholder{height:440px}.service-grid{grid-template-columns:1fr 1fr}.testimonial-grid{grid-template-columns:1fr}.app-layout{grid-template-columns:1fr}.side{display:flex;overflow:auto;position:static}.side button{min-width:max-content;width:auto}.grid-cards{grid-template-columns:1fr 1fr}}@media(max-width:650px){.hero h1{font-size:55px}.hero-stats{gap:18px}.floating-card{left:10px}.service-grid,.team-grid,.price-grid,.split,.form-grid{grid-template-columns:1fr}.contact,footer{align-items:flex-start;flex-direction:column}.section{padding-top:70px;padding-bottom:70px}.grid-cards{grid-template-columns:1fr}.app-top{align-items:flex-start;gap:10px;flex-direction:column}.session{align-items:flex-start;flex-direction:column}}

/* SEOHEALTH brand assets + updated pricing/team */
.brand-logo{display:block;line-height:0}.brand-logo img{display:block;width:min(300px,30vw);height:auto;object-fit:contain;object-position:left center}.site-header .brand-logo img{width:min(300px,30vw)}.footer-brand.brand-logo{transform:none}.footer-brand.brand-logo img{width:180px}.price-grid-4{grid-template-columns:repeat(4,1fr);max-width:none}.price-grid-4 .price-card{display:flex;flex-direction:column;min-height:300px}.price-grid-4 .price{font-size:48px}.price-grid-4 .price-card p{margin-top:auto}.price-cta{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:22px;padding:22px 26px;background:var(--soft);border:1px solid var(--line);border-radius:var(--radius)}.price-cta p{margin:0;max-width:720px}.team-photo-card{padding:0;overflow:hidden}.team-photo{display:block;width:100%;height:520px;object-fit:cover;object-position:center top}.team-copy{padding:28px 32px 34px}.team-copy h3{margin:0 0 10px}.team-copy p{margin:0}.hero-visual .photo-card{overflow:hidden}
.site-header{height:auto;min-height:0;padding:14px clamp(20px,5vw,78px)}
.hero{min-height:calc(100vh - var(--header-h,72px))}
.hero h1{font-size:clamp(42px,6vw,74px);line-height:.98;max-width:620px;margin:16px 0 22px}
.hero-copy>p{font-size:18px;max-width:560px}
@media(max-width:650px){.hero h1{font-size:42px}}
.app-shell{min-height:calc(100vh - var(--header-h,72px))}
@media(max-width:1100px){.price-grid-4{grid-template-columns:repeat(2,1fr)}}
@media(max-width:650px){.brand-logo img,.site-header .brand-logo img{width:min(160px,36vw)}.price-grid-4{grid-template-columns:1fr}.price-cta{align-items:flex-start;flex-direction:column}.team-photo{height:430px}}

/* Real center photography */
.hero-photo-card{position:relative;padding:0;background:#17363a;transform:none;min-height:620px}.hero-photo{display:block;width:100%;height:620px;object-fit:cover;object-position:center center;border-radius:38px;filter:saturate(.92) contrast(1.02)}.hero-photo-card:after{content:"";position:absolute;inset:0;border-radius:38px;background:linear-gradient(180deg,rgba(10,27,30,.03) 40%,rgba(10,27,30,.78) 100%)}.hero-photo-overlay{position:absolute;left:34px;right:34px;bottom:34px;z-index:2;color:white;display:grid;gap:7px}.hero-photo-overlay span{font-size:11px;font-weight:800;letter-spacing:.15em;opacity:.86}.hero-photo-overlay strong{font-family:'Manrope';font-size:38px;line-height:1.02;letter-spacing:-.04em}.center-life{background:#fbfdfd}.photo-mosaic{display:grid;grid-template-columns:1.1fr 1fr 1fr;grid-auto-rows:290px;gap:16px}.mosaic-item{position:relative;margin:0;border-radius:24px;overflow:hidden;background:var(--soft);box-shadow:0 10px 30px rgba(24,54,58,.06)}.mosaic-item img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .5s ease}.mosaic-item:hover img{transform:scale(1.025)}.mosaic-item:after{content:"";position:absolute;inset:45% 0 0;background:linear-gradient(transparent,rgba(10,27,30,.62));pointer-events:none}.mosaic-item figcaption{position:absolute;left:20px;bottom:16px;z-index:2;color:#fff;font-weight:700;font-size:14px}.mosaic-tall{grid-row:span 2}.mosaic-wide{grid-column:span 2}.mosaic-tall img{object-position:center center}.mosaic-wide img{object-position:center 43%}
@media(max-width:980px){.hero-photo-card,.hero-photo{min-height:500px;height:500px}.photo-mosaic{grid-template-columns:1fr 1fr;grid-auto-rows:270px}.mosaic-tall{grid-row:span 2}.mosaic-wide{grid-column:span 1}}
@media(max-width:650px){.hero-photo-card,.hero-photo{min-height:430px;height:430px;border-radius:30px}.hero-photo-card:after{border-radius:30px}.hero-photo-overlay{left:24px;right:24px;bottom:24px}.hero-photo-overlay strong{font-size:31px}.photo-mosaic{grid-template-columns:1fr;grid-auto-rows:330px}.mosaic-item,.mosaic-tall,.mosaic-wide{grid-column:auto;grid-row:auto}.mosaic-item{border-radius:20px}}

/* Administración avanzada: socios, bonos y plazas fijas */
.modal-wide{width:min(760px,100%);max-height:90vh;overflow:auto}.modal-card select{width:100%;padding:13px 14px;border-radius:13px;border:1px solid var(--line);font:inherit;background:white}.modal-card hr.modal-rule,.panel hr.modal-rule{border:0;border-top:1px solid var(--line);margin:26px 0}.panel form label,.panel>label{display:grid;gap:6px;font-size:12px;font-weight:700;margin:14px 0}.panel h3{font-size:18px;margin-top:6px}.member-manage-summary{display:flex;gap:10px;flex-wrap:wrap;margin:12px 0 20px}.member-manage-summary span{background:var(--soft);padding:8px 11px;border-radius:999px;font-size:12px;color:var(--muted)}.fixed-mini-list{display:grid;gap:9px}.admin-filters{margin:0 0 15px;max-width:420px}.plan-admin-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.plan-admin-card{border:1px solid var(--line);border-radius:18px;padding:20px;background:white;display:grid;gap:12px}.plan-admin-card>span{font-size:10px;letter-spacing:.12em;font-weight:800;color:var(--brand-dark)}.plan-admin-card h3{font-size:24px}.plan-admin-card strong{font-size:15px}.plan-admin-card.is-inactive{opacity:.55;background:#f6f7f7}.data-table small{color:var(--muted)}
@media(max-width:900px){.plan-admin-grid{grid-template-columns:1fr 1fr}}
@media(max-width:650px){.plan-admin-grid{grid-template-columns:1fr}.modal-wide{max-height:94vh}.member-manage-summary{flex-direction:column;align-items:flex-start}}

/* v6 · horario editable y matrícula */
.check-label{display:flex!important;align-items:center;gap:10px;padding:12px 14px;border:1px solid var(--line);border-radius:13px;background:var(--soft);font-size:13px!important}.check-label input{width:18px;height:18px;accent-color:var(--brand-dark)}
@media(max-width:650px){.section-title>.action-row{width:100%}.section-title>.action-row .btn{flex:1}.data-table{min-width:760px}}

/* Ajuste fino para que coincida con el artefacto: ancho contenido y tipografías */
.section{padding:96px clamp(20px,6vw,48px);max-width:1180px;margin:0 auto}
.section-head{max-width:640px;margin-bottom:44px}
.section-head h2{font-size:clamp(30px,4vw,44px);margin:10px 0 12px}
.hero-stats strong{font-size:24px}
.service-card h3{font-size:22px;margin:24px 0 10px;font-weight:700}
.price-card h3{font-size:24px;margin:14px 0;font-weight:700}
.price{font-size:44px}
.team-card{padding:0}
.team-copy h3{font-size:22px;margin-bottom:8px;font-weight:700}
.testimonial-grid blockquote{padding:28px;font-size:16.5px;font-family:'Manrope';font-weight:500}
.contact{border-radius:var(--radius);padding:56px clamp(24px,5vw,56px);flex-wrap:wrap;max-width:1180px;margin:0 auto}
footer{max-width:1180px;margin:0 auto;padding:34px clamp(20px,6vw,48px);flex-wrap:wrap;gap:14px}
.eyebrow{letter-spacing:.16em}

/* Clases y asistentes (admin + entrenador) */
.class-meta-card{background:var(--soft);border:1px solid var(--line);border-radius:16px;padding:18px 20px;margin-bottom:14px}
.class-meta-row{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px}
.class-meta-items{display:flex;gap:22px;flex-wrap:wrap;align-items:center;row-gap:10px}
.class-meta-items small{color:var(--muted);display:block;font-size:11px}
.class-meta-items strong{font-size:15px}
.class-meta-card h4{font-size:15px;margin:16px 0 10px}
.absent-toggle{width:30px;height:30px;border-radius:50%;border:1px solid #f2cccc;background:#fff1f1;color:var(--danger);font-weight:800;font-size:13px;line-height:1;cursor:pointer}
.absent-toggle.active{background:var(--danger);color:#fff;border-color:var(--danger)}
.month-group-title{font-size:15px;margin:22px 0 10px}
.month-group-title small{color:var(--muted);font-weight:400}
@media(max-width:650px){.class-meta-items{gap:14px}}
.attendee-table{min-width:0!important;width:100%;table-layout:fixed}
.attendee-table th,.attendee-table td{padding:9px 6px;font-size:12.5px;word-break:break-word}
.attendee-table .col-muted-id{color:var(--muted);font-size:11px}
@media(max-width:650px){.attendee-table th,.attendee-table td{padding:7px 4px;font-size:11.5px}.attendee-table .badge{padding:3px 6px;font-size:9.5px}.attendee-table .col-muted-id{font-size:10px}}

/* Sesiones de entreno */
.session-card{background:white;border:1px solid var(--line);border-radius:18px;padding:20px;margin-bottom:16px;box-shadow:0 6px 18px rgba(24,54,58,.05)}
.session-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:16px;padding-bottom:14px;border-bottom:1px solid var(--line)}
.session-blocks{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}
.session-block{border:1px solid var(--line);border-radius:14px;overflow:hidden}
.session-block-head{color:white;font-weight:800;font-size:12.5px;letter-spacing:.04em;padding:10px 14px}
.session-block-body{padding:12px 14px;font-size:13.5px;line-height:1.6;color:var(--ink)}
.session-block-body div:empty::before{content:'\00a0'}
.nav-badge{color:#e0393e;font-weight:800}

/* Desplegables por día (reservas y reservar clase) */
.day-accordion{border:1px solid var(--line);border-radius:14px;margin-bottom:10px;overflow:hidden;background:white}
.day-accordion summary{list-style:none;cursor:pointer;padding:14px 16px;font-weight:700;font-size:14px;text-transform:capitalize;display:flex;justify-content:space-between;align-items:center;background:var(--soft)}
.day-accordion summary::-webkit-details-marker{display:none}
.day-accordion summary::after{content:'▾';margin-left:auto;padding-left:10px;color:var(--muted);transition:transform .15s}
.day-accordion[open] summary::after{transform:rotate(180deg)}
.day-count{font-weight:400;color:var(--muted);font-size:12.5px;margin-left:8px}
.day-accordion-body{padding:10px 12px}
.day-accordion-body .session{border-top:1px solid var(--line);border-radius:0;padding:12px 4px}
.day-accordion-body .session:first-child{border-top:none}

/* Eventos (Cursos / Comunidad) */
.event-tabs{display:flex;gap:8px;margin-bottom:28px}
.event-tabs button{background:var(--soft);border:1px solid var(--line);border-radius:999px;padding:10px 22px;font-weight:700;font-size:13px;color:var(--muted);cursor:pointer}
.event-tabs button.active{background:var(--brand-dark);border-color:var(--brand-dark);color:#fff}
.events-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:22px}
.event-card{background:white;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:0 10px 30px rgba(24,54,58,.06)}
.event-photos{display:grid;grid-template-columns:repeat(2,1fr);gap:2px}
.event-photos img{width:100%;height:110px;object-fit:cover}
.event-photos img:only-child{grid-column:span 2;height:200px}
.event-video{width:100%;max-height:220px;display:block;background:#000}
.event-copy{padding:20px}
.event-copy h3{margin:0 0 6px;font-size:18px}
.event-copy small{color:var(--brand-dark);font-weight:700;text-transform:uppercase;letter-spacing:.04em;font-size:11px}
.event-copy p{margin:10px 0 0;color:var(--muted);font-size:14px;line-height:1.6}
.event-copy p a{color:var(--brand-dark);font-weight:600;text-decoration:underline}
.event-photos-edit{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0 14px}
.ev-photo-thumb{position:relative;width:64px;height:64px}
.ev-photo-thumb img{width:100%;height:100%;object-fit:cover;border-radius:8px}
.ev-photo-thumb button{position:absolute;top:-6px;right:-6px;width:20px;height:20px;border-radius:50%;background:var(--danger);color:#fff;border:none;font-size:12px;cursor:pointer;line-height:1}
.service-card.has-photo{padding:0;overflow:hidden}
.service-card.has-photo .service-photo{width:100%;aspect-ratio:16/10}
.service-card.has-photo .service-photo img{width:100%;height:100%;object-fit:cover;display:block}
.service-card.has-photo>span,.service-card.has-photo>h3,.service-card.has-photo>p,.service-card.has-photo>small{margin-left:28px;margin-right:28px}
.service-card.has-photo>span{margin-top:24px;display:block}
.service-card.has-photo>small{display:block;margin-bottom:28px}
.notice-clickable{cursor:pointer;transition:transform .1s}
.notice-clickable:hover{transform:translateY(-1px);box-shadow:0 6px 16px rgba(24,54,58,.08)}
.day-tabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:20px}
.day-tabs button{background:var(--soft);border:1px solid var(--line);border-radius:999px;padding:8px 16px;font-size:12.5px;font-weight:700;color:var(--muted);cursor:pointer}
.day-tabs button.active{background:var(--brand-dark,#2f7f88);border-color:var(--brand-dark,#2f7f88);color:#fff}
.grid-2col{display:grid;grid-template-columns:1fr 1fr;gap:18px}
@media(max-width:800px){.grid-2col{grid-template-columns:1fr}}
.is-active-toggle{background:var(--brand-dark,#2f7f88)!important;color:#fff!important;border-color:var(--brand-dark,#2f7f88)!important}
.month-cal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}
.month-cal-head strong{text-transform:capitalize;font-size:15px}
.month-cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}
.month-cal-dow{text-align:center;font-size:11px;font-weight:800;color:var(--muted);letter-spacing:.06em;padding-bottom:4px}
.month-cal-cell{min-height:64px;border-radius:10px;border:1px solid var(--line);padding:6px;display:flex;flex-direction:column;gap:4px;cursor:pointer;background:#fff}
.month-cal-cell.empty{border:none;cursor:default;background:transparent}
.month-cal-cell.has-classes{background:var(--soft);border-color:var(--brand-dark,#2f7f88);cursor:pointer}
.month-cal-cell.is-today .cal-daynum{color:var(--brand-dark,#2f7f88);font-weight:800}
.cal-daynum{font-size:12px;color:var(--muted)}
.cal-count{font-size:10.5px;font-weight:700;color:var(--brand-dark,#2f7f88)}
@media(max-width:650px){.month-cal-cell{min-height:44px}.cal-count{display:none}}

/* Navegación por pestañas reales (no scroll de una sola página) */
main#publicSite>section{display:none}
main#publicSite>section.active{display:block}
.site-header nav>a.active{color:var(--brand-dark);font-weight:800}

/* Horario público en color, como el panel de reservas */
.legend-row{display:flex;flex-wrap:wrap;gap:10px 18px;margin-bottom:26px}
.legend-chip{display:flex;align-items:center;gap:7px;font-size:12.5px;color:var(--muted)}
.legend-chip i{width:10px;height:10px;border-radius:50%;display:inline-block}
.sched-scroll{overflow-x:auto;background:white;border-radius:var(--radius);border:1px solid var(--line);padding:6px}
.sched{display:grid;grid-template-columns:64px repeat(5,1fr);gap:6px;min-width:760px}
.sched .hcell{font-size:11px;letter-spacing:.08em;color:var(--brand-dark);font-weight:800;padding:10px 6px;text-align:center}
.sched .tcell{font-family:'Manrope',sans-serif;font-weight:700;font-size:13px;display:flex;align-items:center;justify-content:center;color:var(--brand-dark);background:var(--soft);border-radius:14px}
.slot{border-radius:14px;padding:9px 8px;min-height:52px;display:flex;flex-direction:column;justify-content:center}
.slot.empty{background:transparent}
.slot .nm{font-size:11.5px;font-weight:800;line-height:1.25}
.slot .cap{font-size:10.5px;opacity:.85;margin-top:2px}
