/* IPTV Nords 2.3: independent slider and offer components, without legacy layers. */
.nords-site .nords-hero-studio { min-height: 0; padding: 42px 0 24px; background: #fff; color: #10243a; overflow: hidden; }
.nords-site .nords-hero-studio::before,
.nords-site .nords-hero-studio::after,
.nords-site .nords-hero-studio .nords-slide::before,
.nords-site .nords-hero-studio .nords-slide::after { display: none; }
.nords-site .nords-hero-studio .nords-slider { min-height: 0; background: #fff; }
.nords-site .nords-hero-studio .nords-slider-track { display: grid; min-height: 0; overflow: visible; background: #fff; }
.nords-site .nords-hero-studio .nords-slide,
.nords-site .nords-hero-studio .nords-slide.is-active {
  position: relative; inset: auto; grid-area: 1 / 1; display: block; min-width: 0;
  overflow: visible; transform: none; transition: opacity .25s ease, visibility .25s ease;
}
.nords-site .nords-hero-studio .nords-slide { opacity: 0; visibility: hidden; pointer-events: none; }
.nords-site .nords-hero-studio .nords-slide.is-active { opacity: 1; visibility: visible; pointer-events: auto; }
.nords-site .nords-hero-studio .nords-studio-layout {
  width: min(1320px, calc(100% - 64px)); display: grid; grid-template-columns: minmax(0, .86fr) minmax(0, 1.14fr);
  gap: 40px; align-items: center; min-height: 500px;
}
.nords-site .nords-studio-copy { min-width: 0; padding: 18px 0; }
.nords-site .nords-studio-eyebrow { margin: 0 0 20px; color: #006b5d; font-size: 12px; line-height: 1.6; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.nords-site.home .nords-hero-studio .nords-studio-heading {
  max-width: 650px; margin: 0; font-size: 56px; font-size: clamp(38px, 4.1vw, 62px); font-weight: 800;
  line-height: 1.08; letter-spacing: -.04em; color: #10243a; text-shadow: none; overflow-wrap: anywhere; text-wrap: balance;
}
.nords-site .nords-hero-studio .nords-studio-description { max-width: 560px; margin: 24px 0 0; font-size: 18px; line-height: 1.75; color: #41556b; }
.nords-site .nords-hero-studio .nords-hero-actions { gap: 12px; margin-top: 28px; }
.nords-site.home .nords-hero-studio .nords-button { min-height: 54px; padding: 15px 20px; font-size: 15px; font-weight: 750; border-radius: 9px; box-shadow: none; justify-content: center; }
.nords-site.home .nords-hero-studio .button-primary { color: #fff; background: #006b5d; border: 1px solid #006b5d; }
.nords-site.home .nords-hero-studio .button-primary:hover { background: #004d43; border-color: #004d43; }
.nords-site.home .nords-hero-studio .button-quiet { color: #10243a; background: #fff; border: 1px solid #bdcbd2; }
.nords-site.home .nords-hero-studio .button-quiet:hover { background: #f1f7f5; border-color: #006b5d; }
.nords-site .nords-hero-studio .nords-trust-row { color: #41556b; gap: 18px; margin-top: 24px; font-size: 13px; line-height: 1.5; }
.nords-site .nords-hero-studio .nords-trust-row .nords-icon { color: #006b5d; }
.nords-site .nords-studio-visual { margin: 0; min-width: 0; border-radius: 20px; overflow: hidden; background: #edf2f1; border: 1px solid #dce4e3; box-shadow: 0 18px 40px rgba(16,36,58,.08); }
.nords-site .nords-studio-visual img { display: block; width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: contain; object-position: center; filter: none; opacity: 1; animation: none; }
.nords-site .nords-studio-controls { width: min(1320px, calc(100% - 64px)); display: flex; align-items: center; justify-content: space-between; gap: 16px; padding-top: 12px; }
.nords-site .nords-studio-navigation { display: flex; align-items: center; gap: 10px; }
.nords-site .nords-studio-controls .nords-arrow { width: 44px; height: 44px; flex-shrink: 0; color: #10243a; background: #fff; border: 1px solid #cedbd7; box-shadow: none; }
.nords-site .nords-studio-controls .nords-arrow:hover { color: #fff; background: #006b5d; border-color: #006b5d; }
.nords-site .nords-studio-dots { display: flex; gap: 0; }
.nords-site .nords-studio-dots button { display: flex; align-items: center; justify-content: center; padding: 0; width: 32px; height: 44px; border: 0; background: transparent; cursor: pointer; }
.nords-site .nords-studio-dots button span { width: 7px; height: 7px; border-radius: 8px; background: #91a79f; transition: width .2s ease; }
.nords-site .nords-studio-dots button.is-active span { width: 25px; background: #006b5d; }
.nords-site .nords-studio-pause { padding: 10px 12px; min-height: 44px; color: #41556b; background: transparent; border: 1px solid #dce4e3; border-radius: 8px; font-size: 13px; font-weight: 650; cursor: pointer; }
.nords-site .nords-hero-studio button:focus-visible,
.nords-site .nords-hero-studio a:focus-visible,
.nords-site .nords-offers button:focus-visible,
.nords-site .nords-offers a:focus-visible,
.nords-site .nords-offers summary:focus-visible { outline: 3px solid #006b5d; outline-offset: 4px; }

.nords-site .nords-offers { width: 100%; margin: 0 auto; color: #10243a; }
.nords-site .nords-offer-tabs { display: flex; justify-content: center; gap: 4px; width: fit-content; max-width: 100%; margin: 0 auto 32px; padding: 6px; border: 1px solid #d6dfdf; border-radius: 12px; background: #fff; }
.nords-site .nords-offer-term { min-height: 48px; padding: 12px 26px; border: 0; border-radius: 8px; background: transparent; color: #41556b; font-size: 15px; font-weight: 750; cursor: pointer; }
.nords-site .nords-offer-term.is-active { background: #10243a; color: #fff; }
.nords-site .nords-offer-term:hover:not(.is-active) { background: #edf3f1; color: #10243a; }
.nords-site .nords-offer-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: stretch; gap: 24px; max-width: 1220px; margin: 0 auto; }
.nords-site .nords-offer-grid-1 { grid-template-columns: minmax(0, 430px); justify-content: center; }
.nords-site .nords-offer-grid-2 { grid-template-columns: repeat(2, minmax(0, 430px)); justify-content: center; }
.nords-site .nords-offer { --offer-accent: #006b5d; --offer-on-accent: #fff; --offer-price: #006b5d; min-width: 0; display: flex; flex-direction: column; overflow: hidden; border: 1px solid #d5dfde; border-radius: 18px; background: #fff; box-shadow: 0 12px 28px rgba(16,36,58,.065); transition: box-shadow .2s ease, border-color .2s ease; }
.nords-site .nords-offer.is-premium { --offer-accent: #243c84; --offer-price: #243c84; }
.nords-site .nords-offer.is-vip { --offer-accent: #8b2942; --offer-price: #8b2942; }
.nords-site .nords-offer:hover { border-color: var(--offer-accent); box-shadow: 0 18px 36px rgba(16,36,58,.12); }
.nords-site .nords-offer-head { position: relative; text-align: center; min-height: 196px; padding: 25px 22px 24px; background: var(--offer-accent); color: var(--offer-on-accent); }
.nords-site .nords-offer-emblem { display: flex; justify-content: center; margin-bottom: 12px; color: inherit; }
.nords-site .nords-offer-emblem .nords-icon { width: 27px; height: 27px; }
.nords-site .nords-offers .nords-offer-name { margin: 0; color: var(--offer-on-accent); font-size: 25px; line-height: 1.25; font-weight: 800; letter-spacing: -.025em; text-align: center; }
.nords-site .nords-offer-summary { max-width: 280px; margin: 12px auto 0; color: inherit; font-size: 15px; line-height: 1.55; font-weight: 450; text-align: center; }
.nords-site .nords-offer-badge { position: absolute; top: 10px; right: 12px; color: inherit; font-size: 10px; font-weight: 750; letter-spacing: .07em; text-transform: uppercase; }
.nords-site .nords-offer-body { display: flex; flex-direction: column; flex: 1; min-width: 0; padding: 25px; }
.nords-site .nords-offer-price-block { padding: 0 0 22px; text-align: center; }
.nords-site .nords-offer-price { margin: 0; font-size: 54px; font-size: clamp(40px, 4.1vw, 58px); line-height: 1.13; font-weight: 800; letter-spacing: -.055em; color: var(--offer-price); font-variant-numeric: tabular-nums; overflow-wrap: anywhere; text-align: center; }
.nords-site .nords-offer-price-block p { margin: 9px 0 0; color: #526275; font-size: 13px; line-height: 1.5; }
.nords-site .nords-offer-facts { display: grid; grid-template-columns: 1fr 1fr; gap: 0; margin: 0 0 20px; padding: 17px 0; border-top: 1px solid #e0e6e5; border-bottom: 1px solid #e0e6e5; text-align: center; }
.nords-site .nords-offer-facts > div { min-width: 0; padding: 0 6px; }
.nords-site .nords-offer-facts > div + div { border-left: 1px solid #e0e6e5; }
.nords-site .nords-offer-facts dt { color: #526275; font-size: 12px; line-height: 1.5; font-weight: 500; }
.nords-site .nords-offer-facts dd { margin: 5px 0 0; color: #10243a; font-size: 16px; line-height: 1.5; font-weight: 750; }
.nords-site .nords-offer-device-section > p,
.nords-site .nords-offer-highlights > p { margin: 0 0 12px; color: #526275; font-size: 12px; line-height: 1.4; font-weight: 750; letter-spacing: .045em; text-transform: uppercase; }
.nords-site .nords-offer-device-section { text-align: center; }
.nords-site .nords-offer-devices { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 0 3px 20px; }
.nords-site .nords-offer-devices > span { flex: 1; display: flex; flex-direction: column; align-items: center; gap: 7px; color: #41556b; }
.nords-site .nords-offer-devices .nords-icon { width: 18px; height: 18px; color: var(--offer-price); }
.nords-site .nords-offer-devices small { font-size: 12px; line-height: 1.3; font-weight: 650; }
.nords-site .nords-offer-highlights { padding-top: 20px; border-top: 1px solid #e0e6e5; }
.nords-site .nords-offer-highlights ul,
.nords-site .nords-offer-more ul { display: grid; gap: 12px; list-style: none; margin: 0; padding: 0; }
.nords-site .nords-offer-highlights li,
.nords-site .nords-offer-more li { display: flex; align-items: flex-start; gap: 9px; color: #34485e; font-size: 15px; line-height: 1.5; }
.nords-site .nords-offer-highlights .nords-icon,
.nords-site .nords-offer-more li .nords-icon { flex: 0 0 16px; width: 16px; height: 16px; margin-top: 3px; color: var(--offer-price); }
.nords-site .nords-offer-more { margin-top: auto; padding: 16px 0 18px; }
.nords-site .nords-offer-more summary { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 44px; color: var(--offer-price); font-size: 14px; font-weight: 750; list-style: none; cursor: pointer; }
.nords-site .nords-offer-more summary::-webkit-details-marker { display: none; }
.nords-site .nords-offer-more summary > .nords-icon { width: 17px; height: 17px; transform: rotate(90deg); }
.nords-site .nords-offer-more[open] summary > .nords-icon { transform: rotate(-90deg); }
.nords-site .nords-offer-more ul { padding: 10px 0 5px; }
.nords-site .nords-offer .button-offer { min-height: 54px; width: 100%; margin: 0; padding: 15px 18px; border: 1px solid var(--offer-accent); border-radius: 9px; background: var(--offer-accent); color: var(--offer-on-accent); font-size: 15px; line-height: 1.4; font-weight: 800; box-shadow: none; text-decoration: none; justify-content: center; }
.nords-site .nords-offer .button-offer:hover { filter: brightness(.93); transform: none; }
.nords-site .nords-offer-assurance { display: flex; align-items: center; justify-content: center; gap: 7px; margin: 15px 0 0; color: #526275; font-size: 12px; line-height: 1.4; }
.nords-site .nords-offer-assurance .nords-icon { width: 15px; height: 15px; }

@media (max-width: 1100px) {
  .nords-site .nords-hero-studio .nords-studio-layout { gap: 24px; width: calc(100% - 48px); }
  .nords-site .nords-offer-grid { gap: 16px; }
  .nords-site .nords-offer-body { padding: 22px 18px; }
  .nords-site .nords-offer-head { padding-inline: 18px; }
  .nords-site .nords-offers .nords-offer-name { font-size: 23px; }
}
@media (max-width: 900px) {
  .nords-site .nords-hero-studio { padding-top: 24px; }
  .nords-site .nords-hero-studio .nords-studio-layout { width: calc(100% - 36px); max-width: 700px; grid-template-columns: minmax(0, 1fr); gap: 22px; min-height: 0; }
  .nords-site .nords-studio-copy { padding: 4px 0 0; }
  .nords-site.home .nords-hero-studio .nords-studio-heading { font-size: 46px; font-size: clamp(35px, 6.5vw, 50px); max-width: 680px; }
  .nords-site .nords-studio-eyebrow { margin-bottom: 14px; font-size: 11px; }
  .nords-site .nords-hero-studio .nords-studio-description { margin-top: 17px; max-width: 680px; font-size: 17px; line-height: 1.65; }
  .nords-site .nords-hero-studio .nords-hero-actions { margin-top: 21px; }
  .nords-site .nords-hero-studio .nords-trust-row { margin-top: 18px; }
  .nords-site .nords-studio-controls { width: calc(100% - 36px); max-width: 700px; }
  .nords-site .nords-offer-grid,
  .nords-site .nords-offer-grid-2 { grid-template-columns: minmax(0, 500px); justify-content: center; gap: 26px; }
  .nords-site .nords-offer-head { min-height: 0; padding: 26px; }
  .nords-site .nords-offer-body { padding: 26px; }
  .nords-site .nords-offer-price { font-size: 58px; }
  .nords-site .nords-offers .nords-offer-name { font-size: 26px; }
}
@media (max-width: 530px) {
  .nords-site.home .nords-hero-studio .nords-button { width: 100%; }
  .nords-site .nords-studio-visual { border-radius: 14px; }
  .nords-site .nords-studio-controls { gap: 8px; flex-wrap: wrap; }
  .nords-site .nords-studio-navigation { gap: 4px; }
  .nords-site .nords-studio-dots button { width: 26px; }
  .nords-site .nords-studio-pause { padding: 8px; font-size: 12px; }
  .nords-site .nords-offer-tabs { width: 100%; gap: 2px; padding: 4px; }
  .nords-site .nords-offer-term { flex: 1; min-width: 0; padding: 11px 5px; font-size: 13px; }
  .nords-site .nords-offer-body { padding: 24px 21px; }
}
@media (prefers-reduced-motion: reduce) {
  .nords-site .nords-hero-studio .nords-slide,
  .nords-site .nords-studio-dots button span,
  .nords-site .nords-offer { transition: none; }
}
.nords-site .screen-reader-text { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); clip-path: inset(50%); white-space: nowrap; border: 0; }

/* v2.4 · compact Nordic-country ribbon over the Home coverage photograph. */
.nords-site.home .nords-coverage-visual .nords-country-cloud {
  position: absolute;
  z-index: 4;
  top: auto;
  right: 16px;
  bottom: 16px;
  left: 16px;
  width: auto;
  max-width: none;
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 6px;
}
.nords-site.home .nords-coverage-visual .nords-country-card {
  min-width: 0;
  min-height: 48px;
  gap: 6px;
  padding: 6px 7px;
  border-radius: 11px;
  backdrop-filter: blur(12px);
  box-shadow: 0 7px 16px rgba(6, 55, 92, .14);
}
.nords-site.home .nords-coverage-visual .nords-country-flag {
  flex: 0 0 23px;
  width: 23px;
  height: 23px;
  font-size: 17px;
}
.nords-site.home .nords-coverage-visual .nords-country-card strong {
  overflow: hidden;
  font-size: 10px;
  line-height: 1.1;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.nords-site.home .nords-coverage-visual .nords-country-card small {
  font-size: 7px;
  line-height: 1.15;
}
@media (max-width: 820px) {
  .nords-site.home .nords-coverage-visual { min-height: 330px; }
  .nords-site.home .nords-coverage-visual .nords-country-cloud { right: 11px; bottom: 11px; left: 11px; gap: 4px; }
  .nords-site.home .nords-coverage-visual .nords-country-card { min-height: 44px; gap: 4px; padding: 5px; }
  .nords-site.home .nords-coverage-visual .nords-country-flag { flex-basis: 20px; width: 20px; height: 20px; font-size: 15px; }
  .nords-site.home .nords-coverage-visual .nords-country-card strong { font-size: 9px; }
  .nords-site.home .nords-coverage-visual .nords-country-card small { font-size: 6.5px; }
}
@media (max-width: 530px) {
  .nords-site.home .nords-coverage-visual { min-height: 300px; }
  .nords-site.home .nords-coverage-visual .nords-country-cloud { right: 8px; bottom: 8px; left: 8px; gap: 3px; }
  .nords-site.home .nords-coverage-visual .nords-country-card { flex-direction: column; justify-content: center; gap: 2px; min-height: 52px; padding: 4px 2px; text-align: center; }
  .nords-site.home .nords-coverage-visual .nords-country-flag { flex-basis: 18px; width: 18px; height: 18px; font-size: 14px; }
  .nords-site.home .nords-coverage-visual .nords-country-card strong { max-width: 100%; font-size: 8px; }
  .nords-site.home .nords-coverage-visual .nords-country-card small { display: none; }
}

/* 2.4.1: more room for the artwork, readable guides and device cards. */
@media (min-width: 901px) {
  .nords-site .nords-hero-studio .nords-studio-layout { width: min(1440px, calc(100% - 48px)); grid-template-columns: minmax(0, .76fr) minmax(0, 1.24fr); gap: 32px; }
  .nords-site .nords-studio-controls { width: min(1440px, calc(100% - 48px)); }
}
.nords-site .nords-guide-page { background: #f7fafb; }
.nords-site .nords-guide-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; margin: 28px 0 56px; }
.nords-site .nords-guide-card { min-width: 0; padding: 28px; border: 1px solid #dce6e8; border-radius: 18px; background: #fff; box-shadow: 0 8px 24px rgba(16,36,58,.035); }
.nords-site .nords-guide-card h3 { margin: 0 0 12px; font-size: 21px; line-height: 1.35; color: #123c4c; letter-spacing: -.02em; }
.nords-site .nords-guide-card p { margin: 0; color: #40576a; font-size: 16px; line-height: 1.8; }
.nords-site .nords-guide-jumps, .nords-site .nords-guide-actions { display: flex; flex-wrap: wrap; gap: 14px; margin: 28px 0; }
.nords-site .nords-guide-jumps a { padding: 12px 18px; border: 1px solid #c4d9df; border-radius: 30px; background: #fff; color: #075d56; font-weight: 700; }
.nords-site .nords-guide-jumps a:focus-visible { outline: 3px solid #006b5d; outline-offset: 4px; }
.nords-site .nords-guide-page [id], .nords-site .nords-viewing-section { scroll-margin-top: 120px; }
.nords-site .nords-device-chip { min-height: 88px; padding: 18px; border: 1px solid #d3e2e8; border-radius: 15px; background: linear-gradient(135deg, #fff, #f1f8fb); box-shadow: 0 5px 16px rgba(16,36,58,.04); gap: 14px; }
.nords-site .nords-device-chip-icon { flex: 0 0 42px; width: 42px; height: 42px; display: inline-flex; align-items: center; justify-content: center; border-radius: 12px; background: #e7f4f7; color: #087489; }
.nords-site .nords-device-chip-label { font-size: 15px; line-height: 1.5; font-weight: 650; color: #173e54; overflow-wrap: anywhere; }
.nords-site .nords-viewing-section .nords-viewing-visual { border-radius: 20px; overflow: hidden; }
.nords-site .nords-viewing-copy p { line-height: 1.8; }
/* Saved menus can have more links than the bundled navigation. Wrap safely. */
@media (min-width: 1241px) {
  .nords-site .nords-header .nords-nav .nords-menu { flex-wrap: wrap; row-gap: 4px; }
}
@media (max-width: 700px) {
  .nords-site .nords-guide-grid { grid-template-columns: minmax(0, 1fr); gap: 16px; margin-bottom: 36px; }
  .nords-site .nords-guide-card { padding: 22px; }
  .nords-site .nords-device-chip { min-height: 78px; padding: 12px; gap: 10px; }
  .nords-site .nords-device-chip-label { font-size: 14px; }
}
