/* Shared web navigation, scoped to avoid changing the signed-out storefront. */
.customer-account [hidden], .customer-tabs[hidden], .customer-menu[hidden], .customer-menu-toggle[hidden] { display:none !important; }
.customer-tabs { display:flex; align-items:center; justify-content:center; gap:32px; padding:8px 20px; background:var(--paper,#fff); border-bottom:1px solid var(--line); }
body:not(.customer-account) > .customer-tabs { display:none; }
.customer-tab { display:flex; align-items:center; justify-content:center; gap:9px; padding:13px 6px; text-decoration:none; color:var(--muted); font:500 14px var(--font-body,"Onest",sans-serif); border-bottom:2px solid transparent; }
.customer-tab svg { width:22px; height:22px; flex:none; }
.customer-tab { position:relative; }
.customer-tab-badge { position:absolute; inset-inline-end:5px; top:1px; width:7px; height:7px; border-radius:50%; background:var(--signal); }
.customer-tab[aria-current] { color:var(--signal-dark); border-color:var(--signal-dark); }
/* One modal menu for existing public and customer headers; native dialog owns focus/inert. */
.customer-menu-ready #nav-menu-toggle,.customer-menu-ready #nav-mobile-menu { display:none !important; }
.customer-menu-toggle { display:grid; place-items:center; flex:none; width:44px; height:44px; border:1px solid var(--line); border-radius:10px; background:var(--paper,#fff); color:var(--ink,#0D1B2A); cursor:pointer; }
.customer-menu-toggle svg { width:23px; height:23px; }
.customer-menu-open { overflow:hidden; }
.customer-menu { position:fixed; inset-block:16px auto; inset-inline:auto 20px; margin:0; width:min(440px,calc(100vw - 32px)); max-width:none; max-height:calc(100dvh - 32px); padding:0; border:1px solid var(--line,#DBE4EF); border-radius:22px; color:var(--ink,#0D1B2A); background:var(--paper,#fff); box-shadow:0 24px 80px #0d1b2a26; overflow:auto; overscroll-behavior:contain; font:400 16px/1.45 var(--font-body,"Onest",sans-serif); }
.customer-menu:not([open]) { display:none; }
.customer-menu::backdrop { background:#0d1b2a66; backdrop-filter:blur(3px); }
.customer-menu-inner { padding:20px 24px 16px; }
.customer-menu-head { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-block-end:26px; }
.customer-menu-brand { display:block; width:208px; max-width:calc(100% - 60px); flex:none; text-decoration:none; }
.customer-menu-brand img { display:block; width:100%; height:auto; }
.customer-menu-close { display:grid; place-items:center; width:44px; height:44px; flex:none; border:0; border-radius:10px; color:var(--ink); background:transparent; cursor:pointer; }
.customer-menu-close svg { width:27px; height:27px; }
.customer-menu-main { display:grid; gap:3px; }
.customer-menu-row { display:flex; align-items:center; gap:16px; width:100%; min-height:54px; padding:12px 10px; border:0; border-radius:10px; text-decoration:none; text-align:start; color:var(--ink); background:transparent; font:500 17px/1.4 var(--font-body,"Onest",sans-serif); cursor:pointer; }
.customer-menu-row > svg { width:24px; height:24px; flex:none; color:var(--muted); }
.customer-menu-row .customer-menu-label { min-width:0; flex:1; overflow-wrap:anywhere; }
.customer-menu-row > .customer-menu-arrow { width:19px; height:19px; }
.customer-menu-row:hover,.customer-menu-close:hover { background:var(--sky,#F3F7FB); }
.customer-menu-row:focus-visible,.customer-menu-close:focus-visible,.customer-menu-legal a:focus-visible,.customer-menu-legal summary:focus-visible { outline:3px solid var(--signal); outline-offset:2px; }
.customer-menu .customer-menu-primary { min-height:64px; padding-inline:20px; margin-block-end:10px; background:var(--signal,#0CB56B); color:#fff; font-size:22px; font-weight:600; }
.customer-menu .customer-menu-primary:hover { background:var(--signal-dark,#078F53); }
.customer-menu-primary > .customer-menu-arrow { color:inherit; width:24px; height:24px; }
.customer-menu .customer-menu-esims { background:var(--sky,#F3F7FB); margin-block-end:12px; padding-block:16px; }
.customer-menu-balance { display:block; margin-block-start:3px; color:var(--signal-dark,#078F53); font-size:14px; font-weight:500; unicode-bidi:isolate; }
.customer-menu-balance.is-error { color:var(--muted); font-size:12px; font-weight:400; }
.customer-menu-bottom { margin-block-start:22px; }
.customer-menu-settings,.customer-menu-partners { border-block-start:1px solid var(--line,#DBE4EF); border-radius:0; padding-block:20px; }
.customer-menu-settings:disabled { cursor:progress; opacity:.7; }
.customer-menu-legal { display:flex; flex-wrap:wrap; align-items:baseline; gap:8px 24px; padding-block-start:17px; border-block-start:1px solid var(--line,#DBE4EF); color:var(--muted); font-size:14px; }
.customer-menu-legal > a,.customer-menu-documents > summary { color:inherit; min-height:44px; padding-block:10px; text-decoration:none; cursor:pointer; }
.customer-menu-documents { flex:1; min-width:120px; }
.customer-menu-documents > summary { list-style:none; }
.customer-menu-documents > summary::-webkit-details-marker { display:none; }
.customer-menu-documents[open] > summary { color:var(--signal-dark); }
.customer-menu-documents nav { display:grid; gap:2px; padding-block:4px 10px; }
.customer-menu-documents nav a { color:inherit; padding-block:10px; text-decoration:none; }
.customer-menu-documents nav a:hover,.customer-menu-legal > a:hover { text-decoration:underline; }
[dir="rtl"] .customer-menu-arrow { transform:scaleX(-1); }
@media(max-width:700px) {
  .customer-menu-ready .nav .nav-inner { display:flex; flex-wrap:wrap; gap:10px; }
  .customer-menu-ready .nav-inner > .logo { margin-inline-end:auto; }
  .customer-menu-ready .nav-inner > .lang-currency,.customer-menu-ready .nav-inner > .lang-switch { display:none !important; }
  .customer-menu-ready .nav-inner > .customer-menu-toggle { order:5; }
  .customer-menu { inset-block:8px auto; inset-inline:8px; width:calc(100vw - 16px); max-height:calc(100dvh - 16px); border-radius:18px; }
  .customer-menu-inner { padding:16px 18px calc(12px + env(safe-area-inset-bottom,0px)); }
  .customer-menu-head { margin-block-end:20px; }
  .customer-menu-row { min-height:52px; font-size:16px; gap:13px; }
  .customer-menu .customer-menu-primary { font-size:21px; min-height:60px; }
}
.customer-account .account-topbar { position:relative; }
.customer-account { --signal-tint:#E8F7EF; display:block; padding:0; margin:0; background:var(--sky); }
.customer-account .account-topbar { display:flex; gap:16px; align-items:center; width:100%; max-width:none; padding:16px max(24px,calc((100vw - 1120px)/2)); margin:0; border-bottom:1px solid var(--line); background:var(--paper); }
.customer-account .account-topbar .brand { margin-inline-end:auto; flex:none; }
.customer-account .account-topbar .brand img { display:block; width:176px; height:auto; }
.customer-account .account-nav { display:none; }
.customer-account > main { max-width:1060px; padding:28px 24px 60px; margin:auto; }
.customer-account #lk { max-width:none; }
.customer-account .card { max-width:760px; margin:0 auto 20px; width:100%; }
.customer-account #account-summary { display:none; }
.customer-account #esims-card { border:0; padding:10px 0; background:transparent; }
.customer-account .account-app-promo { margin-top:24px; }
.customer-profile-list { display:grid; margin-block:20px; }
.customer-profile-row { display:flex; justify-content:space-between; align-items:center; gap:16px; min-height:54px; padding:16px 0; border:0; border-bottom:1px solid var(--line); text-decoration:none; text-align:start; background:transparent; color:var(--ink); font:500 15px "Onest",sans-serif; cursor:pointer; }
.customer-profile-email { overflow-wrap:anywhere; color:var(--muted); margin-top:14px; }
.customer-devices { display:grid; gap:12px; margin-block:18px; }
.customer-device { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:12px; padding:16px; border:1px solid var(--line); border-radius:12px; }
.customer-device small { display:block; margin-top:6px; color:var(--muted); }
.customer-device button { padding:8px; border:0; background:transparent; text-decoration:underline; color:var(--signal-dark); cursor:pointer; }
.customer-device-current { color:var(--signal-dark); }
.customer-account #help-card { width:100%; max-width:860px; margin:auto; }
.customer-account .customer-help-heading { margin-bottom:18px; }

.customer-account #help-card .lt-support-page { border-radius:18px; overflow:hidden; }
.customer-account #help-card .lt-support-guest { font-size:13px; }
.customer-account .customer-help-fallback { display:flex; flex-wrap:wrap; justify-content:space-between; gap:16px; padding-block:16px; font-size:13px; }
.customer-account .customer-help-fallback a { color:var(--signal-dark); }
.customer-account .customer-remember { font-size:13px; line-height:1.5; color:var(--muted); margin-top:18px; }
.customer-verify-note { padding:16px; margin-bottom:20px; border-radius:12px; background:var(--signal-tint); color:var(--ink); }
.customer-verify-note a { color:var(--signal-dark); }
@media(min-width:900px) {
  .customer-account #esims-list { grid-template-columns:1fr; }
  .customer-account .esim-section { grid-template-columns:repeat(2,minmax(0,1fr)); align-items:start; }
  .customer-account .esim-section-title { grid-column:1/-1; }
}
@media(max-width:700px) {
  .customer-account { padding-bottom:calc(76px + env(safe-area-inset-bottom,0px)); }
  .customer-tabs,body:not(.customer-account) > .customer-tabs { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); position:fixed; z-index:900; inset-inline:0; bottom:0; gap:0; padding:6px 8px calc(7px + env(safe-area-inset-bottom,0px)); border-top:1px solid var(--line); border-bottom:0; }
  .customer-tab { flex-direction:column; gap:5px; padding:8px 2px; min-height:52px; border:0; font-size:11px; text-align:center; }
  .customer-tab span { overflow-wrap:anywhere; }
  .customer-account .account-topbar { padding:12px 16px; gap:10px; }
  .customer-account .account-topbar .brand img { width:137px; }
  .customer-account > main { padding:24px 16px; }
  .customer-account #esims-card { padding:0; }
  .customer-account .card { padding:20px; }

  .customer-tab-badge { inset-inline-end:calc(50% - 20px); top:5px; }
}

/* A conversation occupies the available window; only its history scrolls. */
.customer-account.customer-help-active { display:flex; flex-direction:column; height:var(--customer-viewport-height,100dvh); min-height:0; overflow:hidden; padding-bottom:0; }
.customer-help-active .account-topbar,.customer-help-active > .customer-tabs { flex:none; }
.customer-help-active > main { flex:1; min-height:0; padding-block:24px 12px; }
.customer-help-active #lk { display:none; }
.customer-help-active #help-card { height:100%; min-height:0; display:flex; flex-direction:column; }
.customer-help-active .customer-help-heading,.customer-help-active .customer-help-fallback { flex:none; }
.customer-help-active #help-card .lt-support-page { flex:1; min-height:0; border:1px solid var(--line); }
.customer-help-active #help-card .lt-support-chat { height:100%; min-height:0; }
.customer-help-active .customer-help-fallback { padding-block:10px 0; }
.customer-help-active .customer-help-heading { margin-bottom:16px; }
.customer-tab:focus-visible { outline:3px solid var(--signal); outline-offset:3px; border-radius:10px; }

@media(min-width:701px) {
  .customer-account:is(.customer-mode,.customer-help-active) { display:grid; grid-template-columns:minmax(24px,1fr) 208px minmax(0,900px) minmax(24px,1fr); grid-template-rows:auto minmax(0,1fr); column-gap:24px; align-items:start; }
  .customer-account .account-topbar { grid-column:1/-1; padding:18px max(24px,calc((100vw - 1180px)/2)); }
  .customer-account > .customer-tabs { grid-column:2; grid-row:2; position:sticky; top:24px; display:flex; flex-direction:column; align-items:stretch; gap:6px; padding:28px 0; border:0; background:transparent; }
  .customer-account .customer-tab { justify-content:flex-start; min-height:50px; padding:14px 16px; border:0; border-radius:12px; font-size:15px; }
  .customer-account .customer-tab:hover { background:#eaf0f6; }
  .customer-account .customer-tab[aria-current] { background:var(--signal-tint); color:var(--signal-dark); }
  .customer-account .customer-tab-badge { inset-inline-end:12px; top:12px; }
  .customer-account:is(.customer-mode,.customer-help-active) > main { grid-column:3; grid-row:2; align-self:stretch; min-width:0; width:100%; max-width:none; margin:0; padding:28px 0 24px; }
  .customer-account .card { max-width:none; }
  .customer-account #help-card { max-width:none; }
}
@media(max-width:700px) {
  .customer-catalog { padding-bottom:calc(76px + env(safe-area-inset-bottom,0px)); }
  .customer-catalog main > section:not(#countries),.customer-catalog #site-footer { display:none; }
  .customer-catalog #countries { padding-block:24px 28px; scroll-margin-top:80px; }
  .customer-catalog #countries .container { opacity:1; transform:none; transition:none; }
  .customer-catalog #countries .eyebrow,.customer-catalog #countries .egypt,.customer-catalog #nav-account { display:none; }
  .customer-catalog .lt-support-launcher { display:none !important; }
  .customer-catalog #countries h2 { font-size:24px; line-height:1.3; }
  .customer-catalog .lt-support-widget { bottom:calc(76px + env(safe-area-inset-bottom,0px)); }
  .customer-catalog .lt-support-widget:has(.lt-support-panel:not([hidden])) { bottom:0; z-index:1000; }
  .customer-help-active > main { padding:16px 12px calc(86px + env(safe-area-inset-bottom,0px)); }
  .customer-help-active .customer-help-heading { margin-bottom:12px; }
  .customer-help-active .customer-help-heading h1 { font-size:22px; }
  .customer-help-active .customer-help-heading .sub { margin-top:6px; font-size:13px; }
  .customer-help-active .customer-help-fallback { font-size:11px; }
  .customer-keyboard-open.customer-help-active > .customer-tabs { display:none; }
  .customer-keyboard-open.customer-help-active > main { padding-bottom:8px; }
  .customer-keyboard-open.customer-help-active .customer-help-heading { display:none; }
}
@media(max-height:560px) {
  .customer-help-active .customer-help-heading .sub { display:none; }
  .customer-help-active > main { padding-top:10px; }
  .customer-help-active .customer-help-heading { margin-bottom:8px; }
}
