/* ROCA / SPORT EDITORIAL · V8.1
   One design layer for public pages and the native administration panel.
   Content, focus, selected states and existing action hooks stay intact. */

html[data-roca-design] {
  font-size:16px; --brand-red:#c91d35; --brand-black:#101113;
  --red-dark:#a81128; --ink-2:#242528; --muted:#5c5e63;
  --line:#dedfe1; --soft:#f4f4f2; --radius:6px; --radius-lg:8px;
  --shadow:0 6px 24px rgb(16 17 19 / .04); --shadow-lg:0 12px 32px rgb(16 17 19 / .08);
  --container:1760px; --gutter:clamp(20px,3.5vw,64px); --header:76px; --announcement:32px;
  --sidebar:244px;
}
html[data-roca-design] body { line-height:1.65; }
.local-open-notice { background:#fff; color:#101113; border-bottom:3px solid #c91d35; padding:16px max(16px,3.5vw); font:14px/1.6 Arial,sans-serif; }
.local-open-notice p { max-width:110ch; margin:4px 0 0; }
html[data-roca-design] :is(h1,h2,h3,h4) { font-family:var(--font-display); font-weight:700; letter-spacing:-.015em; line-height:1.06; }
html[data-roca-design] .display { font-size:clamp(2.75rem,5.2vw,5.25rem); font-weight:800; letter-spacing:-.018em; line-height:.99; text-transform:uppercase; }
html[data-roca-design] .title { font-size:clamp(2.1rem,3.4vw,3.5rem); text-transform:uppercase; }
html[data-roca-design] .title-md { font-size:clamp(1.8rem,2.4vw,2.5rem); }
html[data-roca-design] .title-sm { font-size:1.6rem; }
html[data-roca-design] .lede { font-size:clamp(.95rem,1.1vw,1.05rem); line-height:1.8; max-width:54ch; }
html[data-roca-design] .section { padding-block:clamp(48px,5vw,80px); }
html[data-roca-design] .eyebrow { gap:9px; margin-bottom:14px; font-size:.69rem; letter-spacing:.13em; font-weight:700; }
html[data-roca-design] .eyebrow::before { width:20px; height:3px; }
html[data-roca-design] :is(.card,.form-card,.product-card) { border-radius:var(--radius); box-shadow:none; }
html[data-roca-design] .btn { min-height:48px; padding:12px 22px; border-radius:4px; font-size:.83rem; font-weight:600; }
html[data-roca-design] .btn-sm { min-height:44px; padding:10px 16px; font-size:.76rem; }
html[data-roca-design] .btn:hover { transform:none; }
html[data-roca-design] :is(.btn,.icon-button,.filter-button,.plan-filter) { transition:background .18s ease,color .18s ease,border-color .18s ease; }
html[data-roca-design] .btn-outline { border-color:#6c6e74; }
html[data-roca-design] .hero-actions { gap:12px; }
html[data-roca-design] :is(input,select,textarea) { accent-color:var(--red); }
html[data-roca-design] :is(.field,.select,.textarea) { border-color:#8b8e94; border-radius:4px; min-height:50px; font-size:1rem; }
html[data-roca-design] :is(.field,.select,.textarea):focus { border-color:var(--ink); box-shadow:0 0 0 3px #10111312; }
html[data-roca-design] :focus-visible { outline:3px solid var(--focus-ring); outline-offset:3px; }

/* Navigation: restrained, readable, consistent on every page. */
html[data-roca-design]:not([data-roca-admin]) :is([data-header],[data-dynamic-header]) { position:sticky; top:0; z-index:1400; }
html[data-roca-design] .announcement { min-height:32px; padding:7px 20px; background:var(--ink); font-size:.68rem; }
html[data-roca-design] .header-inner { min-height:76px; gap:20px; }
html[data-roca-design] .site-header { min-height:76px; }
html[data-roca-design] .brand img { width:44px; height:44px; }
html[data-roca-design] .brand-copy strong { font-family:var(--font-display); font-size:1.45rem; letter-spacing:.02em; }
html[data-roca-design] .brand-copy [data-brand-motto] { max-width:30ch; font-size:.6rem; line-height:1.4; }
html[data-roca-design] .main-nav { gap:clamp(12px,1.2vw,22px); }
html[data-roca-design] .main-nav a { font-size:.76rem; }
html[data-roca-design] :is(.cart-button,.icon-button) { border-radius:4px; }
html[data-roca-design] body[data-page="inicio"]:not(.solid-home-header) > :is([data-header],[data-dynamic-header]) { position:sticky; inset:auto; top:0; background:var(--ink); }
html[data-roca-design] body[data-page="inicio"]:not(.solid-home-header) .site-header { background:var(--ink); border-color:#ffffff1f; }
html[data-roca-design] body[data-page="inicio"]:not(.solid-home-header) .site-header.scrolled { background:var(--ink); }

/* Home campaign: athletic type, cinematic media, deliberate breathing room. */
html[data-roca-design] .home-hero.cinematic-hero,
html[data-roca-design] body[data-page="inicio"]:not(.solid-home-header) .home-hero.cinematic-hero { min-height:clamp(570px,73svh,780px); }
html[data-roca-design] .cinematic-hero .hero-copy-panel,
html[data-roca-design] body[data-page="inicio"]:not(.solid-home-header) .cinematic-hero .hero-copy-panel { padding-top:72px; padding-bottom:100px; }
html[data-roca-design] .cinematic-hero .hero-copy-inner { max-width:57%; }
html[data-roca-design] .cinematic-hero .hero-copy-inner .display { max-width:14ch; font-size:clamp(3.5rem,6.15vw,6.5rem); line-height:.95; letter-spacing:-.018em; }
html[data-roca-design] .cinematic-hero .hero-copy-inner .lede { max-width:43ch; margin:24px 0 28px; color:#eee; }
html[data-roca-design] .cinematic-hero .hero-media::after { background:linear-gradient(90deg,#070809d9 0%,#07080975 52%,#0708091a 100%),linear-gradient(0deg,#0708098f,transparent 45%); }
html[data-roca-design] .cinematic-hero .hero-media::before { display:none!important; }
html[data-roca-design] .cinematic-hero .hero-proof { margin-top:30px; padding-top:20px; gap:20px; grid-template-columns:1fr 1.1fr 1fr; max-width:670px; }
html[data-roca-design] .cinematic-hero .hero-proof strong { font-size:.76rem; }
html[data-roca-design] .cinematic-hero .hero-proof span { font-size:.69rem; }
html[data-roca-design] .cinematic-hero .hero-watermark { font-family:var(--font-display); font-weight:800; font-size:clamp(7rem,20vw,23rem); letter-spacing:-.025em; color:#ffffff0c; -webkit-text-stroke:0; opacity:1; right:3%; bottom:40px; }
html[data-roca-design] .cinematic-hero .hero-video-meta { bottom:24px; }
html[data-roca-design] .video-controls button { border-radius:4px; background:#10111380; }
html[data-roca-design] .video-caption { font-size:.68rem; }
html[data-roca-design] .ticker { background:var(--ink); border-top:1px solid #ffffff29; min-height:50px; }
html[data-roca-design] .ticker-group { gap:10px 30px; padding-block:12px; }
html[data-roca-design] .ticker-group span { font-size:.65rem; letter-spacing:.12em; }
html[data-roca-design] .ticker-group span::after { color:#f3697e; content:"/"; }
html[data-roca-design] .ticker-toggle { background:transparent; border-radius:4px; }
html[data-roca-design] .split-heading { grid-template-columns:1.25fr .75fr; gap:32px; margin-bottom:30px; }
html[data-roca-design] .split-heading > p { font-size:.88rem; line-height:1.8; max-width:43ch; }
html[data-roca-design] :is(.grid-3,.plans-grid) { gap:24px; }
html[data-roca-design] .feature-card { min-height:190px; padding:26px; border-color:var(--line); background:#fff; }
html[data-roca-design] .feature-card h3 { font-size:1.6rem; margin-top:28px; }
html[data-roca-design] .feature-card p { font-size:.83rem; line-height:1.8; }
html[data-roca-design] .feature-index { font-size:.65rem; letter-spacing:.1em; }
html[data-roca-design] .roca-method { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); overflow:hidden; border:1px solid var(--line); background:#fff; border-radius:6px; }
html[data-roca-design] .roca-method-photo { position:relative; min-height:450px; background:#151619; }
html[data-roca-design] .roca-method-photo img { width:100%; height:100%; position:absolute; inset:0; object-fit:cover; }
html[data-roca-design] .roca-method-photo::after { content:""; position:absolute; inset:0; background:linear-gradient(0deg,#080909ba,transparent 55%); }
html[data-roca-design] .roca-method-photo figcaption { position:absolute; z-index:1; bottom:28px; left:28px; right:28px; color:white; font-family:var(--font-display); font-size:clamp(2.3rem,3vw,3.3rem); font-weight:800; line-height:1; text-transform:uppercase; }
html[data-roca-design] .roca-method .grid-3 { display:block; padding:16px 32px; }
html[data-roca-design] .roca-method .feature-card { min-height:0; border:0; border-bottom:1px solid var(--line); border-radius:0; padding:24px 0; display:grid; grid-template-columns:105px 1fr; gap:20px; align-items:start; }
html[data-roca-design] .roca-method .feature-card:last-child { border-bottom:0; }
html[data-roca-design] .roca-method .feature-index { padding-top:5px; }
html[data-roca-design] .roca-method .feature-card h3 { margin:0 0 9px; }
html[data-roca-design] .roca-method-photo { margin:0; }

/* Plans: one readable comparison system, including uncropped Canva artwork. */
html[data-roca-design] .membership-hero { padding-block:38px; }
html[data-roca-design] .membership-hero .display { max-width:21ch; font-size:clamp(2.65rem,4.5vw,4.4rem); }
html[data-roca-design] .membership-hero .lede { margin-block:16px 20px; }
html[data-roca-design] .flow-steps { margin-top:24px; }
html[data-roca-design] .branch-nav { gap:12px; }
html[data-roca-design] .branch-nav .branch-option { min-height:100px; padding:12px; border-radius:4px; gap:14px; }
html[data-roca-design] .branch-option > img { width:68px; height:72px; border-radius:2px; }
html[data-roca-design] .branch-nav .branch-option-copy > span { font-size:.7rem; }
html[data-roca-design] .branch-option-copy strong { font-size:.84rem; }
html[data-roca-design] .plan-type-filters { display:flex; flex-wrap:wrap; gap:8px; }
html[data-roca-design] .plan-filter { border-radius:4px; font-size:.78rem; }
html[data-roca-design] .plans-grid { grid-template-columns:repeat(3,minmax(0,1fr)); padding-block:6px; align-items:stretch; }
html[data-roca-design] .plan-card,
html[data-roca-design] .ink-section .plan-card { min-height:0; border-radius:6px; box-shadow:none; }
html[data-roca-design] .plan-card.featured { border-color:var(--red); box-shadow:inset 0 4px var(--red); }
html[data-roca-design] .plan-card-content { padding:28px; }
html[data-roca-design] .plan-card-topline { gap:8px; min-height:28px; }
html[data-roca-design] .plan-location-label { font-size:.62rem; letter-spacing:.09em; line-height:1.5; }
html[data-roca-design] .plan-card .badge { border-radius:3px; padding:6px 9px; font-size:.58rem; }
html[data-roca-design] .plan-card h3 { margin:20px 0 10px; font-size:1.9rem; letter-spacing:0; text-transform:uppercase; }
html[data-roca-design] .plan-card .plan-subtitle { margin:0 0 14px; min-height:0; font-size:.82rem; }
html[data-roca-design] .plan-subtitle:empty { display:none; }
html[data-roca-design] .plan-card .price { margin:18px 0 22px; gap:6px; }
html[data-roca-design] .plan-card .price strong { font-family:var(--font-display); font-size:clamp(3.4rem,4vw,4.5rem); font-weight:800; letter-spacing:-.025em; }
html[data-roca-design] .plan-card .price .plan-currency { padding-top:.75em; font-size:1rem; }
html[data-roca-design] .plan-card .price .plan-period { font-size:.78rem; }
html[data-roca-design] .plan-card .check-list { margin-bottom:26px; border-color:#d9dade; }
html[data-roca-design] .plan-card .check-list li { padding:12px 0 12px 22px; font-size:.83rem; line-height:1.65; }
html[data-roca-design] .plan-card .check-list li::before { top:12px; }
html[data-roca-design] .plan-card:is(.featured,.plan-has-image) .check-list,
html[data-roca-design] .plan-card:is(.featured,.plan-has-image) .check-list li { border-color:#ffffff26; }
html[data-roca-design] .plan-card .plan-choose { border-radius:4px; min-height:48px; font-size:.76rem; text-transform:none; letter-spacing:0; justify-content:space-between; padding-inline:18px; }
html[data-roca-design] .plan-card.plan-poster { min-height:0; box-shadow:none; }
html[data-roca-design] .plan-poster-image { width:100%; height:auto; object-fit:contain; }
html[data-roca-design] .plan-poster-footer { padding:20px; }
html[data-roca-design] .plan-card.is-selected { border-color:var(--red); box-shadow:0 0 0 2px var(--red); }
html[data-roca-design] .plan-card:hover { transform:none; }

/* Store: quiet product surfaces, strong photography and bounded detail panels. */
html[data-roca-design] .store-hero { min-height:460px; }
html[data-roca-design] .store-hero-grid { padding-block:48px; gap:48px; grid-template-columns:1.1fr .9fr; }
html[data-roca-design] .store-hero-copy .display { font-size:clamp(2.9rem,5vw,5.1rem); max-width:16ch; }
html[data-roca-design] .store-hero-copy .lede { margin-block:22px; }
html[data-roca-design] .month-card { padding:18px; border-radius:4px; border-top:0; }
html[data-roca-design] .month-card img { height:145px; margin-bottom:14px; }
html[data-roca-design] .month-card h3 { font-family:var(--font-main); font-size:.88rem; line-height:1.5; min-height:2.8em; }
html[data-roca-design] .store-toolbar { margin-bottom:24px; gap:16px; }
html[data-roca-design] .filter-row { flex-wrap:nowrap; gap:0; overflow:auto; max-width:100%; padding-bottom:8px; border-bottom:1px solid var(--line); margin-bottom:28px; scrollbar-width:thin; }
html[data-roca-design] .filter-button { flex:none; border:0; border-radius:0; padding:12px 18px; border-bottom:2px solid transparent; font-size:.77rem; }
html[data-roca-design] .filter-button.active { color:var(--ink); background:#f4f4f2; border-bottom-color:var(--red); }
html[data-roca-design] .product-grid { grid-template-columns:repeat(4,minmax(0,1fr)); gap:28px 20px; }
html[data-roca-design] .product-card { border:0; border-radius:0; box-shadow:none; }
html[data-roca-design] .product-image { aspect-ratio:4/5; background:#f2f2f0; border-radius:4px; }
html[data-roca-design] .product-image img { padding:18px; }
html[data-roca-design] .product-info { padding:16px 0 0; }
html[data-roca-design] .product-info h3 { font-family:var(--font-main); font-size:.9rem; font-weight:600; min-height:2.8em; line-height:1.45; letter-spacing:-.02em; margin:8px 0; }
html[data-roca-design] .product-meta { font-size:.64rem; letter-spacing:.08em; }
html[data-roca-design] .product-sizes { font-size:.73rem; }
html[data-roca-design] .product-price { font-size:1rem; letter-spacing:-.03em; }
html[data-roca-design] .product-row { gap:8px; margin-top:14px; align-items:end; }
html[data-roca-design] .product-row .btn { background:white; color:var(--ink); border:1px solid #b5b7bd; padding:9px 12px; font-size:.69rem; }
html[data-roca-design] .product-row .btn:hover { background:var(--ink); color:white; border-color:var(--ink); }
html[data-roca-design] .product-view-count { border-radius:2px; font-size:.6rem; }
html[data-roca-design] .stock { font-size:.68rem; }
html[data-roca-design] .home-featured-products { grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px 16px; margin-block:26px; }
html[data-roca-design] .shop-stage { grid-template-columns:.85fr 1.15fr; border-radius:6px; }
html[data-roca-design] .shop-content { padding:36px; }
html[data-roca-design] .shop-film { min-height:480px; }
html[data-roca-design] .shop-content .title { font-size:clamp(2rem,2.7vw,2.8rem); }
html[data-roca-design] .shop-stage .product-info { background:white; padding:14px; }
html[data-roca-design] .product-modal { width:min(1080px,calc(100% - 40px)); grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr); border-radius:6px; }
html[data-roca-design] .modal-copy { padding:56px 30px 30px; }
html[data-roca-design] .modal-copy h2 { font-family:var(--font-display); font-size:2.4rem; line-height:1.08; }
html[data-roca-design] .modal-price { font-size:1.45rem; margin-block:20px; }
html[data-roca-design] .modal-media { min-height:0; }
html[data-roca-design] .gallery-stage { min-height:350px; }
html[data-roca-design] .drawer { width:min(460px,100%); }
html[data-roca-design] .drawer-head h2 { font-size:1.85rem; text-transform:uppercase; }
html[data-roca-design] .cart-item img { border-radius:2px; }
html[data-roca-design] .quantity button { border-radius:3px; }

/* Locations and about: real media, structured information, clear next actions. */
html[data-roca-design] .location-card { border-radius:6px; min-height:420px; }
html[data-roca-design] .location-copy { padding:24px; }
html[data-roca-design] .location-copy h3 { font-size:2.15rem; text-transform:uppercase; margin:16px 0 12px; }
html[data-roca-design] .location-copy p { min-height:0; font-size:.8rem; margin-bottom:20px; }
html[data-roca-design] .chip { font-size:.6rem; border-radius:2px; padding:5px 8px; }
html[data-roca-design] .branch-index-hero { background:#111214; }
html[data-roca-design] .branch-showcase { gap:64px; }
html[data-roca-design] .branch-feature { grid-template-columns:1.05fr .95fr; gap:48px; }
html[data-roca-design] .branch-feature-media,
html[data-roca-design] .branch-feature.reverse .branch-feature-media { height:390px; border-radius:6px; }
html[data-roca-design] .branch-feature-copy h2 { font-size:clamp(2.1rem,3.3vw,3.4rem); text-transform:uppercase; margin-bottom:18px; }
html[data-roca-design] .branch-feature-copy > p { font-size:.93rem; line-height:1.8; }
html[data-roca-design] .branch-feature-copy dl { margin:24px 0; }
html[data-roca-design] .branch-feature-copy dl div { padding:14px 0; grid-template-columns:100px minmax(0,1fr); gap:16px; }
html[data-roca-design] .branch-feature-copy dt { font-size:.66rem; }
html[data-roca-design] .branch-feature-copy dd { font-size:.84rem; }
html[data-roca-design] .location-hero { min-height:480px; }
html[data-roca-design] .location-hero-copy { padding-block:48px; }
html[data-roca-design] .location-gallery { gap:16px; }
html[data-roca-design] .location-gallery img { border-radius:4px; }
html[data-roca-design] .map-card { border-radius:6px; overflow:hidden; border:1px solid var(--line); }
html[data-roca-design] .map-card iframe { min-height:300px; }
html[data-roca-design] .story-layout { gap:48px; }
html[data-roca-design] .story-film { border-radius:6px; }
html[data-roca-design] .value-grid { margin-top:48px; }
html[data-roca-design] .value-card { min-height:220px; padding:24px; }
html[data-roca-design] .value-card h3 { margin-top:44px; font-size:1.65rem; }
html[data-roca-design] .value-card p { font-size:.8rem; }

/* Club, training and forms share a calm, usable service interface. */
html[data-roca-design] .page-hero { padding-block:40px; background:var(--soft); }
html[data-roca-design] .page-hero .display { max-width:24ch; font-size:clamp(2.65rem,4.5vw,4.5rem); }
html[data-roca-design] .page-hero .lede { margin-top:18px; }
html[data-roca-design] .breadcrumbs { font-size:.68rem; margin-bottom:20px; gap:8px; }
html[data-roca-design] body:is([data-page="checkout"],[data-page="contacto"],[data-page="reclamaciones"],[data-page="suscripcion"],[data-page="privacidad"],[data-page="terminos"],[data-page="cookies"],[data-page="normas"]) .page-hero .display { font-size:clamp(2.3rem,3.4vw,3.5rem); max-width:28ch; }
html[data-roca-design] .club-banner { min-height:360px; grid-template-columns:.8fr 1.2fr; border-radius:6px; background:var(--ink); }
html[data-roca-design] .club-visual { background:var(--red); }
html[data-roca-design] .club-visual img { width:45%; left:27.5%; top:14%; filter:none; }
html[data-roca-design] .club-visual::after { font-family:var(--font-display); color:#ffffff19; -webkit-text-stroke:0; font-weight:800; letter-spacing:-.02em; font-size:clamp(6rem,13vw,13rem); bottom:-.1em; right:0; }
html[data-roca-design] .club-copy { padding:36px; }
html[data-roca-design] .club-copy p { color:#d4d5d7; font-size:.87rem; margin-top:18px; }
html[data-roca-design] .benefit-grid { margin-block:24px; }
html[data-roca-design] .benefit strong { font-size:.78rem; }
html[data-roca-design] .benefit span { font-size:.7rem; color:#dadade; }
html[data-roca-design] .auth-shell { min-height:0; grid-template-columns:.9fr 1.1fr; border-radius:6px; border:1px solid var(--line); }
html[data-roca-design] .auth-intro,
html[data-roca-design] .auth-box,
html[data-roca-design] .member-dashboard { padding:36px; }
html[data-roca-design] .auth-intro .title { font-size:2.7rem; }
html[data-roca-design] .auth-intro > p { font-size:.88rem; line-height:1.85; }
html[data-roca-design] .auth-intro .number-row p { color:#d4d4d8; }
html[data-roca-design] .member-status-card { padding:24px; border-left:4px solid var(--red); }
html[data-roca-design] .member-program-entry { border-radius:4px; }
html[data-roca-design] .program-hero { padding:25px 0 42px; background:var(--ink); }
html[data-roca-design] .program-hero::before,
html[data-roca-design] .program-hero::after { display:none; }
html[data-roca-design] .program-hero-copy { padding-top:18px; }
html[data-roca-design] .program-hero .display { max-width:22ch; font-size:clamp(2.8rem,4.7vw,4.9rem); }
html[data-roca-design] .program-hero-copy p { font-size:.95rem; line-height:1.8; margin-top:18px; }
html[data-roca-design] .program-hero-mark { font-family:var(--font-display); font-size:clamp(8rem,22vw,24rem); color:#ffffff08; -webkit-text-stroke:0; letter-spacing:-.02em; }
html[data-roca-design] .program-toolbar { gap:16px; padding-bottom:24px; }
html[data-roca-design] .program-heading { margin-top:30px; }
html[data-roca-design] .program-metadata { border-radius:4px; margin-block:24px; }
html[data-roca-design] .program-metadata > div { padding:20px; }
html[data-roca-design] .program-metadata dt { font-size:.65rem; }
html[data-roca-design] .program-metadata dd { font-size:.9rem; }
html[data-roca-design] .program-day-nav { gap:8px; margin:24px 0; grid-template-columns:repeat(7,minmax(0,1fr)); }
html[data-roca-design] .program-day-nav button { border-radius:4px; padding:16px 14px; min-height:90px; gap:8px; }
html[data-roca-design] .program-day-nav span { font-size:.92rem; }
html[data-roca-design] .program-day-nav button[aria-pressed="true"] { background:var(--ink); border-color:var(--ink); box-shadow:inset 0 -3px var(--red); }
html[data-roca-design] .program-day-nav button[aria-pressed="true"] small { color:#ff8c9e; }
html[data-roca-design] .training-progress { padding:20px; border-radius:4px; }
html[data-roca-design] .exercise-card { border-radius:6px; box-shadow:none; }
html[data-roca-design] .exercise-card-content { padding:22px; }
html[data-roca-design] .exercise-card h3 { min-height:2.15em; font-size:1.7rem; }
html[data-roca-design] .exercise-prescription dd { font-family:var(--font-display); font-size:2rem; }
html[data-roca-design] .exercise-complete { min-height:44px; border-radius:4px; }
html[data-roca-design] .program-gate { padding:32px; border-top:3px solid var(--red); }
html[data-roca-design] :is(.signup-layout,.contact-grid) { grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); gap:48px; }
html[data-roca-design] .form-card { padding:32px; border:1px solid var(--line); }
html[data-roca-design] .form-grid { gap:18px; margin-block:24px; }
html[data-roca-design] .field-group label { font-size:.79rem; font-weight:600; }
html[data-roca-design] .helper { font-size:.76rem; line-height:1.7; }
html[data-roca-design] .checkbox-row { font-size:.78rem; gap:10px; line-height:1.8; }
html[data-roca-design] .number-row h3 { font-family:var(--font-main); font-size:.9rem; font-weight:600; }
html[data-roca-design] .number-row p { font-size:.8rem; }
html[data-roca-design] .number-row > span { border-radius:4px; }
html[data-roca-design] .checkout-layout { grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr); gap:32px; }
html[data-roca-design] .order-summary { top:130px; padding:28px; border-radius:6px; }
html[data-roca-design] .summary-line { font-size:.8rem; }
html[data-roca-design] .contact-item b { border-radius:4px; }
html[data-roca-design] .review-layout { gap:32px; }
html[data-roca-design] .review-card { padding:24px; border-left:3px solid var(--red); }
html[data-roca-design] .review-card blockquote { font-size:.93rem; line-height:1.75; }
html[data-roca-design] .newsletter-section { padding-block:0; }
html[data-roca-design] .newsletter-panel { padding:32px; border-radius:0; gap:24px; }
html[data-roca-design] .newsletter-panel p { font-size:.82rem; color:white; }
html[data-roca-design] .site-footer { padding-block:48px 24px; }
html[data-roca-design] .footer-brand-copy strong { font-family:var(--font-display); font-size:1.9rem; }
html[data-roca-design] .cookie-banner { border-radius:6px; padding:24px; }
html[data-roca-design] .cookie-banner h2 { font-family:var(--font-main); font-size:1rem; font-weight:600; }
html[data-roca-design] .legal-layout { grid-template-columns:230px minmax(0,760px); gap:64px; }
html[data-roca-design] .legal-copy h2 { font-size:1.95rem; }
html[data-roca-design] .legal-copy h3 { font-size:1.45rem; }
html[data-roca-design] .legal-copy :is(p,li) { font-size:.9rem; line-height:1.95; }

/* Admin: a readable work surface, with grouped native fields and stable actions. */
html[data-roca-admin][data-roca-design] body { background:#f4f5f6; font-size:14px; }
html[data-roca-admin][data-roca-design] { --radius:6px; --radius-sm:4px; --soft:#f4f5f6; }
html[data-roca-design] .admin-sidebar { background:#111214; padding:24px 16px; border-right:1px solid #242529; }
html[data-roca-design] .admin-sidebar .brand img { width:40px; height:40px; }
html[data-roca-design] .admin-sidebar .brand-copy strong { font-size:1.45rem; }
html[data-roca-design] .nav-label { margin:24px 12px 10px; font-size:.64rem; color:#bbbec5; }
html[data-roca-design] .admin-nav button { min-height:44px; padding:11px 12px; font-size:.79rem; border-radius:4px; }
html[data-roca-design] .nav-icon { border-radius:4px; background:#ffffff0a; color:#d5d6dc; }
html[data-roca-design] .admin-main { padding:32px clamp(24px,3vw,48px); max-width:1740px; width:100%; margin-inline:auto; }
html[data-roca-design] .admin-top { gap:24px; margin-bottom:28px; padding-bottom:22px; }
html[data-roca-design] .admin-top h1 { font-size:clamp(2rem,3vw,2.75rem); letter-spacing:-.01em; }
html[data-roca-design] .admin-top p { font-size:.84rem; max-width:75ch; }
html[data-roca-design] .live-chip { font-size:.72rem; }
html[data-roca-design] .metric { padding:24px; border-radius:6px; border-top:3px solid var(--ink); }
html[data-roca-design] .metric::after { display:none; }
html[data-roca-design] .metric span { font-size:.77rem; }
html[data-roca-design] .metric strong { font-family:var(--font-display); font-size:2.8rem; margin-top:12px; }
html[data-roca-design] .metric b { font-size:.7rem; }
html[data-roca-design] .quick-card { padding:24px; border-radius:6px; min-height:170px; }
html[data-roca-design] .quick-card h3 { font-size:1.55rem; }
html[data-roca-design] .quick-card p { font-size:.79rem; line-height:1.8; }
html[data-roca-design] .priority-card { padding:24px; border-radius:6px; }
html[data-roca-design] .priority-item strong { font-size:.8rem; }
html[data-roca-design] .priority-item span { font-size:.74rem; }
html[data-roca-design] .admin-section { padding:28px; margin-bottom:24px; border-radius:6px; }
html[data-roca-design] .admin-section-head { gap:20px; margin-bottom:24px; padding-bottom:18px; border-bottom:1px solid var(--line); }
html[data-roca-design] .admin-section-head h2 { font-size:1.8rem; }
html[data-roca-design] .admin-section-head p { font-size:.82rem; line-height:1.8; }
html[data-roca-design] .section-badge { font-size:.7rem; border-radius:4px; }
html[data-roca-design] .editor-guide { padding:20px 24px; border-left:3px solid var(--red); background:#f5f5f4; border-radius:0; }
html[data-roca-design] .field-help { font-size:.75rem; line-height:1.8; }
html[data-roca-design] .editor-cluster { min-width:0; grid-column:1/-1; margin:8px 0; padding:24px; border:1px solid var(--line); border-radius:4px; background:#fcfcfb; }
html[data-roca-design] .editor-cluster > legend { padding:0 8px; color:var(--ink); font-family:var(--font-display); font-size:1.25rem; font-weight:700; letter-spacing:.025em; text-transform:uppercase; }
html[data-roca-design] .editor-cluster > .form-grid { margin:0; }
html[data-roca-design] .editor-cluster .field-help { max-width:75ch; }
html[data-roca-design] :is(.media-editor,.variant-editor,.location-editor) { border-radius:4px; padding:22px; }
html[data-roca-design] :is(.media-editor-row,.program-session-editor,.exercise-editor) { border-radius:4px; }
html[data-roca-design] .media-entry-actions button { min-height:44px; min-width:44px; border-radius:4px; }
html[data-roca-design] .form-actions { gap:12px; padding-top:16px; border-top:1px solid var(--line); }
html[data-roca-design] .form-actions > .btn { min-height:46px; }
html[data-roca-design] .form-status { font-size:.8rem; }
html[data-roca-design] .data-table-wrap { border-radius:4px; max-height:70vh; }
html[data-roca-design] .data-table :is(th,td) { padding:15px 14px; font-size:.8rem; }
html[data-roca-design] .data-table th { font-size:.68rem; letter-spacing:.06em; }
html[data-roca-design] .data-table tbody tr:nth-child(even) { background:#fcfcfd; }
html[data-roca-design] .data-table tbody tr:hover { background:#f4f5f7; }
html[data-roca-design] .table-thumb { width:44px; height:44px; border-radius:4px; }
html[data-roca-design] .status-pill { font-size:.69rem; border-radius:4px; padding:6px 9px; }
html[data-roca-design] .table-actions { gap:6px; }
html[data-roca-design] .server-pagination { margin:20px 0; padding:16px; background:var(--soft); border:1px solid var(--line); border-radius:4px; gap:12px; }
html[data-roca-design] .server-pagination label { font-size:.76rem; }
html[data-roca-design] .server-pagination [data-page-status] { font-size:.76rem; }
html[data-roca-design] .benefit-library details { border-radius:4px; background:#fff; }
html[data-roca-design] .benefit-chip { border-radius:4px; min-height:44px; font-size:.75rem; }
html[data-roca-design] .benefit-live-preview { border-radius:4px; border-left:3px solid var(--red); }
html[data-roca-design] .admin-plan-preview { border-radius:6px; min-height:0; padding:26px; max-width:430px; }
html[data-roca-design] .admin-plan-preview > strong { font-family:var(--font-display); font-size:29px; margin-top:20px; }
html[data-roca-design] .admin-plan-preview > b { font-family:var(--font-display); font-size:64px; margin-top:20px; }
html[data-roca-design] .admin-plan-preview .preview-cta { border-radius:4px; padding:13px 16px; font-size:.8rem; }
html[data-roca-design] .admin-plan-preview[data-style="poster"] { min-height:0; padding:0; }
html[data-roca-design] .admin-plan-preview[data-style="poster"] img { object-fit:contain; }
html[data-roca-design] .location-editor [data-place-preview] { height:300px; border-radius:4px; }
html[data-roca-design] .system-health { padding:24px; background:var(--soft); border-radius:4px; }
html[data-roca-design] .system-health dt { font-size:.77rem; }
html[data-roca-design] .system-health dd { font-size:.86rem; }
html[data-roca-design] .login-card { border-radius:6px; padding:36px; border-top:4px solid var(--red); }
html[data-roca-design] .login-card h1 { font-size:2.65rem; }

/* Responsive sizes are composed here rather than increasing every item with vw. */
@media(min-width:1800px) {
  html[data-roca-design] .location-card { min-height:460px; }
  html[data-roca-design] .product-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
  html[data-roca-design] .home-featured-products { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:1180px) {
  html[data-roca-design] .brand-copy [data-brand-motto] { display:none; }
  html[data-roca-design] .main-nav { gap:12px; }
  html[data-roca-design] .main-nav a { font-size:.72rem; }
  html[data-roca-design] .product-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
  html[data-roca-design] .home-featured-products { grid-template-columns:repeat(2,minmax(0,1fr)); }
  html[data-roca-design] .store-hero-grid { gap:28px; }
  html[data-roca-design] .plan-card-content { padding:24px; }
  html[data-roca-design] .roca-method .grid-3 { padding-inline:24px; }
  html[data-roca-design] .roca-method .feature-card { grid-template-columns:1fr; gap:10px; padding-block:20px; }
  html[data-roca-admin][data-roca-design] { --sidebar:220px; }
  html[data-roca-design] .admin-main { padding:28px 24px; }
}
@media(max-width:1040px) {
  html[data-roca-design] .main-nav { display:none; }
  html[data-roca-design] .brand-copy [data-brand-motto] { display:block; }
  html[data-roca-design] .header-inner { min-height:70px; }
  html[data-roca-design] .site-header { min-height:70px; }
  html[data-roca-design] .cinematic-hero .hero-copy-inner { max-width:70%; }
  html[data-roca-design] .plans-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  html[data-roca-design] .store-hero-grid { grid-template-columns:1.15fr .85fr; }
  html[data-roca-design] .month-products { grid-template-columns:1fr; }
  html[data-roca-design] .month-card { display:grid; grid-template-columns:85px minmax(0,1fr); column-gap:14px; align-items:center; padding:14px; }
  html[data-roca-design] .month-card img { grid-row:1/6; height:100px; margin:0; }
  html[data-roca-design] .month-card h3 { min-height:0; margin:4px 0; font-size:.78rem; }
  html[data-roca-design] .month-card .btn { min-height:40px; padding:7px 10px; font-size:.68rem; }
  html[data-roca-design] :is(.signup-layout,.contact-grid) { grid-template-columns:1fr; gap:32px; }
  html[data-roca-design] .signup-benefits { position:static; }
  html[data-roca-design] .branch-feature { gap:32px; }
  html[data-roca-design] .branch-feature-media,
  html[data-roca-design] .branch-feature.reverse .branch-feature-media { height:360px; }
  html[data-roca-design] .program-day-nav { grid-template-columns:repeat(4,minmax(0,1fr)); }
}
@media(max-width:820px) {
  html[data-roca-design] .product-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  html[data-roca-design] .shop-stage { grid-template-columns:1fr; }
  html[data-roca-design] .shop-film { min-height:360px; }
  html[data-roca-design] .store-hero-grid { grid-template-columns:1fr; padding-block:40px; }
  html[data-roca-design] .store-hero-copy .display { max-width:20ch; }
  html[data-roca-design] .month-products { grid-template-columns:repeat(2,minmax(0,1fr)); }
  html[data-roca-design] .checkout-layout { grid-template-columns:1fr; }
  html[data-roca-design] .order-summary { position:static; }
  html[data-roca-design] .auth-shell { grid-template-columns:1fr; }
  html[data-roca-design] .auth-intro { padding:30px; }
  html[data-roca-design] .auth-intro .number-list { grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; margin-top:24px; }
  html[data-roca-design] .auth-intro .number-row { grid-template-columns:1fr; gap:10px; }
  html[data-roca-design] .legal-layout { grid-template-columns:1fr; gap:28px; }
  html[data-roca-design] .legal-nav { position:static; }
  html[data-roca-design] .admin-sidebar { padding:14px 18px; }
  html[data-roca-design] .admin-main { padding:24px 18px; }
  html[data-roca-design] .admin-section { padding:24px; }
  html[data-roca-design] .editor-cluster { padding:20px; }
  html[data-roca-design] .form-grid,
  html[data-roca-design] .form-grid.three { grid-template-columns:1fr; }
}
@media(max-width:720px) {
  html[data-roca-design] { --gutter:20px; --header:68px; }
  html[data-roca-design] .section { padding-block:48px; }
  html[data-roca-design] .brand-copy strong { font-size:1.25rem; }
  html[data-roca-design] .brand-copy [data-brand-motto] { max-width:24ch; font-size:.54rem; }
  html[data-roca-design] .announcement { font-size:.61rem; }
  html[data-roca-design] .header-inner { min-height:68px; gap:10px; }
  html[data-roca-design] .site-header { min-height:68px; }
  html[data-roca-design] .brand { gap:8px; }
  html[data-roca-design] .brand img { width:38px; height:38px; }
  html[data-roca-design] .header-actions { gap:7px; }
  html[data-roca-design] .home-hero.cinematic-hero,
  html[data-roca-design] body[data-page="inicio"]:not(.solid-home-header) .home-hero.cinematic-hero { min-height:590px; }
  html[data-roca-design] .cinematic-hero .hero-copy-panel,
  html[data-roca-design] body[data-page="inicio"]:not(.solid-home-header) .cinematic-hero .hero-copy-panel { padding-top:44px; padding-bottom:112px; }
  html[data-roca-design] .cinematic-hero .hero-copy-inner { max-width:100%; }
  html[data-roca-design] .cinematic-hero .hero-copy-inner .display { font-size:clamp(3.35rem,12.5vw,4.6rem); max-width:14ch; line-height:.97; }
  html[data-roca-design] .cinematic-hero .hero-media::after { background:linear-gradient(90deg,#070809bd,#07080965),linear-gradient(0deg,#070809bf,transparent 72%); }
  html[data-roca-design] .cinematic-hero .hero-copy-inner .lede { font-size:.88rem; max-width:42ch; margin-block:22px; }
  html[data-roca-design] .cinematic-hero .hero-proof { grid-template-columns:1fr 1fr; gap:14px; margin-top:24px; }
  html[data-roca-design] .cinematic-hero .hero-proof div:last-child { display:none; }
  html[data-roca-design] .cinematic-hero .hero-watermark { right:3%; bottom:48px; font-size:8rem; }
  html[data-roca-design] .cinematic-hero .hero-video-meta { bottom:22px; left:20px; right:20px; gap:12px; }
  html[data-roca-design] .video-caption { max-width:135px; }
  html[data-roca-design] .video-controls { gap:6px; }
  html[data-roca-design] .split-heading { grid-template-columns:1fr; gap:16px; margin-bottom:24px; }
  html[data-roca-design] .split-heading > p { margin:0; max-width:52ch; }
  html[data-roca-design] .location-card { min-height:410px; }
  html[data-roca-design] .roca-method { grid-template-columns:1fr; }
  html[data-roca-design] .roca-method-photo { min-height:320px; }
  html[data-roca-design] .roca-method .grid-3 { padding:8px 24px; }
  html[data-roca-design] .roca-method .feature-card { grid-template-columns:90px 1fr; gap:16px; padding-block:24px; }
  html[data-roca-design] .membership-hero { padding-block:30px; }
  html[data-roca-design] .membership-hero .display { font-size:3rem; }
  html[data-roca-design] .branch-nav { grid-template-columns:1fr; gap:8px; }
  html[data-roca-design] .branch-nav .branch-option { min-height:88px; }
  html[data-roca-design] .branch-option > img { width:56px; height:58px; }
  html[data-roca-design] .branch-nav .branch-option-copy { padding-right:26px; }
  html[data-roca-design] .branch-nav .branch-option-copy > span { font-size:.73rem; }
  html[data-roca-design] .branch-check { top:12px; right:12px; }
  html[data-roca-design] .branch-tools { align-items:start; flex-wrap:wrap; }
  html[data-roca-design] .branch-feature { grid-template-columns:1fr; gap:24px; }
  html[data-roca-design] .branch-feature.reverse .branch-feature-media { order:0; }
  html[data-roca-design] .branch-feature-media,
  html[data-roca-design] .branch-feature.reverse .branch-feature-media { height:300px; }
  html[data-roca-design] .branch-showcase { gap:48px; }
  html[data-roca-design] .branch-feature-copy h2 { font-size:2.6rem; }
  html[data-roca-design] .location-hero { min-height:400px; }
  html[data-roca-design] .location-hero-copy { padding-block:36px; }
  html[data-roca-design] .story-layout { grid-template-columns:1fr; gap:28px; }
  html[data-roca-design] .value-grid { grid-template-columns:repeat(2,minmax(0,1fr)); margin-top:32px; }
  html[data-roca-design] .value-card { padding:22px; min-height:210px; }
  html[data-roca-design] .value-card h3 { margin-top:30px; }
  html[data-roca-design] .club-banner { grid-template-columns:1fr; min-height:0; }
  html[data-roca-design] .club-visual { height:200px; }
  html[data-roca-design] .club-visual img { width:115px; top:35px; left:28px; }
  html[data-roca-design] .club-visual::after { font-size:10rem; right:22px; }
  html[data-roca-design] .club-copy { padding:28px; }
  html[data-roca-design] .program-day-nav { grid-template-columns:repeat(4,minmax(0,1fr)); gap:6px; }
  html[data-roca-design] .program-day-nav button { min-height:80px; padding:12px 9px; }
  html[data-roca-design] .program-day-nav span { font-size:.74rem; }
  html[data-roca-design] .program-day-nav b { font-size:.6rem; }
  html[data-roca-design] .program-toolbar .hero-actions { gap:8px; }
  html[data-roca-design] .exercise-card h3 { min-height:0; }
  html[data-roca-design] .product-modal { width:calc(100% - 24px); max-height:calc(100dvh - 24px); grid-template-columns:1fr; }
  html[data-roca-design] .modal-copy { padding:24px; }
  html[data-roca-design] .gallery-stage { min-height:290px; }
  html[data-roca-design] .gallery-stage > img { max-height:390px; }
  html[data-roca-design] .newsletter-panel { flex-direction:column; align-items:start; padding:28px; }
  html[data-roca-design] .review-layout { grid-template-columns:1fr; }
  html[data-roca-design] .cookie-banner { left:12px; bottom:82px; width:calc(100% - 24px); padding:20px; }
}
@media(max-width:620px) {
  html[data-roca-design] .plans-grid { grid-template-columns:1fr; gap:20px; }
  html[data-roca-design] .plan-card-content { padding:26px; }
  html[data-roca-design] .plan-card .price strong { font-size:4rem; }
  html[data-roca-design] .product-grid { gap:26px 12px; }
  html[data-roca-design] .product-info h3 { font-size:.8rem; }
  html[data-roca-design] .product-image img { padding:12px; }
  html[data-roca-design] .product-row { display:grid; grid-template-columns:1fr; gap:10px; }
  html[data-roca-design] .product-row .btn { width:100%; min-height:44px; font-size:.67rem; padding-inline:8px; }
  html[data-roca-design] .store-toolbar { gap:14px; }
  html[data-roca-design] .store-toolbar > * { width:100%; }
  html[data-roca-design] .filter-button { padding-inline:14px; font-size:.73rem; }
  html[data-roca-design] .month-products { gap:10px; }
  html[data-roca-design] .month-card { display:flex; padding:14px; }
  html[data-roca-design] .month-card img { height:110px; width:100%; margin-bottom:12px; }
  html[data-roca-design] .month-card h3 { min-height:2.8em; font-size:.78rem; }
  html[data-roca-design] .month-card .btn { min-height:44px; }
  html[data-roca-design] .form-card,
  html[data-roca-design] .auth-box,
  html[data-roca-design] .member-dashboard { padding:24px; }
  html[data-roca-design] .auth-intro .number-list { grid-template-columns:1fr; gap:18px; }
  html[data-roca-design] .auth-intro .number-row { grid-template-columns:34px 1fr; gap:12px; }
  html[data-roca-design] .number-list { margin-top:28px; }
  html[data-roca-design] .admin-section { padding:20px; }
  html[data-roca-design] .editor-cluster { padding:18px; }
  html[data-roca-design] .admin-section-head { flex-wrap:wrap; }
  html[data-roca-design] .form-actions > .btn { flex:1 1 160px; }
  html[data-roca-design] .data-table :is(th,td) { font-size:.78rem; padding:14px 12px; }
  html[data-roca-design] .data-table th { font-size:.67rem; }
  html[data-roca-design] .server-pagination { padding:14px; }
}
@media(max-width:380px) {
  html[data-roca-design] { --gutter:16px; }
  html[data-roca-design] .brand-copy [data-brand-motto] { max-width:19ch; }
  html[data-roca-design] .hero-actions > .btn { padding-inline:16px; font-size:.76rem; }
  html[data-roca-design] .cinematic-hero .hero-copy-inner .display { font-size:3.15rem; }
  html[data-roca-design] .roca-method .feature-card { grid-template-columns:1fr; gap:10px; }
  html[data-roca-design] .benefit-grid { grid-template-columns:1fr; gap:12px; }
  html[data-roca-design] .program-day-nav { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(prefers-reduced-motion:reduce) {
  html[data-roca-design] *,html[data-roca-design] *::before,html[data-roca-design] *::after { animation:none!important; transition:none!important; scroll-behavior:auto!important; }
}
@media print {
  html[data-roca-design]:not([data-roca-admin]) :is([data-header],[data-dynamic-header]) { display:none; }
  html[data-roca-design] .section { padding-block:12px; }
  html[data-roca-design] .container { width:100%; }
  html[data-roca-design] .program-hero { display:none; }
  html[data-roca-design] .exercise-card h3 { font-size:18px; min-height:0; }
  html[data-roca-design] .exercise-prescription dd { font-size:22px; }
  html[data-roca-design] .cookie-banner { display:none; }
}
