/* ==========================================================================
   Spartan International — site styles (effects & details; layout lives in Elementor)
   ========================================================================== */
:root{--sp-red:#E3262B;--sp-dred:#A6141B;--sp-ink:#24272C;--sp-foot:#1B1D21;--sp-steel:#5B6470;--sp-mist:#EEF1F4;--sp-line:#D7DCE2;
  --sp-ease:cubic-bezier(.2,.7,.2,1);--sp-cat:var(--sp-red)}
html{scroll-behavior:smooth}
body.sp-site{color:var(--sp-steel);-webkit-font-smoothing:antialiased}
::selection{background:var(--sp-red);color:#fff}

/* ---------- Header: sticky; top strip collapses on scroll ---------- */
.elementor-location-header{position:sticky;top:0;z-index:999}
body.admin-bar .elementor-location-header{top:32px}
@media (max-width:782px){body.admin-bar .elementor-location-header{top:46px}}
@media (max-width:600px){body.admin-bar .elementor-location-header{top:0}}
.sp-topbar{transition:margin-top .35s var(--sp-ease)}
body.sp-scrolled .sp-topbar{margin-top:-44px}
.sp-bar{transition:box-shadow .3s var(--sp-ease),padding .3s var(--sp-ease)}
body.sp-scrolled .sp-bar{box-shadow:0 8px 30px rgba(20,22,25,.08);padding-top:8px!important;padding-bottom:8px!important}
.sp-logo img{transition:max-width .3s var(--sp-ease)}
body.sp-scrolled .sp-logo img{max-width:175px}
.sp-header .elementor-nav-menu--main .sub-menu{border-top:3px solid var(--sp-red);box-shadow:0 18px 40px rgba(20,22,25,.12);min-width:230px!important}
.sp-header .elementor-nav-menu--dropdown{border-top:3px solid var(--sp-red);box-shadow:0 18px 40px rgba(20,22,25,.12)}
.sp-topinfo .elementor-icon-list-text{white-space:nowrap}

/* ---------- Typography helpers ---------- */
.sp-eyebrow .elementor-heading-title{display:inline-flex;align-items:center;gap:12px}
.sp-eyebrow .elementor-heading-title:before{content:"";width:26px;height:3px;background:currentColor;display:inline-block}
.sp-eyebrow.sp-center .elementor-heading-title:after{content:"";width:26px;height:3px;background:currentColor;display:inline-block}
.sp-site .elementor-heading-title .sp-hl{color:var(--sp-red)}
.sp-site .elementor-heading-title strong{color:var(--sp-red);font-weight:inherit}
.elementor-button{white-space:nowrap}
.e-con > .elementor-widget-button,.e-con-inner > .elementor-widget-button{flex-shrink:0}

/* ---------- Colour chip strip (brand stripe) ---------- */
.sp-chips{overflow:hidden}
.sp-chips > .e-con{min-height:8px}

/* ---------- Home hero ---------- */
.sp-hero{position:relative;overflow:hidden}
.sp-hero:before{content:"";position:absolute;right:-8%;top:-30%;width:55%;height:160%;background:linear-gradient(135deg,rgba(227,38,43,.07),rgba(227,38,43,0));transform:skewX(-18deg);pointer-events:none}
.sp-hero-media{position:relative}
.sp-hero-media:before{content:"";position:absolute;left:-18px;bottom:-18px;width:55%;height:55%;
  background:linear-gradient(90deg,#2F6FA8 0 20%,#E3262B 20% 40%,#A0602A 40% 60%,#E0A419 60% 80%,#4A5561 80% 100%);border-radius:4px;z-index:0}
.sp-hero-media > *{position:relative;z-index:1}
.sp-float-card{position:absolute!important;left:-28px;top:40px;width:auto!important;max-width:320px;z-index:3!important}
@media (max-width:1024px){.sp-float-card{left:12px;top:auto;bottom:24px}}
.sp-hstat .elementor-heading-title{font-variant-numeric:tabular-nums}

/* ---------- Image accent ---------- */
.sp-img-accent{position:relative}
.sp-img-accent:after{content:"";position:absolute;right:-14px;bottom:-14px;width:40%;height:40%;border-right:5px solid var(--sp-red);border-bottom:5px solid var(--sp-red);border-radius:0 0 4px 0;pointer-events:none}
@media (max-width:767px){.sp-img-accent:after{right:-8px;bottom:-8px}}

/* ---------- Sector tiles ---------- */
.sp-tile{overflow:hidden;isolation:isolate;transition:transform .45s var(--sp-ease),box-shadow .45s var(--sp-ease)}
.sp-tile:hover{transform:translateY(-6px);box-shadow:0 24px 50px rgba(20,22,25,.22)}
.sp-tile .sp-tile-text{max-height:0;opacity:0;overflow:hidden;transition:max-height .5s var(--sp-ease),opacity .4s}
.sp-tile:hover .sp-tile-text{max-height:160px;opacity:1}
.sp-tile .sp-tile-more{opacity:.85}
@media (max-width:1024px){.sp-tile .sp-tile-text{max-height:none;opacity:1}}

/* ---------- Steps / cards ---------- */
.sp-step,.sp-titem,.sp-brand,.sp-ccard{transition:transform .35s var(--sp-ease),border-color .3s,box-shadow .35s var(--sp-ease)}
.sp-titem:hover,.sp-brand:hover,.sp-ccard:hover{transform:translateY(-4px);border-color:var(--sp-red)!important;box-shadow:0 16px 36px rgba(20,22,25,.08)}
.sp-step:hover{transform:translateY(-4px);border-color:rgba(227,38,43,.6)!important}
.sp-brand .elementor-heading-title{letter-spacing:-.02em}
.sp-brand:hover .elementor-heading-title{color:var(--sp-red)!important}
.sp-note{border-left:3px solid var(--sp-red);padding-left:16px}
.sp-dark .sp-note{color:#AEB4BC}

/* ---------- Product cards (Loop Grid) ---------- */
.sp-pcard{position:relative;overflow:hidden;height:100%;transition:transform .4s var(--sp-ease),box-shadow .4s var(--sp-ease),border-color .3s}
.sp-pcard:before{content:"";position:absolute;left:0;right:0;top:0;height:4px;background:var(--sp-cat);z-index:2}
.sp-pcard:hover{transform:translateY(-5px);box-shadow:0 20px 44px rgba(20,22,25,.12);border-color:transparent!important}
.sp-pcard .sp-pcard-media img{width:100%;transition:transform .7s var(--sp-ease)}
.sp-pcard:hover .sp-pcard-media img{transform:scale(1.06)}
.sp-pcard .sp-pcard-media{overflow:hidden}
.sp-pcard .sp-pcard-cat .elementor-heading-title{color:var(--sp-cat)!important}
.e-loop-item{height:100%}
.sp-loop .e-loop-item > .e-con{height:100%}
.sp-filter .e-filter{flex-wrap:wrap;justify-content:center}
.sp-filter .e-filter-item{border:1px solid var(--sp-line)!important;border-radius:4px!important;background:#fff;color:var(--sp-ink);font-family:Archivo,sans-serif;font-weight:700;padding:11px 18px!important;transition:all .25s}
.sp-filter .e-filter-item[aria-pressed="true"],.sp-filter .e-filter-item:hover{background:var(--sp-red)!important;border-color:var(--sp-red)!important;color:#fff!important}

/* ---------- Single product ---------- */
.sp-keypoints ul{margin:0;padding:0;list-style:none}
.sp-keypoints li{position:relative;padding:6px 0 6px 28px}
.sp-keypoints li:before{content:"";position:absolute;left:0;top:13px;width:14px;height:8px;border-left:3px solid var(--sp-red);border-bottom:3px solid var(--sp-red);transform:rotate(-45deg)}
.sp-terms a{color:inherit}

/* ---------- Forms ---------- */
.sp-form .elementor-field-group .elementor-field{border:1px solid var(--sp-line)!important;border-radius:4px!important;padding:13px 14px!important;min-height:48px}
.sp-form .elementor-field-group .elementor-field:focus{border-color:var(--sp-red)!important;box-shadow:0 0 0 3px rgba(227,38,43,.12);outline:0}
.sp-form .elementor-select-wrapper:before{color:var(--sp-red)}

/* ---------- Map ---------- */
.sp-map iframe{display:block;border-radius:4px}

/* ---------- Footer ---------- */
.sp-footer a:hover{color:#fff!important}

/* ---------- Floating WhatsApp ---------- */
.sp-wa{position:fixed;right:22px;bottom:22px;z-index:998;width:58px;height:58px;border-radius:50%;background:#25D366;display:flex;align-items:center;justify-content:center;box-shadow:0 12px 30px rgba(0,0,0,.25);transition:transform .3s}
.sp-wa:hover{transform:scale(1.08)}
.sp-wa svg{width:30px;height:30px;fill:#fff}

/* ---------- Reveal ---------- */
.sp-reveal{opacity:0;transform:translateY(26px);transition:opacity .8s var(--sp-ease),transform .8s var(--sp-ease)}
.sp-reveal.is-in{opacity:1;transform:none}
.elementor-editor-active .sp-reveal{opacity:1;transform:none}
.sp-formcard{border-top:5px solid var(--sp-red)!important}
.sp-hero-media:before{left:0;right:0;bottom:-14px;width:auto;height:14px;border-radius:0 0 4px 4px}
.sp-tds:has(a:not([href])){display:none}
.sp-pcard-media img{width:100%!important;height:220px!important;object-fit:cover!important;display:block}
.sp-pcard-media .elementor-widget-theme-post-featured-image,.sp-pcard-media .elementor-widget-container{width:100%}
.sp-img-accent .elementor-widget-theme-post-featured-image img{width:100%!important;object-fit:cover}
.sp-pcard-media a,.sp-img-accent .elementor-widget-theme-post-featured-image a{display:block;width:100%}
