/*
Theme Name: AS DZ Market
Theme URI: https://example.com/asdzmarket
Author: Votre Studio
Author URI: https://example.com
Description: Thème WordPress sur mesure pour AS DZ Market — vêtements, robes kabyles, produits de beauté et de soin — avec un studio de services web intégré (sites vitrines, e-commerce, SEO). Compatible WooCommerce. Palette signature : aubergine, framboise, or vermeil et sauge.
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
Tested up to: 6.6
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: asdzmarket
WC requires at least: 6.0
WC tested up to: 9.0
*/

/* =========================================================
   0. TOKENS
========================================================= */
:root{
  --ink-plum: #2A1B2D;
  --ink-plum-deep: #1B1019;
  --ivory: #FBF3EC;
  --ivory-warm: #F4E9E0;
  --berry: #C24B6B;
  --berry-soft: #E8A7B7;
  --gold: #C9A227;
  --sage: #8A9A7E;
  --charcoal: #201A1D;
  --line: rgba(32,26,29,0.12);
}

*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}

body{
  background:var(--ivory);
  color:var(--charcoal);
  font-family:'Inter',sans-serif;
  font-weight:400;
  overflow-x:hidden;
  line-height:1.5;
}

@media (prefers-reduced-motion: reduce){
  *{animation:none !important; transition:none !important;}
}

h1,h2,h3,h4,.display{
  font-family:'Fraunces',serif;
  font-weight:500;
  letter-spacing:-0.01em;
}

.eyebrow{
  font-family:'Space Mono',monospace;
  font-size:0.72rem;
  letter-spacing:0.18em;
  text-transform:uppercase;
  color:var(--berry);
}

a{color:inherit;text-decoration:none;}
img{max-width:100%;display:block;height:auto;}
ul{list-style:none;}
button{font-family:inherit;cursor:pointer;}
.screen-reader-text{position:absolute;left:-9999px;}

:focus-visible{outline:2px solid var(--berry);outline-offset:3px;}

.container{max-width:1240px;margin:0 auto;padding:0 32px;}

/* =========================================================
   1. HEADER / NAV
========================================================= */
.site-header{
  position:sticky;top:0;z-index:100;
  background:rgba(251,243,236,0.92);
  backdrop-filter:blur(10px);
  border-bottom:1px solid var(--line);
}
.nav-wrap{
  max-width:1240px;margin:0 auto;padding:18px 32px;
  display:flex;align-items:center;justify-content:space-between;gap:24px;
}
.logo{font-family:'Fraunces',serif;font-size:1.35rem;font-weight:600;letter-spacing:0.01em;}
.logo span{color:var(--berry);}
.logo img{max-height:40px;}

.swatch-nav{display:flex;gap:10px;flex-wrap:wrap;}
.swatch-nav li a{
  display:flex;align-items:center;gap:8px;font-size:0.85rem;font-weight:500;
  padding:8px 16px 8px 8px;border-radius:999px;border:1px solid var(--line);
  transition:border-color .25s ease, background .25s ease;white-space:nowrap;
}
.swatch-nav li a:hover{background:var(--ivory-warm);border-color:var(--charcoal);}
.chip{width:16px;height:16px;border-radius:50%;flex-shrink:0;display:inline-block;}
.chip.mode{background:var(--charcoal);}
.chip.beaute{background:var(--berry);}
.chip.soins{background:var(--sage);}
.chip.web{background:var(--gold);}

.nav-cta{
  font-family:'Space Mono',monospace;font-size:0.78rem;letter-spacing:0.08em;text-transform:uppercase;
  background:var(--charcoal);color:var(--ivory);padding:11px 22px;border-radius:999px;
  white-space:nowrap;transition:background .25s ease;
}
.nav-cta:hover{background:var(--berry);}

.nav-toggle{display:none;background:none;border:none;font-size:1.6rem;cursor:pointer;color:var(--charcoal);}

@media (max-width:900px){
  .swatch-nav{
    position:fixed;top:74px;left:0;right:0;
    background:var(--ivory);flex-direction:column;gap:0;
    padding:10px 24px 20px;border-bottom:1px solid var(--line);
    transform:translateY(-130%);transition:transform .3s ease;
  }
  .swatch-nav.is-open{transform:translateY(0);}
  .swatch-nav li{width:100%;}
  .swatch-nav li a{width:100%;padding:14px 8px;border-radius:0;border:none;border-bottom:1px solid var(--line);}
  .nav-toggle{display:block;}
}

/* =========================================================
   2. HERO
========================================================= */
.hero{
  max-width:1240px;margin:0 auto;padding:70px 32px 40px;
  display:grid;grid-template-columns:1.15fr 0.85fr;gap:60px;align-items:center;
}
.hero h1{font-size:clamp(2.6rem,5vw,4.4rem);line-height:1.02;color:var(--ink-plum);}
.hero h1 em{font-style:italic;color:var(--berry);}
.hero p.lead{margin-top:26px;max-width:460px;font-size:1.05rem;line-height:1.65;color:rgba(32,26,29,0.72);}
.hero-actions{margin-top:36px;display:flex;gap:16px;flex-wrap:wrap;}

.btn-primary{
  background:var(--ink-plum);color:var(--ivory);padding:15px 30px;border-radius:999px;
  font-weight:500;font-size:0.95rem;transition:transform .25s ease, background .25s ease;display:inline-block;border:none;
}
.btn-primary:hover{background:var(--berry);transform:translateY(-2px);color:var(--ivory);}
.btn-ghost{
  padding:15px 30px;border-radius:999px;border:1px solid var(--charcoal);
  font-weight:500;font-size:0.95rem;transition:background .25s ease;display:inline-block;
}
.btn-ghost:hover{background:var(--ivory-warm);}

.swatch-stack{display:flex;flex-direction:column;gap:12px;}
.swatch-card{
  position:relative;border-radius:20px;padding:22px 24px;color:var(--ivory);
  overflow:hidden;transition:padding .35s ease;
}
.swatch-card .code{font-family:'Space Mono',monospace;font-size:0.72rem;letter-spacing:0.1em;opacity:0.75;}
.swatch-card .name{font-family:'Fraunces',serif;font-size:1.5rem;margin-top:4px;}
.swatch-card .desc{
  font-size:0.85rem;max-width:280px;margin-top:10px;opacity:0;max-height:0;
  transition:opacity .3s ease, max-height .3s ease, margin-top .3s ease;
}
.swatch-card:hover .desc{opacity:0.92;max-height:60px;margin-top:10px;}
.swatch-card.c1{background:var(--charcoal);}
.swatch-card.c2{background:var(--berry);}
.swatch-card.c3{background:var(--sage);}
.swatch-card.c4{background:linear-gradient(135deg,var(--gold),#A9821E);color:var(--charcoal);}

@media (max-width:900px){ .hero{grid-template-columns:1fr;padding-top:40px;} }

/* =========================================================
   3. SECTIONS GENERIQUES
========================================================= */
.section{max-width:1240px;margin:0 auto;padding:100px 32px;}
.section-head{
  display:flex;justify-content:space-between;align-items:flex-end;gap:24px;
  margin-bottom:52px;flex-wrap:wrap;
}
.section-head h2{font-size:clamp(1.9rem,3.4vw,2.6rem);color:var(--ink-plum);}
.section-head p{max-width:360px;color:rgba(32,26,29,0.65);font-size:0.95rem;line-height:1.55;}
.section-head .view-all{
  font-family:'Space Mono',monospace;font-size:0.78rem;letter-spacing:0.06em;
  text-transform:uppercase;color:var(--berry);white-space:nowrap;
  display:flex;align-items:center;gap:6px;transition:gap .25s ease;
}
.section-head .view-all:hover{gap:10px;}
.bg-section .section-head .view-all{color:var(--gold);}

/* Tuiles catégories (visuel, quasi sans texte) */
.category-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;}
.category-tile{
  position:relative;border-radius:20px;overflow:hidden;aspect-ratio:3/4;
  display:flex;align-items:flex-end;padding:22px;color:#fff;
  transition:transform .3s ease, box-shadow .3s ease;
}
.category-tile:hover{transform:translateY(-6px);box-shadow:0 24px 40px -20px rgba(42,27,45,0.35);}
.category-tile::before{
  content:'';position:absolute;inset:0;z-index:1;
  background:linear-gradient(180deg, rgba(0,0,0,0) 45%, rgba(0,0,0,0.6) 100%);
}
.category-tile .tile-label{position:relative;z-index:2;}
.category-tile .tile-label .name{font-family:'Fraunces',serif;font-size:1.35rem;font-weight:600;}
.category-tile .tile-label .cta{
  font-family:'Space Mono',monospace;font-size:0.7rem;text-transform:uppercase;
  letter-spacing:0.06em;opacity:0.9;display:flex;align-items:center;gap:6px;margin-top:6px;
}
@media (max-width:900px){ .category-strip{grid-template-columns:repeat(2,1fr);} }
@media (max-width:560px){ .category-strip{grid-template-columns:1fr;} }

/* Tuiles services (style tarifs, minimal texte) */
.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;}
.service-tile{
  background:#fff;border:1px solid var(--line);border-radius:20px;
  padding:32px 24px;text-align:center;transition:transform .3s ease, box-shadow .3s ease;
}
.service-tile:hover{transform:translateY(-6px);box-shadow:0 20px 40px -22px rgba(42,27,45,0.25);}
.service-tile .icon{width:46px;height:46px;border-radius:50%;margin:0 auto 18px;}
.service-tile h4{font-size:1.05rem;margin-bottom:10px;color:var(--ink-plum);}
.service-tile .from-price{
  font-family:'Space Mono',monospace;font-size:0.85rem;color:var(--berry);margin-bottom:18px;display:block;
}
.service-tile a.btn-ghost{padding:10px 22px;font-size:0.85rem;}
@media (max-width:900px){ .service-grid{grid-template-columns:repeat(2,1fr);} }
@media (max-width:560px){ .service-grid{grid-template-columns:1fr;} }

/* Univers */
.univers-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;}
.univers-card{
  border:1px solid var(--line);border-radius:22px;padding:32px 26px;background:#fff;
  transition:transform .3s ease, box-shadow .3s ease, border-color .3s ease;
}
.univers-card:hover{transform:translateY(-6px);box-shadow:0 20px 40px -20px rgba(42,27,45,0.25);border-color:transparent;}
.univers-swatch{width:44px;height:44px;border-radius:50%;margin-bottom:22px;}
.univers-card h3{font-size:1.25rem;margin-bottom:10px;color:var(--ink-plum);}
.univers-card p{font-size:0.88rem;line-height:1.6;color:rgba(32,26,29,0.62);}
.univers-card .tag{
  display:inline-block;margin-top:18px;font-family:'Space Mono',monospace;
  font-size:0.7rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--berry);
}
@media (max-width:900px){ .univers-grid{grid-template-columns:repeat(2,1fr);} }
@media (max-width:560px){ .univers-grid{grid-template-columns:1fr;} }

/* Fond sombre (produits) */
.bg-section{background:var(--ink-plum-deep);color:var(--ivory);}
.bg-section .section-head h2{color:var(--ivory);}
.bg-section .section-head p{color:rgba(251,243,236,0.6);}

/* Services web */
.services{display:grid;grid-template-columns:0.9fr 1.1fr;gap:60px;align-items:start;}
.service-row{
  display:flex;justify-content:space-between;align-items:center;padding:26px 0;
  border-bottom:1px solid var(--line);gap:20px;
}
.service-row:first-child{border-top:1px solid var(--line);}
.service-row .num{font-family:'Space Mono',monospace;font-size:0.8rem;color:var(--berry);width:36px;flex-shrink:0;}
.service-row h4{font-family:'Fraunces',serif;font-size:1.2rem;font-weight:500;flex:1;}
.service-row .arrow{font-size:1.3rem;color:var(--berry);transition:transform .25s ease;}
.service-row:hover .arrow{transform:translateX(6px);}
.service-note{color:rgba(32,26,29,0.6);font-size:0.85rem;margin-top:6px;}

.services-card{background:var(--ink-plum);color:var(--ivory);border-radius:26px;padding:44px 38px;}
.services-card .eyebrow{color:var(--gold);}
.services-card h3{font-size:1.7rem;margin:16px 0 18px;}
.services-card p{font-size:0.92rem;line-height:1.65;color:rgba(251,243,236,0.75);margin-bottom:28px;}
.services-card .btn-primary{background:var(--gold);color:var(--charcoal);}

@media (max-width:900px){ .services{grid-template-columns:1fr;} }

/* Citation */
.quote-section{text-align:center;max-width:820px;margin:0 auto;}
.quote-section blockquote{
  font-family:'Fraunces',serif;font-style:italic;font-weight:400;
  font-size:clamp(1.5rem,3vw,2.1rem);line-height:1.4;color:var(--ink-plum);
}
.quote-section .who{
  margin-top:24px;font-family:'Space Mono',monospace;font-size:0.78rem;
  letter-spacing:0.08em;text-transform:uppercase;color:var(--berry);
}

/* =========================================================
   4. FOOTER
========================================================= */
.site-footer{border-top:1px solid var(--line);padding:50px 32px 34px;}
.footer-wrap{max-width:1240px;margin:0 auto;display:flex;justify-content:space-between;flex-wrap:wrap;gap:32px;}
.footer-col h5{
  font-family:'Space Mono',monospace;font-size:0.72rem;letter-spacing:0.1em;
  text-transform:uppercase;color:var(--berry);margin-bottom:14px;
}
.footer-col a,.footer-col p{display:block;font-size:0.88rem;color:rgba(32,26,29,0.7);margin-bottom:8px;}
.footer-bottom{
  max-width:1240px;margin:40px auto 0;padding-top:24px;border-top:1px solid var(--line);
  font-size:0.78rem;color:rgba(32,26,29,0.5);display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;
}

/* =========================================================
   5. BLOG / PAGES STANDARD
========================================================= */
.page-header{max-width:1240px;margin:0 auto;padding:60px 32px 0;}
.page-header h1{font-size:clamp(2rem,4vw,3rem);color:var(--ink-plum);}
.entry-content{max-width:760px;margin:0 auto;padding:40px 32px 100px;font-size:1.02rem;line-height:1.75;}
.entry-content h2,.entry-content h3{margin:36px 0 16px;color:var(--ink-plum);}
.entry-content p{margin-bottom:20px;}
.entry-content img{border-radius:18px;margin:24px 0;}

.post-grid{max-width:1240px;margin:0 auto;padding:60px 32px 100px;display:grid;grid-template-columns:repeat(3,1fr);gap:28px;}
.post-card{border:1px solid var(--line);border-radius:20px;overflow:hidden;background:#fff;transition:transform .3s ease;}
.post-card:hover{transform:translateY(-6px);}
.post-card .thumb{aspect-ratio:4/3;background:linear-gradient(160deg,var(--berry-soft),var(--ivory-warm));}
.post-card .thumb img{width:100%;height:100%;object-fit:cover;}
.post-card-body{padding:22px 24px;}
.post-card-body .eyebrow{margin-bottom:8px;display:block;}
.post-card-body h3{font-size:1.15rem;margin-bottom:8px;}
.post-card-body p{font-size:0.88rem;color:rgba(32,26,29,0.62);}
@media (max-width:900px){ .post-grid{grid-template-columns:repeat(2,1fr);} }
@media (max-width:560px){ .post-grid{grid-template-columns:1fr;} }

/* Bande de confiance (expérience / sécurité / SEO) — minimal, pas de paragraphe */
.trust-strip{
  display:flex;flex-wrap:wrap;gap:12px;
  max-width:1240px;margin:0 auto;padding:0 32px 10px;
}
.trust-badge{
  font-family:'Space Mono',monospace;font-size:0.72rem;letter-spacing:0.05em;
  text-transform:uppercase;color:var(--charcoal);
  border:1px solid var(--line);border-radius:999px;padding:8px 16px;
  display:flex;align-items:center;gap:8px;
}
.trust-badge .dot{width:7px;height:7px;border-radius:50%;background:var(--berry);flex-shrink:0;}

/* Cartes produits statiques (exemples, avant mise en ligne des vrais produits WooCommerce) */
.featured-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;}
.featured-card{
  background:rgba(251,243,236,0.04);border:1px solid rgba(251,243,236,0.12);
  border-radius:18px;overflow:hidden;transition:border-color .3s ease, transform .3s ease;
}
.featured-card:hover{border-color:rgba(251,243,236,0.4);transform:translateY(-4px);}
.featured-photo{
  aspect-ratio:4/5;display:flex;align-items:center;justify-content:center;
  position:relative;
}
.featured-photo .initial{
  font-family:'Fraunces',serif;font-size:2.6rem;font-weight:600;color:rgba(255,255,255,0.9);
}
.featured-photo .badge{
  position:absolute;top:12px;left:12px;font-family:'Space Mono',monospace;font-size:0.65rem;
  letter-spacing:0.05em;text-transform:uppercase;background:rgba(0,0,0,0.3);color:#fff;
  padding:4px 10px;border-radius:999px;
}
.featured-info{padding:16px 18px 20px;}
.featured-info .brand{
  font-family:'Space Mono',monospace;font-size:0.68rem;letter-spacing:0.08em;
  text-transform:uppercase;color:var(--gold);
}
.featured-info h4{font-family:'Fraunces',serif;font-weight:500;font-size:1rem;margin:8px 0 6px;}
.featured-info .price{font-size:0.9rem;color:rgba(251,243,236,0.75);}
.featured-note{
  max-width:1240px;margin:24px auto 0;padding:0 32px;
  font-family:'Space Mono',monospace;font-size:0.72rem;letter-spacing:0.03em;
  color:rgba(251,243,236,0.45);
}
@media (max-width:900px){ .featured-grid{grid-template-columns:repeat(2,1fr);} }
@media (max-width:560px){ .featured-grid{grid-template-columns:1fr;} }

.woocommerce-main{max-width:1240px;margin:0 auto;padding:60px 32px 100px;}

/* Boutons */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce #respond input#submit,
.woocommerce input.button,
.woocommerce-page a.button{
  background:var(--ink-plum) !important;
  color:var(--ivory) !important;
  border-radius:999px !important;
  padding:12px 26px !important;
  font-family:'Inter',sans-serif !important;
  font-weight:500 !important;
  font-size:0.9rem !important;
  border:none !important;
  transition:background .25s ease !important;
}
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover{
  background:var(--berry) !important;
  color:var(--ivory) !important;
}

/* Grille produits (boutique / catégories) */
.woocommerce ul.products{display:grid !important;grid-template-columns:repeat(4,1fr);gap:24px;list-style:none;}
.woocommerce ul.products li.product{
  background:#fff;border:1px solid var(--line);border-radius:18px;
  padding:0 0 20px;overflow:hidden;transition:transform .3s ease,box-shadow .3s ease;
}
.woocommerce ul.products li.product:hover{transform:translateY(-6px);box-shadow:0 20px 40px -22px rgba(42,27,45,0.3);}
.woocommerce ul.products li.product img{aspect-ratio:4/5;object-fit:cover;border-radius:0;}
.woocommerce ul.products li.product .woocommerce-loop-product__title{
  font-family:'Fraunces',serif;font-weight:500;font-size:1.05rem;
  padding:16px 18px 4px;color:var(--ink-plum);
}
.woocommerce ul.products li.product .price{
  padding:0 18px;color:var(--berry);font-weight:500;
}
.woocommerce ul.products li.product .button{margin:14px 18px 0;width:calc(100% - 36px);text-align:center;}
@media (max-width:900px){ .woocommerce ul.products{grid-template-columns:repeat(2,1fr);} }
@media (max-width:560px){ .woocommerce ul.products{grid-template-columns:1fr;} }

/* Page produit unique */
.woocommerce div.product .woocommerce-product-gallery{border-radius:20px;overflow:hidden;}
.woocommerce div.product .product_title{
  font-family:'Fraunces',serif;color:var(--ink-plum);font-size:2rem;margin-bottom:12px;
}
.woocommerce div.product p.price,
.woocommerce div.product span.price{color:var(--berry);font-size:1.4rem;}
.woocommerce div.product .stock{font-family:'Space Mono',monospace;font-size:0.78rem;text-transform:uppercase;}

/* Badges soldes / rupture */
.woocommerce span.onsale{
  background:var(--berry) !important;color:var(--ivory) !important;
  border-radius:999px !important;font-family:'Space Mono',monospace;font-size:0.7rem;
  text-transform:uppercase;letter-spacing:0.05em;
}

/* Panier / checkout */
.woocommerce table.shop_table{border-radius:16px;overflow:hidden;border:1px solid var(--line);}
.woocommerce table.shop_table th{background:var(--ivory-warm);font-family:'Space Mono',monospace;font-size:0.72rem;text-transform:uppercase;letter-spacing:0.05em;}
.woocommerce-checkout #payment{background:var(--ivory-warm) !important;border-radius:16px;}
.woocommerce-message,.woocommerce-info{
  border-top-color:var(--berry) !important;
}
.woocommerce-message::before,.woocommerce-info::before{color:var(--berry) !important;}

/* Fil d'ariane */
.woocommerce-breadcrumb{
  font-family:'Space Mono',monospace;font-size:0.75rem;text-transform:uppercase;
  letter-spacing:0.05em;color:rgba(32,26,29,0.55);margin-bottom:30px;
}
.woocommerce-breadcrumb a:hover{color:var(--berry);}

/* Widgets sidebar boutique */
.widget_price_filter .price_slider_amount .button{padding:8px 18px !important;}
