/* Sunward premium colour system — intentionally small, token-only overrides. */
:root {
  --sunward-shadow: 0 18px 50px rgba(20, 22, 25, .07);
}

html, body, body.swt-reference-ui, .site { background: var(--sunward-white, #fff); color: var(--sunward-body, #4c5157); }
body.swt-reference-ui .utility-bar,
.utility-bar { background: var(--sunward-primary, #e85a1f) !important; color: #fff !important; }
.utility-bar a, .utility-bar button { color: #fff !important; }
.site-header, .site-header.is-sticky, .no-header-overlay .site-header.is-overlay { background: #fff !important; color: var(--sunward-charcoal, #26292d) !important; }
.site-header a, .site-header button, .site-header .nav-link { color: var(--sunward-charcoal, #26292d); }
.site-header a:hover, .site-header a:focus-visible, .site-header .nav-link.is-active, .site-header .nav-link[aria-current="page"] { color: var(--sunward-primary, #e85a1f); }

.btn--primary, .btn--dark, .button-primary, button[type="submit"], input[type="submit"] { background: var(--sunward-primary, #e85a1f) !important; border-color: var(--sunward-primary, #e85a1f) !important; color: #fff !important; }
.btn--primary:hover, .btn--primary:focus-visible, .btn--dark:hover, .btn--dark:focus-visible, .button-primary:hover, button[type="submit"]:hover, input[type="submit"]:hover { background: var(--sunward-primary-dark, #c84512) !important; border-color: var(--sunward-primary-dark, #c84512) !important; color: #fff !important; }
.btn--outline, .btn--light, .button-secondary { background: #fff !important; border-color: var(--sunward-charcoal, #26292d) !important; color: var(--sunward-charcoal, #26292d) !important; }
.btn--outline:hover, .btn--outline:focus-visible, .btn--light:hover, .btn--light:focus-visible, .button-secondary:hover, .button-secondary:focus-visible { background: var(--sunward-primary, #e85a1f) !important; border-color: var(--sunward-primary, #e85a1f) !important; color: #fff !important; }

body.swt-reference-ui .section--sand, body.swt-reference-ui .tone-stone, body.swt-reference-ui .tone-sand, body.swt-reference-ui .tone-cream,
.section--sand, .tone-stone, .tone-sand, .tone-cream, .swt-v2-directory, .swt-carhire-hero { background: #fff !important; }
body.swt-reference-ui .card, body.swt-reference-ui .tour-card, body.swt-reference-ui .holiday-card, body.swt-reference-ui .swt-country-card,
.card, .tour-card, .holiday-card, .swt-country-card, .swt-vehicle-card, .swt-visa-filter-sidebar { background: #fff !important; border-color: var(--sunward-border, #e7e7e7) !important; box-shadow: var(--sunward-shadow); }
.swt-country-card__flag { background: var(--sunward-white, #fff) !important; border-color: var(--sunward-border, #e7e7e7) !important; }

input, select, textarea { background: #fff !important; border-color: var(--sunward-border, #e7e7e7) !important; color: var(--sunward-charcoal, #26292d) !important; }
input:focus, select:focus, textarea:focus { border-color: var(--sunward-primary, #e85a1f) !important; box-shadow: 0 0 0 3px color-mix(in srgb, var(--sunward-primary, #e85a1f) 18%, transparent) !important; }
a, .text-link { color: var(--sunward-primary, #e85a1f); }
a:hover, .text-link:hover { color: var(--sunward-primary-dark, #c84512); }
.site-footer { background: var(--sunward-footer, #16181b) !important; }
.site-footer a:hover { color: var(--sunward-gold, #f4b83c) !important; }
:focus-visible { outline: 3px solid var(--sunward-gold, #f4b83c); outline-offset: 3px; }

/* Each homepage widget is an independent Elementor container. */
.reference-home-section { width: 100%; }
.reference-home-section > .elementor-widget { width: 100%; }
.hero--global-video .hero__video-wrap--global { z-index: 0; }
.hero--global-video .hero-slides { position: relative; z-index: 1; }
.hero--global-video .hero-slide .ref-hero__image { opacity: 0; }

@media (max-width: 760px) {
  .site-header .brand .custom-logo { max-height: var(--logo-mobile-h, 76px); }
}
