/* AirSimGo Premium — presentation layer */

:root {
  --asgo-primary: #f04a1d;
  --asgo-secondary: #e92b19;
  --asgo-accent: #f8b400;
  --asgo-warm: #ff7a1a;
  --asgo-ink: #251b18;
  --asgo-muted: #6e625d;
  --asgo-surface: #fff9f3;
  --asgo-white: #fff;
  --asgo-line: #eadfd7;
  --asgo-success: #16845b;
  --asgo-danger: #c32929;
  --asgo-font: "Inter", system-ui, sans-serif;
  --asgo-display: "Plus Jakarta Sans", "Inter", system-ui, sans-serif;
  --asgo-radius: 20px;
  --asgo-max: 1280px;
  --asgo-shadow-sm: 0 8px 30px rgba(63, 29, 17, .08);
  --asgo-shadow: 0 22px 70px rgba(82, 35, 15, .13);
  --asgo-gradient: linear-gradient(115deg, var(--asgo-secondary) 0%, var(--asgo-primary) 48%, var(--asgo-warm) 100%);
  --asgo-gradient-sun: linear-gradient(115deg, var(--asgo-accent) 0%, var(--asgo-warm) 55%, var(--asgo-secondary) 130%);
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
html.asgo-scroll-locked { overflow: hidden; }
body {
  margin: 0;
  background: var(--asgo-page, var(--asgo-white));
  color: var(--asgo-ink);
  font-family: var(--asgo-font);
  font-size: 16px;
  line-height: 1.65;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}
body.admin-bar .asgo-site-header.is-sticky { top: 32px; }
img { max-width: 100%; height: auto; }
a { color: var(--asgo-secondary); text-decoration-thickness: .08em; text-underline-offset: .16em; }
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }
::selection { background: color-mix(in srgb, var(--asgo-accent) 45%, white); color: var(--asgo-ink); }

h1, h2, h3, h4, h5, h6 {
  margin: 0 0 .6em;
  color: var(--asgo-ink);
  font-family: var(--asgo-display);
  font-weight: 800;
  line-height: 1.1;
  letter-spacing: -.035em;
}
h1 { font-size: clamp(2.55rem, 6vw, 5.6rem); }
h2 { font-size: clamp(2rem, 4vw, 3.45rem); }
h3 { font-size: clamp(1.25rem, 2vw, 1.6rem); }
p { margin: 0 0 1.25em; }

.asgo-container { width: min(calc(100% - 40px), var(--asgo-max)); margin-inline: auto; }
.asgo-main { min-height: 48vh; }
.asgo-icon { width: 1.25em; height: 1.25em; flex: 0 0 auto; }
.screen-reader-text {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}
.screen-reader-text:focus {
  position: fixed !important;
  z-index: 100000;
  top: 12px;
  left: 12px;
  width: auto !important;
  height: auto !important;
  clip: auto !important;
  margin: 0 !important;
  padding: 12px 18px !important;
  border-radius: 10px;
  background: var(--asgo-ink);
  color: #fff;
}
:focus-visible { outline: 3px solid var(--asgo-accent); outline-offset: 3px; }

/* Buttons and recurring accents */
.asgo-button,
.wp-element-button,
.wp-block-button__link {
  position: relative;
  isolation: isolate;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  min-height: 48px;
  padding: 12px 22px;
  overflow: hidden;
  border: 0;
  border-radius: 999px;
  background: var(--asgo-gradient);
  box-shadow: 0 12px 28px color-mix(in srgb, var(--asgo-primary) 28%, transparent);
  color: #fff;
  font-family: var(--asgo-display);
  font-size: .92rem;
  font-weight: 800;
  line-height: 1;
  text-decoration: none;
  transition: transform .22s ease, box-shadow .22s ease, filter .22s ease;
}
.asgo-button::before,
.wp-element-button::before,
.wp-block-button__link::before {
  position: absolute;
  z-index: -1;
  width: 80px;
  height: 80px;
  left: calc(var(--asgo-x, 50%) - 40px);
  top: calc(var(--asgo-y, 50%) - 40px);
  border-radius: 50%;
  background: rgba(255,255,255,.22);
  content: "";
  opacity: 0;
  transform: scale(.3);
  transition: opacity .2s ease, transform .35s ease;
}
.asgo-button:hover,
.wp-element-button:hover,
.wp-block-button__link:hover { color: #fff; transform: translateY(-2px); box-shadow: 0 18px 34px color-mix(in srgb, var(--asgo-primary) 35%, transparent); }
.asgo-button:hover::before,
.wp-element-button:hover::before,
.wp-block-button__link:hover::before { opacity: 1; transform: scale(2.1); }
.asgo-button--header { min-height: 44px; padding: 11px 19px; white-space: nowrap; }
.asgo-button--large { min-height: 58px; padding: 16px 28px; font-size: 1rem; }
.asgo-button--ghost { border: 1px solid var(--asgo-line); background: #fff; box-shadow: none; color: var(--asgo-ink); }
.asgo-button--ghost:hover { color: var(--asgo-secondary); box-shadow: var(--asgo-shadow-sm); }
.asgo-button--light { background: #fff; box-shadow: none; color: var(--asgo-secondary); }
.asgo-button--light:hover { color: var(--asgo-secondary); }
.asgo-text-link { display: inline-flex; align-items: center; gap: 8px; color: var(--asgo-secondary); font-weight: 800; text-decoration: none; }
.asgo-text-link .asgo-icon { transition: transform .2s ease; }
.asgo-text-link:hover .asgo-icon { transform: translateX(4px); }
.asgo-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 14px;
  color: var(--asgo-primary);
  font-family: var(--asgo-display);
  font-size: .74rem;
  font-weight: 800;
  letter-spacing: .15em;
  line-height: 1.2;
  text-transform: uppercase;
}

/* Announcement */
.asgo-announcement { position: relative; z-index: 1001; background: var(--asgo-ink); color: #fff; font-size: .78rem; font-weight: 700; }
.asgo-announcement::before { position: absolute; inset: 0; background: radial-gradient(circle at 75% 0, color-mix(in srgb, var(--asgo-primary) 48%, transparent), transparent 35%); content: ""; pointer-events: none; }
.asgo-announcement__inner { position: relative; display: flex; align-items: center; justify-content: center; gap: 24px; min-height: 37px; }
.asgo-announcement__inner > span, .asgo-announcement a { display: inline-flex; align-items: center; gap: 7px; }
.asgo-announcement a { color: var(--asgo-accent); text-decoration: none; }
.asgo-announcement a .asgo-icon { width: 1em; transition: transform .2s ease; }
.asgo-announcement a:hover .asgo-icon { transform: translateX(3px); }

/* Header */
.asgo-site-header {
  position: relative;
  z-index: 1000;
  width: 100%;
  border-bottom: 1px solid rgba(75, 42, 31, .1);
  background: color-mix(in srgb, var(--asgo-header, #fff) 96%, transparent);
  transition: background .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.asgo-site-header.is-sticky { position: sticky; top: 0; }
.asgo-site-header.is-scrolled { border-color: transparent; background: color-mix(in srgb, var(--asgo-header, #fff) 91%, transparent); box-shadow: 0 14px 38px rgba(54, 27, 16, .09); -webkit-backdrop-filter: blur(18px); backdrop-filter: blur(18px); }
.asgo-site-header__inner { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: clamp(20px, 3vw, 48px); min-height: 78px; }
.asgo-site-brand { min-width: 170px; }
.custom-logo-link { display: inline-flex; align-items: center; }
.custom-logo { width: auto; max-width: 225px; max-height: 58px; }
.asgo-wordmark { display: inline-flex; align-items: center; gap: 11px; color: var(--asgo-ink); text-decoration: none; }
.asgo-wordmark__mark { display: grid; width: 42px; height: 42px; place-items: center; }
.asgo-wordmark__mark svg { width: 100%; height: 100%; overflow: visible; }
.asgo-wordmark__mark circle, .asgo-wordmark__mark path:not(.asgo-wordmark__plane) { fill: none; stroke: var(--asgo-accent); stroke-width: 2.5; }
.asgo-wordmark__mark .asgo-wordmark__plane { fill: var(--asgo-secondary); stroke: none; }
.asgo-wordmark__text { font-family: var(--asgo-display); font-size: 1.45rem; font-weight: 800; letter-spacing: -.055em; }
.asgo-wordmark__text::first-letter { color: var(--asgo-secondary); }
.asgo-wordmark--official img { display: block; width: auto; height: 54px; object-fit: contain; }

.asgo-primary-nav { justify-self: center; min-width: 0; }
.asgo-menu { display: flex; align-items: center; gap: clamp(16px, 2vw, 30px); padding: 0; margin: 0; list-style: none; }
.asgo-menu li { position: relative; margin: 0; }
.asgo-menu a { position: relative; display: inline-flex; align-items: center; min-height: 44px; color: var(--asgo-ink); font-family: var(--asgo-display); font-size: .83rem; font-weight: 700; text-decoration: none; white-space: nowrap; }
.asgo-primary-nav > .asgo-menu > li > a::after { position: absolute; right: 50%; bottom: 4px; left: 50%; height: 2px; border-radius: 2px; background: var(--asgo-gradient-sun); content: ""; transition: left .22s ease, right .22s ease; }
.asgo-primary-nav > .asgo-menu > li > a:hover::after,
.asgo-primary-nav > .asgo-menu > .current-menu-item > a::after,
.asgo-primary-nav > .asgo-menu > .current-menu-ancestor > a::after { right: 0; left: 0; }
.asgo-menu .sub-menu { position: absolute; top: calc(100% + 10px); left: 50%; min-width: 220px; padding: 10px; margin: 0; border: 1px solid var(--asgo-line); border-radius: 14px; background: #fff; box-shadow: var(--asgo-shadow); list-style: none; opacity: 0; pointer-events: none; transform: translate(-50%, -8px); transition: opacity .2s ease, transform .2s ease; }
.asgo-menu li:hover > .sub-menu, .asgo-menu li:focus-within > .sub-menu { opacity: 1; pointer-events: auto; transform: translate(-50%, 0); }
.asgo-menu .sub-menu a { width: 100%; min-height: 40px; padding: 7px 10px; border-radius: 9px; }
.asgo-menu .sub-menu a:hover { background: var(--asgo-surface); color: var(--asgo-secondary); }

.asgo-header-actions { display: flex; align-items: center; justify-content: flex-end; gap: 9px; }
.asgo-header-search, .asgo-header-account, .asgo-header-cart, .asgo-mobile-toggle, .asgo-icon-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  min-width: 42px;
  min-height: 42px;
  padding: 7px 9px;
  border: 0;
  border-radius: 12px;
  background: transparent;
  color: var(--asgo-ink);
  font-size: .8rem;
  font-weight: 700;
  text-decoration: none;
  transition: background .2s ease, color .2s ease;
}
.asgo-header-search:hover, .asgo-header-account:hover, .asgo-header-cart:hover, .asgo-mobile-toggle:hover, .asgo-icon-button:hover { background: var(--asgo-surface); color: var(--asgo-secondary); }
.asgo-header-cart { position: relative; padding: 7px; }
.asgo-cart-count { position: absolute; top: 0; right: 0; display: grid; min-width: 18px; height: 18px; padding: 0 4px; place-items: center; border: 2px solid #fff; border-radius: 999px; background: var(--asgo-secondary); color: #fff; font-size: .62rem; line-height: 1; }
.asgo-mobile-toggle { display: none; }

/* Mobile drawer */
.asgo-mobile-drawer { position: fixed; z-index: 2000; inset: 0; visibility: hidden; }
.asgo-mobile-drawer.is-open { visibility: visible; }
.asgo-mobile-drawer__backdrop { position: absolute; inset: 0; background: rgba(37,27,24,.56); opacity: 0; transition: opacity .24s ease; -webkit-backdrop-filter: blur(3px); backdrop-filter: blur(3px); }
.asgo-mobile-drawer.is-open .asgo-mobile-drawer__backdrop { opacity: 1; }
.asgo-mobile-drawer__panel { position: absolute; top: 0; right: 0; display: flex; flex-direction: column; width: min(88vw, 420px); height: 100%; padding: 22px; overflow-y: auto; background: #fff; box-shadow: -20px 0 60px rgba(37,27,24,.18); transform: translateX(102%); transition: transform .26s cubic-bezier(.2,.8,.2,1); }
.asgo-mobile-drawer.is-open .asgo-mobile-drawer__panel { transform: translateX(0); }
.asgo-mobile-drawer__head { display: flex; align-items: center; justify-content: space-between; padding-bottom: 18px; border-bottom: 1px solid var(--asgo-line); font-family: var(--asgo-display); font-size: 1.2rem; }
.asgo-mobile-search { display: flex; align-items: center; gap: 10px; width: 100%; min-height: 50px; padding: 12px 14px; margin: 18px 0 10px; border: 1px solid var(--asgo-line); border-radius: 13px; background: var(--asgo-surface); color: var(--asgo-muted); text-align: left; }
.asgo-mobile-nav .asgo-menu { display: block; }
.asgo-mobile-nav .asgo-menu > li { display: grid; grid-template-columns: 1fr auto; border-bottom: 1px solid #f1e9e4; }
.asgo-mobile-nav .asgo-menu a { min-height: 52px; font-size: .98rem; }
.asgo-submenu-toggle { width: 42px; border: 0; background: transparent; }
.asgo-submenu-toggle svg { width: 20px; fill: none; stroke: currentColor; stroke-width: 1.8; transition: transform .2s ease; }
.asgo-mobile-nav .sub-menu { position: static; grid-column: 1 / -1; display: none; min-width: 0; padding: 0 0 10px 14px; border: 0; box-shadow: none; opacity: 1; transform: none; pointer-events: auto; }
.asgo-mobile-nav .is-submenu-open > .sub-menu { display: block; }
.asgo-mobile-nav .is-submenu-open > .asgo-submenu-toggle svg { transform: rotate(180deg); }
.asgo-mobile-drawer__actions { display: grid; gap: 10px; margin-top: 24px; }
.asgo-mobile-drawer__trust { display: flex; align-items: center; gap: 8px; padding-top: 20px; margin-top: auto; color: var(--asgo-muted); font-size: .84rem; font-weight: 700; }

/* Global destination command palette */
.asgo-destination-modal { position: fixed; z-index: 3000; inset: 0; visibility: hidden; }
.asgo-destination-modal.is-open { visibility: visible; }
.asgo-destination-modal__backdrop { position: absolute; inset: 0; background: rgba(37,27,24,.68); opacity: 0; transition: opacity .22s ease; -webkit-backdrop-filter: blur(7px); backdrop-filter: blur(7px); }
.asgo-destination-modal.is-open .asgo-destination-modal__backdrop { opacity: 1; }
.asgo-destination-modal__dialog { position: relative; display: flex; flex-direction: column; width: min(calc(100% - 34px), 820px); max-height: min(780px, calc(100vh - 60px)); padding: clamp(20px, 4vw, 34px); margin: 30px auto; border: 1px solid rgba(255,255,255,.4); border-radius: calc(var(--asgo-radius) + 6px); background: #fff; box-shadow: 0 40px 100px rgba(26,11,7,.35); opacity: 0; transform: translateY(20px) scale(.975); transition: opacity .22s ease, transform .26s cubic-bezier(.2,.8,.2,1); }
.asgo-destination-modal.is-open .asgo-destination-modal__dialog { opacity: 1; transform: translateY(0) scale(1); }
.asgo-destination-modal__head { display: flex; align-items: flex-start; justify-content: space-between; gap: 24px; }
.asgo-destination-modal__head h2 { margin: 0 0 17px; font-size: clamp(1.65rem, 4vw, 2.55rem); }
.asgo-destination-modal__head .asgo-eyebrow { margin-bottom: 8px; }
.asgo-command-search { display: grid; grid-template-columns: auto minmax(0,1fr) auto; align-items: center; gap: 11px; min-height: 58px; padding: 0 16px; border: 2px solid color-mix(in srgb, var(--asgo-primary) 25%, var(--asgo-line)); border-radius: 15px; background: var(--asgo-surface); color: var(--asgo-primary); }
.asgo-command-search:focus-within { border-color: var(--asgo-primary); box-shadow: 0 0 0 4px color-mix(in srgb, var(--asgo-primary) 12%, transparent); }
.asgo-command-search input { width: 100%; height: 54px; padding: 0; border: 0; outline: 0; background: transparent; color: var(--asgo-ink); font-size: 1rem; }
.asgo-command-search kbd { padding: 4px 7px; border: 1px solid var(--asgo-line); border-radius: 6px; background: #fff; color: var(--asgo-muted); font-size: .66rem; }
.asgo-search-status { min-height: 1.35em; margin: 10px 2px 4px; color: var(--asgo-muted); font-size: .75rem; }
.asgo-command-results { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 8px; padding-right: 4px; overflow-y: auto; overscroll-behavior: contain; }
.asgo-command-results > a { display: grid; grid-template-columns: auto minmax(0,1fr) auto; align-items: center; gap: 12px; min-height: 68px; padding: 10px 13px; border: 1px solid transparent; border-radius: 13px; color: var(--asgo-ink); text-decoration: none; transition: border .18s ease, background .18s ease, transform .18s ease; }
.asgo-command-results > a:hover, .asgo-command-results > a:focus-visible { border-color: color-mix(in srgb, var(--asgo-primary) 22%, var(--asgo-line)); background: var(--asgo-surface); transform: translateY(-1px); }
.asgo-command-flag { display: grid; width: 42px; height: 42px; place-items: center; border-radius: 12px; background: #fff; box-shadow: 0 5px 18px rgba(48,25,18,.08); font-size: 1.45rem; }
.asgo-command-results strong, .asgo-command-results small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.asgo-command-results strong { font-family: var(--asgo-display); font-size: .88rem; }
.asgo-command-results small { color: var(--asgo-muted); font-size: .72rem; }
.asgo-command-results > a > .asgo-icon { color: var(--asgo-primary); }
.asgo-command-empty { display: grid; min-height: 230px; place-items: center; align-content: center; color: var(--asgo-muted); text-align: center; }
.asgo-command-empty .asgo-icon { width: 45px; height: 45px; margin-bottom: 10px; color: var(--asgo-primary); }
.asgo-command-empty strong, .asgo-command-empty span { display: block; }
.asgo-command-empty strong { color: var(--asgo-ink); font-family: var(--asgo-display); }

/* Page and article primitives */
.asgo-page-hero, .asgo-article-hero { position: relative; overflow: hidden; padding: clamp(70px, 9vw, 125px) 0 clamp(55px, 7vw, 95px); background: var(--asgo-surface); }
.asgo-page-hero::before, .asgo-article-hero::before { position: absolute; inset: -50% -10% auto 35%; height: 420px; border-radius: 50%; background: radial-gradient(circle, color-mix(in srgb, var(--asgo-accent) 24%, transparent), transparent 65%); content: ""; }
.asgo-page-hero h1 { max-width: 900px; margin: 0; font-size: clamp(2.5rem, 6vw, 4.8rem); }
.asgo-content-layout { padding: clamp(48px, 7vw, 90px) 0; }
.asgo-entry { max-width: 920px; }
.asgo-entry__media, .asgo-article__media { overflow: hidden; margin-bottom: 38px; border-radius: calc(var(--asgo-radius) + 4px); box-shadow: var(--asgo-shadow); }
.asgo-prose { color: #4d423e; font-size: 1.075rem; }
.asgo-prose > * { max-width: 780px; margin-right: auto; margin-left: auto; }
.asgo-prose > .alignwide { max-width: var(--asgo-max); }
.asgo-prose > .alignfull { max-width: none; width: 100vw; margin-left: 50%; transform: translateX(-50%); }
.asgo-prose h2, .asgo-prose h3, .asgo-prose h4 { margin-top: 1.65em; }
.asgo-prose a { font-weight: 700; }
.asgo-prose blockquote { padding: 18px 24px; border-left: 4px solid var(--asgo-primary); border-radius: 0 var(--asgo-radius) var(--asgo-radius) 0; background: var(--asgo-surface); font-family: var(--asgo-display); font-size: 1.15rem; font-weight: 600; }
.asgo-prose table { width: 100%; border-collapse: collapse; }
.asgo-prose th, .asgo-prose td { padding: 12px; border-bottom: 1px solid var(--asgo-line); text-align: left; }
.asgo-full-width-page, .asgo-full-width-content { width: 100%; }
.asgo-full-width-content > .asgm-app { width: 100%; }

/* Fallback front page before companion activation */
.asgo-fallback-hero { position: relative; overflow: hidden; min-height: 670px; padding: clamp(70px, 8vw, 120px) 0; background: linear-gradient(145deg, #fff 0%, var(--asgo-surface) 52%, #fff2df 100%); }
.asgo-fallback-hero::before { position: absolute; width: 650px; height: 650px; right: -200px; bottom: -330px; border-radius: 50%; background: color-mix(in srgb, var(--asgo-accent) 17%, transparent); filter: blur(8px); content: ""; }
.asgo-fallback-hero__grid { position: relative; display: grid; grid-template-columns: minmax(0,1.05fr) minmax(400px,.95fr); align-items: center; gap: clamp(30px, 6vw, 90px); }
.asgo-fallback-hero__copy h1 { max-width: 760px; }
.asgo-fallback-hero__copy > p { max-width: 640px; color: var(--asgo-muted); font-size: clamp(1.05rem, 2vw, 1.25rem); }
.asgo-fallback-hero__actions { display: flex; align-items: center; flex-wrap: wrap; gap: 20px; margin-top: 30px; }
.asgo-fallback-proof { display: flex; flex-wrap: wrap; gap: 22px; margin-top: 34px; color: var(--asgo-muted); font-size: .83rem; }
.asgo-fallback-proof span { display: inline-flex; align-items: center; gap: 8px; }
.asgo-fallback-proof .asgo-icon { color: var(--asgo-primary); }
.asgo-fallback-visual { position: relative; min-height: 480px; border-radius: 42% 58% 53% 47% / 46% 40% 60% 54%; background: var(--asgo-gradient-sun); box-shadow: inset 0 0 80px rgba(255,255,255,.25), 0 50px 100px rgba(211,70,19,.22); }
.asgo-globe-art { position: absolute; width: 285px; height: 285px; top: 50%; left: 46%; color: rgba(255,255,255,.34); transform: translate(-50%,-50%); }
.asgo-globe-art .asgo-icon { width: 100%; height: 100%; stroke-width: .8; }
.asgo-phone-art { position: absolute; top: 50%; left: 50%; display: flex; flex-direction: column; width: 180px; height: 350px; padding: 32px 18px; border: 8px solid var(--asgo-ink); border-radius: 36px; background: linear-gradient(160deg,#fff,#fff4e8); box-shadow: 0 30px 60px rgba(61,24,12,.3); transform: translate(-50%,-50%) rotate(7deg); }
.asgo-phone-art::before { position: absolute; top: 8px; left: 50%; width: 64px; height: 16px; border-radius: 20px; background: var(--asgo-ink); content: ""; transform: translateX(-50%); }
.asgo-phone-art span { color: var(--asgo-secondary); font-family: var(--asgo-display); font-size: .8rem; font-weight: 800; }
.asgo-phone-art strong { margin: auto 0 0; color: var(--asgo-primary); font-family: var(--asgo-display); font-size: 4rem; line-height: 1; }
.asgo-phone-art small { font-weight: 800; }
.asgo-orbit { position: absolute; border: 1px dashed rgba(255,255,255,.6); border-radius: 50%; }
.asgo-orbit--one { inset: 9%; }
.asgo-orbit--two { inset: 22% -12%; transform: rotate(28deg); }
.asgo-flight-dot { position: absolute; top: 18%; right: 16%; width: 16px; height: 16px; border: 4px solid #fff; border-radius: 50%; box-shadow: 0 0 0 9px rgba(255,255,255,.18); }
.asgo-setup-prompt { padding: 80px 0; }
.asgo-setup-prompt__card { padding: clamp(30px,6vw,70px); border: 1px solid var(--asgo-line); border-radius: calc(var(--asgo-radius) + 10px); background: var(--asgo-surface); text-align: center; }
.asgo-setup-prompt__card h2 { max-width: 850px; margin-inline: auto; }
.asgo-setup-prompt__card p { max-width: 760px; margin-inline: auto; color: var(--asgo-muted); }

/* Blog */
.asgo-blog-layout { padding: clamp(50px, 7vw, 90px) 0; }
.asgo-blog-grid { display: grid; grid-template-columns: minmax(0,1fr) 310px; gap: 50px; }
.asgo-post-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 26px; }
.asgo-post-card { overflow: hidden; border: 1px solid var(--asgo-line); border-radius: var(--asgo-radius); background: #fff; box-shadow: var(--asgo-shadow-sm); transition: transform .22s ease, box-shadow .22s ease; }
.asgo-post-card:hover { transform: translateY(-5px); box-shadow: var(--asgo-shadow); }
.asgo-post-card__media { display: block; height: 230px; overflow: hidden; background: linear-gradient(135deg,var(--asgo-surface),#fff0db); }
.asgo-post-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }
.asgo-post-card:hover .asgo-post-card__media img { transform: scale(1.04); }
.asgo-post-card__media > span { display: grid; height: 100%; place-items: center; color: var(--asgo-primary); }
.asgo-post-card__media .asgo-icon { width: 70px; height: 70px; }
.asgo-post-card__body { padding: 24px; }
.asgo-post-card h2 { margin: 9px 0; font-size: 1.35rem; }
.asgo-post-card h2 a { color: var(--asgo-ink); text-decoration: none; }
.asgo-post-card p { color: var(--asgo-muted); font-size: .92rem; }
.asgo-entry-meta { display: flex; flex-wrap: wrap; gap: 12px; color: var(--asgo-muted); font-size: .74rem; font-weight: 700; }
.asgo-entry-meta span + span::before { margin-right: 12px; content: "•"; color: var(--asgo-accent); }
.asgo-sidebar { display: grid; align-content: start; gap: 20px; }
.asgo-widget { padding: 22px; border: 1px solid var(--asgo-line); border-radius: var(--asgo-radius); }
.asgo-widget__title { font-size: 1.1rem; }
.asgo-widget ul { padding: 0; margin: 0; list-style: none; }
.asgo-widget li { padding: 8px 0; border-bottom: 1px solid #f1e9e4; }
.asgo-widget a { color: var(--asgo-ink); text-decoration: none; }
.asgo-article-hero__inner { max-width: 920px; }
.asgo-article-hero h1 { font-size: clamp(2.5rem,6vw,5rem); }
.asgo-article { max-width: 920px; padding-top: 60px; padding-bottom: 80px; }
.asgo-article .asgo-prose { max-width: 760px; margin-inline: auto; }
.post-navigation { max-width: 760px; margin: 50px auto 0; }
.post-navigation .nav-links { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.post-navigation a { display: block; padding: 18px; border: 1px solid var(--asgo-line); border-radius: 14px; color: var(--asgo-ink); font-weight: 700; text-decoration: none; }
.post-navigation a span { display: block; color: var(--asgo-muted); font-size: .72rem; text-transform: uppercase; }
.nav-next { text-align: right; }
.navigation.pagination { grid-column: 1 / -1; }
.nav-links { display: flex; flex-wrap: wrap; gap: 8px; }
.page-numbers { display: grid; min-width: 42px; height: 42px; padding: 0 10px; place-items: center; border: 1px solid var(--asgo-line); border-radius: 10px; color: var(--asgo-ink); text-decoration: none; }
.page-numbers.current { border-color: var(--asgo-primary); background: var(--asgo-primary); color: #fff; }
.asgo-comments { max-width: 760px; padding-top: 40px; margin: 50px auto 0; border-top: 1px solid var(--asgo-line); }
.comment-list { padding: 0; list-style: none; }
.comment-body { padding: 18px; margin: 16px 0; border: 1px solid var(--asgo-line); border-radius: 14px; }
.comment-form input:not([type=submit]), .comment-form textarea { width: 100%; padding: 12px 14px; border: 1px solid var(--asgo-line); border-radius: 10px; }
.asgo-empty-state, .asgo-integration-empty, .asgo-login-prompt { grid-column: 1 / -1; display: grid; min-height: 320px; padding: 40px; place-items: center; align-content: center; border: 1px dashed color-mix(in srgb,var(--asgo-primary) 30%,var(--asgo-line)); border-radius: var(--asgo-radius); background: var(--asgo-surface); text-align: center; }
.asgo-empty-state > .asgo-icon, .asgo-login-prompt > .asgo-icon { width: 50px; height: 50px; color: var(--asgo-primary); }
.asgo-site-search { display: flex; grid-column: 1 / -1; overflow: hidden; border: 1px solid var(--asgo-line); border-radius: 14px; }
.asgo-site-search label { flex: 1; }
.asgo-site-search input { width: 100%; min-height: 52px; padding: 0 16px; border: 0; outline: 0; }
.asgo-site-search button { width: 54px; border: 0; background: var(--asgo-gradient); color: #fff; }

/* Error, plans, dashboard and partner page shells */
.asgo-error-page { display: grid; min-height: 68vh; place-items: center; background: radial-gradient(circle at 50% 38%,#fff0db,transparent 36%),var(--asgo-surface); }
.asgo-error-page__inner { max-width: 720px; padding: 80px 0; text-align: center; }
.asgo-error-code { display: block; margin-bottom: -25px; color: color-mix(in srgb,var(--asgo-primary) 14%,transparent); font-family: var(--asgo-display); font-size: clamp(8rem,25vw,17rem); font-weight: 800; line-height: .8; }
.asgo-error-page p { color: var(--asgo-muted); font-size: 1.1rem; }
.asgo-error-page__actions { display: flex; justify-content: center; flex-wrap: wrap; gap: 12px; }
.asgo-plans-hero, .asgo-account-hero, .asgo-partner-hero { position: relative; overflow: hidden; padding: clamp(65px,8vw,110px) 0; background: var(--asgo-gradient); color: #fff; }
.asgo-plans-hero::after, .asgo-account-hero::after, .asgo-partner-hero::after { position: absolute; width: 420px; height: 420px; top: -220px; right: -90px; border: 1px solid rgba(255,255,255,.28); border-radius: 50%; box-shadow: 0 0 0 60px rgba(255,255,255,.055),0 0 0 120px rgba(255,255,255,.035); content: ""; }
.asgo-plans-hero__inner, .asgo-partner-hero__inner { position: relative; z-index: 1; display: flex; align-items: flex-end; justify-content: space-between; gap: 40px; }
.asgo-plans-hero h1, .asgo-account-hero h1, .asgo-partner-hero h1 { max-width: 850px; color: #fff; font-size: clamp(2.5rem,6vw,4.7rem); }
.asgo-plans-hero p, .asgo-account-hero p, .asgo-partner-hero p { max-width: 720px; margin: 0; color: rgba(255,255,255,.88); font-size: 1.05rem; }
.asgo-plans-hero .asgo-eyebrow, .asgo-account-hero .asgo-eyebrow, .asgo-partner-hero .asgo-eyebrow { color: #fff1a8; }
.asgo-dashboard-shell, .asgo-partner-content { padding-top: clamp(45px,6vw,80px); padding-bottom: clamp(60px,8vw,110px); }
.asgo-partner-metrics { display: flex; gap: 12px; }
.asgo-partner-metrics span { display: flex; flex-direction: column; min-width: 115px; padding: 16px; border: 1px solid rgba(255,255,255,.28); border-radius: 16px; background: rgba(255,255,255,.1); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); font-size: .68rem; }
.asgo-partner-metrics strong { font-family: var(--asgo-display); font-size: 1.6rem; }

/* Footer */
.asgo-site-footer { position: relative; overflow: hidden; padding: 74px 0 24px; background: var(--asgo-footer, var(--asgo-ink)); color: rgba(255,255,255,.72); }
.asgo-site-footer__glow { position: absolute; width: 560px; height: 320px; top: -220px; left: -100px; border-radius: 50%; background: color-mix(in srgb,var(--asgo-primary) 44%,transparent); filter: blur(80px); opacity: .62; }
.asgo-site-footer .asgo-wordmark { color: #fff; }
.asgo-footer-top { position: relative; display: grid; grid-template-columns: minmax(250px,.8fr) minmax(0,1.7fr); gap: clamp(45px,8vw,110px); }
.asgo-footer-brand p { max-width: 360px; margin: 20px 0; font-size: .9rem; }
.asgo-footer-badges { display: flex; flex-wrap: wrap; gap: 10px; }
.asgo-footer-badges span { display: inline-flex; align-items: center; gap: 6px; padding: 7px 10px; border: 1px solid rgba(255,255,255,.14); border-radius: 999px; font-size: .7rem; font-weight: 700; }
.asgo-footer-badges .asgo-icon { color: var(--asgo-accent); }
.asgo-footer-columns { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 28px; }
.asgo-footer-column { display: flex; flex-direction: column; align-items: flex-start; gap: 9px; }
.asgo-footer-column h2, .asgo-footer-widget__title { margin: 0 0 9px; color: #fff; font-size: .9rem; letter-spacing: 0; }
.asgo-footer-column a, .asgo-footer-column > span, .asgo-footer-widget a { color: rgba(255,255,255,.7); font-size: .8rem; text-decoration: none; }
.asgo-footer-column a:hover, .asgo-footer-widget a:hover { color: var(--asgo-accent); }
.asgo-footer-widget ul { padding: 0; margin: 0; list-style: none; }
.asgo-footer-widget li { margin-bottom: 8px; }
.asgo-footer-bottom { position: relative; display: flex; align-items: center; justify-content: space-between; gap: 25px; padding-top: 22px; margin-top: 56px; border-top: 1px solid rgba(255,255,255,.1); font-size: .7rem; }
.asgo-footer-bottom p { margin: 0; }
.asgo-footer-legal { display: flex; gap: 18px; padding: 0; margin: 0; list-style: none; }
.asgo-footer-legal a { color: rgba(255,255,255,.7); text-decoration: none; }
.asgo-footer-powered { color: var(--asgo-accent); }

/* AirSimGo companion integration — the theme owns the chrome and palette */
.airsimgo-premium-theme .asgm-market-header { display: none !important; }
.airsimgo-premium-theme .asgm-app,
.airsimgo-premium-theme .asgm-app * { font-family: var(--asgo-font); }
.airsimgo-premium-theme .asgm-app {
  width: 100%;
  max-width: none;
  margin: 0;
  color: var(--asgo-ink);
  background: #fff;
}
.airsimgo-premium-theme .asgm-app h1,
.airsimgo-premium-theme .asgm-app h2,
.airsimgo-premium-theme .asgm-app h3,
.airsimgo-premium-theme .asgm-app h4,
.airsimgo-premium-theme .asgm-app strong,
.airsimgo-premium-theme .asgm-app .asgm-brand { font-family: var(--asgo-display); }
.airsimgo-premium-theme .asgm-shell { width: min(calc(100% - 40px), var(--asgo-max)); max-width: var(--asgo-max); }
.airsimgo-premium-theme .asgm-section { padding-top: clamp(58px,7vw,96px); padding-bottom: clamp(58px,7vw,96px); }
.airsimgo-premium-theme .asgm-hero { width: min(calc(100% - 40px), var(--asgo-max)); min-height: min(780px, calc(100vh - 115px)); padding-top: clamp(55px,7vw,100px); padding-bottom: clamp(55px,7vw,100px); }
.airsimgo-premium-theme .asgm-hero::before { background: radial-gradient(circle,color-mix(in srgb,var(--asgo-accent) 18%,transparent),transparent 68%); }
.airsimgo-premium-theme .asgm-hero h1 { color: var(--asgo-ink); font-family: var(--asgo-display); font-size: clamp(3rem,5.7vw,5.65rem); letter-spacing: -.06em; line-height: .99; }
.airsimgo-premium-theme .asgm-hero__lead { max-width: 640px; color: var(--asgo-muted); font-size: clamp(1.05rem,1.65vw,1.24rem); }
.airsimgo-premium-theme .asgm-eyebrow { border-color: color-mix(in srgb,var(--asgo-primary) 22%,transparent); background: color-mix(in srgb,var(--asgo-primary) 8%,#fff); color: var(--asgo-primary); }
.airsimgo-premium-theme .asgm-pulse { background: var(--asgo-accent); box-shadow: 0 0 0 6px color-mix(in srgb,var(--asgo-accent) 16%,transparent); }

.airsimgo-premium-theme .asgm-search-card { position: relative; border: 1px solid color-mix(in srgb,var(--asgo-primary) 17%,var(--asgo-line)); border-radius: calc(var(--asgo-radius) + 3px); background: rgba(255,255,255,.96); box-shadow: 0 24px 70px rgba(68,30,17,.15); }
.airsimgo-premium-theme .asgm-search-card::before { position: absolute; top: 0; right: var(--asgo-radius); left: var(--asgo-radius); height: 3px; border-radius: 0 0 5px 5px; background: var(--asgo-gradient-sun); content: ""; }
.airsimgo-premium-theme .asgm-field label { color: var(--asgo-ink); font-family: var(--asgo-display); font-weight: 800; }
.airsimgo-premium-theme .asgm-field input,
.airsimgo-premium-theme .asgm-field select { min-height: 52px; border-color: var(--asgo-line); border-radius: 12px; color: var(--asgo-ink); }
.airsimgo-premium-theme .asgm-field input:focus,
.airsimgo-premium-theme .asgm-field select:focus { border-color: var(--asgo-primary); box-shadow: 0 0 0 4px color-mix(in srgb,var(--asgo-primary) 11%,transparent); }
.airsimgo-premium-theme .asgm-cta,
.airsimgo-premium-theme .asgm-plan-button.is-primary,
.airsimgo-premium-theme .asgm-search-submit {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  border: 0;
  background: var(--asgo-gradient-sun) !important;
  box-shadow: 0 15px 32px color-mix(in srgb,var(--asgo-primary) 26%,transparent);
  color: #fff !important;
  font-family: var(--asgo-display);
  font-weight: 800;
}
.airsimgo-premium-theme .asgm-search-submit { min-height: 58px; border-radius: 999px; text-transform: none; }
.airsimgo-premium-theme .asgm-cta::before,
.airsimgo-premium-theme .asgm-plan-button.is-primary::before,
.airsimgo-premium-theme .asgm-search-submit::before { position: absolute; z-index: -1; width: 90px; height: 90px; left: calc(var(--asgo-x,50%) - 45px); top: calc(var(--asgo-y,50%) - 45px); border-radius: 50%; background: rgba(255,255,255,.2); content: ""; opacity: 0; transform: scale(.3); transition: opacity .2s ease,transform .35s ease; }
.airsimgo-premium-theme .asgm-cta:hover::before,
.airsimgo-premium-theme .asgm-plan-button.is-primary:hover::before,
.airsimgo-premium-theme .asgm-search-submit:hover::before { opacity: 1; transform: scale(2.2); }
.airsimgo-premium-theme .asgm-proof-row i { color: var(--asgo-primary); }

.airsimgo-premium-theme .asgm-hero__visual { perspective: 1000px; }
.airsimgo-premium-theme .asgm-hero__image-wrap { border-radius: 35% 65% 57% 43% / 40% 37% 63% 60%; background: linear-gradient(150deg,#fff4db,#ffc75c 45%,#ff7131 80%,#e92b19); box-shadow: 0 40px 90px rgba(167,54,13,.25); }
.airsimgo-premium-theme .asgm-hero__image-wrap > img { position: relative; z-index: 2; width: 100%; height: 100%; object-fit: contain; object-position: center bottom; filter: drop-shadow(0 28px 34px rgba(67,25,10,.22)); }
.airsimgo-premium-theme .asgm-connectivity-scene { border-radius: inherit; }
.airsimgo-premium-theme .asgm-scene-glow { background: radial-gradient(circle,var(--asgo-accent),transparent 65%); }
.airsimgo-premium-theme .asgm-globe { border-color: rgba(255,255,255,.5); }
.airsimgo-premium-theme .asgm-globe::before,
.airsimgo-premium-theme .asgm-globe::after,
.airsimgo-premium-theme .asgm-globe-line { border-color: rgba(255,255,255,.45); }
.airsimgo-premium-theme .asgm-scene-phone { border-color: var(--asgo-ink); box-shadow: 0 28px 60px rgba(50,20,10,.35); }
.airsimgo-premium-theme .asgm-scene-logo { color: var(--asgo-secondary); }
.airsimgo-premium-theme .asgm-esim-chip { background: linear-gradient(140deg,var(--asgo-accent),var(--asgo-warm)); }
.airsimgo-premium-theme .asgm-globe-pin { border-color: rgba(255,255,255,.45); background: rgba(37,27,24,.82); color: #fff; }
.airsimgo-premium-theme .asgm-floating-card { border: 1px solid rgba(255,255,255,.7); border-radius: 17px; box-shadow: 0 20px 45px rgba(63,25,12,.18); }
.airsimgo-premium-theme .asgm-floating-card strong { color: var(--asgo-secondary); }

.airsimgo-premium-theme .asgm-kicker { color: var(--asgo-primary); }
.airsimgo-premium-theme .asgm-section-head h2 { color: var(--asgo-ink); font-family: var(--asgo-display); letter-spacing: -.045em; }
.airsimgo-premium-theme .asgm-section-head p { color: var(--asgo-muted); }
.airsimgo-premium-theme .asgm-text-link { color: var(--asgo-secondary); }
.airsimgo-premium-theme .asgm-popular { padding-top: 30px; padding-bottom: 42px; }
.airsimgo-premium-theme .asgm-destination-card,
.airsimgo-premium-theme .asgm-region-card { border-color: var(--asgo-line); border-radius: var(--asgo-radius); background: #fff; box-shadow: 0 7px 24px rgba(64,30,18,.06); color: var(--asgo-ink); }
.airsimgo-premium-theme .asgm-destination-card:hover,
.airsimgo-premium-theme .asgm-region-card:hover { border-color: color-mix(in srgb,var(--asgo-primary) 35%,var(--asgo-line)); box-shadow: 0 20px 45px rgba(81,31,13,.12); }
.airsimgo-premium-theme .asgm-destination-flag { background: var(--asgo-surface); }
.airsimgo-premium-theme .asgm-card-arrow { color: var(--asgo-primary); }
.airsimgo-premium-theme .asgm-directory-search { border-color: color-mix(in srgb,var(--asgo-primary) 24%,var(--asgo-line)); border-radius: 16px; background: #fff; box-shadow: var(--asgo-shadow-sm); }
.airsimgo-premium-theme .asgm-directory-search:focus-within { border-color: var(--asgo-primary); box-shadow: 0 0 0 4px color-mix(in srgb,var(--asgo-primary) 10%,transparent),var(--asgo-shadow-sm); }
.airsimgo-premium-theme .asgm-directory-search > span { color: var(--asgo-primary); }
.airsimgo-premium-theme .asgm-destination-directory { position: relative; }
.airsimgo-premium-theme .asgm-destination-directory::before { position: absolute; z-index: -1; inset: 4% -15% auto; height: 65%; background: radial-gradient(circle at 30% 40%,color-mix(in srgb,var(--asgo-accent) 9%,transparent),transparent 42%),radial-gradient(circle at 80% 60%,color-mix(in srgb,var(--asgo-primary) 7%,transparent),transparent 38%); content: ""; }
.airsimgo-premium-theme .asgm-directory-card { border-color: var(--asgo-line); border-radius: 15px; background: rgba(255,255,255,.9); }
.airsimgo-premium-theme .asgm-directory-card:hover { border-color: var(--asgo-primary); background: var(--asgo-surface); }
.airsimgo-premium-theme .asgm-directory-card small { color: var(--asgo-muted); }
.airsimgo-premium-theme .asgm-show-more { border-color: var(--asgo-primary); color: var(--asgo-secondary); }

.airsimgo-premium-theme .asgm-region-card:nth-child(1) { background: linear-gradient(145deg,#fff8e7,#fff); }
.airsimgo-premium-theme .asgm-region-card:nth-child(2) { background: linear-gradient(145deg,#fff0e6,#fff); }
.airsimgo-premium-theme .asgm-region-card:nth-child(3) { background: linear-gradient(145deg,#fff4d1,#fff); }
.airsimgo-premium-theme .asgm-region-card:nth-child(4) { background: linear-gradient(145deg,#ffede8,#fff); }
.airsimgo-premium-theme .asgm-region-card:nth-child(5) { background: linear-gradient(145deg,#fff5e7,#fff); }
.airsimgo-premium-theme .asgm-region-card:nth-child(6) { background: linear-gradient(145deg,#ffebe4,#fff); }
.airsimgo-premium-theme .asgm-region-card:nth-child(7) { background: linear-gradient(145deg,#fff1bd,#fff); }

.airsimgo-premium-theme .asgm-value-band { background: var(--asgo-ink); }
.airsimgo-premium-theme .asgm-value-band__item i { color: var(--asgo-accent); }
.airsimgo-premium-theme .asgm-step-card { border-color: var(--asgo-line); border-radius: var(--asgo-radius); box-shadow: var(--asgo-shadow-sm); }
.airsimgo-premium-theme .asgm-step-number { background: var(--asgo-gradient-sun); color: #fff; }
.airsimgo-premium-theme .asgm-plan-card { border-color: var(--asgo-line); border-radius: calc(var(--asgo-radius) + 2px); box-shadow: var(--asgo-shadow-sm); }
.airsimgo-premium-theme .asgm-plan-card:hover { border-color: color-mix(in srgb,var(--asgo-primary) 32%,var(--asgo-line)); box-shadow: var(--asgo-shadow); }
.airsimgo-premium-theme .asgm-plan-card.is-featured { border: 2px solid var(--asgo-primary); background: linear-gradient(180deg,color-mix(in srgb,var(--asgo-accent) 8%,#fff),#fff 32%); }
.airsimgo-premium-theme .asgm-plan-ribbon { background: var(--asgo-gradient); color: #fff; }
.airsimgo-premium-theme .asgm-plan-use { color: var(--asgo-secondary); }
.airsimgo-premium-theme .asgm-price strong { color: var(--asgo-secondary); }
.airsimgo-premium-theme .asgm-plan-button { border-color: color-mix(in srgb,var(--asgo-primary) 45%,var(--asgo-line)); color: var(--asgo-secondary); }
.airsimgo-premium-theme .asgm-plan-button:hover { border-color: var(--asgo-primary); background: var(--asgo-surface); color: var(--asgo-secondary); }
.airsimgo-premium-theme .asgm-plan-note span { color: var(--asgo-success); }
.airsimgo-premium-theme .asgm-filter-bar { border-color: var(--asgo-line); border-radius: var(--asgo-radius); background: var(--asgo-surface); }
.airsimgo-premium-theme .asgm-filter-bar input,
.airsimgo-premium-theme .asgm-filter-bar select { border-color: var(--asgo-line); border-radius: 10px; }
.airsimgo-premium-theme .asgm-filter-bar input:focus,
.airsimgo-premium-theme .asgm-filter-bar select:focus { border-color: var(--asgo-primary); }
.airsimgo-premium-theme .asgm-reset-filters { color: var(--asgo-secondary); }
.airsimgo-premium-theme .asgm-compatibility { border-radius: calc(var(--asgo-radius) + 8px); background: linear-gradient(135deg,var(--asgo-surface),#fff1d6); }
.airsimgo-premium-theme .asgm-compatibility button { background: var(--asgo-gradient); }
.airsimgo-premium-theme .asgm-partner-cta { border-radius: calc(var(--asgo-radius) + 8px); background: var(--asgo-gradient); }
.airsimgo-premium-theme .asgm-testimonial-card { border-color: var(--asgo-line); border-radius: var(--asgo-radius); }
.airsimgo-premium-theme .asgm-empty,
.airsimgo-premium-theme .asgm-no-filter-results { border-color: color-mix(in srgb,var(--asgo-primary) 25%,var(--asgo-line)); border-radius: var(--asgo-radius); background: var(--asgo-surface); }
.airsimgo-premium-theme .asgm-skeleton { background: linear-gradient(90deg,#f8eee7,#fff8f2,#f8eee7); }

/* Customer eSIM dashboard */
.airsimgo-premium-theme .asgm-dashboard,
.airsimgo-premium-theme .asgm-dashboard-shell { color: var(--asgo-ink); }
.airsimgo-premium-theme .asgm-dashboard-card,
.airsimgo-premium-theme .asgm-esim-card,
.airsimgo-premium-theme .asgm-qr-card { border-color: var(--asgo-line); border-radius: var(--asgo-radius); box-shadow: var(--asgo-shadow-sm); }
.airsimgo-premium-theme .asgm-status { background: color-mix(in srgb,var(--asgo-success) 12%,#fff); color: var(--asgo-success); }
.airsimgo-premium-theme .asgm-progress > span { background: var(--asgo-gradient-sun); }
.airsimgo-premium-theme .asgm-topup-modal__panel { border-radius: calc(var(--asgo-radius) + 3px); }
.airsimgo-premium-theme .asgm-topup-option:has(input:checked) { border-color: var(--asgo-primary); background: var(--asgo-surface); }

/* WooCommerce */
.asgo-commerce { padding: clamp(50px,7vw,90px) 0; background: linear-gradient(180deg,var(--asgo-surface),#fff 280px); }
.asgo-commerce__inner { min-height: 50vh; }
.woocommerce .woocommerce-breadcrumb { margin-bottom: 26px; color: var(--asgo-muted); font-size: .78rem; }
.woocommerce .woocommerce-breadcrumb a { color: var(--asgo-muted); text-decoration: none; }
.woocommerce .woocommerce-result-count, .woocommerce .woocommerce-ordering { margin-bottom: 26px; color: var(--asgo-muted); }
.woocommerce .woocommerce-ordering select { min-height: 44px; padding: 7px 36px 7px 12px; border: 1px solid var(--asgo-line); border-radius: 10px; background: #fff; color: var(--asgo-ink); }
.woocommerce ul.products { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 24px; margin: 0; }
.woocommerce ul.products::before, .woocommerce ul.products::after { display: none; }
.woocommerce ul.products li.product { float: none !important; width: auto !important; padding: 0 0 22px; margin: 0 !important; overflow: hidden; border: 1px solid var(--asgo-line); border-radius: var(--asgo-radius); background: #fff; box-shadow: var(--asgo-shadow-sm); transition: transform .22s ease,box-shadow .22s ease; }
.woocommerce ul.products li.product:hover { transform: translateY(-5px); box-shadow: var(--asgo-shadow); }
.woocommerce ul.products li.product a img { margin-bottom: 18px; }
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product .price,
.woocommerce ul.products li.product .button { margin-right: 20px; margin-left: 20px; }
.woocommerce ul.products li.product .woocommerce-loop-product__title { padding: 0; color: var(--asgo-ink); font-family: var(--asgo-display); font-size: 1.12rem; }
.woocommerce ul.products li.product .price { color: var(--asgo-secondary); font-weight: 800; }
.woocommerce span.onsale { min-width: 54px; min-height: 30px; padding: 5px 10px; border-radius: 999px; background: var(--asgo-gradient); line-height: 20px; }
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt,
.woocommerce #respond input#submit.alt {
  min-height: 46px;
  padding: 12px 20px;
  border-radius: 999px;
  background: var(--asgo-gradient) !important;
  box-shadow: 0 10px 24px color-mix(in srgb,var(--asgo-primary) 24%,transparent);
  color: #fff !important;
  font-family: var(--asgo-display);
  font-weight: 800;
}
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover { filter: saturate(1.1) brightness(.98); transform: translateY(-1px); }
.woocommerce div.product { display: grid; grid-template-columns: minmax(0,1fr) minmax(380px,.85fr); gap: clamp(35px,6vw,80px); }
.woocommerce div.product div.images,
.woocommerce div.product div.summary { float: none; width: auto; }
.woocommerce div.product div.images img { border-radius: var(--asgo-radius); }
.woocommerce div.product .product_title { font-size: clamp(2.2rem,5vw,4rem); }
.woocommerce div.product p.price, .woocommerce div.product span.price { color: var(--asgo-secondary); font-size: 1.65rem; font-weight: 800; }
.woocommerce div.product form.cart { display: flex; gap: 10px; }
.woocommerce .quantity .qty { min-height: 46px; border: 1px solid var(--asgo-line); border-radius: 10px; }
.woocommerce div.product .woocommerce-tabs,
.woocommerce div.product .related,
.woocommerce div.product .upsells { grid-column: 1 / -1; }
.woocommerce div.product .woocommerce-tabs ul.tabs { padding: 0; border-bottom: 1px solid var(--asgo-line); }
.woocommerce div.product .woocommerce-tabs ul.tabs::before { display: none; }
.woocommerce div.product .woocommerce-tabs ul.tabs li { border: 0; background: transparent; }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active { border-bottom: 3px solid var(--asgo-primary); }

.woocommerce-message, .woocommerce-info, .woocommerce-error { padding: 18px 20px 18px 54px; border: 1px solid var(--asgo-line); border-top: 0; border-radius: 14px; background: #fff; box-shadow: var(--asgo-shadow-sm); }
.woocommerce-message::before { color: var(--asgo-success); }
.woocommerce-info::before { color: var(--asgo-primary); }
.woocommerce-error::before { color: var(--asgo-danger); }
.woocommerce form.checkout_coupon,
.woocommerce form.login,
.woocommerce form.register { padding: clamp(22px,4vw,34px); border-color: var(--asgo-line); border-radius: var(--asgo-radius); }
.woocommerce form .form-row label { color: var(--asgo-ink); font-size: .82rem; font-weight: 800; }
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.select2-container--default .select2-selection--single { min-height: 50px; padding: 11px 13px; border: 1px solid var(--asgo-line); border-radius: 11px; background: #fff; color: var(--asgo-ink); }
.select2-container--default .select2-selection--single .select2-selection__rendered { line-height: 26px; }
.select2-container--default .select2-selection--single .select2-selection__arrow { height: 48px; }
.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus { border-color: var(--asgo-primary); box-shadow: 0 0 0 4px color-mix(in srgb,var(--asgo-primary) 10%,transparent); outline: 0; }
.woocommerce table.shop_table { overflow: hidden; border-color: var(--asgo-line); border-radius: var(--asgo-radius); border-collapse: separate; }
.woocommerce table.shop_table th { font-family: var(--asgo-display); }
.woocommerce table.shop_table td, .woocommerce table.shop_table th { padding: 16px; border-color: #f0e7e1; }
.woocommerce-cart table.cart img { width: 72px; border-radius: 10px; }
.woocommerce-cart .cart-collaterals .cart_totals,
.woocommerce-checkout #order_review,
.woocommerce-account .woocommerce-MyAccount-content { padding: clamp(22px,4vw,36px); border: 1px solid var(--asgo-line); border-radius: var(--asgo-radius); background: #fff; box-shadow: var(--asgo-shadow-sm); }
.woocommerce-cart .cart-collaterals .cart_totals { float: right; }
.woocommerce-checkout .col2-set { display: grid; grid-template-columns: 1fr 1fr; gap: 34px; width: 100%; }
.woocommerce-checkout .col2-set .col-1, .woocommerce-checkout .col2-set .col-2 { float: none; width: auto; }
.woocommerce-checkout #order_review_heading { margin-top: 45px; }
.woocommerce-checkout-payment { border-radius: 14px !important; background: var(--asgo-surface) !important; }
.logged-in.woocommerce-account .woocommerce { display: grid; grid-template-columns: 250px minmax(0,1fr); gap: 28px; }
.woocommerce-account .woocommerce-MyAccount-navigation { float: none; width: auto; }
.woocommerce-account .woocommerce-MyAccount-navigation ul { padding: 10px; margin: 0; border: 1px solid var(--asgo-line); border-radius: var(--asgo-radius); background: #fff; box-shadow: var(--asgo-shadow-sm); list-style: none; }
.woocommerce-account .woocommerce-MyAccount-navigation a { display: block; padding: 11px 13px; border-radius: 10px; color: var(--asgo-ink); font-weight: 700; text-decoration: none; }
.woocommerce-account .woocommerce-MyAccount-navigation .is-active a,
.woocommerce-account .woocommerce-MyAccount-navigation a:hover { background: var(--asgo-surface); color: var(--asgo-secondary); }
.woocommerce-account .woocommerce-MyAccount-content { float: none; width: auto; }
.asgo-account-esims { grid-column: 1 / -1; margin-top: 40px; }
.woocommerce-account:not(.logged-in) .woocommerce { display: block; width: 100%; }
.woocommerce-account:not(.logged-in) .woocommerce .u-columns { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: clamp(18px,3vw,34px); width: 100%; }
.woocommerce-account:not(.logged-in) .woocommerce .u-column1,
.woocommerce-account:not(.logged-in) .woocommerce .u-column2 { float: none; width: auto; min-width: 0; }
.woocommerce-account:not(.logged-in) .woocommerce h2 { margin: 0 0 14px; font-size: clamp(1.45rem,3vw,2rem); }
.woocommerce-account:not(.logged-in) .woocommerce form.login,
.woocommerce-account:not(.logged-in) .woocommerce form.register { height: calc(100% - 52px); margin: 0; padding: clamp(24px,4vw,40px); border: 1px solid var(--asgo-line); border-radius: calc(var(--asgo-radius) + 4px); background: linear-gradient(145deg,#fff,var(--asgo-surface)); box-shadow: var(--asgo-shadow-sm); }
.woocommerce-account:not(.logged-in) .woocommerce form .form-row { float: none; width: 100%; margin: 0 0 18px; }
.woocommerce-account:not(.logged-in) .woocommerce form .form-row-wide { clear: both; }
.woocommerce-account:not(.logged-in) .woocommerce form .password-input { display: block; width: 100%; }
.woocommerce-account:not(.logged-in) .woocommerce form .show-password-input { top: .85em; right: .9em; }
.woocommerce-account:not(.logged-in) .woocommerce .woocommerce-form-login__rememberme { display: flex; align-items: center; gap: 8px; margin: 4px 0 16px; }

/* Conversion-focused homepage stories */
.asgo-section-pad { padding: clamp(72px, 9vw, 128px) 0; }
.asgo-home-enhancements { position: relative; overflow: clip; background: var(--asgo-page, #fff); }
.asgo-photo-story { position: relative; }
.asgo-photo-story::before { position: absolute; width: 420px; height: 420px; right: -230px; top: 18%; border-radius: 50%; background: color-mix(in srgb,var(--asgo-accent) 10%,transparent); filter: blur(6px); content: ""; pointer-events: none; }
.asgo-photo-story__grid { display: grid; grid-template-columns: minmax(0,1.02fr) minmax(0,.88fr); align-items: center; gap: clamp(48px,8vw,112px); }
.asgo-photo-story__media { position: relative; min-height: 570px; overflow: hidden; border-radius: 34px; background: linear-gradient(145deg,#fff4d9,#ffb225 58%,#f04a1d); box-shadow: var(--asgo-shadow); }
.asgo-photo-story__media::after { position: absolute; inset: 0; background: linear-gradient(180deg,transparent 52%,rgba(54,20,10,.18)); content: ""; pointer-events: none; }
.asgo-photo-story__media img { width: 100%; height: 100%; min-height: 570px; object-fit: cover; object-position: center; transition: transform .7s cubic-bezier(.2,.8,.2,1); }
.asgo-photo-story__media:hover img { transform: scale(1.025); }
.asgo-photo-story__badge { position: absolute; z-index: 2; right: 22px; bottom: 22px; display: flex; align-items: center; gap: 12px; max-width: calc(100% - 44px); padding: 13px 16px; border: 1px solid rgba(255,255,255,.7); border-radius: 15px; background: rgba(255,255,255,.91); box-shadow: 0 15px 38px rgba(45,20,10,.18); -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px); }
.asgo-photo-story__badge .asgo-icon { width: 28px; height: 28px; color: var(--asgo-primary); }
.asgo-photo-story__badge strong, .asgo-photo-story__badge small { display: block; line-height: 1.3; }
.asgo-photo-story__badge strong { color: var(--asgo-ink); font-family: var(--asgo-display); font-size: .84rem; }
.asgo-photo-story__badge small { color: var(--asgo-muted); font-size: .68rem; }
.asgo-photo-story__copy h2, .asgo-phone-showcase__copy h2 { max-width: 720px; }
.asgo-photo-story__copy > p, .asgo-phone-showcase__copy > p { max-width: 650px; color: var(--asgo-muted); font-size: 1.04rem; }
.asgo-check-list { display: grid; gap: 13px; padding: 0; margin: 28px 0 34px; list-style: none; }
.asgo-check-list li { display: flex; align-items: center; gap: 11px; color: var(--asgo-ink); font-weight: 700; }
.asgo-check-list .asgo-icon { width: 26px; height: 26px; padding: 5px; border-radius: 50%; background: color-mix(in srgb,var(--asgo-success) 10%,#fff); color: var(--asgo-success); }

.asgo-coverage-story { position: relative; padding-top: 0; color: #fff; }
.asgo-coverage-story__shell { position: relative; display: grid; grid-template-columns: minmax(0,.83fr) minmax(0,1.17fr); align-items: stretch; min-height: 580px; overflow: hidden; border-radius: 38px; background: linear-gradient(125deg,var(--asgo-footer,var(--asgo-ink)) 0%,#351713 53%,#631d12 100%); box-shadow: 0 35px 90px rgba(43,18,11,.2); }
.asgo-coverage-story__shell::before { position: absolute; width: 500px; height: 500px; left: -260px; bottom: -330px; border: 1px solid rgba(255,255,255,.15); border-radius: 50%; box-shadow: 0 0 0 70px rgba(255,255,255,.025),0 0 0 140px rgba(255,255,255,.018); content: ""; }
.asgo-coverage-story__copy { position: relative; z-index: 2; align-self: center; padding: clamp(42px,6vw,82px); }
.asgo-coverage-story__copy .asgo-eyebrow { color: var(--asgo-accent); }
.asgo-coverage-story__copy h2 { color: #fff; }
.asgo-coverage-story__copy > p { color: rgba(255,255,255,.72); }
.asgo-coverage-story__media { position: relative; min-height: 580px; overflow: hidden; }
.asgo-coverage-story__media::after { position: absolute; inset: 0; background: linear-gradient(90deg,#351713 0%,rgba(53,23,19,.65) 11%,transparent 45%),linear-gradient(0deg,rgba(37,14,10,.35),transparent 45%); content: ""; pointer-events: none; }
.asgo-coverage-story__media img { width: 100%; height: 100%; min-height: 580px; object-fit: cover; object-position: center; }
.asgo-metric-row { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 8px; margin: 28px 0 32px; }
.asgo-metric-row span { padding: 11px 8px 11px 0; border-right: 1px solid rgba(255,255,255,.14); }
.asgo-metric-row span:last-child { border-right: 0; }
.asgo-metric-row strong, .asgo-metric-row small { display: block; }
.asgo-metric-row strong { color: #fff; font-family: var(--asgo-display); font-size: clamp(1.1rem,2vw,1.55rem); }
.asgo-metric-row small { color: rgba(255,255,255,.58); font-size: .67rem; }

.asgo-phone-showcase { position: relative; background: linear-gradient(180deg,var(--asgo-page,#fff),var(--asgo-surface)); }
.asgo-phone-showcase__grid { display: grid; grid-template-columns: minmax(0,1.08fr) minmax(0,.92fr); align-items: center; gap: clamp(48px,8vw,110px); }
.asgo-phone-showcase__media { position: relative; min-height: 520px; overflow: visible; border: 1px solid color-mix(in srgb,var(--asgo-primary) 13%,var(--asgo-line)); border-radius: 34px; background: linear-gradient(145deg,#fff 0%,#fff4dc 55%,#ffd46e 100%); box-shadow: var(--asgo-shadow); }
.asgo-phone-showcase__media::before { position: absolute; width: 240px; height: 240px; left: 50%; top: 50%; border: 1px solid color-mix(in srgb,var(--asgo-primary) 22%,transparent); border-radius: 50%; box-shadow: 0 0 0 55px color-mix(in srgb,var(--asgo-accent) 6%,transparent),0 0 0 110px color-mix(in srgb,var(--asgo-primary) 4%,transparent); content: ""; transform: translate(-50%,-50%); }
.asgo-phone-showcase__media img { position: relative; z-index: 1; width: 100%; height: 100%; min-height: 520px; border-radius: inherit; object-fit: cover; object-position: center; }
.asgo-orbit-chip { position: absolute; z-index: 3; display: inline-flex; align-items: center; gap: 7px; padding: 10px 13px; border: 1px solid rgba(255,255,255,.8); border-radius: 999px; background: rgba(255,255,255,.92); box-shadow: var(--asgo-shadow-sm); color: var(--asgo-ink); font-size: .72rem; font-weight: 800; white-space: nowrap; -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); }
.asgo-orbit-chip .asgo-icon { color: var(--asgo-primary); }
.asgo-orbit-chip--one { top: 34px; left: -24px; }
.asgo-orbit-chip--two { right: -30px; bottom: 38px; }
.asgo-feature-pills { display: flex; flex-wrap: wrap; gap: 10px; margin: 26px 0 30px; }
.asgo-feature-pills span { display: inline-flex; align-items: center; gap: 7px; padding: 9px 12px; border: 1px solid var(--asgo-line); border-radius: 999px; background: #fff; color: var(--asgo-ink); font-size: .76rem; font-weight: 750; }
.asgo-feature-pills .asgo-icon { color: var(--asgo-primary); }

.asgo-faq { background: var(--asgo-page,#fff); }
.asgo-faq__grid { display: grid; grid-template-columns: minmax(300px,.72fr) minmax(0,1.28fr); align-items: start; gap: clamp(50px,8vw,115px); }
.asgo-faq__intro { position: sticky; top: 125px; }
.asgo-faq__intro > p { max-width: 520px; color: var(--asgo-muted); }
.asgo-accordion { border-top: 1px solid var(--asgo-line); }
.asgo-accordion__item { border-bottom: 1px solid var(--asgo-line); }
.asgo-accordion__item h3 { margin: 0; }
.asgo-accordion__item button { display: grid; grid-template-columns: minmax(0,1fr) 34px; align-items: center; gap: 20px; width: 100%; min-height: 84px; padding: 19px 2px; border: 0; background: transparent; color: var(--asgo-ink); font-family: var(--asgo-display); font-size: clamp(.98rem,1.5vw,1.16rem); font-weight: 800; text-align: left; }
.asgo-accordion__item button i { position: relative; display: block; width: 32px; height: 32px; border: 1px solid var(--asgo-line); border-radius: 50%; background: var(--asgo-surface); }
.asgo-accordion__item button i::before, .asgo-accordion__item button i::after { position: absolute; width: 12px; height: 2px; left: 9px; top: 14px; border-radius: 2px; background: var(--asgo-primary); content: ""; transition: transform .22s ease; }
.asgo-accordion__item button i::after { transform: rotate(90deg); }
.asgo-accordion__item.is-open button { color: var(--asgo-secondary); }
.asgo-accordion__item.is-open button i::after { transform: rotate(0); }
.asgo-accordion__panel { padding: 0 50px 23px 2px; color: var(--asgo-muted); }
.asgo-accordion__panel p { margin: 0; }

.asgo-mobile-conversion { position: fixed; z-index: 1500; right: 12px; bottom: max(12px,env(safe-area-inset-bottom)); left: 12px; display: none; align-items: center; justify-content: space-between; gap: 12px; padding: 10px 10px 10px 15px; border: 1px solid rgba(255,255,255,.55); border-radius: 18px; background: rgba(37,27,24,.94); box-shadow: 0 22px 60px rgba(37,20,14,.32); color: #fff; opacity: 0; pointer-events: none; transform: translateY(140%); transition: opacity .25s ease,transform .35s cubic-bezier(.2,.8,.2,1); -webkit-backdrop-filter: blur(15px); backdrop-filter: blur(15px); }
.asgo-mobile-conversion.is-visible { opacity: 1; pointer-events: auto; transform: translateY(0); }
.asgo-mobile-conversion span { min-width: 0; }
.asgo-mobile-conversion small, .asgo-mobile-conversion strong { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.asgo-mobile-conversion small { color: var(--asgo-accent); font-size: .61rem; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.asgo-mobile-conversion strong { font-family: var(--asgo-display); font-size: .86rem; }
.asgo-mobile-conversion .asgo-button { min-height: 42px; padding: 10px 17px; flex: 0 0 auto; }

/* Motion */
.asgo-reveal-ready { opacity: 0; transform: translateY(24px); transition: opacity .62s ease var(--asgo-reveal-delay,0ms), transform .62s cubic-bezier(.2,.7,.2,1) var(--asgo-reveal-delay,0ms); }
.asgo-reveal-ready.asgo-revealed { opacity: 1; transform: translateY(0); }
.asgo-motion-on .asgo-orbit--one { animation: asgo-spin 26s linear infinite; }
.asgo-motion-on .asgo-orbit--two { animation: asgo-spin-reverse 34s linear infinite; }
.asgo-motion-on .asgo-flight-dot { animation: asgo-float 3.5s ease-in-out infinite; }
.asgo-motion-on .asgm-hero__image-wrap { animation: asgo-float-soft 7s ease-in-out infinite; }
.asgo-motion-on .asgo-orbit-chip--one { animation: asgo-float-chip 4.6s ease-in-out infinite; }
.asgo-motion-on .asgo-orbit-chip--two { animation: asgo-float-chip 5.3s ease-in-out -.8s infinite reverse; }
@keyframes asgo-spin { to { transform: rotate(1turn); } }
@keyframes asgo-spin-reverse { from { transform: rotate(28deg); } to { transform: rotate(-332deg); } }
@keyframes asgo-float { 50% { transform: translateY(10px) scale(1.08); } }
@keyframes asgo-float-soft { 50% { transform: translateY(-8px); } }
@keyframes asgo-float-chip { 50% { transform: translateY(-9px) rotate(-1deg); } }

/* Responsive layouts */
@media (max-width: 1180px) {
  .asgo-site-header__inner { gap: 20px; }
  .asgo-primary-nav .asgo-menu { gap: 17px; }
  .asgo-primary-nav .asgo-menu a { font-size: .76rem; }
  .asgo-header-search span, .asgo-header-account span { display: none; }
  .asgo-footer-columns { grid-template-columns: repeat(2,minmax(0,1fr)); row-gap: 36px; }
  .airsimgo-premium-theme .asgm-hero { min-height: auto; }
}

@media (max-width: 980px) {
  body.admin-bar .asgo-site-header.is-sticky { top: 32px; }
  .asgo-primary-nav, .asgo-header-search, .asgo-header-account, .asgo-header-actions > .asgo-button--header { display: none; }
  .asgo-site-header__inner { grid-template-columns: 1fr auto; min-height: 70px; }
  .asgo-mobile-toggle { display: inline-flex; }
  .asgo-header-cart { display: inline-flex; }
  .asgo-fallback-hero__grid { grid-template-columns: 1fr 400px; }
  .asgo-blog-grid { grid-template-columns: 1fr; }
  .asgo-sidebar { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .woocommerce ul.products { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .woocommerce div.product { grid-template-columns: 1fr 1fr; gap: 35px; }
  .logged-in.woocommerce-account .woocommerce { grid-template-columns: 210px minmax(0,1fr); }
  .asgo-photo-story__grid, .asgo-phone-showcase__grid { grid-template-columns: minmax(0,1fr) minmax(0,.9fr); gap: 46px; }
  .asgo-coverage-story__shell { grid-template-columns: minmax(0,.95fr) minmax(0,1.05fr); }
  .asgo-faq__grid { grid-template-columns: minmax(270px,.7fr) minmax(0,1.3fr); gap: 48px; }
}

@media (max-width: 782px) {
  body.admin-bar .asgo-site-header.is-sticky { top: 46px; }
}

@media (max-width: 840px) {
  .asgo-fallback-hero__grid { grid-template-columns: 1fr; }
  .asgo-fallback-visual { width: min(100%, 520px); margin-inline: auto; }
  .asgo-photo-story__grid, .asgo-phone-showcase__grid, .asgo-faq__grid { grid-template-columns: 1fr; }
  .asgo-photo-story__media, .asgo-phone-showcase__media { width: min(100%,650px); margin-inline: auto; }
  .asgo-phone-showcase__copy { order: -1; }
  .asgo-coverage-story__shell { grid-template-columns: 1fr; }
  .asgo-coverage-story__copy { max-width: 680px; }
  .asgo-coverage-story__media { min-height: 430px; }
  .asgo-coverage-story__media img { min-height: 430px; }
  .asgo-coverage-story__media::after { background: linear-gradient(180deg,#351713 0%,rgba(53,23,19,.55) 15%,transparent 48%); }
  .asgo-faq__intro { position: static; }
}

@media (max-width: 760px) {
  .asgo-container, .airsimgo-premium-theme .asgm-shell, .airsimgo-premium-theme .asgm-hero { width: min(calc(100% - 28px), var(--asgo-max)); }
  .asgo-announcement__inner { justify-content: flex-start; min-height: 34px; overflow: hidden; white-space: nowrap; }
  .asgo-announcement a { margin-left: auto; }
  .asgo-announcement__inner > span { overflow: hidden; text-overflow: ellipsis; }
  .asgo-site-brand { min-width: 0; }
  .custom-logo { max-width: 175px; max-height: 50px; }
  .asgo-wordmark__mark { width: 37px; height: 37px; }
  .asgo-wordmark__text { font-size: 1.25rem; }
  .asgo-header-actions { gap: 3px; }
  .asgo-command-results { grid-template-columns: 1fr; }
  .asgo-destination-modal__dialog { max-height: calc(100dvh - 20px); margin: 10px auto; }
  .asgo-command-search kbd { display: none; }
  .asgo-fallback-hero { min-height: 0; padding-top: 60px; }
  .asgo-fallback-hero__grid { grid-template-columns: 1fr; }
  .asgo-fallback-visual { min-height: 390px; max-width: 480px; width: 100%; margin-inline: auto; }
  .asgo-phone-art { width: 150px; height: 300px; }
  .asgo-globe-art { width: 240px; height: 240px; }
  .asgo-footer-top { grid-template-columns: 1fr; }
  .asgo-footer-bottom { align-items: flex-start; flex-direction: column; }
  .asgo-post-grid { grid-template-columns: 1fr; }
  .asgo-sidebar { grid-template-columns: 1fr; }
  .post-navigation .nav-links { grid-template-columns: 1fr; }
  .nav-next { text-align: left; }
  .asgo-plans-hero__inner, .asgo-partner-hero__inner { align-items: flex-start; flex-direction: column; }
  .asgo-partner-metrics { width: 100%; overflow-x: auto; }
  .asgo-partner-metrics span { min-width: 125px; }
  .airsimgo-premium-theme .asgm-hero h1 { font-size: clamp(2.7rem,12vw,4.35rem); }
  .airsimgo-premium-theme .asgm-hero { padding-top: 48px; }
  .airsimgo-premium-theme .asgm-search-card { border-radius: 18px; }
  .airsimgo-premium-theme .asgm-search-submit { width: 100%; }
  .airsimgo-premium-theme .asgm-section { padding-top: 55px; padding-bottom: 55px; }
  .woocommerce ul.products { grid-template-columns: 1fr; }
  .woocommerce div.product { display: block; }
  .woocommerce-checkout .col2-set { grid-template-columns: 1fr; }
  .logged-in.woocommerce-account .woocommerce { display: block; }
  .woocommerce-account .woocommerce-MyAccount-navigation { margin-bottom: 20px; overflow-x: auto; }
  .woocommerce-account .woocommerce-MyAccount-navigation ul { display: flex; width: max-content; min-width: 100%; gap: 4px; }
  .woocommerce-account .woocommerce-MyAccount-navigation a { white-space: nowrap; }
  .woocommerce-account:not(.logged-in) .woocommerce .u-columns { grid-template-columns: 1fr; }
  .woocommerce-cart .cart-collaterals .cart_totals { float: none; width: 100%; }
  body:not(.woocommerce-cart):not(.woocommerce-checkout) { padding-bottom: 84px; }
  .asgo-section-pad { padding: 64px 0; }
  .asgo-photo-story__grid, .asgo-phone-showcase__grid, .asgo-faq__grid { gap: 38px; }
  .asgo-photo-story__media, .asgo-photo-story__media img { min-height: 440px; }
  .asgo-phone-showcase__media, .asgo-phone-showcase__media img { min-height: 390px; }
  .asgo-coverage-story { padding-bottom: 64px; }
  .asgo-coverage-story__shell { width: min(calc(100% - 20px),var(--asgo-max)); border-radius: 28px; }
  .asgo-coverage-story__copy { padding: 38px 28px 28px; }
  .asgo-coverage-story__media, .asgo-coverage-story__media img { min-height: 335px; }
  .asgo-metric-row { margin: 24px 0 28px; }
  .asgo-orbit-chip--one { top: 22px; left: -7px; }
  .asgo-orbit-chip--two { right: -7px; bottom: 24px; }
  .asgo-mobile-conversion { display: flex; }
}

@media (max-width: 520px) {
  body.admin-bar .asgo-site-header.is-sticky { top: 0; }
  .asgo-announcement__inner { gap: 10px; }
  .asgo-announcement a { font-size: 0; }
  .asgo-announcement a .asgo-icon { width: 16px; height: 16px; }
  .asgo-header-cart { display: none; }
  .asgo-mobile-drawer__panel { width: 100%; }
  .asgo-destination-modal__dialog { width: calc(100% - 18px); padding: 18px; border-radius: 18px; }
  .asgo-destination-modal__head h2 { font-size: 1.55rem; }
  .asgo-command-results > a { min-height: 62px; padding: 8px; }
  .asgo-fallback-hero__actions { align-items: stretch; flex-direction: column; }
  .asgo-fallback-hero__actions .asgo-text-link { justify-content: center; }
  .asgo-fallback-proof { align-items: flex-start; flex-direction: column; gap: 10px; }
  .asgo-fallback-visual { min-height: 330px; }
  .asgo-phone-art { width: 130px; height: 260px; border-width: 6px; border-radius: 28px; }
  .asgo-phone-art strong { font-size: 3rem; }
  .asgo-footer-columns { grid-template-columns: 1fr 1fr; gap: 30px 18px; }
  .asgo-error-page__actions { align-items: stretch; flex-direction: column; }
  .asgo-partner-metrics { display: grid; grid-template-columns: repeat(3,1fr); }
  .asgo-partner-metrics span { min-width: 0; padding: 10px; }
  .asgo-partner-metrics strong { font-size: 1.2rem; }
  .airsimgo-premium-theme .asgm-hero { width: calc(100% - 22px); }
  .airsimgo-premium-theme .asgm-section { width: calc(100% - 28px); }
  .woocommerce table.shop_table_responsive tr td { padding: 12px; }
  .asgo-wordmark--official img { height: 46px; }
  .asgo-photo-story__media, .asgo-photo-story__media img { min-height: 360px; }
  .asgo-photo-story__media { border-radius: 24px; }
  .asgo-photo-story__badge { right: 12px; bottom: 12px; padding: 10px 12px; }
  .asgo-phone-showcase__media, .asgo-phone-showcase__media img { min-height: 310px; }
  .asgo-phone-showcase__media { border-radius: 24px; }
  .asgo-orbit-chip { padding: 8px 10px; font-size: .63rem; }
  .asgo-metric-row { gap: 4px; }
  .asgo-metric-row strong { font-size: 1rem; }
  .asgo-accordion__item button { min-height: 72px; }
  .asgo-mobile-conversion small { display: none; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  .asgo-reveal-ready { opacity: 1; transform: none; }
}

@media (prefers-contrast: more) {
  :root { --asgo-line: #8a7770; }
  .asgo-button, .woocommerce a.button, .woocommerce button.button { border: 2px solid currentColor; }
}

@media print {
  .asgo-announcement, .asgo-site-header, .asgo-site-footer, .asgo-mobile-drawer, .asgo-destination-modal, .asgo-mobile-conversion { display: none !important; }
  body { color: #000; background: #fff; }
  a { color: #000; text-decoration: underline; }
}

/* Release-owned screens are isolated from stale builder theme parts. The old
   records stay in WordPress; they simply cannot render over AirSimGo pages. */
.asgo-legacy-isolation .elementor-location-header,
.asgo-legacy-isolation .elementor-location-footer,
.asgo-legacy-isolation .et-l--header,
.asgo-legacy-isolation .et-l--footer,
.asgo-legacy-isolation .wp-site-blocks > header:not(.asgo-site-header),
.asgo-legacy-isolation .wp-site-blocks > footer:not(.asgo-site-footer),
.asgo-legacy-isolation header#masthead:not(.asgo-site-header),
.asgo-legacy-isolation footer#colophon:not(.asgo-site-footer),
.asgo-legacy-isolation .site-header:not(.asgo-site-header),
.asgo-legacy-isolation .site-footer:not(.asgo-site-footer) { display: none !important; }
.asgo-managed-surface .asgo-site-header,
.asgo-managed-surface .asgo-site-footer { display: block !important; }
.asgo-destination-modal [hidden],
.asgo-mobile-drawer[hidden],
.asgo-accordion__panel[hidden] { display: none !important; }
.asgo-functional-page { min-height: 58vh; }
.asgo-commerce--canvas { padding: clamp(32px,6vw,78px) 0; }
.asgo-commerce--canvas .asgo-page-header { padding-top: 0; }
.asgo-commerce-hero{max-width:820px;margin:0 0 clamp(28px,5vw,48px);padding:0}.asgo-commerce-hero h1{max-width:780px;margin:9px 0 0;font-size:clamp(2.25rem,6vw,4.5rem);line-height:1.02;letter-spacing:-.055em}.asgo-commerce-hero p{max-width:620px;margin:16px 0 0;color:var(--asgo-muted);font-size:1rem}
.asgo-help-canvas{padding:clamp(64px,9vw,118px) 0;background:linear-gradient(145deg,#fff,var(--asgo-surface))}.asgo-help-canvas .asgo-section-heading{max-width:760px}.asgo-help-canvas .asgo-section-heading>p{color:var(--asgo-muted);font-size:1.05rem}.asgo-help-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:38px}.asgo-help-grid>a{position:relative;display:flex;min-height:190px;flex-direction:column;padding:30px;border:1px solid var(--asgo-line);border-radius:calc(var(--asgo-radius) + 4px);background:#fff;box-shadow:var(--asgo-shadow-sm);color:var(--asgo-ink);text-decoration:none;transition:.22s ease}.asgo-help-grid>a:hover{transform:translateY(-4px);border-color:color-mix(in srgb,var(--asgo-primary) 30%,var(--asgo-line));box-shadow:var(--asgo-shadow)}.asgo-help-grid>a>span{position:absolute;right:22px;top:22px;display:grid;width:38px;height:38px;place-items:center;border-radius:50%;background:var(--asgo-surface);color:var(--asgo-primary)}.asgo-help-grid strong{padding-right:42px;font:800 clamp(1.15rem,2vw,1.45rem) var(--asgo-display)}.asgo-help-grid small{max-width:430px;margin-top:12px;color:var(--asgo-muted);font-size:.86rem;line-height:1.65}@media(max-width:760px){.asgo-help-grid{grid-template-columns:1fr}.asgo-help-grid>a{min-height:155px;padding:24px}}

/* Product-led hero: the default has no stock photo and scales deliberately. */
@media (min-width: 1025px) {
  .airsimgo-premium-theme .asgm-hero--product {
    grid-template-columns: minmax(0,1.08fr) minmax(390px,.76fr);
    min-height: auto;
    padding-top: clamp(58px,7vw,96px);
    padding-bottom: clamp(58px,7vw,96px);
  }
  .airsimgo-premium-theme .asgm-hero--product .asgm-hero__image-wrap {
    min-height: 520px;
    border-radius: 30px;
  }
}
