/* IDNI global additions (home countries) */
.home-name,.flag-inline,#ip-city{transition:opacity .25s ease}
.home-name.swap,.flag-inline.swap,#ip-city.swap{opacity:0}
.flag-inline{display:inline-block;width:1.25em;height:auto;vertical-align:-.12em;border-radius:3px;box-shadow:0 0 0 1px rgba(30,28,36,.18)}
.world .land-dot{transition:fill .8s ease}
.world .land-dot.home{fill:rgba(36,67,155,.6)}
.home-pin{transition:transform 1.1s cubic-bezier(.65,0,.35,1)}
.section-sub{color:var(--muted);font-size:1.08rem;margin:0}

.countries{background:var(--card)}
.country-grid{display:grid;gap:14px;grid-template-columns:repeat(2,1fr)}
@media (min-width:640px){.country-grid{grid-template-columns:repeat(3,1fr)}}
@media (min-width:1000px){.country-grid{grid-template-columns:repeat(4,1fr)}}
.country-card{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:14px;align-items:center;text-align:left;
  padding:16px 18px;border-radius:16px;background:rgba(30,28,36,.035);border:1.5px solid var(--line);color:var(--text);font:inherit;cursor:pointer;
  transition:transform .2s,border-color .2s,background .2s,box-shadow .2s}
.country-card img{grid-row:1 / span 2;width:48px;height:36px;border-radius:6px;object-fit:cover;box-shadow:0 0 0 1px rgba(30,28,36,.15)}
.country-card .cc-name{font-family:var(--display);font-weight:700;font-size:1.05rem;line-height:1.2}
.country-card .cc-cities{color:var(--muted);font-size:.84rem;line-height:1.3}
.country-card:hover{background:rgba(30,28,36,.06);border-color:rgba(36,67,155,.55)}
.country-card:focus-visible{outline:3px solid var(--mint);outline-offset:2px}
.country-card.is-selected{border-color:transparent;background:var(--card) padding-box,var(--grad) border-box;box-shadow:none}
.country-picker{margin:30px auto 0;max-width:880px;display:grid;gap:16px;align-items:end;padding:24px;border-radius:var(--radius);background:var(--card);border:1px solid var(--line)}
@media (min-width:760px){.country-picker{grid-template-columns:1fr 1fr auto}.cp-note{grid-column:1 / -1}}
.cp-field{display:flex;flex-direction:column;gap:6px}
.cp-field label{font-weight:600;font-size:.92rem;color:var(--muted)}
.cp-field input,.cp-field select{font:inherit;color:var(--text);background:rgba(30,28,36,.05);border:1.5px solid var(--line);border-radius:12px;padding:12px 14px;min-height:48px;width:100%}
.cp-field select option{background:var(--bg2);color:var(--text)}
.cp-field input:focus,.cp-field select:focus{outline:none;border-color:var(--violet);box-shadow:0 0 0 3px rgba(36,67,155,.3)}
.cp-cta{white-space:normal;text-align:center;min-height:48px}
.cp-note{margin:0;color:var(--muted);font-size:.9rem}
@media (max-width:420px){.country-card{padding:14px;column-gap:10px}.country-card img{width:38px;height:28px}.country-card .cc-cities{display:none}}
.countries h2,.section-head h2{text-wrap:balance}
/* geo hook */
.geo-hook{display:flex;gap:12px;align-items:flex-start;margin:22px 0 0;padding:14px 16px;max-width:560px;border-radius:16px;background:rgba(36,67,155,.08);border:1px solid rgba(36,67,155,.35);font-size:.98rem;opacity:0;transform:translateY(6px);transition:opacity .6s ease,transform .6s ease}
.geo-hook.show{opacity:1;transform:none}
.geo-hook[hidden]{display:none}
.geo-pin{font-size:1.3rem;line-height:1.2}
.geo-text strong{color:var(--text)}
.geo-sub{color:var(--pink);font-weight:600;margin-left:.2em}
.geo-privacy{display:block;margin-top:4px;color:var(--muted);font-size:.78rem}
.geo-privacy a{color:var(--muted);text-decoration:underline}
.cp-detected{grid-column:1 / -1;margin:0;color:var(--mint);font-size:.9rem}
@media (prefers-reduced-motion:reduce){.geo-hook{transition:none}}

/* Language switcher */
.lang-switch{position:relative}
.lang-menu summary{list-style:none;display:flex;align-items:center;gap:6px;cursor:pointer;color:var(--muted);font-weight:600;font-size:.9rem;padding:6px 10px;border-radius:999px;border:1.5px solid transparent;user-select:none}
.lang-menu summary::-webkit-details-marker{display:none}
.lang-menu summary:hover,.lang-menu[open] summary{color:var(--text);border-color:var(--line)}
.lang-menu summary:focus-visible{outline:2px solid var(--mint);outline-offset:2px}
.lang-list{list-style:none;margin:0;padding:6px;position:absolute;right:0;top:calc(100% + 8px);min-width:200px;background:var(--card);border:1px solid var(--line);border-radius:14px;box-shadow:none;z-index:60}
.lang-list a{display:block;padding:9px 12px;border-radius:9px;color:var(--text)!important;font-size:.95rem}
.lang-list a:hover{background:rgba(30,28,36,.06)}
.lang-list a[aria-current]{background:rgba(36,67,155,.22);font-weight:700}
@media (min-width:861px) and (max-width:1180px){html:not([lang="en"]) .nav-links{gap:16px}html:not([lang="en"]) .nav-links a{font-size:.88rem}}
@media (max-width:860px){
  .lang-menu summary{padding:12px 0;font-size:1.05rem;border:0}
  .lang-list{position:static;box-shadow:none;background:transparent;border:0;padding:0 0 6px;display:grid;grid-template-columns:1fr 1fr;gap:2px}
  .lang-list a{padding:9px 10px!important;font-size:.98rem!important}
}

/* "Coming soon" note (IDNI Connect for Windows) */
.soon-note{display:flex;align-items:flex-start;gap:14px;max-width:780px;margin:28px auto 0;padding:16px 20px;border-radius:16px;border:1px solid rgba(36,67,155,.45);background:rgba(36,67,155,.08);text-align:left;line-height:1.55}
.soon-note.soon-left{margin:22px 0 0}
.soon-note .soon-ico{flex:0 0 auto;width:26px;height:26px;margin-top:3px;color:var(--mint)}
.soon-note p{margin:0;color:var(--muted);font-size:.95rem}
.soon-note strong{color:var(--text)}
.soon-note a{color:var(--mint);text-decoration:underline;text-underline-offset:2px}
.soon-badge{display:inline-block;background:var(--grad);color:var(--on-accent);font-weight:800;font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;padding:3px 10px;border-radius:999px;margin-right:8px;vertical-align:2px;white-space:nowrap}
@media (max-width:560px){.soon-note{padding:14px 15px;gap:10px;margin-top:22px}.soon-note .soon-ico{width:22px;height:22px}.soon-note p{font-size:.92rem}}
