/*
Theme Name: Quorhema
Theme URI: https://quorhema.com
Author: Quorhema
Author URI: https://quorhema.com
Description: Thème sur-mesure pour QUORHEMA — carnets de planification chrétiens. Reproduit le design de marque (bleu nuit, or, Instrument Serif / Barlow Condensed) et s'intègre à WooCommerce pour la boutique et les pages produit.
Version: 1.0.4
Requires at least: 6.0
Tested up to: 6.8
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: quorhema
Tags: e-commerce, custom-menu, custom-logo, translation-ready, two-columns, right-sidebar
*/

/* =========================================================
   1. Jetons de design
   ========================================================= */
:root{
  --q-bleu-nuit:#183152;
  --q-bleu-ardoise:#375D80;
  --q-or:#EFAA22;
  --q-gris-perle:#F2F2F2;
  --q-bleu-vif:#046BD2;
  --q-blanc:#FFFFFF;
  --q-filet:#E6E6E6;
  --q-filet-alt:#E0E0E0;
  --q-filet-gris:#D8D8D8;

  --q-serif:'Instrument Serif', Georgia, 'Times New Roman', serif;
  --q-sans:'Barlow Condensed', Helvetica, Arial, sans-serif;
  --q-verset:'Spectral', Georgia, serif;

  --q-max:1240px;
  --q-gouttiere:28px;

  --q-ombre-header:0 10px 24px rgba(6,18,34,.55);
  --q-ombre-btn:0 6px 18px rgba(24,49,82,.28);
  --q-ombre-btn-survol:0 12px 28px rgba(24,49,82,.38);
  --q-ombre-carte:0 14px 30px rgba(24,49,82,.14);
}

/* =========================================================
   2. Base
   ========================================================= */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{
  margin:0;
  background:var(--q-blanc);
  font-family:var(--q-sans);
  font-size:16.5px;
  font-weight:300;
  line-height:1.85;
  letter-spacing:.012em;
  color:var(--q-bleu-ardoise);
  display:flex;
  flex-direction:column;
  min-height:100vh;
  /* Aucun overflow-x:hidden ici : cela annulerait le header collant. */
}
img{max-width:100%;height:auto}
a{color:var(--q-bleu-vif);text-decoration:none}
a:hover{color:var(--q-bleu-nuit);text-decoration:underline}
button,input,select,textarea{font-family:inherit;font-size:inherit}
:focus-visible{outline:2px solid var(--q-or);outline-offset:3px}
.q-site-main{flex:1 0 auto;width:100%}
.q-lien-evitement{position:absolute;left:-9999px;top:0;background:var(--q-bleu-nuit);color:#fff;padding:12px 20px;z-index:100}
.q-lien-evitement:focus{left:0;color:#fff}
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap}

/* =========================================================
   3. Structure
   ========================================================= */
.q-wrap{max-width:var(--q-max);margin-left:auto;margin-right:auto;padding-left:var(--q-gouttiere);padding-right:var(--q-gouttiere);width:100%}
.q-section{padding-top:clamp(56px,7vw,104px);padding-bottom:clamp(56px,7vw,104px)}
.q-section--produit{padding-top:clamp(52px,6.5vw,96px);padding-bottom:clamp(52px,6.5vw,96px)}
.q-section--bande{padding-top:clamp(44px,5.5vw,76px);padding-bottom:clamp(44px,5.5vw,76px)}
.q-duo{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:clamp(36px,5vw,72px);align-items:start}
.q-duo--centre{align-items:center}
.q-grain{background-color:var(--q-bleu-nuit);background-image:url(assets/images/grain.png);background-repeat:repeat;background-size:128px 128px}
.q-sombre{background:var(--q-bleu-nuit);color:var(--q-blanc)}
.q-sombre p{color:rgba(255,255,255,.8)}
.q-perle{background:var(--q-gris-perle)}

/* =========================================================
   4. Typographie
   ========================================================= */
.q-h1{font-family:var(--q-serif);font-size:clamp(46px,6.6vw,92px);line-height:1.02;font-weight:400;letter-spacing:-.005em;margin:0 0 24px;max-width:24ch;color:var(--q-bleu-nuit)}
.q-h1--produit{font-size:clamp(42px,5vw,68px);max-width:none;margin:0 0 10px}
.q-h1--boutique{font-size:clamp(38px,4.4vw,60px);line-height:1.04;margin:0;max-width:none}
.q-h2{font-family:var(--q-serif);font-size:clamp(32.5px,3.9vw,51px);line-height:1.06;font-weight:400;margin:0 0 20px;color:var(--q-bleu-nuit)}
.q-h2--pack{font-size:clamp(34.8px,4.4vw,58px);line-height:1.04}
.q-h2--produit{font-size:clamp(30.2px,3.5vw,44.1px);line-height:1.1}
.q-h2--bande{font-size:clamp(27.8px,3.2vw,39.4px);line-height:1.1;margin:0 0 10px}
.q-sombre .q-h1,.q-sombre .q-h2,.q-grain .q-h1,.q-grain .q-h2{color:var(--q-blanc)}
.q-h3{font-family:var(--q-sans);font-size:19px;font-weight:600;text-transform:uppercase;color:var(--q-bleu-nuit);margin:0 0 6px;line-height:1.35;letter-spacing:normal}
.q-sombre .q-h3,.q-grain .q-h3{color:var(--q-blanc)}
.q-surtitre{margin:0 0 14px;font-size:14px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--q-bleu-ardoise)}
.q-etiquette{font-size:15px;letter-spacing:.1em;text-transform:uppercase;color:var(--q-bleu-ardoise)}
.q-lien-fort{font-size:15px;letter-spacing:.14em;text-transform:uppercase;font-weight:600;color:var(--q-bleu-vif);white-space:nowrap}

/* =========================================================
   5. Boutons
   ========================================================= */
.q-btn{
  display:inline-block;
  background:rgba(239,170,34,.5);
  border:1px solid var(--q-or);
  color:#F2F2F2;
  border-radius:8px;
  text-decoration:none;
  font-weight:700;
  font-size:15px;
  letter-spacing:.1em;
  text-transform:uppercase;
  padding:14px 26px;
  line-height:1.35;
  text-align:center;
  cursor:pointer;
  box-shadow:var(--q-ombre-btn);
  transition:transform .18s ease,box-shadow .18s ease;
}
.q-btn:hover,.q-btn:focus-visible{transform:scale(1.035);box-shadow:var(--q-ombre-btn-survol);color:#F2F2F2;text-decoration:none}
.q-btn--sur-clair,.q-btn--sur-clair:hover,.q-btn--sur-clair:focus-visible{color:var(--q-bleu-nuit)}
.q-btn--header{font-size:14px;padding:10px 18px;border-radius:6px;letter-spacing:.06em}
.q-btn--secondaire{background:rgba(242,242,242,.2);border:1px solid rgba(255,255,255,.55);color:var(--q-blanc);font-weight:600;padding:14px 22px;box-shadow:0 6px 18px rgba(0,0,0,.2)}
.q-btn--secondaire:hover,.q-btn--secondaire:focus-visible{color:var(--q-blanc)}
.q-btn--large{width:100%;display:block}
.q-boutons{display:flex;flex-wrap:wrap;gap:18px;align-items:center}
.q-boutons--serres{gap:16px}

/* =========================================================
   6. Header
   ========================================================= */
.q-header{
  position:sticky;top:0;z-index:50;
  background:var(--q-bleu-nuit);color:var(--q-blanc);
  box-shadow:var(--q-ombre-header);
  border-bottom-left-radius:14px;border-bottom-right-radius:14px;
}
.q-header__inner{max-width:var(--q-max);margin:0 auto;padding:16px var(--q-gouttiere);display:flex;align-items:center;justify-content:space-between;gap:32px;flex-wrap:wrap}
.q-marque{display:flex;align-items:center;gap:14px;color:var(--q-blanc);text-decoration:none}
.q-marque:hover,.q-marque:focus-visible{color:var(--q-blanc);text-decoration:none}
.q-marque__logo{width:28px;height:auto;display:block}
.q-marque__nom{font-weight:600;font-size:25px;letter-spacing:.02em;text-transform:uppercase;line-height:1}
.q-nav{display:flex;align-items:center;gap:26px;flex-wrap:wrap;font-size:14px;text-transform:uppercase;font-weight:500}
.q-nav ul{list-style:none;margin:0;padding:0;display:flex;align-items:center;gap:26px;flex-wrap:wrap}
.q-nav a{color:var(--q-blanc);text-decoration:none;line-height:1.4}
.q-nav a:hover,.q-nav a:focus-visible{color:var(--q-or);text-decoration:none}
.q-nav .current-menu-item>a,
.q-nav .current_page_item>a,
.q-nav .current-menu-ancestor>a,
.q-nav a[aria-current="page"]{color:var(--q-or)}
.q-nav .q-btn,.q-nav .q-btn:hover{color:#F2F2F2}
.q-burger{display:none;flex-direction:column;justify-content:center;gap:5px;width:44px;height:44px;padding:0 9px;background:none;border:1px solid rgba(255,255,255,.35);border-radius:8px;cursor:pointer}
.q-burger span{display:block;height:2px;background:var(--q-blanc)}
.q-tiroir{display:none;gap:2px;padding:6px var(--q-gouttiere) 22px;border-top:1px solid rgba(255,255,255,.16);font-size:16px;text-transform:uppercase;font-weight:500}
.q-tiroir.est-ouvert{display:grid}
.q-tiroir ul{list-style:none;margin:0;padding:0;display:grid;gap:2px}
.q-tiroir a{color:var(--q-blanc);text-decoration:none;padding:14px 0;border-bottom:1px solid rgba(255,255,255,.1);display:block}
.q-tiroir a:hover{color:var(--q-or);text-decoration:none}
.q-tiroir .current-menu-item>a{color:var(--q-or)}
.q-tiroir .q-btn{margin-top:14px;border-bottom:0;font-size:15px;padding:15px 18px}

@media (max-width:899px){
  .q-marque__nom{display:none}
  .q-nav--desktop{display:none}
  .q-burger{display:flex}
}

/* =========================================================
   7. Hero
   ========================================================= */
.q-hero{position:relative;margin-top:-14px;background-color:var(--q-bleu-nuit);background-size:cover;background-position:center}
.q-hero__voile{background:linear-gradient(90deg,rgba(24,49,82,.82) 0%,rgba(24,49,82,.62) 52%,rgba(24,49,82,.25) 100%)}
.q-hero__inner{max-width:var(--q-max);margin:0 auto;padding:clamp(72px,11vw,168px) var(--q-gouttiere)}
.q-hero .q-h1{color:var(--q-blanc)}
.q-hero__texte{margin:0 0 40px;max-width:42ch;font-size:clamp(17px,1.7vw,19.5px);font-weight:300;line-height:1.8;color:rgba(255,255,255,.86);text-wrap:pretty}

/* =========================================================
   8. Méthode / étapes
   ========================================================= */
.q-methode{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));background:var(--q-bleu-nuit);color:var(--q-blanc)}
.q-methode__photo{min-height:320px;background-color:var(--q-bleu-ardoise);background-size:cover;background-position:center}
.q-methode__panneau{padding:clamp(48px,6vw,96px) clamp(28px,4vw,72px)}
.q-methode__panneau .q-h2{margin:0 0 40px}
.q-etapes{display:grid;gap:30px;max-width:44ch}
.q-etapes--produit{max-width:none;gap:28px}
.q-etape{display:grid;grid-template-columns:52px 1fr;gap:18px;align-items:start}
.q-etapes--produit .q-etape{gap:20px}
.q-etape__num{font-family:var(--q-serif);font-size:34px;line-height:1.8;font-weight:400;color:var(--q-or)}
.q-etape p{margin:0;color:rgba(255,255,255,.82)}
.q-etape .q-h3{letter-spacing:.05em;font-size:20px}

/* Colonnes chiffrées (page pack) */
.q-reperes{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:clamp(28px,3.5vw,48px)}
.q-repere__num{margin:0 0 10px;font-family:var(--q-serif);font-size:30px;line-height:1;color:var(--q-or)}
.q-repere p{margin:0;color:rgba(255,255,255,.8)}

/* =========================================================
   9. Cartes produit
   ========================================================= */
.q-entete-section{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:44px}
.q-entete-section .q-h2{margin:0}
.q-grille-cartes{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:20px;list-style:none;margin:0;padding:0}
.q-grille-cartes--large{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:24px}
.q-carte{
  display:flex;flex-direction:column;
  background:var(--q-gris-perle);
  border:1px solid var(--q-filet);
  border-radius:10px;
  padding:18px 18px 20px;
  text-decoration:none;color:var(--q-bleu-ardoise);
  height:100%;
  transition:transform .18s ease,box-shadow .18s ease;
}
.q-carte:hover,.q-carte:focus-visible{transform:scale(1.02);box-shadow:var(--q-ombre-carte);color:var(--q-bleu-ardoise);text-decoration:none}
.q-carte__img{width:72%;align-self:center;height:auto;margin-bottom:18px;display:block}
.q-carte--large{padding:26px 22px}
.q-carte--large .q-carte__img{width:100%;margin-bottom:22px}
.q-carte__titre{margin:0 0 6px;font-family:var(--q-sans);font-size:19px;font-weight:600;text-transform:uppercase;color:var(--q-bleu-nuit);line-height:1.3}
.q-carte__desc{margin:0 0 16px;font-size:13.5px;font-weight:300;line-height:1.6;flex:1}
.q-carte__pied{display:flex;align-items:baseline;justify-content:space-between;gap:12px}
.q-carte--large .q-carte__pied{border-top:1px solid var(--q-filet-alt);padding-top:14px}
.q-carte__prix{font-family:var(--q-serif);font-size:24px;font-weight:400;color:var(--q-bleu-nuit);line-height:1.2}
.q-carte--large .q-carte__prix{font-size:26px}
.q-carte__prix del{opacity:.55;font-size:.7em;margin-right:.35em}
.q-carte__prix ins{text-decoration:none}
.q-carte__voir{font-size:13px;letter-spacing:.12em;text-transform:uppercase;font-weight:600;color:var(--q-bleu-vif)}

@media (max-width:899px){
  .q-grille-cartes--rail{
    display:flex;grid-template-columns:none;
    gap:16px;overflow-x:auto;scrollbar-width:none;
    scroll-snap-type:x mandatory;scroll-behavior:smooth;
    padding:4px 2px 18px;
  }
  .q-grille-cartes--rail::-webkit-scrollbar{display:none}
  .q-grille-cartes--rail>li,.q-grille-cartes--rail>.q-carte{flex:0 0 clamp(210px,58vw,258px);scroll-snap-align:start}
}

/* =========================================================
   10. Verset
   ========================================================= */
.q-verset{margin:0;padding:0 0 0 26px;border-left:2px solid var(--q-or)}
.q-verset p{margin:0 0 12px;font-family:var(--q-verset);font-style:italic;font-size:clamp(22px,2.4vw,30px);line-height:1.45;color:var(--q-bleu-nuit)}
.q-verset footer{font-size:14px;letter-spacing:.16em;text-transform:uppercase;color:var(--q-bleu-ardoise);font-family:var(--q-sans);font-style:normal}
.q-verset--produit{max-width:46ch}
.q-verset--produit p{font-size:21px;line-height:1.55}

/* =========================================================
   11. Bloc Pack (accueil)
   ========================================================= */
.q-pack{
  border-radius:12px;color:var(--q-blanc);
  padding:clamp(32px,4.5vw,68px);
  display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
  gap:clamp(36px,5vw,72px);align-items:center;
}
.q-pack p{color:rgba(255,255,255,.82);max-width:40ch;margin:0 0 32px;text-wrap:pretty}
.q-pack__tarif{display:flex;flex-wrap:wrap;align-items:baseline;gap:20px;margin-bottom:32px}
.q-pack__prix{font-family:var(--q-serif);font-size:clamp(52px,6.4vw,82px);line-height:1;font-weight:400;color:var(--q-or)}
.q-pack__ref{font-size:18px;white-space:nowrap;color:rgba(255,255,255,.72)}
.q-pack__ref del{text-decoration:line-through}
.q-pack__visuel{display:flex;justify-content:center;align-items:center}
.q-pack__visuel img{width:100%;max-width:460px;height:auto;filter:drop-shadow(0 20px 34px rgba(6,18,34,.5))}

/* =========================================================
   12. FAQ
   ========================================================= */
.q-faq{max-width:900px}
.q-faq__item{border-bottom:1px solid var(--q-filet)}
.q-faq__q{
  width:100%;background:none;border:0;padding:22px 0;
  display:flex;align-items:center;justify-content:space-between;gap:20px;
  cursor:pointer;text-align:left;
  font-size:16px;font-weight:600;text-transform:uppercase;letter-spacing:normal;
  color:var(--q-bleu-nuit);font-family:inherit;line-height:1.35;
}
.q-faq__signe{font-size:24px;font-weight:400;color:var(--q-bleu-ardoise);line-height:1;flex:0 0 auto}
.q-faq__r{margin:0;padding:0 0 24px;max-width:56ch;text-wrap:pretty}
.q-faq__r[hidden]{display:none}
.q-faq--produit .q-faq__q{padding:20px 0}
.q-faq--produit .q-faq__r{padding-bottom:22px}
.q-faq--sur-gris .q-faq__item{border-bottom-color:var(--q-filet-gris)}

/* =========================================================
   13. Page produit
   ========================================================= */
.q-fil{max-width:var(--q-max);margin:0 auto;padding:22px var(--q-gouttiere) 0;font-size:15px;letter-spacing:.12em;text-transform:uppercase;color:var(--q-bleu-ardoise)}
.q-fil a{color:var(--q-bleu-ardoise)}
.q-fil a:hover{color:var(--q-bleu-nuit)}
.q-fil__courant{color:var(--q-bleu-nuit)}

.q-achat{
  max-width:var(--q-max);margin:0 auto;
  padding:clamp(28px,4vw,52px) var(--q-gouttiere) clamp(48px,6vw,88px);
  display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));
  gap:clamp(36px,5vw,72px);align-items:start;
}
.q-galerie__principale{background:var(--q-gris-perle);border-radius:12px;padding:clamp(28px,4vw,56px);display:flex;justify-content:center}
.q-galerie__principale img{width:100%;max-width:420px;height:auto;filter:drop-shadow(0 20px 32px rgba(24,49,82,.2))}
.q-vignettes{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:12px;margin-top:12px}
.q-vignette{background:var(--q-gris-perle);border-radius:8px;padding:14px;display:flex;justify-content:center;align-items:center}
.q-vignette img{width:100%;max-width:90px;height:auto}

.q-produit__sous{margin:0 0 26px;font-size:clamp(20px,2.2vw,26px);text-transform:uppercase;letter-spacing:.05em;color:var(--q-bleu-ardoise);line-height:1.3}
.q-produit__desc{margin:0 0 30px;max-width:46ch;text-wrap:pretty}
.q-produit__desc p:last-child{margin-bottom:0}

.q-tarif{border-top:1px solid var(--q-filet-alt);border-bottom:1px solid var(--q-filet-alt);padding:24px 0;margin-bottom:28px;display:flex;flex-wrap:wrap;align-items:baseline;gap:18px}
.q-tarif__prix{font-family:var(--q-serif);font-size:clamp(40px,4.2vw,56px);line-height:1;font-weight:400;color:var(--q-bleu-nuit)}
.q-tarif__prix del{font-size:.42em;opacity:.6;margin-right:.4em}
.q-tarif__prix ins{text-decoration:none}
.q-tarif__mention{font-size:16px;letter-spacing:.1em;text-transform:uppercase;color:var(--q-bleu-ardoise)}
.q-tarif__eco{font-size:15px;letter-spacing:.1em;text-transform:uppercase;color:var(--q-bleu-ardoise)}

.q-statut{margin:0 0 34px;font-size:16px;letter-spacing:.06em;text-transform:uppercase;color:var(--q-bleu-ardoise)}
.q-caracs{margin:0 0 34px;padding:0;list-style:none;display:grid;gap:10px}
.q-caracs li{display:flex;gap:14px}
.q-caracs li::before{content:"—";color:var(--q-bleu-nuit);font-weight:700;flex:0 0 auto}
.q-encart{background:var(--q-gris-perle);border-radius:10px;padding:26px 28px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:18px}
.q-encart__titre{margin:0 0 4px;font-size:20px;font-weight:600;text-transform:uppercase;color:var(--q-bleu-nuit);letter-spacing:.04em;line-height:1.3}
.q-encart p{margin:0;font-size:16px}
.q-media{aspect-ratio:4/3;border-radius:12px;background-color:var(--q-gris-perle);background-size:cover;background-position:center}

/* =========================================================
   14. Boutique
   ========================================================= */
.q-boutique__entete{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:clamp(28px,4vw,48px)}
.q-boutique__reassurance{margin:clamp(32px,4vw,52px) 0 0;font-size:15px;letter-spacing:.06em;text-transform:uppercase;color:var(--q-bleu-ardoise)}

/* =========================================================
   15. Footer
   ========================================================= */
.q-footer{color:rgba(255,255,255,.72);border-top:1px solid rgba(255,255,255,.14);flex:0 0 auto}
.q-footer__cols{max-width:var(--q-max);margin:0 auto;padding:clamp(44px,5vw,72px) var(--q-gouttiere) 32px;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:36px}
.q-footer__marque{display:flex;align-items:center;gap:12px;margin-bottom:14px}
.q-footer__marque img{width:22px;height:auto;display:block}
.q-footer__marque span{color:var(--q-blanc);font-weight:600;font-size:22px;letter-spacing:.02em;text-transform:uppercase;line-height:1}
.q-footer__baseline{margin:0;font-size:16px;max-width:30ch}
.q-footer__titre{margin:0 0 14px;color:var(--q-blanc);font-size:15px;letter-spacing:.16em;text-transform:uppercase;font-weight:600}
.q-footer ul{margin:0;padding:0;list-style:none;display:grid;gap:8px;font-size:16px}
.q-footer a{color:rgba(255,255,255,.78)}
.q-footer a:hover{color:var(--q-blanc)}
.q-footer__copyright{max-width:var(--q-max);margin:0 auto;padding:0 var(--q-gouttiere) 40px;font-size:15px;letter-spacing:.04em;text-transform:uppercase}
.q-footer--reduit{border-top:0}
.q-footer--reduit .q-footer__ligne{max-width:var(--q-max);margin:0 auto;padding:clamp(28px,3.5vw,44px) var(--q-gouttiere);display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px}
.q-footer--reduit .q-footer__liens{display:flex;flex-wrap:wrap;gap:24px;font-size:15px;list-style:none;margin:0;padding:0}

/* =========================================================
   16. Contenu éditorial (pages, articles)
   ========================================================= */
.q-contenu h1,.q-contenu h2{font-family:var(--q-serif);font-weight:400;color:var(--q-bleu-nuit);line-height:1.1}
.q-contenu h1{font-size:clamp(38px,4.4vw,60px);margin:0 0 24px}
.q-contenu h2{font-size:clamp(28px,3.2vw,40px);margin:1.6em 0 .5em}
.q-contenu h3,.q-contenu h4{font-family:var(--q-sans);font-weight:600;text-transform:uppercase;color:var(--q-bleu-nuit);margin:1.6em 0 .4em;font-size:19px}
.q-contenu p,.q-contenu li{max-width:70ch}
.q-contenu img{border-radius:10px}
.q-contenu blockquote{margin:2em 0;padding:0 0 0 26px;border-left:2px solid var(--q-or)}
.q-pagination{display:flex;gap:14px;flex-wrap:wrap;margin-top:48px;font-size:15px;text-transform:uppercase;letter-spacing:.1em}
.q-liste-articles{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:32px;list-style:none;margin:0;padding:0}
.q-article-extrait{background:var(--q-gris-perle);border:1px solid var(--q-filet);border-radius:10px;padding:24px;height:100%;display:flex;flex-direction:column}
.q-article-extrait h2{font-family:var(--q-serif);font-size:28px;font-weight:400;margin:0 0 10px;line-height:1.1}
.q-article-extrait h2 a{color:var(--q-bleu-nuit)}
.q-404{text-align:center;padding:clamp(64px,10vw,140px) var(--q-gouttiere)}

/* =========================================================
   17. WooCommerce
   ========================================================= */
.woocommerce-notices-wrapper:empty{display:none}
.woocommerce-message,.woocommerce-info,.woocommerce-error{
  max-width:var(--q-max);margin:0 auto 28px;padding:16px 22px;
  border-left:3px solid var(--q-or);background:var(--q-gris-perle);
  list-style:none;font-size:16px;
}
.woocommerce-error{border-left-color:#B3261E}

.q-achat form.cart{display:flex;flex-wrap:wrap;gap:16px;align-items:stretch;margin:0 0 22px}
.q-achat form.cart .quantity{display:flex;align-items:center;border:1px solid var(--q-bleu-ardoise);border-radius:8px;overflow:hidden}
.q-achat form.cart .quantity label{display:none}
.q-qte-btn{background:none;border:0;padding:0 18px;align-self:stretch;font-size:22px;color:var(--q-bleu-nuit);cursor:pointer;line-height:1}
.q-achat form.cart .quantity input.qty{
  width:52px;min-width:40px;text-align:center;
  border:0;background:none;
  font-size:20px;font-weight:600;color:var(--q-bleu-nuit);
  padding:12px 0;-moz-appearance:textfield;
}
.q-achat form.cart .quantity input.qty::-webkit-outer-spin-button,
.q-achat form.cart .quantity input.qty::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.q-achat form.cart button.single_add_to_cart_button{
  flex:1;min-width:220px;
  background:rgba(239,170,34,.5);border:1px solid var(--q-or);color:var(--q-bleu-nuit);
  border-radius:8px;font-weight:700;font-size:15px;letter-spacing:.1em;text-transform:uppercase;
  padding:14px 26px;cursor:pointer;box-shadow:var(--q-ombre-btn);
  transition:transform .18s ease,box-shadow .18s ease;
}
.q-achat form.cart button.single_add_to_cart_button:hover{transform:scale(1.035);box-shadow:var(--q-ombre-btn-survol)}
.q-achat .woocommerce-variation-add-to-cart{display:flex;gap:16px;flex-wrap:wrap;width:100%}

/* Boutons WooCommerce génériques (panier, commande, compte) */
.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,
.woocommerce a.button.alt,.woocommerce button.button.alt,.woocommerce input.button.alt,
.wc-block-components-button{
  display:inline-block;background:rgba(239,170,34,.5);border:1px solid var(--q-or);
  color:var(--q-bleu-nuit);border-radius:8px;font-family:var(--q-sans);font-weight:700;font-size:15px;
  letter-spacing:.1em;text-transform:uppercase;padding:14px 26px;cursor:pointer;
  box-shadow:var(--q-ombre-btn);transition:transform .18s ease,box-shadow .18s ease;text-decoration:none;
}
.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce input.button:hover,
.woocommerce a.button.alt:hover,.woocommerce button.button.alt:hover{
  transform:scale(1.035);box-shadow:var(--q-ombre-btn-survol);color:var(--q-bleu-nuit);text-decoration:none;
}
.woocommerce table.shop_table,.woocommerce-cart table.cart{border:1px solid var(--q-filet);border-radius:10px;border-collapse:separate;border-spacing:0;width:100%}
.woocommerce table.shop_table th{font-weight:600;text-transform:uppercase;font-size:15px;letter-spacing:.1em;color:var(--q-bleu-nuit);text-align:left;padding:16px}
.woocommerce table.shop_table td{padding:16px;border-top:1px solid var(--q-filet)}
.woocommerce .cart_totals h2,.woocommerce-checkout h3,.woocommerce-billing-fields h3{font-family:var(--q-serif);font-weight:400;font-size:32px;color:var(--q-bleu-nuit)}
.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,.woocommerce form .form-row select,
.select2-container--default .select2-selection--single{
  border:1px solid var(--q-filet-alt);border-radius:8px;padding:12px 14px;font-family:var(--q-sans);font-size:16px;width:100%;
}
.woocommerce form .form-row label{font-size:15px;text-transform:uppercase;letter-spacing:.08em;font-weight:600;color:var(--q-bleu-nuit)}
.woocommerce .price,.woocommerce ul.products li.product .price{color:var(--q-bleu-nuit);font-family:var(--q-serif);font-size:24px;font-weight:400}
.woocommerce .price del{opacity:.55;font-size:.7em}
.woocommerce .price ins{text-decoration:none}
.woocommerce-cart .q-wrap,.woocommerce-checkout .q-wrap,.woocommerce-account .q-wrap,
.woocommerce-order-received .q-wrap{padding-top:clamp(36px,5vw,64px);padding-bottom:clamp(56px,7vw,96px)}
.woocommerce .woocommerce-breadcrumb{display:none}

/* =========================================================
   18. Impression
   ========================================================= */
@media print{
  .q-header,.q-footer,.q-btn,.q-burger{display:none!important}
  body{color:#000;background:#fff}
}
