  .footer-region{
    margin-top:14px;display:flex;gap:10px;align-items:center;flex-wrap:wrap;
  }
  .region-badge{
    display:inline-flex;align-items:center;gap:6px;
    background:#eef7ff;color:#207ab4;border:1px solid #cde7ff;
    padding:6px 10px;border-radius:999px;font-weight:600;font-size:.9rem;
  }
  .region-badge::before{content:"📍";}
  .region-change-btn{
    background:transparent;border:1px solid #cde7ff;color:#cde7ff;
    border-radius:999px;padding:6px 12px;cursor:pointer;font-weight:600;
  }
  .region-change-btn:hover{background:#cde7ff;color:#0a3b66;}

  /* ===== Region Modal – visual Joie ===== */
  :root{
    --joie-blue:#207ab4;
    --joie-magenta:#E6007E;
  }
  .region-modal{
    position:fixed; inset:0; background:rgba(0,0,0,.55);
    display:none; align-items:center; justify-content:center; z-index:10000;
  }
  .region-modal[aria-hidden="false"]{ display:flex; }

  .region-modal__box{
    width:min(640px,92vw); background:#fff; border-radius:18px; overflow:hidden;
    box-shadow:0 24px 64px rgba(0,0,0,.28); animation:region-drop .25s ease-out;
  }
  @keyframes region-drop{ from{ transform:translateY(-10px); opacity:.7 } to{ transform:translateY(0); opacity:1 } }

  .region-modal__header{
    background:var(--joie-blue); color:#fff; padding:16px 20px;
    display:flex; align-items:center; justify-content:space-between;
  }
  .region-modal__title{
    margin:0; font-size:clamp(1.2rem, 2.6vw, 1.6rem); font-weight:800; letter-spacing:.2px;
  }
  .region-modal__close{
    background:transparent; border:none; color:#fff; font-size:30px; cursor:pointer; line-height:1;
  }

  .region-modal__content{
    display:flex; gap:18px; justify-content:center; padding:26px 22px 18px;
    flex-wrap:wrap;
  }
  .region-btn{
    border:none; border-radius:12px; padding:14px 22px; font-weight:800; cursor:pointer;
    transition:transform .12s ease, box-shadow .12s ease, filter .12s ease;
    box-shadow:0 6px 18px rgba(0,0,0,.10); font-size:1rem;
    display:inline-flex; align-items:center; justify-content:center; white-space:nowrap;
  }
  .region-btn:focus-visible{ outline:3px solid rgba(32,122,180,.35); outline-offset:2px; }
  .region-btn--primary{ background:var(--joie-magenta); color:#fff; }
  .region-btn--primary:hover{ filter:brightness(.96); transform:translateY(-1px); }
  .region-btn--secondary{ background:#fff; color:var(--joie-blue); border:2px solid var(--joie-blue); }
  .region-btn--secondary:hover{ background:#f4f9ff; transform:translateY(-1px); }

  .region-modal__hint{
    text-align:center; color:#6b7280; margin:0 0 22px; font-size:.95rem;
  }

