/* ========== SoClô Atelier - Charte graphique harmoniée ==========
   Palette issue de la cover : vert forêt, taupe chaud, crème ivoire, doré
*/
*{margin:0;padding:0;box-sizing:border-box}
:root{
  --ivory:#f7f2e7;       /* fond crème ivoire */
  --cream:#faf6ec;       /* blanc cassé */
  --sand:#e6d8c3;        /* sable/beige clair */
  --taupe:#b09070;       /* taupe chaud */
  --forest:#4a5536;      /* vert forêt (remplace deepteal) */
  --deep:#3d4629;        /* vert plus sombre */
  --rose:#d4a59a;        /* rose poudré */
  --gold:#c9a268;        /* doré chaud */
  --terracotta:#c8846b;  /* terracotta doux */
  --charcoal:#3a3a3a;
  --white:#fffdf9;
  --text:#4a4a4a;
}
html{scroll-behavior:smooth}
body{font-family:'Quicksand',sans-serif;background:var(--ivory);color:var(--text);line-height:1.7;min-height:100vh}
h1,h2,h3,h4{font-family:'Cormorant Garamond',serif;font-weight:400;letter-spacing:0.02em;color:var(--forest)}

/* --- Header commun --- */
header{background:var(--cream);border-bottom:1px solid var(--sand);position:sticky;top:0;z-index:100;box-shadow:0 2px 20px rgba(74,85,54,0.06)}
.nav-wrap{max-width:1200px;margin:0 auto;padding:18px 24px;display:flex;justify-content:space-between;align-items:center}
.logo{text-align:center;line-height:1;text-decoration:none;color:inherit;display:block}
.logo .brand{font-family:'Cormorant Garamond',serif;font-size:2.4rem;color:var(--forest);font-weight:400;letter-spacing:0.05em;line-height:1}
.logo .brand .circ{position:relative;display:inline-block}
.logo .tag{font-size:0.62rem;letter-spacing:0.45em;color:var(--taupe);text-transform:uppercase;margin-top:6px;display:block}
nav{display:flex;gap:24px;align-items:center}
nav a{color:var(--charcoal);text-decoration:none;font-size:0.82rem;letter-spacing:0.15em;text-transform:uppercase;transition:color 0.3s;padding:6px 0;position:relative}
nav a:hover,nav a.active{color:var(--forest)}
nav a.active::after{content:"";position:absolute;bottom:-2px;left:0;right:0;height:1px;background:var(--gold)}
.cart-btn{position:relative;background:var(--forest);color:white;border:none;padding:10px 18px;border-radius:30px;cursor:pointer;font-family:inherit;font-size:0.8rem;letter-spacing:0.12em;text-transform:uppercase;transition:all 0.3s;display:flex;align-items:center;gap:8px}
.cart-btn:hover{background:var(--taupe);transform:translateY(-2px)}
.cart-count{background:var(--rose);color:white;width:22px;height:22px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:0.72rem;font-weight:600}

/* --- Motifs décoratifs partagés --- */
.deco-ornament{text-align:center;color:var(--gold);font-size:1.1rem;letter-spacing:0.8em;margin:18px 0;line-height:1}
.deco-ornament::before,.deco-ornament::after{content:"";display:inline-block;width:50px;height:1px;background:var(--sand);vertical-align:middle;margin:0 14px}
.kicker{font-size:0.7rem;letter-spacing:0.45em;color:var(--taupe);text-transform:uppercase;margin-bottom:16px}
.divider-dots{text-align:center;color:var(--gold);font-size:1rem;letter-spacing:1em;margin:36px 0}
.svg-divider{display:block;margin:20px auto;opacity:0.55}

/* --- Boutons communs --- */
.btn-primary{background:var(--forest);color:white;border:none;padding:13px 34px;border-radius:40px;font-family:inherit;font-size:0.88rem;letter-spacing:0.18em;text-transform:uppercase;cursor:pointer;transition:all 0.3s;text-decoration:none;display:inline-block}
.btn-primary:hover{background:var(--taupe);transform:translateY(-2px);box-shadow:0 8px 20px rgba(176,144,112,0.3)}
.btn-secondary{background:transparent;color:var(--forest);border:1.5px solid var(--forest);padding:12px 30px;border-radius:40px;font-family:inherit;font-size:0.85rem;letter-spacing:0.15em;text-transform:uppercase;cursor:pointer;text-decoration:none;display:inline-block;transition:all 0.3s}
.btn-secondary:hover{background:var(--forest);color:white}

/* --- Hero (boutique avec cover) --- */
.hero{position:relative;padding:90px 24px;text-align:center;overflow:hidden;background:linear-gradient(135deg,var(--ivory) 0%,var(--sand) 100%)}
.hero::before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;opacity:0.04;background-image:
  radial-gradient(circle at 20% 30%, var(--forest) 1px, transparent 1px),
  radial-gradient(circle at 80% 70%, var(--gold) 1px, transparent 1px);
  background-size:40px 40px}
.hero-content{position:relative;max-width:720px;margin:0 auto}
.hero-logo{margin-bottom:20px}
.hero h1{font-size:clamp(2.3rem,7vw,3.4rem);color:var(--forest);font-style:italic;margin-bottom:8px;line-height:1.15}
.hero .subtitle{font-family:'Cormorant Garamond',serif;font-size:1.4rem;color:var(--taupe);font-style:italic;margin-bottom:14px}
.hero .values{display:flex;justify-content:center;gap:28px;margin-top:22px;font-size:0.75rem;letter-spacing:0.3em;text-transform:uppercase;color:var(--taupe);flex-wrap:wrap}
.hero .values span{position:relative;display:flex;align-items:center;gap:10px}
.hero .values span::before{content:"✦";color:var(--gold);font-size:0.8rem}

/* --- Sections --- */
.section{max-width:1200px;margin:0 auto;padding:70px 24px}
.section-title{text-align:center;margin-bottom:44px}
.section-title h2{font-size:2.5rem;color:var(--forest);font-style:italic;margin-bottom:6px}
.section-title p{color:var(--taupe);font-size:0.9rem;letter-spacing:0.12em;font-style:italic}

/* --- Filtres --- */
.filters{display:flex;justify-content:center;gap:10px;margin-bottom:44px;flex-wrap:wrap}
.filter-btn{background:transparent;border:1.5px solid var(--sand);padding:8px 22px;border-radius:30px;font-family:inherit;font-size:0.8rem;letter-spacing:0.14em;text-transform:uppercase;cursor:pointer;color:var(--charcoal);transition:all 0.3s}
.filter-btn:hover{border-color:var(--taupe);color:var(--forest)}
.filter-btn.active{background:var(--forest);color:white;border-color:var(--forest)}

/* --- Grille produits --- */
.products{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:28px}
.product-card{background:var(--white);border-radius:4px;overflow:hidden;box-shadow:0 4px 18px rgba(74,85,54,0.06);transition:all 0.4s ease;display:flex;flex-direction:column;border:1px solid var(--sand)}
.product-card:hover{transform:translateY(-6px);box-shadow:0 14px 34px rgba(176,144,112,0.18);border-color:var(--gold)}
.product-img{width:100%;aspect-ratio:1;object-fit:cover;background:#f8f3e8;display:block}
.product-info{padding:20px;flex-grow:1;display:flex;flex-direction:column}
.product-ref{font-size:0.68rem;letter-spacing:0.25em;color:var(--gold);text-transform:uppercase;margin-bottom:4px}
.product-name{font-family:'Cormorant Garamond',serif;font-size:1.4rem;color:var(--forest);margin-bottom:6px;font-style:italic}
.product-desc{font-size:0.82rem;color:#777;margin-bottom:14px;flex-grow:1;line-height:1.6}
.product-bottom{display:flex;justify-content:space-between;align-items:center;margin-top:auto;padding-top:12px;border-top:1px dashed var(--sand)}
.product-price{font-size:1.3rem;color:var(--forest);font-weight:500;font-family:'Cormorant Garamond',serif}
.add-btn{background:var(--forest);color:white;border:none;padding:8px 18px;border-radius:20px;font-family:inherit;font-size:0.72rem;letter-spacing:0.12em;text-transform:uppercase;cursor:pointer;transition:all 0.3s}
.add-btn:hover{background:var(--taupe)}
.unique-badge{background:var(--cream);color:var(--gold);border:1px solid var(--gold);font-size:0.62rem;letter-spacing:0.2em;text-transform:uppercase;padding:3px 10px;border-radius:12px;display:inline-block;margin-top:8px}
.out-badge{background:#eee;color:#999;font-size:0.62rem;letter-spacing:0.2em;text-transform:uppercase;padding:3px 10px;border-radius:12px;display:inline-block;margin-top:8px}

/* --- About --- */
.about{background:var(--white);padding:70px 24px;border-top:1px solid var(--sand);border-bottom:1px solid var(--sand)}
.about-inner{max-width:780px;margin:0 auto;text-align:center}
.about h2{font-size:2.4rem;color:var(--forest);font-style:italic;margin-bottom:10px}
.about p{margin-bottom:18px;color:var(--text);font-size:0.96rem;line-height:1.9}
.pricing-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:20px;margin-top:36px}
.price-card{padding:26px 18px;border:1px solid var(--sand);border-radius:4px;text-align:center;background:var(--cream);transition:all 0.3s}
.price-card:hover{border-color:var(--gold);transform:translateY(-3px)}
.price-card h3{color:var(--forest);font-size:1.1rem;margin-bottom:6px;font-style:italic}
.price-card .p{font-family:'Cormorant Garamond',serif;font-size:2rem;color:var(--taupe)}
.price-card .d{font-size:0.78rem;color:#888;margin-top:6px;letter-spacing:0.05em}
.made-in{margin-top:18px;font-size:0.8rem;color:var(--gold);letter-spacing:0.2em;text-transform:uppercase;display:inline-flex;align-items:center;gap:8px}
.made-in::before,.made-in::after{content:"";width:30px;height:1px;background:var(--gold);display:inline-block}

/* --- Footer commun --- */
footer{background:var(--deep);color:var(--cream);padding:56px 24px 24px;text-align:center}
footer h3{font-size:2rem;font-style:italic;margin-bottom:4px;color:var(--cream);letter-spacing:0.05em}
footer .tag{font-size:0.65rem;letter-spacing:0.35em;text-transform:uppercase;color:var(--gold);margin-bottom:24px;display:block}
footer .links{margin-bottom:20px;display:flex;justify-content:center;gap:24px;flex-wrap:wrap}
footer .links a{color:var(--sand);text-decoration:none;font-size:0.82rem;letter-spacing:0.12em;text-transform:uppercase;transition:color 0.3s}
footer .links a:hover{color:var(--gold)}
footer .footer-note{font-size:0.82rem;color:var(--sand);max-width:600px;margin:0 auto 10px;line-height:1.7}
footer .copy{font-size:0.72rem;color:rgba(245,239,228,0.55);margin-top:24px;padding-top:20px;border-top:1px solid rgba(245,239,228,0.1);letter-spacing:0.08em}

/* --- Mentions légales (footer) --- */
.legal-block{margin-top:30px;padding-top:24px;border-top:1px solid rgba(245,239,228,0.1);font-size:0.73rem;color:rgba(245,239,228,0.6);line-height:1.85;max-width:760px;margin-left:auto;margin-right:auto;text-align:left}
.legal-title{text-align:center;color:var(--gold);font-family:'Cormorant Garamond',serif;font-size:1rem;margin-bottom:10px;letter-spacing:0.2em;text-transform:uppercase}
.legal-block strong{color:var(--sand)}
.legal-block a{color:var(--gold);text-decoration:none}
.legal-block a:hover{text-decoration:underline}

/* --- Modaux --- */
.modal-overlay{display:none;position:fixed;inset:0;background:rgba(58,58,58,0.55);z-index:200;align-items:center;justify-content:center;padding:20px;backdrop-filter:blur(3px)}
.modal-overlay.active{display:flex}
.modal{background:var(--white);border-radius:8px;max-width:560px;width:100%;max-height:90vh;overflow-y:auto;padding:38px;position:relative;box-shadow:0 20px 60px rgba(0,0,0,0.25);border:1px solid var(--sand)}
.modal-large{max-width:700px}
.modal-close{position:absolute;top:14px;right:14px;background:none;border:none;font-size:1.4rem;cursor:pointer;color:var(--taupe);width:34px;height:34px;border-radius:50%;transition:all 0.3s;line-height:1}
.modal-close:hover{background:var(--sand);color:var(--forest)}
.modal h2{font-size:1.9rem;color:var(--forest);margin-bottom:8px;font-style:italic;text-align:center}

/* --- Panier --- */
.cart-item{display:flex;gap:14px;padding:16px 0;border-bottom:1px solid var(--sand);align-items:center}
.cart-item img{width:72px;height:72px;object-fit:cover;border-radius:4px;background:var(--sand);border:1px solid var(--sand)}
.cart-item-info{flex-grow:1}
.cart-item-info h4{font-size:1.05rem;color:var(--forest);margin-bottom:2px;font-style:italic}
.cart-item-info .ref{font-size:0.68rem;color:var(--gold);letter-spacing:0.15em;text-transform:uppercase}
.cart-item-info .price{color:var(--taupe);font-weight:500;font-size:0.9rem}
.qty-controls{display:flex;align-items:center;gap:8px}
.qty-btn{width:28px;height:28px;border:1px solid var(--sand);background:white;border-radius:50%;cursor:pointer;font-size:0.95rem;line-height:1;transition:all 0.2s;color:var(--forest)}
.qty-btn:hover{background:var(--sand)}
.qty-val{min-width:20px;text-align:center;font-weight:600}
.remove-btn{background:none;border:none;color:#b05050;cursor:pointer;font-size:0.78rem;letter-spacing:0.05em}
.cart-total{padding:22px 0;text-align:right;font-size:1rem;color:var(--text)}
.cart-total .amount{font-family:'Cormorant Garamond',serif;font-size:2rem;color:var(--forest);font-weight:500;margin-left:10px;font-style:italic}
.empty-cart{text-align:center;padding:40px 20px;color:#999}
.empty-cart .icon{font-size:2.8rem;margin-bottom:12px;opacity:0.4}
.checkout-btn{width:100%;background:var(--forest);color:white;border:none;padding:14px;border-radius:30px;font-family:inherit;font-size:0.92rem;letter-spacing:0.18em;text-transform:uppercase;cursor:pointer;margin-top:12px;transition:all 0.3s}
.checkout-btn:hover{background:var(--taupe)}
.discount-note{font-size:0.8rem;color:var(--gold);text-align:center;margin-top:10px;font-style:italic}

/* --- Formulaires --- */
.form-group{margin-bottom:16px}
.form-group label{display:block;font-size:0.74rem;letter-spacing:0.14em;text-transform:uppercase;color:var(--taupe);margin-bottom:6px;font-weight:500}
.form-group input,.form-group textarea,.form-group select{width:100%;padding:11px 14px;border:1px solid var(--sand);border-radius:4px;font-family:inherit;font-size:0.9rem;background:var(--white);color:var(--charcoal);transition:border 0.3s}
.form-group input:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:var(--gold)}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.secure-note{display:flex;align-items:center;gap:8px;justify-content:center;font-size:0.78rem;color:var(--taupe);margin-top:16px}
.secure-note::before{content:"🔒"}

/* --- Succès commande --- */
.success{text-align:center;padding:20px 10px}
.success .icon{font-size:3.5rem;margin-bottom:14px}
.success h2{color:var(--forest)}
.success .order-id{background:var(--ivory);padding:12px 22px;border-radius:4px;display:inline-block;margin:18px 0;font-family:'Cormorant Garamond',serif;font-size:1.15rem;color:var(--forest);border:1px solid var(--sand);font-style:italic}
.success p{margin-bottom:10px;color:#666;line-height:1.7}

/* --- Fiche produit --- */
.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:32px}
.detail-grid img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:4px;background:var(--sand);border:1px solid var(--sand)}
.detail-info h2{font-size:2.1rem;color:var(--forest);font-style:italic;margin-bottom:6px;text-align:left}
.detail-info .ref{font-size:0.75rem;color:var(--gold);letter-spacing:0.25em;text-transform:uppercase;margin-bottom:10px;display:block}
.detail-info .price{font-family:'Cormorant Garamond',serif;font-size:2.2rem;color:var(--taupe);margin-bottom:14px;font-style:italic}
.detail-info p.desc{font-size:0.9rem;color:var(--text);line-height:1.8;margin-bottom:18px}
.detail-info .tags{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:24px}
.detail-info .tag{background:var(--ivory);padding:6px 14px;border-radius:20px;font-size:0.7rem;letter-spacing:0.12em;color:var(--taupe);border:1px solid var(--sand)}

/* ========== Page Atelier ========== */
.atelier-hero{background:linear-gradient(135deg,var(--ivory) 0%,var(--sand) 100%);padding:100px 24px 80px;text-align:center;position:relative;overflow:hidden}
.atelier-hero::before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;opacity:0.05;background-image:
  radial-gradient(circle at 20% 30%, var(--forest) 1px, transparent 1px),
  radial-gradient(circle at 80% 70%, var(--gold) 1px, transparent 1px);
  background-size:40px 40px}
.atelier-hero-content{position:relative;max-width:720px;margin:0 auto}
.atelier-hero h1{font-size:clamp(2.45rem,8vw,3.6rem);color:var(--forest);font-style:italic;margin-bottom:14px;line-height:1.15}
.atelier-hero .intro{font-size:1.1rem;color:var(--taupe);max-width:600px;margin:0 auto;line-height:1.9;font-style:italic;font-family:'Cormorant Garamond',serif;font-size:1.3rem}

.story{max-width:760px;margin:0 auto;padding:80px 24px}
.story p{font-size:1.02rem;color:var(--text);margin-bottom:28px;line-height:2}
.story p.lead{font-size:1.1rem;color:var(--deep)}
.story p.lead::first-letter{font-family:'Cormorant Garamond',serif;font-size:4.2rem;color:var(--taupe);float:left;line-height:0.85;padding:4px 14px 0 0;font-style:italic}

.values-block{background:var(--white);padding:80px 24px;border-top:1px solid var(--sand);border-bottom:1px solid var(--sand)}
.values-inner{max-width:1000px;margin:0 auto}
.values-inner h2{text-align:center;font-size:2.5rem;color:var(--forest);font-style:italic;margin-bottom:12px}
.values-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:32px;margin-top:44px}
.value-card{text-align:center;padding:20px 10px}
.value-card .icon{font-size:2.4rem;margin-bottom:14px;display:block}
.value-card h3{font-size:1.4rem;color:var(--forest);font-style:italic;margin-bottom:10px}
.value-card p{font-size:0.88rem;color:#777;line-height:1.7}
.value-card .seal,.mat-card .seal{display:inline-block;margin-bottom:14px}
.value-card .seal svg,.mat-card .seal svg{display:block}
.seal-rule{width:34px;height:1px;background:linear-gradient(90deg,transparent,var(--gold,#c9a268),transparent);margin:0 auto 12px;position:relative}
.seal-rule::after{content:"";position:absolute;left:50%;top:50%;width:5px;height:5px;background:var(--gold,#c9a268);transform:translate(-50%,-50%) rotate(45deg)}

.matieres{max-width:1000px;margin:0 auto;padding:80px 24px}
.matieres h2{text-align:center;font-size:2.5rem;color:var(--forest);font-style:italic;margin-bottom:8px}
.matieres .sub{text-align:center;color:var(--taupe);margin-bottom:48px;font-size:0.92rem;letter-spacing:0.1em;font-style:italic}
.matieres-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:24px}
.mat-card{padding:32px 22px;border:1px solid var(--sand);border-radius:4px;text-align:center;background:var(--white);transition:all 0.4s}
.mat-card:hover{transform:translateY(-5px);box-shadow:0 12px 30px rgba(176,144,112,0.18);border-color:var(--gold)}
.mat-card .emoji{font-size:2.2rem;margin-bottom:12px;display:block}
.mat-card h3{font-size:1.25rem;color:var(--forest);font-style:italic;margin-bottom:8px}
.mat-card p{font-size:0.82rem;color:#777;line-height:1.7}

.contact-block{background:var(--deep);color:var(--cream);padding:80px 24px;text-align:center;position:relative;overflow:hidden}
.contact-block::before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;opacity:0.04;background-image:radial-gradient(circle,var(--gold) 1px,transparent 1px);background-size:30px 30px}
.contact-block> *{position:relative}
.contact-block h2{font-size:2.6rem;font-style:italic;margin-bottom:10px;color:var(--cream)}
.contact-block .sub{color:var(--gold);letter-spacing:0.3em;font-size:0.72rem;text-transform:uppercase;margin-bottom:24px}
.contact-block p{max-width:520px;margin:0 auto 24px;font-size:0.94rem;line-height:1.8;color:var(--sand)}
.contact-lieu{color:var(--gold);letter-spacing:0.2em;font-size:0.8rem;text-transform:uppercase;margin-bottom:22px;display:inline-flex;align-items:center;gap:10px}
.contact-lieu::before,.contact-lieu::after{content:"";width:24px;height:1px;background:var(--gold);display:inline-block}
.contact-email{display:inline-block;background:var(--taupe);color:white;padding:14px 36px;border-radius:40px;text-decoration:none;font-family:'Cormorant Garamond',serif;font-size:1.3rem;font-style:italic;letter-spacing:0.02em;transition:all 0.3s;margin-bottom:18px}
.contact-email:hover{background:var(--gold);transform:translateY(-2px)}
.social-links{display:flex;justify-content:center;gap:14px;margin-top:8px;flex-wrap:wrap}
.social-links a{color:var(--sand);text-decoration:none;padding:8px 20px;border:1px solid rgba(245,239,228,0.2);border-radius:20px;font-size:0.82rem;letter-spacing:0.1em;transition:all 0.3s;text-transform:uppercase}
.social-links a:hover{background:rgba(255,255,255,0.08);color:var(--gold);border-color:var(--gold)}


/* --- Accueil : avis clients --- */
.avis-block{background:var(--white);padding:70px 24px;border-bottom:1px solid var(--sand)}
.avis-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:22px;max-width:1000px;margin:0 auto}
.avis-card{border:1px solid var(--sand);background:var(--cream);border-radius:4px;padding:28px 22px;text-align:center;transition:all .4s;margin:0}
.avis-card:hover{border-color:var(--gold);transform:translateY(-3px);box-shadow:0 10px 26px rgba(176,144,112,.15)}
.avis-stars{color:var(--gold);letter-spacing:.35em;font-size:.85rem;margin-bottom:12px}
.avis-stars span{color:var(--sand)}
.avis-card blockquote{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:1.08rem;color:var(--text);line-height:1.75;margin-bottom:14px}
.avis-card figcaption{font-size:.7rem;letter-spacing:.22em;text-transform:uppercase;color:var(--taupe)}
.avis-empty{grid-column:1/-1;text-align:center;color:var(--taupe);font-family:'Cormorant Garamond',serif;font-style:italic;font-size:1.2rem;padding:28px 12px;border-top:1px solid var(--sand);border-bottom:1px solid var(--sand);max-width:560px;margin:0 auto}
.avis-empty small{font-family:'Quicksand',sans-serif;font-style:normal;font-size:.78rem}

/* --- Avis publics --- */
.avis-actions{text-align:center;margin:28px auto 0}
.review-page-hero{text-align:center;max-width:700px;margin:0 auto 42px}
.review-page-hero h1,.ebooks-hero h1{font-family:'Cormorant Garamond',serif;color:var(--forest);font-size:clamp(2.4rem,7vw,3.7rem);font-style:italic;margin:8px 0 12px}
.review-page-hero p,.ebooks-hero p{max-width:620px;margin:0 auto;color:var(--taupe);font-family:'Cormorant Garamond',serif;font-size:1.2rem;line-height:1.7;font-style:italic}
.review-page-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(250px,.75fr);gap:28px;max-width:920px;margin:0 auto}
.review-form-card,.review-side-card{background:var(--white);border:1px solid var(--sand);border-radius:8px;padding:30px;box-shadow:0 8px 28px rgba(74,85,54,.07)}
.review-form-card h2,.review-side-card h2{font-family:'Cormorant Garamond',serif;color:var(--forest);font-size:2rem;font-style:italic;margin-bottom:6px}
.review-intro{font-size:.84rem;color:var(--taupe);margin-bottom:22px}
.review-form-card label{display:block;color:var(--taupe);font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;margin-bottom:16px}
.review-form-card label>span{font-size:.72rem;letter-spacing:0;text-transform:none;color:#999}
.review-form-card input:not([type="radio"]):not([type="checkbox"]),.review-form-card textarea{width:100%;margin-top:7px;padding:11px 13px;border:1px solid var(--sand);border-radius:5px;font:inherit;font-size:.92rem;color:var(--text);background:#fff}
.review-form-card input:focus,.review-form-card textarea:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px rgba(184,147,90,.12)}
.review-form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.rating-picker{display:flex!important;flex-direction:row-reverse;justify-content:flex-end;gap:2px;margin-top:5px}
.rating-picker input{position:absolute;opacity:0;pointer-events:none}
.rating-picker label{cursor:pointer;color:var(--sand);font-size:1.45rem;letter-spacing:0!important;text-transform:none!important;margin:0!important;line-height:1}
.rating-picker label:hover,.rating-picker label:hover~label,.rating-picker label.selected{color:var(--gold)}
.review-consent{display:flex!important;align-items:flex-start;gap:8px;font-size:.72rem!important;letter-spacing:0!important;text-transform:none!important;color:#777!important;line-height:1.5}
.review-consent input{margin-top:2px;accent-color:var(--forest);flex:0 0 auto}
.review-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;opacity:0!important}
.review-form-card button[disabled]{opacity:.65;cursor:wait}
.review-form-message{min-height:24px;margin-top:14px;font-size:.84rem;line-height:1.5}
.review-form-message.ok{color:var(--forest)}
.review-form-message.error{color:#a04940}
.review-side-card{background:linear-gradient(145deg,var(--ivory),var(--sand));text-align:center;align-self:start}
.review-side-card .deco-ornament{margin:10px 0 18px}
.review-side-card p{font-size:.9rem;color:var(--text);line-height:1.8;margin-bottom:22px}

/* --- Page ebooks --- */
.ebooks-hero{text-align:center;max-width:760px;margin:0 auto 40px}
.ebooks-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:24px;max-width:1050px;margin:0 auto}
.ebook-card{background:var(--white);border:1px solid var(--sand);border-radius:8px;overflow:hidden;box-shadow:0 8px 24px rgba(74,85,54,.08);transition:transform .3s,box-shadow .3s;display:flex;flex-direction:column}
.ebook-card:hover{transform:translateY(-5px);box-shadow:0 14px 32px rgba(74,85,54,.15)}
.ebook-cover{display:block;position:relative;background:var(--cream);padding:18px 24px 0;text-align:center}
.ebook-cover img{display:block;width:100%;max-width:190px;height:285px;object-fit:cover;margin:0 auto;box-shadow:0 9px 18px rgba(42,45,35,.2)}
.ebook-cover-label{position:absolute;top:28px;left:32px;background:var(--forest);color:#fff;padding:5px 9px;border-radius:3px;font-size:.68rem;letter-spacing:.12em;text-transform:uppercase}
.ebook-card-body{padding:18px 18px 20px;display:flex;flex-direction:column;flex:1}
.ebook-kicker{font-size:.67rem;letter-spacing:.15em;text-transform:uppercase;color:var(--gold);margin-bottom:7px}
.ebook-card h2{font-family:'Cormorant Garamond',serif;font-size:1.35rem;line-height:1.15;font-style:italic;color:var(--forest);margin:0 0 16px}
.ebook-link{margin-top:auto;display:inline-flex;justify-content:space-between;align-items:center;gap:10px;color:var(--forest);font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;text-decoration:none;border-top:1px solid var(--sand);padding-top:13px}
.ebook-link:hover{color:var(--terracotta)}
.ebooks-note{max-width:680px;margin:34px auto 0;padding:17px 20px;background:var(--ivory);border:1px solid var(--sand);border-radius:5px;text-align:center;color:var(--taupe);font-size:.83rem;line-height:1.6}

/* --- Accueil : sur mesure --- */
.surmesure{background:linear-gradient(135deg,var(--ivory) 0%,var(--sand) 100%);padding:74px 24px}
.sm-inner{max-width:980px;margin:0 auto;display:grid;grid-template-columns:1.05fr .95fr;gap:44px;align-items:center}
.sm-text h2{font-size:2.4rem;font-style:italic;color:var(--forest);margin-bottom:8px;line-height:1.2}
.sm-text p{font-size:.95rem;color:var(--text);margin-bottom:18px}
.sm-points{list-style:none}
.sm-points li{padding:8px 0 8px 22px;position:relative;border-bottom:1px dashed var(--sand);font-size:.85rem;color:var(--text)}
.sm-points li:last-child{border-bottom:none}
.sm-points li::before{content:"✦";color:var(--gold);position:absolute;left:0;top:9px;font-size:.7rem}
.sm-form{background:var(--white);border:1px solid var(--sand);border-radius:6px;padding:30px 28px;box-shadow:0 12px 34px rgba(74,85,54,.09)}
.sm-form h3{font-style:italic;color:var(--forest);font-size:1.5rem;margin-bottom:18px;text-align:center}
.sm-note{font-size:.8rem;text-align:center;margin-top:10px;color:var(--taupe);line-height:1.6}
.sm-note.ok{color:var(--forest);font-weight:600}
.sm-note.err{color:#b05050}

/* --- Panier : détail des totaux --- */
.ct-line{display:flex;justify-content:space-between;gap:16px;font-size:.84rem;color:#888;text-align:left}
.ct-disc{color:var(--gold)}
.ct-grand{margin-top:12px}

/* --- Checkout : ligne livraison --- */
.ship-info{display:flex;justify-content:space-between;align-items:center;gap:14px;background:var(--cream);border:1px dashed var(--gold);border-radius:4px;padding:12px 16px;margin:6px 0 18px;font-size:.82rem;color:var(--text);text-align:left}
.ship-info strong{color:var(--forest)}
.ship-info small{color:var(--taupe)}
.ship-price{font-family:'Cormorant Garamond',serif;font-size:1.25rem;color:var(--taupe);font-style:italic;white-space:nowrap}

/* --- Confort tactile / mobile global --- */
html{-webkit-text-size-adjust:100%}
img{max-width:100%}
button,a{touch-action:manipulation;-webkit-tap-highlight-color:transparent}

/* --- Responsive : mobile & tablette --- */
@media(max-width:720px){
  .hero .subtitle{font-size:1.15rem}
  .nav-wrap{flex-direction:column;gap:10px;padding:12px 16px}
  .logo .brand{font-size:1.9rem}
  .logo .tag{font-size:.55rem;letter-spacing:.32em}
  nav{gap:12px 16px;flex-wrap:wrap;justify-content:center}
  nav a{font-size:.72rem;padding:8px 2px}
  .cart-btn{padding:10px 16px;font-size:.72rem}
  .form-row{grid-template-columns:1fr}
  .form-group input,.form-group textarea,.form-group select{font-size:16px}
  .detail-grid{grid-template-columns:1fr;gap:20px}
  .products{grid-template-columns:repeat(2,1fr);gap:14px}
  .product-info{padding:14px}
  .product-name{font-size:1.1rem}
  .product-desc{font-size:.76rem}
  .add-btn{padding:10px 16px}
  .story{padding:50px 20px}
  .story p.lead::first-letter{font-size:3rem}
  .section{padding:46px 16px}
  .hero,.atelier-hero{padding:56px 18px}
  .section-title h2,.about h2,.values-inner h2,.matieres h2,.contact-block h2,.sm-text h2{font-size:1.9rem}
  .modal{padding:24px 16px;max-height:94dvh}
  .modal-overlay{padding:10px}
  .modal h2{font-size:1.5rem}
  .cart-item img{width:60px;height:60px}
  .qty-btn{width:34px;height:34px}
  .filters{gap:8px;margin-bottom:26px}
  .filter-btn{padding:9px 14px;font-size:.72rem}
  .values-grid,.matieres-grid,.pricing-grid,.avis-grid{gap:16px}
  .values-block,.matieres,.about,.avis-block,.surmesure{padding:50px 16px}
  .sm-inner{grid-template-columns:1fr;gap:26px}
  .sm-form{padding:22px 16px}
  .review-page-grid{grid-template-columns:1fr;gap:18px}
  .review-form-card,.review-side-card{padding:22px 17px}
  .review-form-row{grid-template-columns:1fr;gap:0}
  .ebook-cover img{height:255px}
  .ebooks-grid{gap:16px}
  .ebook-card-body{padding:15px}
  .review-page-hero h1,.ebooks-hero h1{font-size:2.45rem}
  .deco-ornament::before,.deco-ornament::after{width:30px;margin:0 10px}
  .checkout-btn{padding:15px}
  .contact-email{padding:13px 24px;font-size:1.1rem}
}
@media(max-width:380px){
  .products{grid-template-columns:1fr;gap:16px}
  .product-name{font-size:1.25rem}
}

/* ========== Contenus animés par l'admin : parures complètes & événements ========== */
.parures-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:28px}
.parure-card{background:var(--white);border:1px solid var(--sand);border-radius:4px;padding:26px;display:flex;flex-direction:column;box-shadow:0 4px 18px rgba(74,85,54,0.06)}
.parure-thumbs{display:flex;margin-bottom:16px}
.parure-thumbs img{width:84px;height:84px;object-fit:cover;border-radius:50%;border:4px solid var(--white);box-shadow:0 3px 10px rgba(74,85,54,0.15);margin-right:-22px;background:var(--sand)}
.parure-name{font-size:1.5rem;font-style:italic;color:var(--forest);margin-bottom:8px}
.parure-pieces{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}
.parure-pieces span{font-size:0.68rem;letter-spacing:0.08em;text-transform:uppercase;background:var(--cream);border:1px solid var(--sand);color:var(--taupe);padding:3px 10px;border-radius:14px}
.parure-desc{font-size:0.88rem;color:var(--text);line-height:1.6}
.parure-bottom{margin-top:auto;padding-top:16px;display:flex;justify-content:space-between;align-items:flex-end;gap:10px;flex-wrap:wrap}
.parure-price{font-family:'Cormorant Garamond',serif;font-size:1.5rem;color:var(--forest);font-weight:600;line-height:1.1}
.parure-price small{display:block;font-family:'Quicksand',sans-serif;font-size:0.66rem;letter-spacing:0.06em;color:var(--gold);text-transform:uppercase}
.parure-actions{display:flex;align-items:center;gap:12px}
.parure-link{font-size:0.75rem;letter-spacing:0.15em;text-transform:uppercase;color:var(--taupe);text-decoration:none;border-bottom:1px solid var(--sand)}
.parure-link:hover{color:var(--forest)}
.evt-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:22px}
.evt-card{background:var(--white);border:1px solid var(--sand);border-radius:4px;padding:22px;display:flex;gap:18px;box-shadow:0 4px 18px rgba(74,85,54,0.06);text-align:left}
.evt-date{flex:0 0 auto;width:64px;height:64px;background:var(--cream);border:1px solid var(--sand);border-radius:4px;display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1.05}
.evt-date .d{font-family:'Cormorant Garamond',serif;font-size:1.7rem;color:var(--forest);font-weight:600}
.evt-date .m{font-size:0.62rem;letter-spacing:0.2em;text-transform:uppercase;color:var(--terracotta)}
.evt-body h3{font-size:1.3rem;margin-bottom:2px}
.evt-when{font-size:0.8rem;color:var(--forest);font-weight:600}
.evt-where{font-size:0.85rem;color:var(--taupe);margin-top:2px}
.evt-body p{font-size:0.9rem;color:var(--text);margin-top:8px}
.evt-link{font-size:0.8rem;color:var(--forest);font-weight:600;text-decoration:none}
@media(max-width:640px){.parures-grid,.evt-grid{grid-template-columns:1fr}}

/* ========== Galerie Bijoux Portés & Interactivité Produit Porté ========== */
.porte-hint-banner{background:linear-gradient(135deg,rgba(230,216,195,0.45) 0%,rgba(247,242,231,0.85) 100%);border:1px solid var(--sand);border-radius:8px;padding:16px 20px;margin-bottom:30px;display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;box-shadow:0 3px 12px rgba(74,85,54,0.04)}
.porte-hint-text{font-size:0.92rem;color:var(--deep);line-height:1.6}
.porte-hint-text strong{color:var(--forest);font-family:'Cormorant Garamond',serif;font-size:1.15rem;letter-spacing:0.02em}
.porte-hint-btn{background:var(--forest);color:white;text-decoration:none;padding:9px 20px;border-radius:24px;font-size:0.78rem;letter-spacing:0.12em;text-transform:uppercase;font-weight:600;white-space:nowrap;transition:all 0.3s;display:inline-flex;align-items:center;gap:6px}
.porte-hint-btn:hover{background:var(--taupe);transform:translateY(-2px);box-shadow:0 6px 16px rgba(176,144,112,0.25)}

/* Image container with flip/toggle in product card */
.product-card-img-wrap{position:relative;width:100%;aspect-ratio:1;overflow:hidden;background:#f8f3e8;cursor:pointer}
.product-card-img-wrap .product-img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 0.4s ease,opacity 0.3s ease}
.product-card-img-wrap:hover .product-img{transform:scale(1.03)}
.product-card-img-wrap .product-img-porte{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;opacity:0;pointer-events:none;transition:opacity 0.35s ease,transform 0.4s ease}
.product-card-img-wrap.show-porte .product-img-porte{opacity:1;pointer-events:auto;transform:scale(1.02)}
.product-card-img-wrap.show-porte .product-img-flat{opacity:0}

/* Badge and toggle button on product cards */
.card-porte-badge{position:absolute;top:10px;left:10px;z-index:4;background:rgba(61,70,41,0.9);color:#fff;backdrop-filter:blur(4px);font-size:0.62rem;letter-spacing:0.08em;text-transform:uppercase;padding:4px 9px;border-radius:14px;display:inline-flex;align-items:center;gap:4px;box-shadow:0 2px 8px rgba(0,0,0,0.15);transition:all 0.25s}
.card-porte-badge:hover{background:var(--forest);transform:scale(1.04)}
.card-porte-toggle{position:absolute;bottom:10px;right:10px;z-index:4;background:rgba(255,253,249,0.94);color:var(--forest);border:1px solid var(--sand);border-radius:18px;font-size:0.66rem;font-family:inherit;font-weight:600;padding:5px 10px;cursor:pointer;display:inline-flex;align-items:center;gap:4px;box-shadow:0 3px 10px rgba(0,0,0,0.12);transition:all 0.25s;letter-spacing:0.04em}
.card-porte-toggle:hover{background:var(--forest);color:white;border-color:var(--forest);transform:translateY(-1px)}
.card-touch-hint{position:absolute;bottom:10px;left:10px;z-index:3;background:rgba(0,0,0,0.55);color:#fff;font-size:0.58rem;letter-spacing:0.04em;padding:3px 7px;border-radius:10px;opacity:0;transition:opacity 0.25s}
.product-card-img-wrap:hover .card-touch-hint{opacity:1}

/* Image switcher in Product Modal & Product Page */
.detail-img-col{display:flex;flex-direction:column;gap:12px}
.detail-img-box{position:relative;width:100%;aspect-ratio:1;border-radius:6px;overflow:hidden;border:1px solid var(--sand);background:var(--sand);cursor:pointer}
.detail-img-box img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 0.4s ease}
.detail-img-box:hover img{transform:scale(1.02)}
.detail-view-tabs{display:flex;gap:8px;margin-top:4px}
.view-tab-btn{flex:1;background:var(--cream);border:1.5px solid var(--sand);color:var(--text);padding:8px 12px;border-radius:20px;font-family:inherit;font-size:0.75rem;font-weight:600;letter-spacing:0.04em;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:6px;transition:all 0.25s}
.view-tab-btn:hover{border-color:var(--taupe);color:var(--forest)}
.view-tab-btn.active{background:var(--forest);color:white;border-color:var(--forest);box-shadow:0 3px 10px rgba(74,85,54,0.15)}
.porte-info-callout{background:#f5efe4;border-left:3px solid var(--gold);border-radius:4px;padding:10px 14px;font-size:0.82rem;color:var(--deep);line-height:1.55;display:flex;align-items:flex-start;gap:8px}
.porte-info-callout span.icon{font-size:1.1rem;line-height:1}
.link-galerie-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--cream);border:1.5px solid var(--gold);color:var(--forest);padding:10px 18px;border-radius:24px;font-family:inherit;font-size:0.8rem;letter-spacing:0.08em;text-decoration:none;font-weight:600;transition:all 0.25s;margin-top:6px}
.link-galerie-btn:hover{background:var(--forest);color:white;border-color:var(--forest);transform:translateY(-1px)}

/* Galerie Page Styles */
.galerie-hero{background:linear-gradient(135deg,var(--ivory) 0%,var(--sand) 100%);padding:80px 24px 60px;text-align:center;position:relative;overflow:hidden}
.galerie-hero::before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;opacity:0.05;background-image:
  radial-gradient(circle at 20% 30%, var(--forest) 1px, transparent 1px),
  radial-gradient(circle at 80% 70%, var(--gold) 1px, transparent 1px);
  background-size:40px 40px}
.galerie-hero-inner{position:relative;max-width:820px;margin:0 auto}
.galerie-hero h1{font-size:clamp(2.4rem,7vw,3.6rem);color:var(--forest);font-style:italic;margin-bottom:12px;line-height:1.15}
.galerie-hero .subtitle{font-family:'Cormorant Garamond',serif;font-size:1.35rem;color:var(--taupe);font-style:italic;margin-bottom:18px;line-height:1.6}
.galerie-guide-box{background:var(--white);border:1px solid var(--sand);border-radius:8px;padding:18px 24px;max-width:680px;margin:24px auto 0;box-shadow:0 4px 16px rgba(74,85,54,0.06);text-align:left;display:flex;align-items:center;gap:14px}
.galerie-guide-icon{font-size:1.8rem;color:var(--gold);line-height:1;flex-shrink:0}
.galerie-guide-text{font-size:0.88rem;color:var(--text);line-height:1.6}
.galerie-guide-text strong{color:var(--forest)}

.galerie-nav-count{background:var(--cream);color:var(--gold);border:1px solid var(--gold);padding:2px 8px;border-radius:12px;font-size:0.7rem;font-weight:600;margin-left:4px}
.galerie-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(330px,1fr));gap:32px;margin-top:20px}
.galerie-card{background:var(--white);border:1px solid var(--sand);border-radius:6px;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 4px 20px rgba(74,85,54,0.06);transition:all 0.35s ease}
.galerie-card:hover{transform:translateY(-6px);border-color:var(--gold);box-shadow:0 14px 34px rgba(176,144,112,0.2)}
.galerie-card.highlighted{border:2px solid var(--forest);box-shadow:0 0 0 4px rgba(74,85,54,0.18)}

.galerie-img-wrap{position:relative;width:100%;aspect-ratio:1;overflow:hidden;background:#f3ece0;cursor:pointer}
.galerie-img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 0.45s ease,opacity 0.3s ease}
.galerie-img-wrap:hover .galerie-img{transform:scale(1.04)}
.galerie-img-flat{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;opacity:0;pointer-events:none;transition:opacity 0.35s ease,transform 0.45s ease}
.galerie-img-wrap.show-flat .galerie-img-flat{opacity:1;pointer-events:auto;transform:scale(1.02)}
.galerie-img-wrap.show-flat .galerie-img-porte{opacity:0}

.galerie-pill-porte{position:absolute;top:14px;left:14px;z-index:4;background:rgba(61,70,41,0.92);color:white;backdrop-filter:blur(6px);font-size:0.66rem;letter-spacing:0.1em;text-transform:uppercase;padding:5px 12px;border-radius:16px;box-shadow:0 2px 8px rgba(0,0,0,0.15);font-weight:600}
.galerie-flip-btn{position:absolute;top:14px;right:14px;z-index:4;background:rgba(255,253,249,0.94);color:var(--forest);border:1px solid var(--sand);border-radius:20px;font-size:0.68rem;font-family:inherit;font-weight:600;padding:6px 12px;cursor:pointer;display:inline-flex;align-items:center;gap:5px;box-shadow:0 3px 10px rgba(0,0,0,0.12);transition:all 0.25s}
.galerie-flip-btn:hover{background:var(--forest);color:white;border-color:var(--forest)}
.galerie-click-overlay{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(to top,rgba(40,46,27,0.78) 0%,transparent 100%);padding:24px 16px 10px;color:#fff;font-size:0.75rem;letter-spacing:0.04em;display:flex;align-items:center;justify-content:center;gap:6px;opacity:0.9;transition:opacity 0.3s}
.galerie-img-wrap:hover .galerie-click-overlay{opacity:1;background:linear-gradient(to top,rgba(40,46,27,0.9) 0%,transparent 100%)}

.galerie-card-body{padding:22px;display:flex;flex-direction:column;flex-grow:1}
.galerie-meta{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}
.galerie-ref{font-size:0.68rem;letter-spacing:0.25em;color:var(--gold);text-transform:uppercase}
.galerie-cat{font-size:0.68rem;color:var(--taupe);text-transform:uppercase;letter-spacing:0.1em}
.galerie-title{font-family:'Cormorant Garamond',serif;font-size:1.55rem;color:var(--forest);margin-bottom:8px;font-style:italic;line-height:1.2}
.galerie-title a{color:inherit;text-decoration:none;transition:color 0.2s}
.galerie-title a:hover{color:var(--taupe)}
.galerie-desc{font-size:0.84rem;color:#666;line-height:1.6;margin-bottom:16px;flex-grow:1}
.galerie-card-foot{display:flex;align-items:center;justify-content:space-between;padding-top:14px;border-top:1px dashed var(--sand);margin-top:auto}
.galerie-price{font-family:'Cormorant Garamond',serif;font-size:1.4rem;color:var(--forest);font-weight:600}
.galerie-actions{display:flex;gap:8px;margin-top:14px}
.btn-fiche-produit{flex:1;background:var(--forest);color:white;text-decoration:none;padding:10px 14px;border-radius:24px;font-family:inherit;font-size:0.76rem;letter-spacing:0.12em;text-transform:uppercase;text-align:center;font-weight:600;transition:all 0.25s;display:inline-flex;align-items:center;justify-content:center;gap:6px}
.btn-fiche-produit:hover{background:var(--taupe);transform:translateY(-1px);box-shadow:0 4px 14px rgba(176,144,112,0.3)}
.btn-gal-cart{background:var(--cream);color:var(--forest);border:1.5px solid var(--forest);padding:10px 14px;border-radius:24px;font-family:inherit;font-size:0.76rem;letter-spacing:0.1em;text-transform:uppercase;font-weight:600;cursor:pointer;transition:all 0.25s;display:inline-flex;align-items:center;gap:4px}
.btn-gal-cart:hover{background:var(--forest);color:white}

@media(max-width:720px){
  .galerie-grid{grid-template-columns:1fr;gap:22px}
  .galerie-hero{padding:54px 16px 40px}
  .galerie-guide-box{flex-direction:column;text-align:center;padding:16px}
  .porte-hint-banner{flex-direction:column;text-align:center}
}

/* --- Ouverture : le visuel SoClô quand on arrive sur le lien --- */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.brand-gate{min-height:100vh;min-height:100dvh;display:flex;align-items:center;justify-content:center;background:#f6f3ec;position:relative;padding:28px 18px 72px;cursor:pointer}
.brand-visual{width:min(1040px,94vw,calc((100dvh - 120px) * 16 / 9));height:auto;display:block}
.brand-cue{position:absolute;left:50%;bottom:22px;transform:translateX(-50%);width:44px;height:44px;display:flex;align-items:center;justify-content:center;text-decoration:none}
.brand-cue .chev{width:14px;height:14px;border-right:1.5px solid #c4a24e;border-bottom:1.5px solid #c4a24e;transform:rotate(45deg);animation:brand-cue 1.8s ease-in-out infinite;opacity:.8}
@keyframes brand-cue{0%,100%{transform:rotate(45deg) translateY(0);opacity:.4}50%{transform:rotate(45deg) translateY(5px);opacity:1}}
@media(prefers-reduced-motion:reduce){.brand-cue .chev{animation:none;opacity:.8}}
body.brand-open header{position:fixed;top:0;left:0;right:0;z-index:100;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-10px);transition:opacity .35s ease,transform .35s ease,visibility .35s}
body.brand-open header.nav-visible{opacity:1;visibility:visible;pointer-events:auto;transform:none}

/* --- Fiches, journal, page sur mesure --- */
.qty-btn:disabled{opacity:.35;cursor:not-allowed}
.fiche-buy{display:inline-block;background:#4a5536;color:#fff;padding:14px 34px;border-radius:30px;text-decoration:none;font-weight:600}
.fiche-buy-alt{background:#9a7b3f}
.fiche-secondary{display:inline-block;margin-left:14px;color:#4a5536;font-size:.85rem}
.fiche-ship{margin-top:22px;font-size:.85rem;color:#8a7f6a;line-height:1.7}
.fiche-related{margin-top:60px}
.fiche-related h2,.fiche-reviews h2{font-size:1.8rem;color:#3d4629;margin-bottom:20px}
.fiche-related-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:18px}
.fiche-related-grid a{text-decoration:none;color:inherit}
.fiche-reviews{margin-top:48px;padding-top:8px}
.fiche-reviews .avis-card{max-width:640px}
.fiche-review-note{color:#8a7f6a;font-size:.9rem;margin:8px 0 14px}
.fiche-reviews a{color:#4a5536}
.journal-products{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:16px;margin:28px 0}
.journal-aside{background:#f6f3ec;border-left:3px solid #c9a268;border-radius:4px;padding:16px 18px;margin:22px 0}
.journal-aside p{margin:0 0 8px;font-size:.95rem;line-height:1.6}
.journal-aside a,.journal-body a,.story a,.mat-card a,.contact-block p a{color:#4a5536;text-underline-offset:3px}
.sm-page-hero{text-align:center;padding:72px 20px 28px;background:linear-gradient(135deg,var(--ivory) 0%,var(--sand) 100%)}
.sm-page-hero h1{font-size:clamp(2.3rem,6vw,3.4rem);font-style:italic;color:var(--forest);margin:8px 0 12px}
.sm-page-hero p{max-width:640px;margin:0 auto;color:var(--taupe);font-family:'Cormorant Garamond',serif;font-size:1.25rem;font-style:italic;line-height:1.6}
.sm-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;max-width:1100px;margin:0 auto;padding:28px 20px 10px}
.sm-step{background:var(--white);border:1px solid var(--sand);border-radius:6px;padding:22px 16px;text-align:center}
.sm-step .n{font-family:'Cormorant Garamond',serif;font-size:1.4rem;color:var(--gold);margin:8px 0 4px}
.sm-step h2{font-size:1.25rem;font-style:italic;margin-bottom:6px}
.sm-step p{font-size:.84rem;color:var(--text);line-height:1.55}
.sm-aside-note{font-size:.88rem;color:var(--taupe);font-style:italic}
.inspiration-box{display:flex;gap:12px;align-items:center;background:var(--cream);border:1px solid var(--sand);border-radius:6px;padding:10px;margin-bottom:14px}
.inspiration-box img{width:64px;height:64px;object-fit:cover;border-radius:4px}
.inspiration-box button{background:none;border:none;color:var(--taupe);cursor:pointer;font-family:inherit;font-size:.75rem;text-decoration:underline;padding:0;margin-top:4px}
.mat-field{border:1px solid var(--sand);border-radius:4px;padding:10px 12px;margin:0 0 14px;display:flex;flex-wrap:wrap;gap:8px 14px}
.mat-field legend{padding:0 6px;font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;color:var(--taupe)}
.mat-field label{font-size:.82rem;display:flex;align-items:center;gap:6px}
.inspire-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:16px;max-width:1100px;margin:0 auto}
.inspire-card{background:var(--white);border:1px solid var(--sand);border-radius:6px;overflow:hidden}
.inspire-card img{width:100%;aspect-ratio:1;object-fit:cover;display:block}
.inspire-card div{padding:12px 14px 16px}
.inspire-card h3{font-size:1.15rem;font-style:italic;margin:2px 0 8px}
.inspire-card button{background:var(--forest);color:#fff;border:none;border-radius:20px;padding:8px 14px;font-family:inherit;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;cursor:pointer}
.faq-list{max-width:760px;margin:0 auto}
.faq-list details{border-bottom:1px solid var(--sand);padding:12px 0}
.faq-list summary{cursor:pointer;font-weight:600;color:var(--forest)}
.faq-list p{margin:8px 0 4px;color:var(--text)}
.sm-links{text-align:center}
.sm-link-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;max-width:860px;margin:0 auto}
.sm-link-grid a{background:var(--white);border:1px solid var(--sand);color:var(--forest);text-decoration:none;padding:10px 16px;border-radius:24px;font-size:.82rem}
.sm-link-grid a:hover{border-color:var(--gold)}
@media(max-width:800px){
  .sm-steps{grid-template-columns:1fr 1fr}
  .fiche-secondary{display:block;margin:12px 0 0}
}
@media(max-width:520px){.sm-steps{grid-template-columns:1fr}}

