/*
Theme Name: TechOkaz Child
Theme URI: https://techokaz.sn
Description: Thème enfant Blocksy pour TechOkaz — Informatique reconditionnée au Sénégal
Author: TechOkaz
Template: blocksy
Version: 1.0.0
Text Domain: techokaz-child
*/

/* Google Fonts Inter : chargé via wp_enqueue_style + preconnect dans functions.php (pas d'@import) */

/* =========================================
   VARIABLES GLOBALES
   ========================================= */
:root {
  --tk-navy:       #0d1b2a;
  --tk-navy-light: #132236;
  --tk-blue:       #3b82f6;
  --tk-blue-dark:  #1d4ed8;
  --tk-cream:      #f5f3ef;
  --tk-cream-dark: #ece9e3;
  --tk-white:      #ffffff;
  --tk-text:       #0d1b2a;
  --tk-muted:      #6b7280;
  --tk-orange:     #d97706;
  --tk-green:      #059669;
  --tk-green-light:#d1fae5;
  --tk-orange-light:#fef3c7;
  --tk-radius:     10px;
  --tk-shadow:     0 2px 12px rgba(13,27,42,.08);
}

/* =========================================
   BASE
   ========================================= */
*, *::before, *::after { box-sizing: border-box; }

body {
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif !important;
  color: var(--tk-text);
  background: var(--tk-white);
  line-height: 1.6;
}

a { text-decoration: none; color: inherit; }
img { max-width: 100%; height: auto; }

/* =========================================
   HEADER
   ========================================= */
#header,
.site-header,
header.header,
.ct-header {
  background: var(--tk-white) !important;
  border-bottom: 1px solid #e5e7eb !important;
  box-shadow: 0 1px 4px rgba(0,0,0,.06) !important;
  position: sticky !important;
  top: 0 !important;
  z-index: 1000 !important;
}

/* Forcer le logo TechOkaz — masquer les anciens logos SVG */
header img[src*="logo-light"],
header img[src*="logo-dark"],
header img[src*="logo-white"] {
  content: url('https://terangafashion.fr/wp-content/uploads/techokaz-logo-clair.png') !important;
  max-height: 56px !important;
  width: auto !important;
}

/* Logo */
.site-logo a,
.custom-logo-link,
.ct-logo,
.site-branding a {
  font-family: 'Inter', sans-serif !important;
  font-size: 1.35rem !important;
  font-weight: 700 !important;
  color: var(--tk-navy) !important;
  display: flex !important;
  align-items: center !important;
  gap: .5rem !important;
  text-decoration: none !important;
}

/* Navigation principale — sélecteurs exacts du HTML Blocksy rendu */
#header .menu-container ul.menu li a,
#header .menu-container ul.menu li a.ct-menu-link,
#header-menu-1 ul.menu li a,
#header-menu-1 ul.menu li a.ct-menu-link,
nav.menu-container ul.menu li a.ct-menu-link {
  font-family: 'Inter', sans-serif !important;
  font-size: .8rem !important;
  font-weight: 600 !important;
  letter-spacing: .09em !important;
  text-transform: uppercase !important;
  color: #0d1b2a !important;
  padding: .5rem 0 !important;
  border-bottom: 2px solid transparent !important;
  transition: color .2s, border-color .2s !important;
  text-decoration: none !important;
}

#header .menu-container ul.menu li a:hover,
#header .menu-container ul.menu li a.ct-menu-link:hover,
#header-menu-1 ul.menu li a:hover,
#header-menu-1 ul.menu li a.ct-menu-link:hover {
  color: var(--tk-blue) !important;
  border-bottom-color: var(--tk-blue) !important;
}

/* Item actif */
#header .menu-container ul.menu li.current-menu-item > a,
#header-menu-1 ul.menu li.current-menu-item > a {
  color: var(--tk-blue) !important;
  border-bottom-color: var(--tk-blue) !important;
}

/* Nav desktop sur fond blanc : couleur foncee visible */
[data-header*="type-1"] .menu-container a.ct-menu-link {
  color: #0d1b2a !important;
}

/* Espacement entre items */
#header .menu-container ul.menu,
nav.menu-container ul.menu {
  display: flex !important;
  gap: 1.75rem !important;
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  align-items: center !important;
}

/* Icônes header (search, panier, compte) */
.ct-header-icons,
.header-icons,
.ct-header-cart,
.ct-header-search,
.ct-header-account {
  color: var(--tk-text) !important;
  transition: color .2s !important;
}

.ct-header-icons a:hover,
.ct-header-cart a:hover,
.ct-header-search a:hover {
  color: var(--tk-blue) !important;
}

/* Compteur panier */
.ct-cart-item-count,
.cart-contents-count {
  background: var(--tk-blue) !important;
  color: #fff !important;
  border-radius: 50% !important;
  font-size: .65rem !important;
  font-weight: 700 !important;
}

/* =========================================
   HAMBURGER MOBILE + OFFCANVAS
   ========================================= */

/* Burger — forcer couleur navy (transparent header le rend blanc) */
.ct-header-trigger,
[data-header*="type-1"] .ct-header-trigger {
  color: var(--tk-navy) !important;
  background: none !important;
  border: none !important;
  cursor: pointer !important;
  padding: .4rem !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.ct-header-trigger svg rect,
.ct-header-trigger svg path,
[data-header*="type-1"] .ct-header-trigger svg rect,
[data-header*="type-1"] .ct-header-trigger svg path {
  fill: var(--tk-navy) !important;
}

/* Icônes header sur mobile aussi */
[data-device="mobile"] .ct-header-search svg,
[data-device="mobile"] .ct-header-cart svg,
[data-device="mobile"] .ct-header-account svg {
  color: var(--tk-navy) !important;
  fill: var(--tk-navy) !important;
}

/* Offcanvas panel (tiroir mobile) */
#offcanvas {
  background: #fff !important;
  width: 280px !important;
  max-width: 88vw !important;
}

#offcanvas .ct-panel-inner {
  display: flex !important;
  flex-direction: column !important;
  height: 100% !important;
}

#offcanvas .ct-panel-actions {
  display: flex !important;
  justify-content: flex-end !important;
  padding: 1rem 1.25rem .5rem !important;
  border-bottom: 1px solid #f0f0f0 !important;
}

/* Bouton fermer le tiroir */
#offcanvas .ct-toggle-close {
  background: #f3f4f6 !important;
  border: none !important;
  border-radius: 50% !important;
  width: 36px !important;
  height: 36px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
  color: var(--tk-navy) !important;
}

#offcanvas .ct-toggle-close svg path {
  fill: var(--tk-navy) !important;
}

/* Contenu du tiroir */
#offcanvas .ct-panel-content[data-device="mobile"] {
  padding: 1.25rem 1.5rem !important;
  overflow-y: auto !important;
  flex: 1 !important;
}

/* Logo dans le tiroir */
#offcanvas .site-logo-container img,
#offcanvas a.site-logo-container img {
  max-height: 40px !important;
  width: auto !important;
  margin-bottom: 1.5rem !important;
  display: block !important;
}

/* Menu links dans l'offcanvas */
#offcanvas .mobile-menu ul,
#offcanvas .menu-container ul {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

#offcanvas .mobile-menu ul li,
#offcanvas .menu-container ul li {
  border-bottom: 1px solid rgba(255,255,255,.15) !important;
}

#offcanvas .mobile-menu ul li:last-child {
  border-bottom: none !important;
}

#offcanvas .mobile-menu a.ct-menu-link,
#offcanvas .menu-container a.ct-menu-link,
#offcanvas .mobile-menu a,
#offcanvas a {
  display: block !important;
  padding: .9rem .25rem !important;
  font-family: 'Inter', sans-serif !important;
  font-size: .9rem !important;
  font-weight: 600 !important;
  color: #ffffff !important;
  text-decoration: none !important;
  text-transform: uppercase !important;
  letter-spacing: .06em !important;
  transition: color .15s, padding-left .15s !important;
}

#offcanvas .mobile-menu a.ct-menu-link:hover,
#offcanvas .mobile-menu a:hover,
#offcanvas a:hover {
  color: var(--tk-blue) !important;
  padding-left: .5rem !important;
}

#offcanvas .menu-item.current-menu-item > a {
  color: var(--tk-blue) !important;
}

/* =========================================
   HERO SECTION
   ========================================= */
.tk-hero,
.hero-section,
section.elementor-section:first-of-type,
.elementor-section.tk-hero-section {
  background: var(--tk-navy) !important;
  color: var(--tk-white) !important;
  padding: 5rem 2rem !important;
  min-height: 80vh !important;
  display: flex !important;
  align-items: center !important;
}

/* Badge hero */
.tk-hero-badge,
.hero-badge {
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  font-size: .75rem;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--tk-blue);
  margin-bottom: 1.5rem;
}

/* Titre hero */
.tk-hero h1,
.hero-section h1,
.tk-hero .elementor-heading-title {
  font-size: clamp(2.2rem, 5vw, 3.5rem) !important;
  font-weight: 800 !important;
  line-height: 1.15 !important;
  color: var(--tk-white) !important;
  margin-bottom: 1.2rem !important;
}

.tk-hero h1 .highlight,
.tk-hero h1 span,
.hero-section h1 .text-blue {
  color: var(--tk-blue) !important;
}

/* Description hero */
.tk-hero p,
.hero-section p,
.tk-hero .elementor-text-editor p {
  font-size: 1rem !important;
  color: rgba(255,255,255,.75) !important;
  max-width: 480px !important;
  margin-bottom: 2rem !important;
}

/* Boutons CTA hero */
.tk-hero .hero-cta,
.tk-hero .elementor-button-wrapper {
  display: flex;
  gap: 1rem;
  flex-wrap: wrap;
}

.tk-btn-primary,
.tk-hero .elementor-button.elementor-button-primary {
  display: inline-block;
  padding: .75rem 1.75rem;
  background: transparent;
  border: 2px solid rgba(255,255,255,.5);
  color: var(--tk-white) !important;
  font-size: .78rem;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  border-radius: 4px;
  cursor: pointer;
  transition: background .2s, border-color .2s;
}

.tk-btn-primary:hover,
.tk-hero .elementor-button.elementor-button-primary:hover {
  background: rgba(255,255,255,.12);
  border-color: var(--tk-white);
}

/* =========================================
   PRODUCT CARDS (hero + listes)
   ========================================= */
.tk-product-card,
.woocommerce ul.products li.product,
.elementor-posts .elementor-post {
  background: var(--tk-navy-light) !important;
  border: 1px solid rgba(255,255,255,.08) !important;
  border-radius: var(--tk-radius) !important;
  padding: 1.25rem !important;
  transition: transform .2s, box-shadow .2s !important;
}

.tk-product-card:hover,
.woocommerce ul.products li.product:hover {
  transform: translateY(-3px) !important;
  box-shadow: 0 8px 24px rgba(0,0,0,.3) !important;
}

/* Badge label (COUP DE COEUR / RUPTURE IMMINENTE) */
.tk-badge,
.product-badge {
  display: inline-flex;
  align-items: center;
  gap: .3rem;
  font-size: .7rem;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  margin-bottom: .6rem;
}

.tk-badge-star { color: #f59e0b; }
.tk-badge-fire { color: #ef4444; }

/* Prix produit */
.tk-product-price,
.woocommerce ul.products li.product .price {
  font-size: 1.15rem !important;
  font-weight: 700 !important;
  color: var(--tk-white) !important;
}

.tk-product-price del,
.woocommerce ul.products li.product .price del {
  font-size: .85rem !important;
  color: rgba(255,255,255,.45) !important;
  font-weight: 400 !important;
  margin-right: .4rem !important;
}

/* Badge état */
.tk-condition,
.condition-badge {
  display: inline-block;
  padding: .25rem .65rem;
  border-radius: 20px;
  font-size: .7rem;
  font-weight: 700;
}

.tk-condition-good,
.condition-good { background: var(--tk-green); color: var(--tk-white); }
.tk-condition-ok,
.condition-ok { background: #ca8a04; color: var(--tk-white); }
.tk-condition-new,
.condition-new { background: var(--tk-blue); color: var(--tk-white); }

/* =========================================
   BARRE DE FEATURES (100% testé, etc.)
   ========================================= */
.tk-features-bar,
.features-bar {
  background: var(--tk-white);
  border-top: 1px solid #e5e7eb;
  border-bottom: 1px solid #e5e7eb;
}

.tk-features-bar .tk-feature,
.features-bar .feature-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding: 2rem 1rem;
  border-right: 1px solid #e5e7eb;
  flex: 1;
}

.tk-features-bar .tk-feature:last-child,
.features-bar .feature-item:last-child { border-right: none; }

.tk-feature-icon {
  width: 2.5rem;
  height: 2.5rem;
  color: var(--tk-blue);
  margin-bottom: .75rem;
}

.tk-feature-title {
  font-size: .95rem;
  font-weight: 700;
  margin-bottom: .3rem;
  color: var(--tk-text);
}

.tk-feature-desc {
  font-size: .8rem;
  color: var(--tk-muted);
  line-height: 1.4;
}

/* =========================================
   GRILLE CATEGORIES
   ========================================= */
.tk-category-grid,
.product-categories-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1rem;
  padding: 3rem 0;
}

.tk-category-card,
.product-category-card {
  background: var(--tk-cream) !important;
  border-radius: var(--tk-radius) !important;
  padding: 2rem 1.5rem !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  text-align: center !important;
  cursor: pointer !important;
  transition: background .2s, transform .2s !important;
  border: 1px solid var(--tk-cream-dark) !important;
}

.tk-category-card:hover,
.product-category-card:hover {
  background: var(--tk-cream-dark) !important;
  transform: translateY(-2px) !important;
}

.tk-category-icon {
  width: 3rem;
  height: 3rem;
  color: var(--tk-blue);
  margin-bottom: 1rem;
}

.tk-category-name {
  font-size: .95rem;
  font-weight: 700;
  color: var(--tk-text);
  margin-bottom: .25rem;
}

.tk-category-count {
  font-size: .8rem;
  color: var(--tk-muted);
}

/* WooCommerce product categories */
.woocommerce .product-categories li,
ul.product_categories li {
  background: var(--tk-cream) !important;
  border-radius: var(--tk-radius) !important;
  border: 1px solid var(--tk-cream-dark) !important;
  transition: background .2s !important;
}

.woocommerce .product-categories li:hover {
  background: var(--tk-cream-dark) !important;
}

/* =========================================
   SECTION TITRES (NOUVEAUX ARRIVAGES, etc.)
   ========================================= */
.tk-section-title,
.section-title {
  font-size: 1rem;
  font-weight: 900;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--tk-text);
}

.tk-section-title span,
.section-title .accent {
  color: var(--tk-blue);
}

.tk-section-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 1.5rem;
}

.tk-voir-tout {
  font-size: .8rem;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--tk-blue);
}

.tk-voir-tout:hover { text-decoration: underline; }

/* =========================================
   PRODUCT CARDS (fond clair, liste produits)
   ========================================= */
.tk-product-light,
.woocommerce ul.products.columns-3 li.product,
.elementor-posts-container .elementor-post {
  background: var(--tk-white) !important;
  border: 1px solid #e5e7eb !important;
  border-radius: var(--tk-radius) !important;
  padding: 1.5rem !important;
  box-shadow: var(--tk-shadow) !important;
  transition: transform .2s, box-shadow .2s !important;
}

.tk-product-light:hover,
.woocommerce ul.products.columns-3 li.product:hover {
  transform: translateY(-3px) !important;
  box-shadow: 0 8px 24px rgba(13,27,42,.12) !important;
}

/* Placeholder icone produit */
.tk-product-icon-placeholder {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 140px;
  color: var(--tk-blue);
  opacity: .7;
  margin-bottom: 1rem;
}

/* Nom produit */
.tk-product-name,
.woocommerce ul.products li.product .woocommerce-loop-product__title {
  font-size: .95rem !important;
  font-weight: 700 !important;
  color: var(--tk-text) !important;
  margin-bottom: .4rem !important;
}

/* Specs produit (texte secondaire) */
.tk-product-specs {
  font-size: .75rem;
  color: var(--tk-blue);
  font-family: 'Courier New', monospace;
  margin-bottom: .75rem;
  line-height: 1.5;
}

/* Prix avec barré */
.tk-price-wrapper {
  display: flex;
  align-items: center;
  gap: .5rem;
  flex-wrap: wrap;
  margin-bottom: .5rem;
}

.tk-price-old {
  font-size: .82rem;
  color: var(--tk-muted);
  text-decoration: line-through;
}

.tk-price-new {
  font-size: 1rem;
  font-weight: 700;
  color: var(--tk-text);
}

/* WooCommerce prices */
.woocommerce ul.products li.product .price {
  display: flex !important;
  align-items: center !important;
  gap: .5rem !important;
  flex-wrap: wrap !important;
}

.woocommerce ul.products li.product .price del {
  color: var(--tk-muted) !important;
  font-size: .82rem !important;
}

.woocommerce ul.products li.product .price ins {
  font-weight: 700 !important;
  font-size: 1rem !important;
  text-decoration: none !important;
  color: var(--tk-text) !important;
}

/* =========================================
   BANNIÈRE OFFRE SPÉCIALE
   ========================================= */
.tk-promo-banner,
.promo-banner,
.special-offer-banner {
  background: var(--tk-navy) !important;
  border-radius: var(--tk-radius) !important;
  padding: 3rem !important;
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  margin: 3rem 0 !important;
  color: var(--tk-white) !important;
}

.tk-promo-banner .tk-promo-label,
.promo-banner .promo-label {
  font-size: .75rem;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: rgba(255,255,255,.6);
  margin-bottom: .75rem;
}

.tk-promo-banner h2,
.promo-banner h2 {
  font-size: 1.75rem !important;
  font-weight: 800 !important;
  color: var(--tk-white) !important;
  margin-bottom: .5rem !important;
}

.tk-promo-banner p,
.promo-banner p {
  font-size: .9rem;
  color: rgba(255,255,255,.7);
}

.tk-promo-icon {
  width: 4rem;
  height: 4rem;
  color: var(--tk-blue);
  opacity: .8;
}

/* =========================================
   WOOCOMMERCE GLOBAL
   ========================================= */

/* Bouton Ajouter au panier */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit {
  background: var(--tk-blue) !important;
  color: var(--tk-white) !important;
  border-radius: 6px !important;
  font-weight: 600 !important;
  font-size: .85rem !important;
  padding: .65rem 1.4rem !important;
  border: none !important;
  transition: background .2s !important;
}

.woocommerce a.button:hover,
.woocommerce button.button:hover {
  background: var(--tk-blue-dark) !important;
  color: var(--tk-white) !important;
}

.woocommerce a.button.alt,
.woocommerce button.button.alt {
  background: var(--tk-navy) !important;
}

.woocommerce a.button.alt:hover {
  background: var(--tk-navy-light) !important;
}

/* Grille produits WooCommerce */
.woocommerce ul.products {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 1.5rem !important;
}

@media (max-width: 768px) {
  .woocommerce ul.products {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}

@media (max-width: 480px) {
  .woocommerce ul.products {
    grid-template-columns: 1fr !important;
  }
}

/* Stars */
.woocommerce .star-rating span::before,
.woocommerce .star-rating::before {
  color: #f59e0b !important;
}

/* Sale badge */
.woocommerce ul.products li.product .onsale {
  background: var(--tk-blue) !important;
  border-radius: 20px !important;
  font-size: .7rem !important;
  font-weight: 700 !important;
}

/* =========================================
   FOOTER
   ========================================= */
#footer,
.site-footer,
footer.footer {
  background: var(--tk-navy) !important;
  color: rgba(255,255,255,.8) !important;
  padding: 3rem 0 1.5rem !important;
}

.site-footer a,
footer.footer a {
  color: rgba(255,255,255,.7) !important;
  transition: color .2s !important;
}

.site-footer a:hover,
footer.footer a:hover {
  color: var(--tk-white) !important;
}

.site-footer .footer-title,
footer .widget-title {
  color: var(--tk-white) !important;
  font-weight: 700 !important;
  margin-bottom: 1rem !important;
}

/* =========================================
   CONTAINER & LAYOUT
   ========================================= */
.container,
.ct-container,
.entry-content,
.site-content {
  max-width: 1200px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 1.5rem !important;
  padding-right: 1.5rem !important;
}

/* =========================================
   ELEMENTOR OVERRIDES
   ========================================= */
.elementor-section.elementor-section-boxed > .elementor-container {
  max-width: 1200px !important;
}

/* Section navy dans Elementor */
.elementor-section[data-settings*="navy"],
.e-con[style*="background-color: rgb(13, 27, 42)"],
.elementor-section.tk-dark-bg {
  background-color: var(--tk-navy) !important;
}

/* Titres Elementor */
.elementor-heading-title {
  font-family: 'Inter', sans-serif !important;
  font-weight: 800 !important;
}

/* =========================================
   BREADCRUMBS
   ========================================= */
.woocommerce .woocommerce-breadcrumb,
nav.woocommerce-breadcrumb {
  font-size: .8rem !important;
  color: var(--tk-muted) !important;
}

.woocommerce .woocommerce-breadcrumb a {
  color: var(--tk-blue) !important;
}

/* =========================================
   SINGLE PRODUCT
   ========================================= */
.woocommerce div.product .product_title {
  font-family: 'Inter', sans-serif !important;
  font-weight: 800 !important;
  font-size: 1.75rem !important;
  color: var(--tk-text) !important;
}

.woocommerce div.product p.price {
  color: var(--tk-text) !important;
  font-size: 1.5rem !important;
  font-weight: 700 !important;
}

/* =========================================
   PAGE HERO (À PROPOS / CONTACT)
   ========================================= */
.tk-page-hero {
  background: var(--tk-navy);
  color: #fff;
  padding: 5rem 2rem;
  text-align: center;
}

.tk-page-hero-inner {
  max-width: 800px;
  margin: auto;
}

.tk-page-hero h1 {
  font-size: clamp(1.8rem, 4vw, 2.8rem);
  font-weight: 800;
  line-height: 1.2;
  color: #fff;
  margin: 1rem 0;
}

.tk-page-hero h1 span { color: var(--tk-blue); }

.tk-page-hero p {
  color: rgba(255,255,255,.75);
  font-size: 1.05rem;
  max-width: 560px;
  margin: 0 auto;
  line-height: 1.7;
}

/* =========================================
   PAGE À PROPOS
   ========================================= */
.tk-about-section {
  padding: 5rem 0;
}

.tk-about-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 3rem;
  align-items: start;
}

.tk-about-text h2 {
  font-size: 1.6rem;
  font-weight: 800;
  margin-bottom: 1.25rem;
  color: var(--tk-text);
}

.tk-about-text p {
  color: #4b5563;
  line-height: 1.75;
  margin-bottom: 1rem;
  font-size: .97rem;
}

.tk-about-values {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
}

.tk-value-card {
  background: var(--tk-cream);
  border: 1px solid var(--tk-cream-dark);
  border-radius: var(--tk-radius);
  padding: 1.5rem;
  transition: transform .2s;
}

.tk-value-card:hover { transform: translateY(-2px); }

.tk-value-icon {
  color: var(--tk-blue);
  margin-bottom: .6rem;
}

.tk-value-card h3 {
  font-size: .9rem;
  font-weight: 700;
  margin-bottom: .4rem;
  color: var(--tk-text);
}

.tk-value-card p {
  font-size: .82rem;
  color: var(--tk-muted);
  line-height: 1.6;
  margin: 0;
}

/* Section Pourquoi */
.tk-about-why {
  background: var(--tk-cream);
  padding: 5rem 0;
}

.tk-why-title {
  text-align: center;
  font-size: 1.4rem;
  font-weight: 800;
  margin-bottom: 3rem;
  color: var(--tk-text);
}

.tk-why-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2rem;
  text-align: center;
}

.tk-why-number {
  font-size: 3.5rem;
  font-weight: 900;
  color: var(--tk-blue);
  margin-bottom: .5rem;
  line-height: 1;
}

.tk-why-item p {
  color: #4b5563;
  font-size: .9rem;
  line-height: 1.6;
  max-width: 240px;
  margin: 0 auto;
}

/* CTA À propos */
.tk-about-cta {
  background: var(--tk-navy);
  color: #fff;
  text-align: center;
  padding: 5rem 2rem;
}

.tk-about-cta h2 {
  font-size: 1.75rem;
  font-weight: 800;
  color: #fff !important;
  margin-bottom: 1rem;
}

.tk-about-cta p {
  color: rgba(255,255,255,.7);
  margin-bottom: 2rem;
  font-size: .97rem;
}

.tk-cta-btn {
  display: inline-block;
  padding: .85rem 2.25rem;
  background: var(--tk-blue);
  color: #fff !important;
  border-radius: 6px;
  font-weight: 700;
  font-size: .88rem;
  text-transform: uppercase;
  letter-spacing: .08em;
  text-decoration: none;
  transition: background .2s;
}

.tk-cta-btn:hover { background: var(--tk-blue-dark); }

/* =========================================
   PAGE CONTACT
   ========================================= */
.tk-contact-body {
  padding: 5rem 0;
}

.tk-contact-grid {
  display: grid;
  grid-template-columns: 1fr 1.5fr;
  gap: 4rem;
  align-items: start;
}

.tk-contact-info h2,
.tk-contact-form-wrap h2 {
  font-size: 1.35rem;
  font-weight: 800;
  margin-bottom: 2rem;
  color: var(--tk-text);
}

.tk-contact-item {
  display: flex;
  gap: 1rem;
  align-items: flex-start;
  margin-bottom: 1.75rem;
}

.tk-contact-icon {
  flex-shrink: 0;
  width: 44px;
  height: 44px;
  background: #eff6ff;
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--tk-blue);
}

.tk-contact-item strong {
  display: block;
  font-size: .85rem;
  font-weight: 700;
  color: var(--tk-text);
  margin-bottom: .25rem;
}

.tk-contact-item p {
  font-size: .88rem;
  color: #4b5563;
  margin: 0;
  line-height: 1.5;
}

.tk-contact-item small {
  font-size: .78rem;
  color: var(--tk-muted);
}

.tk-contact-social { margin-top: 2.5rem; }

.tk-social-label {
  font-size: .85rem;
  font-weight: 700;
  color: var(--tk-text);
  margin-bottom: .75rem;
}

.tk-social-links {
  display: flex;
  gap: 1rem;
}

.tk-social-link {
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  font-size: .85rem;
  font-weight: 600;
  color: var(--tk-blue) !important;
  text-decoration: none;
  transition: opacity .2s;
}

.tk-social-link:hover { opacity: .75; }

/* Formulaire */
.tk-contact-form-wrap {
  background: var(--tk-cream);
  border-radius: 12px;
  padding: 2.5rem;
  border: 1px solid var(--tk-cream-dark);
}

.tk-form-row { margin-bottom: 1.25rem; }

.tk-form-row label {
  display: block;
  font-size: .82rem;
  font-weight: 600;
  color: var(--tk-text);
  margin-bottom: .4rem;
}

.tk-contact-form input,
.tk-contact-form select,
.tk-contact-form textarea {
  width: 100%;
  padding: .75rem 1rem;
  border: 1.5px solid #e5e7eb;
  border-radius: 8px;
  font-family: 'Inter', sans-serif;
  font-size: .9rem;
  color: var(--tk-text);
  background: #fff;
  transition: border-color .2s;
  outline: none;
  box-sizing: border-box;
}

.tk-contact-form input:focus,
.tk-contact-form select:focus,
.tk-contact-form textarea:focus {
  border-color: var(--tk-blue);
  box-shadow: 0 0 0 3px rgba(59,130,246,.12);
}

.tk-contact-form textarea {
  resize: vertical;
  min-height: 130px;
}

.tk-btn-submit {
  width: 100%;
  padding: .9rem;
  background: var(--tk-navy);
  color: #fff;
  border: none;
  border-radius: 8px;
  font-family: 'Inter', sans-serif;
  font-size: .9rem;
  font-weight: 700;
  letter-spacing: .05em;
  cursor: pointer;
  transition: background .2s;
  margin-top: .5rem;
}

.tk-btn-submit:hover { background: var(--tk-blue); }

/* =========================================
   ARCHIVE PRODUITS — LISTING
   ========================================= */

/* --- Hero banner --- */
.tk-archive-hero {
  background: var(--tk-navy);
  padding: 2.25rem 0;
  overflow: hidden;
}

.tk-archive-hero-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2rem;
}

.tk-archive-breadcrumb {
  display: flex;
  align-items: center;
  gap: .4rem;
  font-size: .78rem;
  color: rgba(255,255,255,.55);
  margin-bottom: .65rem;
}

.tk-archive-breadcrumb a { color: rgba(255,255,255,.55); }
.tk-archive-breadcrumb a:hover { color: #fff; }
.tk-sep { color: rgba(255,255,255,.35); }

.tk-archive-title {
  font-size: 1.75rem;
  font-weight: 800;
  color: #fff !important;
  margin: 0 0 .3rem;
  line-height: 1.2;
}

.tk-archive-count {
  font-size: .82rem;
  font-weight: 600;
  color: var(--tk-blue);
  margin: 0;
}

.tk-archive-cat-icon {
  flex-shrink: 0;
  width: 72px;
  height: 72px;
  opacity: .45;
  color: #fff;
}

.tk-archive-cat-icon svg { width: 100%; height: 100%; }

/* --- Layout 2 colonnes --- */
.tk-archive-layout {
  display: grid;
  grid-template-columns: 210px 1fr;
  gap: 2.5rem;
  padding: 2.25rem 0 5rem;
  align-items: start;
}

/* --- Sidebar filtres --- */
.tk-filter-sidebar {
  position: sticky;
  top: 90px;
}

.tk-filter-group {
  padding-bottom: 1.4rem;
  margin-bottom: 1.4rem;
  border-bottom: 1px solid #e5e7eb;
}

.tk-filter-group:last-child { border-bottom: none; margin-bottom: 0; }

.tk-filter-group h3 {
  font-size: .68rem;
  font-weight: 800;
  letter-spacing: .13em;
  text-transform: uppercase;
  color: var(--tk-navy);
  margin: 0 0 .8rem;
}

.tk-filter-list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.tk-filter-list li { margin-bottom: .35rem; }

.tk-filter-list a {
  display: flex;
  align-items: center;
  gap: .5rem;
  font-size: .82rem;
  color: #374151;
  text-decoration: none;
  transition: color .15s;
}

.tk-filter-list a:hover,
.tk-filter-list a.tk-active { color: var(--tk-navy); font-weight: 600; }

/* Checkbox custom */
.tk-cb {
  flex-shrink: 0;
  width: 15px;
  height: 15px;
  border: 2px solid #d1d5db;
  border-radius: 3px;
  background: #fff;
  display: inline-block;
  transition: background .15s, border-color .15s;
}

.tk-cb.tk-cb-on {
  background: var(--tk-blue);
  border-color: var(--tk-blue);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2 6l3 3 5-5' stroke='%23fff' stroke-width='2' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
  background-size: 10px;
  background-position: center;
  background-repeat: no-repeat;
}

.tk-fc {
  margin-left: auto;
  font-size: .74rem;
  color: var(--tk-muted);
}

/* Filtre prix */
.tk-price-form { display: flex; flex-direction: column; gap: .65rem; }

.tk-price-row {
  display: flex;
  align-items: center;
  gap: .4rem;
}

.tk-pi {
  width: 72px;
  padding: .45rem .5rem;
  border: 1.5px solid #e5e7eb;
  border-radius: 6px;
  font-size: .78rem;
  font-family: 'Inter', sans-serif;
  color: var(--tk-text);
  background: #fff;
}

.tk-pi:focus { border-color: var(--tk-blue); outline: none; }

.tk-pdash { color: var(--tk-muted); font-size: .85rem; }

.tk-price-ok {
  align-self: flex-start;
  padding: .35rem .9rem;
  background: var(--tk-navy);
  color: #fff;
  border: none;
  border-radius: 5px;
  font-family: 'Inter', sans-serif;
  font-size: .75rem;
  font-weight: 700;
  cursor: pointer;
  transition: background .15s;
}

.tk-price-ok:hover { background: var(--tk-blue); }

/* --- Toolbar --- */
.tk-archive-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 1.25rem;
  gap: 1rem;
}

.tk-archive-toolbar .woocommerce-ordering { margin: 0; }

.tk-archive-toolbar .woocommerce-ordering select {
  border: 1.5px solid #e5e7eb !important;
  border-radius: 8px !important;
  padding: .5rem 2.25rem .5rem .9rem !important;
  font-family: 'Inter', sans-serif !important;
  font-size: .82rem !important;
  color: var(--tk-text) !important;
  background-color: #fff !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%236b7280' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right .7rem center !important;
  -webkit-appearance: none !important;
  appearance: none !important;
  cursor: pointer !important;
}

.tk-view-toggle { display: flex; gap: .4rem; }

.tk-view-btn {
  width: 35px;
  height: 35px;
  border: 1.5px solid #e5e7eb;
  border-radius: 7px;
  background: #fff;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #9ca3af;
  transition: border-color .15s, color .15s;
}

.tk-view-btn.active,
.tk-view-btn:hover {
  border-color: var(--tk-blue);
  color: var(--tk-blue);
}

/* --- Grille produits (archive) --- */
.tk-archive-main .products.columns-3,
.tk-archive-main ul.products {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 1.1rem !important;
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* --- Neutraliser les styles globaux dark/light sur tk-lp-card --- */
.woocommerce ul.products li.product.tk-lp-card,
.woocommerce ul.products.columns-3 li.product.tk-lp-card {
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
  box-shadow: none !important;
}

.woocommerce ul.products li.product.tk-lp-card:hover {
  transform: none !important;
  box-shadow: none !important;
}

/* Prix lisible (blanc → navy) dans les cartes listing */
li.product.tk-lp-card .price,
li.product.tk-lp-card .price .woocommerce-Price-amount,
li.product.tk-lp-card .price bdi {
  color: var(--tk-navy) !important;
  font-size: .88rem !important;
}

li.product.tk-lp-card .price del,
li.product.tk-lp-card .price del .woocommerce-Price-amount,
li.product.tk-lp-card .price del bdi {
  color: var(--tk-muted) !important;
  font-size: .75rem !important;
}

li.product.tk-lp-card .price ins {
  text-decoration: none !important;
}

/* Titre lisible */
li.product.tk-lp-card .woocommerce-loop-product__title {
  color: var(--tk-text) !important;
}

/* --- Cartes produit (listing) --- */
li.tk-lp-card {
  list-style: none;
}

.tk-lp-link {
  display: flex;
  flex-direction: column;
  background: #fff;
  border: 1.5px solid #e8eaed;
  border-radius: 10px;
  overflow: hidden;
  text-decoration: none;
  color: var(--tk-text);
  transition: box-shadow .2s, transform .18s;
  position: relative;
  height: 100%;
}

.tk-lp-link:hover {
  box-shadow: 0 6px 22px rgba(0,0,0,.1);
  transform: translateY(-2px);
}

/* Badge état */
.tk-lp-badge {
  position: absolute;
  top: .65rem;
  left: .65rem;
  z-index: 2;
  font-size: .68rem;
  font-weight: 700;
  padding: .22rem .6rem;
  border-radius: 20px;
}

.tk-badge--neuf    { background: #d1fae5; color: #065f46; }
.tk-badge--tresbien { background: #dbeafe; color: #1e40af; }
.tk-badge--bien    { background: #fef3c7; color: #92400e; }

/* Zone image */
.tk-lp-img {
  aspect-ratio: 1;
  background: #f8f9fb;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  padding: .75rem;
}

.tk-lp-img img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.tk-lp-icon {
  width: 65%;
  height: 65%;
  display: flex;
  align-items: center;
  justify-content: center;
}

.tk-lp-icon svg { width: 100%; height: 100%; }

/* Corps */
.tk-lp-body {
  padding: .85rem 1rem 1rem;
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: .2rem;
}

.tk-lp-title {
  font-size: .82rem;
  font-weight: 700;
  color: var(--tk-text);
  margin: 0;
  line-height: 1.4;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.tk-lp-specs {
  font-size: .72rem;
  color: var(--tk-muted);
  margin: 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.tk-lp-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: auto;
  padding-top: .6rem;
}

.tk-lp-price .woocommerce-Price-amount {
  font-size: .95rem;
  font-weight: 800;
  color: var(--tk-navy);
}

.tk-lp-price del {
  font-size: .74rem;
  color: var(--tk-muted);
  margin-right: .2rem;
}

.tk-lp-price ins { text-decoration: none; }

.tk-lp-heart {
  background: none;
  border: none;
  padding: .25rem;
  cursor: pointer;
  color: #d1d5db;
  line-height: 1;
  transition: color .15s;
}

.tk-lp-heart:hover { color: #ef4444; }

/* Aucun produit */
.tk-no-products {
  text-align: center;
  color: var(--tk-muted);
  padding: 4rem 0;
  font-size: .95rem;
}

/* --- Pagination --- */
.tk-archive-pagination { margin-top: 2rem; display: flex; justify-content: center; }

.tk-archive-pagination .woocommerce-pagination ul {
  display: flex;
  gap: .4rem;
  list-style: none;
  margin: 0;
  padding: 0;
}

.tk-archive-pagination .woocommerce-pagination ul li a,
.tk-archive-pagination .woocommerce-pagination ul li span {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 36px;
  height: 36px;
  padding: 0 .6rem;
  border-radius: 7px;
  border: 1.5px solid #e5e7eb;
  font-size: .82rem;
  font-weight: 600;
  color: var(--tk-text);
  text-decoration: none;
  transition: all .15s;
}

.tk-archive-pagination .woocommerce-pagination ul li a:hover {
  border-color: var(--tk-blue);
  color: var(--tk-blue);
}

.tk-archive-pagination .woocommerce-pagination ul li span.current {
  background: var(--tk-blue);
  border-color: var(--tk-blue);
  color: #fff;
}

/* =========================================
   PAGE PANIER (CART)
   ========================================= */

.tk-cart-wrap {
  padding: 3rem 0 5rem;
}

.tk-cart-title {
  font-size: 1.5rem;
  font-weight: 800;
  margin-bottom: 2rem;
  color: var(--tk-navy);
}

.tk-cart-layout {
  display: grid;
  grid-template-columns: 1fr 320px;
  gap: 2.5rem;
  align-items: start;
}

/* Tableau des articles */
.tk-cart-items .shop_table {
  width: 100%;
  border-collapse: collapse;
  font-size: .9rem;
}

.tk-cart-items .shop_table th {
  font-size: .7rem;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--tk-muted);
  padding: .6rem 1rem;
  border-bottom: 2px solid #e5e7eb;
  text-align: left;
}

.tk-cart-items .shop_table td {
  padding: 1.1rem 1rem;
  border-bottom: 1px solid #f0f0f0;
  vertical-align: middle;
  color: var(--tk-text);
}

.tk-cart-items .product-thumbnail img {
  width: 70px;
  height: 70px;
  object-fit: contain;
  border-radius: 6px;
  background: #f9fafb;
}

.tk-cart-items .product-name a {
  font-weight: 600;
  color: var(--tk-navy);
}

.tk-cart-items .product-name a:hover { color: var(--tk-blue); }

.tk-cart-items .product-price,
.tk-cart-items .product-subtotal {
  font-weight: 700;
  color: var(--tk-navy);
}

.tk-cart-items .product-remove .remove {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: #fee2e2;
  color: #ef4444;
  font-size: 1rem;
  text-decoration: none;
  transition: background .15s;
}

.tk-cart-items .product-remove .remove:hover { background: #ef4444; color: #fff; }

/* Quantité */
.tk-cart-items .quantity input[type="number"] {
  width: 65px;
  padding: .45rem .5rem;
  border: 1.5px solid #e5e7eb;
  border-radius: 6px;
  font-family: 'Inter', sans-serif;
  font-size: .85rem;
  text-align: center;
  color: var(--tk-text);
}

/* Zone actions (coupon + update) */
.tk-cart-items .actions {
  padding: 1.25rem 1rem;
  background: #f9fafb;
  border-radius: 0 0 8px 8px;
}

.tk-cart-items .coupon {
  display: flex;
  align-items: center;
  gap: .6rem;
  margin-bottom: 1rem;
  flex-wrap: wrap;
}

.tk-cart-items .coupon label { font-size: .82rem; font-weight: 600; }

.tk-cart-items .coupon .input-text {
  padding: .5rem .8rem;
  border: 1.5px solid #e5e7eb;
  border-radius: 6px;
  font-family: 'Inter', sans-serif;
  font-size: .85rem;
  flex: 1;
  min-width: 140px;
  max-width: 220px;
}

/* Boutons panier */
.woocommerce-cart .woocommerce-cart-form .button,
.tk-cart-form .button {
  background: var(--tk-navy) !important;
  color: #fff !important;
  border: none !important;
  border-radius: 7px !important;
  padding: .6rem 1.25rem !important;
  font-family: 'Inter', sans-serif !important;
  font-size: .82rem !important;
  font-weight: 700 !important;
  cursor: pointer !important;
  transition: background .15s !important;
}

.woocommerce-cart .woocommerce-cart-form .button:hover,
.tk-cart-form .button:hover { background: var(--tk-blue) !important; }

/* Sidebar totaux */
.tk-cart-sidebar {
  position: sticky;
  top: 100px;
}

.tk-cart-sidebar .cart_totals {
  background: var(--tk-cream);
  border-radius: 12px;
  padding: 1.75rem;
  border: 1px solid #e5e7eb;
}

.tk-cart-sidebar .cart_totals h2 {
  font-size: 1rem;
  font-weight: 800;
  margin-bottom: 1.25rem;
  color: var(--tk-navy);
}

.tk-cart-sidebar .shop_table {
  width: 100%;
  border-collapse: collapse;
  margin-bottom: 1.25rem;
  font-size: .88rem;
}

.tk-cart-sidebar .shop_table th,
.tk-cart-sidebar .shop_table td {
  padding: .6rem 0;
  border-bottom: 1px solid #e9e9e9;
  vertical-align: middle;
}

.tk-cart-sidebar .shop_table th {
  font-weight: 600;
  color: var(--tk-muted);
  text-align: left;
}

.tk-cart-sidebar .shop_table .order-total th,
.tk-cart-sidebar .shop_table .order-total td {
  font-size: 1rem;
  font-weight: 800;
  color: var(--tk-navy);
  border-bottom: none;
  padding-top: .9rem;
}

.tk-cart-sidebar .wc-proceed-to-checkout .checkout-button {
  display: block !important;
  width: 100% !important;
  text-align: center !important;
  padding: .9rem !important;
  background: var(--tk-blue) !important;
  color: #fff !important;
  border-radius: 8px !important;
  font-weight: 700 !important;
  font-size: .9rem !important;
  text-decoration: none !important;
  transition: background .15s !important;
  border: none !important;
}

.tk-cart-sidebar .wc-proceed-to-checkout .checkout-button:hover {
  background: var(--tk-blue-dark) !important;
}

/* Cart vide */
.woocommerce-cart .cart-empty,
.woocommerce-info {
  background: var(--tk-cream);
  border-radius: 10px;
  padding: 2.5rem;
  text-align: center;
  font-size: .95rem;
  color: var(--tk-muted);
  border: 1px solid #e5e7eb;
}

.woocommerce-cart .return-to-shop .button {
  background: var(--tk-navy) !important;
  color: #fff !important;
  border-radius: 7px !important;
  padding: .7rem 1.5rem !important;
  font-weight: 700 !important;
}

@media (max-width: 768px) {
  .tk-cart-layout { grid-template-columns: 1fr; }
  .tk-cart-sidebar { position: static; }
  .tk-cart-items .shop_table th { display: none; }
  .tk-cart-items .shop_table td { display: flex; align-items: center; gap: .5rem; border-bottom: none; padding: .5rem 1rem; }
  .tk-cart-items .shop_table tr { border-bottom: 1px solid #e5e7eb; display: block; padding: 1rem 0; }
  .tk-cart-items .shop_table td::before { font-size: .7rem; font-weight: 700; color: var(--tk-muted); text-transform: uppercase; content: attr(data-title) ': '; }
}

/* =========================================
   SINGLE PRODUCT PAGE
   ========================================= */

.tk-container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 1.5rem;
}

/* Description */
.tk-product-description {
  padding: 3.5rem 0;
  border-top: 2px solid #e5e7eb;
}

.tk-section-title {
  font-size: 1rem;
  font-weight: 800;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--tk-navy);
  margin: 0 0 1.75rem;
  padding-bottom: .75rem;
  border-bottom: 3px solid var(--tk-blue);
  display: inline-block;
}

.tk-product-desc-content {
  color: #374151;
  line-height: 1.9;
  font-size: .95rem;
  max-width: 780px;
}

.tk-product-desc-content p { margin: 0 0 1rem; }

/* Fiche technique */
.tk-fiche-technique {
  padding: 3.5rem 0;
  background: var(--tk-cream);
}

.tk-specs-table {
  width: 100%;
  max-width: 680px;
  border-collapse: collapse;
  font-size: .9rem;
  border-radius: 8px;
  overflow: hidden;
  box-shadow: var(--tk-shadow);
}

.tk-specs-table th,
.tk-specs-table td {
  padding: .85rem 1.25rem;
  text-align: left;
  border-bottom: 1px solid #e5e7eb;
}

.tk-specs-table th {
  font-weight: 700;
  color: var(--tk-navy);
  width: 210px;
  background: #fff;
  font-size: .82rem;
  text-transform: uppercase;
  letter-spacing: .04em;
}

.tk-specs-table td {
  color: #374151;
  background: #fafafa;
}

.tk-specs-table tr:last-child th,
.tk-specs-table tr:last-child td { border-bottom: none; }

.tk-spec-empty { color: #9ca3af; }

/* Vous aimerez aussi */
.tk-vous-aimerez {
  padding: 3.5rem 0 5rem;
}

.tk-related-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem;
  margin-top: .25rem;
}

.tk-related-card {
  display: flex;
  flex-direction: column;
  background: var(--tk-cream);
  border-radius: 10px;
  overflow: hidden;
  text-decoration: none;
  color: var(--tk-text);
  border: 1px solid #e5e7eb;
  transition: transform .2s, box-shadow .2s;
}

.tk-related-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 10px 28px rgba(0,0,0,.1);
}

.tk-related-img {
  aspect-ratio: 4/3;
  overflow: hidden;
  background: #f9fafb;
  display: flex;
  align-items: center;
  justify-content: center;
}

.tk-related-img img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  padding: .5rem;
}

.tk-related-img--placeholder { font-size: 3rem; color: var(--tk-muted); }

.tk-related-body { padding: 1.1rem 1.25rem 1.5rem; flex: 1; }

.tk-related-cat {
  display: inline-block;
  font-size: .7rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .07em;
  color: var(--tk-blue);
  margin-bottom: .4rem;
}

.tk-related-body h3 {
  font-size: .88rem;
  font-weight: 700;
  margin: 0 0 .6rem;
  color: var(--tk-text);
  line-height: 1.4;
}

.tk-related-price {
  font-size: 1.05rem;
  font-weight: 800;
  color: var(--tk-navy);
}

.tk-related-price .woocommerce-Price-amount { color: var(--tk-navy); }

/* =========================================
   RESPONSIVE
   ========================================= */
@media (max-width: 1024px) {
  .tk-category-grid { grid-template-columns: repeat(2, 1fr) !important; }
}

@media (max-width: 1024px) {
  .tk-archive-layout { grid-template-columns: 185px 1fr; gap: 1.75rem; }
  .tk-archive-main .products.columns-3,
  .tk-archive-main ul.products { grid-template-columns: repeat(2, 1fr) !important; }
}

@media (max-width: 768px) {
  .tk-category-grid { grid-template-columns: repeat(2, 1fr) !important; }
  .tk-hero, .hero-section { padding: 3rem 1.25rem !important; min-height: auto !important; }
  .tk-promo-banner { flex-direction: column !important; text-align: center !important; }
  .tk-about-grid { grid-template-columns: 1fr; }
  .tk-about-values { grid-template-columns: 1fr 1fr; }
  .tk-why-grid { grid-template-columns: 1fr; gap: 2rem; }
  .tk-contact-grid { grid-template-columns: 1fr; gap: 2rem; }
  .tk-related-grid { grid-template-columns: 1fr; }
  .tk-specs-table { max-width: 100%; }
  .tk-specs-table th { width: 140px; }
  .tk-archive-layout { grid-template-columns: 1fr; }
  .tk-filter-sidebar { position: static; }
  .tk-archive-main .products.columns-3,
  .tk-archive-main ul.products { grid-template-columns: repeat(2, 1fr) !important; }
}

@media (max-width: 480px) {
  .tk-category-grid { grid-template-columns: 1fr !important; }
  .tk-about-values { grid-template-columns: 1fr; }
  .tk-archive-main ul.products { grid-template-columns: 1fr !important; }
}

/* =========================================
   RESPONSIVE GLOBAL — MOBILE
   ========================================= */
@media (max-width: 768px) {

  /* Hero home */
  .tk-hero-inner { grid-template-columns: 1fr !important; }
  .tk-hero-cards { display: none !important; }
  .tk-hero h1 { font-size: clamp(1.6rem, 7vw, 2.2rem) !important; }

  /* Features bar */
  .tk-features-grid,
  .features-grid { grid-template-columns: repeat(2, 1fr) !important; }

  /* Grille catégories */
  .tk-category-grid { grid-template-columns: repeat(2, 1fr) !important; }

  /* Archive hero */
  .tk-archive-hero-inner { flex-direction: column !important; align-items: flex-start !important; gap: .75rem !important; }
  .tk-archive-cat-icon { display: none !important; }
  .tk-archive-title { font-size: 1.35rem !important; }

  /* Archive layout : sidebar collapsible */
  .tk-archive-layout { grid-template-columns: 1fr !important; gap: 1.25rem !important; }
  .tk-filter-sidebar { position: static !important; }

  /* Toolbar */
  .tk-archive-toolbar { flex-wrap: wrap !important; }
  .tk-view-toggle { margin-left: auto !important; }

  /* Produits listing 2 cols sur mobile */
  .tk-archive-main ul.products,
  .tk-archive-main .products.columns-3 {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: .75rem !important;
  }

  .tk-lp-body { padding: .7rem .75rem .9rem !important; }
  .tk-lp-title { font-size: .78rem !important; }

  /* Single product */
  .tk-fiche-technique .tk-container,
  .tk-product-description .tk-container,
  .tk-vous-aimerez .tk-container { padding: 0 1rem !important; }
  .tk-related-grid { grid-template-columns: 1fr !important; }
  .woocommerce div.product .images,
  .woocommerce div.product .summary { float: none !important; width: 100% !important; }

  /* Panier */
  .tk-cart-layout { grid-template-columns: 1fr !important; }
  .tk-cart-sidebar { position: static !important; }
  .tk-cart-items .shop_table thead { display: none !important; }
  .tk-cart-items .shop_table tr { display: grid !important; grid-template-columns: 70px 1fr !important; gap: .5rem !important; padding: 1rem 0 !important; border-bottom: 1px solid #e5e7eb !important; }
  .tk-cart-items .shop_table td { padding: 0 !important; border: none !important; display: flex !important; align-items: center !important; }
  .tk-cart-items .shop_table .product-thumbnail { grid-row: 1 / 3 !important; }
  .tk-cart-items .shop_table .product-name { font-weight: 700 !important; }
  .tk-cart-items .shop_table .product-price,
  .tk-cart-items .shop_table .product-quantity,
  .tk-cart-items .shop_table .product-subtotal { font-size: .82rem !important; }
  .tk-cart-items .shop_table .product-remove { position: absolute !important; right: 0 !important; }

  /* Page à propos */
  .tk-about-grid { grid-template-columns: 1fr !important; }
  .tk-why-grid { grid-template-columns: 1fr !important; }
  .tk-about-values { grid-template-columns: repeat(2, 1fr) !important; }

  /* Page contact */
  .tk-contact-grid { grid-template-columns: 1fr !important; }

  /* Sections padding */
  .tk-section, [class*="tk-about"], [class*="tk-contact"],
  .tk-product-description, .tk-fiche-technique, .tk-vous-aimerez {
    padding-left: 1rem !important;
    padding-right: 1rem !important;
  }

  /* Containers */
  .tk-container { padding: 0 1rem !important; }
}

/* =========================================
   HEADER TRANSPARENT SUR FOND SOMBRE (page accueil)
   Fix: liens nav visibles en blanc sur hero navy
   ========================================= */
.home #header,
.home .site-header,
.home header.header,
.home .ct-header,
[data-header*=type-1] #header,
[data-header*=type-1] .ct-header {
  background: transparent !important;
}

/* Liens nav blancs sur header transparent/sombre */
.home #header .menu-container ul.menu li a,
.home #header .menu-container ul.menu li a.ct-menu-link,
.home #header-menu-1 ul.menu li a,
.home #header-menu-1 ul.menu li a.ct-menu-link,
[data-header*=type-1] #header .menu-container ul.menu li a,
[data-header*=type-1] #header .menu-container ul.menu li a.ct-menu-link {
  color: #ffffff !important;
}

/* Item actif : bleu clair visible sur fond sombre */
.home #header .menu-container ul.menu li.current-menu-item > a,
.home #header-menu-1 ul.menu li.current-menu-item > a,
[data-header*=type-1] #header .menu-container ul.menu li.current-menu-item > a {
  color: var(--tk-blue) !important;
  border-bottom-color: var(--tk-blue) !important;
}

/* Hover sur fond sombre */
.home #header .menu-container ul.menu li a:hover,
.home #header-menu-1 ul.menu li a:hover {
  color: var(--tk-blue) !important;
  border-bottom-color: var(--tk-blue) !important;
}

/* Icones header (search, compte, panier) en blanc sur fond sombre */
.home .ct-header-icons svg,
.home .ct-header-search svg,
.home .ct-header-account svg,
.home .ct-header-cart svg,
[data-header*=type-1] .ct-header-icons svg,
[data-header*=type-1] .ct-header-search svg,
[data-header*=type-1] .ct-header-account svg,
[data-header*=type-1] .ct-header-cart svg {
  color: #ffffff !important;
  fill: #ffffff !important;
}

/* =====================================================
   RESPONSIVE MOBILE — TECHOKAZ
   Couvre : header, hero, produits, footer, checkout
   ===================================================== */

/* 0. Eviter le debordement horizontal — safe pour les menus fixes */
html {
  overflow-x: hidden;
}
/* NE PAS mettre overflow-x sur body : ca bloque position:fixed (offcanvas, modals) */
*, *::before, *::after { box-sizing: border-box; }

img, video, iframe, embed, object {
  max-width: 100% !important;
  height: auto !important;
}

/* ============ TABLETTE (≤ 1024px) ============ */
@media (max-width: 1024px) {
  .tk-container,
  .ct-container,
  .woocommerce {
    padding-left: 1.5rem !important;
    padding-right: 1.5rem !important;
  }
}

/* ============ MOBILE (≤ 768px) ============ */
@media (max-width: 768px) {

  /* ----- HEADER : fond opaque sur mobile ----- */
  #header,
  .site-header,
  header.header,
  .ct-header,
  .home #header,
  .home .site-header {
    background: #ffffff !important;
    padding: .6rem 1rem !important;
    position: sticky !important;
    top: 0 !important;
    z-index: 1000 !important;
    box-shadow: 0 2px 8px rgba(0,0,0,.1) !important;
  }

  /* Forcer les icones et le burger en navy sur fond blanc */
  .ct-header-trigger,
  [data-header*=type-1] .ct-header-trigger,
  .home .ct-header-trigger {
    color: var(--tk-navy) !important;
  }
  .ct-header-trigger svg rect,
  .ct-header-trigger svg path,
  .home .ct-header-trigger svg rect,
  .home .ct-header-trigger svg path {
    fill: var(--tk-navy) !important;
  }

  /* Icones search / panier / compte en navy sur mobile */
  .ct-header-search svg,
  .ct-header-account svg,
  .ct-header-cart svg,
  .home .ct-header-search svg,
  .home .ct-header-account svg,
  .home .ct-header-cart svg {
    color: var(--tk-navy) !important;
    fill: var(--tk-navy) !important;
  }

  /* Logo mobile */
  .ct-logo img,
  .custom-logo-link img {
    max-height: 44px !important;
    width: auto !important;
  }

  /* ----- HERO ---- */
  .tk-hero,
  .hero-section,
  section.elementor-section:first-of-type {
    padding: 5rem 1.25rem 3rem !important;
    min-height: auto !important;
    text-align: center !important;
  }

  .tk-hero-badge, .hero-badge {
    justify-content: center !important;
  }

  .tk-hero h1,
  .hero-section h1 {
    font-size: clamp(1.75rem, 8vw, 2.5rem) !important;
    margin-bottom: 1rem !important;
  }

  .tk-hero p,
  .hero-section p {
    max-width: 100% !important;
    font-size: .95rem !important;
    margin-bottom: 1.5rem !important;
  }

  /* Boutons CTA héros empilés */
  .tk-hero .hero-cta,
  .tk-hero .elementor-button-wrapper,
  .hero-cta {
    flex-direction: column !important;
    gap: .75rem !important;
    align-items: center !important;
    width: 100% !important;
  }

  .tk-btn-primary,
  .tk-btn-secondary,
  .tk-hero .elementor-button {
    width: 100% !important;
    max-width: 320px !important;
    text-align: center !important;
    justify-content: center !important;
    padding: .9rem 1rem !important;
    min-height: 48px !important;
    display: flex !important;
    align-items: center !important;
  }

  /* ----- FEATURES BAR ----- */
  .tk-features-grid,
  .features-grid {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 0 !important;
  }

  .tk-features-bar .tk-feature,
  .features-bar .feature-item {
    flex-direction: row !important;
    text-align: left !important;
    padding: 1rem .75rem !important;
    gap: .65rem !important;
    align-items: center !important;
    border-right: none !important;
    border-bottom: 1px solid #e5e7eb !important;
  }

  .tk-feature-icon {
    width: 1.75rem !important;
    height: 1.75rem !important;
    margin-bottom: 0 !important;
    flex-shrink: 0 !important;
  }

  /* ----- GRILLES / SECTIONS ----- */
  .tk-section {
    padding: 2.5rem 1.25rem !important;
  }

  .tk-section-header {
    flex-wrap: wrap !important;
    gap: .5rem !important;
    margin-bottom: 1.25rem !important;
  }

  .tk-section-title, .section-title {
    font-size: .88rem !important;
  }

  /* ----- PRODUITS (home + archive) ----- */
  .tk-product-card,
  .woocommerce ul.products li.product {
    padding: 1rem !important;
  }

  /* ----- SINGLE PRODUIT ----- */
  .woocommerce div.product {
    padding: 1rem !important;
  }

  .woocommerce div.product .images,
  .woocommerce div.product .summary {
    float: none !important;
    width: 100% !important;
    padding: 0 !important;
    margin-right: 0 !important;
  }

  .woocommerce div.product .summary {
    margin-top: 1.5rem !important;
  }

  .woocommerce div.product .product_title {
    font-size: 1.5rem !important;
  }

  .woocommerce div.product p.price,
  .woocommerce div.product span.price {
    font-size: 1.4rem !important;
  }

  /* ----- PANIER ----- */
  .tk-cart-layout {
    grid-template-columns: 1fr !important;
    gap: 1.5rem !important;
  }

  .tk-cart-sidebar {
    position: static !important;
    top: auto !important;
  }

  /* ----- FOOTER ----- */
  #footer .ct-container > .ct-row,
  #footer [class*=footer-row],
  .site-footer .footer-grid,
  #footer .tk-footer-cols {
    display: flex !important;
    flex-direction: column !important;
    gap: 2rem !important;
  }

  #footer .ct-widget-area,
  #footer .footer-col,
  #footer [class*=ct-column] {
    width: 100% !important;
    max-width: 100% !important;
    float: none !important;
    text-align: center !important;
  }

  #footer,
  .site-footer {
    padding: 2.5rem 1.25rem 1.5rem !important;
  }

  /* Bottom bar footer */
  .ct-footer-bottom,
  #footer .footer-bottom,
  .site-footer .footer-bottom-bar {
    flex-direction: column !important;
    text-align: center !important;
    gap: .5rem !important;
  }

  /* ----- CHECKOUT WOOCOMMERCE ----- */
  .woocommerce-checkout #customer_details,
  .woocommerce-checkout #order_review_heading,
  .woocommerce-checkout #order_review {
    width: 100% !important;
    float: none !important;
    margin-right: 0 !important;
  }

  .woocommerce-checkout #order_review {
    margin-top: 2rem !important;
  }

  .woocommerce form.checkout .form-row-first,
  .woocommerce form.checkout .form-row-last {
    width: 100% !important;
    float: none !important;
  }

  /* ----- BOUTONS tactiles (min 44px) ----- */
  .woocommerce a.button,
  .woocommerce button.button,
  .woocommerce input.button,
  .woocommerce #respond input#submit,
  button,
  input[type=submit],
  input[type=button],
  .ct-button,
  a.button {
    min-height: 44px !important;
  }

  /* ----- OFFCANVAS (tiroir mobile) ----- */
  #offcanvas {
    width: 82vw !important;
    max-width: 300px !important;
  }

  #offcanvas .mobile-menu a.ct-menu-link,
  #offcanvas .mobile-menu a,
  #offcanvas .menu-container a.ct-menu-link {
    min-height: 48px !important;
    display: flex !important;
    align-items: center !important;
    font-size: .95rem !important;
  }

  /* ----- TABLEAUX ----- */
  .woocommerce table.shop_table {
    font-size: .82rem !important;
  }

  /* ----- CONTAINERS ----- */
  .tk-container,
  .ct-container,
  .woocommerce {
    padding-left: 1rem !important;
    padding-right: 1rem !important;
  }

  /* Page titre (à propos, contact…) */
  .tk-page-hero {
    padding: 3rem 1.25rem 2rem !important;
    text-align: center !important;
  }

  .tk-page-hero h1,
  .entry-title {
    font-size: 1.75rem !important;
  }
}

/* ============ PETIT MOBILE (≤ 480px) ============ */
@media (max-width: 480px) {

  /* Hero encore plus compact */
  .tk-hero,
  .hero-section {
    padding: 4.5rem 1rem 2.5rem !important;
  }

  .tk-hero h1,
  .hero-section h1 {
    font-size: clamp(1.5rem, 9vw, 1.9rem) !important;
  }

  /* Features bar : 1 colonne */
  .tk-features-grid,
  .features-grid {
    grid-template-columns: 1fr !important;
  }

  /* Catégories : 1 colonne */
  .tk-category-grid,
  .product-categories-grid {
    grid-template-columns: 1fr !important;
  }

  /* Produits WooCommerce : 1 colonne */
  .woocommerce ul.products {
    grid-template-columns: 1fr !important;
  }

  /* About values : 1 colonne */
  .tk-about-values { grid-template-columns: 1fr !important; }

  /* Archive produits : 1 colonne */
  .tk-archive-main ul.products,
  .tk-archive-main .products.columns-3 {
    grid-template-columns: 1fr !important;
    gap: .75rem !important;
  }

  /* Padding réduit */
  .tk-section { padding: 2rem .9rem !important; }
  .tk-container,
  .ct-container { padding-left: .9rem !important; padding-right: .9rem !important; }

  /* Boutons pleine largeur sur très petit écran */
  .woocommerce a.button,
  .woocommerce button.button,
  .woocommerce #respond input#submit {
    width: 100% !important;
    text-align: center !important;
  }

  /* Typography */
  .tk-page-hero h1, .entry-title { font-size: 1.5rem !important; }
  .tk-promo-banner h2 { font-size: 1.25rem !important; }
}

/* ============ TRÈS PETIT (≤ 360px) ============ */
@media (max-width: 360px) {
  .tk-hero h1, .hero-section h1 {
    font-size: 1.35rem !important;
  }

  #offcanvas { width: 90vw !important; }

  .tk-container,
  .ct-container { padding-left: .75rem !important; padding-right: .75rem !important; }
}

/* =====================================================
   FIX OFFCANVAS MENU MOBILE — BLOCKSY
   Corrige le menu bloque apres overflow-x hidden
   ===================================================== */

/* Overlay (fond semi-transparent derriere le tiroir) */
.ct-panel-overlay,
#offcanvas-overlay,
.blocksy-overlay {
  position: fixed !important;
  inset: 0 !important;
  z-index: 9998 !important;
  background: rgba(0, 0, 0, 0.55) !important;
  backdrop-filter: blur(2px) !important;
}

/* Tiroir lateral (offcanvas) — toujours en DOM, caché par transform */
#offcanvas {
  position: fixed !important;
  top: 0 !important;
  right: 0 !important;
  left: auto !important;
  height: 100vh !important;
  width: 82vw !important;
  max-width: 300px !important;
  background: #ffffff !important;
  z-index: 99999 !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  display: flex !important;
  flex-direction: column !important;
  transform: translateX(100%) !important;
  transition: transform .3s cubic-bezier(.4, 0, .2, 1) !important;
  box-shadow: -4px 0 24px rgba(0,0,0,.18) !important;
  opacity: 1 !important;
  pointer-events: auto !important;
}

/* Tiroir ouvert — Blocksy retire l'attribut inert a l'ouverture */
#offcanvas:not([inert]) {
  transform: translateX(0) !important;
}

/* Contenu interieur du tiroir */
#offcanvas .ct-panel-inner {
  display: flex !important;
  flex-direction: column !important;
  min-height: 100% !important;
  padding: 0 !important;
}

/* Actions (bouton fermer) */
#offcanvas .ct-panel-actions {
  display: flex !important;
  justify-content: flex-end !important;
  padding: 1rem 1.25rem .75rem !important;
  border-bottom: 1px solid #f0f0f0 !important;
  position: sticky !important;
  top: 0 !important;
  background: #fff !important;
  z-index: 1 !important;
}

/* Bouton fermer — fond gris clair sur fond blanc */
#offcanvas .ct-toggle-close {
  background: #f3f4f6 !important;
  border: 1px solid #e5e7eb !important;
  border-radius: 50% !important;
  width: 40px !important;
  height: 40px !important;
  min-height: 40px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
  color: #0d1b2a !important;
  flex-shrink: 0 !important;
}

#offcanvas .ct-toggle-close svg path {
  fill: #0d1b2a !important;
}

/* Zone de contenu scrollable */
#offcanvas .ct-panel-content,
#offcanvas .ct-panel-content[data-device=mobile] {
  padding: 1.25rem 1.5rem !important;
  overflow-y: auto !important;
  flex: 1 !important;
}

/* Liens du menu dans le tiroir */
#offcanvas .mobile-menu ul,
#offcanvas .menu-container ul,
#offcanvas ul.menu {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

#offcanvas .mobile-menu ul li,
#offcanvas .menu-container ul li,
#offcanvas ul.menu li {
  border-bottom: 1px solid rgba(255,255,255,.15) !important;
}

#offcanvas .mobile-menu ul li:last-child,
#offcanvas ul.menu li:last-child {
  border-bottom: none !important;
}

#offcanvas .mobile-menu a,
#offcanvas .mobile-menu a.ct-menu-link,
#offcanvas .menu-container a.ct-menu-link,
#offcanvas ul.menu li a {
  display: flex !important;
  align-items: center !important;
  min-height: 52px !important;
  padding: .75rem .25rem !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 1rem !important;
  font-weight: 600 !important;
  color: #ffffff !important;
  text-decoration: none !important;
  text-transform: uppercase !important;
  letter-spacing: .06em !important;
  transition: color .15s, padding-left .15s !important;
}

#offcanvas .mobile-menu a:hover,
#offcanvas .mobile-menu a.ct-menu-link:hover,
#offcanvas ul.menu li a:hover {
  color: #3b82f6 !important;
  padding-left: .5rem !important;
}

#offcanvas .menu-item.current-menu-item > a {
  color: #3b82f6 !important;
}

/* S assurer que le body ne se deplace pas quand le menu est ouvert */
body.ct-offcanvas-open,
body.menu-open,
body.offcanvas-open {
  overflow: hidden !important;
}

/* =====================================================
   FOOTER CUSTOM TECHOKAZ
   ===================================================== */

/* Reset footer Blocksy */
#footer, .site-footer, footer.footer {
  display: none !important;
}

/* === FOOTER CUSTOM === */
.tk-footer-custom {
  background: #0a1628;
  color: rgba(255,255,255,.75);
  font-family: 'Inter', sans-serif;
  font-size: .875rem;
  line-height: 1.6;
}

/* Corps principal */
.tk-footer-main {
  max-width: 1200px;
  margin: 0 auto;
  padding: 4rem 2rem 3rem;
}

/* Grille 4 colonnes */
.tk-footer-grid {
  display: grid;
  grid-template-columns: 1.6fr 1fr 1fr 1.2fr;
  gap: 3rem;
  align-items: start;
}

/* --- Colonne brand --- */
.tk-footer-brand {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}

.tk-footer-logo-link {
  display: inline-block;
  text-decoration: none;
}

.tk-footer-logo-link img {
  max-height: 48px;
  width: auto;
  display: block;
}

.tk-footer-logo-text {
  font-size: 1.4rem;
  font-weight: 800;
  color: #fff;
  letter-spacing: -.02em;
}

.tk-footer-tagline {
  color: rgba(255,255,255,.6);
  font-size: .82rem;
  line-height: 1.65;
  max-width: 260px;
  margin: 0;
}

.tk-footer-badges {
  display: flex;
  flex-direction: column;
  gap: .4rem;
}

.tk-fbadge {
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  font-size: .72rem;
  font-weight: 600;
  letter-spacing: .04em;
  color: rgba(255,255,255,.5);
}

/* --- Colonnes nav/cat/contact --- */
.tk-footer-col {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.tk-footer-heading {
  font-size: .7rem;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: #fff;
  margin: 0 0 .5rem;
  padding-bottom: .6rem;
  border-bottom: 1px solid rgba(255,255,255,.1);
}

/* Liens nav */
.tk-footer-links {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: .55rem;
}

.tk-footer-links li a {
  color: rgba(255,255,255,.55);
  text-decoration: none;
  font-size: .82rem;
  display: flex;
  align-items: center;
  gap: .4rem;
  transition: color .18s;
}

.tk-footer-links li a:hover {
  color: #3b82f6;
}

.tk-fcat-count {
  font-size: .7rem;
  color: rgba(255,255,255,.3);
}

/* Contact */
.tk-footer-contact {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: .75rem;
}

.tk-footer-contact li {
  display: flex;
  align-items: flex-start;
  gap: .6rem;
  font-size: .82rem;
  color: rgba(255,255,255,.55);
}

.tk-ficon {
  flex-shrink: 0;
  width: 15px;
  height: 15px;
  margin-top: .1rem;
  color: #3b82f6;
  display: flex;
  align-items: center;
}

.tk-footer-contact a {
  color: rgba(255,255,255,.55);
  text-decoration: none;
  transition: color .18s;
}

.tk-footer-contact a:hover {
  color: #3b82f6;
}

/* === BARRE DU BAS === */
.tk-footer-bottom {
  border-top: 1px solid rgba(255,255,255,.08);
}

.tk-footer-bottom-inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 1.25rem 2rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  flex-wrap: wrap;
}

.tk-footer-copy {
  margin: 0;
  font-size: .78rem;
  color: rgba(255,255,255,.35);
}

.tk-footer-copy strong {
  color: rgba(255,255,255,.6);
}

.tk-footer-legal {
  display: flex;
  gap: 1.25rem;
  flex-wrap: wrap;
}

.tk-footer-legal a {
  font-size: .75rem;
  color: rgba(255,255,255,.35);
  text-decoration: none;
  transition: color .18s;
}

.tk-footer-legal a:hover {
  color: rgba(255,255,255,.7);
}

/* =====================================================
   FOOTER CUSTOM — RESPONSIVE
   ===================================================== */

@media (max-width: 1024px) {
  .tk-footer-grid {
    grid-template-columns: 1fr 1fr;
    gap: 2.5rem;
  }
  .tk-footer-brand {
    grid-column: 1 / -1;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: flex-start;
    gap: 2rem;
  }
  .tk-footer-tagline { max-width: 320px; }
}

@media (max-width: 768px) {
  .tk-footer-main {
    padding: 3rem 1.25rem 2rem;
  }
  .tk-footer-grid {
    grid-template-columns: 1fr 1fr;
    gap: 2rem;
  }
  .tk-footer-brand {
    grid-column: 1 / -1;
    flex-direction: column;
    gap: 1rem;
  }
  .tk-footer-tagline { max-width: 100%; }
  .tk-footer-badges {
    flex-direction: row;
    flex-wrap: wrap;
    gap: .5rem .75rem;
  }
  .tk-footer-bottom-inner {
    flex-direction: column;
    align-items: flex-start;
    gap: .75rem;
    padding: 1rem 1.25rem;
  }
}

@media (max-width: 480px) {
  .tk-footer-grid {
    grid-template-columns: 1fr;
    gap: 1.75rem;
  }
  .tk-footer-main {
    padding: 2.5rem 1rem 1.75rem;
  }
  .tk-footer-logo-link img {
    max-height: 40px;
  }
  .tk-footer-heading {
    font-size: .68rem;
  }
}

/* =====================================================
   FORCE BLANC — LIENS MENU MOBILE (priorité maximale)
   Placé en dernier pour écraser tout autre style
   ===================================================== */
html body #offcanvas a,
html body #offcanvas a.ct-menu-link,
html body #offcanvas .mobile-menu a,
html body #offcanvas .mobile-menu a.ct-menu-link,
html body #offcanvas .menu-container a,
html body #offcanvas .menu-container a.ct-menu-link,
html body #offcanvas ul.menu li a,
html body #offcanvas ul li a,
html body #offcanvas nav a,
html body #offcanvas .ct-nav a {
  color: #ffffff !important;
}

html body #offcanvas a:hover,
html body #offcanvas a.ct-menu-link:hover,
html body #offcanvas ul.menu li a:hover,
html body #offcanvas ul li a:hover {
  color: #3b82f6 !important;
}

/* =====================================================
   MOBILE-FIRST SENEGAL — OPTIMISATIONS CRITIQUES
   90% clients sur téléphone → priorité absolue
   ===================================================== */

/* 1. ANTI-ZOOM IOS — inputs doivent être ≥ 16px sinon Safari zoome */
input,
input[type="text"],
input[type="email"],
input[type="tel"],
input[type="number"],
input[type="password"],
input[type="search"],
select,
textarea {
  font-size: 16px !important;
}

/* 2. CIBLES TACTILES — minimum 48px de hauteur (recommandation Google) */
@media (max-width: 768px) {
  input[type="text"],
  input[type="email"],
  input[type="tel"],
  input[type="number"],
  input[type="password"],
  input[type="search"],
  select {
    min-height: 48px !important;
    padding: .75rem 1rem !important;
    border-radius: 8px !important;
    font-size: 16px !important;
  }

  textarea {
    font-size: 16px !important;
    padding: .75rem 1rem !important;
    border-radius: 8px !important;
  }

  /* Boutons "Ajouter au panier" pleine largeur */
  .woocommerce .single_add_to_cart_button,
  .woocommerce button.button.alt,
  .woocommerce a.button.alt,
  form.cart .button {
    width: 100% !important;
    min-height: 52px !important;
    font-size: 1rem !important;
    justify-content: center !important;
    display: flex !important;
    align-items: center !important;
  }

  /* Quantité produit : bien visible */
  .woocommerce form.cart .qty {
    width: 64px !important;
    min-height: 48px !important;
    text-align: center !important;
    font-size: 1rem !important;
  }

  /* Images produit : ratio fixe, pas de hauteur rigide */
  .woocommerce ul.products li.product .woocommerce-loop-product__link img,
  .tk-lp-thumb img {
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 1 / 1 !important;
    object-fit: contain !important;
  }

  /* Titre produit lisible */
  .woocommerce ul.products li.product .woocommerce-loop-product__title,
  .tk-lp-title {
    font-size: .85rem !important;
    line-height: 1.3 !important;
  }

  /* Prix produit bien visible */
  .woocommerce ul.products li.product .price,
  .tk-lp-price {
    font-size: 1rem !important;
    font-weight: 700 !important;
  }

  /* Checkout : champs pleine largeur */
  .woocommerce-checkout .woocommerce-input-wrapper {
    width: 100% !important;
  }

  /* Pagination */
  .woocommerce nav.woocommerce-pagination ul li a,
  .woocommerce nav.woocommerce-pagination ul li span {
    min-width: 44px !important;
    min-height: 44px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }

  /* Espacement sections */
  .woocommerce-account .woocommerce {
    padding: 1rem !important;
  }
}

/* 3. BOUTON WHATSAPP FLOTTANT */
.tk-whatsapp-btn,
.whatsapp-float,
a[href*="wa.me"],
a[href*="whatsapp"] {
  position: fixed !important;
  bottom: 5rem !important;
  right: 1.25rem !important;
  z-index: 9999 !important;
  width: 56px !important;
  height: 56px !important;
  min-width: 56px !important;
  min-height: 56px !important;
  border-radius: 50% !important;
  background: #25D366 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-shadow: 0 4px 16px rgba(37,211,102,.45) !important;
}

/* 4. ANTI-DÉBORDEMENT GLOBAL */
@media (max-width: 768px) {
  table {
    display: block !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
  }

  /* Empêcher le texte de déborder */
  p, h1, h2, h3, h4, h5, h6, li, td, th {
    overflow-wrap: break-word !important;
    word-break: break-word !important;
  }

  /* Vidéos responsive */
  iframe[src*="youtube"],
  iframe[src*="vimeo"] {
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 16 / 9 !important;
  }
}

/* tk-mobile-overflow-fix-v2 */
@media (max-width: 900px) {
    /* Contenir uniquement les sections carousel/map, pas le header */
    .tk-rv-section,
    .tk-rv-wrap,
    #tk-map-section,
    .tk-map-outer,
    .tk-stats-section,
    .tk-archive-wrap {
        width: 100% !important;
        max-width: 100vw !important;
        overflow-x: hidden !important;
        box-sizing: border-box !important;
    }
    .tk-container {
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
    }
}
