/*
Theme Name:   Pierre & Âme
Theme URI:    https://example.com/pierre-et-ame
Author:       Pierre & Âme
Description:  Thème WordPress autonome pour boutique de bracelets en pierres naturelles (lithothérapie). Conçu pour WooCommerce : catalogue, fiche produit, panier, commande, compte. Élégant, chaleureux, entièrement personnalisable (Apparence → Personnaliser). Aucun thème parent requis.
Version:      1.0.0
Requires at least: 6.0
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:  pierre-et-ame
Tags:         e-commerce, woocommerce, two-columns, custom-colors, custom-menu, featured-images, translation-ready
*/

/* =========================================================================
   0. RESET & BASES
   ========================================================================= */
*,*::before,*::after{ box-sizing:border-box; }
html{ -webkit-text-size-adjust:100%; }
body{
  margin:0;
  font-family:var(--pa-body);
  color:var(--pa-ink);
  background:var(--pa-bg);
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
img{ max-width:100%; height:auto; display:block; }
a{ color:var(--pa-accent); text-decoration:none; }
a:hover{ color:var(--pa-accent-deep); }
button{ font-family:inherit; }
h1,h2,h3,h4{ font-family:var(--pa-heading); font-weight:600; color:var(--pa-ink); letter-spacing:-.01em; line-height:1.1; }
::selection{ background:rgba(176,118,79,.22); }
.pa-container{ width:100%; max-width:1280px; margin:0 auto; padding:0 32px; }
.screen-reader-text{ position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); }
.pa-sronly{ position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); }

/* =========================================================================
   1. JETONS (surchargés par l'Outil de personnalisation, voir functions.php)
   ========================================================================= */
:root{
  --pa-accent:#b0764f;
  --pa-accent-deep:#8a5a38;
  --pa-bg:#f4efe6;
  --pa-surface:#fffdf8;
  --pa-ink:#2a241e;
  --pa-muted:#8c8273;
  --pa-soft:#f1ece1;
  --pa-line:rgba(60,45,30,.13);
  --pa-heading:'Cormorant Garamond',Georgia,serif;
  --pa-body:'Hanken Grotesk',system-ui,-apple-system,sans-serif;
  --pa-btn-radius:999px;
  --pa-card-radius:18px;
  --pa-card-border:1px solid transparent;
  --pa-card-shadow:0 20px 44px -26px rgba(70,45,20,.42);
}

/* =========================================================================
   2. BANDEAU PROMO + EN-TÊTE
   ========================================================================= */
.pa-topbar{ background:var(--pa-accent); color:#fdf6ee; }
.pa-topbar__inner{
  display:flex; justify-content:center; align-items:center; gap:38px; flex-wrap:wrap;
  padding:9px 32px; font-size:12px; letter-spacing:.08em; text-transform:uppercase; font-weight:500;
}
.pa-topbar__sep{ opacity:.55; }

.pa-header{
  position:sticky; top:0; z-index:50;
  background:rgba(255,253,248,.85); backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px);
  border-bottom:1px solid var(--pa-line);
}
.pa-header__inner{ display:flex; align-items:center; gap:34px; padding:16px 32px; }
.pa-logo{ display:inline-flex; align-items:baseline; gap:6px; font-family:var(--pa-heading); font-size:27px; font-weight:600; color:var(--pa-ink); white-space:nowrap; }
.pa-logo span{ color:var(--pa-accent); }
.pa-logo img{ max-height:46px; width:auto; }
.pa-nav{ display:flex; gap:30px; flex:1; }
.pa-nav a{ font-size:14.5px; font-weight:500; color:var(--pa-ink); letter-spacing:.01em; transition:color .2s; }
.pa-nav a:hover,.pa-nav .current-menu-item > a{ color:var(--pa-accent); }
.pa-nav ul{ list-style:none; margin:0; padding:0; display:flex; gap:30px; }
.pa-header__actions{ display:flex; align-items:center; gap:14px; }
.pa-iconbtn{ display:grid; place-items:center; width:38px; height:38px; border-radius:50%; background:none; border:none; cursor:pointer; color:var(--pa-ink); transition:background .2s; position:relative; }
.pa-iconbtn:hover{ background:rgba(60,45,30,.06); }
.pa-cart-count{ position:absolute; top:0; right:-2px; min-width:18px; height:18px; padding:0 4px; border-radius:9px; background:var(--pa-accent); color:#fff; font-size:11px; font-weight:700; display:grid; place-items:center; }
.pa-burger{ display:none; }

/* =========================================================================
   3. BOUTONS & FORMULAIRES (globaux)
   ========================================================================= */
.pa-btn,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce .single_add_to_cart_button,
.woocommerce #place_order{
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  background:var(--pa-accent); color:#fff; border:none;
  border-radius:var(--pa-btn-radius); cursor:pointer;
  font-family:var(--pa-body); font-weight:600; letter-spacing:.02em; font-size:14px;
  padding:12px 24px; transition:filter .2s, transform .2s;
}
.pa-btn:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce .single_add_to_cart_button:hover,
.woocommerce #place_order:hover{ filter:brightness(1.07); transform:translateY(-1px); color:#fff; }
.pa-btn--ghost{ background:none; color:var(--pa-ink); border:1px solid rgba(60,45,30,.25); }
.pa-btn--ghost:hover{ background:#26211b; color:#fff; border-color:#26211b; filter:none; }
.pa-btn--light{ background:var(--pa-surface); color:var(--pa-ink); border:1px solid var(--pa-line); }

input[type=text],input[type=email],input[type=search],input[type=tel],input[type=password],input[type=number],textarea,select,
.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,.select2-container .select2-selection{
  font-family:inherit; font-size:14.5px; color:var(--pa-ink);
  background:var(--pa-surface); border:1px solid rgba(60,45,30,.18); border-radius:12px;
  padding:12px 16px; outline:none; transition:border-color .2s, box-shadow .2s;
}
input:focus,textarea:focus,select:focus{ border-color:var(--pa-accent); box-shadow:0 0 0 3px rgba(176,118,79,.14); }

/* =========================================================================
   4. PIED DE PAGE
   ========================================================================= */
.pa-footer{ background:#26211b; color:#d9cfbf; margin-top:80px; }
.pa-footer__grid{ display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:40px; padding:56px 32px 30px; max-width:1280px; margin:0 auto; }
.pa-footer h4{ font-size:12px; letter-spacing:.08em; text-transform:uppercase; color:#8a8073; font-weight:600; margin:0 0 16px; font-family:var(--pa-body); }
.pa-footer__brand .pa-logo{ color:#fdf6ee; }
.pa-footer p{ font-size:14px; line-height:1.7; color:#b3a896; }
.pa-footer ul{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:11px; }
.pa-footer ul a{ font-size:14px; color:#d9cfbf; }
.pa-footer ul a:hover{ color:#fff; }
.pa-newsletter{ display:flex; max-width:330px; border:1px solid rgba(255,255,255,.18); border-radius:999px; overflow:hidden; background:rgba(255,255,255,.05); margin-top:14px; }
.pa-newsletter input{ flex:1; background:none; border:none; color:#fdf6ee; padding:13px 18px; border-radius:0; }
.pa-newsletter button{ background:var(--pa-accent); color:#fff; border:none; padding:0 22px; font-weight:600; font-size:13.5px; cursor:pointer; }
.pa-footer__bottom{ border-top:1px solid rgba(255,255,255,.1); }
.pa-footer__bottom .pa-container{ display:flex; justify-content:space-between; gap:16px; flex-wrap:wrap; padding-top:18px; padding-bottom:18px; font-size:12.5px; color:#8a8073; }

/* =========================================================================
   5. ACCUEIL (front-page)
   ========================================================================= */
.pa-hero{ position:relative; overflow:hidden; }
.pa-hero__inner{ display:grid; grid-template-columns:1.15fr 1fr; gap:48px; align-items:center; padding:64px 32px; max-width:1280px; margin:0 auto; }
.pa-hero h1{ font-size:clamp(44px,5.5vw,72px); margin:0 0 18px; }
.pa-hero p{ font-size:17px; color:var(--pa-muted); max-width:46ch; margin:0 0 28px; line-height:1.65; }
.pa-hero__media{ aspect-ratio:4/5; border-radius:24px; overflow:hidden; background:repeating-linear-gradient(45deg,#ece3d3,#ece3d3 12px,#e5dac6 12px,#e5dac6 24px); }
.pa-hero__media img{ width:100%; height:100%; object-fit:cover; }
.pa-section{ padding:56px 0; }
.pa-section__head{ display:flex; align-items:flex-end; justify-content:space-between; gap:20px; flex-wrap:wrap; margin-bottom:30px; }
.pa-eyebrow{ font-size:12px; letter-spacing:.1em; text-transform:uppercase; color:var(--pa-accent); font-weight:600; margin:0 0 6px; }
.pa-section h2{ font-size:clamp(30px,3.4vw,44px); margin:0; }
.pa-intentions{ display:flex; gap:13px; flex-wrap:wrap; }
.pa-intention{ display:flex; flex-direction:column; align-items:center; gap:9px; min-width:118px; padding:20px 18px 16px; border-radius:16px; background:var(--pa-surface); border:1.5px solid var(--pa-line); transition:all .2s; }
.pa-intention:hover{ transform:translateY(-4px); border-color:var(--pa-accent); }
.pa-intention__dot{ width:34px; height:34px; border-radius:50%; box-shadow:0 2px 5px rgba(60,40,20,.2); }
.pa-intention__name{ font-family:var(--pa-heading); font-size:18px; font-weight:600; }
.pa-reassure-strip{ display:grid; grid-template-columns:repeat(4,1fr); gap:24px; padding:40px 32px; max-width:1280px; margin:0 auto; border-top:1px solid var(--pa-line); border-bottom:1px solid var(--pa-line); }
.pa-reassure-strip .item{ display:flex; flex-direction:column; align-items:center; text-align:center; gap:10px; }
.pa-reassure-strip svg{ color:var(--pa-accent); }
.pa-reassure-strip h4{ margin:0; font-family:var(--pa-heading); font-size:19px; }
.pa-reassure-strip p{ margin:0; font-size:13px; color:var(--pa-muted); }

/* =========================================================================
   6. PAGES GÉNÉRIQUES / ARTICLES
   ========================================================================= */
.pa-page-hero{ padding:48px 0 8px; }
.pa-page-hero h1{ font-size:clamp(36px,4.5vw,58px); margin:0; }
.pa-breadcrumb,.woocommerce .woocommerce-breadcrumb{ font-size:12.5px; letter-spacing:.04em; color:var(--pa-muted); margin:14px 0 22px; }
.pa-entry{ max-width:760px; margin:0 auto; padding:24px 32px 40px; font-size:16.5px; }
.pa-entry h2{ font-size:30px; margin:32px 0 12px; }
.pa-entry p{ margin:0 0 18px; }
.pa-prose a{ text-decoration:underline; }

/* =========================================================================
   7. WOOCOMMERCE — pleine largeur (pas de sidebar imposée)
   ========================================================================= */
.woocommerce-page .pa-shop-wrap,.woocommerce .pa-shop-wrap{ max-width:1280px; margin:0 auto; padding:0 32px; }
.woocommerce .woocommerce-result-count{ color:var(--pa-muted); font-size:14px; margin:0; }
.woocommerce .woocommerce-ordering select{ border-radius:999px; padding:9px 16px; }
.woocommerce-products-header{ padding:48px 0 6px; }
.woocommerce-products-header__title{ font-size:clamp(40px,5vw,64px)!important; margin:0 0 8px; }

/* barre filtres par intention */
.pa-filterbar{ display:flex; gap:10px; flex-wrap:wrap; margin:18px 0 26px; }
.pa-filterbar a{ font-size:13.5px; font-weight:600; color:var(--pa-ink); background:var(--pa-surface); border:1px solid var(--pa-line); padding:9px 16px; border-radius:999px; transition:all .15s; }
.pa-filterbar a:hover{ border-color:var(--pa-accent); }
.pa-filterbar a.is-active{ background:#26211b; color:#fff; border-color:#26211b; }

.woocommerce .woocommerce-result-count + .woocommerce-ordering{ margin-bottom:24px; }
.pa-shop-toolbar{ display:flex; align-items:center; justify-content:space-between; gap:20px; flex-wrap:wrap; padding-bottom:22px; border-bottom:1px solid var(--pa-line); margin-bottom:28px; }

/* grille */
.woocommerce ul.products{
  display:grid!important; grid-template-columns:repeat(auto-fill,minmax(230px,1fr));
  gap:24px; width:100%; max-width:100%; margin:0 0 70px!important; padding:0; list-style:none;
}
.woocommerce ul.products::before,.woocommerce ul.products::after{ content:none!important; display:none!important; }
.woocommerce ul.products li.product{
  position:relative; background:var(--pa-surface); border-radius:var(--pa-card-radius);
  border:var(--pa-card-border); box-shadow:var(--pa-card-shadow); overflow:hidden;
  width:auto!important; margin:0!important; padding:0!important;
  display:flex; flex-direction:column; transition:transform .32s cubic-bezier(.2,.7,.3,1), box-shadow .32s;
}
.woocommerce ul.products li.product:hover{ transform:translateY(-7px); box-shadow:0 30px 56px -28px rgba(70,45,20,.5); }
.pa-card__media{ position:relative; }
.pa-card__imglink{ display:block; }
.woocommerce ul.products li.product .pa-card__media img{ margin:0!important; border-radius:0; display:block; aspect-ratio:1/1; object-fit:cover; width:100%; }
.pa-card-cat{ position:absolute; top:14px; left:14px; z-index:2; font-size:10.5px; letter-spacing:.08em; text-transform:uppercase; font-weight:600; color:var(--pa-ink); background:rgba(255,253,248,.82); padding:5px 11px; border-radius:999px; }
.pa-card-sale{ position:absolute; top:14px; right:54px; z-index:2; font-size:10.5px; letter-spacing:.06em; text-transform:uppercase; font-weight:700; color:#fff; background:var(--pa-accent); padding:5px 11px; border-radius:999px; }
.pa-card-actions{ position:absolute; top:11px; right:11px; z-index:2; display:flex; flex-direction:column; gap:8px; }
.pa-card-icon{ width:34px; height:34px; border-radius:50%; display:grid; place-items:center; background:rgba(255,253,248,.85); border:none; cursor:pointer; color:#7a7064; transition:background .2s,color .2s; }
.pa-card-icon:hover{ background:#fff; color:var(--pa-accent); }
.pa-card-icon.is-wished{ color:var(--pa-accent); }
.pa-card__body{ display:flex; flex-direction:column; padding:16px 20px 18px; flex:1; }
.woocommerce ul.products li.product .woocommerce-loop-product__title{ font-size:23px!important; line-height:1.1; padding:0!important; margin:0; }
.pa-card-sub{ padding:2px 0 0; margin:0; font-family:var(--pa-heading); font-style:italic; font-size:12.5px; color:var(--pa-muted); }
.pa-vertus{ display:flex; gap:6px; flex-wrap:wrap; padding:10px 0 0; }
.pa-vertus span{ font-size:11.5px; color:var(--pa-ink); background:var(--pa-soft); padding:4px 10px; border-radius:999px; }
.pa-card__foot{ display:flex; align-items:center; justify-content:space-between; gap:10px; margin-top:auto; padding-top:14px; }
.woocommerce ul.products li.product .price{ color:var(--pa-ink)!important; font-family:var(--pa-body); font-size:19px!important; font-weight:600; padding:0; margin:0; white-space:nowrap; }
.woocommerce ul.products li.product .price del{ color:var(--pa-muted); font-weight:400; }
.woocommerce ul.products li.product .price ins{ text-decoration:none; }
.woocommerce ul.products li.product .pa-card__foot .button{ margin:0; font-size:13px!important; padding:10px 16px!important; white-space:nowrap; }

/* pagination */
.woocommerce nav.woocommerce-pagination ul{ border:none; gap:8px; display:flex; justify-content:center; }
.woocommerce nav.woocommerce-pagination ul li{ border:none; }
.woocommerce nav.woocommerce-pagination ul li a,.woocommerce nav.woocommerce-pagination ul li span{
  border-radius:50%; width:42px; height:42px; line-height:42px; background:var(--pa-surface); border:1px solid var(--pa-line); color:var(--pa-ink); }
.woocommerce nav.woocommerce-pagination ul li span.current{ background:var(--pa-accent); color:#fff; border-color:var(--pa-accent); }

/* =========================================================================
   8. FICHE PRODUIT
   ========================================================================= */
.woocommerce div.product{ max-width:1180px; margin:0 auto; padding:28px 0 0; }
.single-product.woocommerce div.product .pa-single-top{ display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:start; }
.pa-single-gallery{ position:relative; }
.pa-single-bottom{ margin-top:48px; }
.woocommerce div.product .woocommerce-product-gallery{ position:relative; margin:0!important; width:100%!important; float:none!important; }
.woocommerce div.product .woocommerce-product-gallery__image,.woocommerce div.product .woocommerce-product-gallery__wrapper{ border-radius:22px; overflow:hidden; }
.woocommerce div.product .woocommerce-product-gallery img{ border-radius:22px; }
.woocommerce div.product .summary{ margin:0!important; width:100%!important; float:none!important; }
.woocommerce div.product .product_title{ font-size:clamp(34px,4vw,50px)!important; line-height:1.02; margin:4px 0 0; }
.woocommerce div.product p.price,.woocommerce div.product span.price{ color:var(--pa-ink)!important; font-family:var(--pa-body); font-size:30px!important; font-weight:600; margin:16px 0 4px; }
.woocommerce div.product .woocommerce-product-rating{ margin-bottom:14px; }
.woocommerce .star-rating span::before,.woocommerce div.product .stars a::before{ color:var(--pa-accent); }
.woocommerce div.product .woocommerce-product-details__short-description{ font-size:16px; line-height:1.7; color:#544c41; max-width:48ch; margin:18px 0; }
.pa-single-latin{ font-family:var(--pa-heading); font-style:italic; font-size:17px; color:var(--pa-muted); margin:6px 0 0; }
.pa-block-label{ font-size:12px; letter-spacing:.08em; text-transform:uppercase; color:var(--pa-muted); font-weight:600; margin:0 0 11px; }
.pa-vertus-block{ margin:22px 0 0; }
.woocommerce-product-attributes{ border:1px solid var(--pa-line); border-radius:14px; overflow:hidden; }
.woocommerce-product-attributes th{ background:var(--pa-surface); color:var(--pa-muted); text-transform:uppercase; font-size:11px; letter-spacing:.05em; }
.woocommerce-product-attributes td{ background:var(--pa-surface); color:var(--pa-ink); font-style:normal; }
.woocommerce div.product form.cart{ display:flex; gap:13px; align-items:stretch; margin:26px 0; }
.woocommerce .quantity .qty{ border:1px solid rgba(60,45,30,.2); border-radius:var(--pa-btn-radius); height:54px; width:90px; text-align:center; font-weight:600; background:var(--pa-surface); }
.woocommerce div.product form.cart .single_add_to_cart_button{ flex:1; height:54px; font-size:15px; white-space:nowrap; }
.pa-single-vertus{ display:flex; gap:9px; flex-wrap:wrap; margin:22px 0 0; }
.pa-single-vertus span{ display:inline-flex; align-items:center; gap:7px; font-size:13.5px; color:var(--pa-ink); background:var(--pa-surface); border:1px solid var(--pa-line); padding:8px 14px; border-radius:999px; }
.pa-single-vertus span::before{ content:""; width:7px; height:7px; border-radius:50%; background:var(--pa-accent); }
/* tableau d'attributs (style maquette) */
.pa-attr-grid{ display:grid; grid-template-columns:1fr 1fr; gap:1px; background:var(--pa-line); border:1px solid var(--pa-line); border-radius:14px; overflow:hidden; margin:24px 0 0; }
.pa-attr{ background:var(--pa-surface); padding:14px 16px; }
.pa-attr__l{ display:block; font-size:11px; letter-spacing:.05em; text-transform:uppercase; color:var(--pa-muted); font-weight:600; }
.pa-attr__v{ display:block; margin-top:4px; font-size:14.5px; color:var(--pa-ink); font-weight:500; }
.pa-trust{ display:flex; gap:22px; flex-wrap:wrap; margin:22px 0 0; padding-top:22px; border-top:1px solid var(--pa-line); }
.pa-trust span{ display:inline-flex; align-items:center; gap:9px; font-size:13px; color:#544c41; }
.pa-trust svg{ color:var(--pa-accent); }
/* sceau fait main */
.pa-seal{ position:absolute; top:16px; right:16px; z-index:5; width:96px; height:96px; transform:rotate(-9deg); filter:drop-shadow(0 7px 16px rgba(60,40,20,.3)); pointer-events:none; }
/* onglets + avis */
.woocommerce div.product .woocommerce-tabs ul.tabs{ padding:0; }
.woocommerce div.product .woocommerce-tabs ul.tabs::before{ border-color:var(--pa-line); }
.woocommerce div.product .woocommerce-tabs ul.tabs li{ background:transparent; border:none; }
.woocommerce div.product .woocommerce-tabs ul.tabs li a{ font-family:var(--pa-heading); font-size:20px; font-weight:600; color:var(--pa-muted); }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a{ color:var(--pa-accent); }
#reviews .commentlist li{ background:var(--pa-surface); border:1px solid var(--pa-line); border-radius:14px; padding:20px 22px; margin-bottom:14px; list-style:none; }
#reviews .star-rating span::before{ color:var(--pa-accent); }
.woocommerce .related>h2,.woocommerce .upsells>h2{ font-family:var(--pa-heading); font-size:30px; font-weight:600; margin-bottom:20px; }
/* accordéons (remplacent les onglets) */
.pa-accordions{ margin-top:8px; }
.pa-acc{ border-top:1px solid var(--pa-line); }
.pa-acc:last-child{ border-bottom:1px solid var(--pa-line); }
.pa-acc summary{ display:flex; align-items:center; justify-content:space-between; gap:16px; padding:18px 2px; cursor:pointer; list-style:none; font-family:var(--pa-heading); font-size:21px; font-weight:600; color:var(--pa-ink); }
.pa-acc summary::-webkit-details-marker{ display:none; }
.pa-acc summary::marker{ content:""; }
.pa-acc__i{ font-size:24px; line-height:1; color:var(--pa-muted); font-weight:400; transition:transform .2s; }
.pa-acc[open] .pa-acc__i{ transform:rotate(45deg); }
.pa-acc__body{ padding:0 2px 22px; font-size:14.5px; line-height:1.7; color:#6a6155; }
.pa-acc__body p{ margin:0 0 12px; }

/* =========================================================================
   9. PANIER / COMMANDE / COMPTE
   ========================================================================= */
.woocommerce-cart .pa-shop-wrap,.woocommerce-checkout .pa-shop-wrap,.woocommerce-account .pa-shop-wrap{ padding-top:32px; padding-bottom:60px; }
.woocommerce table.shop_table{ border-radius:14px; border:1px solid var(--pa-line); background:var(--pa-surface); overflow:hidden; }
.woocommerce table.shop_table th{ font-family:var(--pa-body); }
.woocommerce .cart_totals,.woocommerce-checkout #order_review{ background:var(--pa-surface); border:1px solid var(--pa-line); border-radius:16px; padding:8px 22px 18px; }
.woocommerce-account .woocommerce-MyAccount-navigation ul{ list-style:none; margin:0 0 24px; padding:0; display:flex; gap:8px; flex-wrap:wrap; }
.woocommerce-account .woocommerce-MyAccount-navigation li a{ display:inline-block; padding:9px 16px; border-radius:999px; background:var(--pa-surface); border:1px solid var(--pa-line); font-size:14px; font-weight:600; }
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a{ background:#26211b; color:#fff; border-color:#26211b; }
.woocommerce-message,.woocommerce-info,.woocommerce-error{ border-top-color:var(--pa-accent); border-radius:10px; }
.woocommerce-message::before,.woocommerce-info::before{ color:var(--pa-accent); }

/* =========================================================================
   10. QUICK VIEW (modale) + RECHERCHE INSTANTANÉE + DRAWERS
   ========================================================================= */
.pa-modal{ position:fixed; inset:0; z-index:200; display:none; }
.pa-modal.is-open{ display:block; }
.pa-modal__backdrop{ position:absolute; inset:0; background:rgba(26,21,16,.5); backdrop-filter:blur(3px); }
.pa-modal__dialog{ position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); width:min(880px,92vw); max-height:88vh; overflow:auto; background:var(--pa-surface); border-radius:20px; padding:28px; box-shadow:0 30px 80px -30px rgba(0,0,0,.5); }
.pa-modal__close{ position:absolute; top:14px; right:14px; width:38px; height:38px; border-radius:50%; border:none; background:var(--pa-soft); cursor:pointer; font-size:18px; }
.pa-search-panel{ position:fixed; inset:0 0 auto 0; z-index:200; background:var(--pa-surface); border-bottom:1px solid var(--pa-line); transform:translateY(-100%); transition:transform .3s ease; padding:22px 0; }
.pa-search-panel.is-open{ transform:translateY(0); }
.pa-search-panel .pa-container{ display:flex; flex-direction:column; gap:14px; }
.pa-search-input{ width:100%; font-size:20px; padding:14px 18px; }
.pa-search-results{ display:grid; grid-template-columns:repeat(auto-fill,minmax(220px,1fr)); gap:14px; }
.pa-search-result{ display:flex; gap:12px; align-items:center; padding:8px; border-radius:12px; }
.pa-search-result:hover{ background:var(--pa-soft); }
.pa-search-result img{ width:54px; height:54px; border-radius:8px; object-fit:cover; }
.pa-search-empty{ color:var(--pa-muted); font-size:14px; }

/* =========================================================================
   11. RESPONSIVE
   ========================================================================= */
@media (max-width:980px){
  .pa-hero__inner{ grid-template-columns:1fr; gap:28px; }
  .pa-footer__grid{ grid-template-columns:1fr 1fr; gap:28px; }
  .pa-reassure-strip{ grid-template-columns:1fr 1fr; gap:18px; }
}
@media (max-width:860px){
  .pa-nav{ display:none; }
  .pa-burger{ display:grid; }
  .single-product.woocommerce div.product .pa-single-top{ grid-template-columns:1fr; gap:28px; }
  .woocommerce ul.products{ grid-template-columns:repeat(auto-fill,minmax(150px,1fr)); gap:16px; }
  .pa-topbar__inner{ gap:16px; font-size:11px; }
  .pa-container{ padding:0 20px; }
}
@media (max-width:560px){
  .pa-footer__grid{ grid-template-columns:1fr; }
  .pa-reassure-strip{ grid-template-columns:1fr 1fr; }
}

/* menu mobile */
.pa-mobile-nav{ position:fixed; inset:0; z-index:200; display:none; }
.pa-mobile-nav.is-open{ display:block; }
.pa-mobile-nav__backdrop{ position:absolute; inset:0; background:rgba(26,21,16,.5); }
.pa-mobile-nav__panel{ position:absolute; top:0; right:0; height:100%; width:min(320px,84vw); background:var(--pa-surface); padding:28px 24px; display:flex; flex-direction:column; gap:18px; box-shadow:-20px 0 60px -20px rgba(0,0,0,.4); }
.pa-mobile-nav__panel a{ font-family:var(--pa-heading); font-size:22px; color:var(--pa-ink); }
.pa-mobile-nav__panel ul{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:16px; }
