/*
Theme Name: Saraswati Trade Concern
Theme URI: https://saraswatitradeconcern.com
Author: Saraswati Trade Concern
Author URI: https://saraswatitradeconcern.com
Description: Custom WooCommerce WordPress theme for Saraswati Trade Concern.
Version: 1.0.0
Text Domain: saraswati-trade-concern
*/

/* ========================================
   STC — GLOBAL DESIGN SYSTEM
======================================== */

:root {
    --primary: #2E2D85;
    --primary-hover: #232268;
    --accent: #FF3131;
    --accent-hover: #E52525;
    --light: #F8F8F8;
    --dark: #1E1E1E;
    --white: #FFFFFF;
    --muted: #6B7280;
    --border: #E5E7EB;
    --success: #198754;
    --warning: #FFC107;
    --danger: #DC3545;
    --info: #0DCAF0;

    --font-family: Arial, Helvetica, sans-serif;

    --fs-28: 28px;
    --fs-20: 20px;
    --fs-16: 16px;
    --fs-14: 14px;
    --fs-12: 12px;

    --space-1: 4px;
    --space-2: 8px;
    --space-3: 12px;
    --space-4: 16px;
    --space-5: 24px;
    --space-6: 32px;
    --space-7: 48px;

    --radius-sm: 4px;
    --radius: 6px;
    --radius-lg: 12px;
    --radius-pill: 999px;

    --container-width: 1440px;
    --transition: 0.2s ease;
}

/* ========================================
   RESET & BASE
======================================== */

*,
*::before,
*::after {
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
    -webkit-text-size-adjust: 100%;
}

body {
    margin: 0;
    padding: 0;
    font-family: var(--font-family);
    font-size: var(--fs-14);
    line-height: 1.5;
    color: var(--dark);
    background: var(--white);
}

h1, h2, h3, h4, h5, h6,
p, span, figure, blockquote {
    margin: 0;
    padding: 0;
}

h1 { font-size: var(--fs-28); line-height: 1.25; font-weight: 700; }
h2 { font-size: var(--fs-20); line-height: 1.3; font-weight: 700; }
h3, h4, h5, h6 { font-size: var(--fs-16); line-height: 1.4; font-weight: 600; }

p { font-size: var(--fs-14); line-height: 1.6; }
span { font-size: inherit; }

img, video, iframe, svg {
    max-width: 100%;
}

img {
    height: auto;
    vertical-align: middle;
}

a {
    color: var(--primary);
    text-decoration: none;
    transition: color var(--transition);
}

a:hover {
    color: var(--primary-hover);
}

button, input, select, textarea {
    font: inherit;
}

button, [type="button"], [type="submit"], [type="reset"] {
    cursor: pointer;
}

ul, ol {
    margin: 0;
    padding-left: 24px;
}

table {
    width: 100%;
    border-collapse: collapse;
}

hr {
    margin: 16px 0;
    border: 0;
    border-top: 1px solid var(--border);
}

/* ========================================
   CONTAINER & RESPONSIVE WIDTHS
======================================== */

.container {
    width: 100%;
    max-width: var(--container-width);
    margin-right: auto;
    margin-left: auto;
    padding-right: 16px;
    padding-left: 16px;
}

.container-fluid {
    width: 100%;
    padding-right: 16px;
    padding-left: 16px;
}

@media (max-width: 575.98px) {
    .container, .container-fluid {
        padding-right: 12px;
        padding-left: 12px;
    }
}

/* ========================================
   DISPLAY
======================================== */

.d-none { display: none !important; }
.d-inline { display: inline !important; }
.d-inline-block { display: inline-block !important; }
.d-block { display: block !important; }
.d-flex { display: flex !important; }
.d-inline-flex { display: inline-flex !important; }
.d-grid { display: grid !important; }
.d-inline-grid { display: inline-grid !important; }

/* ========================================
   FLEX UTILITIES
======================================== */

.flex-row { flex-direction: row !important; }
.flex-column { flex-direction: column !important; }
.flex-row-reverse { flex-direction: row-reverse !important; }
.flex-column-reverse { flex-direction: column-reverse !important; }

.flex-wrap { flex-wrap: wrap !important; }
.flex-nowrap { flex-wrap: nowrap !important; }
.flex-grow-0 { flex-grow: 0 !important; }
.flex-grow-1 { flex-grow: 1 !important; }
.flex-shrink-0 { flex-shrink: 0 !important; }

.justify-content-start { justify-content: flex-start !important; }
.justify-content-end { justify-content: flex-end !important; }
.justify-content-center { justify-content: center !important; }
.justify-content-between { justify-content: space-between !important; }
.justify-content-around { justify-content: space-around !important; }
.justify-content-evenly { justify-content: space-evenly !important; }

.align-items-start { align-items: flex-start !important; }
.align-items-end { align-items: flex-end !important; }
.align-items-center { align-items: center !important; }
.align-items-baseline { align-items: baseline !important; }
.align-items-stretch { align-items: stretch !important; }

.align-content-start { align-content: flex-start !important; }
.align-content-center { align-content: center !important; }
.align-content-between { align-content: space-between !important; }

.align-self-start { align-self: flex-start !important; }
.align-self-center { align-self: center !important; }
.align-self-end { align-self: flex-end !important; }
.align-self-stretch { align-self: stretch !important; }

.flex-1 { flex: 1 !important; }

/* ========================================
   GRID UTILITIES
======================================== */

.grid-cols-1 { grid-template-columns: repeat(1, minmax(0, 1fr)) !important; }
.grid-cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
.grid-cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
.grid-cols-4 { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; }
.grid-cols-5 { grid-template-columns: repeat(5, minmax(0, 1fr)) !important; }
.grid-cols-auto { grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)) !important; }

.grid-rows-2 { grid-template-rows: repeat(2, minmax(0, 1fr)) !important; }
.grid-rows-3 { grid-template-rows: repeat(3, minmax(0, 1fr)) !important; }

.grid-col-span-2 { grid-column: span 2 / span 2 !important; }
.grid-col-span-3 { grid-column: span 3 / span 3 !important; }
.grid-col-full { grid-column: 1 / -1 !important; }

.grid-row-span-2 { grid-row: span 2 / span 2 !important; }

.place-items-center { place-items: center !important; }
.place-content-center { place-content: center !important; }

/* ========================================
   GAP
======================================== */

.gap-0 { gap: 0 !important; }
.gap-1 { gap: 4px !important; }
.gap-2 { gap: 8px !important; }
.gap-3 { gap: 12px !important; }
.gap-4 { gap: 16px !important; }
.gap-5 { gap: 24px !important; }
.gap-6 { gap: 32px !important; }
.gap-7 { gap: 48px !important; }

.row-gap-1 { row-gap: 4px !important; }
.row-gap-2 { row-gap: 8px !important; }
.row-gap-3 { row-gap: 12px !important; }
.row-gap-4 { row-gap: 16px !important; }
.row-gap-5 { row-gap: 24px !important; }

.column-gap-1 { column-gap: 4px !important; }
.column-gap-2 { column-gap: 8px !important; }
.column-gap-3 { column-gap: 12px !important; }
.column-gap-4 { column-gap: 16px !important; }
.column-gap-5 { column-gap: 24px !important; }

/* ========================================
   TYPOGRAPHY
======================================== */

.fs-28 { font-size: var(--fs-28) !important; }
.fs-20 { font-size: var(--fs-20) !important; }
.fs-16 { font-size: var(--fs-16) !important; }
.fs-14 { font-size: var(--fs-14) !important; }
.fs-12 { font-size: var(--fs-12) !important; }

.fw-light { font-weight: 300 !important; }
.fw-normal { font-weight: 400 !important; }
.fw-medium { font-weight: 500 !important; }
.fw-semibold { font-weight: 600 !important; }
.fw-bold { font-weight: 700 !important; }

.text-start { text-align: left !important; }
.text-center { text-align: center !important; }
.text-end { text-align: right !important; }

.text-uppercase { text-transform: uppercase !important; }
.text-lowercase { text-transform: lowercase !important; }
.text-capitalize { text-transform: capitalize !important; }
.text-decoration-none { text-decoration: none !important; }
.text-decoration-underline { text-decoration: underline !important; }
.text-nowrap { white-space: nowrap !important; }
.text-wrap { white-space: normal !important; }
.text-break { overflow-wrap: anywhere !important; }
.text-truncate { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

.lh-1 { line-height: 1 !important; }
.lh-sm { line-height: 1.25 !important; }
.lh-base { line-height: 1.5 !important; }
.lh-lg { line-height: 1.75 !important; }

/* ========================================
   TEXT & BRAND COLORS
======================================== */

.text-primary { color: var(--primary) !important; }
.text-accent { color: var(--accent) !important; }
.text-dark { color: var(--dark) !important; }
.text-light { color: var(--light) !important; }
.text-white { color: var(--white) !important; }
.text-muted { color: var(--muted) !important; }
.text-success { color: var(--success) !important; }
.text-warning { color: var(--warning) !important; }
.text-danger { color: var(--danger) !important; }
.text-info { color: var(--info) !important; }

/* ========================================
   BACKGROUND COLORS
======================================== */

.bg-primary { background-color: var(--primary) !important; }
.bg-primary-hover:hover { background-color: var(--primary-hover) !important; }
.bg-accent { background-color: var(--accent) !important; }
.bg-accent-hover:hover { background-color: var(--accent-hover) !important; }
.bg-light { background-color: var(--light) !important; }
.bg-dark { background-color: var(--dark) !important; }
.bg-white { background-color: var(--white) !important; }
.bg-transparent { background-color: transparent !important; }
.bg-success { background-color: var(--success) !important; }
.bg-warning { background-color: var(--warning) !important; }
.bg-danger { background-color: var(--danger) !important; }
.bg-info { background-color: var(--info) !important; }

/* ========================================
   MARGIN UTILITIES
======================================== */

.m-0 { margin: 0 !important; }
.m-auto { margin: auto !important; }
.mt-0 { margin-top: 0 !important; }
.mt-1 { margin-top: 4px !important; }
.mt-2 { margin-top: 8px !important; }
.mt-3 { margin-top: 12px !important; }
.mt-4 { margin-top: 16px !important; }
.mt-5 { margin-top: 24px !important; }
.mt-6 { margin-top: 32px !important; }
.mt-auto { margin-top: auto !important; }

.mb-0 { margin-bottom: 0 !important; }
.mb-1 { margin-bottom: 4px !important; }
.mb-2 { margin-bottom: 8px !important; }
.mb-3 { margin-bottom: 12px !important; }
.mb-4 { margin-bottom: 16px !important; }
.mb-5 { margin-bottom: 24px !important; }
.mb-6 { margin-bottom: 32px !important; }
.mb-auto { margin-bottom: auto !important; }

.ms-0, .ml-0 { margin-left: 0 !important; }
.ms-1, .ml-1 { margin-left: 4px !important; }
.ms-2, .ml-2 { margin-left: 8px !important; }
.ms-3, .ml-3 { margin-left: 12px !important; }
.ms-4, .ml-4 { margin-left: 16px !important; }
.ms-5, .ml-5 { margin-left: 24px !important; }
.ms-auto, .ml-auto { margin-left: auto !important; }

.me-0, .mr-0 { margin-right: 0 !important; }
.me-1, .mr-1 { margin-right: 4px !important; }
.me-2, .mr-2 { margin-right: 8px !important; }
.me-3, .mr-3 { margin-right: 12px !important; }
.me-4, .mr-4 { margin-right: 16px !important; }
.me-5, .mr-5 { margin-right: 24px !important; }
.me-auto, .mr-auto { margin-right: auto !important; }

.mx-0 { margin-right: 0 !important; margin-left: 0 !important; }
.mx-auto { margin-right: auto !important; margin-left: auto !important; }
.my-0 { margin-top: 0 !important; margin-bottom: 0 !important; }

/* ========================================
   PADDING UTILITIES
======================================== */

.p-0 { padding: 0 !important; }
.p-1 { padding: 4px !important; }
.p-2 { padding: 8px !important; }
.p-3 { padding: 12px !important; }
.p-4 { padding: 16px !important; }
.p-5 { padding: 24px !important; }
.p-6 { padding: 32px !important; }

.pt-0 { padding-top: 0 !important; }
.pt-1 { padding-top: 4px !important; }
.pt-2 { padding-top: 8px !important; }
.pt-3 { padding-top: 12px !important; }
.pt-4 { padding-top: 16px !important; }
.pt-5 { padding-top: 24px !important; }

.pb-0 { padding-bottom: 0 !important; }
.pb-1 { padding-bottom: 4px !important; }
.pb-2 { padding-bottom: 8px !important; }
.pb-3 { padding-bottom: 12px !important; }
.pb-4 { padding-bottom: 16px !important; }
.pb-5 { padding-bottom: 24px !important; }

.ps-0, .pl-0 { padding-left: 0 !important; }
.ps-1, .pl-1 { padding-left: 4px !important; }
.ps-2, .pl-2 { padding-left: 8px !important; }
.ps-3, .pl-3 { padding-left: 12px !important; }
.ps-4, .pl-4 { padding-left: 16px !important; }
.ps-5, .pl-5 { padding-left: 24px !important; }

.pe-0, .pr-0 { padding-right: 0 !important; }
.pe-1, .pr-1 { padding-right: 4px !important; }
.pe-2, .pr-2 { padding-right: 8px !important; }
.pe-3, .pr-3 { padding-right: 12px !important; }
.pe-4, .pr-4 { padding-right: 16px !important; }
.pe-5, .pr-5 { padding-right: 24px !important; }

.px-0 { padding-right: 0 !important; padding-left: 0 !important; }
.px-1 { padding-right: 4px !important; padding-left: 4px !important; }
.px-2 { padding-right: 8px !important; padding-left: 8px !important; }
.px-3 { padding-right: 12px !important; padding-left: 12px !important; }
.px-4 { padding-right: 16px !important; padding-left: 16px !important; }
.px-5 { padding-right: 24px !important; padding-left: 24px !important; }

.py-0 { padding-top: 0 !important; padding-bottom: 0 !important; }
.py-1 { padding-top: 4px !important; padding-bottom: 4px !important; }
.py-2 { padding-top: 8px !important; padding-bottom: 8px !important; }
.py-3 { padding-top: 12px !important; padding-bottom: 12px !important; }
.py-4 { padding-top: 16px !important; padding-bottom: 16px !important; }
.py-5 { padding-top: 24px !important; padding-bottom: 24px !important; }

/* ========================================
   WIDTH & HEIGHT
======================================== */

.w-auto { width: auto !important; }
.w-25 { width: 25% !important; }
.w-50 { width: 50% !important; }
.w-75 { width: 75% !important; }
.w-100 { width: 100% !important; }
.mw-100 { max-width: 100% !important; }

.h-auto { height: auto !important; }
.h-25 { height: 25% !important; }
.h-50 { height: 50% !important; }
.h-75 { height: 75% !important; }
.h-100 { height: 100% !important; }
.min-vh-100 { min-height: 100vh !important; }

.position-relative { position: relative !important; }
.position-absolute { position: absolute !important; }
.position-fixed { position: fixed !important; }
.position-sticky { position: sticky !important; }

.top-0 { top: 0 !important; }
.end-0 { right: 0 !important; }
.bottom-0 { bottom: 0 !important; }
.start-0 { left: 0 !important; }

/* ========================================
   BORDERS & RADIUS
======================================== */

.border { border: 1px solid var(--border) !important; }
.border-0 { border: 0 !important; }
.border-top { border-top: 1px solid var(--border) !important; }
.border-bottom { border-bottom: 1px solid var(--border) !important; }
.border-start { border-left: 1px solid var(--border) !important; }
.border-end { border-right: 1px solid var(--border) !important; }

.border-primary { border-color: var(--primary) !important; }
.border-accent { border-color: var(--accent) !important; }
.border-dark { border-color: var(--dark) !important; }
.border-light { border-color: var(--light) !important; }

.rounded-0 { border-radius: 0 !important; }
.rounded-1 { border-radius: var(--radius-sm) !important; }
.rounded { border-radius: var(--radius) !important; }
.rounded-2 { border-radius: var(--radius) !important; }
.rounded-3 { border-radius: var(--radius-lg) !important; }
.rounded-pill { border-radius: var(--radius-pill) !important; }
.rounded-circle { border-radius: 50% !important; }

/* ========================================
   BUTTONS
======================================== */

.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 10px 18px;
    border: 1px solid transparent;
    border-radius: var(--radius);
    font-size: var(--fs-14);
    font-weight: 600;
    line-height: 1.4;
    text-align: center;
    text-decoration: none;
    white-space: nowrap;
    transition: color var(--transition), background-color var(--transition), border-color var(--transition), box-shadow var(--transition);
}

.btn:hover {
    text-decoration: none;
}

.btn:focus-visible {
    outline: 3px solid rgba(46, 45, 133, 0.25);
    outline-offset: 2px;
}

.btn:disabled,
.btn.disabled {
    opacity: 0.55;
    pointer-events: none;
}

.btn-primary {
    color: var(--white);
    background: var(--primary);
    border-color: var(--primary);
}

.btn-primary:hover {
    color: var(--white);
    background: var(--primary-hover);
    border-color: var(--primary-hover);
}

.btn-secondary {
    color: var(--dark);
    background: var(--white);
    border-color: var(--border);
}

.btn-secondary:hover {
    color: var(--primary);
    background: var(--light);
    border-color: var(--primary);
}

.btn-accent {
    color: var(--white);
    background: var(--accent);
    border-color: var(--accent);
}

.btn-accent:hover {
    color: var(--white);
    background: var(--accent-hover);
    border-color: var(--accent-hover);
}

.btn-outline-primary {
    color: var(--primary);
    background: transparent;
    border-color: var(--primary);
}

.btn-outline-primary:hover {
    color: var(--white);
    background: var(--primary);
}

.btn-outline-accent {
    color: var(--accent);
    background: transparent;
    border-color: var(--accent);
}

.btn-outline-accent:hover {
    color: var(--white);
    background: var(--accent);
}

.btn-sm {
    padding: 6px 12px;
    font-size: var(--fs-12);
}

.btn-lg {
    padding: 12px 24px;
    font-size: var(--fs-16);
}

.btn-block {
    display: flex;
    width: 100%;
}

/* ========================================
   FORMS
======================================== */

.form-control,
.form-select,
select,
textarea,
input[type="text"],
input[type="email"],
input[type="password"],
input[type="number"],
input[type="search"],
input[type="tel"],
input[type="url"] {
    width: 100%;
    min-height: 40px;
    padding: 9px 12px;
    color: var(--dark);
    background: var(--white);
    border: 1px solid var(--border);
    border-radius: var(--radius);
    outline: none;
    transition: border-color var(--transition), box-shadow var(--transition);
}

textarea {
    min-height: 100px;
    resize: vertical;
}

.form-control:focus,
.form-select:focus,
select:focus,
textarea:focus,
input:focus {
    border-color: var(--primary);
    box-shadow: 0 0 0 3px rgba(46, 45, 133, 0.12);
}

input[type="checkbox"],
input[type="radio"] {
    accent-color: var(--primary);
}

.form-label {
    display: inline-block;
    margin-bottom: 6px;
    font-size: var(--fs-14);
    font-weight: 600;
}

.form-text {
    display: block;
    margin-top: 4px;
    color: var(--muted);
    font-size: var(--fs-12);
}

/* ========================================
   SHADOWS & HOVER UTILITIES
======================================== */

.shadow-none { box-shadow: none !important; }
.shadow-sm { box-shadow: 0 2px 6px rgba(0, 0, 0, 0.06) !important; }
.shadow { box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08) !important; }
.shadow-lg { box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12) !important; }

.hover-primary:hover { color: var(--primary) !important; }
.hover-accent:hover { color: var(--accent) !important; }
.hover-bg-light:hover { background-color: var(--light) !important; }
.hover-bg-primary:hover { background-color: var(--primary) !important; color: var(--white) !important; }
.hover-bg-accent:hover { background-color: var(--accent) !important; color: var(--white) !important; }

.transition { transition: all var(--transition) !important; }
.cursor-pointer { cursor: pointer !important; }

/* ========================================
   OVERFLOW & VISIBILITY
======================================== */

.overflow-auto { overflow: auto !important; }
.overflow-hidden { overflow: hidden !important; }
.overflow-visible { overflow: visible !important; }
.overflow-x-auto { overflow-x: auto !important; }
.overflow-y-auto { overflow-y: auto !important; }

.visible { visibility: visible !important; }
.invisible { visibility: hidden !important; }

/* ========================================
   RESPONSIVE UTILITIES
======================================== */

@media (min-width: 576px) {
    .d-sm-none { display: none !important; }
    .d-sm-block { display: block !important; }
    .d-sm-flex { display: flex !important; }
    .d-sm-grid { display: grid !important; }
    .grid-sm-cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
    .grid-sm-cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
}

@media (min-width: 768px) {
    .d-md-none { display: none !important; }
    .d-md-block { display: block !important; }
    .d-md-flex { display: flex !important; }
    .d-md-grid { display: grid !important; }
    .grid-md-cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
    .grid-md-cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
    .grid-md-cols-4 { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; }
}

@media (min-width: 992px) {
    .d-lg-none { display: none !important; }
    .d-lg-block { display: block !important; }
    .d-lg-flex { display: flex !important; }
    .d-lg-grid { display: grid !important; }
    .grid-lg-cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
    .grid-lg-cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
    .grid-lg-cols-4 { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; }
}

@media (min-width: 1200px) {
    .d-xl-none { display: none !important; }
    .d-xl-block { display: block !important; }
    .d-xl-flex { display: flex !important; }
    .d-xl-grid { display: grid !important; }
    .grid-xl-cols-4 { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; }
    .grid-xl-cols-5 { grid-template-columns: repeat(5, minmax(0, 1fr)) !important; }
}

/* Header */
.stc-site-header{position:relative;z-index:20;background:var(--white)}
.stc-header-container{width:100%;max-width:var(--container-width);margin:auto;padding-inline:16px}
.stc-header-top{background:var(--primary);color:var(--white)}
.stc-header-top-inner{min-height:34px;display:grid;grid-template-columns:minmax(0,1fr) minmax(180px,1fr) minmax(0,1fr);align-items:center;gap:8px 24px}
.stc-header-highlights,.stc-header-contact{display:flex;align-items:center;gap:18px;min-width:0}
.stc-header-highlight,.stc-header-contact a{display:inline-flex;align-items:center;gap:6px;color:inherit;font-size:var(--fs-12);line-height:1.3;text-decoration:none;white-space:nowrap}
.stc-header-highlight-image{width:16px;height:16px;flex:none;object-fit:contain}
.stc-header-contact{grid-column:3;justify-content:flex-end}
.stc-header-contact a:hover{color:var(--accent)}
.stc-header-contact svg{width:13px;height:13px;flex:none;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.stc-site-header{position:sticky;top:0;z-index:1000;background:var(--white)}
/* Search */
.stc-header-search{grid-column:2;grid-row:1;height:25px;display:flex;min-width:0;overflow:hidden;border-radius:var(--radius-sm);background:var(--white)}
.stc-header-search input{width:100%;min-width:0;height:25px;min-height:25px;padding:3px 8px;border:0;border-radius:0;outline:0;box-shadow:none;font-size:var(--fs-12)}
.stc-header-search input:focus{border:0;outline:0;box-shadow:none}
.stc-header-search button{width:30px;height:25px;flex:none;display:grid;place-items:center;padding:0;border:0;background:var(--white);color:var(--primary);cursor:pointer}
.stc-header-search button:hover{background:var(--accent);color:var(--white)}
.stc-header-search button svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}

/* Main navigation */
.stc-header-main{background:var(--white);border-bottom:1px solid var(--border);box-shadow:0 2px 6px #0000000b}
.stc-header-main-inner{min-height:82px;display:flex;align-items:center;gap:24px}
.stc-header-brand{display:flex;align-items:center;flex:none;text-decoration:none}
.stc-header-logo{display:block;width:auto;max-width:190px;max-height:64px;object-fit:contain}
.stc-header-site-name{color:var(--primary);font-size:var(--fs-20);font-weight:700}
.stc-header-navigation{display:flex;align-items:center;gap:24px;margin-left:auto;min-width:0}
.stc-header-menu{display:flex;align-items:center;gap:clamp(16px,2vw,30px);margin:0;padding:0;list-style:none}
.stc-header-menu li{position:relative;margin:0;padding:0}
.stc-header-menu a{display:flex;align-items:center;min-height:44px;color:var(--dark);font-size:var(--fs-14);font-weight:600;text-decoration:none}
.stc-header-menu a:hover,.stc-header-menu .current-menu-item>a,.stc-header-menu .current_page_item>a{color:var(--accent)}

/* Dropdown */
.stc-header-menu .sub-menu{position:absolute;top:100%;left:0;z-index:30;display:none;min-width:190px;margin:0;padding:7px 0;border:1px solid var(--border);border-radius:var(--radius);background:var(--white);box-shadow:0 8px 24px #00000014;list-style:none}
.stc-header-menu li:hover>.sub-menu,.stc-header-menu li:focus-within>.sub-menu{display:block}
.stc-header-menu .sub-menu a{min-height:34px;padding:5px 14px}
.stc-header-menu .sub-menu a:hover{background:var(--light)}

/* Quote button */
.stc-header-cta{display:inline-flex;align-items:center;justify-content:center;flex:none;min-height:40px;padding:0 16px;border-radius:var(--radius);background:var(--accent);color:var(--white);font-size:var(--fs-14);font-weight:600;text-decoration:none;white-space:nowrap}
.stc-header-cta:hover{background:var(--primary-hover);color:var(--white)}

/* Mobile toggle */
.stc-header-menu-toggle{display:none}

@media(max-width:900px){
    .stc-header-top-inner{grid-template-columns:minmax(0,1fr) auto;gap:8px 16px;padding-block:7px}
    .stc-header-highlights{grid-column:1;flex-wrap:wrap;gap:6px 14px}
    .stc-header-search{grid-column:1/-1;grid-row:2;width:100%}
    .stc-header-contact{grid-column:2;grid-row:1;flex-direction:column;align-items:flex-end;gap:5px}
    .stc-header-main-inner{min-height:70px}
    .stc-header-menu-toggle{width:40px;height:38px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;margin-left:auto;padding:0;border:1px solid var(--border);border-radius:var(--radius);background:var(--white);cursor:pointer}
    .stc-header-menu-toggle>span:not(.screen-reader-text){width:19px;height:2px;background:var(--primary)}
    .stc-header-navigation{position:absolute;top:100%;left:0;right:0;z-index:40;display:none;flex-direction:column;align-items:stretch;gap:0;margin:0;border-top:1px solid var(--border);background:var(--white);box-shadow:0 8px 16px #00000014}
    .stc-header-navigation.is-open{display:flex}
    .stc-header-menu{width:100%;flex-direction:column;align-items:stretch;gap:0;padding:8px 16px 0}
    .stc-header-menu>li{border-bottom:1px solid var(--light)}
    .stc-header-menu a{min-height:42px}
    .stc-header-menu .sub-menu{position:static;display:block;min-width:0;padding:0 0 5px 14px;border:0;border-radius:0;box-shadow:none}
    .stc-header-cta{align-self:flex-start;margin:12px 16px 16px}
}

@media(max-width:520px){
    .stc-header-container{padding-inline:12px}
    .stc-header-top-inner{grid-template-columns:1fr;gap:8px}
    .stc-header-highlights,.stc-header-contact{grid-column:1;grid-row:auto}
    .stc-header-contact{flex-direction:row;flex-wrap:wrap;align-items:flex-start;gap:6px 14px;justify-content: space-between;}
    .stc-header-search{grid-column:1;grid-row:auto}
    .stc-header-logo{max-width:155px;max-height:56px}
    .stc-header-main-inner{gap:12px}
    .stc-header-highlights{display:none;}
}

/* Footer */
.stc-footer{background:#1c2373;color:var(--white);font-size:var(--fs-12)}
.stc-footer a{color:rgba(255,255,255,.88);text-decoration:none}
.stc-footer a:hover{color:var(--accent)}
.stc-footer__container{width:100%;max-width:var(--container-width);margin:0 auto;padding:0 20px}
.stc-footer__main{display:grid;grid-template-columns:minmax(0,1fr);gap:28px;padding:44px 0 32px}
.stc-footer__col{min-width:0}
.stc-footer__logo{display:inline-block;color:var(--white);font-size:var(--fs-20);font-weight:700}
.stc-footer__logo img{display:block;width:auto;max-width:190px;max-height:72px;object-fit:contain}
.stc-footer__tagline{max-width:260px;margin-top:16px;color:rgba(255,255,255,.85);font-size:var(--fs-12);line-height:1.8}
.stc-footer__heading{margin:0 0 14px;color:var(--white);font-size:var(--fs-14);font-weight:700;line-height:1.3}
.stc-footer__list{margin:0;padding:0;list-style:none}
.stc-footer__list li{margin:0 0 10px;font-size:var(--fs-12);line-height:1.5}
.stc-footer__list li:last-child{margin-bottom:0}
.stc-footer__contact .stc-footer__list li{display:flex;align-items:center;gap:10px}
.stc-footer__icon{display:block;width:16px;height:16px;flex:none;object-fit:contain;filter:brightness(0) invert(1)}
.stc-footer__bottom{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 24px;padding:20px;border-top:1px solid rgba(255,255,255,.14)}
.stc-footer__copyright{color:rgba(255,255,255,.85);font-size:11px}
.stc-footer__bottom-right{display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px}
.stc-footer__bottom-logo img{display:block;width:auto;max-width:140px;max-height:36px;object-fit:contain}
.stc-footer__socials{display:flex;flex-wrap:wrap;gap:10px;margin:0;padding:0;list-style:none}
.stc-footer__socials a{display:grid;place-items:center;min-width:30px;height:30px;padding:0 6px;border:1px solid rgba(255,255,255,.3);border-radius:var(--radius-pill);font-size:11px;line-height:1}
.stc-footer__socials a:hover{background:var(--accent);border-color:var(--accent);color:var(--white)}
.stc-footer__socials img{display:block;width:16px;height:16px;object-fit:contain;filter:brightness(0) invert(1)}
@media(min-width:640px){.stc-footer__main{grid-template-columns:repeat(2,minmax(0,1fr))}.stc-footer__brand{grid-column:1/-1}}
@media(min-width:1024px){.stc-footer__container{padding:0 32px}.stc-footer__main{grid-template-columns:1.5fr;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:0;padding:48px 0 36px}.stc-footer__brand{grid-column:auto}.stc-footer__col+.stc-footer__col{padding-left:32px;border-left:1px solid rgba(255,255,255,.14)}.stc-footer__brand+.stc-footer__col{margin-left:24px}}