/*
Theme Name: Ynomrah
Theme URI: https://atelierynomrah.fr
Author: Patrick & Claude
Description: Thème sur mesure de L'atelier Ynomrah — bijoux artisanaux. Palette et motifs tirés du logo (crème, prune, or, cercles perlés).
Version: 0.1.0
Requires PHP: 8.0
Text Domain: ynomrah
*/

:root{
  --cream:#F9F1E8;
  --cream-2:#F4E7D8;
  --peach:#EFD6BA;
  --plum:#5E1F3B;
  --plum-2:#7A2E4F;
  --rose:#EBCDD8;
  --gold:#B9854B;
  --gold-2:#D9B98C;
  --olive:#8B8A62;
  --text:#4A2A38;
  --radius:18px;
  --shadow:0 18px 40px -18px rgba(94,31,59,.28);
  --font-display:"Fraunces",serif;
  --font-body:"Karla",sans-serif;
  --font-script:"Ms Madi",cursive;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  font-family:var(--font-body);
  background:var(--cream);
  color:var(--text);
  font-size:16.5px;
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
button{font-family:inherit;cursor:pointer}
h1,h2,h3,h4{font-family:var(--font-display);font-weight:500;color:var(--plum);line-height:1.12}

/* ============ Bandeau annonce ============ */
.announce{
  background:var(--plum);color:#F6E4D6;
  text-align:center;font-size:.82rem;letter-spacing:.08em;
  padding:.55rem 1rem;text-transform:uppercase;
}
.announce b{color:var(--gold-2);font-weight:700}

/* ============ Header ============ */
.site-header{
  position:sticky;top:0;z-index:50;
  background:rgba(249,241,232,.92);
  backdrop-filter:blur(10px);
  border-bottom:1px solid #E4D2C0;
}
.header-in{
  max-width:1240px;margin:auto;padding:.8rem 2rem;
  display:flex;align-items:center;gap:2rem;
}
.brand{display:flex;align-items:center;gap:.7rem}
.brand svg{width:40px;height:40px}
.brand-name{font-family:var(--font-display);font-size:1.45rem;color:var(--plum);font-weight:600;white-space:nowrap}
.brand-name em{font-style:italic;font-weight:400}
nav.main{margin-left:auto}
nav.main ul{display:flex;gap:1.6rem;list-style:none}
nav.main a{
  font-size:.92rem;letter-spacing:.05em;text-transform:uppercase;font-weight:600;color:#6B4152;
  padding:.35rem 0;border-bottom:2px solid transparent;transition:.2s;
}
nav.main a:hover{color:var(--plum);border-bottom-color:var(--gold)}
.header-icons{display:flex;gap:.6rem;align-items:center}
.icon-btn{
  position:relative;width:40px;height:40px;border-radius:50%;
  display:grid;place-items:center;transition:.2s;color:var(--plum);
  background:none;border:none;
}
.icon-btn:hover{background:var(--rose)}
.icon-btn svg{width:21px;height:21px}
.cart-count{
  position:absolute;top:1px;right:-1px;background:var(--plum);color:#fff;
  font-size:.66rem;font-weight:700;min-width:17px;height:17px;border-radius:999px;
  display:grid;place-items:center;padding:0 3px;
  transition:transform .25s cubic-bezier(.34,1.56,.64,1);
}
.cart-count.pop{transform:scale(1.45)}

/* ============ Boutons ============ */
.btn,
.woocommerce #respond input#submit,
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button,
.woocommerce button.button.alt, .woocommerce a.button.alt,
.wc-block-components-button{
  display:inline-flex;align-items:center;justify-content:center;gap:.55rem;
  padding:.95rem 1.9rem;border-radius:999px;font-weight:700;font-size:.95rem;
  letter-spacing:.04em;transition:.25s;border:none;
  background:var(--plum);color:#FBEFE4;font-family:var(--font-body);
  line-height:1.2;text-align:center;
}
.btn:hover,
.woocommerce a.button:hover, .woocommerce button.button:hover,
.woocommerce button.button.alt:hover, .woocommerce a.button.alt:hover{
  background:var(--plum-2);color:#FBEFE4;transform:translateY(-2px);
}
.btn-ghost{background:transparent;border:1.5px solid var(--gold);color:var(--plum)}
.btn-ghost:hover{background:var(--gold);color:#fff;transform:none}

/* ============ Héros ============ */
.hero{max-width:1240px;margin:auto;padding:3.5rem 2rem 4.5rem;display:grid;grid-template-columns:1.05fr .95fr;gap:3rem;align-items:center}
.eyebrow{
  display:inline-flex;align-items:center;gap:.6rem;
  font-size:.8rem;letter-spacing:.22em;text-transform:uppercase;font-weight:700;color:var(--gold);
}
.eyebrow::before,.eyebrow::after{content:"✦";font-size:.7rem}
.hero h1{font-size:clamp(2.4rem,4.6vw,3.9rem);margin:.9rem 0 1.2rem;font-weight:450}
.hero h1 em{font-style:italic;color:var(--plum-2)}
.hero p.lead{font-size:1.12rem;color:#6B4152;max-width:32rem;margin-bottom:1.8rem}
.cta-row{display:flex;gap:1rem;flex-wrap:wrap;align-items:center}
.hero-trust{display:flex;gap:1.5rem;margin-top:2rem;font-size:.9rem;color:#6B4152;flex-wrap:wrap}
.hero-trust span{display:flex;align-items:center;gap:.45rem}
.stars{color:var(--gold);letter-spacing:.1em}
.hero-visual{position:relative;justify-self:center}
.arch{
  display:block;
  width:min(410px,80vw);aspect-ratio:3/3.9;
  border-radius:999px 999px 26px 26px;
  overflow:hidden;position:relative;
  box-shadow:0 30px 60px -25px rgba(94,31,59,.45);
}
.arch img{
  width:100%!important;height:100%!important;max-width:none;
  object-fit:cover;object-position:52% 42%;
}
.arch-ring{
  position:absolute;inset:-16px;
  border-radius:999px 999px 34px 34px;
  border:1.5px solid var(--gold-2);
  pointer-events:none;
}
.arch-beads{position:absolute;inset:-30px auto auto -30px;width:calc(100% + 60px);height:calc(100% + 60px);pointer-events:none}
.charms{position:absolute;left:50%;bottom:-88px;transform:translateX(-50%);pointer-events:none}
.price-chip{
  position:absolute;left:-46px;bottom:70px;
  background:#FFFDF9;border:1px solid #EBD9C4;border-radius:14px;
  padding:.65rem 1rem;box-shadow:var(--shadow);
  font-size:.85rem;line-height:1.35;
  animation:floaty 5s ease-in-out infinite;
}
.price-chip b{font-family:var(--font-display);color:var(--plum);font-size:1rem;display:block}
.price-chip .p{color:var(--gold);font-weight:700}
@keyframes floaty{0%,100%{transform:translateY(0)}50%{transform:translateY(-9px)}}

/* ============ Réassurance ============ */
.reassure{border-top:1px solid #E4D2C0;border-bottom:1px solid #E4D2C0;background:var(--cream-2)}
.reassure-in{
  max-width:1240px;margin:auto;padding:1.1rem 2rem;
  display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;text-align:center;
}
.reassure-item{display:flex;align-items:center;justify-content:center;gap:.6rem;font-size:.9rem;font-weight:600;color:#6B4152}
.reassure-item svg{width:20px;height:20px;color:var(--gold);flex-shrink:0}

/* ============ Sections ============ */
.section{max-width:1240px;margin:auto;padding:4.5rem 2rem}
.sec-head{text-align:center;margin-bottom:3rem}
.sec-head h2{font-size:clamp(1.9rem,3vw,2.6rem);margin-top:.7rem}
.sec-head p{color:#6B4152;max-width:58rem;margin:.8rem auto 0}

/* ============ Catégories ============ */
.cats{display:grid;grid-template-columns:repeat(4,1fr);gap:2rem}
.cat{text-align:center;position:relative;transition:.3s}
.cat:hover{transform:translateY(-6px)}
.cat-medal{position:relative;width:100%;aspect-ratio:1;margin-bottom:1.1rem}
.cat-medal img{
  position:absolute;inset:7%;width:86%;height:86%;
  border-radius:50%;object-fit:cover;
}
.cat-medal svg.beads{position:absolute;inset:0;width:100%;height:100%}
.cat h3{font-size:1.25rem}
.cat span.count{font-size:.83rem;color:var(--gold);letter-spacing:.12em;text-transform:uppercase;font-weight:700}

/* ============ Grille produits (accueil + boutique WooCommerce) ============ */
.products-bg{background:linear-gradient(180deg,var(--cream) 0%,var(--cream-2) 100%)}
.woocommerce ul.products{
  display:grid !important;grid-template-columns:repeat(4,1fr);gap:1.6rem;
  list-style:none;margin:0;padding:0;
}
.woocommerce ul.products::before,.woocommerce ul.products::after{display:none}
.woocommerce ul.products li.product{
  width:auto !important;float:none !important;margin:0 !important;
  background:#FFFDF9;border-radius:var(--radius);overflow:hidden;
  border:1px solid #EFDFCC;transition:.3s;position:relative;
  display:flex;flex-direction:column;text-align:left;padding:0 !important;
}
.woocommerce ul.products li.product:hover{transform:translateY(-6px);box-shadow:var(--shadow)}
.woocommerce ul.products li.product a img{
  width:100%;aspect-ratio:1/.95;object-fit:cover;margin:0 !important;
  transition:transform .6s ease;border-radius:0;
}
.woocommerce ul.products li.product:hover a img{transform:scale(1.06)}
.card-badge{
  position:absolute;top:12px;left:12px;z-index:2;
  font-size:.7rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;
  padding:.32rem .7rem;border-radius:999px;background:var(--gold);color:#fff;
}
.card-badge.vendu{background:var(--plum-2)}
.card-badge.nouveau{background:var(--olive)}
/* Bijou vendu : on garde la carte visible (preuve que ça part !) mais sans bouton d'achat */
.woocommerce ul.products li.product.outofstock .button{display:none}
.woocommerce span.onsale{
  position:absolute;top:12px;right:12px;left:auto;z-index:2;min-width:0;min-height:0;
  font-size:.7rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;
  padding:.32rem .7rem;border-radius:999px;background:var(--plum-2);color:#fff;line-height:1.4;
}
.card-cat{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);font-weight:700;padding:.9rem 1.1rem 0}
.woocommerce ul.products li.product .woocommerce-loop-product__title{
  font-family:var(--font-display);font-size:1.08rem;color:var(--plum);
  padding:.2rem 1.1rem .2rem;font-weight:550;line-height:1.3;
  /* 2 lignes réservées : aligne les prix et boutons quel que soit le nom */
  min-height:2.6em;
}
.woocommerce ul.products li.product .price{
  color:var(--plum) !important;font-weight:800;font-size:1.02rem;
  padding:0 1.1rem .4rem;margin:0;
}
.woocommerce ul.products li.product .price del{opacity:.5;font-weight:600;margin-right:.4rem}
/* Lien clair vers la fiche produit */
.woocommerce ul.products li.product .btn-details{
  /* margin-top:auto pousse la paire de boutons en bas -> rangées alignées */
  display:block;margin:auto 1.1rem .45rem;padding:.6rem 1rem;text-align:center;
  border:1.5px solid var(--gold-2);border-radius:999px;color:var(--plum);
  font-weight:700;font-size:.82rem;letter-spacing:.03em;transition:.25s;
}
.woocommerce ul.products li.product .btn-details:hover{background:var(--gold);border-color:var(--gold);color:#fff}
.woocommerce ul.products li.product .button{
  margin:0 1.1rem 1.1rem;padding:.7rem 1rem;font-size:.85rem;
  background:var(--plum);color:#FBEFE4;
}
.woocommerce ul.products li.product .button.loading{opacity:.6}
/* Bouton « déjà dans le panier » (pièce unique déjà ajoutée) */
.button.in-cart{background:transparent!important;color:var(--plum)!important;border:1.5px solid var(--gold)!important}
.button.in-cart:hover{background:var(--gold)!important;color:#fff!important}
.ynomrah-in-cart{margin:1.5rem 0}
.woocommerce ul.products li.product .added_to_cart{
  margin:-.6rem 1.1rem 1rem;font-size:.82rem;font-weight:700;color:var(--gold);
}
.see-all{text-align:center;margin-top:2.6rem}

/* ============ Histoire / créatrice ============ */
.story{display:grid;grid-template-columns:.9fr 1.1fr;gap:4rem;align-items:center}
.story-logo{
  position:relative;background:#FFFDF9;border:1px solid #EBD9C4;
  border-radius:26px;padding:12px;box-shadow:var(--shadow);
  transform:rotate(-1.2deg);
  /* Largeur explicite = photo (380) + liserés (2×12) + bordures (2×1) :
     liseré fin et égal sur les 4 côtés, sans calcul intrinsèque piégeux */
  width:406px;max-width:100%;box-sizing:border-box;margin:0 auto;
}
.story-logo img.story-portrait{width:100%;border-radius:18px;display:block}
/* Badge : le logo ORIGINAL rectangulaire fond blanc (assets/logo.png =
   Logo-fond-blanc.png entier), en petit encart sur le coin de la photo */
.story-logo .story-logo-badge{
  position:absolute;right:-38px;bottom:-38px;width:185px;
  border-radius:14px;display:block;cursor:zoom-in;
  border:4px solid #FFFDF9;box-shadow:var(--shadow);background:#fff;
  transition:transform .25s;
}
.story-logo .story-logo-badge:hover{transform:scale(1.16)}
.story-logo .story-logo-badge img{width:100%;height:auto;display:block;border-radius:10px}

/* Visionneuse en mode « image entière » (logo) : pas de recadrage carré */
.ynomrah-lightbox.entier img{
  aspect-ratio:auto;width:auto;max-width:min(92vw,640px);max-height:82vh;
  object-fit:contain;background:#fff;
}
.story h2{font-size:clamp(2rem,3.2vw,2.8rem);margin:.7rem 0 1.3rem}
.story h2 em{font-style:italic}
.story p{margin-bottom:1.1rem;color:#5D3A4B}
.story blockquote{
  font-family:var(--font-display);font-style:italic;color:var(--plum);
  font-size:1.18rem;line-height:1.55;border-left:3px solid var(--gold);
  padding-left:1.2rem;margin:1.5rem 0;
}
.story .welcome{font-family:var(--font-display);font-style:italic;font-size:1.35rem;color:var(--plum);margin-top:1.3rem}
.signature{font-family:var(--font-script);font-size:2.6rem;color:var(--gold);margin:1.2rem 0 .4rem}
.socials{display:flex;gap:.9rem;margin-top:1.4rem}
.social-btn{
  display:inline-flex;align-items:center;gap:.55rem;
  border:1.5px solid var(--rose);border-radius:999px;padding:.6rem 1.25rem;
  font-weight:700;font-size:.88rem;color:var(--plum);transition:.25s;
}
.social-btn:hover{background:var(--plum);color:#FBEFE4;border-color:var(--plum)}
.social-btn svg{width:17px;height:17px}

/* ============ Matières ============ */
.values{background:var(--plum);color:#EDD5C4;border-radius:34px;max-width:1176px;margin:0 auto;padding:4rem 3rem}
.values .sec-head h2{color:#F6E4D6}
.values .eyebrow{color:var(--gold-2)}
.values-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2.5rem;text-align:center}
.value-item svg{width:46px;height:46px;color:var(--gold-2);margin:0 auto 1rem}
.value-item h3{color:#F6E4D6;font-size:1.25rem;margin-bottom:.5rem}
.value-item p{font-size:.95rem;color:#D8B4A6}

/* ============ Avis ============ */
.reviews{display:grid;grid-template-columns:repeat(3,1fr);gap:1.8rem}
.review{
  background:#FFFDF9;border:1px solid #EFDFCC;border-radius:var(--radius);
  padding:1.8rem;position:relative;
}
.review::before{
  content:"“";font-family:var(--font-display);font-size:4rem;color:var(--rose);
  position:absolute;top:.4rem;right:1.2rem;line-height:1;
}
.review .stars{margin-bottom:.8rem;font-size:.9rem}
.review p{font-size:.97rem;color:#5D3A4B;margin-bottom:1rem}
.review footer{font-size:.85rem;font-weight:700;color:var(--plum)}
.review footer span{color:var(--gold);font-weight:600}

/* ============ Galerie sociale ============ */
.insta-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:.7rem}
.insta-grid a{position:relative;aspect-ratio:1;border-radius:14px;overflow:hidden}
.insta-grid img{width:100%;height:100%;object-fit:cover;transition:.4s}
.insta-grid a::after{
  content:"♥";position:absolute;inset:0;display:grid;place-items:center;
  background:rgba(94,31,59,.45);color:#fff;font-size:1.5rem;opacity:0;transition:.3s;
}
.insta-grid a:hover::after{opacity:1}
.insta-grid a:hover img{transform:scale(1.1)}

/* ============ Newsletter ============ */
.newsletter{
  background:var(--peach);border-radius:34px;max-width:1176px;margin:0 auto;
  padding:3.6rem 3rem;text-align:center;position:relative;overflow:hidden;
}
.newsletter h2{font-size:clamp(1.8rem,2.8vw,2.4rem)}
.newsletter p{color:#7A5238;max-width:34rem;margin:.8rem auto 1.6rem}
.news-form{display:flex;gap:.7rem;max-width:430px;margin:auto}
.news-form input[type=email]{
  flex:1;border:1.5px solid #D9B98C;background:#FFFDF9;border-radius:999px;
  padding:.9rem 1.4rem;font-family:inherit;font-size:.95rem;color:var(--text);outline:none;
}
.news-form input[type=email]:focus{border-color:var(--plum)}

/* ============ Lightbox produit ============ */
.ynomrah-lightbox{
  position:fixed;inset:0;z-index:200;display:none;
  align-items:center;justify-content:center;
  background:rgba(64,26,44,.88);backdrop-filter:blur(5px);padding:4vw;
  animation:yl-fade .25s ease;
}
.ynomrah-lightbox.open{display:flex}
@keyframes yl-fade{from{opacity:0}to{opacity:1}}
.ynomrah-lightbox figure{margin:0;width:min(86vmin,760px);text-align:center}
/* Cadre carré + recadrage centré : le bijou (au centre des photos) est vu bien plus gros */
.ynomrah-lightbox img{
  width:100%;aspect-ratio:1;height:auto;object-fit:cover;object-position:center;
  border-radius:18px;box-shadow:0 30px 80px rgba(0,0,0,.55);
}
.ynomrah-lightbox figcaption{
  margin-top:1.1rem;color:#F6E4D6;font-family:var(--font-display);
  font-size:1.3rem;font-style:italic;letter-spacing:.01em;
}
.ynomrah-lightbox .yl-close{
  position:absolute;top:20px;right:26px;width:48px;height:48px;border-radius:50%;
  border:none;background:rgba(249,241,232,.16);color:#F6E4D6;font-size:1.9rem;
  line-height:1;cursor:pointer;transition:.2s;
}
.ynomrah-lightbox .yl-close:hover{background:rgba(249,241,232,.32);transform:rotate(90deg)}

/* ============ Footer ============ */
.site-footer{background:var(--plum);color:#D8B4A6;margin-top:4.5rem}
.footer-in{max-width:1240px;margin:auto;padding:3.5rem 2rem 2rem;display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:2.5rem}
.site-footer h4{color:#F6E4D6;font-size:1.05rem;margin-bottom:1rem;font-weight:600}
.site-footer a{display:block;font-size:.92rem;margin-bottom:.55rem;transition:.2s}
.site-footer a:hover{color:#F6E4D6}
.site-footer .brand-name{color:#F6E4D6;font-size:1.3rem}
.site-footer p.small{font-size:.88rem;margin-top:.8rem;max-width:26rem}
.footer-bottom{
  border-top:1px solid rgba(246,228,214,.18);text-align:center;
  padding:1.2rem 2rem;font-size:.8rem;color:#B98F9E;
}
.payments{display:flex;gap:.6rem;margin-top:1rem}
.payments span{
  background:rgba(246,228,214,.12);border-radius:6px;padding:.25rem .6rem;
  font-size:.72rem;font-weight:700;letter-spacing:.05em;color:#EDD5C4;
}

/* ============ Toast ============ */
.toast{
  position:fixed;bottom:26px;left:50%;transform:translateX(-50%) translateY(80px);
  background:var(--plum);color:#FBEFE4;padding:.85rem 1.6rem;border-radius:999px;
  font-weight:700;font-size:.92rem;box-shadow:var(--shadow);z-index:100;
  transition:transform .35s cubic-bezier(.22,1,.36,1);
}
.toast.show{transform:translateX(-50%) translateY(0)}

/* ============ Pages WooCommerce (boutique, produit, panier, commande) ============ */
.shop-wrap{max-width:1240px;margin:auto;padding:2.5rem 2rem 4rem}
.shop-head{text-align:center;padding:2.5rem 1rem 2rem}
.shop-head h1{font-size:clamp(2rem,3.4vw,2.9rem)}
.woocommerce-breadcrumb{display:none !important}
.woocommerce-result-count{color:#8A6274;font-size:.9rem}
.woocommerce .woocommerce-ordering select{
  border:1.5px solid #E4D2C0;background:#FFFDF9;border-radius:999px;
  padding:.5rem 1rem;font-family:inherit;color:var(--text);
}
.woocommerce nav.woocommerce-pagination ul{border:none;display:flex;gap:.4rem;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{
  width:38px;height:38px;display:grid;place-items:center;border-radius:50%;
  font-weight:700;color:var(--plum);
}
.woocommerce nav.woocommerce-pagination ul li span.current{background:var(--plum);color:#fff}
.woocommerce nav.woocommerce-pagination ul li a:hover{background:var(--rose)}

/* Fiche produit */
.woocommerce div.product{color:var(--text)}
/* Galerie contenue : photos plus petites, la description respire */
.woocommerce div.product div.images{width:38% !important;max-width:440px}
.woocommerce div.product div.summary{width:58% !important}
.woocommerce div.product div.images img{border-radius:22px}
.woocommerce div.product div.images .flex-viewport{border-radius:22px;overflow:hidden}
/* Galerie : image principale cadrée en carré (les photos brutes, très hautes,
   écrasaient la page) — le clic ouvre toujours la photo entière */
.woocommerce div.product div.images .woocommerce-product-gallery__image img{
  aspect-ratio:1;object-fit:cover;width:100%;height:auto;
}
.woocommerce div.product div.images .flex-control-thumbs img{aspect-ratio:1;object-fit:cover;border-radius:10px;margin-top:8px}
.woocommerce div.product div.images .flex-control-thumbs{display:flex;gap:8px}
.woocommerce div.product div.images .flex-control-thumbs li{float:none;width:calc(20% - 7px)}
.woocommerce div.product .product_title{font-size:clamp(1.7rem,2.6vw,2.3rem)}
.woocommerce div.product p.price{
  color:var(--plum);font-weight:800;font-size:1.5rem;margin:.6rem 0 1rem;
}
.woocommerce div.product .woocommerce-product-details__short-description{color:#5D3A4B}
.woocommerce div.product form.cart{margin:1.5rem 0}
.woocommerce div.product form.cart .button{font-size:1rem}
.woocommerce div.product .product_meta{
  font-size:.85rem;color:#8A6274;border-top:1px dashed #E4D2C0;padding-top:1rem;
}
.woocommerce div.product .product_meta a{color:var(--gold);font-weight:700}
.woocommerce div.product .woocommerce-tabs ul.tabs{border:none;padding:0;margin-bottom:0}
.woocommerce div.product .woocommerce-tabs ul.tabs li{
  border:1px solid #E4D2C0;background:var(--cream-2);border-radius:999px 999px 0 0;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active{background:#FFFDF9}
.woocommerce div.product .woocommerce-tabs .panel{
  background:#FFFDF9;border:1px solid #EFDFCC;border-radius:0 var(--radius) var(--radius) var(--radius);
  padding:1.6rem;
}
.woocommerce .related.products > h2, .woocommerce .upsells.products > h2{
  font-size:1.7rem;text-align:center;margin:2.5rem 0 1.5rem;
}
.woocommerce .quantity .qty{
  border:1.5px solid #E4D2C0;background:#FFFDF9;border-radius:999px;
  padding:.6rem;width:70px;text-align:center;font-family:inherit;
}

/* Formulaire d'avis : champs confortables, étiquettes au-dessus */
.woocommerce #review_form label{
  display:block;font-weight:700;color:#6B4152;font-size:.88rem;margin:0 0 .35rem;
}
.woocommerce #review_form input[type=text],
.woocommerce #review_form input[type=email],
.woocommerce #review_form textarea{
  width:100%;max-width:520px;border:1.5px solid #E4D2C0;background:#FFFDF9;
  border-radius:12px;padding:.8rem 1rem;font-family:inherit;font-size:.95rem;
  color:var(--text);outline:none;
}
.woocommerce #review_form input:focus,
.woocommerce #review_form textarea:focus{border-color:var(--plum)}
.woocommerce #review_form .comment-form-author,
.woocommerce #review_form .comment-form-email,
.woocommerce #review_form .comment-form-comment{margin-bottom:1.1rem}
.woocommerce #reviews .comment-reply-title{
  font-family:var(--font-display);font-size:1.25rem;color:var(--plum);
  display:block;margin-bottom:.8rem;
}
.woocommerce p.stars a{color:var(--gold)}

/* Panier + commande : tableaux et cartes */
.woocommerce table.shop_table{
  border:1px solid #EFDFCC;border-radius:var(--radius);border-collapse:separate;
  background:#FFFDF9;overflow:hidden;
}
.woocommerce table.shop_table th{color:var(--plum);font-family:var(--font-display);font-size:1rem}
.woocommerce table.shop_table td, .woocommerce table.shop_table th{border-color:#F3E6D4}
.woocommerce-cart table.cart img{width:70px;border-radius:12px}
.woocommerce-cart .cart-collaterals .cart_totals h2{font-size:1.4rem}
.woocommerce .cart_totals, .woocommerce-checkout #order_review{
  background:#FFFDF9;border:1px solid #EFDFCC;border-radius:var(--radius);padding:1.2rem;
}
.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea,
.woocommerce form .form-row select{
  border:1.5px solid #E4D2C0;background:#FFFDF9;border-radius:12px;
  padding:.75rem 1rem;font-family:inherit;color:var(--text);
}
.woocommerce form .form-row input.input-text:focus{border-color:var(--plum);outline:none}
.woocommerce form .form-row label{font-weight:700;color:#6B4152;font-size:.88rem}
.woocommerce-info, .woocommerce-message, .woocommerce-error{
  border-top-color:var(--gold);background:#FFFDF9;color:var(--text);
  border-radius:0 0 var(--radius) var(--radius);
}
.woocommerce-message::before{color:var(--gold)}
.woocommerce-info::before{color:var(--gold)}
.woocommerce a.remove{color:var(--plum) !important}
.woocommerce a.remove:hover{background:var(--plum);color:#fff !important}
/* Pièces uniques : quantité non modifiable -> bouton « Mettre à jour » inutile */
.woocommerce button[name="update_cart"]{display:none}

/* ============ Frise « La création de votre bijou » (Mon compte) ============ */
.creation-timeline{margin:3rem 0}
.creation-timeline h2{font-size:1.7rem;margin-bottom:1.6rem}
.creation-timeline ol{list-style:none;margin:0;padding:0;position:relative}
.creation-timeline ol::before{
  content:"";position:absolute;left:9px;top:8px;bottom:8px;width:0;
  border-left:2px dashed var(--gold-2);
}
.creation-timeline li{position:relative;padding:0 0 2.2rem 2.4rem}
.creation-timeline li:last-child{padding-bottom:0}
.ct-dot{
  position:absolute;left:0;top:4px;width:20px;height:20px;border-radius:50%;
  background:var(--plum);border:4px solid var(--rose);box-shadow:0 0 0 2px var(--plum);
}
.creation-timeline h3{font-size:1.15rem;margin:0}
.creation-timeline time{font-size:.82rem;color:var(--gold);font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.ct-note{
  font-family:var(--font-display);font-style:italic;color:var(--plum);
  margin:.5rem 0 0;font-size:1.02rem;
}
.ct-note span{color:var(--gold);font-size:.85rem}
img.ct-photo{
  margin-top:.8rem;width:min(420px,100%);aspect-ratio:1;object-fit:cover;
  border-radius:16px;box-shadow:var(--shadow);
}

/* ============ Le journal (blog) ============ */
.blog-intro{color:#6B4152;margin-top:.6rem}
.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.8rem;padding-bottom:1rem}
.blog-card{
  background:#FFFDF9;border:1px solid #EFDFCC;border-radius:var(--radius);
  overflow:hidden;transition:.3s;display:flex;flex-direction:column;
}
.blog-card:hover{transform:translateY(-6px);box-shadow:var(--shadow)}
.blog-card-img{display:block;aspect-ratio:16/10;overflow:hidden;background:var(--cream-2);position:relative}
.blog-card-img img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}
.blog-card:hover .blog-card-img img{transform:scale(1.06)}
.blog-card-fallback{
  position:absolute;inset:0;display:grid;place-items:center;
  font-size:2.4rem;color:var(--gold-2);
}
.blog-card-body{padding:1.2rem 1.3rem 1.4rem;display:flex;flex-direction:column;flex:1}
.blog-card-body time{font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);font-weight:700}
.blog-card-body h2{font-size:1.25rem;margin:.35rem 0 .5rem;line-height:1.25}
.blog-card-body h2 a:hover{color:var(--plum-2)}
.blog-card-body p{font-size:.93rem;color:#5D3A4B;margin-bottom:.9rem}
.blog-more{margin-top:auto;font-weight:700;font-size:.88rem;color:var(--plum)}
.blog-more:hover{color:var(--gold)}
.blog-empty{text-align:center;padding:4rem 1rem;color:#8A6274;font-family:var(--font-display);font-size:1.3rem;font-style:italic}
.blog-pagination{text-align:center;margin:2rem 0}
.blog-pagination .nav-links{display:flex;gap:.4rem;justify-content:center}
.blog-pagination .page-numbers{
  width:38px;height:38px;display:grid;place-items:center;border-radius:50%;
  font-weight:700;color:var(--plum);
}
.blog-pagination .page-numbers.current{background:var(--plum);color:#fff}
.blog-pagination a.page-numbers:hover{background:var(--rose)}

/* Article */
.journal-article{max-width:820px;margin:auto;padding:3rem 2rem 4rem}
.journal-head{text-align:center;margin-bottom:2rem}
.journal-head h1{font-size:clamp(2rem,3.4vw,2.9rem);margin:.7rem 0 .5rem}
.journal-head time{font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);font-weight:700}
.journal-cover{margin:0 0 2.2rem}
.journal-cover img{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:24px;box-shadow:var(--shadow)}
.journal-content{font-size:1.05rem;color:#4E2F3F;line-height:1.8}
.journal-content p{margin-bottom:1.2rem}
.journal-content h2,.journal-content h3{margin:2rem 0 .8rem}
.journal-content img{border-radius:18px;margin:1.2rem auto}
.journal-content blockquote{
  font-family:var(--font-display);font-style:italic;color:var(--plum);
  font-size:1.2rem;border-left:3px solid var(--gold);padding-left:1.2rem;margin:1.6rem 0;
}
/* Cadres d'attente des photos (article expérience) : nom de l'étape à l'intérieur */
.journal-content .ph-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.1rem;margin:1.6rem 0}
@media(max-width:560px){.journal-content .ph-grid{grid-template-columns:1fr}}
.journal-content .ph-cadre{
  aspect-ratio:4/3;border:2px dashed var(--gold-2);border-radius:16px;
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.4rem;
  background:#FFFDF9;text-align:center;padding:1rem;
}
.journal-content .ph-cadre strong{
  font-family:var(--font-display);font-style:italic;font-weight:550;
  font-size:1.15rem;color:var(--plum);
}
.journal-content .ph-cadre span{font-size:.85rem;color:var(--gold)}

/* Rubrique récurrente « À savoir » : encadré factuel doré */
.journal-content blockquote.a-savoir{
  font-family:var(--font-body);font-style:normal;font-size:.95rem;line-height:1.7;
  background:#FFFDF9;border:1px solid #EBD9C4;border-left:3px solid var(--gold);
  border-radius:0 14px 14px 0;padding:1rem 1.3rem;color:#5D3A4B;
}
.journal-content blockquote.a-savoir::before{
  content:"✦ À savoir";display:block;font-weight:800;letter-spacing:.14em;
  text-transform:uppercase;font-size:.72rem;color:var(--gold);margin-bottom:.45rem;
}
.journal-content a{color:var(--plum);font-weight:700;text-decoration:underline}
.journal-foot{margin-top:2.5rem;border-top:1px dashed #E4D2C0;padding-top:1.5rem;text-align:center}
.journal-nav{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-top:1rem;font-size:.9rem;font-weight:700}
.journal-nav a{color:var(--plum)}
.journal-nav a:hover{color:var(--gold)}
.journal-all{border:1.5px solid var(--gold-2);border-radius:999px;padding:.5rem 1.2rem}

@media(max-width:1020px){
  .blog-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:560px){
  .blog-grid{grid-template-columns:1fr}
}

/* ============ Page « Nous écrire » ============ */
.contact-page .contact-intro{text-align:center;margin-bottom:1.6rem}
.contact-form{max-width:560px;margin:0 auto}
.contact-form .hp{position:absolute;left:-9999px;top:-9999px}
.contact-form label{
  display:block;font-weight:700;color:#6B4152;font-size:.88rem;margin-bottom:.35rem;
}
.contact-form input[type=text],
.contact-form input[type=email],
.contact-form textarea{
  width:100%;border:1.5px solid #E4D2C0;background:#FFFDF9;border-radius:12px;
  padding:.85rem 1rem;font-family:inherit;font-size:.97rem;color:var(--text);outline:none;
}
.contact-form input:focus,.contact-form textarea:focus{border-color:var(--plum)}
.contact-form p{margin-bottom:1.1rem}
.contact-form .btn{border:none;cursor:pointer;width:100%;justify-content:center}
.contact-alt{text-align:center;color:#8A6274;font-size:.92rem;margin-top:1.4rem}
.contact-ok{
  max-width:560px;margin:1rem auto;text-align:center;
  background:#FFFDF9;border:1px solid #EBD9C4;border-radius:var(--radius);
  padding:2.2rem;box-shadow:var(--shadow);
}
.contact-ok .ok-titre{font-family:var(--font-display);font-size:1.5rem;color:var(--plum);margin-bottom:.6rem}
.contact-ok p{margin-bottom:.9rem;color:#5D3A4B}
.contact-erreur{
  max-width:560px;margin:0 auto 1.2rem;background:#FDF0EE;border:1px solid #E5B8B0;
  border-radius:12px;padding:.9rem 1.2rem;color:#8A3A2E;font-size:.93rem;
}

/* ============ Fenêtre d'annonce ============ */
.ynomrah-popup-veil{
  position:fixed;inset:0;z-index:300;display:grid;place-items:center;
  background:rgba(64,26,44,.55);backdrop-filter:blur(4px);padding:1.2rem;
  opacity:0;transition:opacity .3s ease;
}
.ynomrah-popup-veil.visible{opacity:1}
.ynomrah-popup{
  position:relative;width:min(440px,94vw);max-height:88vh;overflow:auto;
  background:var(--cream);border:1px solid #EBD9C4;border-radius:26px;
  box-shadow:0 30px 80px rgba(0,0,0,.4);
  transform:translateY(18px) scale(.97);transition:transform .3s ease;
}
.ynomrah-popup-veil.visible .ynomrah-popup{transform:none}
.ynomrah-popup .yp-close{
  position:absolute;top:10px;right:10px;z-index:2;width:38px;height:38px;
  border-radius:50%;background:rgba(249,241,232,.92);color:var(--plum);
  font-size:1.5rem;line-height:1;border:1px solid #EBD9C4;cursor:pointer;transition:.2s;
}
.ynomrah-popup .yp-close:hover{background:var(--plum);color:#fff;transform:rotate(90deg)}
.ynomrah-popup .yp-image img{width:100%;aspect-ratio:16/10;object-fit:cover;display:block}
.ynomrah-popup .yp-body{padding:1.5rem 1.7rem 1.8rem;text-align:center}
.ynomrah-popup .yp-titre{
  font-family:var(--font-display);font-size:1.5rem;color:var(--plum);
  line-height:1.2;margin-bottom:.6rem;
}
.ynomrah-popup .yp-texte{color:#5D3A4B;font-size:.97rem;margin-bottom:1.1rem}
.ynomrah-popup .yp-btn{justify-content:center}

/* ============ Reveal ============ */
.reveal{opacity:0;transform:translateY(26px);transition:opacity .7s ease,transform .7s ease}
.reveal.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
  .reveal{opacity:1;transform:none;transition:none}
  .price-chip{animation:none}
  html{scroll-behavior:auto}
}

/* ============ Responsive ============ */
@media(max-width:1020px){
  .woocommerce ul.products{grid-template-columns:repeat(2,1fr)}
  .cats{grid-template-columns:repeat(2,1fr)}
  .reassure-in{grid-template-columns:repeat(2,1fr);gap:.8rem}
  .hero{grid-template-columns:1fr;text-align:center;gap:4.5rem}
  .hero p.lead{margin:0 auto 1.8rem}
  .cta-row,.hero-trust{justify-content:center}
  .story{grid-template-columns:1fr;text-align:center;gap:2rem}
  .story blockquote{text-align:left}
  .socials{justify-content:center}
  .values-grid{grid-template-columns:1fr;gap:2rem}
  .reviews{grid-template-columns:1fr}
  .insta-grid{grid-template-columns:repeat(3,1fr)}
  .footer-in{grid-template-columns:1fr 1fr}
  nav.main{display:none}
  .price-chip{left:-8px}
}
@media(max-width:560px){
  .section,.shop-wrap{padding-left:1.2rem;padding-right:1.2rem}
  .header-in{padding:.7rem 1.2rem;gap:1rem}
  .woocommerce ul.products{grid-template-columns:1fr}
  .news-form{flex-direction:column}
  .charms{display:none}
}
