/*!
 * Sai World Travel — premium design layer
 * Loaded after the Astra / Elementor styles on every page. Colours and fonts inside the Elementor CSS are
 * re-mapped by tools/premium.py; this file adds the premium typography, components and motion.
 */
:root {
  --sw-midnight: #0B2235;
  --sw-midnight-2: #07182A;
  --sw-ocean: #123D5A;
  --sw-gold: #C6A15B;
  --sw-gold-2: #E2C48A;
  --sw-gold-ink: #9A7536;
  --sw-sand: #F6F1E8;
  --sw-ivory: #FBF8F3;
  --sw-ink: #14202B;
  --sw-slate: #4A5560;
  --sw-line: #E7DFD1;
  --sw-radius: 18px;
  --sw-shadow: 0 1px 2px rgba(11, 34, 53, .06), 0 12px 32px -12px rgba(11, 34, 53, .22);
  --sw-shadow-lg: 0 2px 4px rgba(11, 34, 53, .06), 0 28px 60px -20px rgba(11, 34, 53, .35);
  --sw-serif: "Playfair Display", "Cormorant Garamond", Georgia, "Times New Roman", serif;
  --sw-sans: "Manrope", "Inter", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  --sw-ease: cubic-bezier(.2, .7, .2, 1);
}

/* ============================================================== base typography */
html body { font-family: var(--sw-sans); color: var(--sw-slate); background: #fff; -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
html body, html body p, html body li, html body input, html body select, html body textarea, html body button,
html body .elementor-widget-text-editor, html body .elementor-icon-list-text, html body .elementor-button, html body .elementor-nav-menu a {
  font-family: var(--sw-sans) !important;
}
html body .elementor-widget-text-editor { line-height: 1.8; }
html body .elementor-widget-text-editor p { margin-bottom: 1.05em; }
html body .elementor-widget-text-editor strong, html body .elementor-widget-text-editor b { color: var(--sw-ink); font-weight: 700; }
html body .elementor-widget-text-editor, html body .elementor-widget-text-editor p { text-align: left; }
html body .elementor-widget-text-editor.elementor-widget__width-inherit, html body [style*="text-align: center"] p { text-align: inherit; }

html body h1, html body h2, html body h3,
html body h1.elementor-heading-title, html body h2.elementor-heading-title, html body h3.elementor-heading-title,
html body .entry-title, html body .page-title, html body .elementor-post__title {
  font-family: var(--sw-serif) !important;
  font-weight: 600 !important;
  letter-spacing: -0.01em;
  line-height: 1.18 !important;
}
html body h4, html body h5, html body h6,
html body h4.elementor-heading-title, html body h5.elementor-heading-title, html body h6.elementor-heading-title,
html body p.elementor-heading-title, html body span.elementor-heading-title, html body div.elementor-heading-title {
  font-family: var(--sw-sans) !important;
  letter-spacing: .01em;
}
html body .elementor-widget-heading h2.elementor-heading-title { text-wrap: balance; }
::selection { background: var(--sw-gold-2); color: var(--sw-midnight); }

/* links inside copy */
html body .elementor-widget-text-editor a, html body .entry-content a:not(.elementor-button), html body .elementor-widget-theme-post-content a {
  color: var(--sw-ocean);
  text-decoration: none;
  background-image: linear-gradient(var(--sw-gold), var(--sw-gold));
  background-size: 100% 1px;
  background-position: 0 100%;
  background-repeat: no-repeat;
  transition: color .25s var(--sw-ease), background-size .3s var(--sw-ease);
}
html body .elementor-widget-text-editor a:hover, html body .entry-content a:not(.elementor-button):hover, html body .elementor-widget-theme-post-content a:hover {
  color: var(--sw-gold-ink);
  background-size: 100% 2px;
}

/* ============================================================== buttons */
html body .elementor-button,
html body .wpcf7-submit, html body input.wpcf7-submit, html body .sbuis, html body .sbuise,
html body .cf7mls_next, html body .cf7mls_back, html body button.cf7mls_next, html body button.cf7mls_back,
html body .ast-button, html body .wp-block-search__button {
  font-family: var(--sw-sans) !important;
  font-weight: 700 !important;
  font-size: 13px !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
  line-height: 1.2 !important;
  border-radius: 999px !important;
  border: 0 !important;
  padding: 16px 32px !important;
  color: var(--sw-midnight) !important;
  background: linear-gradient(135deg, var(--sw-gold-2) 0%, var(--sw-gold) 55%, #B08A45 100%) !important;
  box-shadow: 0 10px 24px -10px rgba(166, 128, 60, .75), inset 0 1px 0 rgba(255, 255, 255, .45) !important;
  transition: transform .3s var(--sw-ease), box-shadow .3s var(--sw-ease), filter .3s var(--sw-ease) !important;
  cursor: pointer;
}
html body .elementor-button:hover, html body .wpcf7-submit:hover, html body .sbuis:hover, html body .sbuise:hover,
html body .cf7mls_next:hover, html body .ast-button:hover, html body .wp-block-search__button:hover {
  transform: translateY(-2px);
  filter: brightness(1.04);
  box-shadow: 0 18px 34px -14px rgba(166, 128, 60, .9), inset 0 1px 0 rgba(255, 255, 255, .5) !important;
}
html body .elementor-button:focus-visible, html body .wpcf7-submit:focus-visible, html body .cf7mls_next:focus-visible {
  outline: 3px solid rgba(198, 161, 91, .45); outline-offset: 3px;
}
html body .elementor-button .elementor-button-text { color: inherit !important; }
html body .cf7mls_back { background: var(--sw-midnight) !important; color: #fff !important; box-shadow: none !important; }
/* text-style "view details" links keep their link look */
html body .viey .elementor-button, html body .viey .elementor-button-link {
  background: none !important; box-shadow: none !important; padding: 0 !important; color: var(--sw-gold-ink) !important; letter-spacing: .14em !important;
}
html body .viey .elementor-button-link i { color: var(--sw-gold) !important; transition: transform .25s var(--sw-ease); }
html body .viey .elementor-button-link:hover i { transform: translateX(4px); }

/* ============================================================== header */
html body .elementor-location-header .elementor-element-de5f1b9 { background: var(--sw-midnight-2) !important; border-bottom: 1px solid rgba(198, 161, 91, .18); }
html body .loesc li::before { font-family: var(--sw-sans) !important; font-size: 12px !important; letter-spacing: .14em; text-transform: uppercase; color: var(--sw-gold-2) !important; font-weight: 700 !important; }
html body .loesc .elementor-icon-list-icon i, html body .loesc .elementor-icon-list-icon svg { color: var(--sw-gold) !important; fill: var(--sw-gold) !important; }
html body .loesc .elementor-icon-list-text { color: #F3EDE2 !important; font-weight: 500 !important; letter-spacing: .02em; }
html body .elementor-location-header .elementor-social-icon { background: transparent !important; border: 1px solid rgba(198, 161, 91, .45); border-radius: 50%; transition: background .25s; }
html body .elementor-location-header .elementor-social-icon:hover { background: rgba(198, 161, 91, .18) !important; }
html body .elementor-location-header .elementor-social-icon i, html body .elementor-location-header .elementor-social-icon svg { color: var(--sw-gold-2) !important; fill: var(--sw-gold-2) !important; }

html body header.sticky-header .elementor-nav-menu--main .elementor-item {
  font-weight: 600 !important; letter-spacing: .03em; font-size: 14.5px !important; position: relative;
}
html body header.sticky-header .elementor-nav-menu--main .elementor-item::after {
  content: ""; position: absolute; left: 14px; right: 14px; bottom: 6px; height: 1.5px; background: var(--sw-gold);
  transform: scaleX(0); transform-origin: left; transition: transform .35s var(--sw-ease); opacity: 1 !important;
}
html body header.sticky-header .elementor-nav-menu--main .elementor-item:hover::after,
html body header.sticky-header .elementor-nav-menu--main .elementor-item.elementor-item-active::after { transform: scaleX(1); }
html body header.sticky-header .elementor-nav-menu--main .elementor-item:hover { color: var(--sw-gold-2) !important; }
/* dropdowns */
html body .elementor-nav-menu--dropdown, html body .elementor-nav-menu--main .sub-menu {
  background: #fff !important; border-radius: 14px !important; box-shadow: var(--sw-shadow-lg) !important; padding: 8px 0 !important;
  border: 1px solid var(--sw-line) !important; overflow: hidden;
}
html body .elementor-nav-menu--main .sub-menu a, html body .elementor-nav-menu--dropdown a {
  color: var(--sw-ink) !important; font-size: 14px !important; font-weight: 500 !important; padding: 11px 22px !important; background: transparent !important;
  transition: background .2s, color .2s, padding-left .25s var(--sw-ease);
}
html body .elementor-nav-menu--main .sub-menu a:hover, html body .elementor-nav-menu--dropdown a:hover {
  background: var(--sw-sand) !important; color: var(--sw-gold-ink) !important; padding-left: 28px !important;
}
/* sticky state: midnight glass instead of white; keep the white logo */
html body header.sticky-header.elementor-sticky--effects {
  background-color: rgba(7, 24, 42, .86) !important;
  -webkit-backdrop-filter: saturate(160%) blur(18px); backdrop-filter: saturate(160%) blur(18px);
  box-shadow: 0 10px 30px -12px rgba(0, 0, 0, .45) !important; border-bottom: 1px solid rgba(198, 161, 91, .22);
}
html body header.sticky-header.elementor-sticky--effects .logo img { content: normal !important; }
html body header.sticky-header.elementor-sticky--effects .menu-item a { color: #fff !important; }
html body header.sticky-header.elementor-sticky--effects .elementor-menu-toggle { color: #fff !important; }
html body header.sticky-header.elementor-sticky--effects .sub-menu .menu-item a,
html body header.sticky-header.elementor-sticky--effects .elementor-nav-menu--dropdown .menu-item a { color: var(--sw-ink) !important; }
html body .elementor-menu-toggle { border-radius: 10px; }

/* ============================================================== hero + booking form */
html body .elementor-8 .elementor-element-1161633 { position: relative; }
html body .elementor-8 .elementor-element-1161633::after {
  content: ""; position: absolute; inset: 0; pointer-events: none; z-index: 0;
  background: linear-gradient(100deg, rgba(7, 24, 42, .72) 0%, rgba(7, 24, 42, .38) 45%, rgba(7, 24, 42, 0) 75%),
              linear-gradient(180deg, rgba(7, 24, 42, .55) 0%, rgba(7, 24, 42, 0) 30%);
}
html body .elementor-8 .elementor-element-1161633 > .elementor-container { position: relative; z-index: 1; }
/* "Welcome to Sai World Travel" = display headline; the H1 below it = refined subtitle */
html body .elementor-8 .elementor-element-9dab87d .elementor-heading-title {
  font-family: var(--sw-serif) !important; font-weight: 600 !important; font-size: clamp(42px, 5vw, 74px) !important; line-height: 1.04 !important;
  letter-spacing: -0.015em; text-shadow: 0 2px 30px rgba(0, 0, 0, .25);
}
html body .elementor-8 .elementor-element-9dab87d .elementor-heading-title::before {
  content: ""; display: block; width: 64px; height: 2px; margin-bottom: 22px; background: linear-gradient(90deg, var(--sw-gold-2), var(--sw-gold));
}
html body .elementor-8 .elementor-element-f1da870 h1.elementor-heading-title {
  font-family: var(--sw-sans) !important; font-weight: 600 !important; letter-spacing: .01em; line-height: 1.3 !important; color: #F3EDE2 !important;
}
html body .elementor-8 .elementor-element-c0e7235 h2.elementor-heading-title {
  font-family: var(--sw-sans) !important; font-weight: 500 !important; letter-spacing: .02em; color: var(--sw-gold-2) !important;
}
html body .elementor-8 .elementor-element-fd963e2 .elementor-heading-title {
  font-family: var(--sw-sans) !important; font-weight: 600 !important; letter-spacing: .03em;
}
html body .elementor-8 .elementor-element-fd963e2 .elementor-widget-container {
  background: rgba(255, 255, 255, .12) !important; border: 1px solid rgba(226, 196, 138, .55); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px);
}
html body .elementor-8 .elementor-element-fd963e2 .elementor-heading-title, html body .elementor-8 .elementor-element-fd963e2 .elementor-heading-title a { color: #fff !important; }

/* booking & enquiry forms */
html body .wpcf7-form { font-family: var(--sw-sans); }
html body .elementor-8 .elementor-element-960501f .elementor-widget-wrap,
html body .elementor-8 .elementor-element-960501f .elementor-widget-shortcode .elementor-widget-container {
  border-radius: 22px !important;
}
html body .elementor-8 .elementor-element-960501f .elementor-element-populated {
  background: rgba(255, 255, 255, .96) !important; box-shadow: var(--sw-shadow-lg) !important; border: 1px solid rgba(198, 161, 91, .25);
  -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px);
}
html body .labyu { font-size: 11.5px !important; letter-spacing: .16em; text-transform: uppercase; color: var(--sw-gold-ink) !important; font-weight: 700 !important; margin-bottom: 6px; display: inline-block; }
html body .nayes, html body .nayese, html body .nayese1, html body .nauie,
html body .wpcf7-form input[type="text"], html body .wpcf7-form input[type="email"], html body .wpcf7-form input[type="tel"],
html body .wpcf7-form input[type="date"], html body .wpcf7-form select, html body .wpcf7-form textarea {
  background: var(--sw-ivory) !important;
  border: 1px solid var(--sw-line) !important;
  border-radius: 12px !important;
  color: var(--sw-ink) !important;
  font-size: 15px !important;
  font-weight: 500 !important;
  box-shadow: none !important;
  transition: border-color .2s, box-shadow .2s, background .2s;
}
html body .nayes, html body .nayese, html body .nayese1 { height: 56px !important; }
html body .wpcf7-form input:focus, html body .wpcf7-form select:focus, html body .wpcf7-form textarea:focus {
  outline: none !important; border-color: var(--sw-gold) !important; background: #fff !important; box-shadow: 0 0 0 4px rgba(198, 161, 91, .18) !important;
}
html body .wpcf7-form ::placeholder { color: #8A8F95; }
html body .wpcf7-list-item-label { color: var(--sw-ink) !important; font-weight: 500; }
html body .wpcf7-form input[type="radio"] { accent-color: var(--sw-gold-ink); }
html body .wpcf7-not-valid-tip { font-size: 12.5px; font-weight: 600; }
html body .wpcf7 form .wpcf7-response-output { border-radius: 12px; border-width: 1px !important; padding: 12px 16px; font-weight: 600; }
html body .wpcf7 form.sent .wpcf7-response-output { background: #EEF6EF; border-color: #9BC5A0 !important; color: #1F5130 !important; }
/* sidebar enquiry card on blog posts */
html body .sai-world-form .elementor-widget-container {
  background: #fff; border-radius: var(--sw-radius); box-shadow: var(--sw-shadow-lg); border: 1px solid var(--sw-line); padding: 30px 26px !important;
}
html body .sai-world-form h2 { font-size: 30px !important; color: var(--sw-midnight); margin-bottom: 18px; }

/* ============================================================== content cards / images */
html body .elementor-widget-image img { border-radius: var(--sw-radius) !important; }
html body .elementor-location-header .elementor-widget-image img,
html body .elementor-location-footer .elementor-widget-image img,
html body .elementor-section-full_width > .elementor-container > .elementor-column > .elementor-widget-wrap > .elementor-widget-image img,
html body .elementor-section-stretched.elementor-section-full_width .elementor-widget-image img { border-radius: 0 !important; }

/* card titles & read-more links are not body-copy links */
html body .elementor-post__title a, html body .elementor-post__read-more, html body .entry-title a, html body .read-more a,
html body .elementor-post__thumbnail__link, html body .post-thumb-img-content a {
  background-image: none !important; text-decoration: none !important;
}
html body .elementor-post__title a { font-family: var(--sw-serif) !important; font-weight: 600; transition: color .25s var(--sw-ease); }
html body .elementor-post__title a:hover, html body .entry-title a:hover { color: var(--sw-gold-ink) !important; }
html body .elementor-widget-image a img, html body .elementor-post__thumbnail img, html body .post-thumb-img-content img {
  transition: transform .8s var(--sw-ease), filter .6s var(--sw-ease);
}
html body .elementor-widget-image a { display: block; overflow: hidden; border-radius: var(--sw-radius); }
html body .elementor-widget-image a:hover img, html body .elementor-post:hover .elementor-post__thumbnail img, html body .ast-article-post:hover .post-thumb-img-content img { transform: scale(1.05); }

/* "olue" package cards (Golden Triangle …) */
html body .olue .elementor-widget-wrap {
  border-radius: var(--sw-radius) !important; overflow: hidden; box-shadow: var(--sw-shadow) !important; background-color: #fff !important;
  border: 1px solid var(--sw-line); transition: transform .45s var(--sw-ease), box-shadow .45s var(--sw-ease);
}
html body .olue:hover .elementor-widget-wrap { transform: translateY(-6px); box-shadow: var(--sw-shadow-lg) !important; }

/* inline SVG feature icons (were bright blue) */
html body svg [fill="#48A7FF"], html body svg [fill="#48a7ff"] { fill: var(--sw-gold); }

/* headings that are links: no underline, gold on hover */
html body .elementor-heading-title a { background: none !important; text-decoration: none !important; color: inherit; transition: color .25s var(--sw-ease); }
html body .elementor-heading-title a:hover { color: var(--sw-gold-ink) !important; }

/* serif display headings read better in title case than all-caps */
html body h1.elementor-heading-title, html body h2.elementor-heading-title, html body h3.elementor-heading-title { text-transform: none !important; }

/* icons */
html body .elementor-icon-list-icon i, html body .elementor-icon-list-icon svg { color: var(--sw-gold) !important; fill: var(--sw-gold) !important; }
html body .elementor-icon { color: var(--sw-gold) !important; fill: var(--sw-gold) !important; }
html body .elementor-icon svg { fill: var(--sw-gold) !important; }
html body .elementor-divider-separator { border-color: var(--sw-gold) !important; opacity: .55; }

/* toggles / accordions (FAQ) */
html body .elementor-toggle .elementor-toggle-item, html body .elementor-accordion .elementor-accordion-item {
  border: 1px solid var(--sw-line) !important; border-radius: 14px !important; margin-bottom: 12px; overflow: hidden; background: #fff;
  box-shadow: 0 1px 2px rgba(11, 34, 53, .04);
}
html body .elementor-toggle .elementor-tab-title, html body .elementor-accordion .elementor-tab-title {
  font-family: var(--sw-sans) !important; font-weight: 700 !important; color: var(--sw-ink) !important; padding: 18px 22px !important; border: 0 !important;
}
html body .elementor-toggle .elementor-tab-title a, html body .elementor-accordion .elementor-tab-title a { color: inherit !important; font-family: var(--sw-sans) !important; }
html body .elementor-toggle .elementor-tab-title.elementor-active, html body .elementor-accordion .elementor-tab-title.elementor-active { background: var(--sw-sand); color: var(--sw-gold-ink) !important; }
html body .elementor-toggle .elementor-tab-content, html body .elementor-accordion .elementor-tab-content { border: 0 !important; padding: 4px 22px 20px !important; line-height: 1.8; }
html body .elementor-toggle-icon i, html body .elementor-accordion-icon i { color: var(--sw-gold) !important; }

/* ============================================================== blog listing & archives */
html body .elementor-posts--skin-cards .elementor-post__card {
  border-radius: var(--sw-radius) !important; overflow: hidden; background: #fff !important; border: 1px solid var(--sw-line) !important;
  box-shadow: var(--sw-shadow) !important; transition: transform .45s var(--sw-ease), box-shadow .45s var(--sw-ease);
}
html body .elementor-posts--skin-cards .elementor-post:hover .elementor-post__card { transform: translateY(-6px); box-shadow: var(--sw-shadow-lg) !important; }
html body .elementor-post__title a { color: var(--sw-midnight) !important; }
html body .elementor-post__title { font-size: 24px !important; }
html body .elementor-post__excerpt p { color: var(--sw-slate) !important; line-height: 1.75; }
html body .elementor-post__read-more { color: var(--sw-gold-ink) !important; font-weight: 700 !important; letter-spacing: .14em; text-transform: uppercase; font-size: 12px !important; }
html body .elementor-post__meta-data { border-top-color: var(--sw-line) !important; color: #8A8F95 !important; letter-spacing: .04em; }
html body .elementor-pagination .page-numbers, html body .ast-pagination .page-numbers {
  display: inline-flex; align-items: center; justify-content: center; min-width: 44px; height: 44px; padding: 0 16px; margin: 0 4px;
  border-radius: 999px; border: 1px solid var(--sw-line); color: var(--sw-midnight) !important; font-weight: 600; transition: all .25s;
}
html body .elementor-pagination a.page-numbers:hover, html body .ast-pagination a.page-numbers:hover { border-color: var(--sw-gold); color: var(--sw-gold-ink) !important; }
html body .ast-pagination .page-numbers.current { background: var(--sw-midnight); color: #fff !important; border-color: var(--sw-midnight); }

html body.archive, html body.search { background: var(--sw-ivory); }
/* pages without a photo hero (archives, search, 404): solid midnight header so the white menu stays visible */
html body.archive header.sticky-header, html body.search header.sticky-header, html body.error404 header.sticky-header { background-color: var(--sw-midnight) !important; }
html body.archive #content, html body.search #content { padding-top: 40px; }
html body.archive .elementor-location-header, html body.search .elementor-location-header, html body.error404 .elementor-location-header { position: relative; }
html body .ast-article-post .entry-title, html body .ast-article-post .entry-title a { font-family: var(--sw-serif) !important; font-size: 28px !important; }
html body .ast-article-post .entry-meta, html body .ast-article-post .entry-meta a { color: #8A8F95 !important; font-size: 13px; letter-spacing: .03em; background: none !important; }
html body .ast-article-post .entry-meta a:hover { color: var(--sw-gold-ink) !important; }
html body .elementor-posts--skin-cards .elementor-post__title, html body .elementor-posts--skin-cards .elementor-post__title a { font-size: 23px !important; line-height: 1.3 !important; }
html body.ast-separate-container .ast-article-post, html body.ast-separate-container .ast-archive-description {
  border-radius: var(--sw-radius); box-shadow: var(--sw-shadow); border: 1px solid var(--sw-line);
}
html body .ast-archive-description .page-title { color: var(--sw-midnight); }
html body .ast-article-post .entry-title a { color: var(--sw-midnight) !important; }
html body .ast-article-post .post-thumb-img-content { border-radius: 14px; overflow: hidden; }
html body .read-more a { color: var(--sw-gold-ink) !important; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; font-size: 12px; }
html body.ast-separate-container .widget-area .widget, html body .widget-area .wp-block-group {
  border-radius: var(--sw-radius);
}
html body .widget-area .wp-block-heading { font-size: 22px !important; color: var(--sw-midnight); padding-bottom: 10px; border-bottom: 1px solid var(--sw-line); margin-bottom: 14px; }
html body .widget-area a { color: var(--sw-ink); transition: color .2s; }
html body .widget-area a:hover { color: var(--sw-gold-ink); }
html body .wp-block-search__input { border-radius: 999px !important; border: 1px solid var(--sw-line) !important; padding: 12px 18px !important; }

/* single blog post */
html body.single-post .elementor-widget-theme-post-content { font-size: 17px; line-height: 1.85; color: #37414B; }
html body.single-post .elementor-widget-theme-post-content h2 { font-size: clamp(26px, 2.4vw, 34px) !important; color: var(--sw-midnight); margin: 1.6em 0 .6em; }
html body.single-post .elementor-widget-theme-post-content h3 { font-size: 24px !important; color: var(--sw-midnight); margin: 1.4em 0 .5em; }
html body.single-post .elementor-widget-theme-post-content blockquote { border-left: 3px solid var(--sw-gold); background: var(--sw-sand); padding: 18px 24px; border-radius: 0 14px 14px 0; font-family: var(--sw-serif); font-size: 21px; color: var(--sw-midnight); }
html body.single-post .elementor-widget-theme-post-title h1 { font-size: clamp(34px, 3.6vw, 52px) !important; color: var(--sw-midnight) !important; }
html body .pvc_stats { color: #8A8F95; font-size: 13px; letter-spacing: .04em; }

/* ============================================================== footer */
html body .elementor-location-footer .elementor-element-00ee3bd {
  background: radial-gradient(1200px 400px at 85% 0%, rgba(198, 161, 91, .12), transparent 60%), var(--sw-midnight) !important;
  color: #C9D1D8;
}
html body .elementor-location-footer .elementor-element-00ee3bd .elementor-heading-title { color: #FFFFFF !important; font-family: var(--sw-serif) !important; font-weight: 600 !important; }
html body .elementor-location-footer .elementor-element-00ee3bd .elementor-icon-list-text,
html body .elementor-location-footer .elementor-element-00ee3bd .elementor-icon-list-item a,
html body .elementor-location-footer .elementor-element-00ee3bd p,
html body .elementor-location-footer .elementor-element-00ee3bd .elementor-widget-text-editor { color: #C9D1D8 !important; }
html body .elementor-location-footer .elementor-element-00ee3bd a:hover .elementor-icon-list-text,
html body .elementor-location-footer .elementor-element-00ee3bd a:hover { color: var(--sw-gold-2) !important; }
html body .elementor-location-footer .elementor-element-00ee3bd .elementor-icon-list-item a .elementor-icon-list-text { transition: color .2s, padding-left .25s var(--sw-ease); }
html body .elementor-location-footer .elementor-element-00ee3bd .elementor-icon-list-item a:hover .elementor-icon-list-text { padding-left: 4px; }
html body .elementor-location-footer .elementor-element-00ee3bd .elementor-social-icon { background: transparent !important; border: 1px solid rgba(198, 161, 91, .5); border-radius: 50%; }
html body .elementor-location-footer .elementor-element-00ee3bd .elementor-social-icon i { color: var(--sw-gold-2) !important; }
/* white version of the logo on the dark footer */
html body .elementor-location-footer .elementor-element-00ee3bd .elementor-widget-image img[src*="image001-2"] { content: url("/wp-content/uploads/2023/06/logo-1.png"); max-width: 240px; }
/* phone strip inside the footer */
html body .elementor-location-footer .elementor-element-29e0719 > .elementor-container,
html body .elementor-location-footer .elementor-element-29e0719 .elementor-element-populated {
  background: rgba(255, 255, 255, .04) !important; border: 1px solid rgba(198, 161, 91, .28); border-radius: 999px !important;
}
/* payment logos: dark brand marks need a light surface */
html body .elementor-location-footer .elementor-element-e447eca > .elementor-container > .elementor-column:last-child > .elementor-widget-wrap {
  background: var(--sw-ivory) !important; border-radius: 999px !important; padding: 10px 26px !important; box-shadow: 0 10px 30px -14px rgba(0, 0, 0, .6);
}
html body .elementor-location-footer .elementor-element-22e79e5 { background: #fff !important; }
html body .elementor-location-footer .elementor-element-6e3d3f9 { background: var(--sw-midnight-2) !important; border-top: 1px solid rgba(198, 161, 91, .18); }
html body .elementor-location-footer .elementor-element-6e3d3f9 * { color: #9FAAB4 !important; font-size: 13.5px; letter-spacing: .02em; }

/* back-to-top */
html body #ast-scroll-top { background: var(--sw-midnight) !important; color: var(--sw-gold-2) !important; border-radius: 50%; width: 46px; height: 46px; line-height: 46px; box-shadow: var(--sw-shadow-lg); border: 1px solid rgba(198, 161, 91, .45); }

/* ============================================================== reveal-on-scroll (enabled by premium.js) */
@media (prefers-reduced-motion: no-preference) {
  html.sw-reveal .sw-r { opacity: 0; transform: translateY(26px); transition: opacity .9s var(--sw-ease), transform .9s var(--sw-ease); will-change: opacity, transform; }
  html.sw-reveal .sw-r.sw-in { opacity: 1; transform: none; }
}

/* ============================================================== responsive refinements */
@media (max-width: 1024px) {
  html body .elementor-8 .elementor-element-1161633::after { background: linear-gradient(180deg, rgba(7, 24, 42, .6) 0%, rgba(7, 24, 42, .35) 60%, rgba(7, 24, 42, .55) 100%); }
}
@media (max-width: 767px) {
  html body .elementor-8 .elementor-element-9dab87d .elementor-heading-title { letter-spacing: -0.005em; line-height: 1.08 !important; }
  html body .elementor-button, html body .wpcf7-submit, html body .cf7mls_next { padding: 15px 26px !important; }
  html body .elementor-widget-text-editor { font-size: 15.5px; }
  html body .elementor-posts--skin-cards .elementor-post__card { border-radius: 16px !important; }
  html body.single-post .elementor-widget-theme-post-content { font-size: 16px; }
  html body .elementor-location-footer .elementor-element-29e0719 > .elementor-container,
  html body .elementor-location-footer .elementor-element-29e0719 .elementor-element-populated { border-radius: 18px !important; }
}

/* Astra's icon search button (404 / no results) */
html body .search-form .search-submit { background: var(--sw-midnight) !important; color: var(--sw-gold-2) !important; border-radius: 999px !important; border: 0 !important; }
html body .search-form .search-field { border-radius: 999px !important; border: 1px solid var(--sw-line) !important; background: var(--sw-ivory) !important; }

/* ============================================================== thank-you page */
html body.sw-thankyou-page { background: var(--sw-ivory); }
html body.sw-thankyou-page header.sticky-header { background-color: var(--sw-midnight) !important; }
html body.sw-thankyou-page .elementor-location-header { position: relative; }
html body.sw-thankyou-page .ast-container { max-width: 100%; }
html body.sw-thankyou-page #primary { margin: 0 !important; padding: 0 !important; width: 100%; }
.sw-thankyou { padding: clamp(40px, 7vw, 96px) 16px; background:
  radial-gradient(900px 380px at 50% -10%, rgba(198, 161, 91, .16), transparent 70%), var(--sw-ivory); }
.sw-ty-card { max-width: 820px; margin: 28px auto 0; background: #fff; border: 1px solid var(--sw-line); border-radius: 26px;
  box-shadow: var(--sw-shadow-lg); padding: clamp(32px, 6vw, 64px) clamp(22px, 6vw, 72px); text-align: center; }
.sw-ty-icon { width: 76px; height: 76px; margin: 0 auto 22px; border-radius: 50%; display: grid; place-items: center; color: var(--sw-gold-ink);
  background: linear-gradient(135deg, #FBF3E2, #F3E4C4); box-shadow: 0 10px 26px -12px rgba(166, 128, 60, .7); }
@media (prefers-reduced-motion: no-preference) {
  .sw-ty-icon path { stroke-dasharray: 40; stroke-dashoffset: 40; animation: sw-tick .8s .25s var(--sw-ease) forwards; }
  @keyframes sw-tick { to { stroke-dashoffset: 0; } }
}
.sw-ty-eyebrow { margin: 0 0 10px; font: 700 12px/1 var(--sw-sans); letter-spacing: .22em; text-transform: uppercase; color: var(--sw-gold-ink); }
html body .sw-ty-title { margin: 0 0 18px; font-size: clamp(38px, 5vw, 60px) !important; color: var(--sw-midnight); }
.sw-ty-lead { font-size: 19px; line-height: 1.6; color: var(--sw-ink); max-width: 600px; margin: 0 auto 10px; }
.sw-ty-text { color: var(--sw-slate); max-width: 560px; margin: 0 auto 34px; line-height: 1.7; }
.sw-ty-text a, .sw-ty-offices a { color: var(--sw-ocean); font-weight: 700; text-decoration: none; }
.sw-ty-steps { list-style: none; margin: 0 0 36px; padding: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; text-align: left; }
.sw-ty-steps li { background: var(--sw-sand); border-radius: 16px; padding: 18px 18px 16px; border: 1px solid var(--sw-line); margin: 0; }
.sw-ty-steps span { display: inline-grid; place-items: center; width: 30px; height: 30px; border-radius: 50%; background: var(--sw-midnight); color: var(--sw-gold-2);
  font: 700 13px/1 var(--sw-sans); margin-bottom: 12px; }
.sw-ty-steps strong { display: block; color: var(--sw-midnight); font-size: 15px; margin-bottom: 4px; }
.sw-ty-steps em { font-style: normal; color: var(--sw-slate); font-size: 13.5px; }
.sw-ty-actions { display: flex; flex-wrap: wrap; gap: 14px 28px; align-items: center; justify-content: center; margin-bottom: 36px; }
.sw-ty-actions .elementor-button { display: inline-block; text-decoration: none; }
.sw-ty-link { color: var(--sw-gold-ink); font-weight: 700; text-decoration: none; letter-spacing: .04em; }
.sw-ty-link:hover { color: var(--sw-midnight); }
.sw-ty-offices { list-style: none; margin: 0; padding: 22px 0 0; border-top: 1px solid var(--sw-line); display: flex; flex-wrap: wrap; justify-content: center; gap: 10px 30px; }
.sw-ty-offices li { margin: 0; font-size: 14px; color: var(--sw-slate); }
.sw-ty-offices b { display: block; font-size: 11px; letter-spacing: .18em; text-transform: uppercase; color: var(--sw-gold-ink); }
@media (max-width: 700px) { .sw-ty-steps { grid-template-columns: 1fr; } }
