/* ================================================================
   REGION SELECTOR — Auditrust
   Capa visual independiente. No altera el sitio existente.
   ================================================================ */

/* ── Overlay ── */
.auditrust-region-overlay{
  position:fixed;inset:0;z-index:99990;
  background:rgba(0,0,0,.72);
  backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);
  display:flex;align-items:center;justify-content:center;
  opacity:0;pointer-events:none;
  transition:opacity .35s ease,background-color .46s ease,backdrop-filter .46s ease,-webkit-backdrop-filter .46s ease;
}
.auditrust-region-overlay.is-open{
  opacity:1;pointer-events:auto;
}
.auditrust-region-overlay.is-leaving{
  background:rgba(0,0,0,0);backdrop-filter:blur(0);-webkit-backdrop-filter:blur(0);pointer-events:none;
}

/* ── Modal ── */
.auditrust-region-modal{
  position:relative;z-index:99999;
  width:520px;max-width:calc(100vw - 32px);
  background:#fff;border-radius:4px;
  box-shadow:0 18px 48px rgba(0,0,0,.32);
  display:flex;flex-direction:column;
  transform:translateY(12px) scale(.985);opacity:0;
  transition:transform .35s cubic-bezier(.16,1,.3,1),opacity .35s ease;
  overflow:hidden;
}
.auditrust-region-overlay.is-open .auditrust-region-modal{
  transform:translateY(0) scale(1);opacity:1;
}
.auditrust-region-overlay.is-leaving .auditrust-region-modal{
  transform:translateY(-5px) scale(.992);opacity:0;
}

/* ── Header visual (mapa mundial) ── */
.auditrust-region-header{
  position:relative;height:104px;
  background:#F6F6F6 url('../assets/img/mapa.webp') center center / contain no-repeat;
  background-color:#F6F6F6;
  overflow:hidden;
  display:flex;align-items:center;justify-content:center;
}
.auditrust-region-header::after{
  content:"";position:absolute;bottom:0;left:0;right:0;height:3px;
  background:linear-gradient(90deg,#B70815 0%,#B70815 33%,#1B1B1B 33%,#1B1B1B 66%,#3A3A3A 66%,#3A3A3A 100%);
}

/* ── Contenido ── */
.auditrust-region-content{padding:clamp(1.05rem,2.4vw,1.4rem) clamp(1.2rem,3vw,1.6rem) clamp(.7rem,1.6vw,.95rem)}
.auditrust-region-title{
  font-family:'Montserrat',sans-serif;
  font-size:clamp(1.15rem,2.6vw,1.32rem);font-weight:800;
  line-height:1.25;letter-spacing:.04em;color:#111111;
  margin:0 0 .3rem;text-align:center;
}
.auditrust-region-subtitle{
  font-size:clamp(.78rem,1.4vw,.84rem);
  line-height:1.5;color:#9A9A9A;margin:0 0 clamp(.75rem,1.9vw,1rem);text-align:center;
}

/* ── Grid de regiones ── */
.auditrust-region-grid{
  display:grid;grid-template-columns:repeat(3,1fr);
  border:1px solid #E7E9EC;border-radius:6px;overflow:hidden;
}
.auditrust-region-option{
  position:relative;display:flex;flex-direction:column;justify-content:center;
  padding:clamp(.55rem,1.3vw,.7rem) clamp(.75rem,1.6vw,.95rem);
  background:#fff;text-align:left;border:none;
  font:inherit;color:#1B1B1B;min-height:56px;
  cursor:pointer;
  transition:background .25s ease;
}
.auditrust-region-option:nth-child(3n+1),
.auditrust-region-option:nth-child(3n+2){
  border-right:1px solid #EDEFF2;
}
.auditrust-region-option:nth-child(n+4){
  border-top:1px solid #EDEFF2;
}
.auditrust-region-option:hover{
  background:#F7F8FA;
}
.auditrust-region-option.is-selected{
  background:#F7F8FA;
}
.auditrust-region-option:focus-visible{
  outline:2px solid #B70815;outline-offset:-2px;border-radius:0;
}
.auditrust-region-option-name{
  font-family:'Montserrat',sans-serif;
  font-size:.68rem;
  font-weight:700;letter-spacing:.07em;text-transform:uppercase;
  color:#1B1B1B;line-height:1.4;transition:color .25s ease;
}
.auditrust-region-option:hover .auditrust-region-option-name{color:#B70815}
.auditrust-region-option.is-selected .auditrust-region-option-name{color:#B70815}
.auditrust-region-option-indicator{
  width:4px;height:4px;border-radius:50%;
  background:#C9CDD2;margin-top:.35rem;
  transition:background .25s ease;
}
.auditrust-region-option.is-selected .auditrust-region-option-indicator{background:#B70815}
.auditrust-region-option-line{
  position:absolute;bottom:0;left:0;right:0;
  height:2px;background:#B70815;
  transform:scaleX(0);transform-origin:center;
  transition:transform .3s cubic-bezier(.4,0,.2,1);
}
.auditrust-region-option:hover .auditrust-region-option-line,
.auditrust-region-option.is-selected .auditrust-region-option-line{
  transform:scaleX(1);
}

/* ── Botón CONTINUAR ── */
.auditrust-region-actions{display:flex;justify-content:center;padding:0 clamp(1.2rem,3vw,1.6rem) clamp(1rem,2.3vw,1.3rem)}
.auditrust-region-continue{
  width:100%;max-width:232px;height:clamp(40px,4.5vw,44px);
  background:#B70815;color:#fff;border:none;border-radius:3px;
  font-family:'Montserrat',sans-serif;font-size:.78rem;font-weight:700;
  letter-spacing:.12em;text-transform:uppercase;cursor:pointer;
  transition:background .25s ease,opacity .25s ease;
}
.auditrust-region-continue:hover:not(:disabled){background:#8f0610}
.auditrust-region-continue:disabled{opacity:.35;cursor:not-allowed}
.auditrust-region-continue:focus-visible{outline:2px solid #B70815;outline-offset:2px}

/* ── Tablet: 2×3 ── */
@media(max-width:900px){
  .auditrust-region-grid{grid-template-columns:repeat(2,1fr)}
  .auditrust-region-option:nth-child(3n+1),
  .auditrust-region-option:nth-child(3n+2){border-right:none}
  .auditrust-region-option:nth-child(2n+1){border-right:1px solid #EDEFF2}
  .auditrust-region-option:nth-child(n+4){border-top:none}
  .auditrust-region-option:nth-child(n+5),
  .auditrust-region-option:nth-child(n+6){border-top:1px solid #EDEFF2}
}

/* ── Mobile: 1 columna ── */
@media(max-width:600px){
  .auditrust-region-header{height:72px}
  .auditrust-region-grid{
    grid-template-columns:1fr;
    border:1px solid #E7E9EC;border-radius:6px;overflow:hidden;
  }
  .auditrust-region-option{
    min-height:44px;padding:.65rem 1rem;
    border-right:none!important;
    border-top:1px solid #EDEFF2;
  }
  .auditrust-region-option:first-child{border-top:none}
  .auditrust-region-option:last-child{border-bottom:none}
}

/* ── Reduced motion ── */
@media(prefers-reduced-motion:reduce){
  .auditrust-region-overlay{transition:none}
  .auditrust-region-modal{transition:none}
  .auditrust-region-option{transition:none}
  .auditrust-region-option-line{transition:none}
  .auditrust-region-continue{transition:none}
  .auditrust-region-toggle{transition:none}
}

/* ── Botón flotante para reabrir región ── */
.auditrust-region-toggle{
  position:fixed;right:20px;bottom:calc(20px + 58px + 12px);z-index:80;
  display:inline-flex;align-items:center;gap:8px;
  padding:10px 16px 10px 13px;
  background:#111111;color:#fff;border:1px solid rgba(255,255,255,.08);
  border-radius:999px;cursor:pointer;
  font-family:'Montserrat',sans-serif;font-size:.68rem;font-weight:700;
  letter-spacing:.09em;text-transform:uppercase;
  box-shadow:0 8px 24px rgba(0,0,0,.30);
  transition:background .28s ease,transform .28s ease;
}
.auditrust-region-toggle-icon{
  width:15px;height:15px;flex:none;
}
.auditrust-region-toggle:hover{
  background:#B70815;transform:translateY(-2px);
}

@media(max-width:600px){
  .auditrust-region-toggle{
    right:14px;bottom:calc(14px + 54px + 10px);
    padding:10px 14px 10px 12px;
  }
  .auditrust-region-toggle-label{display:none}
  .auditrust-region-toggle{padding:10px 11px}
}
