/**
Theme Name: astrachild
Template: astra
Version: 1.0.1
Text Domain: astrachild
*/

:root {

  --sos-blue:           #014972;
  --sos-blue-dark:      #0A3657;

  --sos-blue-light:     #C8F4F8;
  --sos-aqua-soft:      #E8FBFD;

  --sos-bg-app:         #F6F8FB;
  --sos-bg-card:        #FFFFFF;
  --sos-bg-secondary:   #F9FBFC;

  --sos-text-primary:   #102A43;
  --sos-text-secondary: #486581;
  --sos-text-caption:   #829AB1;
  --sos-text-white:     #FFFFFF;

  --sos-success:        #16A34A;
  --sos-warning:        #F59E0B;
  --sos-error:          #DC2626;
  --sos-info:           #1CB5C9;

  --sos-border:         #E5EDF3;
  --sos-divider:        #EDF2F7;

  --sos-shadow:         rgba(16, 42, 67, 0.06);
  --sos-shadow-lg:      rgba(16, 42, 67, 0.10);

  --sos-gradient-hero:  linear-gradient(160deg, #5F7691 0%, #014972 100%);

  --sos-hero-accent:    rgba(255, 255, 255, 0.06);
  --sos-hero-chip-bg:   rgba(255, 255, 255, 0.16);
  --sos-hero-btn-bg:    rgba(255, 255, 255, 0.14);
  --sos-hero-btn-bd:    rgba(255, 255, 255, 0.28);

  --sos-space-1:  8px;
  --sos-space-2:  16px;
  --sos-space-3:  24px;
  --sos-space-4:  32px;
  --sos-space-5:  40px;
  --sos-space-6:  48px;

  --sos-radius-sm:   8px;
  --sos-radius-md:   16px;
  --sos-radius-lg:   24px;
  --sos-radius-pill: 100px;

  --sos-nav-h:    68px;
  --sos-toggle-h: 44px;
  --sos-max-w:    480px;
}

[data-theme="dark"] {
  --sos-blue:           #5BB8E6;
  --sos-blue-dark:      #014972;

  --sos-blue-light:     #1B3A52;
  --sos-aqua-soft:      #173248;

  --sos-bg-app:         #0A1626;
  --sos-bg-card:        #122236;
  --sos-bg-secondary:   #0F1B2C;

  --sos-text-primary:   #EAF2FB;
  --sos-text-secondary: #9DB6CE;
  --sos-text-caption:   #6B85A1;
  --sos-text-white:     #FFFFFF;

  --sos-success:        #4ADE80;
  --sos-warning:        #FBBF24;
  --sos-error:          #F87171;
  --sos-info:           #22D3EE;

  --sos-border:         #1F3550;
  --sos-divider:        #18304A;

  --sos-shadow:         rgba(0, 0, 0, 0.30);
  --sos-shadow-lg:      rgba(0, 0, 0, 0.45);

  --sos-gradient-hero:  linear-gradient(160deg, #1B3A52 0%, #0A3657 100%);

  --sos-hero-accent:    rgba(91, 184, 230, 0.10);
  --sos-hero-chip-bg:   rgba(91, 184, 230, 0.18);
  --sos-hero-btn-bg:    rgba(255, 255, 255, 0.10);
  --sos-hero-btn-bd:    rgba(255, 255, 255, 0.22);
}

*, *::before, *::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

html {
  font-size: 16px;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
  scroll-behavior: smooth;
}

body {
  font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  background-color: var(--sos-bg-app);
  color: var(--sos-text-primary);
  line-height: 1.5;
  min-height: 100vh;
  transition: background-color 0.3s ease, color 0.3s ease;
}

img, svg { display: block; max-width: 100%; }

a { color: var(--sos-blue); text-decoration: none !important; transition: color 0.2s; }
a:hover { color: var(--sos-blue-dark); }

.sos-title-page {
  color: var(--sos-text-primary);
  font-weight: 700;
  font-size: clamp(28px, 5vw, 32px);
  line-height: 1.2;
}
.sos-title-section {
  color: var(--sos-text-primary);
  font-weight: 600;
  font-size: clamp(22px, 4vw, 24px);
  line-height: 1.25;
}
.sos-title-card {
  color: var(--sos-text-primary);
  font-weight: 600;
  font-size: clamp(18px, 3vw, 20px);
  line-height: 1.3;
}
.sos-body {
  color: var(--sos-text-secondary);
  font-weight: 400;
  font-size: 15px;
  line-height: 1.6;
}
.sos-caption {
  color: var(--sos-text-caption);
  font-weight: 400;
  font-size: 12px;
  line-height: 1.5;
}

.sos-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  font-family: inherit;
  font-weight: 600;
  font-size: 15px;
  border: none;
  cursor: pointer;
  border-radius: var(--sos-radius-md);
  min-height: 52px;
  padding: 0 24px;
  transition: background-color 0.2s ease, box-shadow 0.2s ease, transform 0.15s;
  text-decoration: none;
  white-space: nowrap;
}
.sos-btn:active { transform: scale(0.98); }
.sos-btn svg { width: 18px; height: 18px; }

.sos-btn-primary {
  background-color: var(--sos-blue);
  color: var(--sos-text-white);
}
.sos-btn-primary:hover { background-color: var(--sos-blue-dark); color: var(--sos-text-white); }

.sos-btn-secondary {
  background-color: var(--sos-bg-card);
  color: var(--sos-blue);
  border: 1px solid var(--sos-blue);
}
.sos-btn-secondary:hover { background-color: var(--sos-bg-app); color: var(--sos-blue); }

.sos-btn-action {
  background-color: var(--sos-aqua-soft);
  color: var(--sos-blue);
  min-height: 40px;
  padding: 0 16px;
  font-size: 14px;
}
.sos-btn-action:hover { background-color: var(--sos-blue-light); }

.sos-btn-full { width: 100%; }

.sos-btn-ghost {
  background: var(--sos-hero-btn-bg);
  color: var(--sos-text-white);
  border: 1px solid var(--sos-hero-btn-bd);
  backdrop-filter: blur(4px);
}
.sos-btn-ghost:hover { background: var(--sos-hero-chip-bg); color: var(--sos-text-white); }

.sos-card {
  background-color: var(--sos-bg-card);
  border-radius: var(--sos-radius-lg);
  box-shadow: 0 2px 12px var(--sos-shadow);
  padding: 20px;
  transition: background-color 0.3s ease, box-shadow 0.2s ease;
}

.sos-chip {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  background-color: var(--sos-aqua-soft);
  color: var(--sos-blue);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  padding: 4px 12px;
  border-radius: var(--sos-radius-pill);
}
.sos-chip-success { background-color: #DCFCE7; color: var(--sos-success); }
[data-theme="dark"] .sos-chip-success { background-color: #14351F; }
.sos-chip-warning { background-color: #FEF3C7; color: var(--sos-warning); }
[data-theme="dark"] .sos-chip-warning { background-color: #3A2A0E; }
.sos-chip-info    { background-color: var(--sos-blue-light); color: var(--sos-info); }

.sos-icon-wrap {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  border-radius: var(--sos-radius-sm);
  background-color: var(--sos-aqua-soft);
  color: var(--sos-blue);
  flex-shrink: 0;
}
.sos-icon-wrap svg { width: 22px; height: 22px; }

.sos-divider {
  height: 1px;
  background-color: var(--sos-divider);
  border: none;
  margin: 16px 0;
}

.sos-page {
  max-width: var(--sos-max-w);
  margin: 0 auto;
  background-color: var(--sos-bg-app);
  min-height: 100vh;
  padding-bottom: calc(var(--sos-nav-h) + var(--sos-toggle-h) + 16px);
  position: relative;
  transition: background-color 0.3s ease;
}

.sos-header {
  background-color: var(--sos-bg-card);
  border-bottom: 1px solid var(--sos-border);
  padding: 0 16px;
  height: 64px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  position: sticky;
  top: 0;
  z-index: 99;
  transition: background-color 0.3s ease, border-color 0.3s ease;
}

.sos-header__brand { display: flex; align-items: center; gap: 12px; }

.sos-header__logo {
  width: 40px; height: 40px;
  background: var(--sos-blue);
  border-radius: 12px;
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
  color: #fff;
}
.sos-header__logo svg { width: 22px; height: 22px; }

.sos-header__name { font-size: 17px; font-weight: 700; color: var(--sos-text-primary); line-height: 1.2; }
.sos-header__sub  { font-size: 12px; color: var(--sos-text-caption); font-weight: 400; }

.sos-header__actions { display: flex; align-items: center; gap: 4px; }

.sos-icon-btn {
  width: 40px; height: 40px;
  border: none; background: transparent;
  border-radius: var(--sos-radius-sm);
  cursor: pointer;
  display: flex; align-items: center; justify-content: center;
  color: var(--sos-text-primary);
  transition: background 0.15s;
}
.sos-icon-btn:hover { background: var(--sos-bg-app); }
.sos-icon-btn svg { width: 20px; height: 20px; }

.sos-scroll {
  padding: 16px 16px 0;
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.sos-hero {
  background: var(--sos-gradient-hero);
  border-radius: var(--sos-radius-lg);
  padding: 32px 24px 32px;
  color: #fff;
  position: relative;
  overflow: hidden;
}
.sos-hero::before {
  content: '';
  position: absolute;
  top: -60px; right: -60px;
  width: 200px; height: 200px;
  border-radius: 50%;
  background: var(--sos-hero-accent);
  pointer-events: none;
}
.sos-hero::after {
  content: '';
  position: absolute;
  bottom: -80px; left: -40px;
  width: 160px; height: 160px;
  border-radius: 50%;
  background: var(--sos-hero-accent);
  pointer-events: none;
}

.sos-hero__chip {
  display: inline-flex;
  align-items: center;
  background: var(--sos-hero-chip-bg);
  color: #fff;
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  padding: 5px 14px;
  border-radius: var(--sos-radius-pill);
  margin-bottom: 16px;
  position: relative;
  z-index: 1;
}

.sos-hero__title {
  font-size: 26px;
  font-weight: 700;
  line-height: 1.25;
  color: #fff;
  max-width: 300px;
  margin-bottom: 18px;
  position: relative;
  z-index: 1;
}

.sos-hero__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 22px;
  position: relative;
  z-index: 1;
}

.sos-hero__meta-item {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: var(--sos-hero-chip-bg);
  color: #fff;
  font-size: 12px;
  font-weight: 500;
  padding: 6px 12px;
  border-radius: var(--sos-radius-sm);
}
.sos-hero__meta-item svg { width: 14px; height: 14px; opacity: 0.9; }

.sos-hero__actions {
  display: flex;
  gap: 10px;
  position: relative;
  z-index: 1;
}
.sos-hero__actions .sos-btn { flex: 1; }

.sos-stats {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  background: var(--sos-bg-card);
  border-radius: var(--sos-radius-lg);
  box-shadow: 0 2px 12px var(--sos-shadow);
  overflow: hidden;
}
.sos-stat {
  text-align: center;
  padding: 18px 8px;
}
.sos-stat + .sos-stat { border-left: 1px solid var(--sos-divider); }
.sos-stat__num { font-size: 22px; font-weight: 700; color: var(--sos-blue); line-height: 1.1; }
.sos-stat__label { font-size: 11px; color: var(--sos-text-caption); font-weight: 500; margin-top: 4px; }

.sos-info-card {
  background: var(--sos-bg-card);
  border-radius: var(--sos-radius-lg);
  box-shadow: 0 2px 12px var(--sos-shadow);
  padding: 0 20px 20px;
  overflow: hidden;
}
.sos-info-row {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 18px 0;
}
.sos-info-row + .sos-info-row { border-top: 1px solid var(--sos-divider); }
.sos-info-row__icon {
  width: 42px; height: 42px;
  background: var(--sos-aqua-soft);
  border-radius: 12px;
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
  color: var(--sos-blue);
}
.sos-info-row__icon svg { width: 20px; height: 20px; }
.sos-info-row__label { font-size: 12px; color: var(--sos-text-caption); margin-bottom: 2px; }
.sos-info-row__value { font-size: 16px; font-weight: 600; color: var(--sos-text-primary); }

.sos-section-hd {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 12px;
}
.sos-section-hd__title { font-size: 18px; font-weight: 700; color: var(--sos-text-primary); }
.sos-section-hd__link { font-size: 14px; font-weight: 500; color: var(--sos-blue); }

.sos-qa-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}
.sos-qa-card {
  background: var(--sos-bg-card);
  border-radius: var(--sos-radius-lg);
  box-shadow: 0 2px 12px var(--sos-shadow);
  padding: 24px 16px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 14px;
  text-decoration: none;
  cursor: pointer;
  border: none;
  font-family: inherit;
  transition: transform 0.15s, box-shadow 0.2s, background-color 0.3s;
}
.sos-qa-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 8px 24px var(--sos-shadow-lg);
}
.sos-qa-card__icon {
  width: 52px; height: 52px;
  background: var(--sos-aqua-soft);
  border-radius: 14px;
  display: flex; align-items: center; justify-content: center;
  color: var(--sos-blue);
  transition: background 0.3s;
}
.sos-qa-card__icon svg { width: 24px; height: 24px; }
.sos-qa-card__label { font-size: 14px; font-weight: 600; color: var(--sos-text-primary); }
.sos-qa-card__sub { font-size: 11px; color: var(--sos-text-caption); margin-top: -8px; text-align: center; }

.sos-session-card {
  background: var(--sos-bg-card);
  border-radius: var(--sos-radius-lg);
  box-shadow: 0 2px 12px var(--sos-shadow);
  padding: 20px;
  transition: background-color 0.3s;
}
.sos-session-card__top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 10px;
}
.sos-session-card__time { font-size: 12px; font-weight: 500; color: var(--sos-text-caption); }
.sos-session-card__title {
  font-size: 17px; font-weight: 700;
  color: var(--sos-text-primary);
  line-height: 1.35;
  margin-bottom: 14px;
}
.sos-session-card__meta {
  display: flex; align-items: center;
  gap: 12px; flex-wrap: wrap;
  margin-bottom: 16px;
}
.sos-session-card__location {
  display: flex; align-items: center; gap: 4px;
  font-size: 13px; color: var(--sos-text-secondary); font-weight: 500;
}
.sos-session-card__location svg { width: 14px; height: 14px; color: var(--sos-text-caption); }

.sos-session-card__speaker {
  display: flex; align-items: center; gap: 10px;
  padding: 12px;
  background: var(--sos-bg-secondary);
  border-radius: var(--sos-radius-md);
  margin-bottom: 16px;
}
.sos-session-card__avatar {
  width: 36px; height: 36px;
  border-radius: 50%;
  background: var(--sos-blue);
  color: #fff;
  display: flex; align-items: center; justify-content: center;
  font-size: 13px; font-weight: 700;
  flex-shrink: 0;
}
.sos-session-card__speaker-name { font-size: 14px; font-weight: 600; color: var(--sos-text-primary); }
.sos-session-card__speaker-role { font-size: 12px; color: var(--sos-text-caption); }

.sos-session-card__link {
  display: inline-flex; align-items: center; gap: 6px;
  font-size: 14px; font-weight: 600; color: var(--sos-blue);
}
.sos-session-card__link:hover { color: var(--sos-blue-dark); }
.sos-session-card__link svg { width: 16px; height: 16px; }

.sos-theme-bar {
  position: fixed;
  bottom: var(--sos-nav-h);
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  max-width: var(--sos-max-w);
  height: var(--sos-toggle-h);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 16px;
  z-index: 100;
  pointer-events: none;
}

.sos-theme-toggle {
  pointer-events: auto;
  display: flex;
  align-items: center;
  gap: 10px;
  background: var(--sos-bg-card);
  border: 1px solid var(--sos-border);
  border-radius: var(--sos-radius-pill);
  padding: 5px;
  height: 36px;
  box-shadow: 0 4px 16px var(--sos-shadow);
  cursor: pointer;
  font-family: inherit;
}

.sos-theme-toggle__opt {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 4px 14px;
  border-radius: var(--sos-radius-pill);
  font-size: 12px;
  font-weight: 600;
  color: var(--sos-text-caption);
  border: none;
  background: transparent;
  cursor: pointer;
  font-family: inherit;
  transition: background 0.25s, color 0.25s;
}
.sos-theme-toggle__opt svg { width: 15px; height: 15px; }
.sos-theme-toggle__opt.is-active {
  background: var(--sos-blue);
  color: #fff;
}

.sos-bottom-nav {
  position: fixed;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  max-width: var(--sos-max-w);
  height: var(--sos-nav-h);
  background: var(--sos-bg-card);
  border-top: 1px solid var(--sos-border);
  display: flex;
  align-items: stretch;
  justify-content: space-around;
  z-index: 100;
  transition: background-color 0.3s ease, border-color 0.3s ease;
}

.sos-nav-item {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 4px;
  text-decoration: none;
  color: var(--sos-text-caption);
  font-size: 11px;
  font-weight: 500;
  position: relative;
  transition: color 0.2s;
}
.sos-nav-item svg { width: 22px; height: 22px; transition: transform 0.2s; }

.sos-nav-item.active { color: var(--sos-blue); }
.sos-nav-item.active svg { transform: translateY(-1px); }

.sos-nav-item.active::before {
  content: '';
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 28px;
  height: 3px;
  border-radius: 0 0 3px 3px;
  background: var(--sos-blue);
}

.sos-nav-item:hover { color: var(--sos-blue); }

.sos-info-row__sub {
  margin-top: 3px;
  color: var(--sos-text-caption);
  font-size: 12px;
}

.sos-session-grid {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

html,
body,
#page,
.site,
#content,
.site-content,
#primary,
.content-area,
main,
article,
.entry-content,
.elementor,
.elementor-location-single,
.elementor-location-archive {
  background-color: var(--sos-bg-app);
  color: var(--sos-text-primary);
}

html[data-theme="dark"] .elementor > .elementor-element,
html[data-theme="dark"] .e-con,
html[data-theme="dark"] .e-con-inner,
html[data-theme="dark"] .elementor-section,
html[data-theme="dark"] .elementor-container,
html[data-theme="dark"] .elementor-column,
html[data-theme="dark"] .elementor-widget-wrap {
  border-color: var(--sos-border);
}

html[data-theme="dark"] .e-con:not(.sos-keep-background),
html[data-theme="dark"] .elementor-section:not(.sos-keep-background),
html[data-theme="dark"] .elementor-column:not(.sos-keep-background),
html[data-theme="dark"] .elementor-widget-wrap:not(.sos-keep-background) {
  background-color: transparent !important;
}

html[data-theme="dark"] h1,
html[data-theme="dark"] h2,
html[data-theme="dark"] h3,
html[data-theme="dark"] h4,
html[data-theme="dark"] h5,
html[data-theme="dark"] h6,
html[data-theme="dark"] p,
html[data-theme="dark"] li,
html[data-theme="dark"] label,
html[data-theme="dark"] strong,
html[data-theme="dark"] small {
  color: var(--sos-text-primary);
}

html[data-theme="dark"] input,
html[data-theme="dark"] select,
html[data-theme="dark"] textarea {
  background-color: var(--sos-bg-card);
  border-color: var(--sos-border);
  color: var(--sos-text-primary);
}

html[data-theme="dark"] input::placeholder,
html[data-theme="dark"] textarea::placeholder {
  color: var(--sos-text-caption);
}

html[data-theme="dark"] .sos-dark-card {
  background-color: var(--sos-bg-card) !important;
  border-color: var(--sos-border) !important;
  color: var(--sos-text-primary) !important;
}

@media (min-width: 768px) {
  :root {
    --sos-max-w: 760px;
    --sos-nav-h: 74px;
  }

  .sos-page { padding-bottom: calc(var(--sos-nav-h) + var(--sos-toggle-h) + 24px); }
  .sos-header { height: 72px; padding: 0 24px; }
  .sos-header__name { font-size: 19px; }
  .sos-scroll { padding: 24px 24px 0; gap: 20px; }

  .sos-hero { padding: 40px 32px; }
  .sos-hero__title { font-size: 32px; max-width: 460px; }

  .sos-stats { border-radius: var(--sos-radius-lg); }
  .sos-stat__num { font-size: 26px; }

  .sos-qa-grid { grid-template-columns: repeat(4, 1fr); gap: 14px; }
  .sos-qa-card { padding: 28px 16px; }

  .sos-session-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }

  .sos-info-card { padding: 0 24px 24px; }
}

@media (min-width: 1024px) {
  :root { --sos-max-w: 880px; }

  .sos-scroll { padding: 28px 28px 0; gap: 22px; }
  .sos-hero { padding: 48px 40px; }
  .sos-hero__title { font-size: 34px; max-width: 520px; }

  .sos-qa-grid { gap: 16px; }
  .sos-qa-card { padding: 32px 16px; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}


:root{
  --sos-app-width:880px;
  --sos-header-h:64px;
  --sos-nav-h:70px;
  --sos-toggle-h:45px;
  --sos-page:#f6f8fb;
  --sos-surface:#fff;
  --sos-surface-soft:#edf3f7;
  --sos-text:#102a43;
  --sos-muted:#71869a;
  --sos-border:#dde7ee;
  --sos-shadow:rgba(16,42,67,.09);
}

html[data-theme="dark"]{
  --sos-page:#081522;
  --sos-surface:#102235;
  --sos-surface-soft:#172c40;
  --sos-text:#eef6fc;
  --sos-muted:#9eb3c5;
  --sos-border:#213b52;
  --sos-shadow:rgba(0,0,0,.35);
}

html,body{
  margin:0!important;
  min-height:100%!important;
  background:var(--sos-page)!important;
  color:var(--sos-text)!important;
}

body{
  padding-top:calc(var(--sos-header-h) + 16px + env(safe-area-inset-top,0px))!important;
  padding-bottom:calc(var(--sos-nav-h) + var(--sos-toggle-h) + env(safe-area-inset-bottom,0px))!important;
}

/* Hide the normal Astra website header/footer. */
#masthead,
#ast-desktop-header,
#ast-mobile-header,
#colophon,
.site-footer,
.site-below-footer-wrap,
.entry-header,
header.entry-header,
#ast-scroll-top{
  display:none!important;
}

/* Remove Astra's default desktop page width and spacing. */
.ast-page-builder-template .site-content>.ast-container,
.ast-page-builder-template #primary,
.ast-container,
#primary,
.content-area{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
}

#page,
.site,
#content,
.site-content,
#primary,
.content-area,
main,
article,
.entry-content,
.elementor,
.elementor-location-single,
.elementor-location-archive{
  background:var(--sos-page)!important;
  color:var(--sos-text)!important;
}

/* Keep Elementor page backgrounds consistent in dark mode. */
html[data-theme="dark"] .e-con,
html[data-theme="dark"] .e-con-inner,
html[data-theme="dark"] .elementor-section,
html[data-theme="dark"] .elementor-container,
html[data-theme="dark"] .elementor-column,
html[data-theme="dark"] .elementor-widget-wrap{
  border-color:var(--sos-border)!important;
}

/* ---------------- Header ---------------- */

.sos-app-header{
  position:fixed!important;
  inset:0 0 auto!important;
  z-index:999999!important;
  height:calc(var(--sos-header-h) + env(safe-area-inset-top,0px))!important;
  padding-top:env(safe-area-inset-top,0px)!important;
  background:transparent!important;
  border:0!important;
  pointer-events:none!important;
}

.sos-header-shell{
  width:calc(100% - 24px)!important;
  max-width:var(--sos-app-width)!important;
  height:56px!important;
  margin:8px auto 0!important;
  padding:0 14px!important;
  display:flex!important;
  align-items:center!important;
  gap:12px!important;
  background:var(--sos-surface)!important;
  border:1px solid var(--sos-border)!important;
  border-radius:16px!important;
  box-shadow:0 5px 18px var(--sos-shadow)!important;
  pointer-events:auto!important;
}

.sos-home-header .sos-header-shell{
  justify-content:center!important;
}

.sos-app-logo{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
}

.sos-app-logo img{
  display:block!important;
  width:auto!important;
  height:42px!important;
  max-width:190px!important;
  object-fit:contain!important;
  box-shadow:none!important;
}

.sos-home-back{
  width:40px!important;
  height:40px!important;
  flex:0 0 40px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  color:var(--sos-blue,#014972)!important;
  background:var(--sos-surface-soft)!important;
  border-radius:12px!important;
}

.sos-home-back svg{
  width:23px!important;
  height:23px!important;
  fill:none!important;
  stroke:currentColor!important;
  stroke-width:2.4!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
}

.sos-page-name{
  min-width:0!important;
  color:var(--sos-text)!important;
  font:600 18px/1.2 system-ui,-apple-system,"Segoe UI",Arial,sans-serif!important;
  text-align:left!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}

/* ---------------- Theme switch ---------------- */

.sos-theme-switch{
  position:fixed!important;
  left:50%!important;
  bottom:calc(var(--sos-nav-h) + env(safe-area-inset-bottom,0px) + 7px)!important;
  z-index:1000000!important;
  transform:translateX(-50%)!important;
  height:38px!important;
  padding:3px!important;
  display:flex!important;
  align-items:center!important;
  gap:2px!important;
  background:var(--sos-surface)!important;
  border:1px solid var(--sos-border)!important;
  border-radius:30px!important;
  box-shadow:0 4px 16px var(--sos-shadow)!important;
}

.sos-theme-option{
  height:30px!important;
  padding:0 11px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:5px!important;
  border:0!important;
  border-radius:20px!important;
  color:var(--sos-muted)!important;
  background:transparent!important;
  font:600 11px/1 system-ui,-apple-system,"Segoe UI",Arial,sans-serif!important;
  cursor:pointer!important;
}

.sos-theme-option svg{
  width:14px!important;
  height:14px!important;
  fill:none!important;
  stroke:currentColor!important;
  stroke-width:2!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
}

.sos-theme-option.is-selected{
  color:#fff!important;
  background:var(--sos-blue,#014972)!important;
}

/* ---------------- Bottom navigation ---------------- */

.sos-bottom-nav{
  position:fixed!important;
  left:50%!important;
  right:auto!important;
  bottom:0!important;
  transform:translateX(-50%)!important;
  width:100%!important;
  max-width:var(--sos-app-width)!important;
  height:calc(var(--sos-nav-h) + env(safe-area-inset-bottom,0px))!important;
  padding-bottom:env(safe-area-inset-bottom,0px)!important;
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  background:var(--sos-surface)!important;
  border:1px solid var(--sos-border)!important;
  border-bottom:0!important;
  border-radius:18px 18px 0 0!important;
  box-shadow:0 -5px 18px var(--sos-shadow)!important;
  z-index:999999!important;
}

.sos-nav-link{
  position:relative!important;
  min-width:0!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:5px!important;
  color:var(--sos-muted)!important;
  background:transparent!important;
  font:500 11px/1 system-ui,-apple-system,"Segoe UI",Arial,sans-serif!important;
  text-decoration:none!important;
}

.sos-nav-link svg{
  width:23px!important;
  height:23px!important;
  fill:none!important;
  stroke:currentColor!important;
  stroke-width:1.9!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
}

.sos-nav-link span{
  color:inherit!important;
}

.sos-nav-link.is-active{
  color:var(--sos-blue,#014972)!important;
  font-weight:600!important;
}

.sos-nav-link.is-active::before{
  content:""!important;
  position:absolute!important;
  top:0!important;
  left:50%!important;
  width:30px!important;
  height:3px!important;
  border-radius:0 0 4px 4px!important;
  background:currentColor!important;
  transform:translateX(-50%)!important;
}
.sos-app-header {
  transition: transform 0.25s ease, opacity 0.25s ease !important;
}

.sos-app-header.sos-header-hidden {
  transform: translateY(-120%) !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

.sos-theme-switch,
.sos-bottom-nav {
  position: fixed !important;
}

/* WordPress toolbar correction. */
body.admin-bar .sos-app-header{
  top:32px!important;
}

@media(max-width:782px){
  body.admin-bar .sos-app-header{
    top:46px!important;
  }
}

@media(max-width:600px){
  :root{
    --sos-app-width:100%;
  }

  .sos-header-shell{
    width:calc(100% - 16px)!important;
    margin-top:6px!important;
    border-radius:14px!important;
  }

  .sos-bottom-nav{
    border-left:0!important;
    border-right:0!important;
    border-radius:16px 16px 0 0!important;
  }
}