/*!
 * Sandapelle Theme — Main Stylesheet
 * Version 1.0.0
 */

* { margin:0; padding:0; box-sizing:border-box; }
body {
  font-family:'Inter',-apple-system,BlinkMacSystemFont,sans-serif;
  color:#111827;
  background:#fff;
  line-height:1.55;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4 { font-family:'Plus Jakarta Sans',sans-serif; letter-spacing:-0.02em; }
a { text-decoration:none; color:inherit; }
img { display:block; max-width:100%; }
.container { max-width:1320px; margin:0 auto; padding:0 28px; }

/* ============ TOP BAR ============ */
.topbar {
  background:#0a1628;
  color:#94a3b8;
  font-size:13px;
  padding:9px 0;
  border-bottom:1px solid #1e293b;
}
.topbar .container { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:16px; }
.topbar a { color:#94a3b8; transition:color .15s; }
.topbar a:hover { color:#fff; }
.topbar-left, .topbar-right { display:flex; gap:22px; align-items:center; }
.topbar-item { display:inline-flex; align-items:center; gap:6px; }
.lang-switch { display:inline-flex; gap:4px; align-items:center; cursor:pointer; padding:2px 8px; border-radius:6px; transition:background .15s;}
.lang-switch:hover { background:rgba(255,255,255,0.08); color:#fff;}

/* ============ HEADER ============ */
.header {
  background:#fff;
  border-bottom:1px solid #f1f5f9;
  position:sticky;
  top:0;
  z-index:100;
  backdrop-filter:blur(12px);
  background:rgba(255,255,255,0.96);
}
.header-inner {
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:18px 0;
  gap:32px;
}
.logo {
  display:flex;
  align-items:center;
  gap:12px;
  font-family:'Plus Jakarta Sans',sans-serif;
  font-weight:800;
  font-size:24px;
  color:#0a1628;
  letter-spacing:-0.02em;
}
.logo-mark {
  width:44px; height:44px;
  background:#facc15;
  border-radius:10px;
  display:flex;
  align-items:center;
  justify-content:center;
  position:relative;
  flex-shrink:0;
}
.logo-mark svg { width:26px; height:26px; color:#0a1628; }
.logo-text { display:flex; flex-direction:column; line-height:1; }
.logo-text small { font-size:10px; font-weight:600; color:#64748b; letter-spacing:1.2px; margin-top:4px; text-transform:uppercase;}

.search-bar {
  flex:1;
  max-width:480px;
  position:relative;
}
.search-bar input {
  width:100%;
  padding:13px 18px 13px 46px;
  border:1.5px solid #e5e7eb;
  border-radius:10px;
  font-size:14px;
  font-family:inherit;
  outline:none;
  transition:all .15s;
  background:#f9fafb;
}
.search-bar input:focus { border-color:#0a1628; background:#fff;}
.search-bar svg { position:absolute; left:16px; top:50%; transform:translateY(-50%); color:#9ca3af; width:18px; height:18px; }

.header-actions { display:flex; align-items:center; gap:14px; }
.header-icon-btn {
  width:42px; height:42px;
  border-radius:10px;
  background:#f3f4f6;
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  transition:all .15s;
  position:relative;
  color:#475569;
}
.header-icon-btn:hover { background:#e5e7eb; color:#0a1628; }
.badge-count {
  position:absolute;
  top:-4px; right:-4px;
  background:#facc15;
  color:#0a1628;
  font-size:10px;
  font-weight:800;
  width:18px; height:18px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  border:2px solid #fff;
}
.btn-primary {
  background:#0a1628;
  color:#fff;
  padding:13px 24px;
  border-radius:10px;
  font-weight:600;
  font-size:14px;
  border:none;
  cursor:pointer;
  transition:all .15s;
  display:inline-flex;
  align-items:center;
  gap:8px;
}
.btn-primary:hover { background:#1e293b; transform:translateY(-1px);}
.btn-yellow {
  background:#facc15;
  color:#0a1628;
  padding:13px 24px;
  border-radius:10px;
  font-weight:700;
  font-size:14px;
  display:inline-flex;
  align-items:center;
  gap:8px;
  transition:all .15s;
}
.btn-yellow:hover { background:#eab308; transform:translateY(-1px);}

/* ============ NAV ============ */
.navbar {
  background:#fff;
  border-bottom:1px solid #f1f5f9;
}
.navbar-inner {
  display:flex;
  align-items:center;
  gap:32px;
  padding:0;
}
.cat-btn {
  background:#0a1628;
  color:#fff;
  padding:14px 24px;
  display:flex;
  align-items:center;
  gap:10px;
  font-weight:600;
  font-size:14px;
  cursor:pointer;
  position:relative;
  border-radius:10px 10px 0 0;
  margin-bottom:-1px;
}
.cat-btn svg { width:16px; height:16px; }
.nav-links {
  display:flex;
  gap:30px;
  flex:1;
}
.nav-links a {
  font-size:14px;
  font-weight:500;
  color:#475569;
  padding:18px 0;
  border-bottom:2px solid transparent;
  transition:all .15s;
  display:inline-flex;
  align-items:center;
  gap:5px;
}
.nav-links a:hover, .nav-links a.active {
  color:#0a1628;
  border-bottom-color:#facc15;
}
.nav-right { display:flex; align-items:center; gap:18px; font-size:13px; padding:14px 0;}
.live-badge {
  background:#f0fdf4;
  color:#15803d;
  padding:7px 14px;
  border-radius:50px;
  font-size:12px;
  font-weight:600;
  display:inline-flex;
  align-items:center;
  gap:7px;
  border:1px solid #bbf7d0;
}
.live-dot {
  width:7px; height:7px; background:#22c55e; border-radius:50%;
  animation:pulse 2s infinite;
}
@keyframes pulse {
  0%,100% { opacity:1; transform:scale(1);}
  50% { opacity:.5; transform:scale(1.3);}
}

/* ============ HERO SLIDER ============ */
.hero {
  position:relative;
  background:#0a1628;
  overflow:hidden;
  min-height:620px;
}
.hero-slides {
  position:absolute;
  inset:0;
}
.hero-slide {
  position:absolute;
  inset:0;
  opacity:0;
  transition:opacity 1s ease-in-out;
}
.hero-slide.active { opacity:1; }
.hero-slide-bg {
  position:absolute;
  inset:0;
  background-size:cover;
  background-position:center;
  transform:scale(1.05);
  transition:transform 8s ease-out;
}
.hero-slide.active .hero-slide-bg { transform:scale(1); }
.hero-slide::after {
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,rgba(10,22,40,0.95) 0%,rgba(10,22,40,0.75) 45%,rgba(10,22,40,0.45) 100%);
}
.hero-nav {
  position:absolute;
  bottom:32px;
  right:32px;
  display:flex;
  gap:10px;
  z-index:5;
}
.hero-nav-btn {
  width:46px; height:46px;
  border-radius:50%;
  background:rgba(255,255,255,0.15);
  border:1px solid rgba(255,255,255,0.25);
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  backdrop-filter:blur(10px);
  transition:all .2s;
}
.hero-nav-btn:hover { background:#facc15; color:#0a1628; border-color:#facc15;}
.hero-dots {
  position:absolute;
  bottom:32px;
  left:50%;
  transform:translateX(-50%);
  display:flex;
  gap:8px;
  z-index:5;
}
.hero-dot {
  width:10px; height:10px;
  border-radius:50%;
  background:rgba(255,255,255,0.3);
  cursor:pointer;
  transition:all .3s;
  border:none;
}
.hero-dot.active {
  background:#facc15;
  width:32px;
  border-radius:5px;
}
.hero-progress {
  position:absolute;
  top:0; left:0;
  height:3px;
  background:#facc15;
  width:0;
  z-index:5;
  transition:width 5s linear;
}
.hero-progress.run { width:100%;}
.hero-grid-pattern {
  position:absolute;
  inset:0;
  background-image:linear-gradient(rgba(255,255,255,0.03) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,0.03) 1px,transparent 1px);
  background-size:60px 60px;
  pointer-events:none;
}
.hero-inner {
  position:relative;
  z-index:2;
  padding:80px 0 100px;
  display:grid;
  grid-template-columns:1.1fr 1fr;
  gap:60px;
  align-items:center;
  min-height:620px;
}
.hero-content { color:#fff; }
.hero-badge {
  display:inline-flex;
  align-items:center;
  gap:8px;
  background:rgba(250,204,21,0.12);
  color:#facc15;
  padding:8px 16px;
  border-radius:50px;
  font-size:12px;
  font-weight:700;
  letter-spacing:1px;
  text-transform:uppercase;
  margin-bottom:24px;
  border:1px solid rgba(250,204,21,0.3);
}
.hero-content h1 {
  font-size:58px;
  font-weight:800;
  line-height:1.05;
  margin-bottom:22px;
  letter-spacing:-0.03em;
}
.hero-content h1 .accent { color:#facc15; }
.hero-content p {
  font-size:18px;
  line-height:1.6;
  color:#cbd5e1;
  margin-bottom:36px;
  max-width:540px;
}
.hero-cta-row {
  display:flex;
  gap:14px;
  margin-bottom:48px;
  flex-wrap:wrap;
}
.hero-trust {
  display:grid;
  grid-template-columns:repeat(3,auto);
  gap:48px;
  padding-top:32px;
  border-top:1px solid rgba(255,255,255,0.1);
}
.hero-trust-item .num {
  font-family:'Plus Jakarta Sans',sans-serif;
  font-size:32px;
  font-weight:800;
  color:#facc15;
  letter-spacing:-0.03em;
}
.hero-trust-item .label {
  font-size:13px;
  color:#94a3b8;
  margin-top:2px;
}

/* HERO RIGHT: featured machine card */
.hero-feature-card {
  background:#fff;
  border-radius:16px;
  padding:24px;
  box-shadow:0 30px 80px rgba(0,0,0,0.4);
  position:relative;
}
.hero-feature-card .feat-img {
  width:100%;
  height:280px;
  object-fit:cover;
  border-radius:12px;
  background:#f1f5f9;
}
.hero-feature-tag {
  position:absolute;
  top:36px; left:36px;
  background:#facc15;
  color:#0a1628;
  padding:6px 14px;
  border-radius:50px;
  font-size:11px;
  font-weight:800;
  letter-spacing:0.5px;
  text-transform:uppercase;
  z-index:2;
}
.hero-feature-content { padding:18px 4px 4px; }
.hero-feature-content .cat-tag {
  font-size:11px;
  color:#64748b;
  font-weight:700;
  letter-spacing:1px;
  text-transform:uppercase;
  margin-bottom:6px;
}
.hero-feature-content h3 {
  font-size:22px;
  font-weight:800;
  margin-bottom:14px;
  color:#0a1628;
}
.hero-feature-specs {
  display:flex;
  gap:18px;
  padding:14px 0;
  border-top:1px solid #f1f5f9;
  border-bottom:1px solid #f1f5f9;
  margin-bottom:14px;
  font-size:13px;
  color:#475569;
}
.hero-feature-specs span { display:inline-flex; align-items:center; gap:5px; font-weight:500;}
.hero-feature-specs strong { color:#0a1628; font-weight:700;}
.hero-feature-bottom {
  display:flex;
  justify-content:space-between;
  align-items:center;
}
.hero-feature-price {
  font-family:'Plus Jakarta Sans',sans-serif;
  font-size:28px;
  font-weight:800;
  color:#0a1628;
}
.hero-feature-price small { font-size:13px; color:#64748b; font-weight:500; }
.hero-feature-cta {
  background:#0a1628;
  color:#fff;
  padding:11px 18px;
  border-radius:8px;
  font-size:13px;
  font-weight:600;
  display:inline-flex;
  align-items:center;
  gap:6px;
}
.hero-feature-cta:hover { background:#facc15; color:#0a1628;}

/* ============ TRUST STRIP ============ */
.trust-strip {
  background:#fff;
  border-bottom:1px solid #f1f5f9;
  padding:32px 0;
}
.trust-strip-grid {
  display:grid;
  grid-template-columns:repeat(4, 1fr);
  gap:24px;
}
.trust-item {
  display:flex;
  align-items:center;
  gap:14px;
  padding:8px;
  border-radius:12px;
  transition:all .2s;
}
.trust-item:hover { background:#f9fafb; }
.trust-icon {
  width:50px; height:50px;
  border-radius:12px;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#fff;
  flex-shrink:0;
  box-shadow:0 6px 14px rgba(0,0,0,0.08);
}
.trust-icon svg { width:24px; height:24px; }
.trust-item:nth-child(1) .trust-icon { background:linear-gradient(135deg,#22c55e,#15803d);}
.trust-item:nth-child(2) .trust-icon { background:linear-gradient(135deg,#3b82f6,#1e40af);}
.trust-item:nth-child(3) .trust-icon { background:linear-gradient(135deg,#facc15,#ea580c);}
.trust-item:nth-child(4) .trust-icon { background:linear-gradient(135deg,#a855f7,#7c3aed);}
.trust-item h4 { font-size:14px; font-weight:700; color:#0a1628;}
.trust-item p { font-size:12px; color:#64748b; }

/* ============ BRANDS STRIP ============ */
.brands-section {
  background:linear-gradient(135deg,#f8fafc 0%,#f1f5f9 100%);
  padding:54px 0;
  overflow:hidden;
  position:relative;
  border-top:1px solid #e2e8f0;
  border-bottom:1px solid #e2e8f0;
}
.brands-section .section-tag-row {
  text-align:center;
  margin-bottom:32px;
}
.brands-section h3 {
  font-family:'Plus Jakarta Sans',sans-serif;
  font-size:22px;
  font-weight:800;
  color:#0a1628;
  margin-top:8px;
}
.brands-section h3 span { color:#facc15;}
.brands-section .sub { color:#64748b; font-size:14px; margin-top:6px;}
.brands-marquee {
  display:flex;
  overflow:hidden;
  position:relative;
  mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);
}
.brands-track {
  display:flex;
  gap:48px;
  animation:scroll-brands 35s linear infinite;
  flex-shrink:0;
  padding-right:48px;
}
.brands-marquee:hover .brands-track { animation-play-state:paused;}
@keyframes scroll-brands {
  0% { transform:translateX(0);}
  100% { transform:translateX(-50%);}
}
.brand-logo {
  flex-shrink:0;
  height:80px;
  min-width:180px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#fff;
  border-radius:12px;
  padding:18px 32px;
  font-family:'Plus Jakarta Sans',sans-serif;
  font-weight:800;
  font-size:22px;
  color:#0a1628;
  letter-spacing:-0.5px;
  border:1px solid #e2e8f0;
  transition:all .25s;
  cursor:pointer;
  text-align:center;
  white-space:nowrap;
}
.brand-logo:hover {
  transform:translateY(-3px);
  border-color:#facc15;
  box-shadow:0 14px 28px rgba(10,22,40,0.1);
}
/* Brand-specific styles for visual variety */
.brand-volvo { color:#003057; font-style:italic; letter-spacing:1px;}
.brand-cat { background:#ffcc00; color:#000;}
.brand-cat:hover { background:#ffd700;}
.brand-hitachi { color:#cc0000; }
.brand-komatsu { color:#1565c0; }
.brand-jcb { background:#fed800; color:#000;}
.brand-yanmar { color:#e60012;}
.brand-kubota { color:#ff6b00;}
.brand-case { background:#cc0000; color:#fff;}
.brand-case:hover { background:#dd0000;}
.brand-bobcat { color:#ff7900;}
.brand-takeuchi { color:#005baa;}
.brand-iveco { color:#003986;}
.brand-manitou { color:#e30613;}
.brand-sany { color:#c8102e; font-weight:900;}
.brand-airman { color:#0066b3;}
.brand-terex { color:#ffcc00; background:#0a1628;}
.brand-terex:hover { background:#1e293b;}

/* ============ SECTION ============ */
.section { padding:64px 0; }
.section-head {
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  margin-bottom:36px;
  gap:20px;
}
.section-head-left { max-width:600px;}
.section-tag {
  display:inline-block;
  background:#0a1628;
  color:#facc15;
  padding:5px 12px;
  border-radius:6px;
  font-size:11px;
  font-weight:700;
  letter-spacing:1px;
  text-transform:uppercase;
  margin-bottom:12px;
}
.section-head h2 {
  font-size:36px;
  font-weight:800;
  letter-spacing:-0.02em;
  color:#0a1628;
}
.section-head p { color:#64748b; margin-top:8px; font-size:15px;}
.view-all {
  color:#0a1628;
  font-weight:700;
  font-size:14px;
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:10px 18px;
  border:1.5px solid #0a1628;
  border-radius:8px;
  transition:all .15s;
  white-space:nowrap;
}
.view-all:hover { background:#0a1628; color:#fff;}

/* ============ CATEGORIES ============ */
.cat-grid {
  display:grid;
  grid-template-columns:repeat(6, 1fr);
  gap:20px;
}
.cat-item {
  background:#fff;
  border:1px solid #f1f5f9;
  border-radius:14px;
  padding:24px 16px;
  text-align:center;
  cursor:pointer;
  transition:all .2s;
  display:flex;
  flex-direction:column;
  align-items:center;
}
.cat-item:hover {
  transform:translateY(-4px);
  border-color:#facc15;
  box-shadow:0 12px 28px rgba(10,22,40,0.08);
}
.cat-icon-wrap {
  width:130px;
  height:130px;
  border-radius:50%;
  margin:0 auto 14px;
  position:relative;
  background:#f1f5f9;
  overflow:hidden;
  box-shadow:0 12px 30px rgba(10,22,40,0.12);
  border:5px solid #fff;
  transition:all .3s;
}
.cat-icon-wrap::before {
  content:'';
  position:absolute;
  inset:-9px;
  border-radius:50%;
  border:2px dashed transparent;
  transition:all .3s;
  pointer-events:none;
}
.cat-icon-wrap::after {
  content:'';
  position:absolute;
  inset:0;
  border-radius:50%;
  background:linear-gradient(135deg,transparent 50%,rgba(10,22,40,0.25) 100%);
  pointer-events:none;
  z-index:1;
}
.cat-icon-wrap img,
.cat-icon-wrap .cat-photo {
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .5s ease;
  display:block;
}
.cat-icon-wrap svg {
  position:absolute;
  inset:0;
  margin:auto;
  width:54px;
  height:54px;
  color:#fff;
  z-index:3;
  filter:drop-shadow(0 2px 6px rgba(0,0,0,0.4));
}
.cat-item:hover .cat-icon-wrap {
  transform:translateY(-4px);
  box-shadow:0 18px 40px rgba(10,22,40,0.18);
}
.cat-item:hover .cat-icon-wrap::before { border-color:#facc15;}
.cat-item:hover .cat-icon-wrap img,
.cat-item:hover .cat-icon-wrap .cat-photo { transform:scale(1.12);}
.cat-item h4 { font-size:15px; font-weight:700; color:#0a1628;}
.cat-item p { font-size:12px; color:#64748b; margin-top:4px; font-weight:500;}

/* ============ PRODUCT GRID ============ */
.products-grid {
  display:grid;
  grid-template-columns:repeat(4, 1fr);
  gap:24px;
}
.product-card {
  background:#fff;
  border-radius:14px;
  overflow:hidden;
  cursor:pointer;
  transition:all .25s;
  border:1px solid #f1f5f9;
  display:flex;
  flex-direction:column;
}
.product-card:hover {
  transform:translateY(-6px);
  box-shadow:0 20px 40px rgba(10,22,40,0.1);
  border-color:#e2e8f0;
}
.product-img-wrap {
  position:relative;
  height:240px;
  background:#f1f5f9;
  overflow:hidden;
}
.product-img-wrap img {
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .4s;
}
.product-card:hover .product-img-wrap img { transform:scale(1.06); }
.product-badges {
  position:absolute;
  top:14px;
  left:14px;
  display:flex;
  flex-direction:column;
  gap:6px;
  align-items:flex-start;
}
.badge {
  font-size:11px;
  font-weight:700;
  padding:5px 11px;
  border-radius:6px;
  letter-spacing:.3px;
  display:inline-flex;
  align-items:center;
  gap:5px;
}
.badge-stock { background:#dcfce7; color:#166534; }
.badge-occasion { background:#fef3c7; color:#92400e; }
.badge-new { background:#dbeafe; color:#1e40af; }
.badge-featured { background:#facc15; color:#0a1628; }
.product-fav {
  position:absolute;
  top:14px;
  right:14px;
  width:36px; height:36px;
  background:rgba(255,255,255,0.95);
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  transition:all .15s;
  color:#475569;
  backdrop-filter:blur(4px);
}
.product-fav:hover { background:#facc15; color:#0a1628;}
.product-fav svg { width:18px; height:18px; }
.product-info { padding:20px; flex:1; display:flex; flex-direction:column; }
.product-cat {
  font-size:11px;
  font-weight:700;
  color:#64748b;
  text-transform:uppercase;
  letter-spacing:.8px;
  margin-bottom:8px;
}
.product-title {
  font-family:'Plus Jakarta Sans',sans-serif;
  font-size:16px;
  font-weight:700;
  margin-bottom:14px;
  color:#0a1628;
  line-height:1.3;
  flex:1;
}
.product-specs {
  display:flex;
  gap:16px;
  margin-bottom:14px;
  font-size:13px;
  color:#64748b;
  flex-wrap:wrap;
}
.product-specs span { display:inline-flex; align-items:center; gap:5px;}
.product-specs svg { width:14px; height:14px; color:#94a3b8;}
.product-bottom {
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding-top:16px;
  border-top:1px solid #f1f5f9;
}
.product-price {
  font-family:'Plus Jakarta Sans',sans-serif;
  font-size:22px;
  font-weight:800;
  color:#0a1628;
}
.product-price small { font-size:12px; color:#64748b; font-weight:500;}
.product-cta {
  background:#f1f5f9;
  color:#0a1628;
  padding:9px 14px;
  border-radius:8px;
  font-size:12px;
  font-weight:700;
  display:inline-flex;
  align-items:center;
  gap:5px;
  transition:all .15s;
}
.product-card:hover .product-cta { background:#facc15;}

/* ============ PROMO BANNERS ============ */
.promo-grid {
  display:grid;
  grid-template-columns:1.2fr 1fr 1fr;
  gap:20px;
}
.promo-card {
  border-radius:18px;
  padding:32px;
  height:260px;
  position:relative;
  overflow:hidden;
  cursor:pointer;
  transition:transform .3s;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  color:#fff;
}
.promo-card:hover { transform:translateY(-4px); }
.promo-1 {
  background:#0a1628;
  background-image:linear-gradient(135deg,rgba(10,22,40,0.85) 0%,rgba(10,22,40,0.4) 100%),url('https://sandapelle.com/wp-content/uploads/2025/11/1-15.jpg');
  background-size:cover;
  background-position:center;
}
.promo-2 {
  background:linear-gradient(135deg,#facc15 0%,#eab308 100%);
  color:#0a1628;
}
.promo-3 {
  background:#0a1628;
  background-image:linear-gradient(135deg,rgba(10,22,40,0.6) 0%,rgba(10,22,40,0.85) 100%),url('https://sandapelle.com/wp-content/uploads/2025/11/1-11.jpg');
  background-size:cover;
  background-position:center;
}
.promo-card h3 {
  font-size:26px;
  font-weight:800;
  line-height:1.15;
  letter-spacing:-0.02em;
  max-width:80%;
}
.promo-card p { font-size:14px; opacity:.9; margin-top:8px;}
.promo-btn {
  background:#fff;
  color:#0a1628;
  padding:11px 20px;
  border-radius:8px;
  font-weight:700;
  font-size:13px;
  align-self:flex-start;
  display:inline-flex;
  align-items:center;
  gap:6px;
  transition:all .15s;
}
.promo-btn:hover { background:#facc15;}
.promo-2 .promo-btn { background:#0a1628; color:#fff;}
.promo-2 .promo-btn:hover { background:#1e293b;}

/* ============ CTA SECTION ============ */
.cta-section {
  background:linear-gradient(135deg,#0a1628 0%,#1e293b 100%);
  border-radius:20px;
  padding:64px 48px;
  text-align:center;
  color:#fff;
  margin:48px 0;
  position:relative;
  overflow:hidden;
}
.cta-section::before {
  content:'';
  position:absolute;
  top:-30%; right:-15%;
  width:500px; height:500px;
  background:radial-gradient(circle,rgba(250,204,21,0.15) 0%,transparent 60%);
}
.cta-section::after {
  content:'';
  position:absolute;
  bottom:-30%; left:-15%;
  width:400px; height:400px;
  background:radial-gradient(circle,rgba(250,204,21,0.1) 0%,transparent 60%);
}
.cta-section h2 {
  font-size:38px;
  font-weight:800;
  margin-bottom:12px;
  letter-spacing:-0.02em;
  position:relative;
}
.cta-section p { color:#cbd5e1; margin-bottom:28px; font-size:16px; position:relative; max-width:600px; margin-left:auto; margin-right:auto;}
.cta-section .cta-buttons { display:flex; gap:14px; justify-content:center; position:relative; flex-wrap:wrap;}

/* ============ FOOTER ============ */
.footer {
  background:#0a1628;
  color:#cbd5e1;
  padding:64px 0 24px;
  margin-top:80px;
}
.footer-grid {
  display:grid;
  grid-template-columns:1.5fr 1fr 1fr 1fr;
  gap:40px;
  margin-bottom:48px;
}
.footer-col h4 {
  color:#fff;
  font-size:13px;
  font-weight:700;
  margin-bottom:20px;
  text-transform:uppercase;
  letter-spacing:1.2px;
}
.footer-col ul { list-style:none; }
.footer-col li { margin-bottom:11px; font-size:14px;}
.footer-col a { color:#94a3b8; transition:color .15s;}
.footer-col a:hover { color:#facc15;}
.footer-brand p { font-size:14px; line-height:1.65; margin:18px 0; color:#94a3b8;}
.footer-contact {
  display:flex;
  align-items:center;
  gap:10px;
  font-size:14px;
  margin-bottom:10px;
  color:#cbd5e1;
}
.footer-contact svg { width:16px; height:16px; color:#facc15; flex-shrink:0;}
.legal-list li { font-size:13px; color:#94a3b8;}
.legal-list strong { color:#facc15; font-weight:700; margin-right:4px;}
.footer-bottom {
  border-top:1px solid #1e293b;
  padding-top:24px;
  display:flex;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:14px;
  font-size:13px;
  color:#64748b;
}
.footer-bottom-links { display:flex; flex-wrap:wrap; gap:20px;}
.footer-bottom-links a:hover { color:#facc15;}

/* ============ RESPONSIVE ============ */
@media (max-width: 1024px) {
  .hero-inner { grid-template-columns:1fr; gap:40px; padding:60px 0;}
  .hero-content h1 { font-size:42px;}
  .cat-grid { grid-template-columns:repeat(3,1fr);}
  .products-grid { grid-template-columns:repeat(3,1fr);}
  .promo-grid { grid-template-columns:1fr 1fr;}
  .promo-1 { grid-column:1/-1;}
  .footer-grid { grid-template-columns:1fr 1fr;}
  .trust-strip-grid { grid-template-columns:1fr 1fr;}
}
@media (max-width: 640px) {
  .container { padding:0 18px;}
  .header-inner { flex-wrap:wrap; gap:14px;}
  .search-bar { order:3; flex-basis:100%; max-width:none;}
  .navbar-inner { flex-wrap:wrap; gap:12px;}
  .nav-links { gap:18px; flex-wrap:wrap; padding:8px 0;}
  .cat-grid { grid-template-columns:1fr 1fr;}
  .products-grid { grid-template-columns:1fr 1fr;}
  .promo-grid { grid-template-columns:1fr;}
  .promo-1 { grid-column:auto;}
  .hero-content h1 { font-size:32px;}
  .hero-trust { grid-template-columns:1fr 1fr; gap:24px;}
  .section { padding:44px 0;}
  .section-head h2 { font-size:26px;}
  .section-head { flex-direction:column; align-items:flex-start;}
  .footer-grid { grid-template-columns:1fr;}
  .cta-section { padding:40px 24px;}
  .cta-section h2 { font-size:24px;}
  .topbar { font-size:12px;}
  .topbar-left, .topbar-right { gap:14px;}
}
/* ============ DEVIS MODAL ============ */
.devis-modal {
  position:fixed;
  inset:0;
  z-index:9999;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:20px;
}
.devis-modal[hidden] { display:none; }
.devis-modal-overlay {
  position:absolute;
  inset:0;
  background:rgba(10,22,40,0.7);
  backdrop-filter:blur(4px);
  cursor:pointer;
}
.devis-modal-content {
  position:relative;
  background:#fff;
  border-radius:20px;
  width:100%;
  max-width:560px;
  max-height:90vh;
  overflow-y:auto;
  padding:36px 32px;
  box-shadow:0 30px 80px rgba(0,0,0,0.4);
  animation:devisFadeIn .3s ease;
}
@keyframes devisFadeIn {
  from { opacity:0; transform:scale(.95) translateY(20px);}
  to { opacity:1; transform:scale(1) translateY(0);}
}
.devis-modal-close {
  position:absolute;
  top:16px; right:16px;
  width:36px; height:36px;
  background:#f3f4f6;
  border:none;
  border-radius:50%;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#0a1628;
  transition:all .15s;
}
.devis-modal-close:hover { background:#e5e7eb; transform:rotate(90deg);}
.devis-modal-header h2 {
  font-family:'Plus Jakarta Sans',sans-serif;
  font-size:22px;
  font-weight:800;
  color:#0a1628;
  margin-bottom:4px;
  letter-spacing:-0.02em;
}
.devis-modal-header p { color:#64748b; font-size:14px; margin-bottom:24px;}
.devis-machine-summary {
  background:#f9fafb;
  border:1px solid #e5e7eb;
  border-radius:12px;
  padding:14px;
  display:flex;
  gap:14px;
  align-items:center;
  margin-bottom:20px;
}
.devis-machine-summary img {
  width:64px; height:64px;
  border-radius:8px;
  object-fit:cover;
  flex-shrink:0;
}
.devis-machine-summary .summ-cat {
  font-size:11px;
  color:#64748b;
  text-transform:uppercase;
  font-weight:700;
  letter-spacing:.5px;
}
.devis-machine-summary .summ-name {
  font-weight:700;
  color:#0a1628;
  font-size:15px;
}
.devis-machine-summary .summ-meta {
  font-size:12px;
  color:#64748b;
  margin-top:2px;
}
.devis-machine-summary .summ-price {
  color:#facc15 !important;
  font-weight:800;
  background:#0a1628;
  padding:2px 8px;
  border-radius:4px;
  display:inline-block;
  margin-top:4px;
  font-size:13px;
}
.devis-form { display:flex; flex-direction:column; gap:14px;}
.devis-field { display:flex; flex-direction:column;}
.devis-row { display:grid; grid-template-columns:1fr 1fr; gap:12px;}
.devis-label {
  font-size:13px;
  font-weight:600;
  color:#0a1628;
  margin-bottom:6px;
}
.devis-label .req { color:#dc2626;}
.devis-form input[type="text"],
.devis-form input[type="email"],
.devis-form input[type="tel"],
.devis-form textarea {
  width:100%;
  padding:11px 14px;
  border:1.5px solid #e5e7eb;
  border-radius:8px;
  font-size:14px;
  font-family:inherit;
  outline:none;
  transition:all .15s;
  background:#f9fafb;
}
.devis-form input:focus,
.devis-form textarea:focus {
  border-color:#facc15;
  background:#fff;
  box-shadow:0 0 0 3px rgba(250,204,21,.15);
}
.devis-form textarea { resize:vertical; min-height:90px;}
.devis-type-row { display:grid; grid-template-columns:1fr 1fr; gap:10px;}
.devis-type-card {
  cursor:pointer;
  border:1.5px solid #e5e7eb;
  border-radius:10px;
  padding:14px;
  transition:all .15s;
  background:#f9fafb;
  display:block;
}
.devis-type-card:hover { border-color:#cbd5e1; background:#fff;}
.devis-type-card input { display:none;}
.devis-type-card:has(input:checked) {
  border-color:#facc15;
  background:#fffbeb;
  box-shadow:0 0 0 3px rgba(250,204,21,.15);
}
.devis-type-content { display:flex; align-items:center; gap:12px;}
.devis-type-icon {
  width:36px; height:36px;
  border-radius:8px;
  background:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-shrink:0;
}
.devis-type-content strong { display:block; font-weight:700; color:#0a1628; font-size:14px;}
.devis-type-content small { color:#64748b; font-size:12px;}
.devis-actions {
  display:flex;
  justify-content:space-between;
  gap:12px;
  padding-top:8px;
}
.btn-cancel {
  background:#fff;
  color:#0a1628;
  border:1.5px solid #e5e7eb;
  padding:11px 20px;
  border-radius:8px;
  font-weight:600;
  font-size:14px;
  cursor:pointer;
  transition:all .15s;
}
.btn-cancel:hover { background:#f9fafb; border-color:#cbd5e1;}
.btn-submit-devis {
  background:#facc15;
  color:#0a1628;
  border:none;
  padding:11px 22px;
  border-radius:8px;
  font-weight:700;
  font-size:14px;
  cursor:pointer;
  display:inline-flex;
  align-items:center;
  gap:8px;
  transition:all .15s;
  flex:1;
  justify-content:center;
}
.btn-submit-devis:hover { background:#eab308; transform:translateY(-1px);}
.btn-submit-devis:disabled { opacity:.6; cursor:wait;}
.devis-feedback {
  padding:10px 14px;
  border-radius:8px;
  font-size:13px;
  display:none;
}
.devis-feedback.success {
  display:block;
  background:#dcfce7;
  color:#166534;
  border:1px solid #bbf7d0;
}
.devis-feedback.error {
  display:block;
  background:#fee2e2;
  color:#991b1b;
  border:1px solid #fecaca;
}

@media (max-width: 640px) {
  .devis-modal-content { padding:24px 20px;}
  .devis-row { grid-template-columns:1fr;}
  .devis-actions { flex-direction:column;}
  .btn-cancel, .btn-submit-devis { width:100%;}
}

/* ============ NOSCRIPT / IMAGE PLACEHOLDER ============ */
.product-img-wrap img:not([src]),
.product-img-wrap img[src=""] {
  background:#e2e8f0;
}

/* ============ MOBILE MENU ============ */
@media (min-width: 1025px) {
  #headerMobileToggle { display:none; }
}
@media (max-width: 1024px) {
  .navbar-inner { flex-wrap:wrap; }
  .nav-links {
    display:none;
    flex-direction:column !important;
    width:100%;
    align-items:flex-start !important;
    padding:8px 0;
  }
  .navbar.mobile-open .nav-links {
    display:flex;
  }
  .nav-links a {
    width:100%;
    padding:12px 0;
  }
  .nav-right {
    margin-left:auto;
  }
}

/* ============ LANGUAGE SWITCHER ============ */
.lang-switch {
  position:relative;
  display:inline-block;
}
.lang-switch-btn {
  background:transparent;
  border:none;
  color:inherit;
  cursor:pointer;
  font-size:13px;
  font-weight:600;
  display:inline-flex;
  align-items:center;
  gap:4px;
  padding:4px 8px;
  border-radius:6px;
  transition:background .15s;
  font-family:inherit;
}
.lang-switch-btn:hover { background:rgba(255,255,255,0.08); }
.lang-switch.open .lang-switch-btn { background:rgba(255,255,255,0.1); }
.lang-switch-menu {
  position:absolute;
  top:calc(100% + 6px);
  right:0;
  background:#fff;
  border:1px solid #e5e7eb;
  border-radius:8px;
  box-shadow:0 8px 24px rgba(0,0,0,0.12);
  list-style:none;
  margin:0;
  padding:6px 0;
  min-width:140px;
  display:none;
  z-index:1000;
}
.lang-switch.open .lang-switch-menu { display:block; }
.lang-switch-menu li { padding:0; margin:0; list-style:none;}
.lang-switch-menu a {
  display:block;
  padding:9px 14px;
  color:#0a1628;
  font-size:13px;
  text-decoration:none;
  transition:background .15s;
}
.lang-switch-menu a:hover { background:#f3f4f6; }
.lang-switch-menu a.active { background:#fef3c7; color:#92400e; font-weight:600;}

/* Polylang dropdown integration */
.lang-switch-polylang select {
  background:transparent;
  border:1px solid rgba(255,255,255,0.2);
  color:inherit;
  padding:4px 8px;
  border-radius:6px;
  font-size:13px;
  cursor:pointer;
}
.lang-switch-polylang select option { color:#0a1628; }

/* ============ NAV SUB-MENU FALLBACK ============ */
.nav-links .sub-menu {
  position:absolute;
  top:100%;
  left:0;
  background:#fff;
  border:1px solid #e5e7eb;
  border-radius:8px;
  box-shadow:0 8px 24px rgba(0,0,0,0.1);
  list-style:none;
  margin:0;
  padding:8px 0;
  min-width:200px;
  display:none;
  z-index:50;
}
.nav-links .menu-item-has-children { position:relative; }
.nav-links .menu-item-has-children:hover .sub-menu { display:block; }
.nav-links .sub-menu li { padding:0; }
.nav-links .sub-menu a {
  display:block;
  padding:10px 14px;
  font-size:14px;
  color:#0a1628;
  border-bottom:none;
}
.nav-links .sub-menu a:hover { background:#f9fafb; }
