/* ============================================================
   Straight Freight System — Design System
   Child theme of Hello Elementor · Capote Business Solutions
   Class names match the Elementor page templates (native widgets).
   ============================================================ */
:root{
  --sfs-red:#E01E26; --sfs-red-d:#B4161C; --sfs-ink:#15181C; --sfs-ink-2:#1E2329;
  --sfs-gray:#5A636E; --sfs-line:#E6E9ED; --sfs-bg:#F5F7F9; --sfs-white:#fff;
  --sfs-shadow:0 18px 50px -18px rgba(21,24,28,.28); --sfs-radius:16px;
}
/* ---- base / typography ---- */
body{font-family:'Inter',system-ui,sans-serif;color:var(--sfs-ink);line-height:1.6}
h1,h2,h3,h4,.sfs-cond{font-family:'Barlow Condensed','Inter',sans-serif!important;text-transform:uppercase;letter-spacing:.01em;line-height:1.04;font-weight:700}
.sfs-page a{text-decoration:none}
.sfs-wrap,.elementor-section.elementor-section-boxed>.elementor-container{max-width:1200px}
.sfs-eyebrow .elementor-widget-container,.sfs-eyebrow{display:inline-flex;align-items:center;gap:8px;font-weight:700;font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;color:var(--sfs-red)}
.sfs-eyebrow::before{content:"";width:26px;height:2px;background:var(--sfs-red);display:inline-block}
.sfs-eyebrow.center{justify-content:center}.sfs-eyebrow.center::before{display:none}

/* ---- buttons (Elementor button widget carries .sfs-btn-*) ---- */
.sfs-btn-red .elementor-button{background:var(--sfs-red);color:#fff;border-radius:10px;font-weight:700;padding:15px 28px;transition:.2s}
.sfs-btn-red .elementor-button:hover{background:var(--sfs-red-d);transform:translateY(-2px);box-shadow:0 14px 30px -10px rgba(224,30,38,.6)}
.sfs-btn-dark .elementor-button{background:var(--sfs-ink);color:#fff;border-radius:10px;font-weight:700;padding:15px 28px;transition:.2s}
.sfs-btn-dark .elementor-button:hover{background:#000;transform:translateY(-2px)}
.sfs-btn-ghost .elementor-button{background:transparent;color:#fff;border:2px solid rgba(255,255,255,.45);border-radius:10px;font-weight:700;padding:13px 26px;transition:.2s}
.sfs-btn-ghost .elementor-button:hover{background:#fff;color:var(--sfs-ink)}

/* ---- HERO ---- */
.sfs-hero{position:relative;min-height:88vh;display:flex;align-items:center;color:#fff;overflow:hidden}
.sfs-hero .sfs-hero-video video,.sfs-hero .elementor-background-video-container video{object-fit:cover!important}
/* Fallback overlay via CSS (in case the Elementor background overlay is absent).
   Elementor's baked overlay (#0E1116 @ .62) normally provides the darkening. */
.sfs-hero:not(.elementor-element-editable) .elementor-background-overlay{opacity:.62!important}
.sfs-hero>.elementor-container{position:relative;z-index:2}
.sfs-hero h1{font-size:clamp(2.6rem,6vw,5rem);color:#fff}
.sfs-hero h1 .sfs-r,.sfs-hero .sfs-r{color:var(--sfs-red)}
.sfs-hero .sfs-lead{font-size:1.22rem;color:#d7dde3;max-width:52ch}
.sfs-hero .sfs-eyebrow{color:#fff}
.sfs-trust .elementor-icon-list-item{color:#e7ebee;font-weight:600}
.sfs-trust .elementor-icon-list-icon i{color:var(--sfs-red)}

/* ---- STATS ---- */
.sfs-stats{background:var(--sfs-red);color:#fff}
.sfs-stats .sfs-stat{text-align:center;padding:34px 16px;border-right:1px solid rgba(255,255,255,.18)}
.sfs-stats .sfs-stat:last-child{border-right:0}
.sfs-stats .sfs-stat .sfs-n,.sfs-stats h2,.sfs-stats h3{font-family:'Barlow Condensed';font-size:3rem;font-weight:800;line-height:1;color:#fff;margin:0}
.sfs-stats .sfs-l{font-size:.85rem;letter-spacing:.1em;text-transform:uppercase;opacity:.9;margin-top:6px;font-weight:600}

/* ---- SECTION HELPERS ---- */
.sfs-bg{background:var(--sfs-bg)}
.sfs-sec-head{max-width:720px}
.sfs-sec-head.center{margin:0 auto;text-align:center}
.sfs-sec-head h2{font-size:clamp(2rem,4vw,3.1rem)}
.sfs-sec-head p{color:var(--sfs-gray);font-size:1.08rem}

/* ---- SERVICE CARDS (icon-box widget) ---- */
.sfs-svc .elementor-widget-container{background:#fff;border:1px solid var(--sfs-line);border-radius:var(--sfs-radius);padding:34px 30px;transition:.25s;height:100%;position:relative;overflow:hidden}
.sfs-svc .elementor-widget-container::before{content:"";position:absolute;left:0;top:0;height:4px;width:0;background:var(--sfs-red);transition:.3s}
.sfs-svc:hover .elementor-widget-container{transform:translateY(-6px);box-shadow:var(--sfs-shadow);border-color:transparent}
.sfs-svc:hover .elementor-widget-container::before{width:100%}
.sfs-svc .elementor-icon-box-wrapper{display:flex!important;flex-direction:column;align-items:flex-start;text-align:left;gap:0!important}
.sfs-svc .elementor-icon-box-icon{width:60px;height:60px;border-radius:14px;background:linear-gradient(135deg,#fff0f0,#ffe3e4);display:grid!important;place-items:center;margin:0 0 16px 0!important}
.sfs-svc .elementor-icon-box-icon i{color:var(--sfs-red);font-size:1.45rem}
.sfs-svc .elementor-icon-box-title{font-size:1.35rem;margin:0 0 8px 0!important;line-height:1.15}
.sfs-svc .elementor-icon-box-description{color:var(--sfs-gray);margin:0!important}
/* icon-box internal wrapper (Elementor puts icon + content); keep them tight & top-aligned */
.sfs-svc .elementor-icon-box-content{text-align:left}

/* ---- ABOUT / IMAGE BADGE ---- */
.sfs-img-round img{border-radius:20px;box-shadow:var(--sfs-shadow)}
.sfs-values .elementor-icon-list-icon i{color:var(--sfs-red)}
.sfs-values .elementor-icon-list-text{font-weight:600}

/* ---- HAZMAT BAND ---- */
.sfs-hazmat{position:relative;color:#fff;overflow:hidden;background:var(--sfs-ink)}
.sfs-hazmat .sfs-hazmat-bg img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.22}
.sfs-hazmat>.elementor-container{position:relative;z-index:2}
.sfs-hazmat h2,.sfs-hazmat .elementor-heading-title{color:#fff}
.sfs-hazmat p{color:#c9d0d7}
.sfs-diamond .elementor-icon{width:90px;height:90px;background:var(--sfs-red);transform:rotate(45deg);border-radius:10px;display:grid;place-items:center}
.sfs-diamond .elementor-icon i{transform:rotate(-45deg);color:#fff;font-size:2rem}

/* ---- DRIVERS PERKS ---- */
.sfs-perks .elementor-icon-list-icon{width:30px;height:30px;border-radius:8px;background:#fff0f0;display:grid;place-items:center}
.sfs-perks .elementor-icon-list-icon i{color:var(--sfs-red)}
.sfs-perks .elementor-icon-list-text{font-weight:600}

/* ---- TESTIMONIALS ---- */
.sfs-quote .elementor-widget-container{background:#fff;border:1px solid var(--sfs-line);border-radius:var(--sfs-radius);padding:32px 28px;height:100%}
.sfs-quote .elementor-star-rating{color:#F5A623}

/* ---- CTA BAND ---- */
.sfs-cta{background:linear-gradient(120deg,var(--sfs-red),var(--sfs-red-d));border-radius:24px;color:#fff;box-shadow:var(--sfs-shadow)}
.sfs-cta h2,.sfs-cta .elementor-heading-title,.sfs-cta .sfs-eyebrow{color:#fff}
.sfs-cta .sfs-eyebrow::before{background:#fff}

/* ============================================================
   HEADER · TOPBAR · FOOTER · FLOATING CTA  (child theme PHP)
   ============================================================ */
.sfs-topbar{background:var(--sfs-ink);color:#cfd6de;font-size:.82rem}
.sfs-topbar .sfs-wrap{display:flex;justify-content:space-between;align-items:center;height:42px;max-width:1200px;margin:0 auto;padding:0 24px}
.sfs-topbar a{color:#cfd6de;transition:.2s}.sfs-topbar a:hover{color:#fff}
.sfs-topbar .sfs-hazmat-note{color:#fff;font-weight:600}.sfs-topbar .sfs-hazmat-note i{color:var(--sfs-red);margin-right:6px}
.sfs-topbar .left{display:flex;gap:22px;align-items:center}
.sfs-topbar .right{display:flex;gap:16px;align-items:center}
.sfs-topbar .sfs-portal-link{background:var(--sfs-red);color:#fff!important;padding:4px 13px;border-radius:20px;font-weight:600}
.sfs-topbar .sfs-portal-link:hover{background:var(--sfs-red-d);color:#fff!important}
.sfs-topbar .sfs-portal-link .sfs-svg-icon{color:#fff;margin-right:5px}
.sfs-topbar .socials a{width:26px;height:26px;display:inline-grid;place-items:center;border-radius:50%;background:rgba(255,255,255,.08)}
.sfs-topbar .socials a:hover{background:var(--sfs-red)}
@media(max-width:820px){.sfs-topbar .sfs-loc{display:none}}

.sfs-header{position:sticky;top:0;z-index:60;background:rgba(255,255,255,.94);backdrop-filter:blur(10px);border-bottom:1px solid var(--sfs-line)}
.sfs-header .sfs-wrap{display:flex;align-items:center;justify-content:space-between;height:78px;max-width:1200px;margin:0 auto;padding:0 24px}
.sfs-logo img{max-height:54px;width:auto;display:block}
.sfs-nav > ul{display:flex;gap:30px;list-style:none;align-items:center;margin:0;padding:0}
.sfs-nav li{position:relative}
.sfs-nav a{font-weight:600;font-size:.93rem;position:relative;padding:6px 0;color:var(--sfs-ink-2)}
.sfs-nav > ul > li > a::after{content:"";position:absolute;left:0;bottom:0;width:0;height:2px;background:var(--sfs-red);transition:.25s}
.sfs-nav a:hover{color:var(--sfs-red)}.sfs-nav > ul > li > a:hover::after{width:100%}
/* caret for parents with a submenu */
.sfs-nav .menu-item-has-children > a{padding-right:15px}
.sfs-nav .menu-item-has-children > a::before{content:"";position:absolute;right:0;top:47%;width:6px;height:6px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateY(-50%) rotate(45deg);opacity:.55}
/* dropdown submenu */
.sfs-nav .sub-menu{position:absolute;top:100%;left:-14px;min-width:248px;background:#fff;border:1px solid #eef0f2;border-radius:12px;box-shadow:0 18px 44px rgba(16,17,22,.15);padding:8px;margin:0;list-style:none;opacity:0;visibility:hidden;transform:translateY(8px);transition:.18s ease;z-index:70}
.sfs-nav li:hover > .sub-menu,.sfs-nav li:focus-within > .sub-menu{opacity:1;visibility:visible;transform:translateY(2px)}
.sfs-nav .sub-menu::before{content:"";position:absolute;top:-10px;left:0;right:0;height:10px}/* hover bridge */
.sfs-nav .sub-menu li{width:100%}
.sfs-nav .sub-menu a{display:block;padding:9px 12px;border-radius:8px;font-size:.9rem;white-space:nowrap;color:var(--sfs-ink-2)}
.sfs-nav .sub-menu a::after{display:none}
.sfs-nav .sub-menu a:hover{background:#f6f7f9;color:var(--sfs-red)}
.sfs-head-cta{display:flex;align-items:center;gap:18px}
.sfs-head-cta .ph{font-family:'Barlow Condensed';font-weight:700;font-size:1.15rem;display:flex;align-items:center;gap:8px;color:var(--sfs-ink);text-decoration:none}
.sfs-head-cta .ph:hover{color:var(--sfs-red)}
.sfs-head-cta .ph i{color:var(--sfs-red)}
/* auto-linkified phone/email in content */
.sfs-auto-link{color:inherit;text-decoration:none;font-weight:600}
.sfs-auto-link:hover{color:var(--sfs-red);text-decoration:underline}
.sfs-head-cta .btn{background:var(--sfs-red);color:#fff;padding:13px 24px;border-radius:10px;font-weight:700;transition:.2s}
.sfs-head-cta .btn:hover{background:var(--sfs-red-d)}
.sfs-burger{display:none;font-size:1.5rem;background:none;border:0;cursor:pointer;color:var(--sfs-ink)}
.sfs-mobile{display:none;position:fixed;inset:0;z-index:70;background:var(--sfs-ink);color:#fff;flex-direction:column;padding:80px 30px;gap:22px}
.sfs-mobile.open{display:flex}
.sfs-mobile a{color:#fff;font-size:1.4rem;font-family:'Barlow Condensed';text-transform:uppercase}
.sfs-mobile .close{position:absolute;top:24px;right:28px;font-size:2rem;background:none;border:0;color:#fff}
@media(max-width:1080px){.sfs-nav,.sfs-head-cta .ph{display:none}.sfs-burger{display:block}}

.sfs-footer{background:var(--sfs-ink);color:#aeb6bf;padding:70px 0 0}
.sfs-footer .sfs-wrap{max-width:1200px;margin:0 auto;padding:0 24px}
.sfs-footer .grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:40px;padding-bottom:50px}
.sfs-footer h4{color:#fff;font-size:1.05rem;margin-bottom:20px;letter-spacing:.08em}
.sfs-footer ul{list-style:none;display:grid;gap:11px;margin:0;padding:0}
.sfs-footer a:hover{color:var(--sfs-red)}
.sfs-footer .logo img{max-height:64px;margin-bottom:16px;background:#fff;padding:10px 14px;border-radius:12px}
.sfs-footer p{font-size:.92rem;margin:14px 0}
.sfs-footer .contact li{display:flex;gap:12px;align-items:flex-start;font-size:.92rem}
.sfs-footer .contact i{color:var(--sfs-red);margin-top:4px}
.sfs-footer .socials{display:flex;gap:10px}
.sfs-footer .socials a{width:34px;height:34px;background:rgba(255,255,255,.08);border-radius:50%;display:grid;place-items:center;color:#fff}
.sfs-footer .socials a:hover{background:var(--sfs-red)}
.sfs-foot-bottom{border-top:1px solid rgba(255,255,255,.1);padding:22px 0;font-size:.85rem;display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px}
.sfs-foot-bottom a{color:#fff;font-weight:600}.sfs-foot-bottom a:hover{color:var(--sfs-red)}
@media(max-width:900px){.sfs-footer .grid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.sfs-footer .grid{grid-template-columns:1fr}}

/* ---- FLOATING CALL CTA ---- */
.sfs-fab{position:fixed;right:22px;bottom:22px;z-index:90}
.sfs-fab a{display:flex;align-items:center;gap:12px;background:var(--sfs-red);color:#fff;padding:14px 22px;border-radius:50px;font-weight:700;box-shadow:0 14px 34px -8px rgba(224,30,38,.7);transition:.25s;position:relative}
.sfs-fab a:hover{background:var(--sfs-red-d);transform:translateY(-3px)}
.sfs-fab .ring{width:26px;height:26px;display:grid;place-items:center;animation:sfs-ring 1.4s infinite}
.sfs-fab a::before{content:"";position:absolute;inset:0;border-radius:50px;border:2px solid var(--sfs-red);animation:sfs-pulse 1.8s infinite;pointer-events:none}
@keyframes sfs-ring{0%,100%{transform:rotate(0)}10%,30%{transform:rotate(-14deg)}20%,40%{transform:rotate(14deg)}}
@keyframes sfs-pulse{0%{transform:scale(1);opacity:.7}100%{transform:scale(1.25);opacity:0}}
@media(max-width:560px){.sfs-fab a span.t{display:none}.sfs-fab a{padding:16px;border-radius:50%}}

/* ---- Contact Form 7 ---- */
.sfs-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media(max-width:560px){.sfs-form-grid{grid-template-columns:1fr}}
.sfs-contact-form .wpcf7 input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]),.sfs-contact-form .wpcf7 textarea,.sfs-contact-form .wpcf7 select{
  width:100%;padding:14px 16px;border:1px solid var(--sfs-line);border-radius:10px;font-family:inherit;font-size:.97rem;background:#fff;margin:0}
.sfs-contact-form .wpcf7 textarea{min-height:130px}
.sfs-contact-form .wpcf7 input:not([type=checkbox]):not([type=radio]):not([type=submit]):focus,.sfs-contact-form .wpcf7 textarea:focus,.sfs-contact-form .wpcf7 select:focus{outline:none;border-color:var(--sfs-red);box-shadow:0 0 0 3px rgba(224,30,38,.12)}
.sfs-contact-form .wpcf7 p{margin:0 0 14px}
.sfs-contact-form input[type="submit"],.sfs-contact-form .wpcf7-submit,.sfs-contact-form .wpcf7 input[type="submit"]{
  -webkit-appearance:none!important;appearance:none!important;
  background:var(--sfs-red)!important;background-color:var(--sfs-red)!important;background-image:none!important;
  color:#fff!important;font-weight:700!important;border:0!important;
  cursor:pointer;padding:15px 34px!important;width:auto!important;min-width:210px;border-radius:10px!important;
  font-family:inherit;font-size:1rem!important;transition:.2s}
.sfs-contact-form input[type="submit"]:hover,.sfs-contact-form .wpcf7-submit:hover{background:var(--sfs-red-d)!important;transform:translateY(-2px)}
/* checkbox / radio rows */
.sfs-contact-form .wpcf7-checkbox,.sfs-contact-form .wpcf7-radio{display:flex;flex-wrap:wrap;gap:10px 22px;margin:6px 0}
.sfs-contact-form .wpcf7-list-item{margin:0!important}
.sfs-contact-form .wpcf7-list-item label{display:inline-flex;align-items:center;gap:8px;cursor:pointer;color:var(--sfs-ink-2)}
.sfs-contact-form .wpcf7-list-item-label{color:var(--sfs-ink-2)}
.sfs-contact-form input[type="checkbox"],.sfs-contact-form input[type="radio"]{
  -webkit-appearance:auto;appearance:auto;width:18px!important;height:18px!important;min-width:18px;
  padding:0!important;margin:0!important;flex:0 0 auto;accent-color:var(--sfs-red);vertical-align:middle}
.sfs-contact-form .wpcf7 input[type="file"]{width:100%;padding:10px;border:1px dashed var(--sfs-line);border-radius:10px;background:#fff}
.sfs-map iframe{border-radius:0;filter:grayscale(.2)}

/* ============================================================
   LAYOUT GRIDS (garantizan el diseño sobre contenedores Elementor)
   ============================================================ */
/* 3-column grid (reliable — independent of Elementor's flex-direction) */
.sfs-svc-grid{display:grid!important;grid-template-columns:repeat(3,1fr);gap:24px}
/* grids with exactly 4 items → 4 across (why-us, process) */
.sfs-svc-grid:has(> :nth-child(4):last-child){grid-template-columns:repeat(4,1fr)}
@media(max-width:960px){.sfs-svc-grid,.sfs-svc-grid:has(> :nth-child(4):last-child){grid-template-columns:repeat(2,1fr)}}
.sfs-tst-grid{display:grid!important;grid-template-columns:repeat(3,1fr);gap:24px}
.sfs-stats-grid{display:grid!important;grid-template-columns:repeat(4,1fr);gap:0}
.sfs-about-grid{display:grid!important;grid-template-columns:1.05fr 1fr;gap:60px;align-items:center}
.sfs-drivers-grid{display:grid!important;grid-template-columns:1fr 1.05fr;gap:60px;align-items:center}
.sfs-actions{display:flex!important;flex-direction:row!important;gap:16px;flex-wrap:wrap;align-items:stretch}
.sfs-hazmat-left{display:flex!important;flex-direction:row!important;gap:26px;align-items:center}
.sfs-cta-inner{display:grid!important;grid-template-columns:1.5fr auto;gap:40px;align-items:center;padding:46px 52px}
.sfs-faq .elementor-accordion-item{margin-bottom:10px}
.sfs-faq-wrap{margin-top:6px}
.sfs-cta-inner .sfs-btn-dark .elementor-button{white-space:nowrap}
.sfs-trust ul{display:flex;flex-wrap:wrap;gap:14px 28px;margin:0;padding:0}
.sfs-trust .elementor-icon-list-item{margin:0!important}

/* ---- Buttons: equal size + centered aligned text ---- */
.sfs-btn-red .elementor-button,.sfs-btn-dark .elementor-button,.sfs-btn-ghost .elementor-button{
  display:inline-flex;align-items:center;justify-content:center;text-align:center;line-height:1;min-height:54px;gap:8px}
.sfs-btn-ghost .elementor-button{padding:15px 28px}

/* ---- Inner page header ---- */
.sfs-hero--inner{min-height:52vh!important}
.sfs-hero--inner h1{margin-top:6px}

/* ---- Legal pages ---- */
.sfs-legal{max-width:820px;margin:0 auto}
.sfs-legal h3{font-size:1.35rem;margin:26px 0 6px;color:var(--sfs-ink)}
.sfs-legal p{color:var(--sfs-gray);margin-bottom:6px}
.sfs-legal .sfs-lead{margin-bottom:8px}

/* ============================================================
   RESPONSIVE / MOBILE
   ============================================================ */
@media(max-width:1024px){
  .sfs-svc-grid,.sfs-tst-grid{grid-template-columns:1fr 1fr}
  .sfs-about-grid,.sfs-drivers-grid{grid-template-columns:1fr;gap:36px}
  .sfs-drivers-grid>*:last-child{order:-1}
  .sfs-cta-inner{grid-template-columns:1fr;padding:40px;text-align:center;gap:24px}
}
@media(max-width:720px){
  .sfs-stats-grid{grid-template-columns:1fr 1fr}
  .sfs-hero{min-height:78vh}
  .sfs-hero h1{font-size:clamp(2.2rem,9vw,3.2rem)}
}
@media(max-width:600px){
  .sfs-svc-grid,.sfs-tst-grid{grid-template-columns:1fr}
  .sfs-hazmat-left{flex-direction:column!important;text-align:center;gap:18px}
  .sfs-actions{flex-direction:column!important;align-items:stretch}
  .sfs-actions .elementor-widget-button{width:100%}
  .sfs-actions .elementor-button{width:100%}
  .sfs-topbar .right a{display:none}
}

/* ---- SCROLL TO TOP ---- */
.sfs-top{position:fixed;left:22px;bottom:22px;z-index:88;width:50px;height:50px;border-radius:50%;
  background:var(--sfs-red);color:#fff;display:grid;place-items:center;cursor:pointer;
  border:0;opacity:0;visibility:hidden;transform:translateY(12px);transition:.25s;box-shadow:0 12px 26px -8px rgba(224,30,38,.6)}
.sfs-top .sfs-svg-icon{color:#fff}
.sfs-top.show{opacity:1;visibility:visible;transform:none}
.sfs-top:hover{background:var(--sfs-red-d);transform:translateY(-3px)}
/* align scroll-top with the floating call button (same bottom, opposite side) */
@media(max-width:560px){.sfs-top{left:16px;bottom:22px;width:52px;height:52px}}

/* ============================================================
   HARDENING — gana a la paleta global de Elementor (Hello/Eagle)
   ============================================================ */
/* Hero height: fill without excess air below (main hero only, not inner page headers) */
.sfs-hero:not(.sfs-hero--inner){min-height:80vh!important;justify-content:center!important}
.sfs-hero:not(.sfs-hero--inner) > .e-con,
.sfs-hero:not(.sfs-hero--inner) .e-con-inner{justify-content:center!important;height:auto!important}
.sfs-hero .elementor-heading-title{color:#fff!important}
.sfs-hero .elementor-widget-text-editor,.sfs-hero .sfs-lead{color:#e4e8ec!important}
.sfs-hero .sfs-trust .elementor-icon-list-text{color:#fff!important}
.sfs-hero .sfs-trust .elementor-icon-list-icon i{color:var(--sfs-red)!important}
.sfs-stats .elementor-heading-title,.sfs-stats .elementor-widget-text-editor{color:#fff!important}
.sfs-svc .elementor-icon-box-title{color:var(--sfs-ink)!important}
.sfs-svc .elementor-icon-box-description{color:var(--sfs-gray)!important}
.sfs-svc .elementor-icon-box-icon i,.sfs-svc .elementor-icon-box-icon svg{color:var(--sfs-red)!important;fill:var(--sfs-red)!important}
.sfs-sec-head .elementor-heading-title{color:var(--sfs-ink)!important}
.sfs-hazmat .elementor-heading-title{color:#fff!important}
.sfs-hazmat .elementor-widget-text-editor{color:#c9d0d7!important}
.sfs-hazmat .sfs-diamond .elementor-icon i{color:#fff!important}
.sfs-cta .elementor-heading-title,.sfs-cta .elementor-widget-text-editor{color:#fff!important}
.sfs-values .elementor-icon-list-icon i,.sfs-perks .elementor-icon-list-icon i{color:var(--sfs-red)!important}
/* footer links */
.sfs-footer a{color:#aeb6bf}
.sfs-footer a:hover{color:var(--sfs-red)}
.sfs-footer .sfs-foot-bottom a{color:#fff}

/* ---- About block without image (centered, constrained) ---- */
.sfs-about-solo{max-width:840px;margin:0 auto}

/* ---- Service detail icon ---- */
.sfs-svc-ic .elementor-icon{width:64px;height:64px;border-radius:14px;background:linear-gradient(135deg,#fff0f0,#ffe3e4);display:grid;place-items:center;margin-bottom:18px}
.sfs-svc-ic .elementor-icon i{color:var(--sfs-red)!important;font-size:1.6rem}

/* ---- Client logos marquee [sfs_clients] ---- */
.sfs-clients-marquee{overflow:hidden;width:100%;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.sfs-clients-track{display:flex;align-items:center;gap:64px;width:max-content;animation:sfs-marquee 34s linear infinite}
.sfs-clients-marquee:hover .sfs-clients-track{animation-play-state:paused}
.sfs-client{flex:0 0 auto;display:grid;place-items:center;height:56px}
.sfs-client img{max-height:44px;width:auto;object-fit:contain;filter:grayscale(1);opacity:.6;transition:.3s}
.sfs-client img:hover{filter:none;opacity:1}
@keyframes sfs-marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media(max-width:600px){.sfs-clients-track{gap:40px}.sfs-client img{max-height:34px}}

/* ---- Inline SVG icons (sfs_icon) ---- */
.sfs-svg-icon{vertical-align:-0.18em;flex:0 0 auto}
.sfs-hazmat-note .sfs-svg-icon{color:var(--sfs-red);margin-right:6px}
.sfs-topbar .sfs-loc .sfs-svg-icon{color:var(--sfs-red);margin-right:4px}
.sfs-topbar .right a .sfs-svg-icon{margin-right:5px}
.sfs-topbar .socials .sfs-svg-icon{color:#fff}
.sfs-head-cta .ph .sfs-svg-icon{color:var(--sfs-red)}
.sfs-footer .contact .sfs-svg-icon{color:var(--sfs-red);margin-top:3px}
.sfs-footer .socials .sfs-svg-icon{color:#fff}

/* ---- FAQ accordion ---- */
.sfs-faq-wrap{max-width:840px;margin:0 auto}
.sfs-faq .elementor-accordion-item{border:1px solid var(--sfs-line)!important;border-radius:12px;margin-bottom:12px;overflow:hidden;background:#fff}
.sfs-faq .elementor-tab-title,.sfs-faq .elementor-tab-title a{padding:18px 22px!important;border:0!important;font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:1.18rem;cursor:pointer;color:var(--sfs-ink)!important}
.sfs-faq .elementor-tab-title a{padding:0!important}
.sfs-faq .elementor-tab-title.elementor-active,.sfs-faq .elementor-tab-title.elementor-active a{color:var(--sfs-red)!important}
.sfs-faq .elementor-tab-content{padding:0 22px 18px!important;border:0!important;color:var(--sfs-gray)!important}
.sfs-faq .elementor-tab-content p{color:var(--sfs-gray)!important}
.sfs-faq .elementor-accordion-icon,.sfs-faq .elementor-accordion-icon i,
.sfs-faq .elementor-accordion-icon svg,.sfs-faq .elementor-accordion-icon path{
  color:var(--sfs-red)!important;fill:var(--sfs-red)!important}

/* ============================================================
   MOBILE CAROUSELS — swipeable card rows (scroll-snap, no JS)
   ============================================================ */
@media(max-width:600px){
  .sfs-svc-grid,.sfs-tst-grid{
    display:flex!important;overflow-x:auto;scroll-snap-type:x mandatory;
    gap:16px;padding:4px 24px 16px;margin:0 -24px;
    -webkit-overflow-scrolling:touch;scrollbar-width:none}
  .sfs-svc-grid::-webkit-scrollbar,.sfs-tst-grid::-webkit-scrollbar{display:none}
  .sfs-svc-grid>*,.sfs-tst-grid>*{scroll-snap-align:center;flex:0 0 84%!important}
}
.sfs-swipe-hint{display:none;text-align:center;color:var(--sfs-gray);font-size:.8rem;letter-spacing:.1em;text-transform:uppercase;margin-top:6px}
@media(max-width:600px){.sfs-swipe-hint{display:block}}

/* ============================================================
   TRACK A SHIPMENT WIDGET  [sfs_track]
   ============================================================ */
.sfs-track{background:#fff;border-radius:16px;padding:20px 22px;box-shadow:var(--sfs-shadow);max-width:640px;border-top:4px solid var(--sfs-red)}
.sfs-track-row{display:flex;gap:10px;flex-wrap:wrap}
.sfs-track-carrier,.sfs-track-pro{padding:13px 14px;border:1px solid var(--sfs-line);border-radius:10px;font-family:inherit;font-size:.97rem;background:#fff;color:var(--sfs-ink)}
.sfs-track-carrier{flex:0 0 auto;min-width:170px}
.sfs-track-pro{flex:1 1 180px;min-width:150px}
.sfs-track-carrier:focus,.sfs-track-pro:focus{outline:none;border-color:var(--sfs-red);box-shadow:0 0 0 3px rgba(224,30,38,.12)}
.sfs-track-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--sfs-red);color:#fff;border:0;border-radius:10px;padding:13px 24px;font-weight:700;cursor:pointer;transition:.2s;white-space:nowrap}
.sfs-track-btn:hover{background:var(--sfs-red-d)}
.sfs-track-btn .sfs-svg-icon{color:#fff}
.sfs-track-hint{margin:12px 0 0;font-size:.85rem;color:var(--sfs-gray)}
.sfs-track-hint a{color:var(--sfs-red);font-weight:600}
.sfs-track-hint.sfs-track-ok{color:var(--sfs-ink);font-weight:600}
.sfs-track-hint.sfs-track-ok strong{color:var(--sfs-red)}
.sfs-track-note{margin:12px 0 0;font-size:.85rem;line-height:1.5;padding:10px 12px;border-radius:10px}
.sfs-track-note[hidden]{display:none}
.sfs-track-note.sfs-track-warn{color:#8a5a00;background:#fff6e6;border:1px solid #f4d79a}
.sfs-track-note.sfs-track-ok{color:#0a6b2e;background:#eaf7ef;border:1px solid #b7e2c6}
.sfs-track-note.sfs-track-ok strong,.sfs-track-note.sfs-track-warn strong{color:inherit}
.sfs-hero .sfs-track{margin-top:26px}
@media(max-width:560px){.sfs-track-carrier,.sfs-track-pro,.sfs-track-btn{flex:1 1 100%;width:100%}}

/* ---- Carrier partners  [sfs_partners] ---- */
.sfs-partners-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;align-items:stretch}
.sfs-partner{background:#fff;border:1px solid var(--sfs-line);border-radius:14px;min-height:96px;display:grid;place-items:center;padding:18px;transition:.25s}
.sfs-partner:hover{box-shadow:var(--sfs-shadow);transform:translateY(-3px);border-color:transparent}
.sfs-partner img{max-height:52px;max-width:100%;object-fit:contain;filter:grayscale(1);opacity:.7;transition:.3s}
.sfs-partner:hover img{filter:none;opacity:1}
.sfs-partner--wordmark span{font-family:'Barlow Condensed',sans-serif;font-weight:800;font-size:1.35rem;letter-spacing:.02em;text-transform:uppercase;color:var(--sfs-ink);text-align:center;line-height:1.05}
@media(max-width:900px){.sfs-partners-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:600px){.sfs-partners-grid{grid-template-columns:repeat(2,1fr)}}

/* ---- reveal ---- */
.sfs-reveal{opacity:0;transform:translateY(28px);transition:.7s cubic-bezier(.2,.7,.2,1)}
.sfs-reveal.in{opacity:1;transform:none}
