/* Tarjetas de «Planes» y «Lo que dice la comunidad» de la home (index.php).
   Usa los tokens de home.css. Hover igual al de Analytics (sube + borde/brillo de color + ícono que escala/gira), solo con mouse. */

:root{--hc-ease:cubic-bezier(.23,1,.32,1)}

/* ======================= PLANES ======================= */
.plans-section{padding:.4rem 0}
.plans-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.3rem;align-items:stretch}

.plan-card{--ac:#21a607;--ink:#06130a;--ac-t:color-mix(in srgb,var(--ac) 55%,#fff);position:relative;display:flex;flex-direction:column;overflow:hidden;padding:1.6rem 1.5rem 1.5rem;border-radius:24px;border:1px solid var(--stroke);
  background:radial-gradient(360px 200px at 0% 0%,color-mix(in srgb,var(--ac) 20%,transparent),transparent 70%),var(--elev);
  box-shadow:0 10px 30px rgba(0,0,0,.22);
  transition:transform .24s var(--hc-ease),box-shadow .24s ease-out,border-color .24s ease-out}
.plan-card.is-featured{border-color:color-mix(in srgb,var(--ac) 65%,var(--stroke));box-shadow:0 18px 44px color-mix(in srgb,var(--ac) 24%,transparent),0 6px 16px rgba(0,0,0,.3)}

.plan-head{margin-bottom:1rem}
.plan-top{display:flex;align-items:center;justify-content:space-between;gap:.6rem;min-height:30px;margin-bottom:.5rem}
.plan-kicker{display:inline-flex;align-items:center;padding:.2rem .65rem;border-radius:999px;font-size:11.5px;font-weight:700;letter-spacing:.16em;color:var(--ac-t);
  background:color-mix(in srgb,var(--ac) 18%,transparent);border:1px solid color-mix(in srgb,var(--ac) 45%,transparent)}
.plan-badge{display:inline-flex;align-items:center;gap:.3rem;padding:.3rem .75rem;border-radius:999px;font-size:12.5px;font-weight:800;color:var(--ink);
  background:linear-gradient(135deg,var(--ac),color-mix(in srgb,var(--ac) 55%,#fff));box-shadow:0 6px 16px color-mix(in srgb,var(--ac) 40%,transparent)}
.plan-badge .material-icons{font-size:15px}
.plan-title{font-size:1.65rem;line-height:1.1;letter-spacing:-.02em;color:var(--text)}
.plan-price{margin-top:.9rem}
.plan-price strong{display:block;font:800 clamp(1.9rem,1.5rem + 1.4vw,2.5rem)/1.05 var(--f-display);letter-spacing:-.02em;font-variant-numeric:tabular-nums;color:var(--text)}
.plan-price small{display:block;margin-top:.3rem;color:var(--muted);font-size:13.5px}

.plan-features{list-style:none;margin:.3rem 0 1.4rem;padding:1.1rem 0 0;border-top:1px solid var(--stroke);display:grid;gap:.7rem}
.plan-features li{display:flex;align-items:flex-start;gap:.65rem;color:#d3dbe7;font-size:14.5px;line-height:1.4}
.plan-features .tick{display:grid;place-items:center;flex:none;width:22px;height:22px;margin-top:-1px;border-radius:50%;color:var(--ink);background:var(--ac);transition:transform .22s var(--hc-ease)}
.plan-features .tick .material-icons{font-size:15px;line-height:1}

.plan-cta{margin-top:auto}
.btn-choose{display:flex;align-items:center;justify-content:center;gap:.5rem;min-height:52px;padding:0 1.2rem;border-radius:15px;text-decoration:none;font:800 15.5px var(--f-body);color:var(--ink);
  background:linear-gradient(135deg,var(--ac),color-mix(in srgb,var(--ac) 62%,#fff));box-shadow:0 8px 22px color-mix(in srgb,var(--ac) 32%,transparent);
  transition:transform .2s var(--hc-ease),box-shadow .22s ease-out,filter .2s}
.btn-choose .material-icons{font-size:20px;transition:transform .22s var(--hc-ease)}
.btn-choose:active{transform:scale(.98)}
.btn-choose:focus-visible{outline:2px solid #fff;outline-offset:3px}

@media (hover:hover) and (pointer:fine){
  .plan-card:hover{transform:translateY(-8px);border-color:var(--ac);box-shadow:0 22px 48px color-mix(in srgb,var(--ac) 30%,transparent),0 6px 16px rgba(0,0,0,.35)}
  .plan-card:hover .tick{transform:scale(1.15) rotate(-8deg)}
  .btn-choose:hover{transform:translateY(-2px) scale(1.02);filter:brightness(1.08);box-shadow:0 14px 30px color-mix(in srgb,var(--ac) 48%,transparent)}
  .btn-choose:hover .material-icons{transform:translateX(4px)}
}
@media (min-width:992px){ .plan-card.is-featured{transform:translateY(-6px)} .plan-card.is-featured:hover{transform:translateY(-12px)} }
@media (min-width:768px) and (max-width:991.98px){ .plans-grid{grid-template-columns:repeat(2,minmax(0,1fr))} }
@media (max-width:767.98px){ .plans-grid{grid-template-columns:minmax(0,1fr)} .plan-card{padding:1.4rem 1.2rem 1.3rem} }

/* ================= LO QUE DICE LA COMUNIDAD ================= */
.rv-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.1rem}
.rv{position:relative;display:flex;flex-direction:column;gap:.85rem;min-width:0;overflow:hidden;padding:1.25rem 1.25rem 1.1rem;border-radius:22px;border:1px solid var(--stroke);
  background:radial-gradient(300px 160px at 100% 0%,rgba(245,185,66,.09),transparent 70%),var(--elev);
  transition:transform .24s var(--hc-ease),box-shadow .24s ease-out,border-color .24s ease-out}
.rv__quote{position:absolute;right:.9rem;top:.55rem;font:900 5rem/1 Georgia,serif;color:rgba(33,166,7,.16);pointer-events:none;transition:transform .3s var(--hc-ease),color .3s}
.rv__head{display:flex;align-items:center;gap:.65rem;position:relative}
.rv .stars{position:relative;display:inline-block;line-height:1;font-size:19px;letter-spacing:2px;filter:drop-shadow(0 0 6px rgba(245,185,66,.35))}
.rv .stars__base{color:#2c3442}
.rv .stars__fill{position:absolute;left:0;top:0;overflow:hidden;white-space:nowrap;color:var(--gold)}
.rv .rating-num{display:inline-flex;align-items:center;padding:.1rem .55rem;border-radius:999px;font-weight:800;font-size:13px;color:#1b1303;background:linear-gradient(135deg,var(--gold),#ffd98a)}
.rv .review-text{margin:0;flex:1;color:#e4eaf3;font-size:15.5px;line-height:1.55;overflow-wrap:anywhere;position:relative}
.rv__foot{display:grid;gap:.6rem;padding-top:.85rem;border-top:1px solid var(--stroke)}
.rv__who{display:flex;align-items:center;gap:.6rem;min-width:0}
.rv__av{display:grid;place-items:center;flex:none;width:34px;height:34px;border-radius:50%;font:700 .95rem var(--f-display);color:#fff;background:linear-gradient(135deg,#1c9206,#34e27b)}
.rv__name{font-weight:650;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rv__row{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.5rem .7rem}
.rv .biz{display:inline-flex;align-items:center;gap:.35rem;max-width:100%;padding:.32rem .75rem;border-radius:999px;font-weight:700;font-size:13px;text-decoration:none;color:#06130a;
  background:linear-gradient(135deg,#27c20a,#5de58c);box-shadow:0 6px 16px rgba(33,166,7,.28);transition:transform .2s var(--hc-ease),box-shadow .22s ease-out,filter .2s}
.rv .biz span.t{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rv .biz .material-icons{font-size:16px;transition:transform .22s var(--hc-ease)}
.rv .biz:focus-visible{outline:2px solid #fff;outline-offset:2px}
.rv .date{display:inline-flex;align-items:center;gap:.3rem;color:var(--muted);font-size:12.5px}
.rv .date .material-icons{font-size:15px}
.rv .material-icons{line-height:1;vertical-align:middle}

@media (hover:hover) and (pointer:fine){
  .rv:hover{transform:translateY(-6px);border-color:color-mix(in srgb,var(--brand) 75%,var(--stroke));box-shadow:0 18px 40px rgba(33,166,7,.2),0 6px 14px rgba(0,0,0,.35)}
  .rv:hover .rv__quote{transform:rotate(-8deg) scale(1.12);color:rgba(33,166,7,.3)}
  .rv:hover .stars{transform:scale(1.04)}
  .rv .stars{transition:transform .22s var(--hc-ease)}
  .rv .biz:hover{transform:translateY(-2px);filter:brightness(1.08);box-shadow:0 10px 22px rgba(33,166,7,.4)}
  .rv .biz:hover .material-icons{transform:scale(1.2) rotate(-6deg)}
}

/* ---------- paginación (6 por página) ---------- */
.rv-pager{display:flex;flex-direction:column;align-items:center;gap:.7rem;margin-top:1.6rem}
.rv-pager__nav{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:.45rem}
.rv-pager a,.rv-pager span.pg{display:inline-grid;place-items:center;min-width:44px;height:44px;padding:0 .8rem;border-radius:14px;border:1px solid var(--stroke);background:var(--elev);color:var(--text);
  font:700 14.5px var(--f-body);text-decoration:none;transition:transform .2s var(--hc-ease),border-color .2s,background-color .2s,box-shadow .22s ease-out}
.rv-pager a:active{transform:scale(.95)}
.rv-pager a:focus-visible{outline:2px solid var(--brand);outline-offset:2px}
.rv-pager .is-current{border-color:transparent;color:#fff;background:linear-gradient(135deg,#1c9206,#2dd60a);box-shadow:0 8px 20px rgba(33,166,7,.32);pointer-events:none}
.rv-pager .is-off{opacity:.4;pointer-events:none}
.rv-pager .gap{display:inline-grid;place-items:center;min-width:24px;color:var(--muted);font-weight:700}
.rv-pager .material-icons{font-size:22px;line-height:1}
.rv-pager__txt{color:var(--muted);font-size:13px}
@media (hover:hover) and (pointer:fine){
  .rv-pager a:hover{border-color:var(--brand);transform:translateY(-2px);box-shadow:0 10px 22px rgba(33,166,7,.2)}
}

@media (min-width:640px) and (max-width:991.98px){ .rv-grid{grid-template-columns:repeat(2,minmax(0,1fr))} }
@media (max-width:639.98px){ .rv-grid{grid-template-columns:minmax(0,1fr)} .rv{padding:1.1rem 1.1rem 1rem} .rv-pager a,.rv-pager span.pg{min-width:40px;height:42px} }

@media (prefers-reduced-motion:reduce){
  .plan-card,.plan-card *,.btn-choose,.rv,.rv *,.rv-pager a{transition-duration:.01ms!important;animation-duration:.01ms!important}
}

/* ================= CATEGORÍAS (home): 6 arriba y 6 abajo ================= */
.cats--six{grid-template-columns:repeat(6,minmax(0,1fr));gap:.9rem}
.cats--six .cat{position:relative;justify-content:flex-start;gap:.5rem;padding:1.1rem .6rem 1rem;border-radius:20px;overflow:hidden;
  transition:transform .22s var(--hc-ease),box-shadow .22s ease-out,border-color .22s ease-out,background-color .22s}
.cats--six .cat i{width:52px;height:52px;border-radius:16px;transition:transform .22s var(--hc-ease),background-color .22s,color .22s}
.cats--six .cat i .material-icons{font-size:26px}
.cats--six .cat:focus-visible{outline:2px solid var(--brand);outline-offset:2px}
@media (hover:hover) and (pointer:fine){
  .cats--six .cat:hover{transform:translateY(-6px) scale(1.02);border-color:var(--brand);background:linear-gradient(160deg,color-mix(in srgb,var(--brand) 16%,var(--elev)),var(--elev) 72%);
    box-shadow:0 16px 34px rgba(33,166,7,.26),0 4px 10px rgba(0,0,0,.35)}
  .cats--six .cat:hover i{transform:scale(1.15) rotate(-6deg);background:var(--brand);color:#fff}
}
@media (max-width:1023.98px){ .cats--six{grid-template-columns:repeat(4,minmax(0,1fr))} }
@media (max-width:639.98px){ .cats--six{grid-template-columns:repeat(3,minmax(0,1fr));gap:.6rem} .cats--six .cat{padding:.9rem .4rem .8rem;font-size:12.5px} .cats--six .cat i{width:44px;height:44px} }
@media (prefers-reduced-motion:reduce){ .cats--six .cat,.cats--six .cat i{transition-duration:.01ms!important} }

/* ======================================================================
   EFECTOS DE HOVER (solo con mouse): tarjetas de negocios, Exprés y ofertas
   ====================================================================== */
@keyframes hc-pulse{0%{box-shadow:0 0 0 0 rgba(157,255,138,.8)}100%{box-shadow:0 0 0 8px rgba(157,255,138,0)}}
@keyframes hc-pop{0%{transform:scale(.7) rotate(-20deg)}60%{transform:scale(1.3) rotate(8deg)}100%{transform:scale(1)}}
@keyframes hc-shine{0%,55%{left:-60%}100%{left:130%}}

/* ---------- Tarjetas de negocios (Destacados, Recién llegados, Favoritos de la comunidad) ---------- */
.card--fx{--mx:50%;--my:50%;position:relative;transition:transform .25s var(--hc-ease),box-shadow .25s ease-out,border-color .25s ease-out;will-change:transform}
.card--fx .card__stretch{position:absolute;inset:0;z-index:2;border-radius:inherit}
.card--fx .card__stretch:focus-visible{outline:2px solid var(--brand);outline-offset:-3px}
.card--fx::before{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;opacity:0;transition:opacity .25s;background:radial-gradient(260px 200px at var(--mx) var(--my),rgba(52,226,123,.18),transparent 70%)}
.card--fx .card-media img{transition:transform .5s var(--hc-ease),filter .3s}
.card--fx .bd.open{display:inline-flex;align-items:center;gap:.3rem}
.card--fx .bd.open i{width:7px;height:7px;border-radius:50%;background:#9dff8a}
.card--fx .rc-fav--card{z-index:4}
.card--fx .card-acts{position:absolute;left:0;right:0;bottom:0;z-index:4;display:none;gap:.5rem;justify-content:center;padding:2.4rem .8rem .8rem;background:linear-gradient(0deg,rgba(6,12,9,.88),transparent);transform:translateY(110%);opacity:0;transition:transform .3s var(--hc-ease),opacity .25s}
.card-acts a{display:inline-flex;align-items:center;gap:.35rem;height:38px;padding:0 .9rem;border-radius:999px;font:700 13px var(--f-body);color:#06130a;text-decoration:none;white-space:nowrap;transition:transform .2s var(--hc-ease),filter .2s}
.card-acts a .material-icons{font-size:18px}
.card-acts .wa{background:#25d366}
.card-acts .go{background:linear-gradient(135deg,#27c20a,#5de58c)}
.card-acts a:focus-visible{outline:2px solid #fff;outline-offset:2px}
@media (hover:hover) and (pointer:fine){
  .card--fx .card-acts{display:flex}
  .card--fx:hover{transform:perspective(900px) translateY(-8px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));border-color:var(--brand);box-shadow:0 22px 44px rgba(33,166,7,.28),0 6px 14px rgba(0,0,0,.4)}
  .card--fx:hover::before{opacity:1}
  .card--fx:hover .card-media img{transform:scale(1.09);filter:brightness(.82)}
  .card--fx:hover .card-acts,.card--fx:focus-within .card-acts{transform:translateY(0);opacity:1}
  .card--fx:hover .bd.open i{animation:hc-pulse 1.2s ease-out infinite}
  .card--fx:hover .rate .material-icons:first-child{animation:hc-pop .5s var(--hc-ease)}
  .card-acts a:hover{transform:translateY(-2px) scale(1.06);filter:brightness(1.06)}
}

/* ---------- Publicaciones Exprés: tarjeta vertical tipo «historia» ---------- */
.express-grid{grid-template-columns:repeat(auto-fill,minmax(230px,1fr))}
.express-card{--left:.6;aspect-ratio:4/5;border-radius:22px;border-color:var(--stroke);transition:transform .28s var(--hc-ease),box-shadow .28s ease-out,border-color .28s;color:inherit;text-decoration:none}
.express-card .express-cover{position:absolute;inset:0;aspect-ratio:auto;max-height:none}
.express-card .express-cover>img{transition:transform .6s var(--hc-ease),filter .3s}
/* La foto se ve COMPLETA (sin recortes); los lados se rellenan con la misma foto muy difuminada */
.express-card .express-cover::before{content:"";position:absolute;inset:-24px;background:var(--img) center/cover no-repeat;filter:blur(22px) saturate(1.15) brightness(.6)}
.express-card .express-cover>img{object-fit:contain}
.express-card::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(0deg,rgba(6,10,14,.94) 0%,rgba(6,10,14,.4) 48%,transparent 72%)}
.express-card .express-content{position:absolute;inset:0;z-index:2;display:flex;flex-direction:column;justify-content:flex-end;padding:1rem;pointer-events:none}
.express-card .express-tags{position:absolute;left:12px;right:12px;top:12px;margin:0;justify-content:space-between}
.express-card .express-badge{backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.express-card .badge-time{color:#fff;background:rgba(0,0,0,.55);border-color:transparent}
.express-card .badge-new{position:relative;overflow:hidden}
.express-card .badge-new::after{content:"";position:absolute;top:0;left:-60%;width:50%;height:100%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.55),transparent);transform:skewX(-20deg);animation:hc-shine 2.8s ease-in-out infinite}
.express-card .express-card-title{font-weight:800;font-size:1.08rem;line-height:1.2;color:#fff}
.express-card .express-card-description{max-height:0;opacity:0;overflow:hidden;margin-top:0;color:#d4dbe6;font-size:13.5px;transition:max-height .35s var(--hc-ease),opacity .3s,margin .3s}
.express-card .express-go{display:inline-flex;align-self:flex-start;align-items:center;gap:.35rem;height:0;overflow:hidden;opacity:0;padding:0 .9rem;border-radius:999px;font:700 13px var(--f-body);color:#fff;background:linear-gradient(135deg,#1c9206,#2dd60a);transform:translateY(14px);transition:transform .3s var(--hc-ease),opacity .25s,height .3s var(--hc-ease),margin .3s}
.express-card .express-go .material-icons{font-size:18px}
.express-card:focus-visible{outline:2px solid var(--brand);outline-offset:3px}
/* Con mouse: la foto se ve completa y limpia; el texto (título, descripción y botón) aparece al pasar el mouse o al enfocar con teclado */
@media (hover:hover) and (pointer:fine){
  .express-card::after{opacity:0;transition:opacity .3s ease-out}
  .express-card .express-card-title{opacity:0;transform:translateY(10px);transition:opacity .25s ease-out,transform .3s var(--hc-ease)}
  .express-card .express-tags{opacity:0;transform:translateY(-8px);transition:opacity .25s ease-out,transform .3s var(--hc-ease)}
  .express-card:hover,.express-card:focus-visible{transform:translateY(-8px) rotate(-.6deg);border-color:var(--brand);box-shadow:0 22px 44px rgba(255,154,61,.22),0 6px 14px rgba(0,0,0,.4)}
  .express-card:hover::after,.express-card:focus-visible::after{opacity:1}
  .express-card:hover .express-cover>img,.express-card:focus-visible .express-cover>img{transform:scale(1.05)}
  .express-card:hover .express-card-title,.express-card:focus-visible .express-card-title{opacity:1;transform:translateY(0)}
  .express-card:hover .express-tags,.express-card:focus-visible .express-tags{opacity:1;transform:translateY(0)}
  .express-card:hover .express-card-description,.express-card:focus-visible .express-card-description{max-height:84px;opacity:1;margin-top:.35rem}
  .express-card:hover .express-go,.express-card:focus-visible .express-go{height:36px;margin-top:.6rem;opacity:1;transform:translateY(0)}
}
@media (hover:none),(pointer:coarse){ .express-card .express-go{display:none} .express-card .express-card-description{max-height:none;opacity:1;margin-top:.35rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical} }

/* ---------- Ofertas exclusivas del día (anuncios): se conservan los colores de cada anuncio ---------- */
#promo-ofertas .p2-card-image,#promo-destacados .p3-slide-image{overflow:hidden}
#promo-ofertas .p2-card{--px:0px;--py:0px;transition:transform .3s var(--hc-ease),opacity .3s,filter .3s,box-shadow .3s ease-out,border-color .3s}
#promo-ofertas .p2-card-image img,#promo-destacados .p3-slide-image img{transition:transform .5s var(--hc-ease),filter .3s}
#promo-ofertas .p2-card-cta::after,#promo-destacados .p3-slide-cta::after{content:"→";margin-left:.5rem;display:inline-block;transition:transform .25s var(--hc-ease)}
#promo-destacados .p3-slide{--px:0px;--py:0px;transition:border-color .3s,box-shadow .3s ease-out}
@media (hover:hover) and (pointer:fine){
  #promo-ofertas .p2-grid:has(.p2-card:hover) .p2-card:not(:hover){opacity:.55;filter:saturate(.7);transform:scale(.97)}
  #promo-ofertas .p2-card:hover{transform:translateY(-10px);border-color:var(--ads-text,var(--brand));box-shadow:0 26px 50px color-mix(in srgb,var(--ads-text,var(--brand)) 32%,transparent),0 6px 14px rgba(0,0,0,.4)}
  #promo-ofertas .p2-card:hover .p2-card-image img,#promo-destacados .p3-slide:hover .p3-slide-image img{transform:translate(var(--px),var(--py)) scale(1.07)}
  #promo-ofertas .p2-card:hover .p2-card-cta::after,#promo-destacados .p3-slide:hover .p3-slide-cta::after{transform:translateX(4px)}
  #promo-destacados .p3-slide:hover{border-color:var(--ads-text,var(--brand));box-shadow:0 14px 34px color-mix(in srgb,var(--ads-text,var(--brand)) 28%,transparent)}
}
@media (prefers-reduced-motion:reduce){
  .card--fx,.card--fx *,.express-card,.express-card *,#promo-ofertas .p2-card,#promo-ofertas .p2-card *,#promo-destacados .p3-slide,#promo-destacados .p3-slide *{transition-duration:.01ms!important;animation-duration:.01ms!important}
}

@media (max-width:639.98px){ .express-card{aspect-ratio:1/1;border-radius:20px} }

/* ---------- Segundo bloque de ofertas (carrusel infinito): foto completa arriba y pie oscuro compacto abajo; hover en rojo ---------- */
#promo-destacados{--p3-red:#ff2a2a}
#promo-destacados .p3-viewport{padding:16px 8px 26px;margin:-16px -8px -26px}
#promo-destacados .p3-track.p3-static .p3-slide[aria-hidden]{display:none}
#promo-destacados .p3-slide{display:flex;flex-direction:column;border-radius:22px;border:1px solid rgba(255,255,255,.12);box-shadow:0 8px 22px rgba(0,0,0,.3);
  background:color-mix(in srgb,var(--ads-panel-bg,#545454) 28%,#0b0f12)!important;
  transition:transform .3s var(--hc-ease),border-color .3s,box-shadow .3s ease-out}
#promo-destacados .p3-slide-image{position:relative;flex:none;width:100%;aspect-ratio:1/1;background:#0b0f12}
#promo-destacados .p3-slide-image::after{content:"";position:absolute;left:0;right:0;bottom:0;height:28%;pointer-events:none;background:linear-gradient(0deg,rgba(0,0,0,.35),transparent)}
#promo-destacados .p3-slide-content{display:flex;flex-direction:column;flex:1;min-height:136px;padding:14px 16px 16px}
#promo-destacados .p3-slide-title{margin:0 0 4px;font-size:.98rem;line-height:1.2;letter-spacing:.2px;text-transform:uppercase;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
#promo-destacados .p3-slide-sub{margin:0 0 12px;font-size:.86rem;line-height:1.3;opacity:.82;
  display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}
#promo-destacados .p3-slide-cta{align-self:flex-start;margin-top:auto;display:inline-flex;align-items:center;border-radius:999px;padding:.6rem 1.1rem;font-weight:800;font-size:.86rem;
  box-shadow:0 8px 18px rgba(0,0,0,.4);transition:transform .22s var(--hc-ease),box-shadow .22s ease-out,filter .2s}
#promo-destacados .p3-slide-cta::after{content:"→";margin-left:.5rem;display:inline-block;transition:transform .25s var(--hc-ease)}
#promo-destacados .p3-slide-cta:active{transform:scale(.97)}
#promo-destacados .p3-slide-cta:focus-visible{outline:2px solid #fff;outline-offset:3px}

/* flechas: ícono de flecha centrado dentro del círculo */
#promo-destacados .p3-btn{display:grid;place-items:center;width:48px;height:48px;padding:0;font-size:0;color:#fff;background:rgba(14,17,22,.78);border:1px solid rgba(255,255,255,.26);
  box-shadow:0 10px 24px rgba(0,0,0,.45);transition:transform .2s var(--hc-ease),background .2s,border-color .2s,box-shadow .22s ease-out}
/* la flecha se dibuja con un SVG (no con una letra de fuente) para que quede exactamente en el centro del círculo */
#promo-destacados .p3-btn::before{content:"";position:absolute;inset:0;background:url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 24 24%27 fill=%27%23fff%27%3E%3Cpath d=%27M20 11H7.83l5.59-5.59L12 4l-8 8 8 8 1.41-1.41L7.83 13H20v-2z%27/%3E%3C/svg%3E") center/24px 24px no-repeat}
#promo-destacados .p3-btn.next::before{background-image:url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 24 24%27 fill=%27%23fff%27%3E%3Cpath d=%27M12 4l-1.41 1.41L16.17 11H4v2h12.17l-5.58 5.59L12 20l8-8z%27/%3E%3C/svg%3E")}
#promo-destacados .p3-btn{top:36%}
#promo-destacados .p3-btn.prev{left:6px}
#promo-destacados .p3-btn.next{right:6px}
#promo-destacados .p3-btn:active{transform:translateY(-50%) scale(.92)}
#promo-destacados .p3-btn:focus-visible{outline:2px solid #fff;outline-offset:3px}

#promo-destacados .p3-dots{justify-content:center;align-items:center;gap:8px;padding:18px 0 2px}
#promo-destacados .p3-dot{height:8px;width:8px;border-radius:999px;background:rgba(255,255,255,.32);cursor:pointer;transition:width .3s var(--hc-ease),background-color .2s}
#promo-destacados .p3-dot.active{width:28px;background:linear-gradient(90deg,#d10000,var(--p3-red))}

@media (hover:hover) and (pointer:fine){
  #promo-destacados .p3-slide:hover{transform:translateY(-8px);border-color:var(--p3-red);box-shadow:0 22px 44px rgba(255,42,42,.32),0 6px 14px rgba(0,0,0,.4)}
  #promo-destacados .p3-slide:hover .p3-slide-image img{transform:translate(var(--px),var(--py)) scale(1.07)}
  #promo-destacados .p3-slide:hover .p3-slide-cta::after{transform:translateX(4px)}
  #promo-destacados .p3-slide-cta:hover{transform:translateY(-2px);filter:brightness(1.1);box-shadow:0 14px 26px rgba(255,42,42,.45)}
  #promo-destacados .p3-btn:hover{transform:translateY(-50%) scale(1.12);background:linear-gradient(135deg,#d10000,var(--p3-red));border-color:transparent;box-shadow:0 14px 30px rgba(255,42,42,.5)}
  #promo-destacados .p3-dot:hover{background:rgba(255,255,255,.7)}
}

/* ---------- Mini-mapa de la home: la foto es cuadrada y trae el globo del negocio en el centro; con altos fijos se cortaba el globo y el pin en pantallas medianas y celulares ---------- */
#map{width:100%;height:auto;aspect-ratio:1/1;max-height:420px}
#map img{object-position:50% 50%}
@media (max-width:480px){#map{aspect-ratio:5/4;max-height:none}}

/* ---------- Tarjeta «Negocios cercanos» (y los cuadros de cifras): esquinas curvas y espacio abajo ---------- */
/* home.css usa var(--radius), pero esa variable nunca se definió (la del tema se llama --r): por eso las esquinas salían rectas */
:root{--radius:var(--r,18px)}
/* promos-tuning.css quita el espacio de abajo al último elemento de la sección; aquí se devuelve */
section:not(#x) .container.hero-grid > .hero-card:last-child{padding-bottom:1rem!important}

/* ---------- Reseñas de la comunidad: tarjetas MUCHO menos altas (mismo ancho). Solo 3 renglones: estrellas + negocio / texto / nombre + fecha ---------- */
@media (min-width:640px){
  .rv{display:grid;grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"head biz biz" "text text text" "who who date";align-items:center;gap:.4rem .7rem;padding:.8rem 1.1rem .75rem}
  .rv__foot,.rv__row{display:contents}
  .rv__head{grid-area:head}
  .rv .biz{grid-area:biz;justify-self:start;min-width:0;gap:.25rem;padding:.2rem .55rem;font-size:12px}
  .rv .biz .material-icons{font-size:14px}
  .rv__head{gap:.5rem}
  .rv .stars{font-size:16px;letter-spacing:1px}
  .rv .review-text{grid-area:text;line-height:1.4;font-size:15px}
  .rv__who{grid-area:who}
  .rv .date{grid-area:date;justify-self:end;white-space:nowrap}
  .rv__av{width:26px;height:26px;font-size:.78rem}
  .rv__quote{top:1.9rem;right:.8rem;font-size:3.4rem}
}
