/*
Theme Name: GalaSwift Platform
Theme URI: https://galaswift.co.ke
Author: GalaSwift Logistics
Description: Lightweight, responsive foundation theme for GalaSwift courier and marketplace platform.
Version: 1.1.0
Requires at least: 6.2
Tested up to: 6.8
Requires PHP: 8.0
Text Domain: galaswift-platform
*/
:root{--gsl-orange:#f47721;--gsl-green:#124b3b;--gsl-ink:#17211d;--gsl-muted:#66736d;--gsl-bg:#f7f8f6;--gsl-line:#e6ebe7;--gsl-white:#fff;--gsl-radius:18px;--gsl-shadow:0 18px 50px rgba(17,48,36,.09)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fff;color:var(--gsl-ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;font-size:16px;line-height:1.65}a{color:var(--gsl-green);text-decoration:none}a:hover{color:var(--gsl-orange)}img{max-width:100%;height:auto}.gsl-container{width:min(1160px,calc(100% - 40px));margin:auto}.gsl-site-header{background:#fff;border-bottom:1px solid var(--gsl-line);position:sticky;top:0;z-index:50}.gsl-header-inner{min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:28px}.gsl-brand{display:flex;align-items:center;gap:10px;font-weight:850;font-size:23px;letter-spacing:-.8px;color:var(--gsl-green)}.gsl-brand-mark{width:38px;height:38px;border-radius:12px;background:var(--gsl-orange);display:grid;place-items:center;color:white;font-weight:900;font-size:20px}.gsl-brand small{display:block;font-size:9px;letter-spacing:2px;line-height:1;color:var(--gsl-muted);font-weight:700}.gsl-nav{display:flex;align-items:center;gap:25px}.gsl-nav a{font-size:14px;font-weight:650;color:#34443c}.gsl-nav .gsl-nav-cta,.gsl-btn{display:inline-flex;align-items:center;justify-content:center;padding:12px 19px;border-radius:999px;background:var(--gsl-orange);color:#fff;font-weight:750;border:0;transition:.2s}.gsl-btn:hover,.gsl-nav .gsl-nav-cta:hover{background:#d95e0d;color:#fff;transform:translateY(-1px)}.gsl-btn-outline{background:#fff;color:var(--gsl-green);border:1px solid #cbd8d0}.gsl-btn-outline:hover{background:var(--gsl-green);color:#fff}.gsl-menu-toggle{display:none;background:none;border:0;font-size:26px;color:var(--gsl-green)}.gsl-hero{background:linear-gradient(115deg,#f7faf7 0%,#fff 62%);padding:84px 0 76px;overflow:hidden}.gsl-hero-grid{display:grid;grid-template-columns:.86fr 1.14fr;gap:42px;align-items:center}.gsl-home-map-slot{min-width:0}.gsl-eyebrow{display:inline-flex;gap:8px;align-items:center;color:var(--gsl-green);font-size:12px;font-weight:800;letter-spacing:1.5px;text-transform:uppercase}.gsl-eyebrow:before{content:"";width:24px;height:3px;background:var(--gsl-orange);border-radius:4px}.gsl-hero h1{font-size:clamp(42px,5.3vw,66px);line-height:1.05;letter-spacing:-2.8px;margin:18px 0;color:var(--gsl-green);max-width:680px}.gsl-hero h1 span{color:var(--gsl-orange)}.gsl-hero p{font-size:18px;color:var(--gsl-muted);max-width:560px;margin:0 0 28px}.gsl-actions{display:flex;gap:12px;flex-wrap:wrap}.gsl-hero-art{min-height:370px;border-radius:30px;background:linear-gradient(145deg,#124b3b,#0d392d);position:relative;display:grid;place-items:center;box-shadow:var(--gsl-shadow);overflow:hidden}.gsl-hero-art:before,.gsl-hero-art:after{content:"";position:absolute;border:1px solid rgba(255,255,255,.12);border-radius:50%;width:360px;height:360px}.gsl-hero-art:after{width:500px;height:500px}.gsl-route{position:relative;z-index:1;width:78%;height:230px;border:2px dashed rgba(255,255,255,.45);border-left-color:transparent;border-radius:48%;transform:rotate(-18deg);display:flex;align-items:center;justify-content:space-between;padding:0 5px}.gsl-pin{width:54px;height:54px;border-radius:18px;background:var(--gsl-orange);display:grid;place-items:center;color:#fff;font-size:24px;box-shadow:0 10px 25px #071f18}.gsl-pin.end{background:#fff;color:var(--gsl-green)}.gsl-route-label{position:absolute;z-index:2;bottom:42px;left:0;right:0;text-align:center;color:#dcece3;font-weight:700;font-size:13px;letter-spacing:1px}.gsl-trust{padding:22px 0;border-bottom:1px solid var(--gsl-line)}.gsl-trust-inner{display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap;color:#53645b;font-size:13px;font-weight:700}.gsl-trust span{display:flex;gap:9px;align-items:center}.gsl-dot{width:8px;height:8px;border-radius:50%;background:var(--gsl-orange)}.gsl-section{padding:82px 0}.gsl-section.soft{background:var(--gsl-bg)}.gsl-section-head{text-align:center;max-width:650px;margin:0 auto 42px}.gsl-section-head h2{font-size:clamp(30px,3.5vw,42px);letter-spacing:-1.5px;line-height:1.15;color:var(--gsl-green);margin:12px 0}.gsl-section-head p{color:var(--gsl-muted);margin:0}.gsl-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.gsl-card{background:#fff;border:1px solid var(--gsl-line);border-radius:var(--gsl-radius);padding:27px;box-shadow:0 5px 18px rgba(15,48,34,.035)}.gsl-card-icon{width:48px;height:48px;border-radius:15px;background:#fff0e5;color:var(--gsl-orange);display:grid;place-items:center;font-size:23px;margin-bottom:18px}.gsl-card h3{margin:0 0 8px;color:var(--gsl-green);font-size:20px}.gsl-card p{color:var(--gsl-muted);font-size:14px;margin:0 0 15px}.gsl-card a{font-size:14px;font-weight:800}.gsl-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;counter-reset:steps}.gsl-step{position:relative;padding-left:62px}.gsl-step:before{counter-increment:steps;content:"0" counter(steps);position:absolute;left:0;top:0;width:44px;height:44px;border-radius:14px;background:var(--gsl-green);color:#fff;display:grid;place-items:center;font-weight:800}.gsl-step h3{margin:0 0 7px;color:var(--gsl-green)}.gsl-step p{margin:0;color:var(--gsl-muted);font-size:14px}.gsl-shop-band{background:var(--gsl-green);color:#fff;border-radius:26px;padding:42px;display:flex;align-items:center;justify-content:space-between;gap:25px}.gsl-shop-band h2{font-size:32px;line-height:1.15;margin:0 0 9px;letter-spacing:-1px}.gsl-shop-band p{color:#d2e1d8;margin:0}.gsl-shop-band .gsl-btn{white-space:nowrap}.gsl-cta{padding:60px 0;background:#fff7f0}.gsl-cta-inner{display:flex;align-items:center;justify-content:space-between;gap:25px}.gsl-cta h2{margin:0;color:var(--gsl-green);font-size:32px;line-height:1.2}.gsl-cta p{margin:7px 0 0;color:var(--gsl-muted)}.gsl-site-footer{background:#102f26;color:#d5e3db;padding:54px 0 22px}.gsl-footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:40px}.gsl-site-footer .gsl-brand{color:#fff}.gsl-site-footer p,.gsl-site-footer a{color:#c3d2c9;font-size:14px}.gsl-site-footer h4{color:#fff;margin:0 0 12px}.gsl-footer-links{display:grid;gap:8px}.gsl-footer-bottom{border-top:1px solid rgba(255,255,255,.14);margin-top:35px;padding-top:18px;font-size:12px;color:#a9bcb1}.gsl-content{padding:55px 0;min-height:45vh}.gsl-content h1,.gsl-content h2{color:var(--gsl-green)}.gsl-content article{max-width:850px;margin:auto}.gsl-content .entry-title{font-size:40px;line-height:1.15}.screen-reader-text{position:absolute;left:-9999px}@media(max-width:850px){.gsl-hero-grid{grid-template-columns:1fr;gap:35px}.gsl-hero{padding:58px 0}.gsl-home-map-slot{width:100%}.gsl-cards{grid-template-columns:1fr 1fr}.gsl-steps{grid-template-columns:1fr;gap:24px}.gsl-footer-grid{grid-template-columns:1fr 1fr}.gsl-nav{display:none;position:absolute;top:78px;left:0;right:0;background:#fff;border-bottom:1px solid var(--gsl-line);padding:18px 22px 24px;align-items:stretch;flex-direction:column;gap:15px}.gsl-nav.is-open{display:flex}.gsl-menu-toggle{display:block}.gsl-header-inner{min-height:70px}.gsl-nav .gsl-nav-cta{text-align:center}}@media(max-width:560px){.gsl-container{width:min(100% - 30px,1160px)}.gsl-hero h1{letter-spacing:-1.7px}.gsl-hero p{font-size:16px}.gsl-cards{grid-template-columns:1fr}.gsl-shop-band,.gsl-cta-inner{align-items:flex-start;flex-direction:column;padding:28px}.gsl-footer-grid{grid-template-columns:1fr}.gsl-section{padding:60px 0}.gsl-trust-inner{display:grid;grid-template-columns:1fr 1fr}.gsl-home-map-slot{width:100%}}

/* 1.0.3 homepage role access actions */
.gsl-hero .gsl-actions,.gsl-cta .gsl-actions{display:flex;gap:12px;flex-wrap:wrap}
.gsl-cta .gsl-actions{justify-content:flex-end}
@media(max-width:560px){.gsl-cta .gsl-actions{width:100%;justify-content:flex-start}.gsl-cta .gsl-actions .gsl-btn{width:100%}}

/* 1.0.4 accessibility and responsive interaction improvements */
:focus-visible{outline:3px solid var(--gsl-orange)!important;outline-offset:3px} .gsl-skip-link{position:absolute;left:12px;top:-60px;z-index:1000;background:#fff;color:var(--gsl-green);padding:10px 14px;border:2px solid var(--gsl-orange);border-radius:8px;font-weight:800}.gsl-skip-link:focus{top:12px}.gsl-nav a{padding:7px 0}.gsl-menu-toggle:focus-visible{outline-offset:2px}@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* 1.0.5: clearer access to rider registration and marketplace tools. */
.gsl-nav a.gsl-nav-signup{color:var(--gsl-orange);font-weight:850}
@media(max-width:850px){.gsl-nav a{padding:9px 0}}


/* 1.0.6 navigation, role-aware account access and marketplace carousel */
.gsl-header-inner{gap:22px}
.gsl-nav{gap:clamp(12px,1.35vw,22px)}
.gsl-nav a{white-space:nowrap}
.gsl-nav a.gsl-nav-dashboard{color:var(--gsl-green);font-weight:850}
.gsl-nav a.gsl-nav-auth{color:#8b3d0b}
.gsl-nav .gsl-nav-cta{padding:10px 16px}
.gsl-menu-toggle{width:42px;height:42px;display:none;align-items:center;justify-content:center;flex-direction:column;gap:5px;border:1px solid var(--gsl-line);border-radius:12px;background:#fff;cursor:pointer}
.gsl-menu-toggle span{display:block;width:19px;height:2px;border-radius:3px;background:var(--gsl-green);transition:transform .2s,opacity .2s}
.gsl-menu-toggle[aria-expanded="true"] span:first-child{transform:translateY(7px) rotate(45deg)}
.gsl-menu-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
.gsl-menu-toggle[aria-expanded="true"] span:last-child{transform:translateY(-7px) rotate(-45deg)}
.gsl-marketplace-section{overflow:hidden}
.gsl-product-carousel{position:relative}
.gsl-product-carousel-controls{display:flex;justify-content:flex-end;align-items:center;gap:16px;margin:0 0 17px}
.gsl-view-all{font-size:14px;font-weight:800}
.gsl-carousel-buttons{display:flex;gap:8px}
.gsl-carousel-buttons button{width:40px;height:40px;border:1px solid #dce5df;border-radius:50%;background:#fff;color:var(--gsl-green);font-size:27px;line-height:1;cursor:pointer;transition:.2s}
.gsl-carousel-buttons button:hover:not(:disabled){background:var(--gsl-green);color:#fff;border-color:var(--gsl-green)}
.gsl-carousel-buttons button:disabled{opacity:.35;cursor:not-allowed}
.gsl-product-track{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 60px)/4);gap:20px;overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:x mandatory;scroll-behavior:smooth;padding:2px 2px 18px;scrollbar-width:thin;scrollbar-color:#c9d8ce transparent}
.gsl-product-card{min-width:0;overflow:hidden;background:#fff;border:1px solid var(--gsl-line);border-radius:17px;box-shadow:0 7px 22px rgba(15,48,34,.045);scroll-snap-align:start;display:flex;flex-direction:column}
.gsl-product-image{display:grid;place-items:center;aspect-ratio:4/3;background:#f3f6f3;overflow:hidden}
.gsl-product-image img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .3s}
.gsl-product-card:hover .gsl-product-image img{transform:scale(1.035)}
.gsl-product-no-image{display:grid;place-items:center;width:100%;height:100%;color:#829188;font-size:13px;font-weight:700}
.gsl-product-info{display:flex;flex:1;flex-direction:column;align-items:flex-start;padding:17px}
.gsl-product-seller{font-size:11px;color:var(--gsl-muted);font-weight:750;text-transform:uppercase;letter-spacing:.6px}
.gsl-product-info h3{font-size:16px;line-height:1.35;margin:7px 0 10px;color:var(--gsl-green)}
.gsl-product-info h3 a{color:inherit}
.gsl-product-price{font-size:17px;color:var(--gsl-ink);margin-bottom:8px}
.gsl-product-stock{font-size:12px;font-weight:750;margin-bottom:14px}
.gsl-product-stock.is-available{color:#24764c}
.gsl-product-stock.is-unavailable{color:#a34a34}
.gsl-product-link{display:flex;justify-content:center;align-items:center;gap:7px;width:100%;margin-top:auto;padding:10px 12px;border-radius:9px;background:#fff3e9;color:#a94d0b;font-size:13px;font-weight:850}
.gsl-product-link:hover{background:var(--gsl-orange);color:#fff}
.gsl-products-empty{padding:26px;border:1px dashed #cbd8d0;border-radius:15px;background:#fbfcfb;text-align:center;color:var(--gsl-muted)}
.gsl-products-empty p{margin:0 0 8px}
.gsl-products-empty a{font-weight:800}
@media(max-width:1050px){.gsl-header-inner{gap:14px}.gsl-nav{gap:11px}.gsl-nav a{font-size:12px}.gsl-nav .gsl-nav-cta{padding:9px 12px}.gsl-product-track{grid-auto-columns:calc((100% - 40px)/3)}}
@media(max-width:850px){
 .gsl-menu-toggle{display:flex}
 .gsl-nav{display:none;position:absolute;top:100%;left:0;right:0;background:#fff;border-bottom:1px solid var(--gsl-line);box-shadow:0 18px 28px rgba(17,48,36,.10);padding:15px 22px 22px;align-items:stretch;flex-direction:column;gap:4px;max-height:calc(100vh - 80px);overflow:auto}
 .gsl-nav.is-open{display:flex}
 .gsl-nav a{padding:11px 5px;font-size:14px;border-bottom:1px solid #f0f3f0}
 .gsl-nav .gsl-nav-cta{margin-top:8px;text-align:center;border:0;padding:12px}
 .gsl-product-track{grid-auto-columns:calc((100% - 20px)/2)}
}
@media(max-width:560px){
 .gsl-product-track{grid-auto-columns:82%;gap:13px}
 .gsl-product-info{padding:14px}
 .gsl-product-carousel-controls{justify-content:space-between}
 .gsl-hero{padding:48px 0}
 .gsl-hero-grid{gap:25px}
}
@media(prefers-reduced-motion:reduce){.gsl-product-track{scroll-behavior:auto}.gsl-product-image img{transition:none}}
/* Prevent an admin-toolbar offset from creating a blank strip on public pages. */
body.admin-bar .gsl-site-header{top:0}

/* 1.0.7: full-width standalone GalaSwift admin operations workspace */
.gsl-content article:has(.gsl-v225){max-width:1600px;width:100%;margin:0 auto}.gsl-content:has(.gsl-v225){padding-top:28px;padding-bottom:55px}.gsl-v225 a:hover{color:#f47721}
.gsl-content article:has(.gsl-v225-customer-orders){max-width:1300px;width:100%}

/* 1.0.9 responsive header hardening: mobile navigation stays accessible and overlays page content. */
.gsl-site-header{position:sticky;top:0;z-index:1000}
@media(max-width:900px){
 .gsl-header-inner{position:relative;min-height:68px!important;gap:10px!important}
 .gsl-menu-toggle{display:flex!important;flex:0 0 44px;width:44px;height:44px;align-items:center;justify-content:center;position:relative;z-index:1002;visibility:visible!important;opacity:1!important}
 .gsl-nav{display:none!important;position:absolute!important;top:100%!important;left:0!important;right:0!important;width:100%!important;max-height:calc(100vh - 70px);overflow-y:auto!important;z-index:1001;background:#fff!important;box-shadow:0 16px 28px rgba(17,48,36,.14);padding:12px 20px 20px!important;flex-direction:column!important;align-items:stretch!important;gap:2px!important}
 .gsl-nav.is-open{display:flex!important;visibility:visible!important;opacity:1!important}
 .gsl-nav a{display:block!important;width:100%;padding:12px 6px!important;font-size:14px!important;border-bottom:1px solid #edf1ee}
 .gsl-nav .gsl-nav-cta{margin-top:8px;text-align:center}
}
@media(min-width:901px){.gsl-menu-toggle{display:none!important}.gsl-nav{display:flex!important;position:static!important}}

/* GalaSwift rider workspace 1.1.0 */
.gsl-rider-v227{font-family:inherit}.gsl-rider-v227 a:focus-visible,.gsl-rider-v227 button:focus-visible,.gsl-rider-v227 input:focus-visible,.gsl-rider-v227 select:focus-visible{outline:3px solid rgba(244,119,33,.35);outline-offset:2px}.gsl-rider-v227 form{margin:0}.gsl-rider-v227 .gsl-rider-v227-panel .gsl-rider-box{background:transparent}
