:root {
  --sarie-orange: #ff6a00;
  --sarie-orange-dark: #dd5400;
  --sarie-orange-soft: #fff0e3;
  --sarie-navy: #0a2947;
  --sarie-navy-soft: #eef5fb;
  --sarie-ink: #17364f;
  --sarie-muted: #66798a;
  --sarie-line: #e4edf3;
  --sarie-paper: #f8fbfd;
  --sarie-shadow: 0 18px 46px rgba(9, 39, 68, .11);
}

html { scroll-behavior: smooth; }
body.sarie-site-body {
  min-height: 100vh;
  background: var(--sarie-paper);
  color: var(--sarie-ink);
  font-family: Tahoma, Arial, "Segoe UI", sans-serif;
  line-height: 1.8;
}
body.sarie-site-body::selection { background: var(--sarie-orange); color: #fff; }
.sarie-site-body a { text-decoration: none; }
.sarie-skip-link { position: fixed; right: 1rem; top: -5rem; z-index: 9999; padding: .6rem .9rem; background: var(--sarie-orange); color: #fff; border-radius: 12px; transition: top .2s; }
.sarie-skip-link:focus { top: 1rem; }

/* Header */
.sarie-site-header {
  position: relative;
  z-index: 1050;
  background: rgba(255,255,255,.96);
  border-bottom: 1px solid rgba(10,41,71,.08);
  transition: box-shadow .2s ease, background .2s ease;
}
.sarie-site-header.is-sticky { position: sticky; top: 0; box-shadow: 0 8px 28px rgba(8,39,68,.11); backdrop-filter: blur(14px); }
.sarie-header-inner { min-height: 84px; display: flex; align-items: center; gap: 1.2rem; }
.sarie-brand { display: inline-flex; flex: 0 0 auto; align-items: center; min-width: 116px; }
.sarie-brand-logo { display: grid; place-items: center; max-width: 186px; }
.sarie-brand-logo img, .sarie-footer-logo img { display: block; max-width: 100%; max-height: 50px; width: auto; height: auto; object-fit: contain; }
.sarie-navigation { display: flex; align-items: center; justify-content: center; gap: .2rem; margin-inline: auto; }
.sarie-navigation > a { position: relative; display: inline-flex; align-items: center; min-height: 42px; padding: 0 .85rem; color: #3f596b; font-size: .9rem; font-weight: 800; border-radius: 11px; transition: color .18s, background .18s; }
.sarie-navigation > a:hover, .sarie-navigation > a.active { color: var(--sarie-orange-dark); background: var(--sarie-orange-soft); }
.sarie-navigation > a.active::after { content: ""; position: absolute; bottom: 3px; inset-inline: .95rem; height: 2px; background: var(--sarie-orange); border-radius: 999px; }
.sarie-header-actions { display: flex; align-items: center; gap: .55rem; flex: 0 0 auto; }
.sarie-header-cta { display: inline-flex; align-items: center; gap: .4rem; min-height: 43px; padding: 0 1rem; border-radius: 12px; background: var(--sarie-orange); color: #fff !important; font-size: .86rem; font-weight: 900; box-shadow: 0 9px 20px rgba(255,106,0,.22); transition: transform .18s, background .18s; }
.sarie-header-cta:hover { color: #fff; background: var(--sarie-orange-dark); transform: translateY(-1px); }
.sarie-language-menu { position: relative; }
.sarie-language-button { display: inline-flex; align-items: center; gap: .3rem; min-height: 42px; padding: 0 .7rem; border: 1px solid var(--sarie-line); border-radius: 11px; background: #fff; color: var(--sarie-navy); font: inherit; font-weight: 800; cursor: pointer; }
.sarie-language-list { position: absolute; top: calc(100% + 8px); inset-inline-end: 0; min-width: 100%; display: none; padding: .35rem; border: 1px solid var(--sarie-line); border-radius: 12px; background: #fff; box-shadow: var(--sarie-shadow); }
.sarie-language-menu:hover .sarie-language-list, .sarie-language-menu:focus-within .sarie-language-list { display: block; }
.sarie-language-list a { display: block; padding: .45rem .6rem; color: var(--sarie-ink); font-size: .78rem; font-weight: 800; border-radius: 8px; }
.sarie-language-list a:hover { color: var(--sarie-orange-dark); background: var(--sarie-orange-soft); }
.sarie-nav-toggle { display: none; width: 44px; height: 42px; padding: 9px; border: 1px solid var(--sarie-line); border-radius: 11px; background: #fff; cursor: pointer; }
.sarie-nav-toggle span { display: block; height: 2px; margin: 4px 0; border-radius: 2px; background: var(--sarie-navy); }

/* Main area and legacy static pages */
.sarie-main-content { min-height: 42vh; }
.sarie-main-content .h-148px { height: 48px !important; }
.sarie-main-content .privacy-section { position: relative; padding: 4rem 0 5.25rem; overflow: hidden; background: linear-gradient(180deg, #fff 0%, var(--sarie-paper) 100%); }
.sarie-main-content .privacy-section::before { content: ""; position: absolute; inset: 0 0 auto; height: 210px; background: radial-gradient(circle at 15% 15%, rgba(255,106,0,.14), transparent 35%), radial-gradient(circle at 86% -10%, rgba(16,96,160,.12), transparent 42%); pointer-events: none; }
.sarie-main-content .section-wrapper { position: relative; z-index: 1; max-width: 950px; margin: 0 auto; padding: clamp(1.3rem, 4vw, 3.25rem); border: 1px solid var(--sarie-line); border-radius: 26px; background: rgba(255,255,255,.96); box-shadow: var(--sarie-shadow); }
.sarie-main-content .section-wrapper-inner { max-width: none; }
.sarie-main-content .section-header { margin: 0 0 1.65rem !important; padding-bottom: 1rem; border-bottom: 1px solid var(--sarie-line); }
.sarie-main-content .section-header .title { margin: 0; color: var(--sarie-navy); font-size: clamp(1.55rem, 3.6vw, 2.35rem); font-weight: 900; line-height: 1.35; }
.sarie-main-content .section-header .title .text-base { color: var(--sarie-orange) !important; }
.sarie-main-content .about--content { color: #466073; font-size: .98rem; line-height: 2; }
.sarie-main-content .about--content h1, .sarie-main-content .about--content h2, .sarie-main-content .about--content h3, .sarie-main-content .about--content h4 { margin: 1.65rem 0 .8rem; color: var(--sarie-navy); font-weight: 900; line-height: 1.5; }
.sarie-main-content .about--content h1:first-child, .sarie-main-content .about--content h2:first-child, .sarie-main-content .about--content h3:first-child { margin-top: 0; }
.sarie-main-content .about--content a { color: var(--sarie-orange-dark); font-weight: 800; text-decoration: underline; }
.sarie-main-content .about--content ul, .sarie-main-content .about--content ol { padding-inline-start: 1.35rem; }
.sarie-main-content .about--content table { width: 100%; border-collapse: collapse; overflow: hidden; border: 1px solid var(--sarie-line); border-radius: 14px; }
.sarie-main-content .about--content th, .sarie-main-content .about--content td { padding: .75rem; border: 1px solid var(--sarie-line); text-align: start; }
.sarie-main-content .about--content th { background: var(--sarie-navy-soft); color: var(--sarie-navy); }

/* Contact/about/registration pages retain their system markup while taking the Sarie surface */
.sarie-main-content .contact-section, .sarie-main-content .about-section, .sarie-main-content .registration-page, .sarie-main-content .vendor-registration { background: var(--sarie-paper); }
.sarie-main-content .form-control, .sarie-main-content .select2-selection { min-height: 48px; border-color: var(--sarie-line); border-radius: 12px; box-shadow: none; }
.sarie-main-content textarea.form-control { min-height: 130px; }
.sarie-main-content .form-control:focus { border-color: var(--sarie-orange); box-shadow: 0 0 0 .2rem rgba(255,106,0,.12); }
.sarie-main-content .btn-base, .sarie-main-content .btn-primary { border-color: var(--sarie-orange) !important; background: var(--sarie-orange) !important; color: #fff !important; border-radius: 12px; font-weight: 900; }
.sarie-main-content .btn-base:hover, .sarie-main-content .btn-primary:hover { background: var(--sarie-orange-dark) !important; }

/* Footer */
.sarie-footer { position: relative; overflow: hidden; padding: 4.3rem 0 0; background: #071f36; color: #fff; }
.sarie-footer::before { content: ""; position: absolute; width: 440px; height: 440px; top: -270px; inset-inline-start: -110px; border: 1px solid rgba(255,255,255,.12); border-radius: 50%; box-shadow: 0 0 0 58px rgba(255,255,255,.035), 0 0 0 116px rgba(255,255,255,.02); }
.sarie-footer .container { position: relative; z-index: 1; }
.sarie-footer-grid { display: grid; grid-template-columns: 1.4fr .78fr .9fr 1.1fr; gap: 2rem; }
.sarie-footer-brand p { max-width: 330px; margin: 1rem 0 1.35rem; color: #c4d2de; font-size: .88rem; line-height: 2; }
.sarie-footer-logo { display: inline-flex; max-width: 205px; }
.sarie-footer-logo img { max-height: 58px; }
.sarie-footer-column h3 { margin: .3rem 0 1rem; color: #fff; font-size: 1rem; font-weight: 900; }
.sarie-footer-column > a, .sarie-footer-column > span { display: flex; align-items: flex-start; gap: .55rem; margin: .62rem 0; color: #c4d2de; font-size: .85rem; line-height: 1.75; transition: color .18s; }
.sarie-footer-column > a:hover { color: #ffbd83; }
.sarie-footer-contact i { margin-top: .27rem; color: #ff9b4a; }
.sarie-social-links { display: flex; flex-wrap: wrap; gap: .55rem; }
.sarie-social-links a { display: grid; place-items: center; width: 35px; height: 35px; border: 1px solid rgba(255,255,255,.17); border-radius: 10px; color: #fff; transition: transform .18s, background .18s, border-color .18s; }
.sarie-social-links a:hover { border-color: var(--sarie-orange); background: var(--sarie-orange); color: #fff; transform: translateY(-2px); }
.sarie-app-link { margin-top: .95rem !important; padding-top: .95rem; border-top: 1px solid rgba(255,255,255,.12); color: #ffbc80 !important; font-weight: 900; }
.sarie-footer-bottom { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-top: 3.1rem; padding: 1.2rem 0; border-top: 1px solid rgba(255,255,255,.12); color: #9eb2c3; font-size: .78rem; }
.sarie-footer-bottom a { color: #ffb46f; font-weight: 900; }
.sarie-footer-bottom a:hover { color: #fff; }

/* Remove old template shell when it is present in nested legacy content */
.sarie-site-body .footer-bg, .sarie-site-body .newsletter-section { display: none !important; }

@media (max-width: 991px) {
  .sarie-header-inner { min-height: 74px; }
  .sarie-nav-toggle { display: block; order: 3; }
  .sarie-navigation { position: absolute; top: calc(100% + 8px); inset-inline: 14px; display: none; flex-direction: column; align-items: stretch; gap: .25rem; padding: .6rem; border: 1px solid var(--sarie-line); border-radius: 18px; background: #fff; box-shadow: var(--sarie-shadow); }
  .sarie-navigation.is-open { display: flex; }
  .sarie-navigation > a { justify-content: flex-start; min-height: 45px; }
  .sarie-navigation > a.active::after { display: none; }
  .sarie-navigation > a.active { background: var(--sarie-orange-soft); }
  .sarie-header-actions { margin-inline-start: auto; }
  .sarie-footer-grid { grid-template-columns: 1.25fr 1fr 1fr; }
  .sarie-footer-contact { grid-column: 1 / -1; }
}
@media (max-width: 620px) {
  .sarie-header-inner { gap: .55rem; }
  .sarie-brand { min-width: 74px; }
  .sarie-brand-logo { max-width: 135px; }
  .sarie-brand-logo img { max-height: 42px; }
  .sarie-header-actions .sarie-language-menu { display: none; }
  .sarie-header-cta { display: none; }
  .sarie-main-content .h-148px { height: 20px !important; }
  .sarie-main-content .privacy-section { padding: 2.25rem 0 3.6rem; }
  .sarie-main-content .section-wrapper { padding: 1.15rem; border-radius: 18px; }
  .sarie-main-content .about--content { font-size: .92rem; }
  .sarie-footer { padding-top: 3.25rem; }
  .sarie-footer-grid { grid-template-columns: 1fr 1fr; gap: 1.7rem 1rem; }
  .sarie-footer-brand, .sarie-footer-contact { grid-column: 1 / -1; }
  .sarie-footer-bottom { flex-direction: column; text-align: center; }
}
