/*
Theme Name:   Sharbat Wala Child
Theme URI:    https://sharbatwala.com.pk
Description:  Child theme for Sharbat Wala, built on Astra. Holds the orange design system (tokens, utility classes, icon set), the custom footer, contact settings, the WhatsApp button, the private inquiries log, security hardening and performance clean-up - safe from parent theme updates.
Author:       HN Solutions
Template:     astra
Version:      1.5.3
Requires PHP: 7.4
Text Domain:  sharbatwala-child
*/

/* ==========================================================================
   1. Design tokens (light theme) — mirror Elementor > Site Settings
   ========================================================================== */
:root {
	--sw-bg: #FFFFFF;            /* page background */
	--sw-tint: #FFF4EC;          /* warm orange tint sections */
	--sw-tint-deep: #FFE3CF;     /* chips, hovers */
	--sw-grey-50: #F8F7F6;       /* light grey sections */
	--sw-grey-100: #F1EFED;
	--sw-grey-200: #E3DFDB;      /* borders */
	--sw-grey-500: #857D77;      /* secondary text */
	--sw-grey-700: #4F4A46;      /* body text */
	--sw-grey-900: #2B2825;      /* dark sections */
	--sw-white: #FFFFFF;
	--sw-ink: #1A1715;           /* headings */
	--sw-text: #4F4A46;
	--sw-muted: #857D77;
	--sw-border: #E3DFDB;
	--sw-orange: #F26522;        /* brand orange */
	--sw-orange-light: #FFB176;
	--sw-orange-mid: #DA500F;
	--sw-orange-deep: #B8420A;   /* AA on white, footer background */
	--sw-amber: #FFB020;         /* bright secondary accent */
	--sw-berry: #E2497A;         /* milkshake range */
	--sw-teal: #11A79E;          /* slush range */
	--sw-leaf: #4DA53F;          /* digestive range */
	--sw-dark-bg: #2B2825;       /* dark sections */
	--sw-text-on-dark: #D9D4CF;
	--sw-white-on-dark: #FFFFFF;
	--sw-line: rgba(184, 66, 10, 0.14);
	--sw-line-strong: rgba(184, 66, 10, 0.34);
	--sw-line-dark: rgba(255, 177, 118, 0.26);

	--sw-font-head: "Outfit", system-ui, -apple-system, "Segoe UI", sans-serif;
	--sw-font-body: "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;

	--sw-radius: 4px;
	--sw-radius-card: 14px;
	--sw-radius-pill: 999px;
	--sw-ease: cubic-bezier(0.22, 0.61, 0.36, 1);
	--sw-speed: 0.3s;
	--sw-space-section: clamp(56px, 7vw, 104px);
	--sw-space-section-sm: clamp(40px, 5vw, 68px);
	--sw-gutter: clamp(18px, 4vw, 64px);
	--sw-shadow: 0 22px 44px -26px rgba(43, 40, 37, 0.3);
	--sw-shadow-card: 0 16px 34px -22px rgba(43, 40, 37, 0.32);
	--sw-header-h: 84px;
}

/* ==========================================================================
   2. Base
   ========================================================================== */
html { scroll-behavior: smooth; scroll-padding-top: calc(var(--sw-header-h) + 16px); }
body { background-color: var(--sw-bg); -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; text-rendering: optimizeLegibility; }
::selection { background: var(--sw-orange-light); color: var(--sw-ink); }
:focus-visible { outline: 2px solid var(--sw-orange-deep); outline-offset: 3px; }
img { height: auto; }
@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	*, *::before, *::after { animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; transition-duration: 0.01ms !important; }
}
@supports (scrollbar-color: auto) { html { scrollbar-color: var(--sw-border) var(--sw-bg); scrollbar-width: thin; } }

/* ==========================================================================
   3. Sections  (Elementor: Container > Advanced > CSS Classes)
   ========================================================================== */
.sw-section { padding-top: var(--sw-space-section) !important; padding-bottom: var(--sw-space-section) !important; }
.sw-section--sm { padding-top: var(--sw-space-section-sm) !important; padding-bottom: var(--sw-space-section-sm) !important; }
.sw-bg-base { background-color: var(--sw-bg); }
.sw-bg-tint { background-color: var(--sw-tint); }
.sw-bg-white { background-color: var(--sw-white); }
.sw-bg-dark, .sw-bg-ink { background-color: var(--sw-dark-bg); }

/* Optional dark section: add "sw-dark" — everything inside flips to light-on-dark. */
.sw-dark { color: var(--sw-text-on-dark); }
.sw-dark .elementor-widget .elementor-heading-title,
.sw-dark h1, .sw-dark h2, .sw-dark h3, .sw-dark h4, .sw-dark h5 { color: var(--sw-white-on-dark); }
.sw-dark .elementor-widget-text-editor,
.sw-dark .elementor-widget .elementor-icon-list-text { color: var(--sw-text-on-dark); }
.sw-dark .elementor-widget.sw-eyebrow .elementor-heading-title, .sw-dark .sw-eyebrow,
.sw-dark .sw-accent, .sw-dark .sw-accent-italic, .sw-dark .sw-link-arrow, .sw-dark .sw-link-arrow a { color: var(--sw-orange); }
.sw-dark .sw-icon { color: var(--sw-orange); }
.sw-dark .sw-divider { background: var(--sw-orange); }

/* ==========================================================================
   4. Typography helpers
   ========================================================================== */
.sw-eyebrow,
.elementor-widget.sw-eyebrow .elementor-heading-title {
	font-family: var(--sw-font-body) !important;
	font-size: 12px !important;
	font-weight: 500 !important;
	letter-spacing: 3.5px !important;
	text-transform: uppercase !important;
	line-height: 1.4 !important;
	color: var(--sw-orange-deep);
}
.sw-eyebrow--line .elementor-heading-title, span.sw-eyebrow--line { display: inline-flex; align-items: center; gap: 14px; }
.sw-topbar a { color: inherit; text-decoration: none; }
.sw-eyebrow--line .elementor-heading-title::before, span.sw-eyebrow--line::before { content: ""; width: 32px; height: 1px; background: var(--sw-orange); }

.elementor-widget-heading h4.elementor-heading-title,
.elementor-widget-heading h5.elementor-heading-title { font-family: var(--sw-font-body); font-weight: 500; letter-spacing: 0; }
.elementor-widget-heading h4.elementor-heading-title { font-size: clamp(18px, 1.6vw, 20px); line-height: 1.3; }
.elementor-widget-heading h5.elementor-heading-title { font-size: 16px; line-height: 1.4; }

.sw-accent { color: var(--sw-orange-mid); }
.sw-accent-italic { color: var(--sw-orange-mid); font-style: italic; }
.sw-lead { font-size: clamp(17px, 1.6vw, 19px); line-height: 1.65; }
.sw-balance .elementor-heading-title, .sw-balance { text-wrap: balance; }
.sw-measure { max-width: 60ch; }
.sw-divider { display: block; width: 48px; height: 1px; background: var(--sw-orange); border: 0; margin: 0; }
.sw-divider--center { margin-left: auto; margin-right: auto; }
.sw-stat .elementor-counter-number-wrapper, .sw-stat .elementor-heading-title { font-family: var(--sw-font-head); color: var(--sw-orange-deep); font-weight: 500; }

/* ==========================================================================
   5. Buttons  (default = solid orange with dark text, set in Site Settings)
   ========================================================================== */
.elementor-button { transition: background-color var(--sw-speed) var(--sw-ease), color var(--sw-speed) var(--sw-ease), box-shadow var(--sw-speed) var(--sw-ease); }
.elementor-button .elementor-button-icon svg { fill: currentColor; transition: transform var(--sw-speed) var(--sw-ease); }
.elementor-button:hover .elementor-button-icon svg { transform: translateX(4px); }

.sw-btn-outline .elementor-button { background-color: transparent !important; color: var(--sw-grey-900) !important; box-shadow: inset 0 0 0 1.5px var(--sw-grey-900); }
.sw-btn-outline .elementor-button:hover { background-color: var(--sw-grey-900) !important; color: #fff !important; }
.sw-btn-dark .elementor-button { background-color: var(--sw-grey-900) !important; color: #fff !important; }
.sw-btn-dark .elementor-button:hover { background-color: var(--sw-orange) !important; color: var(--sw-ink) !important; }
.sw-btn-white .elementor-button { background-color: #fff !important; color: var(--sw-grey-900) !important; }
.sw-btn-white .elementor-button:hover { background-color: var(--sw-orange) !important; color: var(--sw-ink) !important; }
.sw-dark .sw-btn-outline .elementor-button { color: var(--sw-orange) !important; box-shadow: inset 0 0 0 1px var(--sw-orange); }
.sw-dark .sw-btn-outline .elementor-button:hover { background-color: var(--sw-orange) !important; color: var(--sw-ink) !important; }

.sw-link-arrow, .sw-link-arrow a { display: inline-flex; align-items: center; gap: 10px; font-family: var(--sw-font-body); font-size: 13px; font-weight: 500; letter-spacing: 1.5px; text-transform: uppercase; color: var(--sw-orange-deep); text-decoration: none; }
.sw-link-arrow::after, .sw-link-arrow a::after { content: "\2192"; transition: transform var(--sw-speed) var(--sw-ease); }
.sw-link-arrow:hover::after, .sw-link-arrow a:hover::after { transform: translateX(5px); }

/* ==========================================================================
   6. Cards & icons
   ========================================================================== */
.sw-card { background-color: var(--sw-white); border: 1px solid var(--sw-line); border-radius: var(--sw-radius-card); transition: border-color var(--sw-speed) var(--sw-ease), transform var(--sw-speed) var(--sw-ease), box-shadow var(--sw-speed) var(--sw-ease); }
.sw-card:hover { border-color: var(--sw-line-strong); transform: translateY(-4px); box-shadow: var(--sw-shadow); }
.sw-card--flat:hover { transform: none; box-shadow: none; }
.sw-card--light { background-color: var(--sw-white); }
.sw-dark .sw-card { background-color: #3A3633; border-color: var(--sw-line-dark); }

.sw-zoom { overflow: hidden; }
.sw-zoom img { transition: transform 0.9s var(--sw-ease); }
.sw-zoom:hover img { transform: scale(1.05); }

@media (min-width: 1025px) {
	.sw-cols-divided > .e-con-inner > .e-con:not(:last-child), .sw-cols-divided > .e-con:not(:last-child) { border-right: 1px solid var(--sw-line); }
}

.sw-icon { color: var(--sw-orange-mid); }
.sw-icon-ring { display: inline-flex; align-items: center; justify-content: center; width: 72px; height: 72px; border: 1px solid var(--sw-line-strong); border-radius: 50%; background: var(--sw-white); transition: border-color var(--sw-speed) var(--sw-ease), background-color var(--sw-speed) var(--sw-ease); }
.sw-icon-ring .sw-icon { --sw-icon-size: 32px; }
.sw-card:hover .sw-icon-ring, .sw-icon-ring:hover { border-color: var(--sw-orange); background-color: var(--sw-bg); }

/* ==========================================================================
   7. Form fields (site-wide)
   ========================================================================== */
body input[type="text"], body input[type="email"], body input[type="tel"], body input[type="url"],
body input[type="number"], body input[type="search"], body input[type="password"], body input[type="date"],
body select, body textarea {
	width: 100%; background-color: var(--sw-white); color: var(--sw-ink); border: 1px solid var(--sw-border); border-radius: var(--sw-radius);
	padding: 14px 16px; font-family: var(--sw-font-body); font-size: 15px; line-height: 1.5; box-shadow: none;
	transition: border-color var(--sw-speed) var(--sw-ease), box-shadow var(--sw-speed) var(--sw-ease);
}
body input::placeholder, body textarea::placeholder { color: var(--sw-muted); opacity: 1; }
body input:focus, body select:focus, body textarea:focus { border-color: var(--sw-orange-deep); outline: none; box-shadow: 0 0 0 3px rgba(242, 101, 34, 0.22); }
.sw-dark input[type="text"], .sw-dark input[type="email"], .sw-dark input[type="tel"], .sw-dark select, .sw-dark textarea { background-color: #3A3633; color: var(--sw-white-on-dark); border-color: var(--sw-line-dark); }
#wpadminbar input { width: auto; padding: 0 3px 0 24px; border: 0; background: transparent; box-shadow: none; }

/* ==========================================================================
   8. Header (Astra header builder)
   ========================================================================== */
#masthead { position: sticky; top: 0; z-index: 990; transition: transform .38s var(--sw-ease); will-change: transform; }
html.sw-head--hidden #masthead { transform: translateY(-110%); }
@media (prefers-reduced-motion: reduce) { #masthead { transition: none; } }
.admin-bar #masthead { top: 32px; }
@media (max-width: 782px) { .admin-bar #masthead { top: 46px; } }
@media (max-width: 600px) { .admin-bar #masthead { top: 0; } }

#masthead .ast-primary-header-bar,
#masthead .main-header-bar {
	background-color: rgba(255, 255, 255, 0.96);
	border-bottom: 1px solid var(--sw-line);
	transition: box-shadow var(--sw-speed) var(--sw-ease), background-color var(--sw-speed) var(--sw-ease);
}
@supports (backdrop-filter: blur(8px)) {
	#masthead .ast-primary-header-bar, #masthead .main-header-bar { background-color: rgba(255, 255, 255, 0.88); -webkit-backdrop-filter: saturate(160%) blur(12px); backdrop-filter: saturate(160%) blur(12px); }
}
.sw-scrolled #masthead .ast-primary-header-bar, .sw-scrolled #masthead .main-header-bar { box-shadow: 0 12px 32px -24px rgba(19, 41, 75, 0.3); }

#masthead .site-logo-img img, #masthead .custom-logo { max-height: 64px; width: auto; }
@media (max-width: 921px) { #masthead .site-logo-img img, #masthead .custom-logo { max-height: 52px; } }

/* Desktop menu links */
#masthead .main-header-menu > .menu-item > .menu-link {
	position: relative;
	font-family: var(--sw-font-body);
	font-size: 15px;
	font-weight: 500;
	letter-spacing: 0.2px;
	color: var(--sw-ink);
	padding-left: 16px;
	padding-right: 16px;
	transition: color var(--sw-speed) var(--sw-ease);
}
#masthead .main-header-menu > .menu-item > .menu-link::after {
	content: ""; position: absolute; left: 16px; right: 16px; bottom: calc(50% - 15px); height: 1px;
	background: var(--sw-orange); transform: scaleX(0); transform-origin: left; transition: transform var(--sw-speed) var(--sw-ease);
}
#masthead .main-header-menu > .menu-item > .menu-link:hover,
#masthead .main-header-menu > .current-menu-item > .menu-link,
#masthead .main-header-menu > .current_page_item > .menu-link { color: var(--sw-orange-deep); }
#masthead .main-header-menu > .menu-item > .menu-link:hover::after,
#masthead .main-header-menu > .current-menu-item > .menu-link::after,
#masthead .main-header-menu > .current_page_item > .menu-link::after { transform: scaleX(1); }

/* Header "Inquire Now" button */
#masthead .ast-custom-button,
#masthead .ast-builder-button-wrap .ast-custom-button {
	font-family: var(--sw-font-body); font-size: 12px; font-weight: 500; letter-spacing: 1.6px; text-transform: uppercase;
	color: var(--sw-ink); background-color: var(--sw-orange); border: 0; border-radius: var(--sw-radius);
	padding: 13px 24px; line-height: 1; transition: background-color var(--sw-speed) var(--sw-ease), color var(--sw-speed) var(--sw-ease);
}
#masthead .ast-custom-button:hover { color: #fff; background-color: var(--sw-ink); }

/* Mobile header & menu */
#masthead .ast-mobile-menu-trigger-minimal, #masthead .menu-toggle { color: var(--sw-ink) !important; }
#masthead .ast-mobile-menu-trigger-minimal .ast-mobile-svg, #masthead .menu-toggle .ast-mobile-svg { fill: var(--sw-ink) !important; }
#masthead .ast-mobile-header-content, #masthead .ast-desktop-header-content { background-color: var(--sw-white); border-top: 1px solid var(--sw-line); }
#masthead .ast-mobile-header-content .menu-item > .menu-link, #masthead .ast-header-break-point .main-header-menu .menu-item > .menu-link {
	font-family: var(--sw-font-body); font-size: 16px; color: var(--sw-ink); padding: 14px 20px; border-bottom: 1px solid var(--sw-line);
}
#masthead .ast-mobile-header-content .menu-item > .menu-link::after { display: none; }
#masthead .ast-mobile-header-content .current-menu-item > .menu-link { color: var(--sw-orange-deep); }

/* ==========================================================================
   9. Footer (inc/layout.php)
   ========================================================================== */
.sw-footer { background-color: var(--sw-orange-deep); color: rgba(255,255,255,.88); font-family: var(--sw-font-body); }
.sw-footer__inner { max-width: 100%; margin: 0 auto; padding: 0 var(--sw-gutter); }
.sw-footer__main { display: grid; grid-template-columns: 1.7fr repeat(3, 1fr); gap: 40px; padding: clamp(48px, 6vw, 78px) 0 42px; }
.sw-footer__logo { display: inline-block; }
.sw-footer__logo-img { max-height: 66px; width: auto; }
.sw-footer__logo-text { font-family: var(--sw-font-head); font-size: 26px; font-weight: 700; color: #fff; }
.sw-footer__tagline { margin: 20px 0 24px; max-width: 40ch; font-size: 15px; line-height: 1.75; color: rgba(255,255,255,.9); }
.sw-footer__title { margin: 6px 0 20px; font-family: var(--sw-font-body); font-size: 11px; font-weight: 700; letter-spacing: 2.6px; text-transform: uppercase; color: #FFD9BF; }
.sw-footer__menu, .sw-footer__contact, .sw-footer__social, .sw-footer__legal { list-style: none; margin: 0; padding: 0; }
.sw-footer__menu li { margin: 0 0 12px; }
.sw-footer a { color: #fff; text-decoration: none; transition: opacity .25s var(--sw-ease); }
.sw-footer a:hover, .sw-footer a:focus-visible { opacity: .72; }
.sw-footer__menu a { font-size: 15px; }
.sw-footer__contact li { display: flex; align-items: flex-start; gap: 12px; margin: 0 0 14px; font-size: 15px; line-height: 1.55; }
.sw-footer__contact .sw-icon { margin-top: 2px; color: #FFD9BF; }
.sw-footer__social { display: flex; gap: 10px; }
.sw-footer__social a { display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 40px; border: 1px solid rgba(255,255,255,.4); border-radius: 50%; color: #fff; }
.sw-footer__social a:hover { background: #fff; border-color: #fff; color: var(--sw-orange-deep); opacity: 1; }
.sw-footer__social svg { width: 17px; height: 17px; }
.sw-footer__signature { margin: 24px 0 0; font-family: var(--sw-font-head); font-weight: 700; font-size: 21px; letter-spacing: .3px; color: #fff; }
.sw-footer__bottom { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px 24px; padding: 20px 0 26px; border-top: 1px solid rgba(255,255,255,.22); font-size: 13px; color: rgba(255,255,255,.8); }
.sw-footer__copy { margin: 0; }
.sw-footer__legal { display: flex; gap: 24px; }
.sw-footer__legal a { color: rgba(255,255,255,.8); }
.sw-footer__parent { margin: 14px 0 0; font-size: 13px; color: rgba(255,255,255,.82); }
.sw-footer__parent a { text-decoration: underline; text-underline-offset: 3px; }
@media (max-width: 1024px) {
	.sw-footer__main { grid-template-columns: repeat(2, 1fr); }
	.sw-footer__brand { grid-column: 1 / -1; }
}
@media (max-width: 544px) {
	.sw-footer__main { grid-template-columns: 1fr; gap: 30px; }
	.sw-footer__bottom { flex-direction: column; align-items: flex-start; }
}

/* ==========================================================================
   10. Floating WhatsApp button
   ========================================================================== */
.sw-whatsapp {
	position: fixed; right: 20px; bottom: 20px; z-index: 995;
	display: inline-flex; align-items: center; gap: 10px; height: 56px; min-width: 56px; padding: 0 16px;
	border-radius: 999px; background: #128C7E; color: #fff; text-decoration: none;
	box-shadow: 0 14px 30px -12px rgba(18, 140, 126, 0.6);
	transition: transform var(--sw-speed) var(--sw-ease), box-shadow var(--sw-speed) var(--sw-ease);
}
.sw-whatsapp svg { width: 26px; height: 26px; flex-shrink: 0; }
.sw-whatsapp__label { font-family: var(--sw-font-body); font-size: 14px; font-weight: 500; white-space: nowrap; max-width: 0; overflow: hidden; transition: max-width 0.45s var(--sw-ease); }
.sw-whatsapp:hover, .sw-whatsapp:focus-visible { color: #fff; transform: translateY(-2px); box-shadow: 0 18px 34px -12px rgba(18, 140, 126, 0.7); }
@media (hover: hover) and (min-width: 922px) { .sw-whatsapp:hover .sw-whatsapp__label { max-width: 120px; } }
@media (max-width: 544px) { .sw-whatsapp { right: 14px; bottom: 14px; height: 52px; min-width: 52px; padding: 0 13px; } }
#ast-scroll-top { bottom: 90px !important; }

/* ==========================================================================
   11. Astra / Elementor housekeeping
   ========================================================================== */
.ast-page-builder-template .site-content > .ast-container { max-width: 100%; padding: 0; }
.ast-page-builder-template .entry-header { display: none; }
.site-footer:empty { display: none; }


/* ==========================================================================
   Legal pages (Privacy Policy, Terms of Use) — plain WordPress content,
   no Elementor, styled to match the design system.
   ========================================================================== */

body.page-template-default .site-content .ast-container {
	background: var(--sw-bg);
}

.sw-legal {
	max-width: 820px;
	margin: 0 auto;
	color: var(--sw-text);
	font-family: var(--sw-font-body);
	font-size: 1.0625rem;
	line-height: 1.85;
}

.sw-legal > p:first-child em {
	display: inline-block;
	font-family: var(--sw-font-body);
	font-style: normal;
	font-size: 0.75rem;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--sw-orange-mid);
	border: 1px solid var(--sw-border);
	border-radius: 999px;
	padding: 0.35em 1em;
	margin-bottom: 0.75rem;
}

.sw-legal h2 {
	font-family: var(--sw-font-head);
	font-weight: 600;
	font-size: clamp(1.5rem, 3vw, 1.9rem);
	line-height: 1.25;
	color: var(--sw-ink);
	margin: 2.6rem 0 0.35rem;
	padding-top: 1.6rem;
	border-top: 1px solid var(--sw-border);
}

.sw-legal h2:first-of-type {
	border-top: 0;
	padding-top: 0;
}

.sw-legal h3 {
	font-family: var(--sw-font-body);
	font-weight: 600;
	font-size: 1.0625rem;
	letter-spacing: 0.02em;
	color: var(--sw-ink);
	margin: 1.6rem 0 0.3rem;
}

.sw-legal p {
	margin: 0 0 1.1rem;
}

.sw-legal ul {
	margin: 0 0 1.4rem;
	padding: 0;
	list-style: none;
}

.sw-legal ul li {
	position: relative;
	padding-left: 1.6rem;
	margin-bottom: 0.6rem;
}

.sw-legal ul li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.72em;
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: var(--sw-orange);
}

.sw-legal a {
	color: var(--sw-orange-deep);
	text-decoration: underline;
	text-underline-offset: 3px;
	text-decoration-thickness: 1px;
}

.sw-legal a:hover,
.sw-legal a:focus {
	color: var(--sw-grey-900);
}

@media (max-width: 782px) {
	.sw-legal {
		font-size: 1rem;
	}
}

/* =====================================================================
   SHARBAT WALA — site CSS  (v2: orange + grey, Elementor sections)
   1 canvas  2 top bar + header  3 typography  4 buttons  5 sections
   6 hero  7 stats  8 clients  9 range cards  10 icon boxes  11 pack
   12 steps  13 band  14 cta  15 flavours page  16 franchise page
   17 form + contact  18 footer bits  19 responsive
   ===================================================================== */

/* ----- 1. FULL-WIDTH CANVAS ----- */
.page-template-elementor_header_footer .site-content > .ast-container{max-width:100%!important;width:100%!important;padding:0!important;display:block}
.page-template-elementor_header_footer #primary,.page-template-elementor_header_footer .content-area{margin:0!important;padding:0!important;width:100%!important;max-width:100%!important}
.page-template-elementor_header_footer .entry-content{margin:0!important}
.page-template-elementor_header_footer .site-main>article>.entry-header{display:none}
.sw-wrap{width:100%!important;max-width:100%!important;margin:0!important;padding:0!important}
html{scroll-padding-top:calc(172px + var(--wp-admin--admin-bar--height, 0px))!important}
@media (max-width:921px){html{scroll-padding-top:calc(124px + var(--wp-admin--admin-bar--height, 0px))!important}}

/* ----- 2. TOP BAR + HEADER ----- */
.ast-above-header-bar{background-color:var(--sw-grey-900)!important;color:#fff!important;border:0!important}
.ast-above-header-bar .ast-builder-layout-element{min-height:42px}
.sw-top{display:inline-flex;align-items:center;gap:14px;font-family:var(--sw-font-body);font-size:13px;line-height:1.4;color:#fff;letter-spacing:.2px}
.sw-top a{color:#fff!important;text-decoration:none;transition:color .3s}
.sw-top a:hover{color:var(--sw-orange-light)!important}
.sw-top__sep{display:inline-block;width:1px;height:13px;background:rgba(255,255,255,.34)}
.sw-top--right{color:rgba(255,255,255,.76);font-size:12.5px;letter-spacing:.6px}
#masthead .ast-primary-header-bar{padding-top:6px;padding-bottom:6px}
#masthead .ast-builder-menu-1 .main-header-menu>.menu-item>.menu-link{font-weight:500}
#masthead .ast-button-wrap .ast-custom-button{white-space:nowrap}
.site-footer .ast-builder-grid-row-container{display:none}
/* footer logo: white version on the orange footer */
.sw-footer__logo{display:block;width:210px;height:96px;background:url("/wp-content/uploads/2026/09/sharbat-wala-logo-white.png") no-repeat left center;background-size:contain}
.sw-footer__logo-img{opacity:0;width:210px;height:auto}
@media (max-width:544px){.sw-footer__logo{width:180px;height:84px}}

/* ----- 3. TYPOGRAPHY (Elementor widgets) ----- */
.sw-h1 .elementor-heading-title{font-family:var(--sw-font-head);font-weight:700;font-size:clamp(33px,4.4vw,56px);line-height:1.04;letter-spacing:-.6px;color:var(--sw-ink);text-wrap:balance}
.sw-h2 .elementor-heading-title{font-family:var(--sw-font-head);font-weight:700;font-size:clamp(26px,3.2vw,40px);line-height:1.14;color:var(--sw-ink);text-wrap:balance}
.sw-h3 .elementor-heading-title{font-family:var(--sw-font-head);font-weight:600;font-size:19.5px;line-height:1.3;color:var(--sw-ink)}
.sw-kicker .elementor-heading-title{font-family:var(--sw-font-body);font-weight:700;font-size:12px;letter-spacing:2.6px;text-transform:uppercase;color:var(--sw-orange-deep)}
.sw-h1--dark .elementor-heading-title,.sw-h2--dark .elementor-heading-title{color:#1A1715}
.sw-h1--light .elementor-heading-title,.sw-h2--light .elementor-heading-title,.sw-h3--light .elementor-heading-title{color:#fff}
.sw-kicker--dark .elementor-heading-title{color:rgba(26,23,21,.62)}
.sw-kicker--light .elementor-heading-title{color:var(--sw-orange-light)}
.sw-lead .elementor-widget-container{font-size:clamp(16px,1.5vw,19px);line-height:1.65;color:var(--sw-grey-700);max-width:58ch}
.sw-lead--dark .elementor-widget-container{color:rgba(26,23,21,.82)}
.sw-lead--light .elementor-widget-container{color:var(--sw-text-on-dark)}
.sw-sub .elementor-widget-container{font-size:16.5px;line-height:1.7;color:var(--sw-muted);max-width:74ch}
.sw-sub--light .elementor-widget-container{color:var(--sw-text-on-dark)}
.sw-sub--dark .elementor-widget-container{color:rgba(26,23,21,.8)}
.sw-center .elementor-heading-title,.sw-center .elementor-widget-container{text-align:center;margin-inline:auto}
.sw-head{gap:10px!important}

/* ----- 4. BUTTONS ----- */
.sw-btnrow{flex-direction:row!important;flex-wrap:wrap!important;gap:12px!important;width:auto!important;padding:0!important}
.sw-btnrow--center{justify-content:center!important}
.sw-btn .elementor-button{display:inline-flex;align-items:center;gap:8px;padding:15px 26px;border-radius:var(--sw-radius-pill);font-family:var(--sw-font-body);font-size:15px;font-weight:600;line-height:1;border:0;transition:background-color .28s var(--sw-ease),color .28s var(--sw-ease),transform .28s var(--sw-ease),box-shadow .28s var(--sw-ease)}
.sw-btn .elementor-button:hover{transform:translateY(-2px)}
.sw-btn--primary .elementor-button{background:var(--sw-orange);color:#1A1715;box-shadow:0 14px 26px -14px rgba(242,101,34,.95)}
.sw-btn--primary .elementor-button:hover{background:var(--sw-grey-900);color:#fff}
.sw-btn--line .elementor-button{background:transparent;color:var(--sw-grey-900);box-shadow:inset 0 0 0 1.5px var(--sw-grey-200)}
.sw-btn--line .elementor-button:hover{background:var(--sw-grey-900);color:#fff}
.sw-btn--lineDark .elementor-button{background:transparent;color:#1A1715;box-shadow:inset 0 0 0 1.6px rgba(26,23,21,.45)}
.sw-btn--lineDark .elementor-button:hover{background:#1A1715;color:#fff}
.sw-btn--dark .elementor-button{background:var(--sw-grey-900);color:#fff}
.sw-btn--dark .elementor-button:hover{background:#fff;color:var(--sw-grey-900)}
.sw-btn--ghost .elementor-button{background:transparent;color:#fff;box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.45)}
.sw-btn--ghost .elementor-button:hover{background:#fff;color:var(--sw-grey-900)}
.sw-btn--wa .elementor-button{background:#128C7E;color:#fff}
.sw-btn--wa .elementor-button:hover{background:#0f7a6e;color:#fff}
.sw-link .elementor-button{background:transparent;padding:0;color:var(--tone,var(--sw-orange-deep));font-size:13px;font-weight:700;letter-spacing:1.2px;text-transform:uppercase;border-radius:0}
.sw-link .elementor-button:hover{background:transparent;color:var(--sw-ink);transform:none}
.sw-link .elementor-button-text::after{content:" \2192"}

/* ----- 5. SECTIONS ----- */
.e-con.sw-sec{padding:var(--sw-space-section) var(--sw-gutter)!important;gap:clamp(22px,2.6vw,38px)}
.e-con.sw-sec--sm{padding-top:var(--sw-space-section-sm)!important;padding-bottom:var(--sw-space-section-sm)!important}
.sw-bg-white{background-color:#fff}
.sw-bg-tint{background-color:var(--sw-tint)}
.sw-bg-grey{background-color:var(--sw-grey-50)}
.sw-bg-dark{background-color:var(--sw-grey-900)}

/* ----- 6. HERO (split: copy left, product photo right) ----- */
.e-con.sw-hero{padding:0!important;display:grid!important;grid-template-columns:1.02fr .98fr;gap:0!important;align-items:stretch!important;overflow:hidden;background:#fff}
.sw-hero__copy{justify-content:center!important;gap:15px!important;width:auto!important;padding:clamp(38px,4.4vw,66px) clamp(22px,3vw,54px) clamp(38px,4.4vw,66px) var(--sw-gutter)!important;background:linear-gradient(140deg,#FFF7F0 0%,#FFFFFF 62%)}
.e-con.sw-hero__art{position:relative!important;width:auto!important;padding:0!important;display:block!important;min-height:clamp(360px,42vw,540px)!important;background:linear-gradient(142deg,#F26522 0%,#FF8A2B 46%,#FFB020 100%);overflow:hidden}
.sw-hero__img{position:static!important;width:100%!important;height:0!important;margin:0!important;max-width:none!important}
.sw-hero__img .elementor-widget-container{position:static!important;height:0!important}
.sw-hero__img img{position:absolute!important;inset:0;width:100%!important;height:100%!important;max-width:none!important;object-fit:cover;object-position:center 56%;filter:none;border-radius:0}
.sw-hero__art::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(100deg,rgba(255,247,240,.55) 0%,rgba(255,247,240,0) 26%)}
.sw-ticks .elementor-icon-list-items{display:flex;flex-wrap:wrap;gap:8px 22px}
.sw-ticks .elementor-icon-list-item{font-size:14px;color:var(--sw-grey-700);margin:0!important}
.sw-ticks .elementor-icon-list-icon i{color:var(--sw-orange);font-size:13px}
.sw-ticks .elementor-icon-list-item:not(:last-child)::after{display:none}

/* ----- 7. STATS ----- */
.e-con.sw-stats{background:var(--sw-orange);padding:20px var(--sw-gutter)!important}
.sw-stats__row{display:grid!important;grid-template-columns:repeat(4,1fr);gap:14px!important}
.sw-stat{display:flex;flex-direction:column;gap:2px;text-align:center;color:#1A1715}
.sw-stat b{font-family:var(--sw-font-head);font-weight:700;font-size:clamp(21px,2.3vw,30px);line-height:1.1}
.sw-stat span{font-size:13px;color:rgba(26,23,21,.74)}

/* ----- 8. CLIENT LOGOS ----- */
.sw-logos{display:grid;grid-template-columns:repeat(6,1fr);gap:clamp(12px,1.4vw,20px);list-style:none;margin:34px 0 0;padding:0}
.sw-logo{display:flex;flex-direction:column;align-items:center;gap:11px}
.sw-logo img{display:block;width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:18px;border:1px solid var(--sw-grey-200);box-shadow:var(--sw-shadow-card);transition:transform .32s var(--sw-ease),box-shadow .32s var(--sw-ease)}
.sw-logo:hover img{transform:translateY(-6px);box-shadow:0 26px 42px -22px rgba(43,40,37,.55)}
.sw-logo span{font-size:13.5px;font-weight:600;letter-spacing:.2px;color:var(--sw-grey-700);text-align:center}
.sw-clients__note{margin:26px 0 0;font-size:14.5px;color:var(--sw-muted);text-align:center}
.sw-clients__note b{color:var(--sw-orange-deep)}
/* old placeholder style kept for any leftover cells */
.sw-clients{display:grid;grid-template-columns:repeat(6,1fr);gap:16px;margin:30px 0 0;padding:0;list-style:none}
.sw-client{display:flex;align-items:center;justify-content:center;min-height:92px;padding:14px;background:#fff;border:1px dashed var(--sw-grey-200);border-radius:14px;text-align:center;font-size:13px;color:var(--sw-muted)}

/* ----- 9. RANGE CARDS ----- */
.sw-cats{display:grid!important;grid-template-columns:repeat(3,1fr);gap:22px!important}
.e-con.sw-cat{--tone:var(--sw-orange);position:relative;overflow:hidden;background:#fff;border:1px solid var(--sw-grey-200);border-radius:var(--sw-radius-card);padding:26px 24px 22px!important;gap:6px!important;box-shadow:var(--sw-shadow-card);transition:transform .3s var(--sw-ease),box-shadow .3s var(--sw-ease),border-color .3s var(--sw-ease)}
.e-con.sw-cat:hover{transform:translateY(-5px);border-color:var(--tone);box-shadow:0 26px 46px -26px rgba(43,40,37,.4)}
.sw-cat::before{content:"";position:absolute;left:0;right:0;top:0;height:5px;background:var(--tone)}
.sw-r1{--tone:var(--sw-orange)}
.sw-r2{--tone:var(--sw-berry)}
.sw-r3{--tone:var(--sw-teal)}
.sw-r4{--tone:var(--sw-leaf)}
.sw-r5{--tone:var(--sw-amber)}
.sw-r6{--tone:var(--sw-grey-500)}
.sw-cardicon{display:inline-grid;place-items:center;width:52px;height:52px;border-radius:15px;background:color-mix(in srgb,var(--tone) 15%,#fff);color:var(--tone);font-size:21px;margin-bottom:6px}
.sw-cat__count .elementor-heading-title{font-family:var(--sw-font-body);font-weight:700;font-size:12px;letter-spacing:1.8px;text-transform:uppercase;color:var(--tone)}
.sw-cat__name .elementor-heading-title{font-family:var(--sw-font-head);font-weight:600;font-size:21px;line-height:1.2;color:var(--sw-ink)}
.sw-cat__list .elementor-widget-container{font-size:14.5px;line-height:1.6;color:var(--sw-muted)}
.sw-cat .sw-link{margin-top:auto}

/* ----- 10. ICON BOXES ----- */
.sw-iboxes{display:grid!important;grid-template-columns:repeat(4,1fr);gap:22px!important}
.sw-ibox{background:#fff;border:1px solid var(--sw-grey-200);border-radius:var(--sw-radius-card);padding:26px 22px;transition:transform .3s var(--sw-ease),box-shadow .3s var(--sw-ease)}
.sw-ibox:hover{transform:translateY(-4px);box-shadow:var(--sw-shadow-card)}
.sw-ibox .elementor-icon-box-icon{margin-bottom:16px!important}
.sw-ibox .elementor-icon{display:grid;place-items:center;width:56px;height:56px;border-radius:16px;background:var(--sw-tint);color:var(--sw-orange);font-size:24px}
.sw-ibox .elementor-icon-box-title{margin:0 0 8px}
.sw-ibox .elementor-icon-box-title span{font-family:var(--sw-font-head);font-weight:600;font-size:19px;color:var(--sw-ink)}
.sw-ibox .elementor-icon-box-description{font-size:15.5px;line-height:1.6;color:var(--sw-muted);margin:0}

/* ----- 11. PACK BLOCK ----- */
.sw-pack{display:grid!important;grid-template-columns:.8fr 1.2fr;gap:clamp(24px,4vw,56px)!important;align-items:center!important}
.sw-pack__img img{display:block;width:100%;max-width:420px!important;margin-inline:auto;aspect-ratio:1/1;object-fit:cover;border-radius:20px;box-shadow:0 26px 50px -24px rgba(0,0,0,.65);border:1px solid rgba(255,255,255,.14)}
.sw-pack__copy{gap:14px!important}
.sw-list .elementor-icon-list-items{display:grid;gap:10px}
.sw-list .elementor-icon-list-item{align-items:flex-start;font-size:16px;line-height:1.55;margin:0!important}
.sw-list .elementor-icon-list-icon{padding-top:3px}
.sw-list .elementor-icon-list-icon i{color:var(--sw-orange);font-size:15px}
.sw-list--light .elementor-icon-list-text{color:var(--sw-text-on-dark)}
.sw-list .elementor-icon-list-text{color:var(--sw-grey-700)}

/* ----- 12. STEPS ----- */
.sw-steps{display:grid!important;grid-template-columns:repeat(3,1fr);gap:20px!important}
.sw-steps--four{grid-template-columns:repeat(4,1fr)}
.e-con.sw-step{background:#fff;border:1px solid var(--sw-grey-200);border-radius:var(--sw-radius-card);padding:26px 24px!important;gap:8px!important}
.sw-bg-grey .e-con.sw-step,.sw-bg-tint .e-con.sw-step{background:#fff}
.sw-step__n{display:inline-grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--sw-orange);color:#1A1715;font-family:var(--sw-font-head);font-weight:700;font-size:17px}
.sw-note{margin:6px 0 0;padding:18px 22px;background:#fff;border:1px solid var(--sw-grey-200);border-left:4px solid var(--sw-orange);border-radius:12px;font-size:16px;line-height:1.65;color:var(--sw-grey-700)}
.sw-note b{color:var(--sw-ink)}

/* ----- 13. FRANCHISE BAND ----- */
.sw-band{display:grid!important;grid-template-columns:1.3fr .7fr;gap:clamp(22px,3vw,44px)!important;align-items:center!important;background:linear-gradient(118deg,#F26522 0%,#FF8A3D 60%,#FFB020 100%);border-radius:20px;padding:clamp(26px,3.4vw,46px)!important}
.sw-band__copy{gap:12px!important}
.sw-band__side{background:rgba(255,255,255,.94);border-radius:16px;padding:24px!important}
.sw-band__list{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.sw-band__list li{display:flex;gap:10px;font-size:15.5px;line-height:1.5;color:var(--sw-grey-700)}
.sw-band__list li::before{content:"";flex:none;width:7px;height:7px;margin-top:8px;border-radius:50%;background:var(--sw-orange)}

/* ----- 14. CTA ----- */
.sw-cta{gap:14px!important;text-align:center}
.sw-cta .elementor-widget-container{margin-inline:auto}

/* ----- 15. FLAVOURS PAGE (catalogue layout) ----- */
.e-con.sw-fhero{background:linear-gradient(135deg,#FFF6EF 0%,#FFFFFF 58%,#FFF1E4 100%);position:relative;overflow:hidden}
.sw-fhero__copy{gap:13px!important;max-width:1000px}

/* range navigation cards */
.sw-jump{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;list-style:none;margin:28px 0 0;padding:0}
.sw-jump li{--tone:var(--sw-orange)}
.sw-jump li.sw-r2{--tone:var(--sw-berry)}
.sw-jump li.sw-r3{--tone:var(--sw-teal)}
.sw-jump li.sw-r4{--tone:var(--sw-leaf)}
.sw-jump li.sw-r5{--tone:var(--sw-amber)}
.sw-jump a{display:flex;flex-direction:column;gap:3px;height:100%;padding:16px 18px;background:#fff;border:1px solid var(--sw-grey-200);border-top:4px solid var(--tone);border-radius:14px;text-decoration:none;box-shadow:0 10px 22px -18px rgba(43,40,37,.4);transition:transform .28s var(--sw-ease),box-shadow .28s var(--sw-ease)}
.sw-jump a:hover{transform:translateY(-4px);box-shadow:0 20px 32px -20px rgba(43,40,37,.5)}
.sw-jump b{font-family:var(--sw-font-head);font-weight:700;font-size:25px;line-height:1;color:var(--tone)}
.sw-jump span{font-size:13.5px;font-weight:500;color:var(--sw-grey-700)}

/* each range is one card: coloured header + flavour columns */
.e-con.sw-range{display:block!important;padding:0!important;background:#fff;border:1px solid var(--sw-grey-200);border-radius:20px;overflow:hidden;box-shadow:var(--sw-shadow-card)}
.sw-range__head{display:grid!important;grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"num name count" "num line line" "num use use";align-items:center;gap:3px 18px!important;padding:24px clamp(20px,2.4vw,30px)!important;background:linear-gradient(92deg,color-mix(in srgb,var(--tone,var(--sw-orange)) 13%,#fff) 0%,#fff 58%);border-bottom:1px solid var(--sw-grey-200)}
.sw-range__head::before{display:none}
.sw-range__head>*:nth-child(1){grid-area:num;align-self:center}
.sw-range__head>*:nth-child(2){grid-area:name}
.sw-range__head>*:nth-child(3){grid-area:line}
.sw-range__head>*:nth-child(4){grid-area:use}
.sw-range__head>*:nth-child(5){grid-area:count;justify-self:end;align-self:center}
.sw-range__num{display:grid;place-items:center;width:60px;height:60px;border-radius:17px;background:var(--tone,var(--sw-orange));color:#fff;font-family:var(--sw-font-head);font-weight:700;font-size:23px;line-height:1;box-shadow:0 12px 22px -14px var(--tone,var(--sw-orange))}
.sw-range__name .elementor-heading-title{font-size:clamp(22px,2.4vw,29px)!important}
.sw-range__head .sw-sub p{font-size:15.5px!important;max-width:74ch}
.sw-range__use{margin:2px 0 0;font-size:13.5px;color:var(--sw-muted)}
.sw-range__count{margin:0;padding:8px 15px;border-radius:var(--sw-radius-pill);background:color-mix(in srgb,var(--tone,var(--sw-orange)) 14%,#fff);color:var(--tone,var(--sw-orange));font-size:12px;font-weight:700;letter-spacing:1.4px;text-transform:uppercase;white-space:nowrap}
.sw-range__chips{padding:8px clamp(18px,2.4vw,28px) 24px!important}

/* the flavour list: clean columns, not capsules */
.sw-chips .elementor-icon-list-items{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:0 clamp(18px,2.4vw,34px)}
.sw-chips .elementor-icon-list-item{display:flex!important;align-items:center;gap:11px;margin:0!important;padding:12px 2px;background:transparent!important;border:0!important;border-bottom:1px solid var(--sw-grey-100)!important;border-radius:0!important;font-size:15.5px;line-height:1.35;color:var(--sw-grey-700);transition:color .2s var(--sw-ease),padding-left .2s var(--sw-ease)}
.sw-chips .elementor-icon-list-item::before{content:"";flex:none;width:9px;height:9px;border-radius:50%;background:var(--tone,var(--sw-orange));opacity:.9}
.sw-chips .elementor-icon-list-item:hover{transform:none;color:var(--sw-ink);padding-left:7px}
.sw-chips .elementor-icon-list-item:not(:last-child)::after{display:none}
.sw-chips .elementor-icon-list-text{padding:0!important;color:inherit}
.sw-chips .elementor-icon-list-icon{display:none}

/* ----- 16. FRANCHISE PAGE ----- */
.e-con.sw-fr-hero{background:linear-gradient(118deg,#F26522 0%,#FF8A3D 58%,#FFB020 100%)}
.sw-fr-hero__copy{gap:12px!important;max-width:860px}
.sw-two{display:grid!important;grid-template-columns:1.3fr .7fr;gap:clamp(24px,3.4vw,48px)!important;align-items:start!important}
.sw-two__main{gap:12px!important}
.e-con.sw-two__side{background:var(--sw-tint);border:1px solid var(--sw-grey-200);border-radius:18px;padding:26px!important;gap:10px!important}

/* ----- 17. FORM + CONTACT ----- */
.sw-formwrap{display:grid!important;grid-template-columns:1.25fr .75fr;gap:clamp(22px,3vw,42px)!important;align-items:start!important}
.sw-form{background:#fff;border:1px solid var(--sw-grey-200);border-radius:20px;padding:clamp(22px,3vw,36px);box-shadow:var(--sw-shadow-card);scroll-margin-top:170px}
.sw-form__title{font-family:var(--sw-font-head);font-weight:700;font-size:clamp(23px,2.6vw,30px);line-height:1.2;color:var(--sw-ink);margin:0 0 10px}
.sw-form__lead{margin:0 0 22px;color:var(--sw-muted);font-size:16px;line-height:1.6}
.sw-form__grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.sw-field{margin:0;display:flex;flex-direction:column;gap:7px}
.sw-field--full{grid-column:1 / -1}
.sw-field label{font-size:13.5px;font-weight:600;color:var(--sw-ink)}
.sw-field label span{color:var(--sw-orange-deep)}
.sw-form__hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.sw-form__foot{display:flex;flex-wrap:wrap;align-items:center;gap:16px;margin:22px 0 0}
.sw-form__foot .sw-btn{display:inline-flex;align-items:center;gap:8px;padding:15px 26px;border-radius:var(--sw-radius-pill);font-family:var(--sw-font-body);font-size:15px;font-weight:600;border:0;cursor:pointer;background:var(--sw-orange);color:#1A1715;transition:background-color .28s var(--sw-ease),color .28s var(--sw-ease)}
.sw-form__foot .sw-btn:hover{background:var(--sw-grey-900);color:#fff}
.sw-form__small{font-size:13px;color:var(--sw-muted);max-width:40ch;line-height:1.5}
.sw-form__note{display:flex;flex-direction:column;gap:4px;border-radius:12px;padding:16px 18px;margin:0 0 20px;font-size:15px;line-height:1.55}
.sw-form__note b{font-family:var(--sw-font-head);font-size:17px}
.sw-form__note--ok{background:#EDF7F0;border:1px solid #BFE3CD;color:#17552F}
.sw-form__note--err{background:#FDF0EC;border:1px solid #F3C9BB;color:#9A3412}
.sw-form select,body select{-webkit-appearance:none;-moz-appearance:none;appearance:none;line-height:1.4;min-height:50px;padding-right:44px;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23857D77' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 15px center;background-size:16px}
.sw-form input,.sw-form textarea{min-height:50px}
.sw-form textarea{min-height:110px;resize:vertical}
.sw-contactcard{background:var(--sw-grey-900);color:#fff;border-radius:20px;padding:clamp(22px,3vw,32px)}
.sw-contactcard h3{font-family:var(--sw-font-head);font-weight:700;font-size:22px;color:#fff;margin:0 0 8px}
.sw-contactcard>p{color:var(--sw-text-on-dark);font-size:15.5px;line-height:1.6;margin:0}
.sw-contactlist{list-style:none;margin:22px 0 0;padding:0;display:grid;gap:15px}
.sw-contactlist li{display:flex;flex-direction:column;gap:3px;padding-bottom:13px;border-bottom:1px solid rgba(255,255,255,.14)}
.sw-contactlist li:last-child{border-bottom:0;padding-bottom:0}
.sw-contactlist span{font-size:11.5px;letter-spacing:2px;text-transform:uppercase;color:var(--sw-orange-light)}
.sw-contactlist a,.sw-contactlist b{font-size:16px;font-weight:500;color:#fff;text-decoration:none;word-break:break-word}
.sw-contactlist a:hover{color:var(--sw-orange-light)}
.sw-contactcard__foot{margin:20px 0 0;font-size:13.5px;line-height:1.6;color:rgba(255,255,255,.62)}
.sw-contactcard__foot a{color:var(--sw-orange-light)}

/* ----- 19. RESPONSIVE ----- */
@media (max-width:1100px){
 .sw-cats{grid-template-columns:repeat(2,1fr)}
 .sw-iboxes{grid-template-columns:repeat(2,1fr)}
 .e-con.sw-hero{grid-template-columns:1fr}
 .e-con.sw-hero__art{min-height:clamp(300px,52vw,420px)!important}
 .sw-hero__img img{width:min(78%,340px)}
 .sw-logos{grid-template-columns:repeat(3,1fr)}
 .sw-chips .elementor-icon-list-items{grid-template-columns:repeat(3,minmax(0,1fr))}
 .sw-jump{grid-template-columns:repeat(3,minmax(0,1fr))}
 .sw-pack{grid-template-columns:1fr}
 .sw-pack__img img{max-width:340px!important;margin-inline:0}
 .sw-two,.sw-formwrap,.sw-band{grid-template-columns:1fr}
 .sw-steps--four{grid-template-columns:repeat(2,1fr)}
 .sw-clients{grid-template-columns:repeat(3,1fr)}
}
@media (max-width:760px){
 .sw-stats__row{grid-template-columns:repeat(2,1fr);gap:18px!important}
 .sw-cats,.sw-iboxes,.sw-steps,.sw-steps--four{grid-template-columns:1fr}
 .sw-form__grid{grid-template-columns:1fr}
 .sw-chips .elementor-icon-list-item{font-size:14px;padding:9px 15px}
 .sw-clients{grid-template-columns:repeat(2,1fr)}
 .sw-logos{grid-template-columns:repeat(2,1fr)}
 .sw-logo span{font-size:12.5px}
 .sw-btn .elementor-button{padding:14px 22px;font-size:14.5px}
 .sw-chips .elementor-icon-list-items{grid-template-columns:repeat(2,minmax(0,1fr))}
 .sw-jump{grid-template-columns:repeat(2,minmax(0,1fr))}
 .sw-range__head{grid-template-columns:auto minmax(0,1fr);grid-template-areas:"num name" "num count" "line line" "use use";gap:6px 14px!important;padding:20px 18px!important}
 .sw-range__head>*:nth-child(5){justify-self:start}
 .sw-range__num{width:50px;height:50px;font-size:20px;border-radius:14px}
}

/* ----- 20. OVERRIDES: beat Astra + Elementor defaults ----- */
.sw-h1 .elementor-heading-title{line-height:1.05!important;margin:0!important}
.sw-h2 .elementor-heading-title{line-height:1.14!important;margin:0!important}
.sw-h3 .elementor-heading-title{line-height:1.3!important;margin:0!important}
.sw-kicker .elementor-heading-title{line-height:1.4!important;margin:0!important}
.sw-cat__name .elementor-heading-title{line-height:1.2!important}
.sw-lead p,.sw-lead .elementor-widget-container{color:var(--sw-grey-700)!important;margin:0!important}
.sw-lead--dark p{color:rgba(26,23,21,.84)!important}
.sw-lead--light p{color:var(--sw-text-on-dark)!important}
.sw-sub p,.sw-sub .elementor-widget-container{color:var(--sw-muted)!important;margin:0!important}
.sw-sub--dark p{color:rgba(26,23,21,.84)!important}
.sw-sub--light p{color:var(--sw-text-on-dark)!important}
.sw-cat__list p{font-size:14.5px!important;line-height:1.6!important}
.e-con.sw-r1,.sw-r1{--tone:var(--sw-orange)}
.e-con.sw-r2,.sw-r2{--tone:var(--sw-berry)}
.e-con.sw-r3,.sw-r3{--tone:var(--sw-teal)}
.e-con.sw-r4,.sw-r4{--tone:var(--sw-leaf)}
.e-con.sw-r5,.sw-r5{--tone:var(--sw-amber)}
.e-con.sw-r6,.sw-r6{--tone:var(--sw-grey-500)}
.sw-cardicon svg{width:24px;height:24px}
.sw-ibox .elementor-icon svg{width:26px;height:26px;fill:var(--sw-orange)}
.sw-ibox .elementor-icon i{color:var(--sw-orange)}
.sw-list .elementor-icon-list-icon svg,.sw-ticks .elementor-icon-list-icon svg{fill:var(--sw-orange)}
.sw-ticks .elementor-icon-list-icon svg{width:13px;height:13px}
.sw-list .elementor-icon-list-icon svg{width:15px;height:15px}
/* Elementor editor preview: kill the default kit colours so the canvas
   matches the live site (the kit's own globals are set to brand values too) */
.elementor-editor-active .sw-h1 .elementor-heading-title,
.elementor-editor-active .sw-h2 .elementor-heading-title,
.elementor-editor-active .sw-h3 .elementor-heading-title{color:var(--sw-ink)!important}
.elementor-editor-active .sw-h2--light .elementor-heading-title,
.elementor-editor-active .sw-h1--light .elementor-heading-title{color:#fff!important}
.elementor-editor-active .sw-kicker .elementor-heading-title{color:var(--sw-orange-deep)!important}

/* ----- 21. HARD OVERRIDES over the Elementor global kit ----- */
.sw-h1 .elementor-heading-title{color:var(--sw-ink)!important}
.sw-h2 .elementor-heading-title{color:var(--sw-ink)!important}
.sw-h3 .elementor-heading-title{color:var(--sw-ink)!important}
.sw-cat__name .elementor-heading-title{color:var(--sw-ink)!important}
.sw-range__name .elementor-heading-title{color:var(--sw-ink)!important}
.sw-h1--light .elementor-heading-title,.sw-h2--light .elementor-heading-title,.sw-h3--light .elementor-heading-title{color:#fff!important}
.sw-h1--dark .elementor-heading-title,.sw-h2--dark .elementor-heading-title{color:#1A1715!important}
.sw-kicker .elementor-heading-title{color:var(--sw-orange-deep)!important}
.sw-kicker--dark .elementor-heading-title{color:rgba(26,23,21,.62)!important}
.sw-kicker--light .elementor-heading-title{color:var(--sw-orange-light)!important}
.sw-cat__count .elementor-heading-title{color:var(--tone)!important}
.sw-btn--primary .elementor-button{background-color:var(--sw-orange)!important;color:#1A1715!important}
.sw-btn--primary .elementor-button:hover{background-color:var(--sw-grey-900)!important;color:#fff!important}
.sw-btn--line .elementor-button{background-color:transparent!important;color:var(--sw-grey-900)!important;box-shadow:inset 0 0 0 1.5px var(--sw-grey-200)}
.sw-btn--line .elementor-button:hover{background-color:var(--sw-grey-900)!important;color:#fff!important}
.sw-btn--lineDark .elementor-button{background-color:transparent!important;color:#1A1715!important}
.sw-btn--lineDark .elementor-button:hover{background-color:#1A1715!important;color:#fff!important}
.sw-btn--dark .elementor-button{background-color:var(--sw-grey-900)!important;color:#fff!important}
.sw-btn--dark .elementor-button:hover{background-color:#fff!important;color:var(--sw-grey-900)!important}
.sw-btn--ghost .elementor-button{background-color:transparent!important;color:#fff!important}
.sw-btn--ghost .elementor-button:hover{background-color:#fff!important;color:var(--sw-grey-900)!important}
.sw-btn--wa .elementor-button{background-color:#128C7E!important;color:#fff!important}
.sw-btn--wa .elementor-button:hover{background-color:#0f7a6e!important}
.sw-link .elementor-button{background-color:transparent!important;color:var(--tone,var(--sw-orange-deep))!important;box-shadow:none}
.sw-link .elementor-button:hover{background-color:transparent!important;color:var(--sw-ink)!important}

/* stats strip in charcoal so it separates the orange hero from the page */
.e-con.sw-stats{background:var(--sw-grey-900)!important;padding:24px var(--sw-gutter)!important}
.sw-stat{color:#fff}
.sw-stat b{color:var(--sw-orange-light)}
.sw-stat span{color:rgba(255,255,255,.66)}

@media (max-width:560px){
 .sw-chips .elementor-icon-list-items{grid-template-columns:minmax(0,1fr)!important}
 .sw-chips .elementor-icon-list-item{font-size:15px;padding:11px 2px}
 .sw-jump{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
 .sw-range__name .elementor-heading-title{font-size:21px!important}
}
