/* ============================================================
   DatoCuracavi.cl — estilos del sitio público
   Los colores de marca (--primary, --primary-dark, --accent, --footer-bg)
   se sobreescriben desde Admin → Apariencia.
   ============================================================ */
:root{
  --primary:#2E9E4F; --primary-dark:#1B5E20; --accent:#F39C12; --footer-bg:#E8F5E9;
  --primary-soft:color-mix(in srgb,var(--primary) 12%,#fff);
  --ink:#1D2327; --text:#3C4449; --muted:#6B7479; --line:#E4E8EA;
  --bg:#FFFFFF; --bg-soft:#F6F8F7; --card:#FFFFFF;
  --danger:#D93025; --warn:#E3A008; --ok:#1E8E3E;
  --radius:14px; --shadow:0 1px 2px rgba(16,24,20,.05),0 8px 24px -12px rgba(16,24,20,.18);
  --wrap:1200px;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;}
body{margin:0;background:var(--bg);font-family:'Inter',system-ui,-apple-system,'Segoe UI',sans-serif;color:var(--text);font-size:15px;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden;}
img{max-width:100%;display:block;}
a{color:var(--primary);text-decoration:none;}
a:hover{color:var(--primary-dark);}
h1,h2,h3,h4{color:var(--ink);line-height:1.25;margin:0 0 .5em;font-weight:600;letter-spacing:-.01em;}
p{margin:0 0 1em;}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 20px;}
.muted{color:var(--muted);}
.text-center{text-align:center;}
.hide-sm{}
@media(max-width:640px){.hide-sm{display:none;}}

/* ---------- Botones ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:999px;font-weight:600;font-size:14.5px;padding:12px 24px;border:1.5px solid transparent;cursor:pointer;font-family:inherit;transition:background .15s,color .15s,border-color .15s,transform .15s;line-height:1.2;text-decoration:none;white-space:nowrap;}
.btn:active{transform:translateY(1px);}
.btn-primary{background:var(--primary);color:#fff;}
.btn-primary:hover{background:var(--primary-dark);color:#fff;}
.btn-accent{background:var(--accent);color:#fff;}
.btn-accent:hover{filter:brightness(.94);color:#fff;}
.btn-outline{background:#fff;border-color:var(--line);color:var(--ink);}
.btn-outline:hover{border-color:var(--primary);color:var(--primary);}
.btn-ghost{background:transparent;color:inherit;border-color:currentColor;opacity:.9;}
.btn-ghost:hover{opacity:1;color:inherit;}
.btn-wa{background:#25D366;color:#fff;}
.btn-wa:hover{background:#1DA851;color:#fff;}
.btn-danger{background:#fff;color:var(--danger);border-color:#F3C4C0;}
.btn-danger:hover{background:var(--danger);color:#fff;}
.btn-sm{padding:8px 16px;font-size:13px;}
.btn-lg{padding:15px 30px;font-size:16px;}
.btn-block{width:100%;}

/* ---------- Header ---------- */
.site-header{position:sticky;top:0;z-index:50;background:#fff;border-bottom:1px solid var(--line);color:var(--ink);transition:background .25s,border-color .25s,box-shadow .25s;}
.site-header.transparent{position:fixed;left:0;right:0;background:transparent;border-color:transparent;color:#fff;}
.site-header.transparent.scrolled,.site-header.transparent.menu-open{background:rgba(255,255,255,.97);border-color:var(--line);color:var(--ink);box-shadow:0 6px 20px -14px rgba(0,0,0,.3);backdrop-filter:blur(8px);}
.header-row{max-width:var(--wrap);margin:0 auto;padding:14px 20px;display:flex;align-items:center;gap:24px;}
.logo{display:flex;align-items:center;flex-shrink:0;color:inherit;}
.logo img{width:auto;max-width:220px;object-fit:contain;}
.logo-default{display:flex;align-items:center;gap:8px;}
.logo-text{display:flex;flex-wrap:wrap;align-items:baseline;font-weight:800;font-size:19px;letter-spacing:.02em;line-height:1;max-width:190px;}
.logo-text b{color:inherit;}
.logo-text em{font-style:normal;color:var(--primary);}
.site-header.transparent:not(.scrolled):not(.menu-open) .logo-text em{color:#8BE09F;}
.logo-text small{font-size:19px;}
.logo-text .logo-sub{flex-basis:100%;font-size:9.5px;letter-spacing:.24em;font-weight:600;opacity:.75;margin-top:4px;}
.main-nav{display:flex;gap:26px;margin-left:auto;font-size:14.5px;font-weight:500;}
.main-nav a{color:inherit;opacity:.9;}
.main-nav a:hover{opacity:1;color:inherit;text-decoration:underline;text-underline-offset:6px;text-decoration-thickness:2px;text-decoration-color:var(--primary);}
.header-actions{display:flex;align-items:center;gap:10px;}
.header-actions .social{color:inherit;font-size:17px;opacity:.9;padding:4px;}
.hamburger{display:none;width:40px;height:40px;border:none;background:transparent;cursor:pointer;flex-direction:column;justify-content:center;align-items:center;gap:5px;color:inherit;padding:0;}
.hamburger span{display:block;width:22px;height:2px;background:currentColor;border-radius:2px;transition:.2s;}
.hamburger.open span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.hamburger.open span:nth-child(2){opacity:0;}
.hamburger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}
.mobile-nav{display:none;}
@media(max-width:960px){
  .main-nav{display:none;}
  .header-actions{margin-left:auto;}
  .header-actions .social{display:none;}
  .hamburger{display:flex;}
  .mobile-nav.open{display:flex;flex-direction:column;padding:6px 20px 18px;background:#fff;color:var(--ink);border-top:1px solid var(--line);}
  .mobile-nav a{padding:12px 0;border-bottom:1px solid var(--line);color:var(--ink);font-weight:500;}
  .mobile-nav .mobile-cta{border:none;color:var(--primary);font-weight:700;}
}
@media(max-width:480px){
  .header-row{gap:10px;padding:12px 16px;}
  .header-actions .btn-accent{padding:8px 12px;}
  .logo-text{font-size:16px;max-width:150px;} .logo-text small{font-size:16px;}
  .logo-default svg{width:36px;height:23px;}
}

/* ---------- Hero (portada) ---------- */
.hero{position:relative;min-height:600px;display:flex;align-items:center;justify-content:center;text-align:center;color:#fff;padding:130px 20px 150px;background-color:#3b6e8f;background-size:cover;background-position:center;}
.hero::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.38) 0%,rgba(0,0,0,.22) 45%,rgba(0,0,0,.45) 100%);}
.hero-inner{position:relative;max-width:860px;width:100%;}
.hero .eyebrow{font-size:14px;letter-spacing:.2em;text-transform:uppercase;font-weight:500;opacity:.95;margin-bottom:18px;}
.hero h1{color:#fff;font-size:clamp(38px,6.4vw,70px);font-weight:500;line-height:1.1;margin:0 auto 18px;max-width:760px;letter-spacing:-.02em;text-shadow:0 2px 24px rgba(0,0,0,.25);}
.hero .sub{font-size:17px;opacity:.95;max-width:560px;margin:0 auto 30px;}
.hero-search{display:flex;gap:8px;background:#fff;border-radius:999px;padding:7px;max-width:680px;margin:0 auto;box-shadow:0 20px 50px -20px rgba(0,0,0,.5);}
.hero-search .field-q{flex:1;display:flex;align-items:center;gap:10px;padding:0 8px 0 18px;color:var(--muted);min-width:0;}
.hero-search input,.hero-search select{border:none;outline:none;background:transparent;font:inherit;color:var(--ink);font-size:15px;width:100%;min-width:0;}
.hero-search select{max-width:190px;border-left:1px solid var(--line);padding:0 12px;cursor:pointer;}
@media(max-width:640px){
  .hero{min-height:540px;padding:120px 16px 130px;}
  .hero-search{flex-wrap:wrap;border-radius:20px;}
  .hero-search .field-q{flex-basis:100%;padding:10px 12px;}
  .hero-search select{flex:1;max-width:none;border-left:none;border-top:1px solid var(--line);padding:12px;}
  .hero-search .btn{flex:1;}
}

/* ---------- Accesos directos (íconos de categorías) ---------- */
.quick-access{position:relative;z-index:5;max-width:var(--wrap);margin:-90px auto 0;padding:0 20px;}
.quick-card{background:#fff;border-radius:22px;box-shadow:0 24px 60px -30px rgba(16,40,24,.35),0 2px 6px rgba(0,0,0,.04);padding:26px 22px 20px;}
.quick-card h2{font-size:18px;text-align:center;margin-bottom:18px;}
.quick-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(108px,1fr));gap:6px;}
.quick-item{display:flex;flex-direction:column;align-items:center;gap:9px;padding:12px 6px;border-radius:14px;color:var(--ink);font-size:13px;font-weight:500;text-align:center;line-height:1.25;transition:background .15s,transform .15s;}
.quick-item:hover{background:var(--bg-soft);color:var(--ink);transform:translateY(-2px);}
.quick-icon{width:58px;height:58px;border-radius:18px;display:flex;align-items:center;justify-content:center;font-size:24px;color:var(--c,#2E9E4F);background:color-mix(in srgb,var(--c,#2E9E4F) 13%,#fff);transition:background .15s,color .15s;}
.quick-item:hover .quick-icon{background:var(--c,#2E9E4F);color:#fff;}
.quick-icon .icon-img{width:34px;height:34px;object-fit:contain;}
.quick-icon .icon-emoji{font-size:28px;line-height:1;}
.quick-more{text-align:center;margin-top:10px;font-size:14px;font-weight:600;}
@media(max-width:560px){
  .quick-access{margin-top:-70px;padding:0 12px;}
  .quick-card{padding:20px 10px 14px;}
  .quick-grid{grid-template-columns:repeat(4,1fr);gap:2px;}
  .quick-icon{width:50px;height:50px;font-size:20px;border-radius:15px;}
  .quick-item{font-size:11.5px;padding:8px 2px;}
}

/* ---------- Secciones genéricas ---------- */
.section{max-width:var(--wrap);margin:0 auto;padding:70px 20px;}
.section-sm{padding:44px 20px;}
.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:28px;flex-wrap:wrap;}
.section-head.center{flex-direction:column;align-items:center;text-align:center;}
.section-title{font-size:clamp(26px,3.4vw,40px);font-weight:500;margin:0;}
.section-sub{color:var(--muted);margin:6px 0 0;}
.link-more{font-weight:600;font-size:14.5px;white-space:nowrap;}
.bg-soft{background:var(--bg-soft);}

/* Beneficios (4 íconos) */
.features{display:grid;grid-template-columns:repeat(4,1fr);gap:28px;text-align:center;}
.feature i{font-size:38px;margin-bottom:14px;display:block;}
.feature .icon-emoji{font-size:38px;display:block;margin-bottom:14px;}
.feature h3{font-size:18px;margin:0 0 6px;font-weight:600;}
.feature p{color:var(--muted);margin:0;font-size:15px;}
@media(max-width:860px){.features{grid-template-columns:repeat(2,1fr);gap:34px 18px;}}

/* ---------- Tarjetas ---------- */
.grid{display:grid;gap:26px;}
.grid-3{grid-template-columns:repeat(3,1fr);}
.grid-4{grid-template-columns:repeat(4,1fr);}
@media(max-width:1000px){.grid-4{grid-template-columns:repeat(3,1fr);}}
@media(max-width:860px){.grid-3,.grid-4{grid-template-columns:repeat(2,1fr);gap:16px;}}
@media(max-width:420px){.grid-3,.grid-4{gap:12px;}}
.card{display:flex;flex-direction:column;background:var(--card);border-radius:var(--radius);overflow:hidden;color:var(--text);transition:transform .2s,box-shadow .2s;border:1px solid var(--line);}
.card:hover{transform:translateY(-4px);box-shadow:var(--shadow);color:var(--text);}
.card-media{position:relative;padding-top:72%;background:var(--bg-soft);overflow:hidden;}
.card-media.square{padding-top:100%;}
.card-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .4s;}
.card:hover .card-media img{transform:scale(1.04);}
.media-placeholder{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:40px;font-weight:700;color:#fff;background:linear-gradient(135deg,var(--primary),var(--primary-dark));}
.badge{position:absolute;top:10px;left:10px;font-size:11.5px;font-weight:700;padding:5px 10px;border-radius:999px;display:inline-flex;align-items:center;gap:5px;box-shadow:0 4px 12px -6px rgba(0,0,0,.4);}
.badge-accent{background:var(--accent);color:#fff;}
.badge-dark{background:rgba(0,0,0,.75);color:#fff;left:auto;right:10px;}
.card-body{padding:14px 16px 16px;display:flex;flex-direction:column;gap:4px;flex:1;}
.card-body h3{font-size:16px;margin:0;font-weight:600;line-height:1.3;}
.card-cat{font-size:13px;color:var(--muted);}
.chip-mini{background:var(--primary-soft);color:var(--primary-dark);font-size:11px;padding:1px 7px;border-radius:999px;font-weight:600;}
.verified{color:#1E88E5;font-size:.85em;}
.stars{letter-spacing:1px;line-height:1;}
.stars .on{color:#F5B301;} .stars .off{color:#D5DADD;}
.rating{display:flex;align-items:center;gap:4px;font-size:12px;color:var(--muted);}
.price{font-size:19px;font-weight:700;color:var(--ink);}
.chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px;}
.chips span{font-size:12px;background:var(--bg-soft);border:1px solid var(--line);padding:2px 9px;border-radius:999px;color:var(--text);}
.card-loc{font-size:12.5px;color:var(--muted);margin-top:auto;padding-top:6px;}
@media(max-width:560px){.card-body{padding:10px 11px 12px;}.card-body h3{font-size:14.5px;}.price{font-size:16px;}}

/* ---------- Emergencias ---------- */
.emergency{max-width:900px;margin:0 auto;}
.emergency h2{font-size:22px;display:flex;align-items:center;gap:10px;padding-bottom:10px;border-bottom:2px solid var(--primary);margin-bottom:8px;}
.emergency-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:18px;}
.em-card{border:1px solid var(--line);border-radius:16px;padding:18px;display:flex;gap:14px;align-items:flex-start;background:#fff;}
.em-icon{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:19px;flex-shrink:0;background:var(--c);}
.em-card h3{font-size:15px;margin:0 0 2px;}
.em-card p{font-size:13px;color:var(--muted);margin:0 0 10px;}
.em-actions{display:flex;gap:6px;flex-wrap:wrap;}
@media(max-width:760px){.emergency-grid{grid-template-columns:1fr;}}

/* ---------- CTA con foto ---------- */
.cta-band{position:relative;color:#fff;text-align:center;padding:110px 20px;background-color:var(--primary-dark);background-size:cover;background-position:center;}
.cta-band::before{content:"";position:absolute;inset:0;background:rgba(0,0,0,.5);}
.cta-band>*{position:relative;}
.cta-band h2{color:#fff;font-size:clamp(26px,3.2vw,36px);font-weight:500;}
.cta-band p{max-width:520px;margin:0 auto 28px;opacity:.95;}

/* ---------- Footer ---------- */
.site-footer{background:var(--footer-bg);color:var(--text);padding:60px 20px 0;margin-top:0;}
.footer-grid{max-width:var(--wrap);margin:0 auto;display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:36px;padding-bottom:40px;}
.site-footer h4{font-size:14px;text-transform:uppercase;letter-spacing:.08em;margin-bottom:14px;color:var(--ink);}
.site-footer a{display:block;color:var(--text);font-size:14.5px;margin-bottom:8px;}
.site-footer a:hover{color:var(--primary);}
.site-footer .btn{display:inline-flex;color:#fff;}
.footer-brand p{font-size:14px;color:var(--muted);margin:14px 0;}
.footer-social{display:flex;gap:12px;}
.footer-social a{font-size:19px;}
.footer-bottom{max-width:var(--wrap);margin:0 auto;border-top:1px solid color-mix(in srgb,var(--ink) 12%,transparent);padding:18px 0 22px;display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;font-size:13px;color:var(--muted);}
.footer-bottom a{display:inline;margin-left:14px;font-size:13px;}
@media(max-width:860px){.footer-grid{grid-template-columns:1fr 1fr;}.footer-brand{grid-column:1/-1;}}

.wa-float{position:fixed;right:20px;bottom:20px;z-index:40;width:56px;height:56px;border-radius:50%;background:#25D366;color:#fff;display:flex;align-items:center;justify-content:center;font-size:30px;box-shadow:0 10px 24px -8px rgba(37,211,102,.7);}
.wa-float:hover{color:#fff;transform:scale(1.06);}
.to-top{position:fixed;right:28px;bottom:86px;z-index:39;width:38px;height:38px;border-radius:8px;border:none;background:var(--primary);color:#fff;cursor:pointer;opacity:0;pointer-events:none;transition:opacity .2s;}
.to-top.show{opacity:1;pointer-events:auto;}

/* ---------- Página interna: encabezado ---------- */
.page-hero{background:linear-gradient(135deg,var(--primary-dark),var(--primary));color:#fff;padding:44px 20px 40px;}
.page-hero .wrap{padding:0;}
.page-hero h1{color:#fff;font-size:clamp(26px,3.6vw,38px);font-weight:600;margin:6px 0 6px;}
.page-hero p{margin:0;opacity:.92;max-width:720px;}
.page-hero .ph-icon{font-size:28px;opacity:.95;}
.breadcrumbs{font-size:13px;opacity:.9;}
.breadcrumbs a{color:#fff;}
.breadcrumbs span{margin:0 6px;opacity:.7;}
.breadcrumbs.dark,.breadcrumbs.dark a{color:var(--muted);}
.page-narrow{max-width:820px;margin:0 auto;padding:44px 20px 70px;}
.big-404{font-size:90px;font-weight:800;color:var(--primary);line-height:1;}
.search-inline{display:flex;gap:8px;max-width:460px;margin:22px auto 0;}
.search-inline input{flex:1;}

/* Filtros de listados */
.listing{display:grid;grid-template-columns:270px 1fr;gap:30px;align-items:start;}
.filters{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:20px;position:sticky;top:90px;}
.filters h3{font-size:15px;margin-bottom:14px;}
.filters .field{margin-bottom:14px;}
.filters .btn{width:100%;}
.cat-list a{display:flex;align-items:center;gap:10px;padding:7px 8px;border-radius:10px;color:var(--text);font-size:14px;}
.cat-list a i,.cat-list a .icon-emoji,.cat-list a .icon-img{width:20px;text-align:center;color:var(--c);height:auto;}
.cat-list a:hover,.cat-list a.active{background:var(--primary-soft);color:var(--primary-dark);}
.cat-list a.active{font-weight:600;}
.results-bar{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:18px;flex-wrap:wrap;font-size:14px;color:var(--muted);}
.results-bar select{width:auto;padding:8px 12px;}
.filters-toggle{display:none;}
@media(max-width:900px){
  .listing{grid-template-columns:1fr;}
  .filters{position:static;display:none;}
  .filters.open{display:block;}
  .filters-toggle{display:inline-flex;}
}
.empty{text-align:center;padding:60px 20px;border:1px dashed var(--line);border-radius:var(--radius);color:var(--muted);}
.empty i{font-size:36px;margin-bottom:12px;color:var(--primary);}
.pagination{display:flex;gap:6px;justify-content:center;margin-top:36px;flex-wrap:wrap;}
.pagination a,.pagination span{padding:8px 14px;border-radius:10px;border:1px solid var(--line);font-size:14px;color:var(--text);}
.pagination .current{background:var(--primary);border-color:var(--primary);color:#fff;}
.cat-intro{margin-bottom:26px;color:var(--text);}

/* ---------- Formularios ---------- */
.field{margin-bottom:16px;}
label.form-label,.form-label{display:block;font-size:13.5px;font-weight:600;color:var(--ink);margin-bottom:6px;}
.form-hint{font-size:12.5px;color:var(--muted);margin-top:4px;}
input[type=text],input[type=email],input[type=password],input[type=number],input[type=tel],input[type=url],input[type=search],input[type=date],select,textarea{width:100%;padding:11px 14px;border:1px solid #D5DBDE;border-radius:10px;font:inherit;font-size:15px;color:var(--ink);background:#fff;transition:border-color .15s,box-shadow .15s;}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 18%,transparent);}
textarea{resize:vertical;min-height:110px;}
.check{display:flex;align-items:center;gap:8px;font-size:14px;cursor:pointer;}
.check input{width:18px;height:18px;accent-color:var(--primary);}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 18px;}
.form-grid .full{grid-column:1/-1;}
@media(max-width:640px){.form-grid{grid-template-columns:1fr;}}
.form-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:28px;box-shadow:var(--shadow);}
.form-card h2{font-size:18px;margin-bottom:16px;}
.form-section{border-top:1px solid var(--line);padding-top:22px;margin-top:10px;}
.auth-wrap{max-width:440px;margin:50px auto 80px;padding:0 20px;}
.auth-wrap h1{font-size:26px;text-align:center;}
.auth-wrap .muted{text-align:center;}
.flash{padding:12px 16px;border-radius:12px;margin-bottom:16px;font-size:14px;border:1px solid;}
.flash-ok{background:#E8F5EC;border-color:#BFE3CA;color:#1B5E20;}
.flash-error{background:#FDECEA;border-color:#F5C2BE;color:#8C1D18;}
.flash-warn{background:#FFF6E0;border-color:#F7DC9C;color:#7A5300;}

/* ---------- Ficha de negocio / aviso ---------- */
.detail{display:grid;grid-template-columns:1fr 360px;gap:34px;align-items:start;}
@media(max-width:960px){.detail{grid-template-columns:1fr;}}
.gallery{position:relative;border-radius:18px;overflow:hidden;background:#111;aspect-ratio:4/3;}
.gallery-track{display:flex;height:100%;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;}
.gallery-track::-webkit-scrollbar{display:none;}
.gallery-track img{flex:0 0 100%;width:100%;height:100%;object-fit:contain;scroll-snap-align:start;background:#111;}
.gallery-btn{position:absolute;top:50%;transform:translateY(-50%);width:42px;height:42px;border-radius:50%;border:none;background:rgba(255,255,255,.92);cursor:pointer;font-size:16px;color:var(--ink);box-shadow:0 4px 12px rgba(0,0,0,.2);}
.gallery-btn.prev{left:12px;} .gallery-btn.next{right:12px;}
.gallery-count{position:absolute;bottom:12px;right:12px;background:rgba(0,0,0,.6);color:#fff;font-size:12px;padding:4px 10px;border-radius:999px;}
.thumbs{display:flex;gap:8px;margin-top:10px;overflow-x:auto;}
.thumbs button{flex:0 0 74px;height:56px;border:2px solid transparent;border-radius:8px;overflow:hidden;padding:0;cursor:pointer;background:none;}
.thumbs button.active{border-color:var(--primary);}
.thumbs img{width:100%;height:100%;object-fit:cover;}
.detail-head h1{font-size:clamp(26px,3.4vw,36px);margin:10px 0 6px;}
.detail-meta{display:flex;flex-wrap:wrap;gap:14px;color:var(--muted);font-size:14px;margin-bottom:18px;}
.detail-meta a{color:var(--muted);}
.detail-box{background:#fff;border:1px solid var(--line);border-radius:18px;padding:22px;margin-bottom:18px;}
.detail-box h2{font-size:18px;margin-bottom:12px;}
.contact-box{position:sticky;top:90px;}
.contact-box .btn{width:100%;margin-bottom:10px;}
.contact-box .price{font-size:28px;margin-bottom:6px;}
.info-list{list-style:none;padding:0;margin:0;}
.info-list li{display:flex;gap:12px;padding:10px 0;border-bottom:1px solid var(--line);font-size:14.5px;}
.info-list li:last-child{border-bottom:none;}
.info-list i{color:var(--primary);width:18px;text-align:center;margin-top:4px;}
.spec-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:12px;}
.spec{background:var(--bg-soft);border-radius:12px;padding:12px 14px;}
.spec small{display:block;color:var(--muted);font-size:12px;}
.spec b{color:var(--ink);font-size:15px;font-weight:600;}
.social-row{display:flex;gap:10px;flex-wrap:wrap;}
.social-row a{width:40px;height:40px;border-radius:50%;background:var(--bg-soft);display:flex;align-items:center;justify-content:center;color:var(--ink);font-size:17px;}
.social-row a:hover{background:var(--primary);color:#fff;}
.map-embed{border:0;width:100%;height:280px;border-radius:12px;}
.description{font-size:15.5px;color:var(--text);}
.review{border-bottom:1px solid var(--line);padding:14px 0;}
.review:last-child{border-bottom:none;}
.review b{color:var(--ink);}
.review small{color:var(--muted);margin-left:6px;}
.star-input{display:flex;flex-direction:row-reverse;justify-content:flex-end;gap:4px;}
.star-input input{display:none;}
.star-input label{font-size:28px;color:#D5DADD;cursor:pointer;line-height:1;}
.star-input input:checked~label,.star-input label:hover,.star-input label:hover~label{color:#F5B301;}
.tag-list{display:flex;flex-wrap:wrap;gap:8px;}
.tag-list a{background:var(--primary-soft);color:var(--primary-dark);padding:4px 12px;border-radius:999px;font-size:13px;font-weight:500;}
.contenido-pagina{font-size:16px;}
.contenido-pagina h2{margin-top:1.4em;font-size:24px;}
.contenido-pagina img{border-radius:12px;height:auto;}
.contenido-pagina li{margin-bottom:6px;}

/* ---------- Planes ---------- */
.plans{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:22px;}
.plan{background:#fff;border:1px solid var(--line);border-radius:20px;padding:28px 24px;display:flex;flex-direction:column;position:relative;}
.plan.recomendado{border:2px solid var(--primary);box-shadow:0 24px 50px -30px color-mix(in srgb,var(--primary) 70%,transparent);}
.plan .ribbon{position:absolute;top:-12px;left:50%;transform:translateX(-50%);background:var(--primary);color:#fff;font-size:12px;font-weight:700;padding:4px 14px;border-radius:999px;white-space:nowrap;}
.plan h3{font-size:19px;margin-bottom:4px;}
.plan .plan-price{font-size:34px;font-weight:700;color:var(--ink);margin:8px 0 2px;}
.plan .plan-price small{font-size:14px;font-weight:500;color:var(--muted);}
.plan ul{list-style:none;padding:0;margin:16px 0 22px;flex:1;}
.plan li{padding:6px 0 6px 26px;position:relative;font-size:14.5px;}
.plan li::before{content:"\f00c";font-family:"Font Awesome 6 Free";font-weight:900;position:absolute;left:0;color:var(--primary);}
.plan-radio{cursor:pointer;}
.plan-radio input{position:absolute;opacity:0;}
.plan-radio:has(input:checked){border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 25%,transparent);}
.plan-radio .sel{margin-top:auto;font-weight:600;color:var(--primary);font-size:14px;}
.publish-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px;}
.publish-option{border:1px solid var(--line);border-radius:18px;padding:26px;text-align:center;color:var(--text);background:#fff;transition:.15s;}
.publish-option:hover{border-color:var(--primary);transform:translateY(-3px);box-shadow:var(--shadow);color:var(--text);}
.publish-option .quick-icon{margin:0 auto 12px;}
.publish-option h3{font-size:17px;margin-bottom:4px;}

/* ---------- Panel del usuario ---------- */
.panel-layout{max-width:var(--wrap);margin:0 auto;padding:34px 20px 70px;}
.panel-top{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:24px;}
.panel-top h1{font-size:26px;margin:0;}
.item-row{display:grid;grid-template-columns:90px 1fr auto;gap:16px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:16px;padding:14px;margin-bottom:12px;}
.item-row img,.item-row .ph{width:90px;height:70px;border-radius:10px;object-fit:cover;background:var(--bg-soft);display:flex;align-items:center;justify-content:center;color:var(--muted);}
.item-row h3{font-size:16px;margin:0 0 4px;}
.item-row .meta{font-size:13px;color:var(--muted);display:flex;gap:14px;flex-wrap:wrap;}
.item-row .actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end;}
@media(max-width:700px){.item-row{grid-template-columns:70px 1fr;}.item-row img,.item-row .ph{width:70px;height:56px;}.item-row .actions{grid-column:1/-1;justify-content:flex-start;}}
.pill{display:inline-block;font-size:12px;font-weight:600;padding:3px 10px;border-radius:999px;}
.pill-ok{background:#E6F4EA;color:#1E7B34;} .pill-warn{background:#FFF4DB;color:#8A5A00;} .pill-danger{background:#FCE8E6;color:#A50E0E;} .pill-muted{background:#EEF0F1;color:#5F6368;}
.photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:10px;margin-bottom:12px;}
.photo-grid .ph-item{position:relative;border-radius:10px;overflow:hidden;aspect-ratio:1;background:var(--bg-soft);}
.photo-grid img{width:100%;height:100%;object-fit:cover;}
.photo-grid .ph-actions{position:absolute;inset:auto 0 0 0;display:flex;justify-content:space-between;padding:6px;background:linear-gradient(transparent,rgba(0,0,0,.6));}
.photo-grid .ph-actions button{border:none;background:rgba(255,255,255,.92);border-radius:6px;font-size:12px;padding:3px 7px;cursor:pointer;}
.photo-grid .ph-cover{position:absolute;top:6px;left:6px;background:var(--primary);color:#fff;font-size:11px;padding:2px 8px;border-radius:999px;}
.stat-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-bottom:22px;}
.stat{background:#fff;border:1px solid var(--line);border-radius:14px;padding:16px;}
.stat b{display:block;font-size:24px;color:var(--ink);}
.stat small{color:var(--muted);}

/* ---------- Tamaño recomendado de imágenes (formularios) ---------- */
.size-hint{display:flex;gap:10px;align-items:flex-start;background:#EEF6FF;border:1px solid #CFE2FA;color:#24466E;border-radius:10px;padding:9px 12px;font-size:13px;line-height:1.45;margin:4px 0 10px;}
.size-hint i{color:#1E6FD9;margin-top:3px;font-size:15px;}
.size-hint b{color:#12345A;}
.size-hint span{color:#4A6380;font-size:12.5px;}
.size-actual{display:block;font-size:12.5px;color:var(--ok);margin-bottom:4px;font-weight:500;}
.size-actual.warn{color:#B45309;}

/* ---------- Banners publicitarios ---------- */
.banner-slider{position:relative;overflow:hidden;border-radius:18px;background:var(--bg-soft);box-shadow:var(--shadow);}
.banner-track{display:flex;transition:transform .6s ease;}
.banner-slide{flex:0 0 100%;aspect-ratio:4/1;}
.banner-slide a,.banner-slide picture{display:block;width:100%;height:100%;}
.banner-slide img{width:100%;height:100%;object-fit:cover;}
.banner-dots{position:absolute;bottom:10px;left:0;right:0;display:flex;justify-content:center;gap:7px;}
.banner-dots button{width:9px;height:9px;border-radius:50%;border:0;background:rgba(255,255,255,.6);cursor:pointer;padding:0;box-shadow:0 0 0 1px rgba(0,0,0,.15);}
.banner-dots button.on{background:#fff;width:22px;border-radius:9px;}
.banner-tag{position:absolute;top:8px;right:10px;font-size:10px;background:rgba(0,0,0,.45);color:#fff;padding:2px 8px;border-radius:999px;letter-spacing:.03em;}
@media(max-width:640px){.banner-slide{aspect-ratio:8/5;}.banner-slider{border-radius:14px;}}

/* ---------- Fútbol ---------- */
.futbol-hero{background:linear-gradient(135deg,#0F3D22,#1F7A3E);}
.cat-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:22px;}
.cat-tabs a,.cat-tabs button{padding:9px 18px;border-radius:999px;border:1.5px solid var(--line);background:#fff;color:var(--ink);font-weight:600;font-size:14px;cursor:pointer;font-family:inherit;}
.cat-tabs a:hover,.cat-tabs button:hover{border-color:var(--primary);color:var(--primary);}
.cat-tabs .active{background:var(--primary);border-color:var(--primary);color:#fff !important;}
.futbol-grid{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:26px;align-items:start;}
@media(max-width:960px){.futbol-grid{grid-template-columns:minmax(0,1fr);}}
.futbol-grid>*,.futbol-home{min-width:0;}
.tabla-wrap{overflow-x:auto;}
.tabla-pos{width:100%;border-collapse:collapse;font-size:14px;}
.tabla-pos th{font-size:11.5px;text-transform:uppercase;color:var(--muted);font-weight:600;padding:10px 8px;border-bottom:2px solid var(--line);text-align:center;white-space:nowrap;}
.tabla-pos td{padding:9px 8px;border-bottom:1px solid var(--line);text-align:center;white-space:nowrap;}
.tabla-pos .t-eq{text-align:left;width:100%;}
.tabla-pos .t-eq a{display:flex;align-items:center;gap:10px;color:var(--ink);font-weight:600;}
.tabla-pos .t-eq a:hover{color:var(--primary);}
.tabla-pos .pos{font-weight:700;color:var(--muted);width:34px;}
.tabla-pos tbody tr:nth-child(-n+1) .pos{color:#fff;background:var(--primary);}
.tabla-pos .pts{font-weight:800;color:var(--ink);font-size:15px;}
.tabla-pos .pts sup{color:var(--danger);}
.tabla-pos tbody tr:hover td{background:var(--bg-soft);}
.tabla-pos .t-forma span{display:inline-flex;width:20px;height:20px;border-radius:5px;align-items:center;justify-content:center;font-size:10.5px;font-weight:700;color:#fff;margin-left:2px;}
.f-G{background:#2E9E4F;} .f-E{background:#9AA3A8;} .f-P{background:#D93025;}
.tabla-pos.compacta td,.tabla-pos.compacta th{padding:8px 10px;}
@media(max-width:640px){.tabla-pos{font-size:13px;}.tabla-pos td,.tabla-pos th{padding:8px 4px;}.tabla-pos .t-forma{display:none;}.tabla-pos .t-eq a{gap:6px;}.tabla-pos .t-eq span{max-width:120px;overflow:hidden;text-overflow:ellipsis;display:inline-block;vertical-align:middle;}}
.escudo{border-radius:50%;object-fit:contain;flex:none;display:inline-block;}
.escudo-ini{display:inline-flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:11px;letter-spacing:-.02em;}
.match{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:10px;padding:12px 0;border-bottom:1px solid var(--line);}
.match:last-child{border-bottom:0;}
.match .team{display:flex;align-items:center;gap:8px;color:var(--ink);font-weight:500;font-size:14px;min-width:0;}
.match .team span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.match .team.away{justify-content:flex-end;text-align:right;}
.match .team.win{font-weight:800;}
.match .score{display:flex;align-items:center;gap:6px;background:var(--bg-soft);border-radius:10px;padding:6px 12px;min-width:74px;justify-content:center;}
.match .score b{font-size:18px;color:var(--ink);}
.match .score small{font-size:12.5px;font-weight:600;color:var(--muted);}
.match .score .susp{color:var(--danger);font-size:11px;}
.match-meta{grid-column:1/-1;text-align:center;font-size:12px;color:var(--muted);margin-top:-2px;}
.jornada{border:1px solid var(--line);border-radius:12px;padding:0 14px;margin-bottom:10px;}
.jornada summary{cursor:pointer;padding:12px 0;font-weight:600;color:var(--ink);list-style:none;display:flex;justify-content:space-between;}
.jornada summary::after{content:"▾";color:var(--muted);}
.jornada[open] summary::after{content:"▴";}
.jornada summary small{margin-left:auto;margin-right:10px;color:var(--muted);font-weight:500;}
.clubes-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:16px;}
.club-card{display:flex;flex-direction:column;align-items:center;gap:8px;padding:22px 14px;border:1px solid var(--line);border-radius:16px;background:#fff;text-align:center;color:var(--ink);border-top:4px solid var(--c);transition:transform .15s,box-shadow .15s;}
.club-card:hover{transform:translateY(-2px);box-shadow:var(--shadow);color:var(--ink);}
.club-card small{color:var(--muted);font-size:12px;}
.club-head{display:flex;align-items:center;gap:22px;}
.club-head .escudo{background:#fff;padding:6px;box-shadow:0 4px 18px rgba(0,0,0,.25);}
.club-head .escudo-ini{font-size:30px;padding:0;border:4px solid #fff;}
@media(max-width:640px){.club-head{flex-direction:column;align-items:flex-start;gap:12px;}}
.pos-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;margin-bottom:20px;}
.pos-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px 16px;color:var(--text);display:flex;flex-direction:column;}
.pos-card small{text-transform:uppercase;font-size:11px;color:var(--muted);font-weight:600;}
.pos-card b{font-size:30px;color:var(--primary);line-height:1.2;}
.pos-card span{font-size:13px;color:var(--muted);}
.futbol-home{background:#fff;border:1px solid var(--line);border-radius:18px;padding:22px;box-shadow:var(--shadow);}
.futbol-home .cat-tabs{margin-bottom:14px;}
/* Celulares angostos: el header no se sale de la pantalla */
@media(max-width:430px){
  .header-row{gap:6px;padding:10px 12px;}
  .header-actions{gap:6px;}
  .header-actions .btn-sm{padding:7px 10px;}
  .header-actions .btn-accent{padding:7px 11px;font-size:13px;}
  .logo-text{font-size:14px;max-width:120px;} .logo-text small{font-size:14px;}
  .logo-text .logo-sub{font-size:8px;letter-spacing:.14em;}
  .logo-default svg{width:30px;height:19px;}
  .hamburger{width:34px;}
}
@media(max-width:360px){.header-actions .btn-accent{font-size:0;gap:0;padding:8px 11px;}.header-actions .btn-accent i{font-size:14px;}}
.club-cta{display:flex;align-items:center;gap:18px;background:linear-gradient(135deg,#EAF6EE,#F7FBF8);border:1px solid #CFE8D5;border-radius:16px;padding:18px 22px;margin:34px 0 0;flex-wrap:wrap;}
.club-cta>i{font-size:34px;color:var(--primary);}
.club-cta>div{flex:1;min-width:220px;font-size:14.5px;}
.plantel{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px;}
.plantel[hidden]{display:none;}
.jugador{display:flex;align-items:center;gap:12px;padding:10px;border:1px solid var(--line);border-radius:12px;background:#fff;}
.jugador img,.jugador .j-num{width:46px;height:46px;border-radius:50%;object-fit:cover;flex:none;}
.jugador .j-num{display:flex;align-items:center;justify-content:center;color:#fff;font-weight:800;font-size:17px;}
.jugador b{display:block;color:var(--ink);font-size:14.5px;line-height:1.25;}
.jugador small{color:var(--muted);font-size:12.5px;}
.jugador .cap{display:inline-flex;width:18px;height:18px;border-radius:4px;background:var(--accent);color:#fff;font-size:10.5px;align-items:center;justify-content:center;vertical-align:1px;}
.cat-tabs button small{font-weight:500;opacity:.8;}
.por-confirmar{background:#FFF3D6;color:#9A6A00;border-radius:999px;padding:0 7px;font-weight:600;}
.ya-cuenta{background:var(--primary-soft);border:1px solid color-mix(in srgb,var(--primary) 25%,#fff);border-radius:12px;padding:11px 14px;font-size:14.5px;margin-bottom:16px;text-align:center;}
form.enviando button[type=submit],form.enviando button:not([type]){opacity:.6;cursor:progress;}
