/* Public shell. Geometry and color are owned here, independent of workspace CSS.
   Reference: https://vercel.com/geist — neutral surfaces and 36px controls. */
body.public-site {
  --public-max: 1120px;
  --public-page: var(--gv-canvas);
  --public-surface: var(--gv-surface);
  --public-surface-soft: var(--gv-surface-subtle);
  --public-text: var(--gv-text);
  --public-text-soft: var(--gv-text-muted);
  --public-muted: var(--gv-text-muted);
  --public-border: var(--gv-border);
  --public-border-strong: var(--gv-border-strong);
  --public-primary: var(--gv-primary);
  --public-primary-hover: var(--gv-text-muted);
  --public-primary-soft: var(--gv-surface-muted);
  --public-focus: #0070f3;
  --theme-page-bg: var(--public-page);
  --theme-surface: var(--public-surface);
  --theme-surface-subdued: var(--public-surface-soft);
  --theme-text: var(--public-text);
  --theme-text-secondary: var(--public-muted);
  --theme-border: var(--public-border);
  --theme-border-strong:var(--public-border-strong);
  --theme-control:var(--public-surface);
  --theme-text-muted:var(--public-muted);
  --theme-action:var(--public-primary);
  --theme-action-text:var(--gv-primary-text);
  --theme-accent:var(--public-primary);
  --theme-accent-text:var(--gv-primary-text);
  --accent:var(--public-primary);
  --accent-contrast:var(--gv-primary-text);
  margin: 0; min-width: 320px;
  background: var(--public-page); color: var(--public-text);
  font: 400 14px/1.5 var(--gv-font-sans);
}
body.public-site *, body.public-site *::before, body.public-site *::after { box-sizing: border-box; }
body.public-site [hidden] { display: none !important; }
body.public-site :is(button,input,select,textarea) { font: inherit; }
body.public-site button, body.public-site summary { cursor: pointer; }
body.public-site :is(a,button,input,select,textarea,summary):focus-visible { outline: 2px solid #0070f3; outline-offset: 3px; }
body.public-site img { max-width: 100%; }
body.public-site .public-site-container { width: min(var(--public-max), calc(100% - 48px)); margin-inline: auto; }
body.public-site .button { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 36px; padding: 0 14px; border: 1px solid var(--public-primary); border-radius: 6px; background: var(--public-primary); color: var(--gv-primary-text); font-weight: 500; text-decoration: none; }
body.public-site .button.secondary { background: var(--public-surface); color: var(--public-text); border-color: var(--public-border-strong); }
/* One header stack: brand, search, account and category rail move together. */
body.public-site .public-chrome-stack { position:relative; top:auto; z-index:4000; width:100%; transition:transform .16s ease; }
body.public-site .public-site-header { position:relative; margin:0; background:var(--chrome-bg); color:var(--chrome-text); border-bottom:1px solid var(--chrome-line); box-shadow:none; }
body.public-site .public-site-header-inner { width:min(1120px,100%); max-width:1120px; margin-inline:auto; min-height:72px; display:grid; grid-template-columns:minmax(170px,1fr) minmax(180px,2fr) auto; align-items:center; gap:12px 24px; padding:14px 24px; }
body.public-site .public-site-brand { display:flex; align-items:center; gap:10px; min-width:0; color:var(--chrome-text); text-decoration:none; }
body.public-site .public-site-brand-copy { display:flex; align-items:center; gap:7px; min-width:0; }
body.public-site .public-site-brand-copy strong { display:block; min-width:0; white-space:normal; overflow-wrap:anywhere; font-size:15px; font-weight:600; letter-spacing:-.02em; }
body.public-site .public-demo-chip { display:inline-flex; align-items:center; justify-content:center; min-height:20px; padding:2px 7px; flex:none; border:1px solid var(--chrome-line); border-radius:999px; background:var(--chrome-hover); color:var(--chrome-text); font-size:10px; line-height:1; font-weight:650; letter-spacing:.02em; text-transform:uppercase; }
body.public-site .public-site-brand-visual { display:flex; align-items:center; width:36px; flex:0 0 36px; max-width:36px; overflow:hidden; }
body.public-site .public-site-brand-image { display:block; width:auto; max-width:36px; max-height:36px; object-fit:contain; }
body.public-site .public-site-nav-wrap { min-width:0; width:100%; }
body.public-site .public-site-header-inner.has-customer-navigation { grid-template-columns:minmax(150px,1fr) minmax(140px,1fr) auto auto; gap:16px; }
body.public-site .public-site-nav-container { width:min(1120px,100%); max-width:1120px; margin-inline:auto; padding:0 24px 8px; }
body.public-site .public-site-nav { display:flex; align-items:center; justify-content:flex-start; flex-wrap:wrap; gap:4px; width:100%; }
body.public-site .public-site-nav:not(:has(>a,>details)) { display:none; }
body.public-site .public-site-nav-container:has(.public-site-nav:not(:has(>a,>details))) { display:none; }
body.public-site .public-site-header-actions { grid-column:-2 / -1; grid-row:1; justify-self:end; display:flex; align-items:center; gap:8px; }
body.public-site .public-site-nav>a, body.public-site .public-nav-dropdown>summary { display:flex; align-items:center; min-height:36px; padding:0 12px; border-radius:6px; border:0; color:var(--chrome-muted); background:transparent; text-decoration:none; font-size:14px; font-weight:500; list-style:none; }
body.public-site .public-site-nav>a:is(:hover,.is-active), body.public-site .public-nav-dropdown>summary:hover { color:var(--chrome-text); background:var(--chrome-hover); }
body.public-site .public-site-header-actions :is(.public-theme-toggle,.public-language-button) { display:inline-flex; align-items:center; justify-content:center; width:36px; height:36px; min-height:36px; padding:0; border:0; border-radius:6px; background:transparent; color:var(--chrome-text); list-style:none; }
body.public-site .public-site-header-actions :is(.public-theme-toggle,.public-language-button):hover { background:transparent; color:var(--chrome-muted); }
body.public-site :is(.public-header-signin,.public-mobile-signin) { display:inline-flex; align-items:center; justify-content:center; width:auto; height:36px; min-height:36px; padding:0 16px; border:1px solid var(--chrome-line); border-radius:6px; background:var(--chrome-bg); color:var(--chrome-text); white-space:nowrap; }
body.public-site .public-theme-toggle svg { display:block; width:18px; height:18px; }
body.public-site .public-theme-toggle .public-theme-sun { display:none; }
body.public-site .public-theme-toggle[data-theme="dark"] .public-theme-sun { display:block; }
body.public-site .public-theme-toggle[data-theme="dark"] .public-theme-moon { display:none; }
body.public-site summary::-webkit-details-marker { display:none; }
body.public-site :is(.public-language-menu,.public-nav-dropdown) { position:relative; }
body.public-site :is(.public-language-popover,.public-nav-dropdown-menu) { position:absolute; inset-inline-end:0; top:calc(100% + 8px); z-index:4100; width:220px; max-width:calc(100vw - 32px); max-height:min(420px,70dvh); overflow-y:auto; padding:6px; border:1px solid var(--public-border); border-radius:8px; background:var(--public-surface); color:var(--public-text); box-shadow:0 8px 30px #0002; }
body.public-site details:not([open])>:is(.public-language-popover,.public-nav-dropdown-menu) { display:none; }
body.public-site .public-language-popover-title { display:block; padding:8px 10px; font-size:12px; font-weight:500; color:var(--public-muted); }
body.public-site :is(.public-language-option,.public-nav-dropdown-menu>a) { display:flex; align-items:center; gap:10px; min-height:38px; padding:7px 10px; border-radius:5px; color:var(--public-text); text-decoration:none; }
body.public-site .public-language-option b { font-weight:500; }
body.public-site :is(.public-language-option,.public-nav-dropdown-menu>a):is(:hover,.is-active) { background:var(--public-surface-soft); }
body.public-site .public-mobile-signin, body.public-site .public-mobile-sheet-backdrop { display:none; }

/* Category rail starts at the viewport edge; only its links scroll sideways. */
body.public-site .public-commerce-bar { position:relative; top:auto; z-index:1; margin:0; color:var(--chrome-text); background:var(--chrome-bg); border:0; border-bottom:1px solid var(--chrome-line); }
body.public-site .public-commerce-bar-inner { width:100%; min-height:44px; padding-inline:16px; display:flex; align-items:center; justify-content:flex-start; gap:12px; }
body.public-site .public-commerce-categories { flex:0 0 auto; display:flex; align-items:center; gap:8px; min-height:36px; padding:0 8px; border:0; border-radius:4px; background:transparent; color:var(--chrome-text); font:500 13px var(--gv-font-sans); white-space:nowrap; }
body.public-site .public-commerce-shortcuts { display:flex; align-items:center; justify-content:flex-start; flex:1; gap:4px; min-width:0; overflow-x:auto; scrollbar-width:none; }
body.public-site .public-commerce-shortcuts a { flex:none; max-width:220px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; padding:9px 10px; border-radius:4px; color:var(--chrome-muted); text-decoration:none; font-size:12px; }
body.public-site :is(.public-commerce-shortcuts a,.public-commerce-categories):hover, body.public-site .public-commerce-shortcuts a.is-active { color:var(--chrome-text); background:var(--chrome-hover); }
body.public-site .public-commerce-shortcuts .public-commerce-custom-link {
  min-height:30px;max-width:none;overflow:visible;text-overflow:clip;padding:5px 10px;margin-inline-start:3px;display:inline-flex;align-items:center;gap:7px;
  border:1px solid color-mix(in srgb,var(--chrome-text) 18%,var(--chrome-line));border-radius:7px;
  background:color-mix(in srgb,var(--chrome-text) 6%,transparent);color:var(--chrome-text);font-weight:600;
}
body.public-site .public-commerce-shortcuts .public-commerce-custom-link>span:first-child { max-width:none;overflow:visible;text-overflow:clip;white-space:nowrap; }
body.public-site .public-commerce-shortcuts .public-commerce-custom-link:hover,
body.public-site .public-commerce-shortcuts .public-commerce-custom-link.is-active {
  border-color:color-mix(in srgb,var(--chrome-text) 30%,var(--chrome-line));background:color-mix(in srgb,var(--chrome-text) 11%,transparent);color:var(--chrome-text);
}
body.public-site .public-commerce-custom-link-mark { flex:none;font-size:11px;line-height:1;opacity:.72; }
body.public-site .public-commerce-cart-button { flex:none; margin-inline-start:auto; background:transparent; color:var(--chrome-text); border:0; }

/* Drawer has one scroll region and one search border. */
body.public-site .public-commerce-drawer { position:fixed; inset:0; z-index:6000; width:100%; height:100%; max-width:none; max-height:none; margin:0; padding:0; border:0; background:transparent; overflow:hidden; }
body.public-site .public-commerce-drawer::backdrop { background:#0006; }
html.public-commerce-drawer-open { overflow:hidden; }
body.public-site .public-commerce-drawer-panel { position:absolute; inset:0 auto 0 0; display:grid; grid-template-rows:auto auto minmax(0,1fr); gap:16px; width:min(340px,90vw); height:100%; padding:20px 12px 12px 20px; overflow:hidden; border:0; border-inline-end:1px solid var(--public-border); background:var(--public-surface); color:var(--public-text); box-shadow:0 12px 36px #0002; }
html[dir="rtl"] body.public-site .public-commerce-drawer-panel { inset:0 0 0 auto; }
body.public-site .public-commerce-drawer-panel>header { display:flex; justify-content:space-between; align-items:center; gap:12px; padding-inline-end:8px; }
body.public-site .public-commerce-drawer-panel>header>div { display:grid; gap:3px; }
body.public-site .public-commerce-drawer-panel small { color:var(--public-muted); }
body.public-site .public-drawer-close { display:grid; place-items:center; width:32px; height:32px; border:1px solid var(--public-border); border-radius:6px; padding:0; background:transparent; color:var(--public-text); }
body.public-site .public-commerce-drawer-search { display:flex; align-items:center; gap:8px; margin:0 8px 0 0; padding:0 10px; height:40px; border:1px solid var(--public-border-strong); border-radius:6px; background:var(--public-surface); color:var(--public-muted); }
body.public-site .public-commerce-drawer-search-label { position:absolute; width:1px; height:1px; clip-path:inset(50%); overflow:hidden; }
body.public-site .public-commerce-drawer-search input { appearance:none; width:100%; min-width:0; height:38px; margin:0; padding:0; border:0; border-radius:0; outline:0; background:transparent; color:var(--public-text); box-shadow:none; font-size:16px; }
body.public-site .public-commerce-drawer-search:focus-within { outline:2px solid var(--public-text); outline-offset:2px; }
body.public-site .public-commerce-drawer-search input:focus { border:0; outline:0; box-shadow:none; }
body.public-site .public-commerce-drawer-search input::-webkit-search-cancel-button, body.public-site .public-header-search input::-webkit-search-cancel-button { display:none; }
body.public-site .public-commerce-drawer-list { min-height:0; margin:0; overflow-y:auto; padding-inline-end:6px; scrollbar-width:thin; scrollbar-color:var(--public-border-strong) transparent; }
body.public-site .public-commerce-drawer-list a { display:flex; align-items:center; min-height:40px; padding:8px; border:0; border-radius:4px; color:var(--public-text); text-decoration:none; font-size:13px; }
body.public-site .public-commerce-drawer-list a:hover { background:var(--public-surface-soft); }
body.public-site .public-commerce-drawer-list a span { min-width:0; overflow-wrap:anywhere; }

@media(max-width:900px) {
  body.public-site .public-chrome-stack.is-scroll-hidden { transform:translateY(-100%); }
  body.public-site .public-site-header-inner, body.public-site .public-site-header-inner.has-customer-navigation { grid-template-columns:minmax(0,1fr) auto; gap:12px; padding:12px 16px; }
  body.public-site .public-site-header-actions { grid-column:2; grid-row:1; gap:6px; }
  body.public-site .public-header-search { grid-column:1/-1; grid-row:2; }
  body.public-site .public-header-signin { display:inline-flex; padding-inline:10px; font-size:12px; }
  body.public-site .public-site-brand-visual { max-width:36px; }
  body.public-site .public-site-brand-image { max-width:36px; }
  body.public-site .public-commerce-bar-inner { padding-inline:8px; gap:6px; }
  body.public-site .public-commerce-categories { font-size:12px; }
  body.public-site .public-commerce-shortcuts a { max-width:180px; font-size:12px; }
  body.public-site .public-commerce-shortcuts .public-commerce-custom-link { max-width:none; }
}
@media(prefers-reduced-motion:reduce) { body.public-site .public-chrome-stack { transition:none; } }
/* GSMVanta Public Language Flags — canonical image geometry. */
body.public-site img.public-language-current-flag,
body.public-site img.public-language-option-flag{
  box-sizing:border-box;display:block;width:26px;min-width:26px;max-width:26px;height:18px;min-height:18px;max-height:18px;
  object-fit:cover;border-radius:3px;overflow:hidden;
}
body.public-site img.public-language-option-flag{justify-self:start;box-shadow:0 0 0 1px rgba(0,0,0,.10)}

/* Optional floating language control. */
.gv-floating-language{position:fixed;right:18px;bottom:18px;z-index:9999}
.gv-floating-language>button{width:46px;height:46px;border:1px solid rgba(140,160,190,.28);border-radius:14px;background:#101010;color:#fff;font-size:20px;box-shadow:none}
.gv-floating-language-menu{position:absolute;right:0;bottom:54px;display:none;min-width:180px;padding:8px;border:1px solid rgba(140,160,190,.24);border-radius:14px;background:#101010;box-shadow:none}
.gv-floating-language:hover .gv-floating-language-menu,.gv-floating-language:focus-within .gv-floating-language-menu{display:grid}
.gv-floating-lang-option{display:flex;align-items:center;gap:9px;padding:9px 10px;border-radius:9px;color:#d9d9d9;text-decoration:none;font-size:12px}
.gv-floating-lang-svg{display:block;width:26px;height:18px;flex:0 0 26px;border-radius:3px;overflow:hidden}
.gv-floating-lang-option{direction:ltr;text-align:left}
.gv-floating-lang-option:hover,.gv-floating-lang-option.active{background:rgba(242,106,33,.16);color:#fff}
html[dir=rtl] .gv-floating-language{right:auto;left:18px}
html[dir=rtl] .gv-floating-language-menu{right:auto;left:0}

/* GSMVanta public footer — shared navy/slate system for every public route. */
body.public-site .public-site-footer,
html[data-theme="premium-glass"] body.public-site .public-site-footer {
  margin-top: 0;
  padding: 0;
  border: 0;
  border-top: 1px solid #2a3b52;
  background: #101c2e;
  color: #f8fafc;
  box-shadow: inset 0 3px 0 rgba(37, 99, 235, .24);
  font-family: var(--gv-font-sans, Arial, sans-serif);
}

body.public-site .public-footer-frame {
  width: min(var(--public-max, 1320px), calc(100% - 40px));
  max-width: none;
  margin-inline: auto;
  padding-top: 34px;
  padding-bottom: 16px;
}

body.public-site .public-footer-main {
  width: 100%;
  display: grid;
  grid-template-columns: minmax(280px, .9fr) minmax(0, 1.8fr);
  gap: 48px;
  align-items: start;
}

body.public-site .public-footer-brand {
  min-width: 0;
  padding: 0;
  display: grid;
  align-content: start;
  gap: 10px;
}
body.public-site .public-footer-brand-lockup {
  width: 100%;
  max-width: 100%;
  min-width:0;
  display: flex;
  align-items: center;
  color: #ffffff;
  text-decoration: none;
}
body.public-site .public-footer-brand-lockup > strong {
  margin: 0;
  color: #ffffff;
  font-size: 22px;
  line-height: 1.15;
  font-weight: 700;
  letter-spacing: -.026em;
  white-space: normal;
  min-width:0;
  overflow-wrap:anywhere;
}
body.public-site .public-footer-tagline {
  max-width: 400px;
  margin: 0;
  color: #aebbd0;
  font-size: 12.5px;
  line-height: 1.65;
  font-weight: 450;
  letter-spacing: -.006em;
}

body.public-site .public-footer-links-grid {
  min-width: 0;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(150px, 100%), 1fr));
  gap: 24px 28px;
  align-items: start;
  justify-items: center;
}
body.public-site .public-footer-links-grid .public-footer-column {
  width: 100%;
  max-width: 190px;
  min-width: 0;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 8px;
}
body.public-site .public-footer-links-grid .public-footer-column > strong {
  margin: 0 0 5px;
  color: #f8fafc;
  font-size: 11px;
  line-height: 1.3;
  font-weight: 760;
  letter-spacing: .025em;
  text-transform: uppercase;
}
body.public-site .public-footer-links-grid .public-footer-column > :is(a, span) {
  max-width: 100%;
  margin: 0;
  color: #aebbd0;
  font-size: 11.5px;
  line-height: 1.5;
  font-weight: 450;
  letter-spacing: -.004em;
  text-decoration: none;
  overflow-wrap: anywhere;
}
body.public-site .public-footer-links-grid .public-footer-column > a {
  transition: color .14s ease;
}
@media (hover: hover) {
  body.public-site .public-footer-links-grid .public-footer-column > a:hover {
    color: #ffffff;
  }
}

body.public-site .public-footer-bottom {
  min-height: 44px;
  margin-top: 27px;
  padding: 14px 0 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  border: 0;
  border-top: 1px solid #2a3b52;
  background: transparent;
  color: #8fa0b8;
}
body.public-site .public-footer-bottom .public-footer-rights {
  min-width: 0;
  display: grid;
  justify-items: start;
  gap: 4px;
}
body.public-site .public-footer-bottom .public-footer-rights :is(span, small) {
  margin: 0;
  color: #8fa0b8;
  font-size: 10.5px;
  line-height: 1.45;
  font-weight: 450;
}
body.public-site .public-footer-bottom .public-footer-powered {
  display: inline-flex;
  align-items: center;
  gap: 4px;
}
body.public-site .public-footer-bottom .public-footer-powered > span {
  font-size: inherit;
  letter-spacing: .05em;
}
body.public-site .public-footer-bottom .public-footer-powered > a {
  color: #b9c8dc;
  font: inherit;
  font-weight: 680;
  text-decoration: none;
  transition: color .14s ease;
}
@media (hover: hover) {
  body.public-site .public-footer-bottom .public-footer-powered > a:hover { color: #ffffff; }
}

body.public-site .public-footer-actions {
  margin-inline-start:auto; display:flex; align-items:center; justify-content:flex-end; flex-wrap:wrap; gap:10px;
}
body.public-site .public-footer-download {
  min-height:31px; display:inline-flex; align-items:center; gap:8px; padding:6px 10px;
  border:1px solid #405673; border-radius:8px; background:#f8fafc; color:#0f172a;
  font-size:11.5px; line-height:1; font-weight:650; text-decoration:none;
  box-shadow:none; transition:background-color .14s ease,border-color .14s ease,color .14s ease,transform .14s ease;
}
body.public-site .public-footer-download svg { width:15px; height:15px; flex:none; }
body.public-site .public-footer-download small { color:#64748b; font:inherit; font-size:10px; font-weight:600; }
body.public-site .public-footer-contact-link {
  min-height:31px; display:inline-flex; align-items:center; padding:0 10px;
  border:1px solid rgba(255,255,255,.14); border-radius:6px; color:#dbe6f5;
  font-size:11px; font-weight:560; line-height:1; text-decoration:none;
  transition:border-color .14s ease,background .14s ease,color .14s ease;
}
@media (hover:hover) {
  body.public-site .public-footer-download:hover { background:#fff; border-color:#7f96b4; color:#020617; transform:translateY(-1px); }
  body.public-site .public-footer-contact-link:hover { border-color:rgba(255,255,255,.28); background:rgba(255,255,255,.06); color:#fff; }
}

body.public-site .public-footer-social {
  margin: 0;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: 7px;
}
body.public-site .public-footer-social a {
  width: 31px;
  height: 31px;
  display: grid;
  place-items: center;
  border: 1px solid #31435d;
  border-radius: 8px;
  background: #16243a;
  color: #aebbd0;
  box-shadow: none;
  transition: border-color .14s ease, background-color .14s ease, color .14s ease, transform .14s ease;
}
body.public-site .public-footer-social svg { display: block; width: 15px; height: 15px; }
@media (hover: hover) {
  body.public-site .public-footer-social a:hover {
    border-color: #45607f;
    background: #1b2a3e;
    color: #ffffff;
    transform: translateY(-1px);
  }
}

/* Brand colours are limited to the actual social controls; they are not part
   of the site-wide interface palette. */
body.public-site .public-footer-social a[data-social="whatsapp"]:hover { background: #25d366; border-color: #25d366; color: #ffffff; }
body.public-site .public-footer-social a:is([data-social="telegram"],[data-social="telegram-channel"]):hover { background: #229ed9; border-color: #229ed9; color: #ffffff; }
body.public-site .public-footer-social a[data-social="facebook"]:hover { background: #1877f2; border-color: #1877f2; color: #ffffff; }
body.public-site .public-footer-social a[data-social="instagram"]:hover { background: linear-gradient(135deg, #833ab4, #fd1d1d, #fcb045); border-color: transparent; color: #ffffff; }
body.public-site .public-footer-social a[data-social="x"]:hover { background: #ffffff; border-color: #ffffff; color: #07111f; }
body.public-site .public-footer-social a[data-social="email"]:hover { background: #2563eb; border-color: #2563eb; color: #ffffff; }
body.public-site .public-footer-social a:focus-visible {
  outline: 2px solid #60a5fa;
  outline-offset: 3px;
}

@media (max-width: 1050px) {
  body.public-site .public-footer-main { grid-template-columns: 1fr; gap: 29px; }
  body.public-site .public-footer-tagline { max-width: 540px; }
  body.public-site .public-footer-links-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px 28px; }
}

@media (max-width: 700px) {
  body.public-site .public-footer-frame { width: calc(100% - 20px); padding-top: 28px; padding-bottom: 16px; }
  body.public-site .public-footer-brand-lockup > strong { font-size: 20px; }
  body.public-site .public-footer-tagline { font-size: 12px; line-height: 1.6; }
  body.public-site .public-footer-links-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px 18px; justify-items: center; }
  body.public-site .public-footer-bottom {
    margin-top: 23px;
    align-items: flex-start;
    flex-direction: column;
    gap: 12px;
  }
  body.public-site .public-footer-actions { margin-inline-start:0; justify-content:flex-start; flex-wrap:wrap; }
  body.public-site .public-footer-social { justify-content: flex-start; }
}

@media (max-width: 420px) {
  body.public-site .public-footer-main { gap: 24px; }
  body.public-site .public-footer-links-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px 14px; }
  body.public-site .public-footer-links-grid .public-footer-column > :is(a, span) { font-size: 11px; }
}


/* One neutral feedback component for save, delete and copy acknowledgments.
   Visual reference: https://vercel.com/geist/toast */
.app-toast-stack {
  --toast-surface:var(--admin-surface,var(--gv-surface,#fff));
  --toast-text:var(--admin-text,var(--gv-text,#171717));
  --toast-muted:var(--admin-text-secondary,var(--gv-text-muted,#666));
  --toast-border:var(--admin-border,var(--gv-border,#eaeaea));
  position:fixed; z-index:2147482800; inset-block-start:16px; inset-block-end:auto;
  inset-inline-end:16px; width:min(380px,calc(100vw - 32px)); display:grid; gap:8px; pointer-events:none;
}
.app-toast { position:relative; min-width:0; display:grid; grid-template-columns:20px minmax(0,1fr) 24px; align-items:center; gap:10px; padding:14px; border:1px solid var(--toast-border); border-radius:8px; background:var(--toast-surface); color:var(--toast-text); box-shadow:0 4px 16px #0002; pointer-events:auto; opacity:0; transform:translateY(-8px); transition:opacity .18s ease,transform .18s ease; }
.app-toast.is-visible { opacity:1; transform:translateY(0); }
.app-toast.is-leaving { opacity:0; transform:translateY(-8px); }
.app-toast-mark { display:grid; place-items:center; color:var(--toast-text); }
.app-toast-error .app-toast-mark { color:#e5484d; }
.app-toast-mark svg,.app-toast>button svg { width:18px; height:18px; }
.app-toast>div { min-width:0; }
.app-toast b { display:block; margin:0 0 3px; color:var(--toast-text); font-size:13px; font-weight:600; }
.app-toast p { margin:0; font-size:13px; line-height:1.5; color:var(--toast-text); overflow-wrap:anywhere; }
.app-toast>button { width:24px; height:24px; display:grid; place-items:center; padding:0; border:0; border-radius:4px; background:transparent; color:var(--toast-muted); cursor:pointer; }
.app-toast>button:hover { background:var(--toast-border); color:var(--toast-text); }
@media(prefers-reduced-motion:reduce) { .app-toast { transition:none; } }



body.public-site .public-site-nav > :is(a,details) { min-width:0; max-width:100%; }
body.public-site .public-site-nav > a, body.public-site .public-nav-dropdown > summary { white-space:normal; overflow-wrap:anywhere; text-align:start; padding-inline:8px; }
body.public-site .public-nav-dropdown-menu { inset-inline-start:0; inset-inline-end:auto; width:260px; }
body.public-site .public-nav-dropdown-menu > a { white-space:normal; overflow-wrap:anywhere; text-overflow:clip; height:auto; }
@media(max-width:900px) { body.public-site .public-site-nav-container { padding:0 16px 8px; } body.public-site .public-site-nav { justify-content:flex-start; } }
