/*
Theme Name: Vadeco
Theme URI: https://aqua-lark-488631.hostingersite.com
Author: Vadeco
Author URI: https://aqua-lark-488631.hostingersite.com
Description: Thème WooCommerce blanc et violet pour Vadeco, boutique d'accessoires organisateurs. Barre d'annonce en arabe, réseaux sociaux (Facebook, Instagram, WhatsApp), logo en en-tête et section d'accueil élégante.
Version: 1.0.0
Requires at least: 5.9
Tested up to: 6.6
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: vadeco
Tags: e-commerce, woocommerce, custom-logo, custom-menu, translation-ready
*/

/* =========================================================
   0. VARIABLES
   ========================================================= */
:root{
  --vd-purple-dark:   #4B1D73;
  --vd-purple:        #7A3FA0;
  --vd-purple-light:  #B98FD9;
  --vd-lavender:      #F4EEFB;
  --vd-white:         #FFFFFF;
  --vd-text:          #2D2333;
  --vd-text-light:    #6B5E77;
  --vd-gold:          #D8B76A;
  --vd-radius:        14px;
  --vd-shadow:        0 8px 24px rgba(74,29,115,0.12);
  --vd-transition:    all .25s ease;
}

/* =========================================================
   1. RESET / BASE
   ========================================================= */
*,*::before,*::after{ box-sizing:border-box; }
body{
  margin:0;
  background:var(--vd-white);
  color:var(--vd-text);
  font-family:'Poppins','Segoe UI',Tahoma,Arial,sans-serif;
  font-size:16px;
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
}
img{ max-width:100%; height:auto; display:block; }
a{ color:var(--vd-purple); text-decoration:none; transition:var(--vd-transition); }
a:hover{ color:var(--vd-purple-dark); }
ul{ margin:0; padding:0; list-style:none; }
h1,h2,h3,h4{ font-family:'Playfair Display',Georgia,serif; color:var(--vd-purple-dark); margin:0 0 .5em; line-height:1.25; }
.container{ width:100%; max-width:1240px; margin:0 auto; padding:0 24px; }
.screen-reader-text{ position:absolute!important; clip:rect(1px,1px,1px,1px); overflow:hidden; height:1px; width:1px; }
button, .button, input[type="submit"]{
  cursor:pointer; border:none; border-radius:50px;
  background:linear-gradient(135deg,var(--vd-purple),var(--vd-purple-dark));
  color:var(--vd-white); padding:12px 28px; font-weight:600; letter-spacing:.3px;
  transition:var(--vd-transition);
}
button:hover, .button:hover, input[type="submit"]:hover{
  transform:translateY(-2px); box-shadow:var(--vd-shadow); background:var(--vd-purple-dark);
}

/* =========================================================
   2. BARRE D'ANNONCE (arabe, RTL)
   ========================================================= */
.vd-gift-banner{
  background:var(--vd-white);
  border-bottom:3px solid #E4002B;
  padding:12px 0;
  text-align:center;
}
.vd-gift-banner p{
  margin:0;
  direction:rtl; unicode-bidi:isolate;
  font-family:'Cairo','Tahoma','Segoe UI',sans-serif;
  color:#E4002B;
  font-weight:900;
  font-size:21px;
  line-height:1.5;
  letter-spacing:0;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  text-rendering:optimizeLegibility;
}
@media (max-width:600px){
  .vd-gift-banner p{ font-size:16px; }
}

.vd-topbar{
  background:linear-gradient(90deg,var(--vd-purple-dark),var(--vd-purple));
  color:var(--vd-white);
  font-size:14px;
  padding:9px 0;
  text-align:center;
}
.vd-topbar p{
  margin:0; direction:rtl; unicode-bidi:isolate;
  font-family:'Tahoma','Segoe UI',sans-serif;
  letter-spacing:.2px;
}

/* =========================================================
   3. EN-TÊTE
   ========================================================= */
.vd-header{
  background:var(--vd-white);
  border-bottom:1px solid #EFE6F7;
  position:sticky; top:0; z-index:999;
  box-shadow:0 2px 10px rgba(74,29,115,0.04);
}
.vd-header-inner{
  display:flex; align-items:center; justify-content:space-between;
  padding:16px 24px; gap:24px;
}
.vd-logo{ display:flex; align-items:center; gap:10px; flex-shrink:0; }
.vd-logo img, .vd-logo-img{ max-height:64px; width:auto; border-radius:8px; object-fit:contain; }
.vd-logo-link{ display:flex; align-items:center; }
.vd-logo .site-title{
  font-family:'Playfair Display',Georgia,serif;
  font-size:26px; font-weight:700; color:var(--vd-purple-dark); margin:0;
}
.vd-logo .site-title a{ color:var(--vd-purple-dark); }
.vd-logo .site-tagline{ font-size:12px; color:var(--vd-text-light); margin:0; }

.vd-main-nav{ flex:1; display:flex; justify-content:center; }
.vd-main-nav ul{ display:flex; gap:30px; }
.vd-main-nav a{
  color:var(--vd-text); font-weight:600; font-size:15px; padding:6px 2px; position:relative;
}
.vd-main-nav a::after{
  content:""; position:absolute; left:0; bottom:-4px; width:0; height:2px;
  background:var(--vd-purple); transition:var(--vd-transition);
}
.vd-main-nav a:hover::after, .current-menu-item > a::after{ width:100%; }

.vd-header-actions{ display:flex; align-items:center; gap:18px; }

/* Réseaux sociaux — icônes toujours visibles et colorées (marque) */
.vd-social{ display:flex; align-items:center; gap:12px; }
.vd-social a{
  width:42px; height:42px; display:flex; align-items:center; justify-content:center;
  border-radius:50%; color:var(--vd-white);
  border:2px solid transparent; transition:var(--vd-transition);
  box-shadow:0 4px 10px rgba(74,29,115,0.18);
}
.vd-social a svg{ width:20px; height:20px; fill:currentColor; }
.vd-social a:hover{
  transform:translateY(-4px) scale(1.06);
  box-shadow:0 10px 20px rgba(74,29,115,0.28);
  border-color:var(--vd-white);
}
.vd-social a.vd-facebook{ background:#1877F2; }
.vd-social a.vd-instagram{ background:radial-gradient(circle at 30% 110%,#fdf497,#fd5949 45%,#d6249f 60%,#285AEB); }
.vd-social a.vd-whatsapp{ background:#25D366; }

/* Dans le pied de page : même style, légère bordure pour ressortir sur le fond violet foncé */
.vd-footer .vd-social a{ border:2px solid rgba(255,255,255,0.25); }

/* Panier */
.vd-cart{ position:relative; display:flex; align-items:center; color:var(--vd-purple-dark); }
.vd-cart svg{ width:24px; height:24px; fill:currentColor; }
.vd-cart .vd-cart-count{
  position:absolute; top:-8px; right:-10px; background:var(--vd-gold); color:var(--vd-white);
  font-size:11px; font-weight:700; border-radius:50%; width:18px; height:18px;
  display:flex; align-items:center; justify-content:center;
}

/* Menu mobile */
.vd-menu-toggle{ display:none; background:transparent; padding:6px; }
.vd-menu-toggle span{ display:block; width:24px; height:2px; background:var(--vd-purple-dark); margin:5px 0; border-radius:2px; }
.vd-mobile-nav{ display:none; background:var(--vd-white); border-top:1px solid #EFE6F7; }
.vd-mobile-nav.is-open{ display:block; }
.vd-mobile-nav ul{ padding:10px 24px 18px; }
.vd-mobile-nav li{ border-bottom:1px solid #F4EEFB; }
.vd-mobile-nav a{ display:block; padding:12px 4px; color:var(--vd-text); font-weight:600; }

/* =========================================================
   4. HERO / ACCUEIL
   ========================================================= */
.vd-hero{
  background:linear-gradient(135deg,var(--vd-lavender) 0%,var(--vd-white) 55%);
  padding:34px 0;
  position:relative;
  overflow:hidden;
}
.vd-hero::before{
  content:""; position:absolute; width:420px; height:420px; border-radius:50%;
  background:radial-gradient(circle,rgba(122,63,160,0.15),transparent 70%);
  top:-160px; right:-120px;
}
.vd-hero-inner{
  position:relative; z-index:1; text-align:center; max-width:760px; margin:0 auto;
}
.vd-hero-eyebrow{
  display:inline-block; background:var(--vd-white); color:var(--vd-purple);
  border:1px solid var(--vd-purple-light); padding:6px 18px; border-radius:50px;
  font-size:13px; font-weight:600; letter-spacing:.5px; margin-bottom:18px;
}
.vd-hero h1{ font-size:clamp(28px,4vw,44px); margin-bottom:16px; }
.vd-hero p.vd-hero-sub{ color:var(--vd-text-light); font-size:18px; margin-bottom:30px; }
.vd-hero .button{ font-size:16px; padding:14px 36px; }

/* =========================================================
   5. SECTIONS GÉNÉRALES / PRODUITS
   ========================================================= */
.vd-section{ padding:60px 0; }
.vd-section-title{ text-align:center; margin-bottom:38px; }
.vd-section-title h2{ font-size:30px; }
.vd-section-title p{ color:var(--vd-text-light); }

.vd-alt-bg{ background:var(--vd-lavender); }

ul.products{ display:grid!important; grid-template-columns:repeat(4,1fr); gap:26px; }
ul.products li.product{
  display:flex!important; flex-direction:column;
  background:var(--vd-white); border-radius:var(--vd-radius); overflow:hidden;
  border:1px solid #EFE6F7; transition:var(--vd-transition); padding-bottom:16px!important;
}
ul.products li.product:hover{ box-shadow:var(--vd-shadow); transform:translateY(-4px); border-color:var(--vd-purple-light); }
ul.products li.product a.woocommerce-loop-product__link{ display:block; }
ul.products li.product img{
  width:100%!important; height:auto!important; max-width:100%;
  aspect-ratio:1/1; object-fit:cover; object-position:center;
  border-radius:0; margin:0 0 14px; display:block;
}
ul.products li.product .woocommerce-loop-product__title{
  padding:0 16px; font-size:16px; color:var(--vd-text);
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;
  min-height:2.6em; line-height:1.3;
}
ul.products li.product .price{ padding:0 16px; color:var(--vd-purple); font-weight:700; margin-top:auto; }
ul.products li.product .button{ margin:10px 16px 0; padding:10px 20px; font-size:14px; width:calc(100% - 32px); text-align:center; }

/* =========================================================
   5bis. PRODUITS SIMILAIRES (fiche produit)
   ========================================================= */
.vd-related-products{ margin:64px 0 24px; }
.vd-related-title{ text-align:center; font-size:26px; margin-bottom:36px; }

.vd-related-grid{
  display:flex!important;
  flex-wrap:nowrap;
  justify-content:center;
  align-items:stretch;
  gap:40px;
  list-style:none; margin:0; padding:0 0 12px;
}
.vd-related-card{
  display:flex; flex-direction:column;
  flex:1 1 0;
  max-width:320px;
  background:var(--vd-white);
  border-radius:20px;
  border:2px solid var(--vd-lavender);
  overflow:hidden;
  box-shadow:0 2px 14px rgba(74,29,115,0.07);
  transition:var(--vd-transition);
}
.vd-related-card:hover{
  border-color:var(--vd-purple-light);
  box-shadow:0 16px 32px rgba(74,29,115,0.16);
  transform:translateY(-6px);
}
.vd-related-img-link{
  display:flex; align-items:center; justify-content:center;
  background:var(--vd-lavender); width:100%; overflow:hidden;
}
.vd-related-img{
  width:100%; height:auto; aspect-ratio:1/1; max-width:100%;
  object-fit:cover; border-radius:0;
  transition:transform .4s ease;
}
.vd-related-card:hover .vd-related-img{ transform:scale(1.06); }
.vd-related-body{
  display:flex; flex-direction:column; align-items:center; gap:14px;
  padding:20px 18px 22px;
  text-align:center;
}
.vd-related-price{
  color:var(--vd-purple); font-weight:700; font-size:20px;
  letter-spacing:.2px;
}
.vd-related-price ins{ text-decoration:none; }
.vd-related-price del{ color:var(--vd-text-light); font-weight:400; font-size:15px; margin-right:8px; }
.vd-related-btn{
  text-align:center; padding:0; font-size:14px;
  letter-spacing:.3px; text-transform:none; width:auto;
  background:none;
  color:var(--vd-purple);
  font-weight:600;
  border:none;
  box-shadow:none;
  text-decoration:underline;
  text-underline-offset:3px;
}
.vd-related-btn:hover{
  background:none;
  color:var(--vd-purple-dark);
  border-color:transparent;
  transform:none;
  box-shadow:none;
}

@media (max-width:600px){
  .vd-related-grid{
    flex-direction:column;
    gap:24px;
  }
  .vd-related-card{ flex:1 1 auto; width:100%; max-width:100%; }
  .vd-related-img-link{ width:100%; }
  .vd-related-img{ width:100%; height:auto; aspect-ratio:1/1; }
}

/* =========================================================
   6. PIED DE PAGE
   ========================================================= */
.vd-footer{ background:var(--vd-purple-dark); color:#EBDFF6; padding:50px 0 0; margin-top:60px; }
.vd-footer-grid{ display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:36px; padding-bottom:36px; border-bottom:1px solid rgba(255,255,255,0.12); }
.vd-footer h3{ color:var(--vd-white); font-size:16px; margin-bottom:16px; font-family:'Poppins',sans-serif; }
.vd-footer p{ color:#D9C4EC; font-size:14px; }
.vd-footer ul li{ margin-bottom:8px; }
.vd-footer a{ color:#D9C4EC; font-size:14px; }
.vd-footer a:hover{ color:var(--vd-white); }
.vd-footer-bottom{ text-align:center; padding:18px 0; font-size:13px; color:#C6AEDD; }

/* =========================================================
   7. RESPONSIVE
   ========================================================= */
@media (max-width:900px){
  .vd-main-nav{ display:none; }
  .vd-menu-toggle{ display:block; }
  ul.products{ grid-template-columns:repeat(2,1fr); }
  .vd-footer-grid{ grid-template-columns:1fr 1fr; }
}
@media (max-width:520px){
  ul.products{ grid-template-columns:1fr 1fr; gap:14px; }
  .vd-hero{ padding:26px 0; }
  .vd-footer-grid{ grid-template-columns:1fr; }
}
