
/* IBERFIT WEB · Experience layer V6.29
   Mejora progresiva sobre V6.28: reseñas, cobertura internacional y páginas locales. */

.review-showcase.is-carousel-ready{
  display:grid;
  grid-template-columns:minmax(0,.82fr) minmax(360px,1.18fr);
  gap:clamp(2rem,6vw,5.5rem);
  align-items:center;
}
.review-showcase.is-carousel-ready .review-intro{margin:0}
.review-showcase.is-carousel-ready .review-intro h2{max-width:14ch}
.review-showcase.is-carousel-ready .review-source-row{grid-column:1/-1}
.review-carousel-shell{min-width:0}
.review-carousel{
  position:relative;
  min-width:0;
}
.review-carousel-stage{
  position:relative;
  min-height:330px;
}
.review-carousel .client-review{
  width:100%;
  margin:0;
}
.review-carousel .review-slide{
  position:absolute;
  inset:0;
  opacity:0;
  transform:translate3d(26px,0,0) scale(.985);
  pointer-events:none;
  visibility:hidden;
  transition:opacity .42s ease,transform .42s cubic-bezier(.22,.61,.36,1),visibility .42s;
}
.review-carousel .review-slide.is-active{
  position:relative;
  opacity:1;
  transform:none;
  pointer-events:auto;
  visibility:visible;
}
.review-carousel .review-slide.is-leaving{
  opacity:0;
  transform:translate3d(-22px,0,0) scale(.99);
}
.review-carousel-controls{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  margin-top:1rem;
}
.review-carousel-nav{display:flex;align-items:center;gap:.55rem}
.review-carousel-btn{
  width:44px;height:44px;border-radius:50%;
  border:1px solid rgba(217,181,104,.45);
  background:#fffaf0;color:var(--green-deep);
  display:grid;place-items:center;cursor:pointer;
  font-size:1rem;font-weight:850;
  box-shadow:0 9px 24px rgba(3,20,12,.12);
  transition:transform .18s ease,background .18s ease,border-color .18s ease;
}
.review-carousel-btn:hover{transform:translateY(-2px);background:#fff;border-color:var(--gold)}
.review-carousel-btn:focus-visible{outline:3px solid rgba(217,181,104,.38);outline-offset:3px}
.review-carousel-dots{display:flex;align-items:center;justify-content:center;gap:.48rem;flex:1}
.review-carousel-dot{
  position:relative;
  width:44px;height:44px;border:0;border-radius:999px;padding:0;
  background:transparent;cursor:pointer;
}
.review-carousel-dot::after{
  content:"";
  position:absolute;
  left:50%;top:50%;
  width:8px;height:8px;
  border-radius:999px;
  background:rgba(255,255,255,.3);
  transform:translate(-50%,-50%);
  transition:width .25s ease,background .25s ease;
}
.review-carousel-dot.is-active::after{width:28px;background:var(--gold-light)}
.review-carousel-dot:focus-visible{outline:2px solid var(--gold-light);outline-offset:0}
.review-carousel-status{
  min-width:72px;
  text-align:right;
  font-size:.72rem;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:rgba(255,255,255,.62);
}
.review-source-row.review-source-row--internal{
  align-items:center;
  background:rgba(255,255,255,.055);
  border:1px solid rgba(217,181,104,.14);
  border-radius:18px;
  padding:1rem 1.15rem;
  margin-top:1.5rem;
}
.review-source-row--internal .review-verified-badge{
  display:inline-flex;align-items:center;gap:.5rem;
  color:var(--gold-light);font-size:.76rem;font-weight:800;
  letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;
}
.review-verified-badge:before{
  content:"✓";width:1.45rem;height:1.45rem;border-radius:50%;
  display:grid;place-items:center;border:1px solid currentColor;font-size:.7rem;
}

/* Páginas de comunas */
body:is([data-page="local"],[data-page="local_en"]) .hero{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 85% 12%,rgba(217,181,104,.13),transparent 24%),
    linear-gradient(180deg,#faf7f0 0%,#f7f4ee 100%);
}
body:is([data-page="local"],[data-page="local_en"]) .hero:after{
  content:"";position:absolute;right:-100px;bottom:-140px;width:340px;height:340px;border-radius:50%;
  border:1px solid rgba(184,151,58,.10);box-shadow:0 0 0 45px rgba(184,151,58,.035);pointer-events:none;
}
body:is([data-page="local"],[data-page="local_en"]) .hero-text{position:relative;z-index:1}
.local-place-badge{
  width:max-content;max-width:100%;
  display:inline-flex;align-items:center;gap:.8rem;
  padding:.62rem .9rem .62rem .68rem;
  margin:.15rem 0 1.1rem;
  border:1px solid rgba(184,151,58,.36);
  border-radius:999px;
  background:rgba(255,255,255,.82);
  box-shadow:0 10px 30px rgba(20,43,30,.075);
}
.local-place-pin{
  width:34px;height:34px;border-radius:50%;display:grid;place-items:center;flex:none;
  background:linear-gradient(145deg,var(--green),var(--green-mid));color:#fff;
  box-shadow:0 7px 18px rgba(31,61,43,.22);font-size:.92rem;
}
.local-place-copy{display:grid;line-height:1.04}
.local-place-copy small{
  font-size:.61rem;text-transform:uppercase;letter-spacing:.13em;color:var(--muted);font-weight:850;
}
.local-place-copy strong{
  margin-top:.22rem;color:var(--green-deep);font-family:Iowan Old Style,Baskerville,Georgia,serif;font-size:1.07rem;
}
body:is([data-page="local"],[data-page="local_en"]) .eyebrow{margin-bottom:.45rem}
body:is([data-page="local"],[data-page="local_en"]) .hero-meta{
  display:inline-flex;align-items:center;gap:.55rem;
  padding:.62rem .85rem;border-radius:14px;
  background:rgba(31,61,43,.055);border:1px solid rgba(31,61,43,.08);
  color:#34483c;font-weight:650;
}
body:is([data-page="local"],[data-page="local_en"]) .hero-meta:before{content:"●";color:var(--gold);font-size:.72rem}
.local-service-strip{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;
  margin-top:1.25rem;max-width:900px;
}
.local-service-chip{
  display:flex;align-items:flex-start;gap:.7rem;
  padding:.8rem .9rem;border-radius:16px;
  background:rgba(255,255,255,.68);border:1px solid var(--line);
  color:#405247;font-size:.8rem;line-height:1.35;
}
.local-service-chip b{
  display:grid;place-items:center;width:24px;height:24px;flex:none;border-radius:50%;
  background:rgba(184,151,58,.12);color:var(--gold-dark);font-size:.68rem;
}
body:is([data-page="local"],[data-page="local_en"]) .section:not(.cta-panel){padding-top:clamp(3.5rem,6vw,5rem);padding-bottom:clamp(3.5rem,6vw,5rem)}
body:is([data-page="local"],[data-page="local_en"]) .section-head{
  max-width:900px;
  padding-left:clamp(1rem,2vw,1.45rem);
  border-left:2px solid rgba(184,151,58,.55);
}
body:is([data-page="local"],[data-page="local_en"]) .section-head h2{max-width:18ch}
body:is([data-page="local"],[data-page="local_en"]) .cards-4{
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:1rem;
  margin-top:2rem;
}
body:is([data-page="local"],[data-page="local_en"]) .cards-4 .card{
  min-height:210px;
  border-radius:22px;
  background:linear-gradient(145deg,#fffdf8,#f7f3ea);
  border-color:rgba(184,151,58,.2);
}
body:is([data-page="local"],[data-page="local_en"]) .cards-4 .card-index{
  width:38px;height:38px;border-radius:50%;display:grid;place-items:center;
  background:rgba(184,151,58,.10);color:var(--gold-dark);
  font-size:.72rem;font-weight:850;margin-bottom:1rem;
}
body:is([data-page="local"],[data-page="local_en"]) .scope-note{
  border-radius:22px;
  background:linear-gradient(145deg,#fff,#f7f1e5);
  box-shadow:0 16px 42px rgba(20,43,30,.07);
}

@media (max-width:900px){
  .review-showcase.is-carousel-ready{grid-template-columns:1fr;gap:1.6rem}
  .review-showcase.is-carousel-ready .review-intro h2{max-width:18ch}
  .local-service-strip{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:700px){
  .local-service-strip{grid-template-columns:1fr}
  body:is([data-page="local"],[data-page="local_en"]) .cards-4{grid-template-columns:1fr}
  body:is([data-page="local"],[data-page="local_en"]) .cards-4 .card{min-height:0}
  .review-carousel-stage{min-height:300px}
}
@media (max-width:520px){
  .review-carousel-controls{gap:.65rem}
  .review-carousel-status{display:none}
  .review-carousel-btn{width:44px;height:44px}
  .local-place-badge{border-radius:18px;width:100%}
}
@media (prefers-reduced-motion:reduce){
  .review-carousel .review-slide,.review-carousel-btn,.review-carousel-dot{transition:none!important}
}

/* Historia IBERFIT · España → Alemania → España → Chile */
.brand-journey{
  position:relative;
  overflow:hidden;
}
.brand-journey article{
  position:relative;
  padding-top:1.25rem;
  transition:transform .2s ease,background .2s ease,border-color .2s ease;
}
.brand-journey article:hover{
  transform:translateY(-3px);
  background:rgba(255,255,255,.035);
}
.brand-journey .journey-flag{
  display:flex;
  align-items:center;
  justify-content:center;
  width:48px;
  height:48px;
  margin:.25rem 0 1rem;
  border-radius:15px;
  background:rgba(255,255,255,.075);
  border:1px solid rgba(217,181,104,.22);
  box-shadow:0 10px 24px rgba(0,0,0,.12);
  font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  font-size:1.75rem;
  line-height:1;
}
.brand-journey article strong{
  display:block;
  margin-bottom:.55rem;
}
.brand-journey article:nth-child(4){
  background:linear-gradient(180deg,rgba(217,181,104,.07),rgba(217,181,104,.015));
}
.brand-journey article:nth-child(4) .journey-flag{
  background:rgba(217,181,104,.10);
  border-color:rgba(217,181,104,.38);
}
@media (max-width:760px){
  .brand-journey .journey-flag{width:44px;height:44px;font-size:1.55rem}
}
