
:root{--red:#B7042C;--purple:#2E1153;--green:#169B50;--blue:#246BD6;--pink:#D91C74;--bg:#F4F1F7;--line:#E5E0EA;--muted:#686868}
*{box-sizing:border-box}html,body{margin:0;font-family:Arial,Helvetica,sans-serif;background:var(--bg);color:#171717}a{color:inherit}
.topbar{background:var(--purple);color:#fff;padding:12px 20px;display:flex;align-items:center;gap:14px;position:sticky;top:0;z-index:50}.mainLogo{width:170px;height:52px;object-fit:contain;background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important;padding:0!important}.brand{font-size:20px;font-weight:900}.brand span{color:#FFD21A}.sub{font-size:10px;letter-spacing:1.3px;color:#DDD3E8}.desktopSearch{margin-left:auto}.desktopSearch input{width:340px;border:0;border-radius:11px;padding:11px 13px;font:inherit}

.mapSection{height:360px;background:#DDE7DA;position:relative;border-bottom:1px solid #D2D2D2}.mapPlaceholder{position:absolute;inset:0;overflow:hidden;background:#E7EEE4}.mapFakeGrid{position:absolute;inset:-30px;background-image:linear-gradient(#D5DCCE 1px,transparent 1px),linear-gradient(90deg,#D5DCCE 1px,transparent 1px);background-size:75px 75px;transform:rotate(-5deg);opacity:.6}.mapMessage{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);background:#fff;border:1px solid #ddd;border-radius:16px;padding:16px 20px;box-shadow:0 5px 18px #0002;display:flex;align-items:center;gap:12px;min-width:330px}.mapMessage b,.mapMessage small{display:block}.mapMessage small{color:#777;margin-top:4px}.mapPin{font-size:30px}

.siteWrap{max-width:1380px;margin:auto;padding:20px}.filtersBlock{background:#fff;border:1px solid var(--line);border-radius:16px;padding:14px}.categories{display:flex;gap:8px;overflow:auto;padding-bottom:8px}.cat{flex:0 0 auto;border:1px solid #D8D8D8;background:#fff;border-radius:999px;padding:9px 13px;font-size:13px;cursor:pointer}.cat.active{background:var(--red);border-color:var(--red);color:#fff}.communeRow{display:flex;gap:18px;align-items:end;border-top:1px solid var(--line);padding-top:12px}.communeRow label{font-size:12px;font-weight:800}.communeRow select{display:block;margin-top:5px;padding:9px 12px;border:1px solid #ccc;border-radius:9px;background:#fff}.onlyFeatured{display:flex;gap:7px;align-items:center;padding-bottom:9px}
.sectionHead{display:flex;justify-content:space-between;align-items:end;margin:22px 0 12px}.sectionHead h1,.sectionHead h2{margin:0}.sectionHead h1{font-size:30px}.sectionHead h2{font-size:23px}.sectionHead p{margin:5px 0 0;color:var(--muted)}.sectionHead small{color:var(--red);font-weight:800}
.localGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.directoryCard{background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden;box-shadow:0 4px 14px #0000000d}.photoLink{text-decoration:none}.directoryPhoto{height:250px;background:#eee center/cover no-repeat;position:relative}.photoFeatured{position:absolute;right:14px;top:14px;background:var(--red);color:#fff;padding:7px 9px;border-radius:999px;font-size:11px;font-weight:900}.localLogo{position:absolute;left:18px;top:18px;width:126px;height:126px;border-radius:50%;background:transparent;border:0;box-shadow:0 4px 14px #0003;display:grid;place-items:center;overflow:hidden}.localLogo img{width:100%;height:100%;object-fit:contain;padding:0;background:transparent}
.directoryBody{padding:15px}.categoryPill{display:inline-block;background:var(--red);color:#fff;border-radius:999px;padding:6px 10px;font-size:11px;font-weight:900}.directoryBody h3{font-size:22px;margin:8px 0 5px}.locationLine{color:#555;font-size:13px}.promoMini{display:inline-block;background:#FFF0C9;border-radius:9px;padding:8px 10px;font-size:12px;margin-top:10px}.quickRow{display:grid;grid-template-columns:1fr 1fr 1fr;gap:7px;margin-top:12px}.quick{text-align:center;text-decoration:none;border-radius:9px;padding:10px 6px;font-size:12px;font-weight:800}.quick.wa{background:var(--green);color:#fff}.quick.insta{background:var(--pink);color:#fff}.quick.more{background:#fff;border:1px solid #d7d7d7;color:#222}
.productStrip{border-top:1px solid var(--line);margin-top:14px;padding-top:13px}.productStripTitle{font-weight:900;font-size:13px;margin-bottom:9px}.productMiniGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.productMini{text-align:center}.productThumb{height:95px;border-radius:9px;background:#eee center/cover no-repeat}.productFallback{display:grid;place-items:center;font-size:28px}.productMini b{display:block;font-size:11px;margin-top:6px}.productMini strong{display:block;color:var(--red);font-size:12px;margin-top:3px}
.promoSection{margin-top:34px}.promoGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.promoCard{display:block;text-decoration:none;background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden}.promoPhoto{height:170px;background:#eee center/cover no-repeat;position:relative}.promoLogo{position:absolute;left:12px;top:12px;width:70px;height:70px;border-radius:50%;background:transparent;overflow:hidden;border:0}.promoLogo img{width:100%;height:100%;object-fit:contain;padding:0;background:transparent}.promoBody{padding:13px}.featured{display:inline-block;background:var(--red);color:#fff;border-radius:6px;padding:5px 7px;font-size:10px;font-weight:900}.promoBody h3{margin:7px 0 4px}.promoBody p{margin:4px 0;color:#555}.promoBody strong{color:var(--red);font-size:20px}
.communesSection{margin-top:34px}.communesGrid{display:grid;grid-template-columns:repeat(5,1fr);gap:9px}.communeButton{background:#fff;border:1px solid var(--line);border-radius:12px;padding:13px 10px;font-weight:800;cursor:pointer}.communeButton:hover{border-color:var(--red);color:var(--red)}
.aboutBlock{margin:35px 0 80px;background:var(--purple);color:#fff;border-radius:16px;padding:18px;display:flex;align-items:center;gap:16px}.aboutBlock img{width:155px;height:52px;object-fit:contain;background:transparent!important;border:0!important;border-radius:0!important;padding:0!important}.aboutBlock h2{margin:0}.aboutBlock p{margin:5px 0 0;color:#DDD3E8}.emptyState,.loadingState,.errorState{background:#fff;border:1px solid var(--line);border-radius:14px;padding:25px;text-align:center;color:#777;grid-column:1/-1}.errorState{color:#8C1C1C;background:#FFF5F5}
.mobileNav{display:none}

/* detail */
.detailPage{background:#fff}.detailWrap{max-width:950px;margin:auto;padding:20px}.backLink{text-decoration:none;color:var(--purple);font-weight:800}.heroPhoto{height:420px;background:#eee center/cover no-repeat;border-radius:18px;position:relative;margin-top:14px}.heroPhoto .featured{position:absolute;right:14px;top:14px}.detailLocalLogo{position:absolute;left:24px;top:24px;width:150px;height:150px;border-radius:50%;background:transparent;border:0;box-shadow:0 5px 18px #0003;overflow:hidden}.detailLocalLogo img{width:100%;height:100%;object-fit:contain;padding:0;background:transparent}.detailWrap h1{font-size:35px;margin-bottom:5px}.promoBox{background:#FFF1F1;border:1px solid #FFD0D0;border-radius:12px;padding:13px;display:flex;justify-content:space-between;gap:10px;margin:15px 0}.promoBox strong{color:var(--red);font-size:20px}.actionGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:15px 0}.action{text-align:center;color:#fff;text-decoration:none;border-radius:10px;padding:12px 6px;font-weight:800}.wa{background:var(--green)}.route{background:var(--blue)}.insta{background:var(--pink)}.products{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.product{border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#fff}.productPhoto{height:150px;background:#eee center/cover no-repeat}.productText{padding:10px}.product b,.product small,.product strong{display:block}.product small{color:#777;margin-top:3px}.product strong{color:var(--red);margin-top:6px}.infoRows{border:1px solid var(--line);border-radius:13px;overflow:hidden;margin-top:15px}.infoRows div{padding:13px;border-bottom:1px solid var(--line)}.infoRows div:last-child{border:0}

@media(max-width:1000px){.localGrid,.promoGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.communesGrid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:700px){.topbar{padding:10px 12px}.mainLogo{width:128px;height:40px}.brand{font-size:16px}.sub,.desktopSearch{display:none}.mapSection{height:280px}.mapMessage{left:12px;right:12px;transform:translateY(-50%);min-width:0}.siteWrap{padding:13px}.communeRow{align-items:flex-start;flex-direction:column;gap:8px}.communeRow select{width:100%}.localGrid,.promoGrid{grid-template-columns:1fr}.directoryPhoto{height:235px}.localLogo{width:96px;height:96px}.quickRow{grid-template-columns:1fr 1fr}.quick.more{grid-column:1/-1}.sectionHead h1{font-size:22px}.communesGrid{grid-template-columns:repeat(2,1fr)}.aboutBlock{margin-bottom:78px;align-items:flex-start}.aboutBlock img{width:115px;height:42px}.mobileNav{position:fixed;bottom:0;left:0;right:0;background:#fff;border-top:1px solid #ddd;height:68px;display:flex;justify-content:space-around;align-items:center;z-index:60}.mobileNav a{text-align:center;font-size:10px;color:#666;text-decoration:none}.mobileNav i{display:block;font-style:normal;font-size:22px}.mobileNav .active{color:var(--red)}body{padding-bottom:68px}.detailWrap{padding:14px}.heroPhoto{height:300px;border-radius:0;margin-left:-14px;margin-right:-14px}.detailLocalLogo{width:105px;height:105px;left:16px;top:16px}.actionGrid{grid-template-columns:1fr 1fr}.actionGrid .insta{grid-column:1/-1}.products{grid-template-columns:1fr}}


/* Google Maps manual embed */
.mapEmbedSection{margin-top:22px}
.mapEmbedSection h2{margin:0 0 10px}
.mapEmbedFrame{border:1px solid var(--line);border-radius:14px;overflow:hidden;background:#F5F5F5}
.mapEmbedFrame iframe{display:block;width:100%;height:330px;border:0}
.mapEmbedEmpty{padding:26px;text-align:center;color:#777}
.mapEmbedActions{display:flex;justify-content:flex-end;margin-top:9px}
.mapEmbedActions a{background:var(--blue);color:#fff;text-decoration:none;font-weight:800;border-radius:9px;padding:10px 13px;font-size:12px}

/* Public footer */
.siteFooter{background:var(--purple);color:#fff;margin-top:35px}
.footerInner{max-width:1380px;margin:auto;padding:24px 20px 90px;display:grid;grid-template-columns:180px 1fr auto;gap:22px;align-items:center}
.footerInner>img{width:160px;height:58px;object-fit:contain;background:transparent!important}
.footerCopy h2{margin:0 0 5px;font-size:20px}
.footerCopy p{margin:4px 0;color:#DDD3E8;line-height:1.45;font-size:13px}
.footerCopy strong{color:#fff}
.footerWhatsapp{display:flex;align-items:center;gap:8px;background:var(--green);color:#fff;text-decoration:none;padding:12px 15px;border-radius:10px;font-size:13px;white-space:nowrap}
.footerWhatsapp span{font-size:19px}
@media(max-width:700px){
  .mapEmbedFrame iframe{height:260px}
  .footerInner{grid-template-columns:1fr;text-align:center;padding:22px 16px 88px;gap:12px}
  .footerInner>img{margin:auto;width:130px;height:46px}
  .footerWhatsapp{justify-content:center;width:100%}
}


/* =========================================================
   MODO OSCURO ACONCAGUANEWS
   Conserva intacta la estructura original del sitio.
   Fondo solicitado: #0A151E
   ========================================================= */
:root{
  --dark-bg:#0A151E;
  --dark-surface:#0F1D27;
  --dark-surface-2:#142530;
  --dark-line:#263A46;
  --dark-text:#F7F9FA;
  --dark-muted:#A7B3BA;
}

html,body{
  background:var(--dark-bg);
  color:var(--dark-text);
}

.topbar{
  background:var(--dark-bg);
  border-bottom:1px solid var(--dark-line);
}

.desktopSearch input{
  background:#ffffff;
  color:#171717;
}

.siteWrap,
.detailPage,
.detailWrap{
  background:var(--dark-bg);
  color:var(--dark-text);
}

.filtersBlock,
.directoryCard,
.promoCard,
.product,
.infoRows,
.emptyState,
.loadingState,
.communeButton{
  background:var(--dark-surface);
  border-color:var(--dark-line);
  color:var(--dark-text);
}

.directoryCard,
.promoCard{
  box-shadow:0 5px 18px #00000030;
}

.directoryBody h3,
.sectionHead h1,
.sectionHead h2,
.promoBody h3,
.communesSection h2,
.detailWrap h1,
.product b,
.productMini b,
.productStripTitle,
.infoRows div{
  color:var(--dark-text);
}

.sectionHead p,
.locationLine,
.promoBody p,
.product small,
.productMini,
.footerCopy p,
.mapEmbedEmpty{
  color:var(--dark-muted);
}

.cat{
  background:var(--dark-surface);
  border-color:var(--dark-line);
  color:var(--dark-text);
}

.cat.active{
  background:var(--red);
  border-color:var(--red);
  color:#fff;
}

.communeRow{
  border-color:var(--dark-line);
}

.communeRow select{
  background:var(--dark-surface-2);
  color:var(--dark-text);
  border-color:var(--dark-line);
}

.quick.more{
  background:var(--dark-surface-2);
  color:var(--dark-text);
  border-color:var(--dark-line);
}

.productStrip{
  border-color:var(--dark-line);
}

.promoMini{
  background:#332A13;
  color:#FFD873;
}

.promoBox{
  background:#2A1720;
  border-color:#5C2A3B;
  color:var(--dark-text);
}

.mapEmbedFrame{
  background:var(--dark-surface);
  border-color:var(--dark-line);
}

.mapEmbedSection h2{
  color:var(--dark-text);
}

.backLink{
  color:#FFFFFF;
  display:inline-flex;
  align-items:center;
  gap:7px;
  background:var(--dark-surface-2);
  border:1px solid var(--dark-line);
  padding:10px 14px;
  border-radius:10px;
  font-size:14px;
}

.backLink:hover{
  border-color:var(--red);
  color:#fff;
}

.siteFooter{
  background:#071119;
  border-top:1px solid var(--dark-line);
}

.aboutBlock{
  background:#0F1D27;
  border:1px solid var(--dark-line);
}

.mobileNav{
  background:#0F1D27;
  border-color:var(--dark-line);
}

.mobileNav a{
  color:#B8C1C7;
}

.mobileNav .active{
  color:#FFFFFF;
}

/* El mapa y sus colores se mantienen claros para legibilidad */
.mapSection,
.mapPlaceholder{
  color:#171717;
}

/* Mejora sutil de interacción, sin cambiar estructura */
.directoryCard:hover,
.promoCard:hover,
.communeButton:hover{
  border-color:#4A6270;
}

@media(max-width:700px){
  .siteWrap,
  .detailWrap{
    background:var(--dark-bg);
  }

  .mobileNav{
    box-shadow:0 -5px 18px #00000035;
  }

  .backLink{
    margin-top:4px;
    font-size:13px;
    padding:9px 12px;
  }
}

.openStatus{font-size:12px;font-weight:900;margin-top:7px}
.openStatus.isOpen{color:#43D17E}
.openStatus.isClosed{color:#FF6B6B}
.detailStatus{display:inline-flex;align-items:center;gap:7px;font-size:14px;font-weight:900;margin:3px 0 12px;padding:8px 11px;border-radius:9px}
.detailStatus.isOpen{background:#123923;color:#5BE28E;border:1px solid #225C38}
.detailStatus.isClosed{background:#3B171A;color:#FF8585;border:1px solid #6A282D}


/* ===== ICONOS UNIFICADOS + CORRECCION MOBILE ===== */
.uiIcon{width:17px;height:17px;display:inline-block;vertical-align:-3px;flex:0 0 17px}
.uiIcon svg{display:block;width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.statusPill{display:inline-flex;align-items:center;gap:7px;font-size:11px;font-weight:900;letter-spacing:.2px;padding:6px 10px;border-radius:999px;margin-top:8px}
.statusPill.open{background:#123923;color:#66E397;border:1px solid #225C38}
.statusPill.closed{background:#3B171A;color:#FF8585;border:1px solid #6A282D}
.locationUnified{display:flex;align-items:center;gap:6px;color:var(--dark-muted,#A7B3BA)}
.locationUnified .uiIcon{color:#E33A49}
.localLogo,.directoryLogo,.detailLogo{background:#fff!important;border:2px solid #fff!important;box-shadow:0 4px 14px #0005!important;overflow:hidden}
.localLogo img,.directoryLogo img,.detailLogo img{width:100%;height:100%;object-fit:contain!important;padding:5px;background:#fff}
@media(max-width:700px){
  .brand img,.topbar img.logo,.topbar .logo{display:block!important;opacity:1!important;visibility:visible!important;max-width:none!important;width:118px!important;height:42px!important;object-fit:contain!important;flex:0 0 118px!important}
  .topbar{min-height:62px!important;padding:9px 12px!important}
  .brand{display:flex!important;align-items:center!important;min-width:118px!important;flex:0 0 auto!important}
  .directoryLogo,.localLogo{width:54px!important;height:54px!important;min-width:54px!important;min-height:54px!important;border-radius:50%!important}
  .detailLogo{background:#fff!important;border-radius:50%!important}
  .directoryPhoto,.promoPhoto{min-height:190px}
  .statusPill{font-size:10px;padding:5px 8px}
}

/* ===== BLOQUE PROMOCIONES DESTACADAS =====
   Mismo contenido y mismas 3 promociones; solo cambia el tono del sector. */
.promoSection{
  margin:30px -18px 0;
  padding:24px 18px 28px;
  background:#101F2A;
  border-top:1px solid #29404D;
  border-bottom:1px solid #29404D;
}
.promoSection .sectionHead{
  margin-top:0;
}
.promoSection .sectionHead h2{
  color:#FFFFFF;
}
.promoSection .sectionHead p{
  color:#AFC0C9;
}
.promoSection .promoCard{
  background:#142733;
  border-color:#304754;
}
.promoSection .promoCard:hover{
  border-color:#4A6574;
}
@media(max-width:700px){
  .promoSection{
    margin:22px -13px 0;
    padding:20px 13px 23px;
  }
}

/* Banners publicitarios administrables */
.adBanner{grid-column:1/-1;width:100%;margin:4px 0 8px;border-radius:14px;overflow:hidden;background:#101F2A;border:1px solid #29404D}
.adBanner a{display:block;text-decoration:none}
.adBanner img{display:block;width:100%;height:auto;max-height:260px;object-fit:cover}
@media(max-width:700px){
 .adBanner{border-radius:11px;margin:3px 0 7px}
 .adBanner img{max-height:180px;min-height:90px;object-fit:cover}
}

/* Banner responsive con arte separado para PC y celular */
.adBanner picture{display:block;width:100%}
.adBanner img{display:block;width:100%;height:auto;aspect-ratio:1400/300;object-fit:cover}
@media(max-width:700px){
  .adBanner{width:min(100%,400px);margin-left:auto;margin-right:auto}
  .adBanner img{width:100%;height:auto;aspect-ratio:400/290;object-fit:cover;max-height:none;min-height:0}
}

/* ===== CATEGORIAS INTERACTIVAS ===== */
.categoryHeader{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:11px}
.categoryHeader b{display:block;font-size:16px;color:var(--dark-text,#fff)}
.categoryHeader small{display:block;margin-top:3px;color:var(--dark-muted,#A7B3BA);font-size:11px}
.categoryMoreBtn{border:1px solid #314653;background:#142530;color:#fff;border-radius:999px;padding:8px 12px;font-size:11px;font-weight:900;cursor:pointer;white-space:nowrap}
.categoryMoreBtn span{font-size:15px;margin-left:4px}
.categoriesPrimary{overflow:visible;flex-wrap:wrap;padding-bottom:4px}
.catMoreInline{background:#142530!important;color:#fff!important;border-color:#314653!important;font-weight:900}
.allCategories{margin:12px -2px 2px;padding:13px;background:#0B1821;border:1px solid #263A46;border-radius:13px}
.allCategories[hidden]{display:none!important}
.allCategoriesGrid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}
.catGrid{min-height:72px;border:1px solid #263A46;background:#0F1D27;color:#F7F9FA;border-radius:11px;padding:10px 7px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;cursor:pointer;font-size:11px;font-weight:800;text-align:center}
.catGrid:hover{background:#142530;border-color:#405967;transform:translateY(-1px)}
.catGrid.active{background:#B7042C;border-color:#B7042C;color:#fff}
.catGridIcon{font-size:22px;line-height:1}
@media(max-width:900px){
 .allCategoriesGrid{grid-template-columns:repeat(4,minmax(0,1fr))}
}
@media(max-width:700px){
 .categoryHeader{margin-bottom:9px}
 .categoryHeader b{font-size:15px}
 .categoryMoreBtn{padding:7px 10px}
 .categoriesPrimary{display:flex;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;padding-right:2px}
 .categoriesPrimary::-webkit-scrollbar{display:none}
 .categoriesPrimary .cat:nth-of-type(n+5):not(.catMoreInline){display:none}
 .catMoreInline{display:block!important;position:sticky;right:0;box-shadow:-9px 0 12px #0A151E}
 .allCategories{margin:10px -4px 0;padding:10px}
 .allCategoriesGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
 .catGrid{min-height:65px;padding:8px 5px}
 .catGridIcon{font-size:20px}
}

/* ===== PROMOCIONES DESTACADAS EN BLOQUE BLANCO ===== */
.promoSection{
  margin:32px -20px 0;
  padding:24px 20px 28px;
  background:#FFFFFF!important;
  border-top:0!important;
  border-bottom:0!important;
  border-radius:16px;
}
.promoSection .sectionHead{
  margin-top:0;
}
.promoSection .sectionHead h2{
  color:#171717!important;
}
.promoSection .sectionHead p{
  color:#686868!important;
}
.promoSection .promoCard{
  background:#F7F7F8!important;
  border-color:#E1E1E4!important;
  color:#171717!important;
  box-shadow:0 4px 14px #00000014;
}
.promoSection .promoBody h3{
  color:#171717!important;
}
.promoSection .promoBody p{
  color:#555!important;
}
.promoSection .emptyState{
  background:#F7F7F8!important;
  color:#686868!important;
  border-color:#E1E1E4!important;
}
.promoSection .adBanner{
  border-color:#E1E1E4!important;
  background:#F7F7F8!important;
}
@media(max-width:700px){
  .promoSection{
    margin:24px -13px 0;
    padding:20px 13px 23px;
    border-radius:12px;
  }
}


/* ===== LIGHTBOX PRODUCTOS DESTACADOS ===== */
.productPhotoOpen{
  display:block;width:100%;border:0;padding:0;cursor:zoom-in;position:relative;
  background-position:center;background-size:cover;background-repeat:no-repeat;
}
.photoZoom{
  position:absolute;right:8px;bottom:8px;background:#000B;color:#fff;
  font-size:9px;font-weight:900;padding:5px 7px;border-radius:999px;letter-spacing:.2px;
}
.productLightbox[hidden]{display:none!important}
.productLightbox{
  position:fixed;inset:0;z-index:9999;background:#000E;
  display:flex;align-items:center;justify-content:center;padding:28px 72px;
}
.lightboxOpen{overflow:hidden}
.lightboxContent{
  width:min(980px,100%);max-height:92vh;display:flex;flex-direction:column;align-items:center;
}
.lightboxContent img{
  display:block;max-width:100%;max-height:78vh;object-fit:contain;border-radius:12px;
  box-shadow:0 18px 60px #000A;background:#111;
}
.lightboxCaption{
  width:min(760px,100%);margin-top:12px;text-align:center;color:#fff;
}
.lightboxCaption b{display:block;font-size:18px}
.lightboxCaption span{display:block;margin-top:4px;color:#ff7180;font-size:17px;font-weight:900}
.lightboxCaption small{display:block;margin-top:5px;color:#C3CCD1;font-size:12px;line-height:1.4}
.lightboxClose{
  position:fixed;right:20px;top:18px;z-index:10001;width:44px;height:44px;border-radius:50%;
  border:1px solid #ffffff55;background:#111D;color:#fff;font-size:30px;line-height:1;cursor:pointer;
}
.lightboxNav{
  position:fixed;top:50%;transform:translateY(-50%);z-index:10001;width:48px;height:58px;
  border:1px solid #ffffff44;background:#111B;color:#fff;border-radius:12px;font-size:38px;cursor:pointer;
}
.lightboxPrev{left:18px}.lightboxNext{right:18px}
.lightboxClose:hover,.lightboxNav:hover{background:#B7042C;border-color:#B7042C}
@media(max-width:700px){
  .productLightbox{padding:60px 12px 22px}
  .lightboxContent img{max-height:70vh;border-radius:9px}
  .lightboxCaption{padding:0 10px}
  .lightboxCaption b{font-size:16px}
  .lightboxCaption span{font-size:15px}
  .lightboxClose{right:10px;top:10px;width:40px;height:40px;font-size:27px}
  .lightboxNav{top:auto;bottom:18px;transform:none;width:44px;height:44px;border-radius:50%;font-size:32px}
  .lightboxPrev{left:14px}.lightboxNext{right:14px}
  .photoZoom{font-size:8px}
}


/* ===== LIGHTBOX EN PRODUCTOS DESTACADOS DE PORTADA ===== */
.productThumbOpen{
  display:block;width:100%;border:0;padding:0;cursor:zoom-in;position:relative;
  background-position:center;background-size:cover;background-repeat:no-repeat;
}
.homeZoom{
  position:absolute;right:5px;bottom:5px;width:23px;height:23px;border-radius:50%;
  display:grid;place-items:center;background:#000B;color:#fff;font-size:12px;font-weight:900;
  border:1px solid #ffffff55;
}
.productThumbOpen:hover .homeZoom{background:#B7042C}
@media(max-width:700px){
  .homeZoom{width:21px;height:21px;font-size:11px}
}

.clientPublished{display:inline-flex;margin-top:7px;background:#EAF0F4;color:#50606A;border:1px solid #CDD9E0;border-radius:999px;padding:5px 8px;font-size:9px;font-weight:900}
.detailClientPublished{margin:5px 0 10px}
.selfPublishCta{margin:30px 0;background:#101F2A;border:1px solid #29404D;border-radius:16px;padding:20px;display:flex;align-items:center;justify-content:space-between;gap:20px}.selfPublishCta span{font-size:9px;color:#FF6D79;font-weight:900}.selfPublishCta h2{margin:5px 0;color:#fff}.selfPublishCta p{margin:0;color:#AFC0C9;font-size:12px}.selfPublishCta a{background:#B7042C;color:#fff;text-decoration:none;border-radius:10px;padding:11px 14px;font-size:12px;font-weight:900}
.signupPage{max-width:920px;margin:auto;padding:25px 18px 60px}.signupBack{display:inline-block;margin-bottom:18px;color:#fff;text-decoration:none;font-weight:800}.signupIntro,.signupSuccess,.signupSection{background:#0F1D27;border:1px solid #263A46;border-radius:16px;padding:18px;color:#fff}.signupIntro span{font-size:10px;color:#FF6573;font-weight:900}.signupIntro h1,.signupSuccess h1{margin:5px 0}.signupIntro p,.signupSuccess p,.signupSection>p{color:#B0BDC4}.signupForm{margin-top:14px}.signupSection{margin-bottom:12px}.signupGrid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.signupGrid label{font-size:11px;font-weight:900}.signupGrid input,.signupGrid select,.signupGrid textarea,.signupProduct input{display:block;width:100%;margin-top:5px;padding:10px;border:1px solid #304753;border-radius:8px;background:#142530;color:#fff}.signupGrid textarea{min-height:90px}.signupWide{grid-column:1/-1}.signupProduct{display:grid;grid-template-columns:1fr 1.2fr 100px 1fr;gap:7px;margin-top:8px}.signupConsent{display:flex;gap:8px;color:#B0BDC4;font-size:11px;margin:14px 0}.signupMainButton{display:inline-block;background:#B7042C;color:#fff;border:0;border-radius:10px;padding:12px 16px;font-weight:900;text-decoration:none}.signupAlert{margin:12px 0;background:#3B171A;color:#FF9EA6;border:1px solid #6A282D;border-radius:10px;padding:11px}.signupHoney{position:absolute;left:-9999px}.signupSuccess{text-align:center}.signupSuccessIcon{margin:auto;width:55px;height:55px;border-radius:50%;display:grid;place-items:center;background:#153B26;color:#64E08F;font-size:28px}
@media(max-width:700px){.selfPublishCta{display:block}.selfPublishCta a{display:inline-block;margin-top:14px}.signupGrid,.signupProduct{grid-template-columns:1fr}.signupWide{grid-column:auto}}

/* Pago y comprobante en autoregistro */
.paymentSection{border-color:#3B5361}
.bankData{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:12px 0}
.bankData>div{position:relative;background:#142530;border:1px solid #304753;border-radius:10px;padding:10px 74px 10px 10px;min-height:61px}
.bankData span{display:block;color:#91A2AC;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.5px}
.bankData b{display:block;margin-top:4px;color:#fff;font-size:12px;line-height:1.35}
.copyBank{position:absolute;right:8px;top:50%;transform:translateY(-50%);border:1px solid #405967;background:#0D1A23;color:#fff;border-radius:7px;padding:6px 8px;font-size:9px;font-weight:900;cursor:pointer}
.copyBank:hover{background:#B7042C;border-color:#B7042C}
.receiptUpload{margin-top:13px;background:#0B1821;border:1px dashed #536B78;border-radius:10px;padding:13px}
.receiptUpload label{font-size:11px;font-weight:900;color:#fff}
.receiptUpload input{display:block;width:100%;margin-top:8px;color:#B8C5CB}
.receiptUpload small{display:block;margin-top:6px;color:#82949E}
.paymentNotice{margin-top:10px;background:#3A2811;border:1px solid #745221;color:#FFD985;padding:10px;border-radius:9px;font-size:11px;font-weight:800}
@media(max-width:700px){.bankData{grid-template-columns:1fr}.selfPublishCta{margin-top:14px}}

/* ===== AJUSTE VISUAL: ESTADO ABIERTO/CERRADO MAS DISCRETO ===== */
.directoryCard .statusPill{
  gap:4px;
  font-size:9px;
  padding:4px 7px;
  margin-top:6px;
  letter-spacing:0;
}
.directoryCard .statusPill .uiIcon{
  width:12px;
  height:12px;
  flex-basis:12px;
}
.selfPublishCta{
  margin-top:26px;
  margin-bottom:26px;
}
@media(max-width:700px){
  .directoryCard .statusPill{
    font-size:8px;
    padding:4px 6px;
  }
  .directoryCard .statusPill .uiIcon{
    width:11px;
    height:11px;
    flex-basis:11px;
  }
  .selfPublishCta{
    margin-top:20px;
    margin-bottom:20px;
  }
}


/* ===== CARRUSEL ABIERTOS AHORA ENTRE TOP Y MAPA ===== */
.openCarouselSection{
  background:#0D1A23;
  border-top:1px solid #1D3340;
  border-bottom:1px solid #1D3340;
  padding:12px 20px 14px;
}
.openCarouselHead{
  max-width:1380px;
  margin:0 auto 9px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}
.openCarouselHead>div:first-child{
  display:flex;
  align-items:center;
  gap:7px;
  color:#fff;
}
.openCarouselHead b{font-size:13px}
.openCarouselHead small{color:#91A4AE;font-size:10px;margin-left:2px}
.openCarouselDot{
  width:8px;height:8px;border-radius:50%;
  background:#43D17E;box-shadow:0 0 0 4px #43D17E1F;
}
.openCarouselControls{display:flex;gap:6px}
.openCarouselControls button{
  width:31px;height:31px;border-radius:50%;
  border:1px solid #304957;background:#142530;color:#fff;
  font-size:21px;cursor:pointer;line-height:1;
}
.openCarouselControls button:hover{background:#B7042C;border-color:#B7042C}
.openCarouselViewport{max-width:1380px;margin:auto;overflow:hidden}
.openCarouselTrack{
  display:flex;gap:9px;overflow-x:auto;scroll-behavior:smooth;
  scrollbar-width:none;padding-bottom:1px;
}
.openCarouselTrack::-webkit-scrollbar{display:none}
.openCarouselCard{
  flex:0 0 220px;
  display:flex;align-items:center;gap:9px;
  text-decoration:none;
  color:#fff;background:#142530;border:1px solid #263E4B;
  border-radius:11px;padding:7px;
  min-height:68px;
}
.openCarouselCard:hover{border-color:#4A6574;background:#172C38}
.openCarouselPhoto{
  width:54px;height:54px;flex:0 0 54px;
  border-radius:9px;background:#223640 center/cover no-repeat;
  position:relative;overflow:hidden;
}
.openCarouselLogo{
  position:absolute;left:4px;bottom:4px;width:24px;height:24px;
  background:#fff;border-radius:50%;display:grid;place-items:center;overflow:hidden;
  border:1px solid #fff;
}
.openCarouselLogo img{width:100%;height:100%;object-fit:contain;padding:2px;background:#fff}
.openCarouselBody{min-width:0}
.openCarouselBody b{
  display:block;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.openCarouselBody small{
  display:block;margin-top:2px;color:#9FB0B9;font-size:9px;
}
.openCarouselBody span{
  display:inline-block;margin-top:5px;color:#66E397;font-size:8px;font-weight:900;
}
@media(max-width:700px){
  .openCarouselSection{padding:10px 12px 11px}
  .openCarouselHead{margin-bottom:7px}
  .openCarouselHead small{display:none}
  .openCarouselControls button{width:29px;height:29px}
  .openCarouselCard{flex-basis:180px;min-height:60px;padding:6px}
  .openCarouselPhoto{width:46px;height:46px;flex-basis:46px}
  .openCarouselLogo{width:21px;height:21px}
  .openCarouselBody b{font-size:10px}
  .openCarouselBody small{font-size:8px}
  .openCarouselBody span{font-size:7px}
}


/* ===== COMUNAS Y FILTROS MAS VISUALES ===== */
.communeFiltersBlock{
  margin-top:14px;
  padding-top:14px;
  border-top:1px solid #263A46;
}
.filterHeader{
  display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:9px;
}
.filterHeader b{display:block;color:#fff;font-size:14px}
.filterHeader small{display:block;color:#8FA0AA;font-size:10px;margin-top:2px}
.communeMoreBtn{
  border:1px solid #314653;background:#142530;color:#fff;border-radius:999px;
  padding:7px 11px;font-size:10px;font-weight:900;cursor:pointer;
}
.communeChips{display:flex;gap:7px;flex-wrap:wrap}
.communeChip{
  border:1px solid #304753;background:#101F2A;color:#DDE6EA;border-radius:999px;
  padding:8px 11px;font-size:10px;font-weight:800;cursor:pointer;
}
.communeChip.active{background:#B7042C;border-color:#B7042C;color:#fff}
.communeMoreInline{background:#182A35}
.allCommunes{
  margin-top:10px;padding:11px;background:#0B1821;border:1px solid #263A46;border-radius:11px;
}
.allCommunes[hidden]{display:none!important}
.allCommunesGrid{
  display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px;
}
.communeGrid{
  min-height:44px;border:1px solid #263A46;background:#101F2A;color:#fff;border-radius:9px;
  padding:8px;font-size:10px;font-weight:800;cursor:pointer;
}
.communeGrid.active{background:#B7042C;border-color:#B7042C}
.quickFilters{display:flex;gap:8px;margin-top:11px;flex-wrap:wrap}
.filterToggle{
  border:1px solid #354C59;background:#142530;color:#fff;border-radius:9px;
  padding:8px 11px;font-size:10px;font-weight:900;cursor:pointer;
}
.filterToggle.active{background:#B7042C;border-color:#B7042C}
.openFilterToggle.active{background:#123923;border-color:#225C38;color:#66E397}

/* ===== TARJETAS DE LOCALES MAS DEFINIDAS ===== */
.localGrid{
  gap:20px!important;
}
.directoryCard{
  background:#101F2A!important;
  border:1px solid #2D4451!important;
  box-shadow:0 8px 24px #00000038!important;
  border-radius:16px!important;
  overflow:hidden;
  position:relative;
}
.directoryCard::after{
  content:"";
  position:absolute;inset:0;
  border-radius:16px;
  pointer-events:none;
  box-shadow:inset 0 0 0 1px #ffffff08;
}
.directoryBody{
  background:#122430!important;
  border-top:1px solid #2A414E;
}
.directoryBody h3{color:#fff!important}
.directoryBody .locationLine{color:#AFC0C9!important}
.directoryCard:hover{
  transform:translateY(-2px);
  border-color:#496371!important;
  box-shadow:0 11px 30px #0000004A!important;
}
.productStrip{
  border-top:1px solid #2A414E!important;
}
.productStripTitle{color:#DDE6EA}
.productMini{
  background:#0D1A23;
  border:1px solid #263A46;
  border-radius:10px;
  padding:6px;
}
.productMini b{color:#EAF0F3}
.productMini strong{color:#FF6B78}
.quick.more{
  background:#182A35!important;
  border-color:#314854!important;
  color:#fff!important;
}
@media(max-width:900px){
  .allCommunesGrid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:700px){
  .communeChips{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}
  .communeChips::-webkit-scrollbar{display:none}
  .communeChip{flex:0 0 auto}
  .allCommunesGrid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .quickFilters{display:grid;grid-template-columns:1fr 1fr}
  .filterToggle{width:100%}
  .localGrid{gap:15px!important}
  .directoryCard{border-width:1px!important;box-shadow:0 6px 18px #0000003D!important}
}

/* ===== NUEVOS LOCALES DE LA COMUNIDAD ===== */
.communityCarouselInGrid{
  grid-column:1/-1;
  margin:2px 0 4px;
  padding:15px;
  background:#0D1A23;
  border:1px solid #29404D;
  border-radius:15px;
  box-shadow:0 7px 22px #00000030;
}
.communityCarouselHead{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:11px}
.communityCarouselHead>div:first-child{display:flex;align-items:center;gap:9px}
.communityCarouselHead b{display:block;color:#fff;font-size:13px}
.communityCarouselHead small{display:block;color:#91A4AE;font-size:10px;margin-top:2px}
.communityNewBadge{display:inline-flex;background:#B7042C;color:#fff;border-radius:999px;padding:5px 7px;font-size:8px;font-weight:900;letter-spacing:.5px}
.communityCarouselControls{display:flex;gap:6px}
.communityCarouselControls button{width:31px;height:31px;border-radius:50%;border:1px solid #304957;background:#142530;color:#fff;font-size:21px;cursor:pointer;line-height:1}
.communityCarouselControls button:hover{background:#B7042C;border-color:#B7042C}
.communityCarouselViewport{overflow:hidden}
.communityCarouselTrack{display:flex;gap:9px;overflow-x:auto;scroll-behavior:smooth;scrollbar-width:none}
.communityCarouselTrack::-webkit-scrollbar{display:none}
.communityCarouselCard{flex:0 0 215px;display:flex;align-items:center;gap:9px;text-decoration:none;color:#fff;background:#142530;border:1px solid #304753;border-radius:11px;padding:7px;min-height:68px}
.communityCarouselCard:hover{border-color:#526C79;background:#172C38}
.communityCarouselPhoto{width:54px;height:54px;flex:0 0 54px;border-radius:9px;background:#223640 center/cover no-repeat;position:relative;overflow:hidden}
.communityCarouselLogo{position:absolute;left:4px;bottom:4px;width:23px;height:23px;border-radius:50%;overflow:hidden;background:#fff;border:1px solid #fff}
.communityCarouselLogo img{width:100%;height:100%;object-fit:contain;padding:2px;background:#fff}
.communityCarouselBody{min-width:0}.communityCarouselBody b{display:block;font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.communityCarouselBody small{display:block;color:#9FB0B9;font-size:8px;margin-top:2px}.communityCarouselBody span{display:block;color:#AFC0C9;font-size:7px;font-weight:800;margin-top:5px}
#communityCarouselSection{display:none!important}
@media(max-width:700px){
  .communityCarouselInGrid{padding:11px;margin:0}
  .communityCarouselHead small{display:none}
  .communityCarouselCard{flex-basis:180px;min-height:60px;padding:6px}
  .communityCarouselPhoto{width:46px;height:46px;flex-basis:46px}
  .communityCarouselLogo{width:20px;height:20px}
}

/* ===== AJUSTES FINALES DE EXPERIENCIA ===== */
.quick.directions{
  background:#246BD6!important;
  color:#fff!important;
  border:1px solid #3E7DE0!important;
  box-shadow:0 3px 10px #246BD633;
}
.quick.directions:hover{background:#1E5DBD!important}

/* mapa más compacto en celular */
@media(max-width:700px){
  .mapSection{height:235px!important}
}

/* ===== ADMIN: REVISION CLARA DE SOLICITUDES Y PAGOS ===== */
.requestStats{display:grid;grid-template-columns:repeat(5,1fr);gap:9px;margin:0 0 16px}
.requestStats>div{background:#fff;border:1px solid var(--line);border-radius:11px;padding:12px;text-align:center}
.requestStats b{display:block;font-size:22px;color:#2E1153}.requestStats span{font-size:10px;color:#666;font-weight:800}
.requestStats .paidStat{background:#EAF8EF;border-color:#C6E5D0}.requestStats .paidStat b{color:#13753A}
.requestStats .warningStat{background:#FFF7E6;border-color:#F0D89B}.requestStats .warningStat b{color:#8A6200}
.reviewRequests{display:grid;gap:15px}
.reviewRequestCard{background:#fff;border:1px solid var(--line);border-radius:15px;overflow:hidden;box-shadow:0 4px 14px #0000000A}
.reviewRequestHeader{display:flex;justify-content:space-between;gap:15px;padding:15px;border-bottom:1px solid var(--line);background:#FAFAFB}
.reviewRequestHeader h2{margin:7px 0 3px}.reviewRequestHeader p{margin:0;color:#666;font-size:12px}.requestDate{text-align:right;color:#777;font-size:10px}.requestDate b{color:#333}
.paymentBadge{display:inline-block;margin-left:5px;border-radius:999px;padding:5px 7px;font-size:8px;font-weight:900}
.paymentBadge.verified{background:#DFF4E6;color:#13753A}.paymentBadge.pending{background:#FFF0C9;color:#805D00}.paymentBadge.missing{background:#FBE5E7;color:#B7042C}
.reviewColumns{display:grid;grid-template-columns:1.35fr .9fr;gap:14px;padding:14px}
.reviewLocalData,.paymentReview{border:1px solid #E6E6E8;border-radius:12px;padding:13px}.reviewLocalData h3,.paymentReview h3,.reviewProducts h3{margin:0 0 10px}
.reviewLocalPhoto{width:100%;max-height:240px;object-fit:cover;border-radius:9px;margin-bottom:10px}
.reviewLocalData dl{display:grid;grid-template-columns:110px 1fr;gap:7px 10px;margin:0;font-size:11px}.reviewLocalData dt{font-weight:900;color:#666}.reviewLocalData dd{margin:0;color:#333}.reviewLocalData a{color:#246BD6;font-weight:800}
.reviewResponsible{margin-top:11px;background:#F4F5F6;border-radius:9px;padding:9px;font-size:11px}.reviewResponsible b,.reviewResponsible span{display:block}.reviewResponsible span{margin-top:3px;color:#555}
.paymentReview{background:#FFFDF8}.paymentReview.isVerified{background:#F3FBF6;border-color:#CDE7D6}
.receiptPreview{display:block;text-decoration:none;color:#176137}.receiptPreview img{width:100%;height:260px;object-fit:contain;background:#fff;border:1px solid #DDD;border-radius:9px}.receiptPreview b{display:block;margin-top:7px;font-size:11px}
.missingReceipt{background:#FBE5E7;color:#A22B36;padding:12px;border-radius:8px;font-size:11px;font-weight:900}
.paymentCheckForm{margin-top:10px}.paymentCheckForm label,.finalReviewActions label{font-size:11px;font-weight:900}.paymentCheckForm textarea,.finalReviewActions textarea{display:block;width:100%;min-height:65px;margin-top:5px;border:1px solid #CCC;border-radius:8px;padding:8px}
.verifyPayment,.unverifyPayment{width:100%;margin-top:8px;border:0;border-radius:8px;padding:10px;font-weight:900;cursor:pointer}.verifyPayment{background:#13753A;color:#fff}.verifyPayment:disabled{opacity:.45}.unverifyPayment{background:#FFF0C9;color:#805D00}
.verifiedPaymentInfo{margin-top:8px;background:#DFF4E6;color:#13753A;border-radius:8px;padding:10px;font-weight:900;font-size:11px}.verifiedPaymentInfo small{display:block;margin-top:3px}
.reviewProducts{padding:0 14px 14px}.reviewProducts>div{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.reviewProducts article{border:1px solid #E5E5E7;border-radius:9px;padding:8px}.reviewProducts img{width:100%;height:100px;object-fit:cover;border-radius:6px;margin-bottom:6px}.reviewProducts b,.reviewProducts span,.reviewProducts small{display:block}.reviewProducts b{font-size:11px}.reviewProducts span{color:#B7042C;font-weight:900;font-size:11px}.reviewProducts small{color:#777;font-size:9px;margin-top:3px}
.finalReviewActions{border-top:1px solid var(--line);padding:14px}.finalReviewActions>div{display:flex;gap:8px;margin-top:9px}.finalReviewActions button{border:0;border-radius:8px;padding:10px 12px;font-weight:900;cursor:pointer}.finalReviewActions .approveRequest:disabled{opacity:.4;cursor:not-allowed}.approvalHint{display:block;margin-top:7px;color:#8A6200;font-weight:800}
@media(max-width:900px){.requestStats{grid-template-columns:repeat(2,1fr)}.reviewColumns{grid-template-columns:1fr}.reviewProducts>div{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.requestStats{grid-template-columns:1fr 1fr}.reviewRequestHeader{display:block}.requestDate{text-align:left;margin-top:8px}.reviewLocalData dl{grid-template-columns:1fr}.reviewProducts>div{grid-template-columns:1fr}.finalReviewActions>div{display:grid}.receiptPreview img{height:220px}}

/* ===== ACCESO INSCRIBE TU NEGOCIO EN TOP ===== */
.topBusinessSignup{
  margin-left:auto;
  display:inline-flex;
  align-items:center;
  gap:7px;
  padding:9px 12px;
  border-radius:10px;
  background:#B7042C;
  border:1px solid #D01C43;
  color:#fff;
  text-decoration:none;
  font-size:10px;
  font-weight:900;
  white-space:nowrap;
  box-shadow:0 4px 12px #00000024;
}
.topBusinessSignup:hover{background:#D00836}
.topBusinessIcon{font-size:16px;line-height:1}
@media(max-width:700px){
  .topBusinessSignup{
    width:38px;height:38px;
    padding:0;
    justify-content:center;
    border-radius:10px;
    flex:0 0 38px;
  }
  .topBusinessText{display:none}
  .topBusinessIcon{font-size:19px}
}

/* ===== PRECIO DE INSCRIPCION ===== */
.signupPriceNotice{
  display:flex;
  gap:14px;
  align-items:flex-start;
  margin:0 0 15px;
  padding:16px;
  border-radius:13px;
  background:#FFF;
  border:2px solid #B7042C;
  box-shadow:0 6px 20px #00000018;
  color:#142530;
}
.signupPriceIcon{
  width:45px;height:45px;flex:0 0 45px;
  display:grid;place-items:center;
  border-radius:11px;
  background:#F8E8EC;
  font-size:23px;
}
.signupPriceInfo>span{
  display:block;
  color:#B7042C;
  font-size:9px;
  font-weight:900;
  letter-spacing:.6px;
}
.signupPriceInfo>strong{
  display:block;
  margin-top:3px;
  color:#142530;
  font-size:27px;
  line-height:1.1;
}
.signupPriceInfo>strong small{
  font-size:12px;
  font-weight:800;
  color:#687A84;
}
.signupPriceInfo p{
  margin:7px 0 0;
  color:#52636C;
  font-size:11px;
  line-height:1.5;
}
.signupPriceInfo p b{color:#142530}
@media(max-width:600px){
  .signupPriceNotice{padding:13px;gap:10px}
  .signupPriceIcon{width:39px;height:39px;flex-basis:39px;font-size:20px}
  .signupPriceInfo>strong{font-size:24px}
}

/* ===== FAVORITOS + COMPARTIR + MAS VISTOS ===== */
.directoryPhoto{position:relative}
.cardFavorite{position:absolute;right:10px;bottom:10px;z-index:5;width:36px;height:36px;border-radius:50%;border:1px solid #ffffff80;background:#0A151ED9;color:#fff;font-size:21px;display:grid;place-items:center;cursor:pointer}
.cardFavorite.active{background:#B7042C;border-color:#B7042C}
.detailUtilityActions{display:flex;gap:8px;margin:10px 0 20px;flex-wrap:wrap}
.detailUtilityActions button{border-radius:9px;padding:10px 12px;font-weight:900;font-size:11px;cursor:pointer}
.detailFavorite{background:#F5EDF0;color:#B7042C;border:1px solid #E5C8D0}.detailFavorite.active{background:#B7042C;color:#fff;border-color:#B7042C}
.detailShare{background:#EAF1FF;color:#246BD6;border:1px solid #C8D8F6}
.mostViewedSection{margin:28px 0 4px;padding:15px;background:#0D1A23;border:1px solid #29404D;border-radius:15px}
.mostViewedHead>div{display:flex;align-items:center;gap:8px}.mostViewedHead b{display:block;color:#fff;font-size:13px}.mostViewedHead small{display:block;color:#91A4AE;font-size:10px;margin-top:2px}
.mostViewedTrack{display:flex;gap:9px;overflow-x:auto;scrollbar-width:none;margin-top:10px}.mostViewedTrack::-webkit-scrollbar{display:none}
.mostViewedCard{flex:0 0 215px;display:flex;gap:8px;align-items:center;background:#142530;border:1px solid #304753;border-radius:11px;padding:7px;color:#fff;text-decoration:none}
.mostViewedPhoto{width:54px;height:54px;flex:0 0 54px;border-radius:8px;background:center/cover no-repeat;position:relative}.mostViewedPhoto span{position:absolute;left:4px;bottom:4px;width:22px;height:22px;border-radius:50%;background:#fff;overflow:hidden}.mostViewedPhoto img{width:100%;height:100%;object-fit:contain;padding:2px}
.mostViewedCard b{display:block;font-size:10px}.mostViewedCard small{display:block;color:#9FB0B9;font-size:8px;margin-top:2px}.mostViewedCard strong{display:block;color:#FF8C96;font-size:8px;margin-top:5px}
@media(max-width:700px){.cardFavorite{width:34px;height:34px}.detailUtilityActions{display:grid;grid-template-columns:1fr 1fr}.mostViewedCard{flex-basis:180px}}

/* ===== CARTA/MENU + MIS FAVORITOS ===== */
.detailMenu{
  display:inline-flex;align-items:center;justify-content:center;
  border-radius:9px;padding:10px 12px;font-weight:900;font-size:11px;
  text-decoration:none;background:#FFF0C9;color:#805D00;border:1px solid #E8D595;
}
.favoritesTopBar{
  background:#0D1A23;
  padding:8px 20px;
  border-bottom:1px solid #1D3340;
}
.favoritesTopButton{
  max-width:1380px;margin:auto;
  display:flex;align-items:center;gap:7px;
  border:1px solid #3A4F5B;background:#142530;color:#fff;
  border-radius:999px;padding:8px 12px;font-size:10px;font-weight:900;cursor:pointer;
}
.favoritesTopButton>span{color:#FF6573;font-size:16px}
.favoritesTopButton>b{
  display:inline-grid;place-items:center;min-width:21px;height:21px;padding:0 5px;
  border-radius:999px;background:#263A46;color:#fff;font-size:9px;
}
.favoritesTopButton.active{background:#B7042C;border-color:#B7042C}
.favoritesTopButton.active>span{color:#fff}
.favoritesTopButton.active>b{background:#ffffff2A}
@media(max-width:700px){
  .favoritesTopBar{padding:7px 12px}
  .favoritesTopButton{width:100%;justify-content:center}
  .detailUtilityActions{grid-template-columns:1fr 1fr}
  .detailMenu{grid-column:1/-1}
}

/* ===== MIS FAVORITOS JUNTO A INSCRIBE TU NEGOCIO ===== */
.topFavoritesButton{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:9px 11px;
  border-radius:10px;
  background:#142530;
  border:1px solid #3A4F5B;
  color:#fff;
  font-size:9px;
  font-weight:900;
  white-space:nowrap;
  cursor:pointer;
  margin-left:auto;
}
.topFavoritesButton + .topBusinessSignup{margin-left:7px}
.topFavoritesIcon{font-size:16px;line-height:1;color:#FF6573}
.topFavoritesButton>b{
  display:inline-grid;
  place-items:center;
  min-width:20px;
  height:20px;
  padding:0 5px;
  border-radius:999px;
  background:#263A46;
  font-size:8px;
}
.topFavoritesButton.active{background:#B7042C;border-color:#B7042C}
.topFavoritesButton.active .topFavoritesIcon{color:#fff}
.topFavoritesButton.active>b{background:#ffffff2A}
@media(max-width:700px){
  .topFavoritesButton{
    margin-left:auto;
    height:38px;
    padding:0 8px;
    gap:3px;
    border-radius:10px;
  }
  .topFavoritesText{display:none}
  .topFavoritesIcon{font-size:19px}
  .topFavoritesButton>b{min-width:17px;height:17px;padding:0 4px;font-size:7px}
  .topFavoritesButton + .topBusinessSignup{margin-left:5px}
}

/* ===== PLANES DE INSCRIPCION ===== */
.signupPlans{margin:0 0 16px;padding:16px;background:#fff;border-radius:14px;border:1px solid #DDD}.signupPlans>h2{margin:0 0 12px;font-size:14px;color:#142530}.signupPlanGrid{display:grid;grid-template-columns:1fr 1fr;gap:11px}.signupPlanCard{display:block;position:relative;cursor:pointer}.signupPlanCard>input{position:absolute;opacity:0}.signupPlanCard>div{height:100%;padding:15px;border:2px solid #DCE1E4;border-radius:12px;background:#F9FAFA}.signupPlanCard span,.signupPlanCard strong,.signupPlanCard p{display:block}.signupPlanCard span{font-size:10px;font-weight:900}.signupPlanCard strong{font-size:27px;color:#142530;margin-top:5px}.signupPlanCard strong small{font-size:10px;color:#71808A}.signupPlanCard p{font-size:10px;color:#5F7079;line-height:1.45}.signupPlanCard input:checked+div{border-color:#B7042C;box-shadow:0 0 0 3px #B7042C12}.featuredSignupPlan>div{background:#FFF8E8;border-color:#E9D28B}.featuredSignupPlan span{color:#8A6200}.choosePlan{display:inline-block;margin-top:6px;padding:6px 8px;border-radius:999px;background:#E9EDF0;color:#344852;font-size:8px}.signupPlanCard input:checked+div .choosePlan{background:#B7042C;color:#fff}.planPaymentHelp{font-size:10px;color:#687A84;margin:11px 0 0}@media(max-width:650px){.signupPlanGrid{grid-template-columns:1fr}.signupPlanCard strong{font-size:24px}}

/* ===== PLAN GRATIS + CARRUSEL ===== */
.freeSignupPlan>div{background:#F4F7F8;border-color:#CBD6DC}.freeSignupPlan span{color:#4E6570}
.freeBusinessSection{margin:26px 0;padding:14px;background:#0D1A23;border:1px solid #29404D;border-radius:15px}
.freeBusinessHead>div{display:flex;gap:8px;align-items:center}.freeBusinessHead b{display:block;color:#fff;font-size:13px}.freeBusinessHead small{display:block;color:#91A4AE;font-size:10px;margin-top:2px}
.freeBusinessTrack{display:flex;gap:9px;overflow-x:auto;scrollbar-width:none;margin-top:10px}.freeBusinessTrack::-webkit-scrollbar{display:none}
.freeBusinessCard{flex:0 0 205px;display:flex;gap:8px;align-items:center;background:#142530;border:1px solid #304753;border-radius:11px;padding:7px;text-decoration:none;color:#fff}
.freeBusinessPhoto{width:50px;height:50px;flex:0 0 50px;border-radius:8px;background:center/cover no-repeat;position:relative}.freeBusinessPhoto span{position:absolute;left:4px;bottom:4px;width:21px;height:21px;border-radius:50%;background:#fff;overflow:hidden}.freeBusinessPhoto img{width:100%;height:100%;object-fit:contain;padding:2px}
.freeBusinessCard b{display:block;font-size:10px}.freeBusinessCard small{display:block;font-size:8px;color:#9FB0B9;margin-top:2px}.freeBusinessCard strong{display:block;font-size:7px;color:#AFC0C9;margin-top:5px}
@media(max-width:700px){.freeBusinessCard{flex-basis:175px}.freeBusinessHead small{display:none}}

/* ===== LIMITES VISUALES PLAN GRATIS ===== */
.freePhotoHelp{background:#EAF0F4;color:#50606A;border-radius:8px;padding:8px;font-size:10px;font-weight:800;margin:0 0 10px}
.freePlanPaymentSection .bankData,.freePlanPaymentSection .receiptUpload{display:none!important}
.freePlanPaymentSection>p::after{content:" El plan GRATIS no requiere transferencia ni comprobante.";font-weight:900;color:#fff}
.freePlanPaymentSection{opacity:.72}
.basicMapField textarea{min-height:90px}

.featuredOnlyField[hidden]{display:none!important}

/* ===== CARRUSEL GRATIS CON MAYOR PRESENCIA ===== */
.freeBusinessSection{
  padding:17px;
}
.freeBusinessTrack{
  gap:12px;
  margin-top:12px;
}
.freeBusinessCard{
  flex:0 0 255px;
  min-height:92px;
  gap:11px;
  padding:9px;
  border-radius:13px;
}
.freeBusinessPhoto{
  width:78px;
  height:78px;
  flex:0 0 78px;
  border-radius:10px;
}
.freeBusinessPhoto span{
  width:27px;
  height:27px;
  left:5px;
  bottom:5px;
}
.freeBusinessCard b{
  font-size:12px;
  line-height:1.25;
}
.freeBusinessCard small{
  font-size:9px;
  margin-top:4px;
}
.freeBusinessCard strong{
  font-size:8px;
  margin-top:6px;
}
@media(max-width:700px){
  .freeBusinessSection{
    padding:13px;
  }
  .freeBusinessCard{
    flex-basis:220px;
    min-height:84px;
  }
  .freeBusinessPhoto{
    width:68px;
    height:68px;
    flex-basis:68px;
  }
  .freeBusinessCard b{
    font-size:11px;
  }
}

/* ===== CARRUSEL GRATIS +50% Y HORARIOS ===== */
.freeBusinessSection{padding:20px}
.freeBusinessTrack{gap:14px;margin-top:14px}
.freeBusinessCard{
  flex:0 0 380px;
  min-height:138px;
  gap:14px;
  padding:12px;
  border-radius:15px;
}
.freeBusinessPhoto{
  width:118px;
  height:118px;
  flex:0 0 118px;
  border-radius:12px;
}
.freeBusinessPhoto span{
  width:34px;height:34px;left:6px;bottom:6px;
}
.freeBusinessInfo{min-width:0}
.freeBusinessCard b{font-size:15px;line-height:1.25}
.freeBusinessCard small{font-size:11px;margin-top:6px;color:#B8C7CE}
.freeBusinessCard strong{font-size:9px;margin-top:8px;color:#9DADB5}
.freeOpenStatus{display:inline-flex;margin-top:8px;padding:5px 7px;border-radius:999px;font-size:8px;font-weight:900}
.freeOpenStatus.open{background:#153B26;color:#64E08F}
.freeOpenStatus.closed{background:#3B171A;color:#FF9EA6}

/* Horarios en inscripción */
.signupSchedule{display:grid;gap:7px}
.signupScheduleRow{display:grid;grid-template-columns:90px 1fr 1fr 105px;gap:8px;align-items:end;background:#142530;border:1px solid #304753;border-radius:9px;padding:9px}
.signupScheduleRow>b{color:#fff;font-size:11px;align-self:center}
.signupScheduleRow label{font-size:9px;color:#9FB0B9;font-weight:800}
.signupScheduleRow label span{display:block;margin-bottom:4px}
.signupScheduleRow input[type="time"]{width:100%;padding:8px;border:1px solid #405661;border-radius:7px;background:#0D1A23;color:#fff}
.scheduleClosed{display:flex;align-items:center;gap:5px;padding-bottom:8px}
@media(max-width:700px){
  .freeBusinessSection{padding:14px}
  .freeBusinessCard{
    flex-basis:320px;
    min-height:122px;
    gap:11px;
    padding:10px;
  }
  .freeBusinessPhoto{width:100px;height:100px;flex-basis:100px}
  .freeBusinessCard b{font-size:13px}
  .freeBusinessCard small{font-size:10px}
  .signupScheduleRow{grid-template-columns:1fr 1fr}
  .signupScheduleRow>b{grid-column:1/-1}
  .scheduleClosed{padding:4px 0}
}

/* ===== BLOQUE GRATIS: FONDO DIFERENTE + 30% MAS GRANDE ===== */
.freeBusinessSection{
  background:#F3EBDD!important;
  border:1px solid #D8C7A8!important;
  box-shadow:0 8px 24px #00000018;
  padding:24px!important;
}
.freeBusinessHead b{
  color:#2E2418!important;
  font-size:15px!important;
}
.freeBusinessHead small{
  color:#74624E!important;
  font-size:11px!important;
}
.freeBusinessTrack{
  gap:16px!important;
  margin-top:16px!important;
  scroll-behavior:smooth;
}
.freeBusinessCard{
  flex:0 0 495px!important;
  min-height:178px!important;
  gap:17px!important;
  padding:15px!important;
  border-radius:17px!important;
  background:#FFF!important;
  border:1px solid #D9CDBD!important;
  color:#2E2418!important;
  box-shadow:0 6px 16px #00000012;
}
.freeBusinessPhoto{
  width:154px!important;
  height:154px!important;
  flex:0 0 154px!important;
  border-radius:14px!important;
}
.freeBusinessPhoto span{
  width:40px!important;
  height:40px!important;
  left:7px!important;
  bottom:7px!important;
}
.freeBusinessCard b{
  font-size:18px!important;
  color:#2E2418!important;
}
.freeBusinessCard small{
  font-size:13px!important;
  color:#6C5B49!important;
  margin-top:8px!important;
}
.freeBusinessCard strong{
  font-size:10px!important;
  color:#8A765F!important;
  margin-top:10px!important;
}
.freeOpenStatus{
  font-size:9px!important;
  padding:6px 8px!important;
  margin-top:10px!important;
}
@media(max-width:700px){
  .freeBusinessSection{
    padding:16px!important;
  }
  .freeBusinessCard{
    flex-basis:415px!important;
    min-height:158px!important;
    padding:13px!important;
    gap:14px!important;
  }
  .freeBusinessPhoto{
    width:130px!important;
    height:130px!important;
    flex-basis:130px!important;
  }
  .freeBusinessCard b{
    font-size:16px!important;
  }
  .freeBusinessCard small{
    font-size:12px!important;
  }
}

/* ===== ENCABEZADO CARRUSEL GRATIS MEJORADO ===== */
.freeBusinessTitleWrap{
  display:flex!important;
  align-items:center!important;
  gap:13px!important;
}
.freeBusinessArrow{
  display:grid!important;
  place-items:center!important;
  width:42px!important;
  height:42px!important;
  flex:0 0 42px!important;
  border-radius:50%!important;
  background:#B7042C!important;
  color:#fff!important;
  font-size:22px!important;
  font-weight:900!important;
  box-shadow:0 5px 12px #00000018;
}
.freeBusinessHead b{
  display:block!important;
  font-size:20px!important;
  line-height:1.05!important;
  font-weight:950!important;
  letter-spacing:.2px!important;
  color:#2E2418!important;
}
.freeBusinessHead small{
  display:block!important;
  margin-top:5px!important;
  font-size:12px!important;
  line-height:1.3!important;
  font-weight:650!important;
  color:#74624E!important;
}
@media(max-width:700px){
  .freeBusinessArrow{
    width:37px!important;
    height:37px!important;
    flex-basis:37px!important;
    font-size:19px!important;
  }
  .freeBusinessHead b{font-size:17px!important}
  .freeBusinessHead small{display:block!important;font-size:10px!important}
}

/* ===== ABIERTOS AHORA +30% Y AUTOPLAY 4S ===== */
.openCarouselSection{
  padding:16px 24px 18px!important;
}
.openCarouselHead{
  margin-bottom:12px!important;
}
.openCarouselHead b{
  font-size:16px!important;
}
.openCarouselHead small{
  font-size:11px!important;
}
.openCarouselCard{
  flex:0 0 285px!important;
  min-height:88px!important;
  gap:12px!important;
  padding:9px!important;
  border-radius:13px!important;
}
.openCarouselPhoto{
  width:70px!important;
  height:70px!important;
  flex:0 0 70px!important;
  border-radius:11px!important;
}
.openCarouselLogo{
  width:30px!important;
  height:30px!important;
  left:5px!important;
  bottom:5px!important;
}
.openCarouselBody b{
  font-size:13px!important;
}
.openCarouselBody small{
  font-size:10px!important;
  margin-top:4px!important;
}
.openCarouselBody span{
  font-size:9px!important;
  margin-top:6px!important;
}
@media(max-width:700px){
  .openCarouselSection{
    padding:13px 14px 14px!important;
  }
  .openCarouselCard{
    flex-basis:235px!important;
    min-height:78px!important;
    padding:8px!important;
  }
  .openCarouselPhoto{
    width:60px!important;
    height:60px!important;
    flex-basis:60px!important;
  }
  .openCarouselLogo{
    width:25px!important;
    height:25px!important;
  }
  .openCarouselBody b{
    font-size:12px!important;
  }
  .openCarouselBody small{
    font-size:9px!important;
  }
}

/* ===== CERCA DE MI ===== */
.nearbyMapSection{height:auto!important;padding:0!important;background:#0B1720;border-top:1px solid #263B47;border-bottom:1px solid #263B47}
.nearbyMapHead{max-width:1380px;margin:auto;padding:15px 20px;display:flex;align-items:center;justify-content:space-between;gap:16px}
.nearbyMapHead>div{display:flex;align-items:center;gap:10px}.nearbyMapIcon{font-size:25px}.nearbyMapHead b{display:block;color:#fff;font-size:15px}.nearbyMapHead small{display:block;color:#9DAEB7;font-size:10px;margin-top:3px}
#nearbyLocateBtn{border:0;border-radius:10px;padding:10px 13px;background:#B7042C;color:#fff;font-size:10px;font-weight:900;cursor:pointer;white-space:nowrap}#nearbyLocateBtn:disabled{opacity:.65}
.nearbyMapLayout{max-width:1380px;margin:auto;padding:0 20px 18px;display:grid;grid-template-columns:minmax(0,1.7fr) minmax(300px,.8fr);gap:12px}
.nearbyMapCanvas{height:365px;border-radius:14px;overflow:hidden;background:#142630;position:relative;border:1px solid #304854}
.nearbyMapFallback{position:absolute;inset:0;display:grid;place-content:center;text-align:center;padding:20px;color:#fff;background:radial-gradient(circle at 50% 50%,#203A47,#0E1D26)}.nearbyMapFallback b{font-size:18px}.nearbyMapFallback span{font-size:10px;color:#AFC0C8;margin-top:5px}
.nearbyResults{height:365px;overflow:auto;border-radius:14px;background:#101F2A;border:1px solid #304854;padding:10px}.nearbyStatus{padding:6px 5px 10px;color:#AFC0C8;font-size:10px}.nearbyStatus b,.nearbyStatus span{display:block}.nearbyStatus b{color:#fff;font-size:12px}.nearbyStatus span{margin-top:2px}
.nearbyList{display:grid;gap:7px}.nearbyPlace{display:grid;grid-template-columns:66px 1fr;gap:8px;background:#142A36;border:1px solid #2D4552;border-radius:10px;padding:7px}.nearbyPlacePhoto{width:66px;height:66px;border-radius:8px;background:center/cover no-repeat}.nearbyPlace b{display:block;color:#fff;font-size:10px}.nearbyPlace small{display:block;color:#AABAC2;font-size:8px;margin-top:2px}.nearbyPlace span{display:block;font-size:7px;font-weight:900;margin-top:4px}.nearbyPlace span.open{color:#64E08F}.nearbyPlace span.closed{color:#FF929B}.nearbyPlaceActions{display:flex;gap:5px;margin-top:5px}.nearbyPlaceActions a{font-size:7px;font-weight:900;text-decoration:none;color:#fff;background:#253D49;padding:4px 6px;border-radius:6px}.nearbyPlaceActions a:last-child{background:#B7042C}
.nearbyPopup b,.nearbyPopup small,.nearbyPopup strong{display:block}.nearbyPopup small{margin-top:2px}.nearbyPopup strong{margin-top:5px;color:#B7042C}.nearbyPopup a{display:inline-block;margin-top:7px;font-weight:900}
.signupGeoBox{background:#0E1D26;border:1px solid #304753;border-radius:10px;padding:12px}.signupGeoBox h3{margin:0;color:#fff;font-size:12px}.signupGeoBox p{color:#AFC0C9;font-size:10px}.signupGeoGrid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.signupGeoGrid label{font-size:10px;color:#fff;font-weight:900}.signupGeoGrid input{display:block;width:100%;margin-top:4px;padding:9px;border:1px solid #405762;border-radius:7px;background:#142530;color:#fff}.signupGeoBox button{margin-top:9px;border:0;border-radius:8px;padding:8px 10px;background:#263F4C;color:#fff;font-size:9px;font-weight:900}.signupGeoBox small{display:block;color:#879AA4;margin-top:6px}
@media(max-width:800px){.nearbyMapHead{display:block;padding:13px 12px}.nearbyMapHead button{width:100%;margin-top:10px}.nearbyMapLayout{grid-template-columns:1fr;padding:0 12px 14px}.nearbyMapCanvas{height:300px}.nearbyResults{height:auto;max-height:360px}.signupGeoGrid{grid-template-columns:1fr}}

/* ===== CERCA DE MI: TARJETAS +20% ===== */
.nearbyPlace{
  grid-template-columns:80px 1fr!important;
  gap:10px!important;
  padding:9px!important;
  border-radius:12px!important;
  min-height:96px!important;
}
.nearbyPlacePhoto{
  width:80px!important;
  height:80px!important;
  border-radius:10px!important;
}
.nearbyPlace b{font-size:12px!important;line-height:1.2!important}
.nearbyPlace small{font-size:9.5px!important;margin-top:4px!important}
.nearbyPlace span{font-size:8px!important;margin-top:5px!important}
.nearbyPlaceActions{gap:6px!important;margin-top:7px!important}
.nearbyPlaceActions a{font-size:8px!important;padding:5px 7px!important}
.nearbyList{gap:9px!important}
@media(max-width:800px){
  .nearbyPlace{grid-template-columns:76px 1fr!important;min-height:90px!important}
  .nearbyPlacePhoto{width:76px!important;height:76px!important}
}

/* ===== CERCA DE MI: 3 LOCALES AJUSTADOS AUTOMATICAMENTE ===== */
.nearbyResults{
  height:365px!important;
  display:flex!important;
  flex-direction:column!important;
  overflow:hidden!important;
}
.nearbyStatus{
  flex:0 0 auto!important;
}
.nearbyList{
  flex:1 1 auto!important;
  min-height:0!important;
  display:grid!important;
  grid-template-rows:repeat(3,minmax(0,1fr))!important;
  gap:8px!important;
}
.nearbyPlace{
  min-height:0!important;
  height:100%!important;
  grid-template-columns:minmax(68px,82px) 1fr!important;
  align-items:center!important;
  overflow:hidden!important;
}
.nearbyPlacePhoto{
  width:100%!important;
  height:100%!important;
  max-height:88px!important;
  aspect-ratio:1/1!important;
}
@media(max-width:800px){
  .nearbyResults{
    height:auto!important;
    overflow:visible!important;
  }
  .nearbyList{
    display:grid!important;
    grid-template-rows:none!important;
    grid-template-columns:1fr!important;
  }
  .nearbyPlace{
    min-height:96px!important;
  }
  .nearbyPlacePhoto{
    width:80px!important;
    height:80px!important;
  }
}

/* ===== ABIERTOS AHORA: +30% ADICIONAL ===== */
.openCarouselSection{
  padding:20px 28px 22px!important;
}
.openCarouselHead{
  margin-bottom:15px!important;
}
.openCarouselHead b{
  font-size:20px!important;
}
.openCarouselHead small{
  font-size:13px!important;
}
.openCarouselCard{
  flex:0 0 370px!important;
  min-height:114px!important;
  gap:15px!important;
  padding:12px!important;
  border-radius:16px!important;
}
.openCarouselPhoto{
  width:91px!important;
  height:91px!important;
  flex:0 0 91px!important;
  border-radius:13px!important;
}
.openCarouselLogo{
  width:39px!important;
  height:39px!important;
  left:6px!important;
  bottom:6px!important;
}
.openCarouselBody b{
  font-size:17px!important;
  line-height:1.2!important;
}
.openCarouselBody small{
  font-size:13px!important;
  margin-top:5px!important;
}
.openCarouselBody span{
  font-size:11px!important;
  margin-top:7px!important;
}
@media(max-width:700px){
  .openCarouselSection{
    padding:16px!important;
  }
  .openCarouselCard{
    flex-basis:305px!important;
    min-height:101px!important;
    padding:10px!important;
  }
  .openCarouselPhoto{
    width:78px!important;
    height:78px!important;
    flex-basis:78px!important;
  }
  .openCarouselLogo{
    width:32px!important;
    height:32px!important;
  }
  .openCarouselBody b{font-size:15px!important}
  .openCarouselBody small{font-size:11px!important}
  .openCarouselBody span{font-size:10px!important}
}

/* ===== TOP: FECHA + ACCESO ADMIN ===== */
.topDate{
  display:flex;
  align-items:center;
  gap:5px;
  white-space:nowrap;
  padding:7px 9px;
  border-radius:9px;
  background:#13242E;
  border:1px solid #304651;
  color:#C8D4D9;
  font-size:9px;
  font-weight:800;
  text-transform:capitalize;
}
.topDate span{font-size:12px}
.topAdminShortcut{
  display:grid;
  place-items:center;
  width:34px;
  height:34px;
  flex:0 0 34px;
  border-radius:50%;
  background:#182B36;
  border:1px solid #3B505B;
  color:#D7E1E5;
  text-decoration:none;
  font-size:17px;
  transition:.18s ease;
}
.topAdminShortcut:hover{
  background:#B7042C;
  border-color:#B7042C;
  color:#fff;
  transform:rotate(20deg);
}
@media(max-width:850px){
  .topDate{font-size:0;padding:7px;width:34px;height:34px;justify-content:center}
  .topDate span{font-size:14px}
  .topAdminShortcut{width:32px;height:32px;flex-basis:32px;font-size:15px}
}
@media(max-width:560px){
  .topDate{display:none}
}

/* Fecha y hora del top */
.topDate time{font-variant-numeric:tabular-nums}
@media(min-width:851px){
  .topDate{min-width:148px;justify-content:center}
}

/* ===== TOP LIMPIO: SOLO ICONOS + FAV ===== */
.topIconActions{
  margin-left:auto;
  display:flex;
  align-items:center;
  gap:7px;
}
.topIconButton{
  height:38px;
  min-width:38px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:4px;
  padding:0 9px;
  border-radius:10px;
  border:1px solid #344B57;
  background:#142530;
  color:#fff;
  text-decoration:none;
  font-weight:950;
  cursor:pointer;
  line-height:1;
  box-sizing:border-box;
}
.favoriteIconButton{
  min-width:auto;
  padding:0 9px;
}
.topIconHeart{
  color:#FF6573;
  font-size:20px;
}
.favMiniText{
  font-size:9px;
  letter-spacing:.3px;
}
.favoriteIconButton>b{
  min-width:17px;
  height:17px;
  padding:0 4px;
  display:inline-grid;
  place-items:center;
  border-radius:999px;
  background:#263A46;
  font-size:7px;
}
.favoriteIconButton.active{
  background:#B7042C;
  border-color:#B7042C;
}
.favoriteIconButton.active .topIconHeart{color:#fff}
.favoriteIconButton.active>b{background:#ffffff2A}
.addBusinessIcon{
  font-size:25px;
  background:#B7042C;
  border-color:#D01C43;
}
.adminIcon{
  font-size:18px;
}
.adminIcon:hover{
  background:#B7042C;
  border-color:#B7042C;
  transform:rotate(18deg);
}

/* Oculta estilos anteriores del top para evitar duplicaciones visuales */
.topFavoritesButton,
.topBusinessSignup,
.topDate,
.topAdminShortcut{
  display:none!important;
}

/* ===== FRANJA FIJA DE FECHA Y HORA ===== */
.topDateStrip{
  width:100%;
  background:#0B1821;
  border-top:1px solid #1D3340;
  border-bottom:1px solid #1D3340;
}
.topDateStripInner{
  max-width:1380px;
  margin:auto;
  min-height:32px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  padding:6px 16px;
  color:#C8D4D9;
  font-size:10px;
  font-weight:850;
  letter-spacing:.15px;
  white-space:nowrap;
}
.topDateStripIcon{
  font-size:13px;
}
.topDateStrip time{
  font-variant-numeric:tabular-nums;
  text-transform:capitalize;
}
@media(max-width:700px){
  .topIconActions{gap:5px}
  .topIconButton{
    height:36px;
    min-width:36px;
    padding:0 7px;
  }
  .favoriteIconButton{padding:0 7px}
  .favMiniText{font-size:8px}
  .topIconHeart{font-size:18px}
  .addBusinessIcon{font-size:23px}
  .adminIcon{font-size:17px}
  .topDateStripInner{
    min-height:29px;
    font-size:9px;
    padding:5px 10px;
  }
}

/* ===== TOP FINAL: CORAZON + MAS / BUSCADOR DEBAJO ===== */
.topIconActions .adminIcon{display:none!important}
.topIconActions{margin-left:auto}

/* La antigua franja de fecha ya no se utiliza */
.topDateStrip{display:none!important}

.topSearchStrip{
  width:100%;
  background:#0B1821;
  border-top:1px solid #1D3340;
  border-bottom:1px solid #1D3340;
}
.topSearchStripInner{
  max-width:1380px;
  margin:auto;
  min-height:48px;
  padding:7px 16px;
  display:flex;
  align-items:center;
  gap:8px;
}
.topSearchIcon{
  flex:0 0 32px;
  height:32px;
  display:grid;
  place-items:center;
  border-radius:9px;
  background:#172A35;
  color:#fff;
  font-size:20px;
  font-weight:900;
}
.topSearchStrip input{
  width:100%;
  height:34px;
  border:1px solid #344B57;
  border-radius:9px;
  outline:none;
  background:#13242E;
  color:#fff;
  padding:0 12px;
  font-size:11px;
  font-weight:650;
}
.topSearchStrip input::placeholder{color:#82959F}
.topSearchStrip input:focus{
  border-color:#B7042C;
  box-shadow:0 0 0 2px #B7042C22;
}
@media(max-width:700px){
  .topSearchStripInner{min-height:44px;padding:6px 10px}
  .topSearchStrip input{height:32px;font-size:10px}
  .topSearchIcon{width:30px;height:30px;flex-basis:30px;font-size:18px}
}

/* ===== BUSCADOR BLANCO / TEXTO AZUL + FECHA Y HORA ===== */
.topSearchStrip{
  background:#F4F7F9!important;
  border-top:1px solid #D8E1E6!important;
  border-bottom:1px solid #D8E1E6!important;
}
.topSearchStripInner{
  gap:12px!important;
}
.topSearchField{
  flex:1 1 auto;
  min-width:0;
  display:flex;
  align-items:center;
  gap:7px;
  background:#FFFFFF;
  border:1px solid #D5DEE4;
  border-radius:10px;
  padding:0 8px;
}
.topSearchIcon{
  background:transparent!important;
  color:#135EA8!important;
  width:28px!important;
  height:34px!important;
  flex:0 0 28px!important;
}
.topSearchStrip input{
  flex:1;
  min-width:0;
  background:#FFFFFF!important;
  border:0!important;
  box-shadow:none!important;
  color:#135EA8!important;
  font-weight:800!important;
  padding:0 4px!important;
}
.topSearchStrip input::placeholder{
  color:#4B7EAE!important;
  opacity:1;
}
.topSearchStrip input:focus{
  border:0!important;
  box-shadow:none!important;
}
.topSearchField:focus-within{
  border-color:#135EA8;
  box-shadow:0 0 0 2px #135EA81C;
}
.topSearchClock{
  flex:0 0 auto;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  min-height:36px;
  padding:0 11px;
  border-radius:9px;
  background:#FFFFFF;
  border:1px solid #D5DEE4;
  color:#135EA8;
  font-size:9px;
  font-weight:900;
  white-space:nowrap;
}
.topSearchClock time{
  font-variant-numeric:tabular-nums;
  text-transform:capitalize;
}
@media(max-width:700px){
  .topSearchStripInner{
    display:grid!important;
    grid-template-columns:1fr;
    gap:5px!important;
  }
  .topSearchClock{
    min-height:25px;
    justify-content:flex-start;
    border:0;
    background:transparent;
    padding:0 4px;
    font-size:8px;
  }
}

/* ===== SOLO EL CAMPO DE BUSQUEDA EN BLANCO ===== */
.topSearchStrip{
  background:#0B1821!important;
  border-top:1px solid #1D3340!important;
  border-bottom:1px solid #1D3340!important;
}
.topSearchField{
  background:#FFFFFF!important;
  border-color:#D5DEE4!important;
}
.topSearchStrip input{
  background:#FFFFFF!important;
  color:#135EA8!important;
}
.topSearchClock{
  background:transparent!important;
  border-color:transparent!important;
  color:#C8D4D9!important;
}
@media(max-width:700px){
  .topSearchClock{
    background:transparent!important;
    color:#C8D4D9!important;
  }
}

/* =========================================================
   TOP FINAL RESPONSIVE — DESKTOP / TABLET / MOBILE
   ========================================================= */

/* Base / desktop */
.topbar{
  width:100%!important;
  min-height:72px!important;
  padding:10px clamp(14px,2.2vw,30px)!important;
  display:grid!important;
  grid-template-columns:auto minmax(0,1fr) auto!important;
  align-items:center!important;
  column-gap:12px!important;
  box-sizing:border-box!important;
}
.mainLogo{
  width:52px!important;
  height:52px!important;
  flex:none!important;
  object-fit:cover!important;
  border-radius:10px!important;
}
.brandBox{
  min-width:0!important;
  overflow:hidden!important;
}
.brand{
  font-size:clamp(20px,2.1vw,30px)!important;
  line-height:1!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.sub{
  margin-top:4px!important;
  font-size:clamp(7px,.72vw,10px)!important;
  letter-spacing:.75px!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.topIconActions{
  margin-left:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:7px!important;
  min-width:max-content!important;
}
.topIconButton{
  height:40px!important;
  min-width:40px!important;
  box-sizing:border-box!important;
  border-radius:10px!important;
}
.favoriteIconButton{
  padding:0 10px!important;
}
.addBusinessIcon{
  width:40px!important;
  padding:0!important;
}

/* Search strip */
.topSearchStrip{
  width:100%!important;
  box-sizing:border-box!important;
}
.topSearchStripInner{
  width:100%!important;
  max-width:1380px!important;
  margin:0 auto!important;
  min-height:50px!important;
  padding:7px clamp(12px,2.2vw,30px)!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:12px!important;
  box-sizing:border-box!important;
}
.topSearchField{
  width:100%!important;
  min-width:0!important;
  height:36px!important;
  box-sizing:border-box!important;
}
.topSearchField input{
  width:100%!important;
  min-width:0!important;
  height:34px!important;
  box-sizing:border-box!important;
}
.topSearchClock{
  min-height:34px!important;
  max-width:100%!important;
  padding:0 4px!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}

/* Medium desktop / tablet */
@media (max-width:980px){
  .topbar{
    min-height:66px!important;
    grid-template-columns:auto minmax(0,1fr) auto!important;
    padding:8px 14px!important;
    column-gap:10px!important;
  }
  .mainLogo{
    width:46px!important;
    height:46px!important;
  }
  .brand{font-size:22px!important}
  .sub{font-size:7px!important}
  .topIconButton{
    height:38px!important;
    min-width:38px!important;
  }
  .addBusinessIcon{width:38px!important}
  .topSearchStripInner{
    padding:7px 14px!important;
  }
}

/* Phones */
@media (max-width:640px){
  .topbar{
    min-height:58px!important;
    padding:7px 9px!important;
    grid-template-columns:40px minmax(0,1fr) auto!important;
    column-gap:7px!important;
  }
  .mainLogo{
    width:40px!important;
    height:40px!important;
    border-radius:8px!important;
  }
  .brand{
    font-size:18px!important;
    letter-spacing:-.35px!important;
  }
  .sub{
    margin-top:3px!important;
    font-size:6px!important;
    letter-spacing:.35px!important;
  }
  .topIconActions{gap:4px!important}
  .topIconButton{
    height:34px!important;
    min-width:34px!important;
    border-radius:9px!important;
  }
  .favoriteIconButton{
    padding:0 7px!important;
  }
  .topIconHeart{font-size:17px!important}
  .favMiniText{font-size:7px!important}
  .favoriteIconButton>b{
    min-width:14px!important;
    height:14px!important;
    padding:0 3px!important;
    font-size:6px!important;
  }
  .addBusinessIcon{
    width:34px!important;
    padding:0!important;
    font-size:22px!important;
  }

  .topSearchStripInner{
    min-height:66px!important;
    padding:6px 9px 7px!important;
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:3px!important;
  }
  .topSearchField{
    height:36px!important;
  }
  .topSearchStrip input{
    font-size:11px!important;
  }
  .topSearchClock{
    min-height:18px!important;
    padding:0 3px!important;
    justify-content:flex-start!important;
    font-size:8px!important;
    line-height:1!important;
  }
}

/* Very small phones */
@media (max-width:390px){
  .topbar{
    grid-template-columns:36px minmax(0,1fr) auto!important;
    padding-left:7px!important;
    padding-right:7px!important;
    column-gap:5px!important;
  }
  .mainLogo{
    width:36px!important;
    height:36px!important;
  }
  .brand{font-size:16px!important}
  .sub{display:none!important}
  .topIconActions{gap:3px!important}
  .topIconButton{
    height:32px!important;
    min-width:32px!important;
  }
  .addBusinessIcon{width:32px!important}
  .favoriteIconButton{padding:0 6px!important}
  .favMiniText{display:none!important}
  .topSearchStripInner{padding-left:7px!important;padding-right:7px!important}
}

/* Prevent any horizontal overflow caused by the top */
html,body{max-width:100%;overflow-x:hidden}

/* ===== LOGO TOP COMPLETO Y PROPORCIONAL ===== */
.topbar{
  min-height:82px!important;
}
.mainLogo{
  width:76px!important;
  height:60px!important;
  max-width:76px!important;
  max-height:60px!important;
  object-fit:contain!important;
  object-position:center!important;
  background:transparent!important;
  border-radius:0!important;
  flex:none!important;
  display:block!important;
}

/* Tablet */
@media(max-width:980px){
  .topbar{min-height:72px!important}
  .mainLogo{
    width:66px!important;
    height:52px!important;
    max-width:66px!important;
    max-height:52px!important;
  }
}

/* Móvil */
@media(max-width:640px){
  .topbar{
    min-height:64px!important;
    grid-template-columns:56px minmax(0,1fr) auto!important;
  }
  .mainLogo{
    width:56px!important;
    height:46px!important;
    max-width:56px!important;
    max-height:46px!important;
  }
}

/* Teléfonos pequeños */
@media(max-width:390px){
  .topbar{
    grid-template-columns:48px minmax(0,1fr) auto!important;
  }
  .mainLogo{
    width:48px!important;
    height:42px!important;
    max-width:48px!important;
    max-height:42px!important;
  }
}

/* ===== FECHA + HORA + VALLE DE ACONCAGUA ===== */
.topSearchClock{
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  color:#C8D4D9!important;
  white-space:nowrap!important;
}
.topSearchClock time{
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  font-size:9px!important;
  font-weight:850!important;
}
.dateFull{
  text-transform:none!important;
}
.clockPart{
  color:#FFFFFF!important;
  font-weight:950!important;
}
.dateSeparator{
  color:#5E7480!important;
  font-size:11px!important;
}
.valleyLabel{
  color:#8FB7D8!important;
  font-weight:950!important;
  letter-spacing:.15px!important;
}
@media(max-width:700px){
  .topSearchClock{
    overflow:hidden!important;
  }
  .topSearchClock time{
    width:100%!important;
    gap:6px!important;
    font-size:8px!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }
}
@media(max-width:470px){
  .topSearchClock time{
    flex-wrap:wrap!important;
    row-gap:2px!important;
    white-space:normal!important;
  }
  .dateSeparator{display:none!important}
}

/* =========================================================
   BUSCADOR + FECHA/HORA/VALLE — AJUSTE FINAL RESPONSIVE
   ========================================================= */

/* La franja siempre se organiza en 2 líneas:
   1) Buscador
   2) Fecha + hora + Valle de Aconcagua */
.topSearchStripInner{
  display:grid!important;
  grid-template-columns:1fr!important;
  grid-template-rows:auto auto!important;
  align-items:stretch!important;
  gap:7px!important;
  padding-top:8px!important;
  padding-bottom:8px!important;
}

/* Campo de búsqueda */
.topSearchField{
  width:100%!important;
  min-height:44px!important;
  border-radius:11px!important;
  padding:0 11px!important;
}
.topSearchIcon{
  font-size:22px!important;
  width:30px!important;
  flex:0 0 30px!important;
  color:#135EA8!important;
}
.topSearchStrip input{
  height:42px!important;
  font-size:14px!important;
  line-height:1.2!important;
  font-weight:800!important;
  letter-spacing:.05px!important;
}
.topSearchStrip input::placeholder{
  font-size:14px!important;
  font-weight:700!important;
}

/* Línea inferior */
.topSearchClock{
  width:100%!important;
  min-height:28px!important;
  padding:0 4px!important;
  justify-content:flex-start!important;
  background:transparent!important;
  border:0!important;
  overflow:visible!important;
}
.topSearchClock time{
  width:100%!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  flex-wrap:wrap!important;
  gap:8px!important;
  white-space:normal!important;
  overflow:visible!important;
  color:#D5E0E5!important;
  font-size:12px!important;
  line-height:1.3!important;
  font-weight:850!important;
}
.dateFull{
  color:#E7EEF1!important;
  font-size:12px!important;
  font-weight:850!important;
}
.clockPart{
  color:#FFFFFF!important;
  font-size:12px!important;
  font-weight:950!important;
}
.dateSeparator{
  color:#647B87!important;
  font-size:13px!important;
  line-height:1!important;
}
.valleyLabel{
  color:#9BC7E8!important;
  font-size:12px!important;
  font-weight:950!important;
}

/* Desktop grande */
@media(min-width:1100px){
  .topSearchStripInner{
    max-width:1380px!important;
    padding-left:30px!important;
    padding-right:30px!important;
  }
  .topSearchField{
    min-height:46px!important;
  }
  .topSearchStrip input,
  .topSearchStrip input::placeholder{
    font-size:15px!important;
  }
  .topSearchClock time,
  .dateFull,
  .clockPart,
  .valleyLabel{
    font-size:13px!important;
  }
}

/* Tablet */
@media(max-width:900px){
  .topSearchStripInner{
    padding-left:14px!important;
    padding-right:14px!important;
    gap:6px!important;
  }
  .topSearchField{
    min-height:42px!important;
  }
  .topSearchStrip input,
  .topSearchStrip input::placeholder{
    font-size:13px!important;
  }
  .topSearchClock time,
  .dateFull,
  .clockPart,
  .valleyLabel{
    font-size:11px!important;
  }
}

/* Celular */
@media(max-width:640px){
  .topSearchStripInner{
    padding:7px 9px!important;
    gap:5px!important;
  }
  .topSearchField{
    min-height:40px!important;
    padding:0 9px!important;
  }
  .topSearchIcon{
    font-size:20px!important;
    width:27px!important;
    flex-basis:27px!important;
  }
  .topSearchStrip input{
    height:38px!important;
    font-size:12px!important;
  }
  .topSearchStrip input::placeholder{
    font-size:12px!important;
  }
  .topSearchClock{
    min-height:25px!important;
    padding-left:2px!important;
  }
  .topSearchClock time{
    gap:5px!important;
    font-size:10px!important;
    line-height:1.25!important;
  }
  .dateFull,
  .clockPart,
  .valleyLabel{
    font-size:10px!important;
  }
  .dateSeparator{
    font-size:11px!important;
  }
}

/* Teléfonos muy pequeños: sigue legible y puede envolver */
@media(max-width:390px){
  .topSearchStripInner{
    padding-left:7px!important;
    padding-right:7px!important;
  }
  .topSearchStrip input,
  .topSearchStrip input::placeholder{
    font-size:11px!important;
  }
  .topSearchClock time{
    gap:4px!important;
    row-gap:2px!important;
  }
  .dateFull{
    flex-basis:auto!important;
  }
  .dateSeparator{
    display:inline!important;
  }
}

/* ===== MARCA ACONCAGUA SABROSO ===== */
.brand{
  font-size:clamp(24px,2.45vw,34px)!important;
  line-height:1.02!important;
  letter-spacing:-.45px!important;
}
.brand span{
  font-style:italic!important;
  font-weight:800!important;
  display:inline-block!important;
  transform:skew(-2deg)!important;
}

/* Tablet */
@media(max-width:980px){
  .brand{font-size:25px!important}
}

/* Móvil */
@media(max-width:640px){
  .brand{
    font-size:20px!important;
    letter-spacing:-.4px!important;
  }
}

/* Móviles pequeños */
@media(max-width:390px){
  .brand{
    font-size:18px!important;
    letter-spacing:-.5px!important;
  }
}

/* =========================================================
   OPCION 1 — LOGO COMPLETO ACONCAGUA SABROSO
   ========================================================= */
.topbar{
  grid-template-columns:minmax(0,1fr) auto!important;
  align-items:center!important;
  min-height:92px!important;
  padding:10px clamp(12px,2vw,28px)!important;
  background:#000!important;
}
.brandLogoWrap{
  min-width:0!important;
  display:flex!important;
  align-items:center!important;
  overflow:hidden!important;
}
.brandLogoFull{
  display:block!important;
  width:min(760px,72vw)!important;
  height:auto!important;
  max-height:78px!important;
  object-fit:contain!important;
  object-position:left center!important;
}
.brandBox,
.mainLogo{
  display:none!important;
}
.topIconActions{
  align-self:center!important;
  margin-left:12px!important;
}

/* Desktop grande */
@media(min-width:1200px){
  .topbar{min-height:104px!important}
  .brandLogoFull{
    width:min(860px,74vw)!important;
    max-height:88px!important;
  }
}

/* Tablet */
@media(max-width:980px){
  .topbar{
    min-height:82px!important;
    padding:8px 12px!important;
  }
  .brandLogoFull{
    width:min(650px,74vw)!important;
    max-height:68px!important;
  }
}

/* Móvil */
@media(max-width:640px){
  .topbar{
    min-height:68px!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    padding:7px 8px!important;
    column-gap:6px!important;
  }
  .brandLogoFull{
    width:min(470px,74vw)!important;
    max-height:54px!important;
  }
  .topIconActions{
    gap:4px!important;
    margin-left:4px!important;
  }
}

/* Teléfonos pequeños */
@media(max-width:390px){
  .topbar{
    min-height:62px!important;
    padding-left:6px!important;
    padding-right:6px!important;
  }
  .brandLogoFull{
    width:72vw!important;
    max-height:48px!important;
  }
}

/* ===== INFO INFERIOR CON ICONOS Y SEPARADORES AMARILLOS ===== */
.topSearchClock{
  width:100%!important;
  min-height:34px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  padding:2px 4px!important;
  background:transparent!important;
  border:0!important;
  overflow:visible!important;
}
.topSearchClock time{
  display:flex!important;
  align-items:center!important;
  flex-wrap:wrap!important;
  gap:10px!important;
  width:100%!important;
  color:#fff!important;
  font-size:13px!important;
  line-height:1.3!important;
  font-weight:850!important;
}
.infoGroup{
  display:inline-flex!important;
  align-items:center!important;
  gap:7px!important;
  min-width:0!important;
}
.infoIcon{
  color:#FFD400!important;
  filter:saturate(1.25)!important;
  font-size:17px!important;
  line-height:1!important;
  flex:0 0 auto!important;
}
.yellowSeparator{
  display:inline-block!important;
  width:2px!important;
  height:24px!important;
  background:#FFD400!important;
  border-radius:999px!important;
  opacity:.95!important;
  flex:0 0 2px!important;
}
.dateFull{
  color:#F3F6F7!important;
  font-size:13px!important;
  font-weight:850!important;
}
.clockPart{
  color:#FFFFFF!important;
  font-size:13px!important;
  font-weight:950!important;
  font-variant-numeric:tabular-nums!important;
}
.valleyLabel{
  color:#FFFFFF!important;
  font-size:13px!important;
  font-weight:950!important;
  letter-spacing:.15px!important;
}

/* Desktop grande */
@media(min-width:1100px){
  .topSearchClock time{font-size:14px!important;gap:12px!important}
  .infoIcon{font-size:18px!important}
  .dateFull,.clockPart,.valleyLabel{font-size:14px!important}
  .yellowSeparator{height:26px!important}
}

/* Tablet */
@media(max-width:900px){
  .topSearchClock time{gap:8px!important}
  .infoIcon{font-size:15px!important}
  .dateFull,.clockPart,.valleyLabel{font-size:11px!important}
  .yellowSeparator{height:20px!important}
}

/* Celular: se mantiene limpio y legible */
@media(max-width:640px){
  .topSearchClock{
    min-height:31px!important;
    padding:2px 1px!important;
  }
  .topSearchClock time{
    gap:6px!important;
    row-gap:5px!important;
    font-size:10px!important;
    white-space:normal!important;
  }
  .infoGroup{gap:4px!important}
  .infoIcon{font-size:13px!important}
  .dateFull,.clockPart,.valleyLabel{font-size:10px!important}
  .yellowSeparator{
    width:1px!important;
    height:16px!important;
    flex-basis:1px!important;
  }
}

/* Teléfonos angostos: si no cabe, baja Valle de Aconcagua sin romper */
@media(max-width:430px){
  .topSearchClock time{
    align-items:center!important;
    gap:5px!important;
  }
  .dateFull,.clockPart,.valleyLabel{font-size:9.5px!important}
  .infoIcon{font-size:12px!important}
}

/* =========================================================
   TOP MATCH MOCKUP — NEGRO / AMARILLO / ROJO
   ========================================================= */

/* Main black header */
.topbar{
  background:#050505!important;
  border:0!important;
  border-bottom:4px solid #FFD400!important;
  min-height:128px!important;
  padding:16px 30px!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  align-items:center!important;
  box-shadow:none!important;
}

/* Full brand image */
.brandLogoWrap{
  display:flex!important;
  align-items:center!important;
  min-width:0!important;
}
.brandLogoFull{
  width:min(980px,78vw)!important;
  max-height:100px!important;
  height:auto!important;
  object-fit:contain!important;
  object-position:left center!important;
}

/* FAV and + buttons */
.topIconActions{
  display:flex!important;
  flex-direction:column!important;
  gap:8px!important;
  margin-left:16px!important;
}
.topIconButton{
  width:58px!important;
  min-width:58px!important;
  height:58px!important;
  border-radius:12px!important;
  border:2px solid #3A3A3A!important;
  background:#070707!important;
  box-shadow:inset 0 0 0 1px #111!important;
}
.favoriteIconButton{
  padding:0!important;
  gap:0!important;
}
.topIconHeart{
  font-size:26px!important;
  color:#E80019!important;
}
.favMiniText{
  display:block!important;
  position:absolute!important;
  font-size:10px!important;
  color:#fff!important;
  font-weight:950!important;
  transform:translateY(14px)!important;
}
.favoriteIconButton>b{
  display:none!important;
}
.addBusinessIcon{
  font-size:36px!important;
  color:#FFD400!important;
  background:#070707!important;
  border-color:#3A3A3A!important;
}

/* Search strip */
.topSearchStrip{
  background:#050505!important;
  border:0!important;
}
.topSearchStripInner{
  display:grid!important;
  grid-template-columns:1fr!important;
  grid-template-rows:auto auto!important;
  gap:14px!important;
  max-width:100%!important;
  padding:18px 30px 20px!important;
}

/* Search box */
.topSearchField{
  min-height:68px!important;
  border-radius:17px!important;
  background:#fff!important;
  border:0!important;
  padding:0 22px!important;
  box-shadow:none!important;
}
.topSearchIcon{
  color:#0D58B4!important;
  font-size:36px!important;
  width:44px!important;
  height:64px!important;
  flex-basis:44px!important;
  background:transparent!important;
}
.topSearchStrip input{
  height:64px!important;
  color:#0D58B4!important;
  background:#fff!important;
  border:0!important;
  font-size:20px!important;
  font-weight:650!important;
  padding:0 6px!important;
}
.topSearchStrip input::placeholder{
  color:#0D58B4!important;
  opacity:1!important;
  font-size:20px!important;
  font-weight:650!important;
}

/* Date / time / valley line */
.topSearchClock{
  min-height:48px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:0 10px!important;
}
.topSearchClock time{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  flex-wrap:nowrap!important;
  width:100%!important;
  gap:22px!important;
  color:#fff!important;
}
.infoGroup{
  display:inline-flex!important;
  align-items:center!important;
  gap:11px!important;
}
.infoIcon{
  font-size:28px!important;
  color:#FFD400!important;
}
.dateFull,.clockPart,.valleyLabel{
  color:#F7F7F7!important;
  font-size:18px!important;
  font-weight:650!important;
}
.clockPart{
  font-variant-numeric:tabular-nums!important;
}
.yellowSeparator{
  display:inline-block!important;
  width:2px!important;
  height:32px!important;
  background:#FFD400!important;
  border-radius:999px!important;
  flex:0 0 2px!important;
}

/* Tablet */
@media(max-width:980px){
  .topbar{
    min-height:100px!important;
    padding:12px 16px!important;
  }
  .brandLogoFull{
    width:min(760px,76vw)!important;
    max-height:78px!important;
  }
  .topIconButton{
    width:48px!important;
    min-width:48px!important;
    height:48px!important;
  }
  .topSearchStripInner{
    padding:14px 16px 16px!important;
    gap:10px!important;
  }
  .topSearchField{
    min-height:58px!important;
    border-radius:14px!important;
  }
  .topSearchStrip input,
  .topSearchStrip input::placeholder{
    font-size:17px!important;
  }
  .topSearchIcon{
    font-size:30px!important;
    width:38px!important;
    flex-basis:38px!important;
  }
  .dateFull,.clockPart,.valleyLabel{font-size:15px!important}
  .infoIcon{font-size:22px!important}
  .yellowSeparator{height:26px!important}
}

/* Mobile */
@media(max-width:640px){
  .topbar{
    min-height:86px!important;
    padding:9px 10px!important;
    border-bottom-width:3px!important;
  }
  .brandLogoFull{
    width:75vw!important;
    max-height:64px!important;
  }
  .topIconActions{
    flex-direction:row!important;
    gap:6px!important;
    margin-left:6px!important;
  }
  .topIconButton{
    width:42px!important;
    min-width:42px!important;
    height:42px!important;
    border-radius:10px!important;
  }
  .topIconHeart{font-size:23px!important}
  .favMiniText{display:none!important}
  .addBusinessIcon{font-size:28px!important}

  .topSearchStripInner{
    padding:10px 10px 12px!important;
    gap:8px!important;
  }
  .topSearchField{
    min-height:52px!important;
    border-radius:13px!important;
    padding:0 12px!important;
  }
  .topSearchStrip input{
    height:48px!important;
    font-size:15px!important;
  }
  .topSearchStrip input::placeholder{
    font-size:15px!important;
  }
  .topSearchIcon{
    font-size:27px!important;
    width:32px!important;
    height:48px!important;
    flex-basis:32px!important;
  }

  .topSearchClock{
    min-height:38px!important;
    padding:0 4px!important;
    overflow:visible!important;
  }
  .topSearchClock time{
    gap:9px!important;
    flex-wrap:nowrap!important;
    justify-content:center!important;
    white-space:nowrap!important;
  }
  .infoGroup{gap:5px!important}
  .infoIcon{font-size:18px!important}
  .dateFull,.clockPart,.valleyLabel{
    font-size:11px!important;
    white-space:nowrap!important;
  }
  .yellowSeparator{
    height:21px!important;
    width:1px!important;
    flex-basis:1px!important;
  }
}

/* Very small mobile */
@media(max-width:430px){
  .brandLogoFull{
    width:70vw!important;
    max-height:56px!important;
  }
  .topIconButton{
    width:38px!important;
    min-width:38px!important;
    height:38px!important;
  }
  .topSearchStrip input,
  .topSearchStrip input::placeholder{
    font-size:13px!important;
  }
  .topSearchClock time{
    gap:6px!important;
  }
  .infoIcon{font-size:15px!important}
  .dateFull,.clockPart,.valleyLabel{
    font-size:9.2px!important;
  }
  .yellowSeparator{
    height:18px!important;
  }
}

/* ===== ICONOS SVG DE TRAZO AMARILLO ===== */
.infoIcon{display:none!important}
.infoIconSvg{
  width:28px!important;
  height:28px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  flex:0 0 28px!important;
  color:#FFD400!important;
}
.infoIconSvg svg{
  width:100%!important;
  height:100%!important;
  fill:none!important;
  stroke:currentColor!important;
  stroke-width:1.9!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
  overflow:visible!important;
}
@media(max-width:980px){
  .infoIconSvg{width:23px!important;height:23px!important;flex-basis:23px!important}
}
@media(max-width:640px){
  .infoIconSvg{width:18px!important;height:18px!important;flex-basis:18px!important}
}
@media(max-width:430px){
  .infoIconSvg{width:16px!important;height:16px!important;flex-basis:16px!important}
}

/* =========================================================
   SISTEMA GLOBAL DE ICONOS SVG — AMARILLO
   ========================================================= */
:root{--sabroso-icon:#FFD400}
.siteSvgIcon,.sectionSvgIcon,.tinySvgIcon,.buttonSvgIcon,.nearbyMapIconSvg,.topIconHeartSvg,.topPlusSvg,.freeBusinessArrowSvg,
.uiIcon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:1.15em;
  height:1.15em;
  color:var(--sabroso-icon)!important;
  vertical-align:-.18em;
  flex:0 0 auto;
}
.siteSvgIcon svg,.sectionSvgIcon svg,.tinySvgIcon svg,.buttonSvgIcon svg,.nearbyMapIconSvg svg,.topIconHeartSvg svg,.topPlusSvg svg,.freeBusinessArrowSvg svg,
.uiIcon svg{
  width:100%;
  height:100%;
  fill:none!important;
  stroke:currentColor!important;
  stroke-width:1.9!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
}
.topIconHeartSvg{width:25px!important;height:25px!important}
.topPlusSvg{width:27px!important;height:27px!important}
.sectionSvgIcon{width:24px!important;height:24px!important}
.nearbyMapIconSvg{width:27px!important;height:27px!important}
.buttonSvgIcon{width:16px!important;height:16px!important}
.tinySvgIcon{width:12px!important;height:12px!important}
.categoryPill .uiIcon,.cat .siteSvgIcon,.catGrid .siteSvgIcon{width:16px;height:16px}
.photoFeatured .uiIcon{width:14px;height:14px}
.promoMini .uiIcon{width:15px;height:15px}
.quick .uiIcon{width:14px;height:14px}

/* ===== DESTACADO: ESTRELLA SVG VISIBLE ===== */
.photoFeatured{
  display:inline-flex!important;
  align-items:center!important;
  gap:5px!important;
  background:#111C22E8!important;
  border:1px solid #FFD400!important;
  color:#FFD400!important;
}
.photoFeatured .uiIcon{
  width:14px!important;
  height:14px!important;
  color:#FFD400!important;
}
.photoFeatured .uiIcon svg{
  stroke-width:2.1!important;
}
.photoFeatured>span:last-child{
  color:#FFD400!important;
  font-weight:950!important;
}

/* ===== AJUSTE TOP: FAV + MAS MAS PEQUEÑOS ===== */
.topIconButton{
  width:48px!important;
  min-width:48px!important;
  height:48px!important;
  border-radius:10px!important;
}
.topIconHeartSvg{
  width:21px!important;
  height:21px!important;
  color:#E3132C!important;
}
.topIconHeartSvg svg{
  stroke:#E3132C!important;
  stroke-width:2.2!important;
}
.topPlusSvg{
  width:22px!important;
  height:22px!important;
  color:#FFD400!important;
}
@media(max-width:980px){
  .topIconButton{width:42px!important;min-width:42px!important;height:42px!important}
  .topIconHeartSvg{width:19px!important;height:19px!important}
  .topPlusSvg{width:20px!important;height:20px!important}
}
@media(max-width:640px){
  .topIconButton{width:36px!important;min-width:36px!important;height:36px!important}
  .topIconHeartSvg{width:17px!important;height:17px!important}
  .topPlusSvg{width:18px!important;height:18px!important}
}

/* DESTACADO: SOLO TEXTO, SIN ICONO */
.photoFeatured .uiIcon,
.photoFeatured .siteSvgIcon{
  display:none!important;
}
.photoFeatured{
  gap:0!important;
}

/* =========================================================
   CORAZONES FAVORITOS — SIEMPRE ROJOS
   Los demás iconos mantienen el amarillo general.
   ========================================================= */
.topIconHeartSvg,
.favoriteBtn .uiIcon,
.favoriteBtn .siteSvgIcon,
.favoriteButton .uiIcon,
.favoriteButton .siteSvgIcon,
.favButton .uiIcon,
.favButton .siteSvgIcon,
[data-favorite] .uiIcon,
[data-favorite] .siteSvgIcon,
.directoryFavorite .uiIcon,
.directoryFavorite .siteSvgIcon{
  color:#E3132C!important;
}
.topIconHeartSvg svg,
.favoriteBtn .uiIcon svg,
.favoriteBtn .siteSvgIcon svg,
.favoriteButton .uiIcon svg,
.favoriteButton .siteSvgIcon svg,
.favButton .uiIcon svg,
.favButton .siteSvgIcon svg,
[data-favorite] .uiIcon svg,
[data-favorite] .siteSvgIcon svg,
.directoryFavorite .uiIcon svg,
.directoryFavorite .siteSvgIcon svg{
  stroke:#E3132C!important;
}

/* DESTACADO: SOLO PALABRA, SIN ICONO */
.photoFeatured .uiIcon,
.photoFeatured .siteSvgIcon,
.photoFeatured svg{
  display:none!important;
}
.photoFeatured{
  gap:0!important;
}

.favoriteHeartSvg{
  display:inline-flex;
  width:1.15em;
  height:1.15em;
  color:#E3132C!important;
  vertical-align:-.18em;
}
.favoriteHeartSvg svg{
  width:100%;
  height:100%;
  fill:none!important;
  stroke:#E3132C!important;
  stroke-width:2!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
}

/* =========================================================
   FAVORITOS — CORAZON ROJO RELLENO Y PERFECTAMENTE CENTRADO
   ========================================================= */

/* Círculo de favoritos en las láminas */
.cardFavorite,
.favoriteCircle{
  display:grid!important;
  place-items:center!important;
  padding:0!important;
  margin:0!important;
  line-height:1!important;
  text-align:center!important;
  overflow:visible!important;
}

/* Heart wrapper inside circular button */
.cardFavorite .uiIcon,
.cardFavorite .siteSvgIcon,
.favoriteCircle .uiIcon,
.favoriteCircle .siteSvgIcon{
  width:20px!important;
  height:20px!important;
  display:grid!important;
  place-items:center!important;
  margin:0!important;
  padding:0!important;
  transform:none!important;
  vertical-align:middle!important;
  color:#E3132C!important;
}

/* Full red heart, not just outline */
.cardFavorite .uiIcon svg,
.cardFavorite .siteSvgIcon svg,
.favoriteCircle .uiIcon svg,
.favoriteCircle .siteSvgIcon svg,
.topIconHeartSvg svg,
.favoriteHeartSvg svg{
  fill:#E3132C!important;
  stroke:#E3132C!important;
  stroke-width:1.6!important;
}

/* Keep SVG centered inside its own viewBox */
.cardFavorite svg,
.favoriteCircle svg{
  display:block!important;
  width:20px!important;
  height:20px!important;
  margin:0 auto!important;
  transform:translate(0,0)!important;
}

/* Top and detail hearts also full red */
.topIconHeartSvg,
.favoriteHeartSvg{
  color:#E3132C!important;
}
.topIconHeartSvg svg,
.favoriteHeartSvg svg{
  fill:#E3132C!important;
  stroke:#E3132C!important;
}

/* Mobile proportion */
@media(max-width:640px){
  .cardFavorite .uiIcon,
  .cardFavorite .siteSvgIcon,
  .favoriteCircle .uiIcon,
  .favoriteCircle .siteSvgIcon,
  .cardFavorite svg,
  .favoriteCircle svg{
    width:18px!important;
    height:18px!important;
  }
}

/* ===== ABIERTO/CERRADO + DISTANCIA SOBRE FOTO ===== */
.cardLiveStatus{
  position:absolute!important;left:10px!important;bottom:10px!important;z-index:6!important;
  display:inline-flex!important;align-items:center!important;
  max-width:calc(100% - 20px)!important;min-height:28px!important;padding:0 10px!important;
  border-radius:8px!important;color:#fff!important;font-size:9px!important;font-weight:950!important;
  letter-spacing:.12px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;
  backdrop-filter:blur(5px)!important;-webkit-backdrop-filter:blur(5px)!important;box-shadow:0 2px 8px #0006!important
}
.cardLiveStatus.isOpen{background:rgba(13,119,57,.94)!important;border:1px solid rgba(104,237,153,.65)!important}
.cardLiveStatus.isClosed{background:rgba(35,40,44,.92)!important;border:1px solid rgba(255,255,255,.22)!important}
@media(min-width:900px){.cardLiveStatus{left:12px!important;bottom:12px!important;min-height:30px!important;font-size:10px!important}}
@media(max-width:640px){.cardLiveStatus{left:8px!important;bottom:8px!important;max-width:calc(100% - 16px)!important;min-height:25px!important;padding:0 8px!important;font-size:8px!important}}

/* ===== TOP COMPARTIDO EN FICHAS DE LOCALES ===== */
.detailPage .detailSharedTop,
.detailPage .detailSharedSearch{
  width:100%;
}
.detailPage .detailSharedTop .brandLogoWrap a{
  display:flex;
  align-items:center;
}
.detailPage .detailSharedSearch{
  margin:0;
}
.detailPage .detailWrap{
  margin-top:0!important;
}

/* ===== FIX DEFINITIVO TOP EN FICHAS ===== */
.detailPage .detailTopFull{
  display:grid!important;
  visibility:visible!important;
  opacity:1!important;
  position:relative!important;
  top:auto!important;
  z-index:60!important;
  width:100%!important;
}
.detailPage .detailTopFull .brandLogoWrap,
.detailPage .detailTopFull .brandLogoWrap a,
.detailPage .detailTopFull .brandLogoFull,
.detailPage .detailTopFull .topIconActions{
  display:flex!important;
  visibility:visible!important;
  opacity:1!important;
}
.detailPage .detailTopFull .brandLogoFull{
  object-fit:contain!important;
}
.detailPage .detailTopSearch{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  width:100%!important;
  position:relative!important;
  z-index:59!important;
}
.detailPage .detailTopSearch .topSearchStripInner{
  display:grid!important;
}
.detailPage .detailWrap{
  position:relative!important;
  z-index:1!important;
}

/* ===== DISTANCIA DENTRO DE LA FICHA DEL LOCAL ===== */
.detailDistanceBadge{
  display:inline-flex;
  align-items:center;
  gap:7px;
  margin:8px 0 4px;
  padding:8px 11px;
  border-radius:9px;
  background:#102531;
  border:1px solid #35505D;
  color:#FFFFFF;
  font-size:10px;
  font-weight:950;
  letter-spacing:.15px;
}
.detailDistanceBadge[hidden]{
  display:none!important;
}
.detailDistanceIcon{
  display:inline-flex;
  width:17px;
  height:17px;
  color:#FFD400!important;
}
.detailDistanceIcon svg{
  width:100%;
  height:100%;
  fill:none!important;
  stroke:currentColor!important;
  stroke-width:1.9!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
}
@media(min-width:900px){
  .detailDistanceBadge{
    font-size:11px;
    padding:9px 12px;
  }
  .detailDistanceIcon{
    width:18px;
    height:18px;
  }
}
@media(max-width:640px){
  .detailDistanceBadge{
    font-size:9px;
    padding:7px 9px;
  }
}

/* =========================================================
   BURBUJAS UNIFICADAS — ESTADO + DISTANCIA
   ========================================================= */

/* Base común */
.statusPill,
.detailDistanceBadge{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:7px!important;
  min-height:34px!important;
  padding:0 11px!important;
  border-radius:10px!important;
  border:1px solid #35505D!important;
  background:#102531!important;
  color:#fff!important;
  font-size:10px!important;
  font-weight:950!important;
  line-height:1!important;
  letter-spacing:.12px!important;
  box-sizing:border-box!important;
  vertical-align:middle!important;
}

/* Íconos dentro de ambas burbujas */
.statusPill .uiIcon,
.statusPill .siteSvgIcon,
.detailDistanceBadge .detailDistanceIcon{
  width:17px!important;
  height:17px!important;
  flex:0 0 17px!important;
  color:#FFD400!important;
}
.statusPill .uiIcon svg,
.statusPill .siteSvgIcon svg,
.detailDistanceBadge .detailDistanceIcon svg{
  width:100%!important;
  height:100%!important;
  fill:none!important;
  stroke:currentColor!important;
  stroke-width:1.9!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
}

/* Estado abierto: misma burbuja, acento verde */
.statusPill.open{
  background:#123A29!important;
  border-color:#2B7A4F!important;
  color:#fff!important;
}

/* Estado cerrado: misma burbuja, acento gris oscuro */
.statusPill.closed{
  background:#252D32!important;
  border-color:#49565E!important;
  color:#fff!important;
}

/* Distancia: misma estructura, acento azul oscuro */
.detailDistanceBadge{
  background:#102531!important;
  border-color:#35505D!important;
  margin:8px 0 4px!important;
}

/* En la portada, el overlay de abierto/cerrado también usa misma geometría */
.cardLiveStatus{
  min-height:30px!important;
  padding:0 10px!important;
  border-radius:10px!important;
  font-size:9px!important;
  font-weight:950!important;
  line-height:1!important;
}
.cardLiveStatus.isOpen{
  background:#123A29E8!important;
  border-color:#2B7A4FCC!important;
}
.cardLiveStatus.isClosed{
  background:#252D32E8!important;
  border-color:#49565ECC!important;
}

/* Responsive */
@media(min-width:900px){
  .statusPill,
  .detailDistanceBadge{
    min-height:36px!important;
    padding:0 12px!important;
    font-size:11px!important;
  }
}
@media(max-width:640px){
  .statusPill,
  .detailDistanceBadge{
    min-height:31px!important;
    padding:0 9px!important;
    font-size:9px!important;
    border-radius:9px!important;
  }
  .statusPill .uiIcon,
  .statusPill .siteSvgIcon,
  .detailDistanceBadge .detailDistanceIcon{
    width:15px!important;
    height:15px!important;
    flex-basis:15px!important;
  }
}

/* ===== ESTADO + DISTANCIA: MISMA ALTURA Y ALINEACION ===== */
.detailStatusRow{
  display:flex!important;
  align-items:stretch!important;
  justify-content:flex-start!important;
  flex-wrap:wrap!important;
  gap:9px!important;
  margin:9px 0 5px!important;
}
.detailStatusRow .statusPill,
.detailStatusRow .detailDistanceBadge{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  height:34px!important;
  min-height:34px!important;
  margin:0!important;
  padding:0 11px!important;
  border-radius:10px!important;
  box-sizing:border-box!important;
  line-height:1!important;
}
.detailStatusRow .statusPill .uiIcon,
.detailStatusRow .detailDistanceBadge .detailDistanceIcon{
  width:17px!important;
  height:17px!important;
  flex:0 0 17px!important;
  margin:0!important;
}
@media(min-width:900px){
  .detailStatusRow{gap:10px!important}
  .detailStatusRow .statusPill,
  .detailStatusRow .detailDistanceBadge{
    height:36px!important;
    min-height:36px!important;
    padding:0 12px!important;
  }
}
@media(max-width:640px){
  .detailStatusRow{
    gap:7px!important;
    margin-top:8px!important;
  }
  .detailStatusRow .statusPill,
  .detailStatusRow .detailDistanceBadge{
    height:31px!important;
    min-height:31px!important;
    padding:0 9px!important;
    border-radius:9px!important;
  }
}

/* ===== CERRADO: ALERTA ROJA FUERTE ===== */
.statusPill.closed,
.detailStatusRow .statusPill.closed{
  background:#D71920!important;
  border-color:#FF3B40!important;
  color:#FFFFFF!important;
  box-shadow:0 2px 8px rgba(215,25,32,.24)!important;
}
.statusPill.closed span:not(.uiIcon):not(.siteSvgIcon){
  color:#FFFFFF!important;
}
.statusPill.closed .uiIcon,
.statusPill.closed .siteSvgIcon{
  color:#FFD400!important;
}
.statusPill.closed .uiIcon svg,
.statusPill.closed .siteSvgIcon svg{
  fill:none!important;
  stroke:#FFD400!important;
}

/* Cerrado sobre las fotografías de la portada */
.cardLiveStatus.isClosed{
  background:#D71920F2!important;
  border-color:#FF3B40!important;
  color:#FFFFFF!important;
  box-shadow:0 2px 8px rgba(0,0,0,.30)!important;
}

/* ===== SERVICIOS DEL LOCAL — SVG AMARILLOS ===== */
.servicePicker{display:flex;flex-wrap:wrap;gap:9px}
.servicePick{position:relative;display:grid;place-items:center;width:48px;height:48px;border-radius:11px;border:1px solid #3A4E59;background:#132630;cursor:pointer;transition:.16s}
.servicePick input{position:absolute;opacity:0;pointer-events:none}
.servicePick>span{display:grid;place-items:center}
.servicePick:has(input:checked){border-color:#FFD400;background:#28311A;box-shadow:0 0 0 2px #FFD40022}
.servicePick::after{content:attr(data-label);position:absolute;left:50%;bottom:calc(100% + 7px);transform:translateX(-50%);padding:5px 7px;border-radius:6px;background:#050505;color:#fff;font-size:8px;font-weight:800;white-space:nowrap;opacity:0;pointer-events:none;transition:.15s;z-index:20}
.servicePick:hover::after,.servicePick:focus-within::after{opacity:1}
.servicePickIcon,.publicServiceSvg,.serviceCardSvg{display:inline-flex;width:24px;height:24px;color:#FFD400!important}
.servicePickIcon svg,.publicServiceSvg svg,.serviceCardSvg svg{width:100%;height:100%;fill:none!important;stroke:currentColor!important;stroke-width:1.8!important;stroke-linecap:round!important;stroke-linejoin:round!important}
.localServices{margin:11px 0 5px}
.localServiceIcons{display:flex;gap:8px;flex-wrap:wrap}
.localServiceIcon{display:grid;place-items:center;width:42px;height:42px;border-radius:10px;background:#111F28;border:1px solid #3A4E59}
.localServiceIcon .publicServiceSvg{width:23px;height:23px}
.cardServiceIcons{display:flex;gap:5px;margin:6px 0 2px}
.cardServiceIcons .serviceCardSvg{display:grid;place-items:center;width:28px;height:28px;padding:5px;border-radius:7px;background:#132630;border:1px solid #334A56}
.serviceSignupSection[hidden]{display:none!important}
@media(max-width:640px){.servicePick{width:44px;height:44px}.localServiceIcon{width:38px;height:38px}.cardServiceIcons .serviceCardSvg{width:26px;height:26px}}

/* ===== SERVICIOS: ICONOS MAS PEQUENOS Y LEGIBLES ===== */
.servicePick{
  width:40px!important;
  height:40px!important;
  border-radius:9px!important;
}
.servicePickIcon{
  width:19px!important;
  height:19px!important;
}
.localServiceIcon{
  width:34px!important;
  height:34px!important;
  border-radius:8px!important;
}
.localServiceIcon .publicServiceSvg{
  width:18px!important;
  height:18px!important;
}
.cardServiceIcons{
  gap:4px!important;
  margin:5px 0 2px!important;
}
.cardServiceIcons .serviceCardSvg{
  width:22px!important;
  height:22px!important;
  padding:3px!important;
  border-radius:6px!important;
}
.servicePickIcon svg,
.publicServiceSvg svg,
.serviceCardSvg svg{
  stroke-width:2.25!important;
  stroke:#FFD400!important;
  fill:none!important;
}
.localServiceIcons{
  gap:7px!important;
}
@media(max-width:640px){
  .servicePick{width:38px!important;height:38px!important}
  .servicePickIcon{width:18px!important;height:18px!important}
  .localServiceIcon{width:32px!important;height:32px!important}
  .localServiceIcon .publicServiceSvg{width:17px!important;height:17px!important}
  .cardServiceIcons .serviceCardSvg{width:21px!important;height:21px!important;padding:3px!important}
}

/* ===== TOOLTIP NOMBRE DE SERVICIO ===== */
.localServiceIcon{
  position:relative!important;
}
.localServiceIcon::after{
  content:attr(data-label);
  position:absolute;
  left:50%;
  bottom:calc(100% + 7px);
  transform:translateX(-50%) translateY(3px);
  z-index:30;
  padding:5px 7px;
  border-radius:6px;
  background:#050505;
  color:#FFFFFF;
  font-size:8px;
  font-weight:850;
  line-height:1;
  white-space:nowrap;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  box-shadow:0 3px 10px rgba(0,0,0,.25);
  transition:opacity .14s ease,transform .14s ease,visibility .14s ease;
}
.localServiceIcon:hover::after,
.localServiceIcon:focus-visible::after{
  opacity:1;
  visibility:visible;
  transform:translateX(-50%) translateY(0);
}

/* En dispositivos táctiles no dejamos etiquetas flotantes permanentes */
@media(hover:none){
  .localServiceIcon::after{display:none!important}
}

/* ===== 3 FOTOS PRINCIPALES / ROTACION CADA 4 SEGUNDOS ===== */
.directoryPhoto{
  transition:opacity .28s ease!important;
}
.directoryPhoto.coverChanging{
  opacity:.78!important;
}

/* ===== CROSSFADE SUAVE ENTRE FOTOS DE PORTADA ===== */
.directoryPhoto{
  position:relative!important;
  overflow:hidden!important;
  background-image:none!important;
}
.directoryPhoto .coverLayer{
  position:absolute!important;
  inset:0!important;
  z-index:0!important;
  display:block!important;
  width:100%!important;
  height:100%!important;
  background-size:cover!important;
  background-position:center!important;
  background-repeat:no-repeat!important;
  opacity:0!important;
  transition:opacity .85s ease-in-out!important;
  will-change:opacity!important;
  pointer-events:none!important;
}
.directoryPhoto .coverLayer.isVisible{
  opacity:1!important;
}

/* Todo el contenido de la tarjeta queda por encima de las fotos */
.directoryPhoto > :not(.coverLayer){
  position:relative!important;
  z-index:2!important;
}

/* Evita el efecto anterior de bajar toda la tarjeta */
.directoryPhoto.coverChanging{
  opacity:1!important;
}

/* =========================================================
   FIX OVERLAYS SOBRE FOTO CON CROSSFADE
   Mantiene la distribución original.
   ========================================================= */
.directoryPhoto{
  position:relative!important;
  overflow:hidden!important;
}

/* Las capas del fade siempre al fondo */
.directoryPhoto .coverLayer{
  z-index:0!important;
}

/* Logo del local: esquina inferior izquierda */
.directoryPhoto .localLogo{
  position:absolute!important;
  left:10px!important;
  bottom:10px!important;
  z-index:4!important;
  margin:0!important;
  transform:none!important;
}

/* Corazón: esquina superior derecha */
.directoryPhoto .cardFavorite,
.directoryPhoto .favoriteCircle{
  position:absolute!important;
  top:10px!important;
  right:10px!important;
  left:auto!important;
  bottom:auto!important;
  z-index:7!important;
  margin:0!important;
  transform:none!important;
}

/* DESTACADO: esquina superior izquierda */
.directoryPhoto .photoFeatured{
  position:absolute!important;
  top:10px!important;
  left:10px!important;
  right:auto!important;
  bottom:auto!important;
  z-index:6!important;
  margin:0!important;
  transform:none!important;
}

/* Estado + distancia: abajo, respetando el espacio del logo */
.directoryPhoto .cardLiveStatus{
  position:absolute!important;
  left:10px!important;
  bottom:10px!important;
  right:auto!important;
  top:auto!important;
  z-index:6!important;
  margin:0!important;
  transform:none!important;
}

/* Si existe logo, mover el estado hacia la derecha para que no se monten */
.directoryPhoto:has(.localLogo) .cardLiveStatus{
  left:82px!important;
  max-width:calc(100% - 92px)!important;
}

/* Cualquier contenido de overlay debe conservar su posición propia */
.directoryPhoto > :not(.coverLayer){
  z-index:2;
}

/* Desktop */
@media(min-width:900px){
  .directoryPhoto .cardFavorite,
  .directoryPhoto .favoriteCircle{
    top:12px!important;
    right:12px!important;
  }
  .directoryPhoto .photoFeatured{
    top:12px!important;
    left:12px!important;
  }
  .directoryPhoto .cardLiveStatus{
    left:12px!important;
    bottom:12px!important;
  }
  .directoryPhoto .localLogo{
    left:12px!important;
    bottom:12px!important;
  }
  .directoryPhoto:has(.localLogo) .cardLiveStatus{
    left:88px!important;
    max-width:calc(100% - 100px)!important;
  }
}

/* Móvil */
@media(max-width:640px){
  .directoryPhoto .cardFavorite,
  .directoryPhoto .favoriteCircle{
    top:8px!important;
    right:8px!important;
  }
  .directoryPhoto .photoFeatured{
    top:8px!important;
    left:8px!important;
  }
  .directoryPhoto .cardLiveStatus{
    left:8px!important;
    bottom:8px!important;
  }
  .directoryPhoto .localLogo{
    left:8px!important;
    bottom:8px!important;
  }
  .directoryPhoto:has(.localLogo) .cardLiveStatus{
    left:70px!important;
    max-width:calc(100% - 78px)!important;
  }
}

/* =========================================================
   POSICION FINAL SOBRE LAS FOTOS
   ========================================================= */

/* Logo arriba a la izquierda */
.directoryPhoto .localLogo{
  position:absolute!important;
  top:10px!important;
  left:10px!important;
  right:auto!important;
  bottom:auto!important;
  z-index:6!important;
  margin:0!important;
}

/* DESTACADO separado del logo: arriba a la derecha */
.directoryPhoto .photoFeatured{
  position:absolute!important;
  top:10px!important;
  right:10px!important;
  left:auto!important;
  bottom:auto!important;
  z-index:6!important;
  margin:0!important;
}

/* Corazón abajo a la derecha */
.directoryPhoto .cardFavorite,
.directoryPhoto .favoriteCircle{
  position:absolute!important;
  right:10px!important;
  bottom:10px!important;
  top:auto!important;
  left:auto!important;
  z-index:8!important;
  margin:0!important;
  transform:none!important;
}

/* Estado/distancia abajo a la izquierda y un poco más grande */
.directoryPhoto .cardLiveStatus{
  position:absolute!important;
  left:10px!important;
  bottom:10px!important;
  right:auto!important;
  top:auto!important;
  z-index:7!important;
  min-height:34px!important;
  max-width:calc(100% - 62px)!important;
  padding:0 12px!important;
  border-radius:10px!important;
  font-size:10px!important;
  font-weight:950!important;
  line-height:1!important;
  margin:0!important;
  transform:none!important;
}

/* El logo ya está arriba: no desplazar estado */
.directoryPhoto:has(.localLogo) .cardLiveStatus{
  left:10px!important;
  max-width:calc(100% - 62px)!important;
}

@media(min-width:900px){
  .directoryPhoto .localLogo{
    top:12px!important;
    left:12px!important;
  }
  .directoryPhoto .photoFeatured{
    top:12px!important;
    right:12px!important;
  }
  .directoryPhoto .cardFavorite,
  .directoryPhoto .favoriteCircle{
    right:12px!important;
    bottom:12px!important;
  }
  .directoryPhoto .cardLiveStatus,
  .directoryPhoto:has(.localLogo) .cardLiveStatus{
    left:12px!important;
    bottom:12px!important;
    min-height:37px!important;
    max-width:calc(100% - 68px)!important;
    padding:0 13px!important;
    font-size:11px!important;
  }
}

@media(max-width:640px){
  .directoryPhoto .localLogo{
    top:8px!important;
    left:8px!important;
  }
  .directoryPhoto .photoFeatured{
    top:8px!important;
    right:8px!important;
  }
  .directoryPhoto .cardFavorite,
  .directoryPhoto .favoriteCircle{
    right:8px!important;
    bottom:8px!important;
  }
  .directoryPhoto .cardLiveStatus,
  .directoryPhoto:has(.localLogo) .cardLiveStatus{
    left:8px!important;
    bottom:8px!important;
    min-height:32px!important;
    max-width:calc(100% - 58px)!important;
    padding:0 10px!important;
    font-size:9px!important;
  }
}

/* =========================================================
   SISTEMA TIPOGRAFICO UNIFICADO — ACONCAGUA SABROSO
   Portada + fichas. No modifica top/logo ni administración.
   ========================================================= */
:root{
  --sabroso-title:clamp(22px,2.1vw,26px);
  --sabroso-subtitle:clamp(13px,1.15vw,14px);
  --sabroso-card-title:clamp(17px,1.5vw,18px);
  --sabroso-inner-title:clamp(17px,1.5vw,18px);
  --sabroso-body:clamp(13px,1.15vw,14px);
  --sabroso-meta:clamp(12px,1vw,13px);
  --sabroso-badge:clamp(9px,.9vw,11px);
}

/* Títulos principales de secciones */
.sectionTitle,
.openNowTitle,
.nearMeTitle,
.communityTitle,
.directoryTitle,
.detailPage .detailWrap h1{
  font-size:var(--sabroso-title)!important;
  line-height:1.12!important;
  font-weight:950!important;
  letter-spacing:-.35px!important;
  margin-top:0;
}

/* Bajadas / explicaciones de secciones */
.sectionSubtitle,
.openNowSubtitle,
.nearMeSubtitle,
.communitySubtitle,
.directorySubtitle{
  font-size:var(--sabroso-subtitle)!important;
  line-height:1.45!important;
  font-weight:500!important;
}

/* Nombre de locales en tarjetas */
.directoryCard h3,
.openCard h3,
.nearCard h3,
.communityCard h3{
  font-size:var(--sabroso-card-title)!important;
  line-height:1.18!important;
  font-weight:900!important;
  letter-spacing:-.15px!important;
}

/* Títulos internos de las fichas */
.detailPage .detailWrap h2,
.detailPage .detailWrap h3,
.localServicesTitle{
  font-size:var(--sabroso-inner-title)!important;
  line-height:1.2!important;
  font-weight:900!important;
  letter-spacing:-.12px!important;
}

/* Texto general de contenido */
.detailPage .detailWrap p,
.directoryCard p,
.openCard p,
.nearCard p,
.communityCard p{
  font-size:var(--sabroso-body)!important;
  line-height:1.45!important;
}

/* Datos secundarios */
.directoryMeta,
.cardMeta,
.detailMeta,
.localAddress,
.localCategory{
  font-size:var(--sabroso-meta)!important;
  line-height:1.35!important;
}

/* Burbujas informativas: jerarquía consistente */
.photoFeatured,
.cardLiveStatus,
.statusPill,
.detailDistanceBadge{
  font-size:var(--sabroso-badge)!important;
  font-weight:950!important;
  line-height:1!important;
  letter-spacing:.08px!important;
}

/* Separación vertical uniforme entre encabezado y bajada */
.sectionTitle + .sectionSubtitle,
.openNowTitle + .openNowSubtitle,
.nearMeTitle + .nearMeSubtitle,
.communityTitle + .communitySubtitle,
.directoryTitle + .directorySubtitle{
  margin-top:5px!important;
}

/* Móvil: evita saltos exagerados y mantiene legibilidad */
@media(max-width:640px){
  .sectionTitle,
  .openNowTitle,
  .nearMeTitle,
  .communityTitle,
  .directoryTitle,
  .detailPage .detailWrap h1{
    line-height:1.14!important;
  }
  .sectionSubtitle,
  .openNowSubtitle,
  .nearMeSubtitle,
  .communitySubtitle,
  .directorySubtitle{
    line-height:1.4!important;
  }
}

/* ===== GALERIA PRODUCTOS PORTADA — APERTURA Y CIERRE CLAROS ===== */
.productThumbOpen{
  cursor:pointer!important;
  appearance:none!important;
  -webkit-appearance:none!important;
}
.productThumbOpen::before{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  background:transparent;
  transition:background .15s ease;
}
.productThumbOpen:hover::before{
  background:rgba(0,0,0,.08);
}
#homeProductLightbox{
  z-index:20000!important;
}
#homeProductLightbox .lightboxClose{
  position:fixed!important;
  top:16px!important;
  right:16px!important;
  z-index:20005!important;
  display:grid!important;
  place-items:center!important;
  width:46px!important;
  height:46px!important;
  padding:0!important;
  border-radius:50%!important;
  background:#B7042C!important;
  border:2px solid #fff!important;
  color:#fff!important;
  font-size:31px!important;
  font-weight:400!important;
  line-height:1!important;
  box-shadow:0 5px 18px rgba(0,0,0,.35)!important;
}
#homeProductLightbox .lightboxClose:hover{
  background:#D5123C!important;
  transform:scale(1.04);
}
#homeProductLightbox .lightboxContent{
  position:relative!important;
  z-index:20002!important;
}
#homeProductLightbox .lightboxNav{
  z-index:20004!important;
}
@media(max-width:700px){
  #homeProductLightbox .lightboxClose{
    top:10px!important;
    right:10px!important;
    width:42px!important;
    height:42px!important;
    font-size:28px!important;
  }
}

/* =========================================================
   AJUSTES FINALES — UBICACION ACTIVA + JERARQUIA DE SECCION
   ========================================================= */

/* Botón/burbuja de ubicación: verde cuando ya está activa */
#nearbyLocateBtn.isLocationActive{
  background:#159447!important;
  border-color:#159447!important;
  color:#FFFFFF!important;
  box-shadow:0 3px 12px rgba(21,148,71,.28)!important;
}
#nearbyLocateBtn.isLocationActive .buttonSvgIcon,
#nearbyLocateBtn.isLocationActive .siteSvgIcon{
  color:#FFD400!important;
}

/* "¿Dónde comemos hoy?" usa la misma escala visual de las secciones cercanas */
.sectionHead{
  align-items:center!important;
  margin:18px 0 11px!important;
}
.sectionHead #sectionTitle{
  font-size:16px!important;
  line-height:1.18!important;
  font-weight:950!important;
  letter-spacing:0!important;
  margin:0!important;
}
.sectionHead #sectionTitle + p{
  margin:3px 0 0!important;
  font-size:11px!important;
  line-height:1.35!important;
  font-weight:500!important;
  color:#AFC0C9!important;
}
.sectionHead #resultCount{
  font-size:10px!important;
  line-height:1.2!important;
}

/* Mantiene la misma lógica al reducir pantalla */
@media(max-width:700px){
  .sectionHead{
    margin:15px 0 10px!important;
    gap:8px!important;
  }
  .sectionHead #sectionTitle{
    font-size:15px!important;
  }
  .sectionHead #sectionTitle + p{
    font-size:10px!important;
    margin-top:3px!important;
  }
  .sectionHead #resultCount{
    font-size:9px!important;
  }
}

/* =========================================================
   MAS NEGOCIOS DEL VALLE — 1 LAMINA POR AVANCE
   ========================================================= */
.freeBusinessSection{
  width:100%!important;
  max-width:100%!important;
  overflow:hidden!important;
  box-sizing:border-box!important;
}
.freeBusinessTrack{
  display:flex!important;
  flex-wrap:nowrap!important;
  gap:12px!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  scroll-snap-type:x mandatory!important;
  scroll-behavior:smooth!important;
  scrollbar-width:none!important;
  padding:0!important;
  margin:0!important;
  box-sizing:border-box!important;
}
.freeBusinessTrack::-webkit-scrollbar{
  display:none!important;
}
.freeBusinessCard{
  flex:0 0 100%!important;
  width:100%!important;
  max-width:100%!important;
  min-width:100%!important;
  scroll-snap-align:start!important;
  box-sizing:border-box!important;
  margin:0!important;
}

/* Evita que el bloque blanco se estire más que la lámina */
.freeBusinessCard,
.freeBusinessCard>*{
  box-sizing:border-box!important;
}
.freeBusinessSection .freeBusinessHead{
  width:100%!important;
  max-width:100%!important;
  box-sizing:border-box!important;
}

/* En escritorio: sigue siendo una lámina completa por cambio */
@media(min-width:900px){
  .freeBusinessTrack{
    gap:14px!important;
  }
  .freeBusinessCard{
    flex-basis:100%!important;
    width:100%!important;
    min-width:100%!important;
  }
}

/* =========================================================
   PROMOCIONES DESTACADAS — TIPOGRAFIA UNIFICADA
   ========================================================= */
.promoSection .sectionHead{
  align-items:center!important;
  margin:18px 0 11px!important;
}
.promoSection .sectionHead h2{
  font-size:16px!important;
  line-height:1.18!important;
  font-weight:950!important;
  letter-spacing:0!important;
  margin:0!important;
}
.promoSection .sectionHead p{
  margin:3px 0 0!important;
  font-size:11px!important;
  line-height:1.35!important;
  font-weight:500!important;
}
.promoSection .promoBody h3{
  font-size:17px!important;
  line-height:1.18!important;
  font-weight:900!important;
}
.promoSection .promoBody p{
  font-size:13px!important;
  line-height:1.4!important;
}
@media(max-width:700px){
  .promoSection .sectionHead{
    margin:15px 0 10px!important;
  }
  .promoSection .sectionHead h2{
    font-size:15px!important;
  }
  .promoSection .sectionHead p{
    font-size:10px!important;
  }
  .promoSection .promoBody h3{
    font-size:16px!important;
  }
  .promoSection .promoBody p{
    font-size:12px!important;
  }
}

/* =========================================================
   PWA / INSTALAR ACONCAGUA SABROSO
   ========================================================= */
.pwaInstallBar[hidden],.pwaInstallModal[hidden]{display:none!important}
.pwaInstallBar{
  max-width:1380px;
  margin:10px auto 0;
  padding:10px 12px;
  display:flex;
  align-items:center;
  gap:10px;
  background:#111D24;
  border:1px solid #334750;
  border-radius:12px;
  color:#fff;
  box-sizing:border-box;
  position:relative;
}
.pwaInstallBar>img{
  width:42px;height:42px;object-fit:cover;border-radius:9px;flex:0 0 42px
}
.pwaInstallCopy{min-width:0;flex:1}
.pwaInstallCopy b{display:block;font-size:11px;font-weight:950;line-height:1.15}
.pwaInstallCopy span{display:block;margin-top:3px;font-size:9px;color:#AFC0C8;line-height:1.3}
.pwaInstallButton{
  border:0;border-radius:9px;padding:10px 12px;background:#FFD400;color:#111;
  font-size:9px;font-weight:950;white-space:nowrap;cursor:pointer
}
.pwaInstallClose{
  width:28px;height:28px;display:grid;place-items:center;border:0;background:transparent;
  color:#8999A1;font-size:21px;cursor:pointer;padding:0
}
.pwaInstallModal{
  position:fixed;inset:0;z-index:30000;background:rgba(0,0,0,.78);
  display:grid;place-items:center;padding:18px
}
.pwaInstallModalCard{
  position:relative;width:min(420px,100%);padding:25px 20px 20px;border-radius:16px;
  background:#0E1B23;border:1px solid #344953;color:#fff;text-align:center;box-shadow:0 18px 60px #0008
}
.pwaInstallModalCard>img{width:74px;height:74px;border-radius:16px}
.pwaInstallModalCard h2{margin:12px 0 7px;font-size:19px}
.pwaInstallModalCard p{margin:0;color:#D3DCE0;font-size:13px;line-height:1.5}
.pwaInstallModalCard small{display:block;margin-top:13px;color:#8FA0A9;font-size:9px;line-height:1.4}
.pwaInstallModalClose{
  position:absolute;right:10px;top:10px;width:34px;height:34px;border-radius:50%;border:1px solid #43555E;
  background:#111D24;color:#fff;font-size:23px;line-height:1;cursor:pointer
}
@media(max-width:700px){
  .pwaInstallBar{margin:8px 9px 0;padding:9px;gap:8px}
  .pwaInstallBar>img{width:38px;height:38px;flex-basis:38px}
  .pwaInstallCopy b{font-size:10px}.pwaInstallCopy span{font-size:8px}
  .pwaInstallButton{padding:9px 10px;font-size:8px}
  .pwaInstallClose{width:24px;height:24px;font-size:19px}
}
@media(max-width:430px){
  .pwaInstallCopy span{display:none}
  .pwaInstallButton{padding:9px 8px}
}

/* =========================================================
   MAPA CERCA DE MI — FIX SCROLL MOVIL
   ========================================================= */

/* El mapa no debe invadir todo el ancho táctil del teléfono */
@media(max-width:700px){
  .nearbyMapLayout{
    display:block!important;
    padding-right:12px!important;
    box-sizing:border-box!important;
  }

  .nearbyMapCanvas{
    width:calc(100% - 18px)!important;
    max-width:calc(100% - 18px)!important;
    margin-right:18px!important;
    box-sizing:border-box!important;
    touch-action:pan-y!important;
    overscroll-behavior:contain!important;
  }

  /* Franja derecha libre para que el usuario pueda deslizar la página */
  .nearbyMapCanvas::after{
    content:"";
    position:absolute;
    top:0;
    right:-18px;
    width:18px;
    height:100%;
    pointer-events:none;
  }

  /* Leaflet deja pasar mejor el desplazamiento vertical */
  .nearbyMapCanvas .leaflet-container,
  #nearbyMap{
    touch-action:pan-y!important;
  }

  .nearbyResults{
    width:100%!important;
    max-width:100%!important;
    margin-top:10px!important;
  }
}

/* En pantallas muy angostas damos todavía más zona de scroll */
@media(max-width:430px){
  .nearbyMapLayout{
    padding-right:14px!important;
  }
  .nearbyMapCanvas{
    width:calc(100% - 22px)!important;
    max-width:calc(100% - 22px)!important;
    margin-right:22px!important;
  }
}

/* =========================================================
   DESTACADOS — 4 CLIENTES POR PAGINA
   ========================================================= */
.featuredPageGrid{
  grid-column:1/-1;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  width:100%;
}
.featuredPager{
  grid-column:1/-1;
  width:100%;
  display:flex;
  justify-content:center;
  align-items:center;
  gap:10px;
  margin:14px 0 5px;
}
.featuredPageArrow{
  width:36px;height:36px;border-radius:50%;border:1px solid #394C55;
  background:#111D24;color:#FFD400;font-size:25px;line-height:1;cursor:pointer
}
.featuredPageDots{display:flex;gap:6px;align-items:center}
.featuredPageDot{
  width:8px;height:8px;border:0;border-radius:50%;padding:0;background:#53656D;cursor:pointer
}
.featuredPageDot.active{background:#FFD400;transform:scale(1.25)}
.featuredPager>span{font-size:10px;font-weight:900;color:#AFC0C8;min-width:34px;text-align:center}
@media(max-width:700px){
  .featuredPageGrid{grid-template-columns:1fr;gap:11px}
  .featuredPager{margin-top:12px}
}

/* =========================================================
   LOCALES A MENOS DE 3 KM — TIPOGRAFIA +20%
   ========================================================= */
.nearbyMapSection .nearbyStatus b{
  font-size:clamp(15px,1.7vw,18px)!important;
  line-height:1.2!important;
  font-weight:950!important;
}
.nearbyMapSection .nearbyStatus span{
  font-size:clamp(12px,1.25vw,14px)!important;
  line-height:1.35!important;
}
.nearbyMapSection .nearbyPlace>div>b{
  font-size:clamp(16px,1.65vw,19px)!important;
  line-height:1.18!important;
  font-weight:950!important;
}
.nearbyMapSection .nearbyPlace small{
  font-size:clamp(12px,1.25vw,14px)!important;
  line-height:1.35!important;
}
.nearbyMapSection .nearbyPlace span.open,
.nearbyMapSection .nearbyPlace span.closed{
  font-size:clamp(10px,1.05vw,12px)!important;
  line-height:1.1!important;
  font-weight:950!important;
}
.nearbyMapSection .nearbyPlaceActions a{
  font-size:clamp(10px,1.05vw,12px)!important;
  font-weight:950!important;
}
.nearbyMapSection .nearbyMapHead b{
  font-size:clamp(16px,1.65vw,19px)!important;
  line-height:1.18!important;
}
.nearbyMapSection .nearbyMapHead small{
  font-size:clamp(12px,1.25vw,14px)!important;
  line-height:1.4!important;
}
@media(max-width:700px){
  .nearbyMapSection .nearbyStatus b{font-size:16px!important}
  .nearbyMapSection .nearbyStatus span{font-size:13px!important}
  .nearbyMapSection .nearbyPlace>div>b{font-size:17px!important}
  .nearbyMapSection .nearbyPlace small{font-size:13px!important}
  .nearbyMapSection .nearbyPlace span.open,
  .nearbyMapSection .nearbyPlace span.closed{font-size:11px!important}
  .nearbyMapSection .nearbyPlaceActions a{font-size:11px!important}
  .nearbyMapSection .nearbyMapHead b{font-size:17px!important}
  .nearbyMapSection .nearbyMapHead small{font-size:13px!important}
}

/* =========================================================
   LOCALES A MENOS DE 3 KM — ALINEACION FINAL
   ========================================================= */
.nearbyMapSection .nearbyResults{
  width:100%!important;
  max-width:100%!important;
  box-sizing:border-box!important;
}

.nearbyMapSection .nearbyStatus{
  display:block!important;
  width:100%!important;
  padding:8px 4px 10px!important;
  margin:0!important;
  box-sizing:border-box!important;
}

.nearbyMapSection .nearbyStatus b,
.nearbyMapSection .nearbyStatus span{
  display:block!important;
  width:100%!important;
  margin:0!important;
  padding:0!important;
}

.nearbyMapSection .nearbyStatus b{
  margin-bottom:3px!important;
  font-size:17px!important;
  line-height:1.2!important;
}

.nearbyMapSection .nearbyStatus span{
  font-size:13px!important;
  line-height:1.35!important;
}

.nearbyMapSection .nearbyList{
  display:flex!important;
  flex-direction:column!important;
  gap:10px!important;
  width:100%!important;
  box-sizing:border-box!important;
}

.nearbyMapSection .nearbyPlace{
  display:grid!important;
  grid-template-columns:86px minmax(0,1fr)!important;
  gap:11px!important;
  align-items:center!important;
  width:100%!important;
  min-width:0!important;
  box-sizing:border-box!important;
  margin:0!important;
  padding:10px!important;
}

.nearbyMapSection .nearbyPlacePhoto{
  width:86px!important;
  height:86px!important;
  min-width:86px!important;
  border-radius:10px!important;
  margin:0!important;
}

.nearbyMapSection .nearbyPlace>div{
  min-width:0!important;
  width:100%!important;
  box-sizing:border-box!important;
}

.nearbyMapSection .nearbyPlace>div>b{
  display:block!important;
  width:100%!important;
  margin:0 0 4px!important;
  font-size:17px!important;
  line-height:1.18!important;
  overflow-wrap:anywhere!important;
}

.nearbyMapSection .nearbyPlace small{
  display:block!important;
  width:100%!important;
  margin:0 0 6px!important;
  font-size:13px!important;
  line-height:1.3!important;
  overflow-wrap:anywhere!important;
}

.nearbyMapSection .nearbyPlace span.open,
.nearbyMapSection .nearbyPlace span.closed{
  display:inline-flex!important;
  align-items:center!important;
  min-height:28px!important;
  padding:0 8px!important;
  margin:0 0 7px!important;
  border-radius:8px!important;
  font-size:11px!important;
  line-height:1!important;
  max-width:100%!important;
  white-space:normal!important;
}

.nearbyMapSection .nearbyPlaceActions{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:7px!important;
  width:100%!important;
  margin:0!important;
}

.nearbyMapSection .nearbyPlaceActions a{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:32px!important;
  padding:0 9px!important;
  margin:0!important;
  font-size:11px!important;
  line-height:1!important;
  white-space:nowrap!important;
}

@media(max-width:700px){
  .nearbyMapSection .nearbyPlace{
    grid-template-columns:76px minmax(0,1fr)!important;
    gap:9px!important;
    padding:9px!important;
  }

  .nearbyMapSection .nearbyPlacePhoto{
    width:76px!important;
    height:76px!important;
    min-width:76px!important;
  }

  .nearbyMapSection .nearbyStatus b{
    font-size:16px!important;
  }

  .nearbyMapSection .nearbyStatus span{
    font-size:12px!important;
  }

  .nearbyMapSection .nearbyPlace>div>b{
    font-size:16px!important;
  }

  .nearbyMapSection .nearbyPlace small{
    font-size:12px!important;
  }

  .nearbyMapSection .nearbyPlace span.open,
  .nearbyMapSection .nearbyPlace span.closed{
    font-size:10px!important;
    min-height:27px!important;
  }

  .nearbyMapSection .nearbyPlaceActions a{
    font-size:10px!important;
    min-height:31px!important;
  }
}

/* =========================================================
   MAS VISTOS ESTA SEMANA — +20%
   ========================================================= */
.mostViewedSection .mostViewedHead b{
  font-size:18px!important;
  line-height:1.18!important;
  font-weight:950!important;
}

.mostViewedSection .mostViewedHead small{
  font-size:12px!important;
  line-height:1.35!important;
}

.mostViewedSection .mostViewedCard{
  min-height:112px!important;
}

.mostViewedSection .mostViewedCard>div:last-child>b{
  font-size:15px!important;
  line-height:1.2!important;
}

.mostViewedSection .mostViewedCard>div:last-child>small{
  font-size:11px!important;
  line-height:1.3!important;
}

.mostViewedSection .mostViewedCard>div:last-child>strong{
  font-size:10px!important;
  line-height:1.2!important;
}

@media(max-width:700px){
  .mostViewedSection .mostViewedHead b{
    font-size:17px!important;
  }

  .mostViewedSection .mostViewedHead small{
    font-size:11px!important;
  }

  .mostViewedSection .mostViewedCard>div:last-child>b{
    font-size:14px!important;
  }

  .mostViewedSection .mostViewedCard>div:last-child>small{
    font-size:10px!important;
  }

  .mostViewedSection .mostViewedCard>div:last-child>strong{
    font-size:9px!important;
  }
}

/* =========================================================
   DESTACADOS — 35% MENOS ALTURA, MISMO ANCHO
   Solo afecta las tarjetas del bloque paginado de Destacados.
   ========================================================= */
.featuredPageGrid .card{
  min-height:0!important;
}

/* La foto es la principal responsable de la altura de la tarjeta */
.featuredPageGrid .card .cover,
.featuredPageGrid .card .cardCover,
.featuredPageGrid .card .localCover{
  height:auto!important;
  aspect-ratio:16 / 7.2!important;
  min-height:0!important;
}

/* Si la tarjeta usa imagen directa en el contenedor superior */
.featuredPageGrid .card>img:first-child{
  max-height:190px!important;
  object-fit:cover!important;
}

/* Compactar solamente el eje vertical del contenido */
.featuredPageGrid .card .body,
.featuredPageGrid .card .cardBody,
.featuredPageGrid .card .localBody{
  padding-top:7px!important;
  padding-bottom:8px!important;
}

.featuredPageGrid .card h3,
.featuredPageGrid .card h4{
  margin-top:0!important;
  margin-bottom:4px!important;
}

.featuredPageGrid .card p{
  margin-top:2px!important;
  margin-bottom:4px!important;
}

/* No modificar anchos */
.featuredPageGrid .card{
  width:100%!important;
  max-width:100%!important;
}

@media(max-width:700px){
  .featuredPageGrid .card .cover,
  .featuredPageGrid .card .cardCover,
  .featuredPageGrid .card .localCover{
    aspect-ratio:16 / 7!important;
  }

  .featuredPageGrid .card>img:first-child{
    max-height:150px!important;
  }

  .featuredPageGrid .card .body,
  .featuredPageGrid .card .cardBody,
  .featuredPageGrid .card .localBody{
    padding-top:6px!important;
    padding-bottom:7px!important;
  }
}

/* =========================================================
   DESTACADOS PORTADA — MAS RECTANGULARES / MENOS FOTO
   ========================================================= */

/* Mantener el ancho, reducir aún más la altura total */
.featuredPageGrid .directoryCard{
  min-height:0!important;
  height:auto!important;
  overflow:hidden!important;
}

/* Foto principal mucho más horizontal */
.featuredPageGrid .directoryPhoto{
  height:150px!important;
  min-height:150px!important;
  max-height:150px!important;
  aspect-ratio:auto!important;
}

/* Las capas del crossfade respetan la nueva altura */
.featuredPageGrid .directoryPhoto .coverLayer{
  height:100%!important;
  min-height:100%!important;
  max-height:100%!important;
  background-size:cover!important;
  background-position:center!important;
}

/* Compactar la parte de información */
.featuredPageGrid .directoryBody{
  padding-top:8px!important;
  padding-bottom:9px!important;
}

.featuredPageGrid .directoryBody h3{
  margin-top:0!important;
  margin-bottom:4px!important;
}

.featuredPageGrid .locationLine,
.featuredPageGrid .statusPill,
.featuredPageGrid .promoMini,
.featuredPageGrid .quickRow,
.featuredPageGrid .productStrip{
  margin-top:5px!important;
}

/* Móvil: todavía más rectangular */
@media(max-width:700px){
  .featuredPageGrid .directoryPhoto{
    height:118px!important;
    min-height:118px!important;
    max-height:118px!important;
  }

  .featuredPageGrid .directoryBody{
    padding-top:7px!important;
    padding-bottom:8px!important;
  }

  .featuredPageGrid .directoryBody h3{
    margin-bottom:3px!important;
  }
}

/* Pantallas angostas */
@media(max-width:430px){
  .featuredPageGrid .directoryPhoto{
    height:108px!important;
    min-height:108px!important;
    max-height:108px!important;
  }
}

/* =========================================================
   PORTADA PRINCIPAL — SOLO 3 DESTACADOS Y MAS BAJOS
   ========================================================= */
.homeFeaturedGrid{
  grid-column:1/-1;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  width:100%;
  margin:0 0 12px;
}
.homeFeaturedGrid .directoryCard{
  min-height:0!important;
  height:auto!important;
  overflow:hidden!important;
}
.homeFeaturedGrid .directoryPhoto{
  height:118px!important;
  min-height:118px!important;
  max-height:118px!important;
  aspect-ratio:auto!important;
}
.homeFeaturedGrid .directoryPhoto .coverLayer{
  height:100%!important;
  min-height:100%!important;
  max-height:100%!important;
  background-size:cover!important;
  background-position:center!important;
}
.homeFeaturedGrid .directoryBody{
  padding-top:6px!important;
  padding-bottom:7px!important;
}
.homeFeaturedGrid .directoryBody h3{
  margin-top:0!important;
  margin-bottom:3px!important;
}
.homeFeaturedGrid .locationLine,
.homeFeaturedGrid .statusPill,
.homeFeaturedGrid .promoMini,
.homeFeaturedGrid .quickRow,
.homeFeaturedGrid .productStrip{
  margin-top:4px!important;
}

/* tablet */
@media(max-width:900px){
  .homeFeaturedGrid{
    grid-template-columns:1fr;
    gap:10px;
  }
  .homeFeaturedGrid .directoryPhoto{
    height:102px!important;
    min-height:102px!important;
    max-height:102px!important;
  }
}

/* móvil */
@media(max-width:700px){
  .homeFeaturedGrid{
    grid-template-columns:1fr;
    gap:9px;
  }
  .homeFeaturedGrid .directoryPhoto{
    height:92px!important;
    min-height:92px!important;
    max-height:92px!important;
  }
  .homeFeaturedGrid .directoryBody{
    padding-top:6px!important;
    padding-bottom:6px!important;
  }
}

/* pantallas angostas */
@media(max-width:430px){
  .homeFeaturedGrid .directoryPhoto{
    height:84px!important;
    min-height:84px!important;
    max-height:84px!important;
  }
}

/* Texto explicativo del bloque "Locales a menos de 3 km" */
.nearbyMapSection .nearbyMapHead small,
.nearbyMapSection .nearbyMapHead p{
  font-size:14px!important;
  line-height:1.45!important;
  font-weight:600!important;
}
@media(max-width:700px){
  .nearbyMapSection .nearbyMapHead small,
  .nearbyMapSection .nearbyMapHead p{
    font-size:13px!important;
    line-height:1.45!important;
  }
}

/* =========================================================
   AJUSTE FINAL TIPOGRAFIA — UBICACION / RESULTADOS 3 KM
   ========================================================= */

/* Bajada "Usa la ubicación de tu teléfono..." — 2 px menos */
.nearbyMapSection .nearbyMapHead small{
  font-size:12px!important;
  line-height:1.4!important;
  font-weight:600!important;
}
@media(max-width:700px){
  .nearbyMapSection .nearbyMapHead small{
    font-size:11px!important;
    line-height:1.4!important;
  }
}

/* Texto de resultados debajo/al costado del mapa */
.nearbyMapSection .nearbyStatus{
  font-size:15px!important;
  line-height:1.45!important;
  font-weight:650!important;
}

.nearbyMapSection .nearbyStatus b{
  font-size:18px!important;
  line-height:1.25!important;
  font-weight:950!important;
}

.nearbyMapSection .nearbyStatus span{
  font-size:15px!important;
  line-height:1.45!important;
  font-weight:600!important;
}

@media(max-width:700px){
  .nearbyMapSection .nearbyStatus{
    font-size:14px!important;
    line-height:1.45!important;
  }
  .nearbyMapSection .nearbyStatus b{
    font-size:17px!important;
  }
  .nearbyMapSection .nearbyStatus span{
    font-size:14px!important;
  }
}

/* =========================================================
   PORTADA — 3 DESTACADOS / FOTO PROPORCION 500x300 (5:3)
   ========================================================= */
.homeFeaturedGrid{
  grid-column:1/-1!important;
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:12px!important;
  width:100%!important;
  margin:0 0 12px!important;
}
.homeFeaturedGrid .directoryCard{
  width:100%!important;
  max-width:100%!important;
  min-height:0!important;
  height:auto!important;
}
.homeFeaturedGrid .directoryPhoto{
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  aspect-ratio:5 / 3!important;
  overflow:hidden!important;
}
.homeFeaturedGrid .directoryPhoto .coverLayer{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  max-height:none!important;
  background-size:cover!important;
  background-position:center!important;
}
.homeFeaturedGrid .directoryBody{
  padding-top:8px!important;
  padding-bottom:9px!important;
}

/* En móvil siguen siendo 3 destacados, uno debajo del otro,
   conservando exactamente la proporción visual 5:3. */
@media(max-width:900px){
  .homeFeaturedGrid{
    grid-template-columns:1fr!important;
    gap:10px!important;
  }
  .homeFeaturedGrid .directoryPhoto{
    height:auto!important;
    aspect-ratio:5 / 3!important;
  }
}

/* =========================================================
   DESTACADOS PORTADA — PAGINACION INTERNA DE 3 EN 3
   ========================================================= */
.homeFeaturedPager{
  grid-column:1/-1;
  width:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  margin:2px 0 14px;
}
.homeFeaturedArrow{
  width:36px;
  height:36px;
  border-radius:50%;
  border:1px solid #3A4C55;
  background:#111D24;
  color:#FFD400;
  font-size:25px;
  line-height:1;
  display:grid;
  place-items:center;
  cursor:pointer;
}
.homeFeaturedDots{
  display:flex;
  align-items:center;
  gap:7px;
}
.homeFeaturedDot{
  width:8px;
  height:8px;
  padding:0;
  border:0;
  border-radius:50%;
  background:#586971;
  cursor:pointer;
}
.homeFeaturedDot.active{
  background:#FFD400;
  transform:scale(1.3);
}
.homeFeaturedPager>span{
  min-width:34px;
  text-align:center;
  color:#AFC0C8;
  font-size:10px;
  font-weight:900;
}
@media(max-width:700px){
  .homeFeaturedPager{
    margin-top:1px;
    margin-bottom:12px;
    gap:9px;
  }
  .homeFeaturedArrow{
    width:34px;
    height:34px;
    font-size:23px;
  }
}

/* ===== DESTACADOS: FLECHAS ACTIVAS ===== */
.homeFeaturedArrow{
  pointer-events:auto!important;
  cursor:pointer!important;
  position:relative!important;
  z-index:12!important;
}
.homeFeaturedDot{
  pointer-events:auto!important;
  cursor:pointer!important;
  position:relative!important;
  z-index:12!important;
}

/* ===== DESTACADOS: BLOQUE INDEPENDIENTE ===== */
.homeFeaturedBlock{
  grid-column:1/-1!important;
  width:100%!important;
  display:block!important;
  margin:0!important;
  padding:0!important;
}
#homeFeaturedPagerSlot{
  width:100%!important;
}

/* =========================================================
   LOCALES A MENOS DE 3 KM — COMPLETOS, CENTRADOS Y ADAPTATIVOS
   ========================================================= */

.nearbyMapSection .nearbyMapLayout{
  align-items:start!important;
}

.nearbyMapSection .nearbyResults{
  width:100%!important;
  max-width:100%!important;
  height:auto!important;
  max-height:none!important;
  overflow:visible!important;
  box-sizing:border-box!important;
  display:block!important;
  padding:10px!important;
}

.nearbyMapSection .nearbyList{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:10px!important;
  width:100%!important;
  max-width:100%!important;
  margin:0 auto!important;
  padding:0!important;
  box-sizing:border-box!important;
}

.nearbyMapSection .nearbyPlace{
  display:grid!important;
  grid-template-columns:86px minmax(0,1fr)!important;
  align-items:center!important;
  justify-content:center!important;
  gap:11px!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  height:auto!important;
  min-height:106px!important;
  margin:0 auto!important;
  padding:10px!important;
  overflow:visible!important;
  box-sizing:border-box!important;
}

.nearbyMapSection .nearbyPlacePhoto{
  width:86px!important;
  height:86px!important;
  min-width:86px!important;
  min-height:86px!important;
  max-width:86px!important;
  max-height:86px!important;
  margin:0!important;
  border-radius:10px!important;
  background-size:cover!important;
  background-position:center!important;
}

.nearbyMapSection .nearbyPlace>div{
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  overflow:visible!important;
  box-sizing:border-box!important;
}

.nearbyMapSection .nearbyPlace>div>b,
.nearbyMapSection .nearbyPlace small{
  max-width:100%!important;
  overflow-wrap:anywhere!important;
  word-break:normal!important;
}

.nearbyMapSection .nearbyPlaceActions{
  display:flex!important;
  flex-wrap:wrap!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:7px!important;
  width:100%!important;
  max-width:100%!important;
}

.nearbyMapSection .nearbyPlaceActions a{
  flex:0 1 auto!important;
  max-width:100%!important;
  box-sizing:border-box!important;
}

/* Tablet/móvil: la tarjeta se centra y usa todo el ancho disponible */
@media(max-width:900px){
  .nearbyMapSection .nearbyMapLayout{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
  }

  .nearbyMapSection .nearbyResults{
    width:100%!important;
    max-width:100%!important;
    margin:10px auto 0!important;
  }

  .nearbyMapSection .nearbyList{
    width:100%!important;
    max-width:720px!important;
    margin:0 auto!important;
  }

  .nearbyMapSection .nearbyPlace{
    width:100%!important;
    max-width:720px!important;
    margin:0 auto!important;
  }
}

/* Celular */
@media(max-width:700px){
  .nearbyMapSection .nearbyResults{
    padding:9px!important;
  }

  .nearbyMapSection .nearbyList{
    gap:9px!important;
    max-width:100%!important;
  }

  .nearbyMapSection .nearbyPlace{
    grid-template-columns:72px minmax(0,1fr)!important;
    gap:9px!important;
    min-height:94px!important;
    padding:9px!important;
    border-radius:11px!important;
  }

  .nearbyMapSection .nearbyPlacePhoto{
    width:72px!important;
    height:72px!important;
    min-width:72px!important;
    min-height:72px!important;
    max-width:72px!important;
    max-height:72px!important;
  }

  .nearbyMapSection .nearbyPlaceActions{
    gap:6px!important;
  }

  .nearbyMapSection .nearbyPlaceActions a{
    min-height:30px!important;
    padding:0 8px!important;
  }
}

/* Pantallas angostas: evitar cualquier corte lateral */
@media(max-width:430px){
  .nearbyMapSection .nearbyResults{
    padding:8px!important;
  }

  .nearbyMapSection .nearbyPlace{
    grid-template-columns:64px minmax(0,1fr)!important;
    gap:8px!important;
    min-height:88px!important;
    padding:8px!important;
  }

  .nearbyMapSection .nearbyPlacePhoto{
    width:64px!important;
    height:64px!important;
    min-width:64px!important;
    min-height:64px!important;
    max-width:64px!important;
    max-height:64px!important;
  }

  .nearbyMapSection .nearbyPlaceActions a{
    font-size:9px!important;
    padding:0 7px!important;
  }
}

/* =========================================================
   MAPA + LOCALES CERCA DE MI — WEB PAREJO
   SOLO ESCRITORIO. MOVIL SE CONSERVA.
   ========================================================= */
@media(min-width:901px){
  .nearbyMapSection .nearbyMapLayout{
    display:grid!important;
    grid-template-columns:minmax(0,1.7fr) minmax(360px,.8fr)!important;
    gap:14px!important;
    align-items:stretch!important;
  }

  .nearbyMapSection .nearbyMapCanvas{
    height:auto!important;
    min-height:100%!important;
    align-self:stretch!important;
    position:relative!important;
  }

  .nearbyMapSection #nearbyMap{
    height:100%!important;
    min-height:100%!important;
  }

  .nearbyMapSection .nearbyResults{
    height:auto!important;
    max-height:none!important;
    align-self:stretch!important;
    overflow:visible!important;
  }

  /* Leaflet debe ocupar todo el alto asignado al bloque */
  .nearbyMapSection .nearbyMapCanvas .leaflet-container{
    position:absolute!important;
    inset:0!important;
    width:100%!important;
    height:100%!important;
  }
}

/* =========================================================
   WEB — BOTON USAR MI UBICACION DEL MISMO ANCHO QUE CAJA DERECHA
   MOVIL SE CONSERVA SIN CAMBIOS
   ========================================================= */
@media(min-width:901px){
  .nearbyMapSection .nearbyMapHead{
    display:grid!important;
    grid-template-columns:minmax(0,1.7fr) minmax(360px,.8fr)!important;
    gap:14px!important;
    align-items:center!important;
  }

  .nearbyMapSection .nearbyMapHead>div{
    min-width:0!important;
  }

  .nearbyMapSection #nearbyLocateBtn{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    min-height:48px!important;
    margin:0!important;
    justify-self:stretch!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    box-sizing:border-box!important;
    border-radius:12px!important;
    padding:0 16px!important;
    font-size:11px!important;
    font-weight:950!important;
    white-space:nowrap!important;
  }
}


/* ===== TICKER INSCRIPCION ACONCAGUA SABROSO ===== */
.sabrosoTicker{
  display:flex;align-items:stretch;width:100%;min-height:36px;overflow:hidden;
  background:#090909;color:#fff;text-decoration:none;border-top:1px solid rgba(255,255,255,.08);
  border-bottom:1px solid rgba(0,0,0,.14);font-family:inherit;position:relative;z-index:20;
}
.sabrosoTickerLabel{
  flex:0 0 auto;display:flex;align-items:center;padding:0 16px;background:#f7c400;color:#111;
  font-size:11px;font-weight:1000;letter-spacing:.35px;white-space:nowrap;position:relative;z-index:2;
}
.sabrosoTickerLabel::after{
  content:'';position:absolute;right:-9px;top:0;border-top:18px solid transparent;border-bottom:18px solid transparent;border-left:9px solid #f7c400;
}
.sabrosoTickerViewport{display:flex;align-items:center;overflow:hidden;flex:1;min-width:0;padding-left:18px;}
.sabrosoTickerTrack{
  display:flex;align-items:center;width:max-content;white-space:nowrap;will-change:transform;
  animation:sabrosoTickerMove 24s linear infinite;font-size:12px;font-weight:800;letter-spacing:.1px;
}
.sabrosoTickerTrack>span{display:inline-block;padding-right:70px;}
.sabrosoTicker:hover .sabrosoTickerTrack{animation-play-state:paused;}
@keyframes sabrosoTickerMove{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media(max-width:700px){
  .sabrosoTicker{min-height:31px}
  .sabrosoTickerLabel{padding:0 10px;font-size:8px;letter-spacing:.15px}
  .sabrosoTickerLabel::after{right:-7px;border-top-width:15.5px;border-bottom-width:15.5px;border-left-width:7px}
  .sabrosoTickerViewport{padding-left:13px}
  .sabrosoTickerTrack{font-size:9px;animation-duration:20s}
  .sabrosoTickerTrack>span{padding-right:48px}
}
@media(prefers-reduced-motion:reduce){.sabrosoTickerTrack{animation:none}}

/* ===== FICHA LOCAL: MISMAS FOTOS PRINCIPALES CON CROSSFADE ===== */
.heroPhotoCarousel{background-image:none!important;position:relative!important;overflow:hidden!important;}
.heroPhotoCarousel .heroCoverLayer{
  position:absolute;inset:0;display:block;background-size:cover;background-position:center;background-repeat:no-repeat;
  opacity:0;transition:opacity .85s ease-in-out;will-change:opacity;pointer-events:none;z-index:0;
}
.heroPhotoCarousel .heroCoverLayer.isVisible{opacity:1;}
.heroPhotoCarousel> :not(.heroCoverLayer){position:relative;z-index:2;}


/* ===== SEGUNDO CARRUSEL ABIERTOS AHORA BAJO LAS 10 COMUNAS ===== */
.openCarouselSectionBottom{
  margin:24px 0 4px;
  border-radius:18px;
  background:#7A1228;
  border:1px solid #951D38;
  box-shadow:0 10px 28px rgba(0,0,0,.08);
}
.openCarouselSectionBottom .openCarouselHead small{color:#F3C7D0}
.openCarouselSectionBottom .openCarouselCard{
  background:#FFFFFF;
  border-color:#F0DDE2;
  color:#1B1B1B;
}
.openCarouselSectionBottom .openCarouselCard:hover{background:#FFF8FA;border-color:#E7B9C4}
.openCarouselSectionBottom .openCarouselBody small{color:#6B6B6B}
.openCarouselSectionBottom .openCarouselControls button{background:#FFFFFF;color:#7A1228;border-color:#E7B9C4}
.openCarouselSectionBottom .openCarouselControls button:hover{background:#FBEFF2;border-color:#FFFFFF}
@media(max-width:700px){
  .openCarouselSectionBottom{margin:18px 0 2px;border-radius:14px;padding-left:12px;padding-right:12px}
}


/* ===== FIX FINAL 14-08: ABIERTOS SIN TARJETAS CORTADAS ===== */
.openCarouselViewport{
  width:100%;
  overflow:hidden!important;
}
.openCarouselTrack{
  display:flex!important;
  gap:10px!important;
  overflow-x:auto!important;
  scroll-snap-type:x mandatory;
  scrollbar-width:none;
}
.openCarouselTrack::-webkit-scrollbar{display:none}
.openCarouselCard{
  box-sizing:border-box!important;
  flex:0 0 calc((100% - 30px)/4)!important;
  min-width:0!important;
  scroll-snap-align:start;
}
@media(max-width:1000px){
  .openCarouselCard{
    flex-basis:calc((100% - 10px)/2)!important;
  }
}
@media(max-width:700px){
  .openCarouselSection{padding:14px 12px!important}
  .openCarouselCard{
    flex:0 0 100%!important;
    width:100%!important;
    max-width:100%!important;
  }
}

/* ===== SEGUNDO ABIERTOS: DIRECTAMENTE ANTES DEL FOOTER ===== */
.footerOpenCarousel{
  margin:0!important;
  border-radius:0!important;
  clear:both!important;
  position:relative!important;
  z-index:1!important;
  background:#7A1228!important;
  border-left:0!important;
  border-right:0!important;
  border-top:1px solid #951D38!important;
  border-bottom:1px solid #951D38!important;
}
.footerOpenCarousel .openCarouselHead small{color:#F3C7D0!important}
.footerOpenCarousel .openCarouselCard{
  background:#fff!important;
  border-color:#F0DDE2!important;
  color:#1B1B1B!important;
}
.footerOpenCarousel .openCarouselBody small{color:#6B6B6B!important}
.footerOpenCarousel .openCarouselControls button{
  background:#fff!important;color:#7A1228!important;border-color:#E7B9C4!important;
}

/* Las comunas vuelven a su flujo normal: el carrusel ya no vive en esta zona. */
.communesSection{
  position:static!important;
  z-index:auto!important;
  overflow:visible!important;
  clear:both!important;
}

/* ===== FIX DEFINITIVO 14-08: ABIERTOS AHORA RESPONSIVE SIN CORTES ===== */
.openCarouselViewport{
  width:100%!important;
  max-width:1380px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  overflow:hidden!important;
  min-width:0!important;
}
.openCarouselTrack{
  width:100%!important;
  min-width:0!important;
  box-sizing:border-box!important;
  display:flex!important;
  align-items:stretch!important;
  gap:10px!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  scroll-behavior:smooth!important;
  scroll-snap-type:x mandatory!important;
  overscroll-behavior-x:contain!important;
  -webkit-overflow-scrolling:touch!important;
  padding:0!important;
  margin:0!important;
}
.openCarouselCard{
  box-sizing:border-box!important;
  min-width:0!important;
  max-width:none!important;
  scroll-snap-align:start!important;
  scroll-snap-stop:always!important;
}
@media(min-width:1001px){
  .openCarouselCard{flex:0 0 calc((100% - 30px)/4)!important;width:calc((100% - 30px)/4)!important;}
}
@media(min-width:701px) and (max-width:1000px){
  .openCarouselCard{flex:0 0 calc((100% - 10px)/2)!important;width:calc((100% - 10px)/2)!important;}
}
@media(max-width:700px){
  .openCarouselSection{
    box-sizing:border-box!important;
    width:100%!important;
    max-width:100%!important;
    padding:14px 12px 15px!important;
    overflow:hidden!important;
  }
  .openCarouselViewport{width:100%!important;max-width:100%!important;overflow:hidden!important;}
  .openCarouselTrack{
    gap:0!important;
    width:100%!important;
    max-width:100%!important;
    scroll-padding:0!important;
  }
  .openCarouselCard{
    flex:0 0 100%!important;
    width:100%!important;
    min-width:100%!important;
    max-width:100%!important;
    margin:0!important;
  }
}

/* ===== ABIERTOS AHORA DEL CIERRE: MISMA FUNCIÓN, OTRA IDENTIDAD ===== */
.footerOpenCarousel{
  position:relative!important;
  isolation:isolate!important;
  overflow:hidden!important;
  background:
    radial-gradient(circle at 12% 30%,rgba(255,255,255,.10) 0 3px,transparent 4px),
    radial-gradient(circle at 88% 70%,rgba(255,255,255,.08) 0 4px,transparent 5px),
    linear-gradient(135deg,#8C1831 0%,#B32645 55%,#791327 100%)!important;
  background-size:54px 54px,72px 72px,auto!important;
  padding-top:20px!important;
  padding-bottom:22px!important;
  border-top:0!important;
  border-bottom:0!important;
}
.footerOpenCarousel:before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  pointer-events:none;
  background:linear-gradient(90deg,rgba(255,255,255,.04),transparent 35%,rgba(0,0,0,.08));
}
.footerOpenCarousel .openCarouselHead b{color:#fff!important;}
.footerOpenCarousel .openCarouselDot{background:#FFE36A!important;box-shadow:0 0 0 4px rgba(255,227,106,.18)!important;}
.footerOpenCarousel .openCarouselCard{
  background:#fff!important;
  color:#191919!important;
  border-color:rgba(255,255,255,.55)!important;
  box-shadow:0 7px 18px rgba(52,0,12,.16)!important;
}
.footerOpenCarousel .openCarouselBody b{color:#191919!important;}
.footerOpenCarousel .openCarouselBody small{color:#6D6D6D!important;}
.footerOpenCarousel .openCarouselBody span{color:#118341!important;}
@media(max-width:700px){
  .footerOpenCarousel{padding:16px 12px 18px!important;}
}


/* RESTAURACION FUNCIONAL: filtros de distancia + pulso verde Abiertos ahora */
.nearbyLocationControls{display:flex!important;align-items:center!important;gap:10px!important;flex-wrap:wrap!important;justify-content:flex-end!important}
.nearbyRadius{display:flex!important;align-items:center!important;gap:7px!important;flex-wrap:wrap!important}
.nearbyRadiusBtn{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:5px!important;min-height:34px!important;padding:7px 10px!important;background:#142630!important;border:1px solid #3b515d!important;color:#fff!important;border-radius:999px!important;font-size:9px!important;font-weight:950!important;white-space:nowrap!important}
.nearbyRadiusBtn.active{background:#ffd400!important;border-color:#ffd400!important;color:#111!important}
#nearbyLocateBtn.isLocationActive{background:#159447!important;border-color:#159447!important;box-shadow:0 0 0 3px rgba(21,148,71,.18)!important}
.nearbyResultsHead{display:flex!important;align-items:flex-start!important;justify-content:space-between!important;gap:8px!important}
.nearbyRefreshBtn{border:1px solid #405866!important;background:#1b313d!important;color:#fff!important;border-radius:8px!important;padding:7px 8px!important;font-size:8px!important;font-weight:950!important;white-space:nowrap!important;cursor:pointer!important}
.nearbyRefreshBtn:disabled{opacity:.45!important;cursor:default!important}
.openCarouselCard{position:relative!important}.openCarouselBody{position:relative!important}
.openCarouselCard .openCardLivePulse{position:absolute!important;top:9px!important;right:9px!important;width:12px!important;height:12px!important;border-radius:50%!important;background:#8cff00!important;box-shadow:0 0 0 3px rgba(140,255,0,.16),0 0 10px rgba(140,255,0,.92)!important;animation:sabrosoOpenPulseRestored 1.25s ease-in-out infinite!important;z-index:8!important}
@keyframes sabrosoOpenPulseRestored{0%,100%{opacity:.55;transform:scale(.88)}50%{opacity:1;transform:scale(1.18)}}
.openCarouselName{display:block!important}.openCarouselCommune{display:block!important}
.openCarouselMetaRow{display:flex!important;align-items:center!important;gap:8px!important;flex-wrap:wrap!important;margin-top:5px!important}
.openCarouselOpenState{font-size:8px!important;font-weight:950!important;color:#159447!important}
.openCarouselDistance{display:inline-flex!important;align-items:center!important;gap:4px!important;color:#687a83!important;font-size:8px!important;font-weight:900!important}.openCarouselDistance em{font-style:normal!important}
@media(max-width:700px){.nearbyMapHead{align-items:flex-start!important}.nearbyLocationControls{width:100%!important;justify-content:flex-start!important}.nearbyRadius{width:100%!important;display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:5px!important}.nearbyRadiusBtn{min-width:0!important;padding:7px 3px!important}.nearbyRadiusBtn .nearbyRadiusIcon,.nearbyRadiusBtn .siteSvgIcon{display:none!important}.nearbyResultsHead{display:block!important}.nearbyRefreshBtn{width:calc(100% - 10px)!important;margin:4px 5px 8px!important}.openCarouselCard .openCardLivePulse{width:10px!important;height:10px!important;top:8px!important;right:8px!important}}


/* ===== FICHA LOCAL — ACCIONES + HORARIOS FINAL LIMPIO ===== */
.detailLocalLogo{
  background:#fff!important;
  border:3px solid #fff!important;
  box-shadow:0 6px 18px rgba(0,0,0,.22)!important;
}
.detailLocalLogo img{background:#fff!important;object-fit:contain!important}

.detailQuickActions{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  margin:16px 0 18px;
}
.detailQuickAction{
  min-height:72px;
  border-radius:14px;
  padding:11px 10px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:7px;
  text-decoration:none;
  border:1px solid transparent;
  font-size:11px;
  font-weight:950;
  line-height:1.15;
  text-align:center;
  cursor:pointer;
  box-sizing:border-box;
}
.detailQuickAction .siteSvgIcon,
.detailQuickAction .favoriteHeartSvg{
  width:23px!important;height:23px!important;
  display:grid!important;place-items:center!important;
  color:currentColor!important;
}
.detailQuickAction .siteSvgIcon svg,
.detailQuickAction .favoriteHeartSvg svg{
  width:100%!important;height:100%!important;
  fill:none!important;stroke:currentColor!important;
}
.detailQuickAction.wa{background:#EAF9EF;color:#168348;border-color:#BDE8CC}
.detailQuickAction.route{background:#EAF3FF;color:#246BD6;border-color:#C8DCF7}
.detailQuickAction.insta{background:#FFF0F6;color:#C13584;border-color:#F1C9DE}
.detailQuickAction.favorite{background:#FFF0F1;color:#D71932;border-color:#F2C5CB}
.detailQuickAction.favorite.active{background:#D71932;color:#fff;border-color:#D71932}
.detailQuickAction.share{background:#F1EEFF;color:#6843C4;border-color:#D8CEF8}
.detailQuickAction.schedule{background:#FFF8D7;color:#755D00;border-color:#F0DF8A}
.detailQuickAction.menu{background:#FFF4DE;color:#9A6400;border-color:#EBCB8B}
.detailQuickAction:hover{transform:translateY(-1px)}

.detailScheduleSection{
  margin:22px 0 24px;
  padding:18px;
  border-radius:18px;
  background:#101B22;
  border:1px solid #2A3C46;
  box-shadow:0 10px 26px rgba(0,0,0,.13);
  scroll-margin-top:95px;
}
.detailScheduleHead{display:flex;align-items:flex-start;gap:12px;margin-bottom:14px}
.detailScheduleHeadIcon{
  display:grid;place-items:center;flex:0 0 42px;width:42px;height:42px;
  border-radius:12px;background:#FFD400;color:#111;
}
.detailScheduleClock{width:22px!important;height:22px!important;color:#111!important}
.detailScheduleClock svg{width:100%!important;height:100%!important;fill:none!important;stroke:currentColor!important;stroke-width:2!important}
.detailScheduleHead h2{margin:0 0 4px;font-size:20px;line-height:1.1;color:#fff}
.detailScheduleNow{margin:0;font-size:12px;font-weight:900}
.detailScheduleNow.isOpen{color:#72E49A}.detailScheduleNow.isClosed{color:#FF8E8E}
.detailScheduleGrid{display:grid;gap:7px}
.detailScheduleRow{
  display:flex;align-items:center;justify-content:space-between;gap:16px;
  min-height:43px;padding:9px 12px;border:1px solid #30444F;border-radius:11px;
  background:#17252D;color:#DDE7EB;box-sizing:border-box;
}
.detailScheduleRow.isToday{
  background:#21343D;border-color:#FFD400;
  box-shadow:inset 4px 0 0 #FFD400;
}
.detailScheduleDay{display:flex;align-items:center;gap:7px;font-weight:900;color:#fff;font-size:13px}
.detailScheduleDay small{font-size:8px;letter-spacing:.6px;padding:3px 6px;border-radius:999px;background:#FFD400;color:#111;font-weight:950}
.detailScheduleHours{font-size:13px;font-weight:850;text-align:right;color:#E8EEF1}
.scheduleClosedText{color:#FF8E8E;font-weight:950}

/* Los servicios del local quedan visibles y rotulados */
.localServices{margin:14px 0 6px}
.localServiceIcons{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px!important}
.localServiceIcon{
  width:auto!important;height:auto!important;min-height:64px!important;
  border-radius:13px!important;padding:9px 6px!important;
  display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:5px!important;
  background:#F7F9FA!important;border:1px solid #DFE6E9!important;color:#263640!important;
}
.localServiceIcon:nth-child(4n+1){background:#FFF8D9!important;border-color:#F1E3A3!important}
.localServiceIcon:nth-child(4n+2){background:#EDF7FF!important;border-color:#CDE6F7!important}
.localServiceIcon:nth-child(4n+3){background:#F2F9EF!important;border-color:#D3E8C9!important}
.localServiceIcon:nth-child(4n+4){background:#FFF0F4!important;border-color:#F2D1DB!important}
.localServiceIcon .publicServiceSvg{width:22px!important;height:22px!important;color:#B7042C!important}
.localServiceIcon:after{content:attr(data-label);font-size:8px;line-height:1.1;font-weight:900;text-align:center;color:#42545E}

@media(max-width:700px){
  .detailQuickActions{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:13px 0 16px}
  .detailQuickAction{min-height:66px;border-radius:12px;font-size:10px;padding:9px 7px}
  .detailQuickAction .siteSvgIcon,.detailQuickAction .favoriteHeartSvg{width:21px!important;height:21px!important}
  .detailScheduleSection{margin:18px 0 20px;padding:13px;border-radius:15px}
  .detailScheduleHeadIcon{flex-basis:38px;width:38px;height:38px;border-radius:10px}
  .detailScheduleHead h2{font-size:18px}
  .detailScheduleNow{font-size:11px}
  .detailScheduleGrid{gap:6px}
  .detailScheduleRow{padding:8px 10px;gap:8px;min-height:40px}
  .detailScheduleDay,.detailScheduleHours{font-size:12px}
  .localServiceIcons{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .localServiceIcon{min-height:60px!important}
}


/* ===== AJUSTE VISUAL 14-08: SERVICIOS LIMPIOS + ACCIONES DE MARCA + PULSO ABAJO ===== */
/* Servicios: iconos sueltos, sin tarjetas/burbujas */
.localServices{margin:14px 0 10px!important}
.localServiceIcons{
  display:flex!important;
  flex-wrap:wrap!important;
  align-items:flex-start!important;
  gap:16px 20px!important;
}
.localServiceIcon{
  width:auto!important;height:auto!important;min-height:0!important;
  padding:0!important;margin:0!important;
  border:0!important;border-radius:0!important;
  background:transparent!important;box-shadow:none!important;
  display:inline-flex!important;flex-direction:column!important;
  align-items:center!important;justify-content:flex-start!important;gap:5px!important;
  color:#263640!important;
}
.localServiceIcon:nth-child(n){background:transparent!important;border:0!important}
.localServiceIcon .publicServiceSvg{
  width:27px!important;height:27px!important;
  color:#B7042C!important;
}
.localServiceIcon:after{
  content:attr(data-label)!important;
  max-width:78px!important;
  font-size:8px!important;line-height:1.05!important;font-weight:900!important;
  color:#42545E!important;text-align:center!important;
}

/* Acciones: fondos de marca, iconos y textos blancos */
.detailQuickAction{color:#fff!important;border:0!important;box-shadow:0 6px 14px rgba(0,0,0,.10)!important}
.detailQuickAction .siteSvgIcon,.detailQuickAction .favoriteHeartSvg{color:#fff!important}
.detailQuickAction .siteSvgIcon svg,.detailQuickAction .favoriteHeartSvg svg{stroke:#fff!important}
.detailQuickAction.wa{background:#25D366!important;color:#fff!important}
.detailQuickAction.route{background:#4285F4!important;color:#fff!important}
.detailQuickAction.insta{background:linear-gradient(135deg,#833AB4 0%,#C13584 42%,#E1306C 68%,#F77737 100%)!important;color:#fff!important}
.detailQuickAction.favorite{background:#E31B23!important;color:#fff!important}
.detailQuickAction.favorite.active{background:#A90E18!important;color:#fff!important;box-shadow:0 0 0 3px rgba(227,27,35,.18),0 6px 14px rgba(0,0,0,.12)!important}
.detailQuickAction.share{background:#6F42C1!important;color:#fff!important}
.detailQuickAction.schedule{background:#E3A700!important;color:#fff!important}
.detailQuickAction.menu{background:#D97706!important;color:#fff!important}
.detailQuickAction:hover{filter:brightness(.97)!important}

/* Punto verde de locales abiertos: esquina inferior derecha real de la tarjeta */
.openCarouselCard{position:relative!important}
.openCarouselCard .openCardLivePulse{
  position:absolute!important;
  top:auto!important;left:auto!important;
  right:12px!important;bottom:12px!important;
  width:13px!important;height:13px!important;
  border:2px solid #fff!important;border-radius:50%!important;
  background:#35E56D!important;
  box-shadow:0 0 0 4px rgba(53,229,109,.17),0 0 13px rgba(53,229,109,.85)!important;
  animation:sabrosoOpenPulseBottom 1.18s ease-in-out infinite!important;
  z-index:12!important;
}
@keyframes sabrosoOpenPulseBottom{0%,100%{opacity:.65;transform:scale(.88)}50%{opacity:1;transform:scale(1.15)}}
@media(max-width:700px){
  .localServiceIcons{gap:14px 18px!important}
  .localServiceIcon .publicServiceSvg{width:25px!important;height:25px!important}
  .openCarouselCard .openCardLivePulse{right:10px!important;bottom:10px!important;width:12px!important;height:12px!important}
}


/* ===== PORTADA: FILTROS DE DISTANCIA PAREJOS + TIPOGRAFIA LEGIBLE ===== */
.nearbyLocationControls{
  display:grid!important;
  grid-template-columns:minmax(280px,420px)!important;
  justify-items:stretch!important;
  align-items:stretch!important;
  gap:8px!important;
}
#nearbyLocateBtn{width:100%!important;min-height:42px!important}
.nearbyRadius{
  width:100%!important;
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:7px!important;
}
.nearbyRadiusBtn{
  width:100%!important;
  min-width:0!important;
  min-height:38px!important;
  padding:7px 4px!important;
  font-size:10px!important;
}

/* Categorias y comunas: lectura mas clara */
.categoryHeader b{font-size:19px!important;line-height:1.15!important}
.categoryHeader small{font-size:13px!important;line-height:1.35!important}
.categoriesPrimary .cat{font-size:15px!important;font-weight:850!important;padding:10px 14px!important}
.filterHeader b{font-size:18px!important;line-height:1.15!important}
.filterHeader small{font-size:13px!important;line-height:1.35!important}
.communeChip{font-size:13px!important;padding:10px 13px!important}
.catGrid{font-size:13px!important}
.communeGrid{font-size:12px!important}

@media(max-width:700px){
  .nearbyLocationControls{width:100%!important;grid-template-columns:1fr!important;gap:7px!important}
  #nearbyLocateBtn{width:100%!important;min-height:44px!important}
  .nearbyRadius{width:100%!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:6px!important}
  .nearbyRadiusBtn{min-height:40px!important;padding:7px 2px!important;font-size:10px!important}
  .categoryHeader b{font-size:18px!important}
  .categoryHeader small{font-size:12px!important}
  .categoriesPrimary .cat{font-size:14px!important;padding:10px 12px!important}
  .filterHeader b{font-size:17px!important}
  .filterHeader small{font-size:12px!important}
  .communeChip{font-size:13px!important;padding:10px 12px!important}
  .catGrid{font-size:13px!important}
  .communeGrid{font-size:12px!important}
}

/* ===== FIX FINAL ESCRITORIO: CAMBIAR LOCALES SIEMPRE DENTRO DEL PANEL ===== */
.nearbyMapSection .nearbyResultsHead{
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  gap:8px!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  box-sizing:border-box!important;
  align-items:stretch!important;
}
.nearbyMapSection .nearbyStatus{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  box-sizing:border-box!important;
  overflow-wrap:anywhere!important;
}
.nearbyMapSection .nearbyRefreshBtn{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  margin:0!important;
  box-sizing:border-box!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
@media(max-width:700px){
  .nearbyMapSection .nearbyRefreshBtn{
    width:100%!important;
    margin:0!important;
  }
}
\n\n/* ===== FRANJA INSCRIPCION - reemplaza ticker ===== */
.sabrosoTicker{display:none!important}
.sabrosoJoinBand{
  width:100%;box-sizing:border-box;display:flex;align-items:center;justify-content:space-between;gap:24px;
  padding:14px clamp(18px,4vw,52px);background:#c81722;color:#fff;text-decoration:none;overflow:hidden;
  border-bottom:4px solid #ffd21a;box-shadow:0 7px 20px rgba(91,0,7,.16);position:relative;isolation:isolate
}
.sabrosoJoinBand:before{content:"";position:absolute;inset:0;z-index:-1;opacity:.12;background:repeating-linear-gradient(120deg,transparent 0 22px,#fff 22px 23px)}
.sabrosoJoinCopy{display:flex;flex-direction:column;gap:3px;min-width:0;line-height:1.05}
.sabrosoJoinCopy strong{font-size:clamp(15px,1.5vw,22px);font-weight:950;letter-spacing:.2px}
.sabrosoJoinCopy span{font-size:clamp(11px,1vw,14px);font-weight:750}
.sabrosoJoinCopy span b{color:#ffd21a;font-weight:950}
.sabrosoJoinCopy em{font-style:normal;opacity:.92}
.sabrosoJoinButton{flex:0 0 auto;background:#ffd21a;color:#4b0a0d;border-radius:999px;padding:11px 17px;font-size:12px;font-weight:950;letter-spacing:.15px;box-shadow:0 5px 12px rgba(0,0,0,.14);white-space:nowrap}
.sabrosoJoinButton b{font-size:17px;margin-left:5px;vertical-align:-1px}
.sabrosoJoinBand:hover .sabrosoJoinButton{transform:translateX(2px)}
@media(max-width:680px){
 .sabrosoJoinBand{padding:11px 13px;gap:10px;border-bottom-width:3px}
 .sabrosoJoinCopy{gap:2px}
 .sabrosoJoinCopy strong{font-size:13px}
 .sabrosoJoinCopy span{font-size:9.5px;line-height:1.2}
 .sabrosoJoinCopy em{display:none}
 .sabrosoJoinButton{padding:9px 10px;font-size:9px}
 .sabrosoJoinButton b{font-size:13px;margin-left:2px}
}

/* ===== INSCRIBE TU LOCAL — MISMO FORMATO VISUAL QUE INSTALA APP ===== */
.sabrosoJoinBand{display:none!important}
.joinLocalBar[hidden]{display:none!important}
.joinLocalBar{
  max-width:1380px;
  margin:10px auto 0;
  padding:10px 12px;
  display:flex;
  align-items:center;
  gap:10px;
  background:#B7042C;
  border:1px solid #D93457;
  border-radius:12px;
  color:#fff;
  box-sizing:border-box;
  position:relative;
}
.joinLocalIcon{
  width:42px;height:42px;object-fit:cover;border-radius:9px;flex:0 0 42px;
  background:#fff;border:1px solid rgba(255,255,255,.26)
}
.joinLocalCopy{min-width:0;flex:1}
.joinLocalCopy b{display:block;font-size:11px;font-weight:950;line-height:1.15;color:#fff}
.joinLocalCopy span{display:block;margin-top:3px;font-size:9px;color:#FFE4E9;line-height:1.3}
.joinLocalButton{
  border:0;border-radius:9px;padding:10px 12px;background:#FFD400;color:#111;
  text-decoration:none;font-size:9px;font-weight:950;white-space:nowrap;cursor:pointer
}
.joinLocalClose{
  width:28px;height:28px;display:grid;place-items:center;border:0;background:transparent;
  color:#FFD4DD;font-size:21px;cursor:pointer;padding:0
}
.joinLocalClose:hover{color:#fff}
@media(max-width:700px){
  .joinLocalBar{margin:8px 9px 0;padding:9px;gap:8px}
  .joinLocalIcon{width:38px;height:38px;flex-basis:38px}
  .joinLocalCopy b{font-size:10px}.joinLocalCopy span{font-size:8px}
  .joinLocalButton{padding:9px 10px;font-size:8px}
  .joinLocalClose{width:24px;height:24px;font-size:19px}
}
@media(max-width:430px){
  .joinLocalCopy span{display:none}
  .joinLocalButton{padding:9px 8px}
}



/* ===== Buscador inteligente ===== */
.topSearchStrip{position:relative;overflow:visible}
.topSearchField{position:relative}
.topSearchField input{padding-right:46px}
.searchClear{position:absolute;right:10px;top:50%;transform:translateY(-50%);width:30px;height:30px;border:0;border-radius:50%;background:#ececec;color:#333;font-size:23px;line-height:28px;font-weight:700;cursor:pointer;z-index:12}
.searchClear[hidden]{display:none!important}
.searchSuggestions{position:absolute;left:0;right:0;top:calc(100% + 7px);background:#fff;border:1px solid #ddd;border-radius:14px;box-shadow:0 16px 40px rgba(0,0,0,.18);z-index:1000;max-height:420px;overflow:auto}
.searchSuggestions[hidden]{display:none!important}
.smartSearchRow{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;text-decoration:none;color:#171717;border-bottom:1px solid #eee}
.smartSearchRow:last-child{border-bottom:0}
.smartSearchRow:hover{background:#f7f7f7}
.smartSearchMain{display:flex;flex-direction:column;min-width:0}
.smartSearchMain b{font-size:16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.smartSearchMain small{font-size:13px;color:#666;margin-top:3px}
.smartSearchMeta{display:flex;align-items:flex-end;flex-direction:column;gap:4px;flex:0 0 auto}
.smartSearchMeta strong{font-size:11px;font-weight:900;border-radius:999px;padding:4px 8px;color:#fff}
.smartOpen{background:#169447}.smartClosed{background:#777}
.smartDistance{font-size:12px;font-weight:800;color:#555}
.smartSearchEmpty{padding:18px;font-size:14px;color:#666;text-align:center}
@media(max-width:700px){
  .smartSearchRow{padding:11px 12px}
 .smartSearchMain b{font-size:15px}
 .smartSearchMeta strong{font-size:10px}
}

/* ===== Contador de actualización Abiertos ahora ===== */
.openRefreshControl{
  display:inline-flex!important;
  align-items:center;
  justify-content:center;
  gap:3px;
  min-width:64px;
  height:38px;
  padding:0 10px;
  border:0;
  border-radius:999px;
  background:#ffd51f;
  color:#24170c;
  font-weight:900;
  cursor:pointer;
  box-shadow:0 4px 12px rgba(0,0,0,.14);
  line-height:1;
}
.openRefreshIcon{
  display:inline-block;
  font-size:20px;
  font-weight:900;
  transform-origin:center;
}
.openRefreshSeconds{font-size:14px;min-width:18px;text-align:right}
.openRefreshUnit{font-size:11px;font-weight:900;margin-left:0}
.openRefreshControl:hover{filter:brightness(.96);transform:translateY(-1px)}
.openRefreshControl.isRefreshing .openRefreshIcon{animation:openRefreshSpin .8s linear infinite}
@keyframes openRefreshSpin{to{transform:rotate(360deg)}}
@media(max-width:700px){
  .openRefreshControl{min-width:58px;height:36px;padding:0 8px}
  .openRefreshIcon{font-size:19px}
  .openRefreshSeconds{font-size:13px}
}

/* ===== Refresh 60s minimal: sin óvalo ===== */
.openRefreshControl{
  min-width:0!important;
  width:auto!important;
  height:auto!important;
  padding:2px 4px!important;
  gap:2px!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  color:#ffd51f!important;
  transform:none!important;
}
.openRefreshControl:hover{
  background:transparent!important;
  box-shadow:none!important;
  transform:none!important;
  filter:brightness(1.08);
}
.openRefreshIcon{
  font-size:16px!important;
  line-height:1!important;
  font-weight:800!important;
}
.openRefreshSeconds{
  min-width:15px!important;
  font-size:11px!important;
  line-height:1!important;
  font-weight:800!important;
  text-align:right;
}
.openRefreshUnit{
  font-size:9px!important;
  line-height:1!important;
  font-weight:800!important;
  opacity:.85;
}
@media(max-width:700px){
  .openRefreshControl{min-width:0!important;width:auto!important;height:auto!important;padding:2px 3px!important}
  .openRefreshIcon{font-size:15px!important}
  .openRefreshSeconds{font-size:10px!important;min-width:14px!important}
  .openRefreshUnit{font-size:8px!important}
}

/* ===== Inscripción verificada / cabecera actual ===== */
.signupTopbar{
  min-height:84px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:12px max(18px,calc((100% - 1180px)/2));
}
.signupBrandLink{display:flex;align-items:center;text-decoration:none;min-width:0}
.signupBrandLogo{display:block;width:min(390px,62vw);height:auto;max-height:62px;object-fit:contain;object-position:left center}
.signupTopHome{
  flex:0 0 auto;
  text-decoration:none;
  font-size:12px;
  line-height:1;
  font-weight:900;
  letter-spacing:.04em;
  padding:12px 15px;
  border-radius:999px;
  background:#ffd51f;
  color:#17100a;
}
.signupSystemAlert,.signupErrorDetail{
  display:flex;
  flex-direction:column;
  gap:5px;
  border-radius:14px;
  padding:14px 16px;
  margin:12px 0;
}
.signupSystemAlert{background:#fff5d4;border:1px solid #efd26c;color:#332506}
.signupErrorDetail{background:#fff0f0;border:1px solid #e35252;color:#5f0d0d}
.signupSystemAlert b,.signupErrorDetail b{font-size:16px;line-height:1.2}
.signupSystemAlert span,.signupErrorDetail span{font-size:14px;line-height:1.45}
.signupErrorDetail small{font-size:12px;opacity:.78}
@media(max-width:700px){
  .signupTopbar{min-height:70px;padding:10px 14px}
  .signupBrandLogo{width:min(270px,66vw);max-height:52px}
  .signupTopHome{font-size:10px;padding:10px 11px}
}

/* ===== Plan simple $0 / Básico $1.990 ===== */
.signupPlanGridFour{grid-template-columns:repeat(4,minmax(0,1fr))}
.simpleSignupPlan>div{background:#fff7e9;border-color:#ffcf78}
.simpleSignupPlan .choosePlan{background:#17110c;color:#fff}
.simpleOnlySection{border:2px solid #f1b43d;background:linear-gradient(180deg,#fffaf0,#fff)}
.simpleAddressWrap{display:grid;grid-template-columns:1fr auto;gap:8px;margin-top:6px}
.simpleAddressWrap input{min-width:0}
.simpleAddressWrap button{border:0;border-radius:10px;background:#e83a31;color:#fff;font-weight:900;padding:0 14px;cursor:pointer}
.simpleOnlySection[hidden],.fullSignupFields[hidden]{display:none!important}
.simpleValleySection{margin:34px auto;max-width:1180px;padding:24px;border-radius:22px;background:#f7efe8;border:1px solid #ead8c8}
.simpleValleyHead{display:flex;justify-content:space-between;align-items:flex-end;gap:18px;margin-bottom:18px}
.simpleValleyHead span{font-size:11px;font-weight:900;letter-spacing:.12em;color:#a72b2b}
.simpleValleyHead h2{margin:3px 0 4px;font-size:clamp(23px,3vw,34px);line-height:1}
.simpleValleyHead p{margin:0;color:#685c53}
.simpleValleyHead>a{background:#b5121b;color:#fff;text-decoration:none;font-weight:900;padding:12px 15px;border-radius:12px;white-space:nowrap}
.simpleValleyTrack{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.simpleValleyCard{overflow:hidden;border-radius:16px;background:#fff;box-shadow:0 7px 20px rgba(72,45,26,.09)}
.simpleValleyPhoto{aspect-ratio:4/3;background-size:cover;background-position:center}
.simpleValleyInfo{padding:12px;display:flex;flex-direction:column;gap:5px}
.simpleValleyInfo b{font-size:16px}
.simpleValleyInfo small{font-size:12px;color:#6a625c;line-height:1.3;min-height:31px}
.simpleValleyInfo a{margin-top:5px;font-size:11px;font-weight:900;color:#b5121b;text-decoration:none}
@media(max-width:980px){
 .signupPlanGridFour{grid-template-columns:repeat(2,minmax(0,1fr))}
 .simpleValleyTrack{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:650px){
 .signupPlanGridFour{grid-template-columns:1fr}
 .simpleAddressWrap{grid-template-columns:1fr}
 .simpleAddressWrap button{min-height:44px}
 .simpleValleySection{margin:24px 12px;padding:17px}
 .simpleValleyHead{align-items:flex-start;flex-direction:column}
 .simpleValleyTrack{grid-template-columns:1fr 1fr;gap:9px}
 .simpleValleyInfo{padding:9px}
 .simpleValleyInfo b{font-size:14px}
}

/* ===== Planes inscripción: legibilidad reforzada ===== */
.signupPlans>h2{font-size:clamp(22px,2.6vw,32px)!important;line-height:1.08!important}
.signupPlanCard>div{padding:20px!important}
.signupPlanCard span{font-size:16px!important;font-weight:950!important;line-height:1.15!important}
.signupPlanCard strong{font-size:31px!important;line-height:1!important;margin-top:9px!important}
.signupPlanCard strong small{font-size:12px!important}
.signupPlanCard p{font-size:15px!important;line-height:1.45!important;margin-top:11px!important}
.signupPlanCard .choosePlan{font-size:13px!important;padding:11px 12px!important;margin-top:13px!important}
.simpleOnlySection h2,.signupSection h2{font-size:22px!important}
.simpleOnlySection p,.signupSection p{font-size:15px!important;line-height:1.45}
.signupForm label{font-size:15px!important;font-weight:800}
.signupForm input,.signupForm select,.signupForm textarea{font-size:16px!important}
.planPaymentHelp{font-size:14px!important;line-height:1.5!important}
@media(max-width:700px){
 .signupPlanCard>div{padding:17px!important}
 .signupPlanCard span{font-size:15px!important}
 .signupPlanCard strong{font-size:29px!important}
 .signupPlanCard p{font-size:14px!important}
}

.simpleValleyInstagram{font-size:12px;font-weight:800;color:#7b315e;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* ===== Locales GRATIS · identidad Aconcagua Sabroso ===== */
.simpleValleySection{
  max-width:1180px;
  margin:34px auto;
  padding:24px;
  border-radius:20px;
  background:#0d1d24;
  border:1px solid rgba(255,255,255,.09);
  box-shadow:0 16px 38px rgba(0,0,0,.16);
}
.simpleValleyHead{display:flex;justify-content:space-between;align-items:flex-end;gap:18px;margin-bottom:20px}
.simpleValleyHead span{display:block;color:#ffd51f;font-size:11px;font-weight:950;letter-spacing:.12em}
.simpleValleyHead h2{margin:4px 0 5px;color:#fff;font-size:clamp(24px,3vw,34px);line-height:1.05}
.simpleValleyHead p{margin:0;color:#b9c5ca;font-size:14px}
.simpleValleyHead>a{
 display:inline-flex;align-items:center;gap:7px;background:#c90f2d;color:#fff!important;
 padding:11px 14px;border-radius:11px;text-decoration:none;font-size:12px;font-weight:950;white-space:nowrap
}
.simpleValleyHead>a .siteSvgIcon{width:15px;height:15px}
.simpleValleyTrack{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.simpleValleyCard{
 overflow:hidden;border-radius:17px;background:#f2e6d4;border:1px solid rgba(255,213,31,.35);
 box-shadow:0 8px 22px rgba(0,0,0,.22);min-width:0
}
.simpleValleyName{
 margin:0;padding:13px 14px 12px;background:#35145e;color:#fff;
 font-size:17px;line-height:1.15;font-weight:950;border-bottom:3px solid #ffd51f;
 white-space:nowrap;overflow:hidden;text-overflow:ellipsis
}
.simpleValleyPhoto{
 width:calc(100% - 18px);margin:9px 9px 0;aspect-ratio:4/3;border-radius:13px;
 background-size:cover;background-position:center;background-color:#14252c
}
.simpleValleyInfo{padding:11px 13px 13px;display:flex;flex-direction:column;gap:10px}
.simpleValleyAddress{display:flex;align-items:flex-start;gap:7px;color:#251c18;font-size:13px;font-weight:750;line-height:1.3}
.simpleValleyAddress .simpleCardSvg{flex:0 0 auto;width:17px;height:17px;color:#c90f2d;stroke-width:2.2}
.simpleValleyMeta{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:29px}
.simpleValleyDistance{
 display:inline-flex;align-items:center;background:#0d1d24;color:#ffd51f;border-radius:8px;
 padding:6px 9px;font-size:12px;font-weight:950;line-height:1
}
.simpleValleyInstagramIcon{
 display:grid;place-items:center;width:30px;height:30px;border-radius:9px;background:#c90f2d;color:#fff!important;
 text-decoration:none;transition:transform .15s ease,filter .15s ease
}
.simpleValleyInstagramIcon:hover{transform:translateY(-1px);filter:brightness(1.08)}
.simpleValleyInstagramIcon .simpleCardSvg{width:18px;height:18px;stroke-width:2}
@media(max-width:980px){.simpleValleyTrack{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){
 .simpleValleySection{margin:24px 12px;padding:16px;border-radius:17px}
 .simpleValleyHead{align-items:flex-start;flex-direction:column;margin-bottom:15px}
 .simpleValleyHead h2{font-size:25px}
 .simpleValleyTrack{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:11px;padding-bottom:5px}
 .simpleValleyCard{flex:0 0 calc(86vw - 32px);scroll-snap-align:start}
 .simpleValleyName{font-size:16px}
}

/* ===== Ajuste identidad: sin morado + Instagram visible ===== */
.simpleValleyName{
  background:#b90f2b!important;
  color:#fff!important;
  border-bottom:3px solid #ffd51f!important;
}
.simpleValleyCard{
  border-color:rgba(185,15,43,.28)!important;
}
.simpleValleyInstagramIcon{
  width:34px!important;
  height:34px!important;
  border-radius:50%!important;
  background:#b90f2b!important;
  color:#fff!important;
  border:2px solid #fff!important;
  box-shadow:0 3px 9px rgba(0,0,0,.18)!important;
}
.simpleValleyInstagramIcon .simpleCardSvg{
  width:19px!important;
  height:19px!important;
  color:#fff!important;
  stroke:currentColor!important;
}
.simpleValleyInstagramIcon:hover{
  background:#0d1d24!important;
  color:#ffd51f!important;
  border-color:#ffd51f!important;
}

/* ===== Ajustes tipográficos tarjetas GRATIS ===== */
.simpleValleyName{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:48px!important;
  text-align:center!important;
  text-transform:uppercase!important;
  letter-spacing:.025em!important;
  font-size:18px!important;
  line-height:1.1!important;
  padding:13px 12px!important;
}
.simpleValleyAddress{
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
  font-size:14px!important;
  font-weight:900!important;
  line-height:1.3!important;
  text-transform:uppercase!important;
}
.simpleValleyAddress span{
  text-transform:uppercase!important;
}
.simpleValleyMeta{
  justify-content:center!important;
  position:relative!important;
}
.simpleValleyDistance{
  margin:0 auto!important;
  font-size:13px!important;
}
.simpleValleyInstagramIcon{
  position:absolute!important;
  right:0!important;
  top:50%!important;
  transform:translateY(-50%)!important;
}
.simpleValleyInstagramIcon:hover{
  transform:translateY(-50%) scale(1.03)!important;
}
@media(max-width:650px){
  .simpleValleyName{font-size:17px!important;min-height:46px!important}
  .simpleValleyAddress{font-size:13px!important}
}

/* ===== GRATIS $0 · ubicación obligatoria ===== */
.simpleLocationBox{
  border:2px solid #d9b13d;
  border-radius:16px;
  padding:16px;
  background:#fff8e9;
  margin-top:4px;
}
.simpleLocationHead{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:7px}
.simpleLocationHead>div{display:flex;align-items:center;gap:8px;color:#17120e}
.simpleLocationHead .siteSvgIcon{width:20px;height:20px;color:#c90f2d}
.simpleLocationHead b{font-size:15px}
#simpleLocationBadge{
  display:inline-flex;align-items:center;justify-content:center;
  padding:6px 9px;border-radius:999px;background:#ede4d4;color:#7a6755;
  font-size:10px;font-weight:950;letter-spacing:.06em
}
#simpleLocationBadge.ok{background:#daf3df;color:#166b2f}
.simpleLocationBox>p{margin:0 0 12px!important;font-size:14px!important;color:#66594d}
.simpleLocationActions{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.simpleLocationActions button{
  min-height:46px;border:0;border-radius:11px;padding:10px 12px;
  display:flex;align-items:center;justify-content:center;gap:7px;
  font-size:12px;font-weight:950;cursor:pointer
}
#simpleUseCurrentLocation{background:#c90f2d;color:#fff}
#simpleOpenGoogleMaps{background:#0d1d24;color:#ffd51f}
.simpleLocationActions .siteSvgIcon{width:17px;height:17px}
.simpleLocationPreview{
  margin-top:11px;padding:12px;border-radius:12px;background:#fff;
  display:grid;grid-template-columns:auto 1fr;column-gap:9px;row-gap:2px;align-items:center;
  border:1px solid #e6dac6
}
.simpleLocationMarker{
  grid-row:1/3;width:34px;height:34px;border-radius:50%;background:#ffd51f;
  display:grid;place-items:center;color:#c90f2d
}
.simpleLocationMarker .siteSvgIcon{width:18px;height:18px}
.simpleLocationPreview b{font-size:14px}
.simpleLocationPreview small{font-size:12px;color:#6b625b;line-height:1.35}
@media(max-width:650px){
 .simpleLocationActions{grid-template-columns:1fr}
 .simpleLocationHead{align-items:flex-start;flex-direction:column}
}

/* ===== Distancia más visible + Instagram alineado ===== */
.simpleValleyMeta{
  display:grid!important;
  grid-template-columns:1fr auto!important;
  align-items:center!important;
  gap:12px!important;
  min-height:36px!important;
}
.simpleValleyDistance{
  justify-self:start!important;
  display:inline-flex!important;
  align-items:center!important;
  gap:6px!important;
  margin:0!important;
  padding:7px 10px!important;
  font-size:13px!important;
  border-radius:9px!important;
}
.simpleValleyDistance .simpleCardSvg{
  width:15px!important;
  height:15px!important;
  color:#ffd51f!important;
  stroke-width:2.3!important;
}
.simpleValleyDistance b{
  font-size:13px!important;
  line-height:1!important;
  font-weight:950!important;
}
.simpleValleyDistancePlaceholder{
  display:block!important;
  min-height:1px!important;
}
.simpleValleyInstagramIcon{
  position:static!important;
  transform:none!important;
  justify-self:end!important;
  align-self:center!important;
  margin:0!important;
}
.simpleValleyInstagramIcon:hover{
  transform:scale(1.03)!important;
}
@media(max-width:650px){
  .simpleValleyMeta{grid-template-columns:1fr auto!important}
  .simpleValleyDistance{font-size:12px!important;padding:6px 9px!important}
  .simpleValleyDistance b{font-size:12px!important}
  .simpleValleyInstagramIcon{width:32px!important;height:32px!important}
}

/* ===== Inscribe: contraste y teléfono opcional ===== */
.signupPage{
  background:#fff!important;
  color:#171717!important;
}
.signupPage .signupIntro,
.signupPage .signupSection,
.signupPage .signupPlans,
.signupPage .signupPlanCard,
.signupPage .simpleOnlySection,
.signupPage .paymentSection{
  color:#171717!important;
}
.signupPage .signupIntro h1,
.signupPage .signupIntro p,
.signupPage .signupSection h2,
.signupPage .signupSection h3,
.signupPage .signupSection p,
.signupPage .signupPlans h2,
.signupPage .signupPlans p,
.signupPage label,
.signupPage small,
.signupPage .planPaymentHelp{
  color:#171717!important;
}
.signupPage input,
.signupPage select,
.signupPage textarea{
  color:#171717!important;
  background:#fff!important;
  border-color:#d6d6d6!important;
}
.signupPage input::placeholder,
.signupPage textarea::placeholder{
  color:#777!important;
  opacity:1!important;
}
.signupPage .signupPlanCard>div,
.signupPage .simpleOnlySection,
.signupPage .signupSection{
  background:#fff!important;
}
.signupPage .simpleSignupPlan>div{background:#fff8ec!important}
.signupPage .basicSignupPlan>div{background:#fff!important}
.signupPage .featuredSignupPlan>div{background:#fff!important}
.signupPage .choosePlan{
  color:#fff!important;
}
.signupPage .signupBack{
  color:#171717!important;
}
.signupPage .signupConsent{
  color:#171717!important;
}
.simplePhoneOptOut{
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  margin-top:9px!important;
  padding:10px 11px!important;
  border-radius:10px!important;
  background:#f4f4f4!important;
  color:#333!important;
  font-size:13px!important;
  font-weight:700!important;
}
.simplePhoneOptOut input{
  width:18px!important;
  height:18px!important;
  margin:0!important;
  accent-color:#c90f2d;
}
.simplePhoneOptOut b{
  color:#333!important;
  font-size:13px!important;
}
.simplePhoneLabel input:disabled{
  background:#ececec!important;
  color:#777!important;
  cursor:not-allowed!important;
}

/* ===== Cabecera Inscribe tu local · identidad Aconcagua Sabroso ===== */
.signupPage .signupIntro{
  position:relative!important;
  overflow:hidden!important;
  margin:18px 0 22px!important;
  padding:24px 26px!important;
  border-radius:18px!important;
  background:
    linear-gradient(135deg,rgba(201,15,45,.98),rgba(88,10,26,.98))!important;
  border:1px solid rgba(255,213,31,.35)!important;
  box-shadow:0 12px 30px rgba(0,0,0,.16)!important;
  color:#fff!important;
}
.signupPage .signupIntro::after{
  content:""!important;
  position:absolute!important;
  right:-36px!important;
  top:-42px!important;
  width:150px!important;
  height:150px!important;
  border-radius:50%!important;
  border:22px solid rgba(255,213,31,.08)!important;
  pointer-events:none!important;
}
.signupPage .signupIntro>span{
  display:inline-flex!important;
  align-items:center!important;
  min-height:28px!important;
  margin-bottom:8px!important;
  padding:5px 9px!important;
  border-radius:999px!important;
  background:#ffd51f!important;
  color:#24170c!important;
  font-size:11px!important;
  line-height:1!important;
  font-weight:950!important;
  letter-spacing:.10em!important;
}
.signupPage .signupIntro h1{
  margin:0 0 8px!important;
  color:#fff!important;
  font-size:clamp(30px,4vw,44px)!important;
  line-height:1!important;
  font-weight:950!important;
  letter-spacing:-.03em!important;
}
.signupPage .signupIntro p{
  max-width:700px!important;
  margin:0!important;
  color:#f3e8e8!important;
  font-size:16px!important;
  line-height:1.45!important;
  font-weight:600!important;
}
@media(max-width:700px){
  .signupPage .signupIntro{
    padding:20px 18px!important;
    margin:14px 0 18px!important;
    border-radius:16px!important;
  }
  .signupPage .signupIntro h1{font-size:32px!important}
  .signupPage .signupIntro p{font-size:15px!important}
}

/* ===== GRATIS $0: dirección simple, sin mapa ===== */
.simpleOnlySection .simpleLocationBox,
.simpleOnlySection .simpleMapCanvasWrap{display:none!important}
.simpleOnlySection #simpleAddress{
  width:100%!important;
  min-height:46px!important;
  font-size:16px!important;
}

.simpleOnlySection #simpleCategory{min-height:46px!important;font-size:16px!important;font-weight:700!important}

/* ===== CTA inscripción también en fichas de locales ===== */
.globalFoodSignupCta{
  max-width:1180px;
  margin:26px auto!important;
}
.localPageSignupCta{
  width:calc(100% - 28px);
  margin:28px auto!important;
}
.localPageSignupCta>div{min-width:0}
.localPageSignupCta h2{margin:3px 0 4px!important}
.localPageSignupCta p{margin:0!important}
@media(max-width:700px){
 .localPageSignupCta{width:calc(100% - 24px);margin:20px auto!important}
}

/* ===== Navegación Locales que se suman al Valle ===== */
.simpleValleyNav{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  margin-top:15px;
}
.simpleValleyNav[hidden]{display:none!important}
.simpleValleyNav>button{
  width:36px;height:36px;border:0;border-radius:50%;
  display:grid;place-items:center;background:#ffd51f;color:#17120e;
  font-size:25px;font-weight:950;line-height:1;cursor:pointer;
  box-shadow:0 4px 12px rgba(0,0,0,.16)
}
.simpleValleyDots{display:flex;align-items:center;justify-content:center;gap:6px}
.simpleValleyDots button{
  width:7px;height:7px;padding:0;border:0;border-radius:50%;
  background:rgba(255,255,255,.32);cursor:pointer
}
.simpleValleyDots button.active{width:18px;border-radius:999px;background:#ffd51f}
#simpleValleyCounter{color:#fff;font-size:11px;font-weight:900;min-width:34px;text-align:center}
@media(max-width:650px){
 .simpleValleyNav{margin-top:12px;gap:8px}
 .simpleValleyNav>button{width:34px;height:34px;font-size:23px}
 .simpleValleyDots{gap:5px}
}

/* ===== PET FRIENDLY · módulo independiente ===== */
.petSafeSection{max-width:1180px;margin:28px auto;padding:22px;border-radius:20px;background:#10232a;color:#fff;overflow:hidden}
.petSafeSection[hidden]{display:none!important}
.petSafeHead{display:flex;align-items:center;gap:14px;margin-bottom:17px}
.petSafeIcon{width:52px;height:52px;flex:0 0 52px;border-radius:50%;display:grid;place-items:center;background:#ffd51f;color:#b9142e}
.petSafeIcon svg,.petSafeMiniPaw svg{fill:none;stroke:currentColor;stroke-width:1.9}
.petSafeIcon svg{width:29px;height:29px}
.petSafeHead span{font-size:11px;font-weight:950;letter-spacing:.1em;color:#ffd51f}
.petSafeHead h2{margin:3px 0 4px;font-size:27px;line-height:1.05;color:#fff}
.petSafeHead p{margin:0;color:#d8e0e2;font-size:14px}
.petSafeTrack{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}
.petSafeTrack::-webkit-scrollbar{display:none}
.petSafeCard{flex:0 0 calc((100% - 28px)/3);scroll-snap-align:start;background:#fff;border-radius:15px;overflow:hidden;color:#171717}
.petSafePhoto{position:relative;display:block;height:175px;background:#eee;overflow:hidden}
.petSafePhoto img{width:100%;height:100%;object-fit:cover;display:block}
.petSafeBadge{position:absolute;left:10px;bottom:10px;display:flex;align-items:center;gap:5px;padding:6px 9px;border-radius:999px;background:#ffd51f;color:#25190b;font-size:10px;font-weight:950}
.petSafeMiniPaw{display:inline-flex;width:16px;height:16px}.petSafeMiniPaw svg{width:16px;height:16px}
.petSafeBody{padding:12px}.petSafeBody h3{margin:0 0 8px;font-size:16px;line-height:1.15}
.petSafePlace{display:flex;align-items:center;gap:5px;font-size:12px;color:#555;margin-bottom:9px}
.petSafePin{display:inline-flex}.petSafePin svg{width:14px;height:14px;fill:none;stroke:#b9142e;stroke-width:2}
.petSafeState{display:inline-flex;align-items:center;gap:6px;font-size:10px;font-weight:950}
.petSafeState i{width:8px;height:8px;border-radius:50%}.petSafeState.open i{background:#27b65b}.petSafeState.closed i{background:#d42b3b}
.petSafeNav{display:flex;align-items:center;justify-content:center;gap:9px;margin-top:15px}.petSafeNav[hidden]{display:none!important}
.petSafeNav>button{width:35px;height:35px;border:0;border-radius:50%;background:#ffd51f;color:#17120e;font-size:24px;font-weight:950;cursor:pointer}
.petSafeDots{display:flex;gap:5px}.petSafeDots button{width:7px;height:7px;padding:0;border:0;border-radius:50%;background:rgba(255,255,255,.35)}.petSafeDots button.active{width:18px;border-radius:999px;background:#ffd51f}
#petSafeCounter{font-size:11px;font-weight:900}
@media(max-width:980px){.petSafeCard{flex-basis:calc((100% - 14px)/2)}}
@media(max-width:650px){.petSafeSection{margin:20px 12px;padding:17px 14px}.petSafeHead{align-items:flex-start}.petSafeIcon{width:44px;height:44px;flex-basis:44px}.petSafeHead h2{font-size:22px}.petSafeHead p{font-size:13px}.petSafeCard{flex-basis:100%}.petSafePhoto{height:190px}}

/* ===== Legal / términos / privacidad ===== */
.footerLegal{max-width:1180px;margin:0 auto;padding:0 18px 18px;display:flex;justify-content:center;gap:9px;flex-wrap:wrap;color:#b9c3c8;font-size:12px}
.footerLegal a{color:#ffd51f;text-decoration:none;font-weight:800}
.footerLegal a:hover{text-decoration:underline}
.legalPage{background:#f5f2ed;color:#171717}
.legalMain{max-width:1050px;margin:0 auto;padding:22px 18px 40px}
.legalHero{padding:26px 28px;border-radius:20px;background:linear-gradient(135deg,#c90f2d,#671022);color:#fff;box-shadow:0 14px 34px rgba(0,0,0,.14);margin-bottom:18px}
.legalHero span{display:inline-block;background:#ffd51f;color:#24170c;border-radius:999px;padding:6px 9px;font-size:10px;font-weight:950;letter-spacing:.1em}
.legalHero h1{margin:9px 0 7px;font-size:clamp(30px,4vw,46px);line-height:1;font-weight:950}
.legalHero p{margin:0;color:#f1dddd;font-size:16px;line-height:1.45}
.legalCard{background:#fff;border-radius:20px;padding:28px;box-shadow:0 8px 26px rgba(0,0,0,.08);border:1px solid #e4ddd5}
.legalCard h2{margin:25px 0 8px;font-size:20px;color:#171717}.legalCard h2:first-child{margin-top:0}
.legalCard p{font-size:15px;line-height:1.68;color:#3e3a37;margin:0 0 10px}
.legalCard a{color:#b5122a;font-weight:800}
.legalUpdated{margin-top:28px!important;padding-top:16px;border-top:1px solid #eee;font-size:12px!important;color:#777!important}
.signupLegalConsents{display:flex;flex-direction:column;gap:9px;margin:13px 0}
.legalConsent a{color:#b5122a!important;font-weight:900}
@media(max-width:700px){.legalMain{padding:14px 12px 30px}.legalHero{padding:21px 18px}.legalHero h1{font-size:32px}.legalCard{padding:20px 17px}.legalCard h2{font-size:18px}.legalCard p{font-size:14px}}

.footerInner>.footerSiteLogo{width:min(390px,38vw)!important;height:auto!important;max-height:74px;object-fit:contain}
@media(max-width:700px){.footerInner>.footerSiteLogo{width:min(330px,88vw)!important;height:auto!important;max-height:none}}

/* ===== FOOTER · logo horizontal corregido ===== */
.siteFooter .footerInner{
  max-width:1180px!important;
  margin:0 auto!important;
  display:grid!important;
  grid-template-columns:minmax(280px,390px) 1fr auto!important;
  align-items:center!important;
  gap:24px!important;
}
.siteFooter .footerSiteLogo{
  display:block!important;
  width:100%!important;
  max-width:380px!important;
  height:auto!important;
  max-height:none!important;
  object-fit:contain!important;
  object-position:left center!important;
  margin:0!important;
}
.siteFooter .footerCopy{
  min-width:0!important;
  text-align:left!important;
}
.siteFooter .footerCopy h2{
  margin-top:0!important;
}
.siteFooter .footerWhatsapp{
  align-self:center!important;
  white-space:nowrap!important;
}
@media(max-width:900px){
  .siteFooter .footerInner{
    grid-template-columns:1fr!important;
    justify-items:center!important;
    text-align:center!important;
  }
  .siteFooter .footerSiteLogo{
    width:min(520px,92vw)!important;
    max-width:520px!important;
    object-position:center!important;
  }
  .siteFooter .footerCopy{
    text-align:center!important;
    max-width:760px!important;
  }
  .siteFooter .footerWhatsapp{
    justify-self:center!important;
  }
}
@media(max-width:520px){
  .siteFooter .footerSiteLogo{
    width:100%!important;
    max-width:340px!important;
  }
  .siteFooter .footerInner{
    gap:16px!important;
  }
}

/* ===== Promociones destacadas · 4 por fila + formato cuadrado ===== */
.promoSection .promoGrid{
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:14px!important;
}
.promoSection .promoCard{
  border-radius:16px!important;
}
.promoSection .promoPhoto{
  width:100%!important;
  height:auto!important;
  aspect-ratio:1 / 1!important;
  background-size:cover!important;
  background-position:center!important;
}
.promoSection .promoBody{
  padding:12px!important;
}
.promoSection .promoBody h3{
  font-size:16px!important;
  line-height:1.15!important;
}
.promoSection .promoBody p{
  font-size:13px!important;
  line-height:1.35!important;
}
.promoSection .promoBody strong{
  font-size:18px!important;
}
@media(max-width:1050px){
  .promoSection .promoGrid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}
@media(max-width:700px){
  .promoSection .promoGrid{
    display:flex!important;
    overflow-x:auto!important;
    gap:12px!important;
    scroll-snap-type:x mandatory!important;
    scrollbar-width:none!important;
    padding-bottom:4px!important;
  }
  .promoSection .promoGrid::-webkit-scrollbar{display:none!important}
  .promoSection .promoCard{
    flex:0 0 82vw!important;
    max-width:330px!important;
    scroll-snap-align:start!important;
  }
  .promoSection .promoPhoto{
    aspect-ratio:1 / 1!important;
  }
}

/* ===== Logo oficial actualizado ===== */
.mainLogo,.brandLogoFull,.signupBrandLogo{
  width:min(100%,430px)!important;
  height:auto!important;
  max-height:72px!important;
  object-fit:contain!important;
  object-position:left center!important;
}
.topbar .mainLogo{width:360px!important;max-width:44vw!important}
.siteFooter .footerSiteLogo{width:min(460px,100%)!important;max-width:460px!important;height:auto!important;object-fit:contain!important}
@media(max-width:700px){
  .topbar .mainLogo{width:255px!important;max-width:70vw!important;max-height:52px!important}
  .signupBrandLogo{width:260px!important;max-width:68vw!important}
  .siteFooter .footerSiteLogo{width:min(360px,92vw)!important}
}

/* Ajuste final logo blanco Aconcagua Sabroso */
.mainLogo,.brandLogoFull,.signupBrandLogo{
  width:min(100%,430px)!important;
  height:auto!important;
  max-height:72px!important;
  object-fit:contain!important;
  object-position:left center!important;
}
.siteFooter .footerSiteLogo{
  width:min(460px,100%)!important;
  height:auto!important;
  object-fit:contain!important;
}
@media(max-width:700px){
  .topbar .mainLogo{width:255px!important;max-width:70vw!important;max-height:52px!important}
  .signupBrandLogo{width:260px!important;max-width:68vw!important}
  .siteFooter .footerSiteLogo{width:min(360px,92vw)!important}
}

/* ===== Sobre Aconcagua Sabroso ===== */
.aboutSabrosoMain{max-width:1100px}
.aboutSabrosoHero{background:linear-gradient(135deg,#111f27,#671022)!important}
.aboutSabrosoHero h1{font-size:clamp(34px,5vw,56px)!important}
.aboutSabrosoIntro,.aboutSabrosoBacked{
  background:#fff;border:1px solid #e3ddd6;border-radius:18px;padding:24px 26px;margin-bottom:18px;
  box-shadow:0 8px 24px rgba(0,0,0,.06)
}
.aboutSabrosoIntro h2,.aboutSabrosoBacked h2{margin:0 0 9px;font-size:25px}
.aboutSabrosoIntro p,.aboutSabrosoBacked p{margin:0;font-size:16px;line-height:1.6;color:#4b4742}
.aboutSabrosoSteps{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:18px}
.aboutSabrosoSteps article{background:#fff;border-radius:16px;padding:20px;border:1px solid #e5dfd8}
.aboutSabrosoSteps span{display:inline-flex;background:#ffd51f;color:#201608;font-weight:950;border-radius:999px;padding:6px 9px;font-size:11px}
.aboutSabrosoSteps h3{font-size:19px;margin:12px 0 7px}
.aboutSabrosoSteps p{margin:0;color:#5b5651;line-height:1.5;font-size:14px}
.aboutSabrosoFeature,.aboutSabrosoBusinesses{border-radius:20px;padding:25px 27px;margin-bottom:18px}
.aboutSabrosoFeature{background:#10232a;color:#fff}
.aboutSabrosoFeature span,.aboutSabrosoBusinesses span{color:#ffd51f;font-weight:950;font-size:11px;letter-spacing:.1em}
.aboutSabrosoFeature h2,.aboutSabrosoBusinesses h2{margin:6px 0 8px;font-size:28px}
.aboutSabrosoFeature p{margin:0;color:#dce5e8;line-height:1.55}
.aboutSabrosoBusinesses{background:#c90f2d;color:#fff}
.aboutSabrosoBusinesses p{color:#f8e7e9;line-height:1.55}
.aboutSabrosoCta{display:inline-flex;margin-top:14px;background:#ffd51f;color:#1e150b;text-decoration:none;font-weight:950;padding:11px 14px;border-radius:10px}
.aboutSabrosoLinks{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;margin:24px 0 4px}
.aboutSabrosoLinks a{color:#b5122a;font-weight:900;text-decoration:none}
@media(max-width:800px){
 .aboutSabrosoSteps{grid-template-columns:1fr}
 .aboutSabrosoIntro,.aboutSabrosoBacked,.aboutSabrosoFeature,.aboutSabrosoBusinesses{padding:20px 18px}
}

/* GRATIS $0 · estado según horario */
.simpleValleyStatus{display:inline-flex;align-items:center;gap:7px;align-self:flex-start;min-height:28px;padding:6px 9px;border-radius:999px;font-size:11px;font-weight:950;letter-spacing:.035em}
.simpleValleyStatus i{width:8px;height:8px;border-radius:50%;display:block;flex:0 0 8px}
.simpleValleyStatus.isOpen{background:#dff5e7;color:#146b35}
.simpleValleyStatus.isOpen i{background:#22ad58;box-shadow:0 0 0 4px rgba(34,173,88,.13)}
.simpleValleyStatus.isClosed{background:#f8e2e5;color:#9b1830}
.simpleValleyStatus.isClosed i{background:#cf2745}
.simpleValleyStatus.noSchedule{background:#ece8e1;color:#746c64;font-size:10px}

/* ===== Horarios visibles también en plan GRATIS ===== */
.allPlansScheduleSection{
  display:block!important;
}
.allPlansScheduleSection[hidden]{
  display:block!important;
}
.simpleOnlySection:not([hidden]) ~ .allPlansScheduleSection{
  border:2px solid rgba(201,15,45,.22);
}
.signupScheduleRow{
  position:relative;
}
@media(max-width:700px){
  .allPlansScheduleSection{margin-top:14px!important}
}

/* =========================================================
   INSCRIPCIÓN · UNIFICACIÓN VISUAL FINAL
   ========================================================= */
body.signupPage,
body.inscribePage{
  background:#f3eee7!important;
  color:#17252b!important;
}
.signupMain{
  max-width:1080px!important;
  margin:0 auto!important;
  padding:24px 16px 52px!important;
}
.signupHero,
.signupIntro{
  color:#fff!important;
}
.signupHero h1,.signupHero h2,.signupHero p,
.signupIntro h1,.signupIntro h2,.signupIntro p{
  color:#fff!important;
}
.signupSection{
  background:#fff!important;
  color:#17252b!important;
  border:1px solid #ded7ce!important;
  border-radius:18px!important;
  box-shadow:0 8px 24px rgba(20,32,38,.06)!important;
  padding:22px!important;
  margin-bottom:16px!important;
}
.signupSection h2,
.signupSection h3{
  color:#17252b!important;
  font-weight:950!important;
}
.signupSection p,
.signupSection small{
  color:#625e59!important;
}
.signupSection label{
  color:#26383f!important;
  font-weight:850!important;
}
.signupSection label>span{
  color:#26383f!important;
}
.signupSection input:not([type="checkbox"]):not([type="radio"]),
.signupSection select,
.signupSection textarea{
  width:100%!important;
  background:#fbfaf8!important;
  color:#17252b!important;
  border:1.5px solid #cfc7bd!important;
  border-radius:11px!important;
  min-height:46px!important;
  padding:11px 12px!important;
  font-size:15px!important;
  font-weight:650!important;
  outline:none!important;
}
.signupSection textarea{min-height:105px!important;resize:vertical!important}
.signupSection input::placeholder,
.signupSection textarea::placeholder{color:#8c8985!important;opacity:1!important}
.signupSection input:focus,
.signupSection select:focus,
.signupSection textarea:focus{
  background:#fff!important;
  border-color:#c90f2d!important;
  box-shadow:0 0 0 3px rgba(201,15,45,.10)!important;
}
.signupSection input[type="file"]{
  background:#f5f1eb!important;
  color:#26383f!important;
  border:1px dashed #bcb2a7!important;
}
.signupSection input[type="checkbox"],
.signupSection input[type="radio"]{
  accent-color:#c90f2d!important;
}
.planChooser,
.signupPlans{
  gap:13px!important;
}
.planOption,
.signupPlanCard{
  background:#fff!important;
  color:#17252b!important;
  border:2px solid #ddd5cb!important;
  border-radius:16px!important;
  box-shadow:none!important;
}
.planOption span,.signupPlanCard span{color:#6a625b!important}
.planOption strong,.signupPlanCard strong{color:#c90f2d!important}
.planOption p,.signupPlanCard p{color:#5d5954!important}
.planOption:has(input:checked),
.signupPlanCard:has(input:checked){
  border-color:#c90f2d!important;
  box-shadow:0 0 0 3px rgba(201,15,45,.09)!important;
}
.scheduleSignupSection{
  background:#fffdf7!important;
  border-color:#e3d6b2!important;
}
.signupScheduleRow{
  background:#f7f3ed!important;
  border:1px solid #ddd5ca!important;
  border-radius:12px!important;
  color:#17252b!important;
}
.signupScheduleRow b{color:#17252b!important}
.scheduleClosed{color:#9b1830!important}
.signupAlert{
  background:#fff5d6!important;
  border:1px solid #ead387!important;
  color:#5e4b11!important;
}
.signupSystemAlert b,.signupAlert b{color:#493b0d!important}
.bankData{
  background:#f7f3ed!important;
  color:#17252b!important;
  border:1px solid #ded5ca!important;
}
.bankData span{color:#655f58!important}
.bankData b{color:#17252b!important}
.copyBank{
  background:#17252b!important;
  color:#fff!important;
  border:0!important;
}
.signupSubmit,
.signupForm button[type="submit"]{
  background:#c90f2d!important;
  color:#fff!important;
  border:0!important;
  border-radius:12px!important;
  min-height:50px!important;
  font-weight:950!important;
  font-size:16px!important;
  box-shadow:0 7px 18px rgba(201,15,45,.18)!important;
}
.signupSubmit:hover,
.signupForm button[type="submit"]:hover{filter:brightness(.94)}
.signupTopbar{
  background:#111f27!important;
  border-bottom:1px solid rgba(255,255,255,.08)!important;
}
.signupTopHome{
  color:#ffd51f!important;
  font-weight:900!important;
}
.paymentSection[hidden],
.paidOnlySection[hidden],
.paidOnlyField[hidden],
.featuredOnlyField[hidden],
.featuredOnlySection[hidden]{
  display:none!important;
}
.allPlansScheduleSection,
.allPlansScheduleSection[hidden]{
  display:block!important;
}
@media(max-width:700px){
  .signupMain{padding:16px 11px 38px!important}
  .signupSection{padding:17px 14px!important;border-radius:15px!important}
  .signupSection h2{font-size:20px!important}
  .signupScheduleRow{padding:12px!important}
  .signupSection input:not([type="checkbox"]):not([type="radio"]),
  .signupSection select,.signupSection textarea{font-size:16px!important}
}

/* ===== PLAN GRATIS · horario dentro del formulario ===== */
.freeScheduleInside{
  grid-column:1/-1!important;
  background:#fffaf0!important;
  border:2px solid #e0c56a!important;
  border-radius:16px!important;
  padding:16px!important;
  margin:4px 0!important;
}
.freeScheduleTitle{
  display:flex!important;
  align-items:flex-start!important;
  gap:10px!important;
  margin-bottom:12px!important;
}
.freeScheduleTitle>.siteSvgIcon,
.freeScheduleTitle>svg{
  width:24px!important;
  height:24px!important;
  color:#c90f2d!important;
  flex:0 0 auto!important;
}
.freeScheduleTitle h3{
  margin:0 0 4px!important;
  color:#17252b!important;
  font-size:18px!important;
  font-weight:950!important;
}
.freeScheduleTitle p{
  margin:0!important;
  color:#5f584e!important;
  font-size:13px!important;
  line-height:1.45!important;
}
.freeSignupSchedule{
  display:grid!important;
  gap:8px!important;
}
.freeSignupScheduleRow{
  display:grid!important;
  grid-template-columns:120px 1fr 1fr auto!important;
  align-items:end!important;
  gap:9px!important;
  padding:10px!important;
  background:#fff!important;
  border:1px solid #e1d9cb!important;
  border-radius:11px!important;
}
.freeSignupScheduleRow>b{
  align-self:center!important;
  color:#17252b!important;
  font-size:14px!important;
}
.freeSignupScheduleRow label span{
  display:block!important;
  color:#615b53!important;
  font-size:10px!important;
  font-weight:900!important;
  margin-bottom:3px!important;
}
.freeSignupScheduleRow input[type="time"]{
  min-height:40px!important;
  padding:7px 8px!important;
  background:#fbfaf8!important;
  color:#17252b!important;
}
.freeSignupScheduleRow .scheduleClosed{
  display:flex!important;
  align-items:center!important;
  gap:6px!important;
  min-height:40px!important;
  padding:0 8px!important;
}
@media(max-width:700px){
  .freeScheduleInside{padding:13px!important}
  .freeSignupScheduleRow{
    grid-template-columns:1fr 1fr!important;
  }
  .freeSignupScheduleRow>b{
    grid-column:1/-1!important;
    font-size:15px!important;
  }
  .freeSignupScheduleRow .scheduleClosed{
    grid-column:1/-1!important;
  }
}

/* ===== Nuevos GRATIS · mini carrusel bajo Más vistos ===== */
.newFreeMiniSection{
  margin:10px 0 4px;
  padding:15px;
  background:#0D1A23;
  border:1px solid #29404D;
  border-radius:15px;
}
.newFreeMiniHead{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}
.newFreeMiniHead>div:first-child{display:flex;align-items:center;gap:8px}
.newFreeMiniHead b{display:block;color:#fff;font-size:13px}
.newFreeMiniHead small{display:block;color:#91A4AE;font-size:10px;margin-top:2px}
.newFreeMiniNav{display:flex!important;gap:5px!important}
.newFreeMiniNav button{
  width:30px;height:30px;border:1px solid #40545f;border-radius:8px;
  background:#142530;color:#ffd51f;display:grid;place-items:center;cursor:pointer;padding:0
}
.newFreeMiniNav button svg{width:15px;height:15px}
.newFreeMiniTrack{
  display:flex;gap:9px;overflow-x:auto;scrollbar-width:none;margin-top:10px;
  scroll-snap-type:x proximity;
}
.newFreeMiniTrack::-webkit-scrollbar{display:none}
.newFreeMiniCard{
  flex:0 0 215px;
  display:flex;gap:8px;align-items:center;
  background:#142530;border:1px solid #304753;border-radius:11px;
  padding:7px;color:#fff;text-decoration:none;scroll-snap-align:start;
}
.newFreeMiniPhoto{
  width:54px;height:54px;flex:0 0 54px;border-radius:8px;
  background:center/cover no-repeat;
}
.newFreeMiniInfo{min-width:0}
.newFreeMiniInfo>b{
  display:block;font-size:10px;line-height:1.2;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.newFreeMiniInfo>small{
  display:block;color:#9FB0B9;font-size:8px;margin-top:2px;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.newFreeMiniInfo>strong{
  display:inline-flex;align-items:center;gap:4px;font-size:8px;margin-top:5px;font-weight:950
}
.newFreeMiniInfo>strong i{width:6px;height:6px;border-radius:50%;display:block}
.newFreeMiniInfo>strong.open{color:#63d78d}
.newFreeMiniInfo>strong.open i{background:#36c66c;box-shadow:0 0 0 3px rgba(54,198,108,.12)}
.newFreeMiniInfo>strong.closed{color:#ff8c96}
.newFreeMiniInfo>strong.closed i{background:#e74b5d}
.newFreeMiniInfo>strong.noHours{color:#9FB0B9}
@media(max-width:700px){
  .newFreeMiniSection{padding:13px 11px}
  .newFreeMiniCard{flex-basis:180px}
  .newFreeMiniNav button{width:32px;height:32px}
}

/* ===== Más locales · ajuste visual rojo y tarjetas mayores ===== */
.newFreeMiniSection{
  background:#b80f2b!important;
  border-color:#d52a43!important;
  padding:17px!important;
  box-shadow:0 9px 24px rgba(120,8,28,.16)!important;
}
.newFreeMiniHead b{
  color:#fff!important;
  font-size:14px!important;
  font-weight:950!important;
}
.newFreeMiniHead small{
  color:#ffe7eb!important;
  font-size:10.5px!important;
}
.newFreeMiniHead .sectionSvgIcon{color:#ffd51f!important}
.newFreeMiniNav button{
  background:#971026!important;
  border-color:rgba(255,255,255,.25)!important;
  color:#ffd51f!important;
}
.newFreeMiniTrack{gap:11px!important;margin-top:12px!important}
.newFreeMiniCard{
  flex-basis:245px!important;
  min-height:82px!important;
  gap:10px!important;
  padding:9px!important;
  background:#fff!important;
  border-color:rgba(255,255,255,.72)!important;
  color:#17252b!important;
  border-radius:12px!important;
}
.newFreeMiniPhoto{
  width:66px!important;
  height:66px!important;
  flex-basis:66px!important;
  border-radius:9px!important;
}
.newFreeMiniInfo>b{
  color:#17252b!important;
  font-size:11.5px!important;
}
.newFreeMiniInfo>small{
  color:#6d7477!important;
  font-size:9px!important;
}
.newFreeMiniInfo>strong{font-size:9px!important}
.newFreeMiniInfo>strong.open{color:#168044!important}
.newFreeMiniInfo>strong.closed{color:#b51431!important}
.newFreeMiniInfo>strong.noHours{color:#74797b!important}
@media(max-width:700px){
  .newFreeMiniSection{padding:14px 12px!important}
  .newFreeMiniCard{flex-basis:215px!important;min-height:78px!important}
  .newFreeMiniPhoto{width:61px!important;height:61px!important;flex-basis:61px!important}
}

/* ===== CERCA DE TI Y ABIERTO · antes del footer ===== */
.nearOpenSection{
  max-width:1180px;
  margin:30px auto 24px;
  background:#0f2028;
  border:1px solid #29404d;
  border-radius:18px;
  overflow:hidden;
  color:#fff;
  box-shadow:0 10px 28px rgba(0,0,0,.12);
}
.nearOpenHead{padding:18px 20px;border-bottom:1px solid #29404d}
.nearOpenTitle{display:flex;align-items:center;gap:12px}
.nearOpenPin{width:42px;height:42px;flex:0 0 42px;border-radius:50%;display:grid;place-items:center;background:#b7042c;color:#fff}
.nearOpenPinSvg{width:21px;height:21px}
.nearOpenTitle h2{margin:0;font-size:22px;font-weight:950;font-style:normal}
.nearOpenTitle h2 em{color:#35ca70;font-style:normal}
.nearOpenTitle p{margin:4px 0 0;color:#9cafb8;font-size:13px}
.nearOpenBody{padding:18px}
.nearOpenActivate{
  display:flex;align-items:center;justify-content:space-between;gap:16px;
  background:#142a34;border:1px solid #29404d;border-radius:14px;padding:15px 16px;
}
.nearOpenActivate b{display:block;font-size:14px}
.nearOpenActivate small{display:block;color:#9cafb8;margin-top:4px;font-size:11px}
.nearOpenActivate button{
  border:0;background:#b7042c;color:#fff;border-radius:10px;padding:11px 15px;
  font-weight:950;cursor:pointer;white-space:nowrap;display:flex;align-items:center;gap:6px
}
.nearOpenActivate button svg{width:16px;height:16px}
.nearOpenResultTop{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px}
.nearOpenResultTop span{display:flex;align-items:center;gap:7px;font-size:11px;font-weight:950;color:#fff}
.nearOpenResultTop span i{width:8px;height:8px;border-radius:50%;background:#35ca70;box-shadow:0 0 0 4px rgba(53,202,112,.12)}
.nearOpenResultTop small{color:#9cafb8;font-size:10px}
.nearOpenGrid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}
.nearOpenCard{background:#fff;color:#17252b;text-decoration:none;border-radius:14px;overflow:hidden;border:1px solid #dfe3e5;min-width:0}
.nearOpenPhoto{aspect-ratio:1/1;background:center/cover no-repeat;position:relative}
.nearOpenRank{position:absolute;left:8px;top:8px;width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:#b7042c;color:#fff;font-size:10px;font-weight:950;border:2px solid #fff}
.nearOpenState{position:absolute;left:8px;bottom:8px;display:inline-flex;align-items:center;gap:5px;padding:5px 8px;border-radius:999px;background:rgba(8,30,18,.9);color:#52df87;font-size:9px;font-weight:950}
.nearOpenState i{width:7px;height:7px;border-radius:50%;background:#35ca70}
.nearOpenInfo{padding:10px}
.nearOpenInfo h3{margin:0;font-size:11px;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.nearOpenInfo small{display:block;margin-top:4px;color:#737c80;font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.nearOpenInfo b{display:flex;align-items:center;gap:4px;margin-top:8px;color:#b7042c;font-size:11px}
.nearOpenCardPin{width:13px;height:13px}
.nearOpenBottom{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:14px}
.nearOpenBottom>small{color:#9cafb8;font-size:10px}
.nearOpenNav{display:flex;gap:6px}
.nearOpenNav button{width:34px;height:34px;border:0;border-radius:50%;background:#ffd51f;color:#1c1508;font-size:20px;font-weight:950;cursor:pointer}
.nearOpenEmpty{padding:18px;background:#142a34;border-radius:12px;color:#9cafb8;text-align:center;font-size:13px}
@media(max-width:980px){.nearOpenGrid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:650px){
  .nearOpenSection{margin:22px 12px 18px}
  .nearOpenHead{padding:15px}
  .nearOpenTitle h2{font-size:18px}
  .nearOpenBody{padding:13px}
  .nearOpenActivate{flex-direction:column;align-items:stretch}
  .nearOpenActivate button{justify-content:center;width:100%}
  .nearOpenGrid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:10px;scrollbar-width:none}
  .nearOpenGrid::-webkit-scrollbar{display:none}
  .nearOpenCard{flex:0 0 calc(50% - 5px);scroll-snap-align:start}
  .nearOpenResultTop{align-items:flex-start}
  .nearOpenResultTop small{max-width:90px;text-align:right}
}

/* ===== Confirmación ubicación activada ===== */
.nearOpenSuccess{
  display:flex;
  align-items:center;
  gap:10px;
  background:#e4f7ea;
  border:1px solid #9fd7b2;
  color:#145f31;
  border-radius:12px;
  padding:11px 13px;
  margin-bottom:12px;
}
.nearOpenSuccess[hidden]{display:none!important}
.nearOpenSuccessIcon{
  width:22px!important;
  height:22px!important;
  flex:0 0 22px!important;
}
.nearOpenSuccess b{
  display:block;
  font-size:12px;
  font-weight:950;
}
.nearOpenSuccess span{
  display:block;
  font-size:11px;
  margin-top:2px;
  color:#2b6f45;
}

/* ===== ACTIVAR NOTIFICACIONES PWA · 2026-08-15 ===== */
.pushOptInBar{position:relative;max-width:1380px;margin:9px auto;padding:10px 44px 10px 12px;border:1px solid #334956;border-radius:13px;background:#10232d;color:#fff;display:flex;align-items:center;gap:10px;box-shadow:0 8px 24px #00000028}
.pushOptInBar[hidden]{display:none!important}.pushOptInBar.isActive{border-color:#2b794a;background:#123522}
.pushOptInBell{width:36px;height:36px;flex:0 0 36px;border-radius:11px;display:grid;place-items:center;background:#b7042c;font-size:18px}
.pushOptInBar.isActive .pushOptInBell{background:#22864d}
.pushOptInCopy{min-width:0;flex:1}.pushOptInCopy b{display:block;font-size:11px;letter-spacing:.02em}.pushOptInCopy span{display:block;margin-top:2px;color:#b9c7ce;font-size:9px;line-height:1.3}
.pushOptInButton{border:0;border-radius:9px;background:#ffd51f;color:#251d00;padding:9px 13px;font-size:9px;font-weight:950;white-space:nowrap;cursor:pointer}.pushOptInButton:disabled{opacity:.7}
.pushOptInClose{position:absolute;right:9px;top:50%;transform:translateY(-50%);width:28px;height:28px;border:0;background:transparent;color:#9fb0b9;font-size:19px;cursor:pointer}
@media(max-width:700px){.pushOptInBar{margin:7px 10px;padding:9px 38px 9px 9px;gap:8px}.pushOptInBell{width:32px;height:32px;flex-basis:32px;font-size:16px}.pushOptInCopy b{font-size:10px}.pushOptInCopy span{font-size:8px}.pushOptInButton{padding:8px 10px;font-size:8px}}
@media(max-width:430px){.pushOptInBar{flex-wrap:wrap}.pushOptInCopy{flex:1 1 calc(100% - 44px)}.pushOptInButton{margin-left:40px}}


/* ===== IDENTIDAD NUEVA + CAMPANA PUSH EN FECHA/HORA · 2026-08-15 ===== */
.brandLogoFull{
  width:auto!important;
  height:104px!important;
  max-width:72vw!important;
  max-height:none!important;
  object-fit:contain!important;
}
@media(max-width:980px){
  .brandLogoFull{height:82px!important;max-width:70vw!important}
}
@media(max-width:640px){
  .topbar{min-height:96px!important}
  .brandLogoFull{height:70px!important;max-width:67vw!important}
}
@media(max-width:430px){
  .brandLogoFull{height:62px!important;max-width:66vw!important}
}

.topPushBell{
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  width:32px;
  height:32px;
  padding:0;
  margin:0;
  border:0;
  background:transparent;
  color:#FFD400;
  cursor:pointer;
  border-radius:9px;
  transition:background .18s ease,transform .18s ease,color .18s ease;
}
.topPushBell:hover{background:#ffffff10}
.topPushBell:active{transform:scale(.94)}
.topPushBell:disabled{opacity:.65;cursor:wait}
.topPushBell .infoIconSvg{
  width:26px!important;
  height:26px!important;
  flex-basis:26px!important;
  color:#FFD400!important;
}
.topPushBellDot{
  position:absolute;
  right:1px;
  top:1px;
  width:7px;
  height:7px;
  border-radius:50%;
  background:#D91E28;
  border:1px solid #050505;
}
html[data-push-status="active"] .topPushBell{color:#66E397}
html[data-push-status="active"] .topPushBell .infoIconSvg{color:#66E397!important}
html[data-push-status="active"] .topPushBellDot{
  background:#27C466;
  box-shadow:0 0 0 3px rgba(39,196,102,.13);
}
html[data-push-status="checking"] .topPushBell .infoIconSvg{
  animation:sabrosoBellChecking .75s ease-in-out infinite alternate;
}
html[data-push-status="blocked"] .topPushBell .infoIconSvg,
html[data-push-status="error"] .topPushBell .infoIconSvg{color:#FF7B89!important}
html[data-push-status="unsupported"] .topPushBell{display:none!important}
@keyframes sabrosoBellChecking{
  from{opacity:.45;transform:rotate(-5deg)}
  to{opacity:1;transform:rotate(5deg)}
}

.pushMiniToast{
  position:fixed;
  z-index:30000;
  left:50%;
  top:max(12px,env(safe-area-inset-top));
  transform:translateX(-50%);
  width:min(92vw,460px);
  padding:10px 13px;
  border-radius:11px;
  background:#10232d;
  border:1px solid #334956;
  box-shadow:0 10px 28px #0005;
  color:#fff;
  text-align:center;
  font-size:11px;
  font-weight:800;
  line-height:1.35;
}
.pushMiniToast[hidden]{display:none!important}
.pushMiniToast.ok{border-color:#2b794a;background:#123522;color:#dff8e8}
.pushMiniToast.error{border-color:#8d2c40;background:#3a1520;color:#ffdce4}

.pushOptInBar{display:none!important}

@media(max-width:640px){
  .topPushBell{
    width:25px;
    height:25px;
    border-radius:7px;
  }
  .topPushBell .infoIconSvg{
    width:18px!important;
    height:18px!important;
    flex-basis:18px!important;
  }
  .topPushBellDot{
    width:6px;height:6px;right:0;top:0
  }
  .pushBellSeparator{height:21px!important}
}
@media(max-width:430px){
  .topPushBell{width:22px;height:22px}
  .topPushBell .infoIconSvg{
    width:16px!important;
    height:16px!important;
    flex-basis:16px!important;
  }
  .pushBellSeparator{height:18px!important}
}


/* ===== CAMPANA FINAL: MISMA LÍNEA FECHA / RELOJ ===== */
.pushOptInBar{display:none!important}
.topSearchClock time{align-items:center!important}
.topPushBell{vertical-align:middle!important;align-self:center!important;background:transparent!important;box-shadow:none!important}
.topPushBell .infoIconSvg{stroke:currentColor!important}
.pushBellSeparator{flex:0 0 1px!important}
@media(max-width:640px){.topPushBell{margin-left:0!important;flex:0 0 24px!important}}


/* ===== AJUSTE VISUAL FINAL · LOGO MÁS GRANDE ===== */
.brandLogoFull{
  height:120px!important;
  width:auto!important;
  max-width:80vw!important;
  max-height:none!important;
  object-fit:contain!important;
  object-position:left center!important;
}
.topbar{
  min-height:122px!important;
}

@media(max-width:980px){
  .brandLogoFull{
    height:94px!important;
    max-width:78vw!important;
  }
  .topbar{
    min-height:106px!important;
  }
}

@media(max-width:640px){
  .brandLogoFull{
    height:80px!important;
    max-width:77vw!important;
  }
  .topbar{
    min-height:102px!important;
  }
}

@media(max-width:430px){
  .brandLogoFull{
    height:72px!important;
    max-width:76vw!important;
  }
  .topbar{
    min-height:94px!important;
  }
}


/* ===== LOGO WEB MÁS GRANDE EN ESCRITORIO · MÓVIL SIN CAMBIOS ===== */
@media(min-width:981px){
  .brandLogoFull{
    height:138px!important;
    width:auto!important;
    max-width:86vw!important;
    max-height:none!important;
    object-fit:contain!important;
    object-position:left center!important;
  }

  .brandLogoWrap{
    flex:0 0 auto!important;
    max-width:none!important;
  }

  .topbar{
    min-height:140px!important;
  }
}


/* ===== LOGO WEB FINAL · CENTRADO Y MEJOR DIAGRAMADO ===== */
@media(min-width:981px){
  .topbar{
    min-height:154px!important;
    padding-top:8px!important;
    padding-bottom:8px!important;
    align-items:center!important;
  }

  .brandLogoWrap{
    min-height:138px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    overflow:visible!important;
  }

  .brandLogoFull{
    height:138px!important;
    width:auto!important;
    max-width:86vw!important;
    max-height:none!important;
    object-fit:contain!important;
    object-position:left center!important;
    transform:translateY(6px)!important;
    margin:0!important;
  }

  .topIconActions{
    align-self:center!important;
    transform:translateY(6px)!important;
  }
}


/* ===== LOGO WEB MÓVIL/TABLET · CENTRADO FINAL ===== */
@media(max-width:980px){
  .topbar{
    align-items:center!important;
    padding-top:6px!important;
    padding-bottom:6px!important;
  }
  .brandLogoWrap{
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    overflow:visible!important;
  }
  .brandLogoFull{
    transform:translateY(5px)!important;
    margin:0!important;
  }
  .topIconActions{
    align-self:center!important;
    transform:translateY(5px)!important;
  }
}
