/* =========================================================
   SAGYV Boutique — styles
   Pour une retouche, collez vos règles tout en bas du fichier.
   ========================================================= */

/* ---------- Polices (hébergées sur le site, conformes RGPD) ---------- */
@font-face{font-family:"Jost";font-weight:300;font-style:normal;font-display:swap;src:url(../fonts/jost-latin-300-normal.woff2) format("woff2")}
@font-face{font-family:"Jost";font-weight:400;font-style:normal;font-display:swap;src:url(../fonts/jost-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"Jost";font-weight:500;font-style:normal;font-display:swap;src:url(../fonts/jost-latin-500-normal.woff2) format("woff2")}
@font-face{font-family:"Manrope";font-weight:300;font-style:normal;font-display:swap;src:url(../fonts/manrope-latin-300-normal.woff2) format("woff2")}
@font-face{font-family:"Manrope";font-weight:400;font-style:normal;font-display:swap;src:url(../fonts/manrope-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"Manrope";font-weight:500;font-style:normal;font-display:swap;src:url(../fonts/manrope-latin-500-normal.woff2) format("woff2")}
@font-face{font-family:"Manrope";font-weight:600;font-style:normal;font-display:swap;src:url(../fonts/manrope-latin-600-normal.woff2) format("woff2")}
@font-face{font-family:"Manrope";font-weight:700;font-style:normal;font-display:swap;src:url(../fonts/manrope-latin-700-normal.woff2) format("woff2")}
@font-face{font-family:"EB Garamond";font-weight:400;font-style:italic;font-display:swap;src:url(../fonts/eb-garamond-latin-400-italic.woff2) format("woff2")}

/* ---------- Couleurs et mesures ---------- */
:root{
	--sg-ivoire:#F7F5F0;
	--sg-beige:#EFEBE3;
	--sg-trait:#E3DFD6;
	--sg-trait-doux:#ECE8DF;
	--sg-encre:#1A1A18;
	--sg-texte:#4A4740;
	--sg-gris:#5E5A52;
	--sg-vert:#2C3A2E;
	--sg-vert-pale:#EAEEE7;
	--sg-erreur:#9A3B2E;
	--sg-titre:"Jost",system-ui,sans-serif;
	--sg-corps:"Manrope",system-ui,sans-serif;
	--sg-large:1360px;
	--sg-marge:clamp(16px,4vw,40px);
	--sg-rayon:16px;
	--sg-rayon-carte:12px;
	--sg-ressort:cubic-bezier(.2,.8,.2,1);
}

/* ---------- Base ---------- */
html{scroll-behavior:smooth;scroll-padding-top:88px}
body.sagyv{margin:0;background:var(--sg-ivoire);color:var(--sg-encre);font-family:var(--sg-corps);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}
body.sagyv *,body.sagyv *::before,body.sagyv *::after{box-sizing:border-box}
body.sagyv a{color:var(--sg-encre);text-underline-offset:4px}
body.sagyv a:hover{color:var(--sg-vert)}
body.sagyv img{max-width:100%;height:auto}
body.sagyv h1,body.sagyv h2,body.sagyv h3{font-family:var(--sg-titre);font-weight:300;color:inherit}
body.sagyv :focus-visible{outline:2px solid var(--sg-vert);outline-offset:3px}
.sg-sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.sg-evitement{position:absolute;left:12px;top:-60px;z-index:100;background:var(--sg-encre);color:var(--sg-ivoire)!important;padding:10px 16px;border-radius:999px}
.sg-evitement:focus{top:12px}

/* Conteneurs GeneratePress : on les libère pour notre mise en page */
body.sagyv .site.grid-container{max-width:none;padding:0;background:transparent}
body.sagyv .site-content{display:block;max-width:var(--sg-large);margin:0 auto;padding:24px var(--sg-marge) 96px}
body.sagyv.home .site-content{max-width:none;padding:0}
body.sagyv .inside-article,body.sagyv .site-main>*,body.sagyv .separate-containers .inside-article{background:transparent;padding:0}
body.sagyv .content-area{width:100%;float:none}
body.sagyv .site-main{margin:0}
body.sagyv .entry-title,body.sagyv .page-title,body.sagyv .woocommerce-products-header__title{font-family:var(--sg-titre);font-weight:300;font-size:clamp(30px,3.4vw,44px);line-height:1.15;letter-spacing:.04em;margin:0 0 20px}

/* ---------- Boutons ---------- */
.sg-btn{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:0 28px;border-radius:999px;border:0;font:500 15px/1 var(--sg-corps);text-decoration:none;cursor:pointer;white-space:nowrap;transition:transform .15s ease,background .25s ease,color .25s ease}
.sg-btn:hover{transform:translateY(-1px)}
.sg-btn:active{transform:scale(.97)}
body.sagyv .sg-btn-clair{background:var(--sg-ivoire);color:var(--sg-encre)}
body.sagyv .sg-btn-clair:hover{background:#fff;color:var(--sg-encre)}
body.sagyv .sg-btn-fonce{background:var(--sg-encre);color:var(--sg-ivoire)}
body.sagyv .sg-btn-fonce:hover{background:var(--sg-vert);color:var(--sg-ivoire)}
body.sagyv .sg-btn-texte{display:inline-flex;align-items:center;min-height:50px;padding:0 18px;color:var(--sg-ivoire);font-weight:700;font-size:15px;text-decoration:none;transition:opacity .2s ease}
body.sagyv .sg-btn-texte:hover{color:var(--sg-ivoire);opacity:.8}
body.sagyv .sg-lien{font-size:14px;padding:10px 0}

/* ---------- En-tête ---------- */
.sg-entete{position:sticky;top:0;z-index:50;background:rgba(247,245,240,.82);-webkit-backdrop-filter:saturate(1.4) blur(16px);backdrop-filter:saturate(1.4) blur(16px);border-bottom:1px solid rgba(26,26,24,.06)}
.admin-bar .sg-entete{top:32px}
@media (max-width:782px){.admin-bar .sg-entete{top:0}}
.sg-entete-in{max-width:var(--sg-large);margin:0 auto;padding:0 var(--sg-marge);height:72px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:16px}
.sg-entete-gauche{display:flex;align-items:center}
.sg-nav{display:flex;gap:28px;font-size:14px}
body.sagyv .sg-nav a{position:relative;text-decoration:none}
.sg-nav a::after{content:"";position:absolute;left:0;right:0;bottom:-4px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .35s var(--sg-ressort)}
.sg-nav a:hover::after{transform:scaleX(1)}
body.sagyv .sg-logo{font-family:var(--sg-titre);font-weight:300;font-size:22px;letter-spacing:.5em;padding-left:.5em;text-decoration:none;color:var(--sg-encre);line-height:1}
.sg-entete-droite{display:flex;justify-content:flex-end;gap:4px}
.sg-icone-btn{position:relative;width:44px;height:44px;border-radius:50%;border:0;background:transparent;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;color:var(--sg-encre);padding:0;transition:background .2s ease,transform .15s ease}
.sg-icone-btn:hover{background:rgba(26,26,24,.06)}
.sg-icone-btn:active{transform:scale(.94)}
.sg-compteur{position:absolute;top:6px;right:4px;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:var(--sg-vert);color:var(--sg-ivoire);font-size:11px;font-weight:600;line-height:18px;text-align:center}
.sg-compteur.est-vide{display:none}
.sg-compteur.sg-rebond{animation:sgRebond .45s cubic-bezier(.3,1.6,.5,1)}
@keyframes sgRebond{40%{transform:scale(1.35)}}

/* Menu à deux traits (mobile) */
.sg-burger{display:none;width:44px;height:44px;margin-left:-10px;padding:0 10px;border:0;border-radius:50%;background:transparent;cursor:pointer;flex-direction:column;justify-content:center;align-items:flex-start;gap:6px}
.sg-burger:active{transform:scale(.94)}
.sg-burger span{display:block;height:1.5px;border-radius:2px;background:var(--sg-encre);transition:transform .35s var(--sg-ressort),width .35s var(--sg-ressort)}
.sg-burger span:first-child{width:22px}
.sg-burger span:last-child{width:13px}
.sg-burger[aria-expanded="true"] span{width:20px}
.sg-burger[aria-expanded="true"] span:first-child{transform:translateY(3.75px) rotate(45deg)}
.sg-burger[aria-expanded="true"] span:last-child{transform:translateY(-3.75px) rotate(-45deg)}
.sg-menu-mobile{border-top:1px solid rgba(26,26,24,.06);padding:8px var(--sg-marge) 28px;display:flex;flex-direction:column}
.sg-menu-mobile[hidden]{display:none}
body.sagyv .sg-menu-mobile a{font-family:var(--sg-titre);font-weight:300;font-size:26px;letter-spacing:.04em;text-decoration:none;padding:14px 0;border-bottom:1px solid var(--sg-trait-doux);animation:sgMenu .45s var(--sg-ressort) both}
.sg-menu-mobile a:nth-child(2){animation-delay:.06s}.sg-menu-mobile a:nth-child(3){animation-delay:.12s}.sg-menu-mobile a:nth-child(4){animation-delay:.18s}
@keyframes sgMenu{from{opacity:0;transform:translateY(-8px)}}
.sg-recherche{border-top:1px solid rgba(26,26,24,.06);padding:16px var(--sg-marge)}
.sg-recherche[hidden]{display:none}
.sg-recherche form{max-width:640px;margin:0 auto;display:flex;gap:10px}
.sg-recherche input[type=search]{flex:1;min-height:48px;padding:0 20px;border-radius:999px;border:1px solid #CFC9BC;background:#fff;font:inherit;font-size:16px}
.sg-recherche button{min-height:48px;padding:0 22px;border-radius:999px;border:0;background:var(--sg-encre);color:var(--sg-ivoire);font:500 14px var(--sg-corps);cursor:pointer}
@media (max-width:820px){
	.sg-nav,.sg-compte{display:none}
	.sg-burger{display:flex}
	body.sagyv .sg-logo{font-size:19px}
}

/* ---------- Animations ---------- */
.sg-monte{animation:sgMonte .9s var(--sg-ressort) both}
.sg-d1{animation-delay:.15s}.sg-d2{animation-delay:.3s}
@keyframes sgMonte{from{opacity:0;transform:translateY(28px)}}
@supports (animation-timeline:view()){
	@media (prefers-reduced-motion:no-preference){
		.sg-apparait,.sg-grille>li{animation:sgMonte linear both;animation-timeline:view();animation-range:entry 0% cover 22%}
	}
}

/* ---------- Mise en page de l'accueil ---------- */
.sg-cadre{max-width:var(--sg-large);margin:0 auto;padding-left:var(--sg-marge);padding-right:var(--sg-marge)}
.sg-section{padding-top:clamp(72px,9vw,112px)}
.sg-section-courte{padding-top:clamp(64px,8vw,96px)}
.sg-section-fin{padding-bottom:clamp(80px,10vw,120px)}
body.sagyv .sg-titre{margin:0;font-family:var(--sg-titre);font-weight:300;font-size:clamp(28px,3vw,40px);line-height:1.15;letter-spacing:.04em}
.sg-chapo{margin:10px 0 0;font-size:15px;color:var(--sg-texte);font-weight:300}
.sg-section-tete{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:36px}
#collections .sg-titre{margin-bottom:36px}

/* Haut de page */
.sg-hero{padding-top:16px}
.sg-hero-visuel{position:relative;height:min(84vh,760px);min-height:520px;border-radius:var(--sg-rayon);overflow:hidden;background:#2A2620;color:var(--sg-ivoire)}
.sg-hero-img{position:absolute;inset:0;width:100%;height:100%!important;object-fit:cover;object-position:55% 28%;animation:sgZoom 1.6s var(--sg-ressort) both}
@keyframes sgZoom{from{transform:scale(1.08)}}
.sg-hero-voile{position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,18,15,.62) 0%,rgba(20,18,15,.2) 45%,rgba(20,18,15,0) 65%),linear-gradient(90deg,rgba(20,18,15,.35) 0%,rgba(20,18,15,0) 55%),radial-gradient(ellipse at 0% 100%,rgba(20,18,15,.6) 0%,rgba(20,18,15,0) 55%)}
body.sagyv .sg-hero-titre{position:absolute;left:clamp(20px,4vw,56px);right:clamp(20px,4vw,56px);top:clamp(28px,5vw,60px);max-width:640px;margin:0;font-family:var(--sg-titre);font-weight:500;font-size:clamp(34px,4.8vw,66px);line-height:1.12;letter-spacing:.08em;text-transform:uppercase;color:var(--sg-ivoire)}
.sg-hero-bas{position:absolute;left:clamp(20px,4vw,56px);right:clamp(20px,4vw,56px);bottom:clamp(24px,4vw,52px);display:flex;flex-direction:column;align-items:flex-start;gap:20px}
.sg-hero-bas p{margin:0;max-width:520px;font-size:17px;line-height:1.6;font-weight:300;color:rgba(247,245,240,.72)}
.sg-hero-boutons{display:flex;flex-wrap:wrap;gap:12px}

/* Cartes produit (accueil + boutique) */
body.sagyv .sg-grille,body.sagyv ul.products{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr));gap:28px 20px;margin:0;padding:0;list-style:none}
body.sagyv ul.products::before,body.sagyv ul.products::after{display:none!important}
body.sagyv ul.products li.product,body.sagyv .sg-carte{width:auto!important;float:none!important;margin:0!important;padding:0!important;display:flex;flex-direction:column;gap:14px;text-align:left}
.sg-carte-visuel{position:relative;aspect-ratio:3/4;border-radius:var(--sg-rayon-carte);overflow:hidden;background:var(--sg-beige)}
.sg-carte-lien{position:absolute;inset:0;display:block}
body.sagyv .sg-carte-img{position:absolute;inset:0;width:100%;height:100%!important;object-fit:cover;margin:0!important;transition:transform .9s var(--sg-ressort)}
.sg-carte:hover .sg-carte-img{transform:scale(1.045)}
.sg-pastille{position:absolute;top:12px;left:12px;background:rgba(247,245,240,.88);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:6px 12px;border-radius:999px;font-size:12px;font-weight:500}
.sg-carte-action{position:absolute;left:0;right:0;bottom:0;padding:12px;transform:translateY(101%);transition:transform .45s var(--sg-ressort)}
.sg-carte:hover .sg-carte-action,.sg-carte:focus-within .sg-carte-action{transform:none}
@media (hover:none){.sg-carte-action{transform:none}}
body.sagyv .sg-carte .sg-ajout{display:flex!important;align-items:center;justify-content:center;width:100%!important;min-height:46px!important;margin:0!important;padding:0 16px!important;border:0!important;border-radius:999px!important;background:var(--sg-encre)!important;color:var(--sg-ivoire)!important;font:500 14px/1.2 var(--sg-corps)!important;text-decoration:none;transition:background .2s ease}
body.sagyv .sg-carte .sg-ajout:hover{background:var(--sg-vert)!important}
body.sagyv .sg-carte .sg-ajout.loading{opacity:.7;pointer-events:none}
body.sagyv .sg-carte .sg-ajout.loading::after,body.sagyv .sg-carte .sg-ajout.added::after{display:none}
body.sagyv .sg-carte .added_to_cart{display:none!important}
.sg-carte-infos{display:flex;justify-content:space-between;align-items:baseline;gap:12px}
body.sagyv .sg-carte-nom{margin:0;font-family:var(--sg-corps);font-size:15px;font-weight:500;line-height:1.4;letter-spacing:0}
body.sagyv .sg-carte-nom a{text-decoration:none}
.sg-carte-matiere{display:block;margin-top:4px;font-size:13px;color:var(--sg-gris)}
.sg-carte-prix{font-size:15px;font-weight:500;white-space:nowrap;text-align:right}
.sg-carte-prix del{color:var(--sg-gris);font-weight:400;margin-right:6px}
.sg-carte-prix ins{text-decoration:none}
.sg-note-admin{margin:0 0 20px;padding:12px 16px;border-radius:10px;background:var(--sg-vert-pale);color:var(--sg-vert);font-size:14px}

/* Bande des matières */
.sg-matieres{margin-top:clamp(80px,10vw,120px);border-top:1px solid var(--sg-trait-doux);border-bottom:1px solid var(--sg-trait-doux);overflow:hidden;padding:26px 0;-webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 18%,#000 82%,transparent 100%);mask-image:linear-gradient(90deg,transparent 0%,#000 18%,#000 82%,transparent 100%)}
.sg-matieres-piste{display:flex;width:max-content;gap:44px;align-items:center;font-family:"EB Garamond",Georgia,serif;font-style:italic;font-size:clamp(24px,3vw,34px);color:#B3AD9F;white-space:nowrap;animation:sgDefile 38s linear infinite}
.sg-matieres-piste i{display:block;width:36px;height:1px;background:#D8D2C6}
@keyframes sgDefile{to{transform:translateX(-50%)}}

/* Collections */
.sg-mosaique{display:grid;grid-template-columns:1.2fr 1fr 1fr;grid-template-rows:300px 300px;gap:16px}
.sg-tuile{position:relative;display:block;border-radius:var(--sg-rayon);overflow:hidden;background:#2A2620;text-decoration:none}
.sg-tuile-1{grid-row:span 2}
.sg-tuile-4{grid-column:span 2}
.sg-tuile img{position:absolute;inset:0;width:100%;height:100%!important;object-fit:cover;transition:transform 1s var(--sg-ressort)}
.sg-tuile-1 img{object-position:center 30%}
.sg-tuile:hover img{transform:scale(1.05)}
.sg-tuile::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,18,15,0) 45%,rgba(20,18,15,.58) 100%)}
.sg-tuile-bas{position:absolute;z-index:1;left:24px;right:24px;bottom:22px;display:flex;justify-content:space-between;align-items:flex-end;color:var(--sg-ivoire);font-family:var(--sg-titre);font-weight:300;font-size:22px;letter-spacing:.04em;line-height:1.2}
.sg-tuile-1 .sg-tuile-bas{font-size:26px}
.sg-tuile .sg-ico{transition:transform .35s var(--sg-ressort)}
.sg-tuile:hover .sg-ico{transform:translateX(6px)}
@media (max-width:900px){
	.sg-mosaique{grid-template-columns:1fr 1fr;grid-template-rows:auto;grid-auto-rows:240px}
	.sg-tuile-1{grid-row:span 1;grid-column:span 2}
	.sg-tuile-4{grid-column:span 2}
}
@media (max-width:560px){
	.sg-mosaique{grid-template-columns:1fr}
	.sg-tuile-1,.sg-tuile-4{grid-column:auto}
}

/* Bloc analyse */
.sg-analyse{background:var(--sg-vert);color:#F2EFE7;border-radius:var(--sg-rayon);overflow:hidden;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr))}
.sg-analyse-texte{padding:clamp(36px,6vw,80px);display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:22px}
.sg-surtitre{margin:0;font-size:12px;font-weight:500;letter-spacing:.24em;text-transform:uppercase;color:#C9CFC4}
body.sagyv .sg-analyse .sg-titre{line-height:1.2;color:var(--sg-ivoire)}
.sg-analyse-texte>p:not(.sg-surtitre){margin:0;font-size:16px;line-height:1.7;color:#D8D4C8;font-weight:300;max-width:440px}
.sg-analyse-visuel{position:relative;min-height:460px}
.sg-analyse-visuel img,.sg-newsletter-visuel img{position:absolute;inset:0;width:100%;height:100%!important;object-fit:cover;object-position:center 25%}

/* Engagements */
.sg-engagements{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));gap:28px}
.sg-engagements li{display:flex;gap:14px;align-items:flex-start}
.sg-engagements .sg-ico{flex-shrink:0;color:var(--sg-vert)}
.sg-engagements strong{display:block;font-size:15px;font-weight:600}
.sg-engagements span{display:block;margin-top:4px;font-size:13px;color:var(--sg-gris)}

/* Newsletter */
.sg-newsletter{background:var(--sg-beige);border-radius:var(--sg-rayon);overflow:hidden;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr))}
.sg-newsletter-texte{padding:clamp(36px,6vw,72px);display:flex;flex-direction:column;justify-content:center;gap:18px}
body.sagyv .sg-newsletter .sg-titre{font-size:clamp(26px,2.6vw,36px);line-height:1.2}
.sg-newsletter-texte>p{margin:0;font-size:15px;line-height:1.7;color:var(--sg-texte);font-weight:300;max-width:420px}
.sg-newsletter-visuel{position:relative;min-height:400px}
.sg-newsletter-visuel img{object-position:center 35%}
.sg-form-nl{display:flex;flex-direction:column;gap:14px;max-width:460px}
.sg-form-ligne{display:flex;flex-wrap:wrap;gap:10px}
.sg-form-ligne input[type=email]{flex:1 1 220px;min-height:50px;padding:0 20px;border-radius:999px;border:1px solid #CFC9BC;background:#fff;font:inherit;font-size:16px;color:var(--sg-encre)}
.sg-form-ligne input[type=email]:focus{outline:none;border-color:var(--sg-encre)}
.sg-consentement{display:flex;gap:10px;align-items:flex-start;font-size:13px;color:var(--sg-texte);line-height:1.5}
.sg-consentement input{margin-top:3px;accent-color:var(--sg-vert)}
.sg-piege{position:absolute!important;left:-9999px}
.sg-message{margin:0;font-size:15px;font-weight:500}
.sg-message-ok{color:var(--sg-vert)}
.sg-message-err{color:var(--sg-erreur)}

/* ---------- Pied de page ---------- */
.sg-pied{background:var(--sg-encre);color:#CFC9BC}
.sg-pied-in{max-width:var(--sg-large);margin:0 auto;padding:64px var(--sg-marge) 32px;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));gap:40px}
.sg-pied-marque{display:flex;flex-direction:column;gap:14px}
body.sagyv .sg-logo-clair{color:var(--sg-ivoire);font-size:20px;padding-left:0}
.sg-pied-marque p{margin:0;font-size:14px;line-height:1.6;max-width:260px}
.sg-pied nav{display:flex;flex-direction:column;gap:10px;font-size:14px}
.sg-pied strong{color:var(--sg-ivoire);font-weight:500;margin-bottom:4px}
body.sagyv .sg-pied a{color:#CFC9BC;text-decoration:none}
body.sagyv .sg-pied a:hover{color:var(--sg-ivoire)}
.sg-pied-bas{max-width:var(--sg-large);margin:0 auto;padding:20px var(--sg-marge) 28px;border-top:1px solid rgba(207,201,188,.18);font-size:13px}

/* ---------- Panier coulissant ---------- */
.sg-voile{position:fixed;inset:0;z-index:90;background:rgba(20,18,15,.38);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);animation:sgFondu .35s ease both}
.sg-voile[hidden],.sg-panier[hidden]{display:none}
@keyframes sgFondu{from{opacity:0}}
.sg-panier{position:fixed;top:0;right:0;bottom:0;z-index:91;width:min(440px,100%);background:var(--sg-ivoire);display:flex;flex-direction:column;box-shadow:-24px 0 60px -30px rgba(26,26,24,.45);animation:sgTiroir .5s cubic-bezier(.2,.9,.25,1) both}
@keyframes sgTiroir{from{transform:translateX(100%)}}
.sg-panier.se-ferme{animation:sgTiroirOut .3s ease-in both}
@keyframes sgTiroirOut{to{transform:translateX(100%)}}
.sg-panier-tete{display:flex;justify-content:space-between;align-items:center;padding:18px 24px;border-bottom:1px solid var(--sg-trait)}
body.sagyv .sg-panier-tete h2{margin:0;font-family:var(--sg-titre);font-weight:300;font-size:20px;letter-spacing:.04em}
.sg-livraison{padding:16px 24px;border-bottom:1px solid var(--sg-trait);display:flex;flex-direction:column;gap:10px}
.sg-livraison[hidden]{display:none}
.sg-livraison p{margin:0;font-size:13px;color:var(--sg-texte)}
.sg-livraison-rail{height:4px;border-radius:999px;background:var(--sg-trait);overflow:hidden}
.sg-livraison-rail span{display:block;height:100%;background:var(--sg-vert);border-radius:999px;transform-origin:left;transition:transform .6s var(--sg-ressort)}
.sg-panier .widget_shopping_cart_content{flex:1;display:flex;flex-direction:column;min-height:0}
.sg-panier .woocommerce-mini-cart{flex:1;overflow-y:auto;list-style:none;margin:0;padding:8px 24px}
.sg-panier .woocommerce-mini-cart-item{position:relative;display:grid;grid-template-columns:72px 1fr;gap:4px 16px;padding:18px 28px 18px 0;border-bottom:1px solid var(--sg-trait-doux);font-size:14px}
.sg-panier .woocommerce-mini-cart-item>a:not(.remove){display:contents;font-size:15px;font-weight:500;text-decoration:none}
.sg-panier .woocommerce-mini-cart-item img{grid-row:span 3;width:72px!important;height:96px!important;object-fit:cover;border-radius:8px;margin:0!important;float:none!important}
.sg-panier .woocommerce-mini-cart-item .variation{grid-column:2;margin:0;font-size:12px;color:var(--sg-gris)}
.sg-panier .woocommerce-mini-cart-item .variation dt,.sg-panier .woocommerce-mini-cart-item .variation dd,.sg-panier .woocommerce-mini-cart-item .variation p{display:inline;margin:0}
.sg-panier .woocommerce-mini-cart-item .quantity{grid-column:2;font-size:13px;color:var(--sg-texte)}
body.sagyv .sg-panier a.remove{position:absolute;top:16px;right:0;width:24px;height:24px;line-height:22px;text-align:center;border-radius:50%;color:var(--sg-gris)!important;font-size:18px;text-decoration:none}
body.sagyv .sg-panier a.remove:hover{background:var(--sg-beige);color:var(--sg-encre)!important}
.sg-panier .woocommerce-mini-cart__empty-message{padding:48px 24px;margin:0;font-size:15px}
.sg-panier .woocommerce-mini-cart__total{display:flex;justify-content:space-between;align-items:baseline;margin:0;padding:20px 24px 6px;border-top:1px solid var(--sg-trait);background:#FBFAF7;font-size:15px}
.sg-panier .woocommerce-mini-cart__total strong{font-weight:400}
.sg-panier .woocommerce-mini-cart__total .amount{font-size:20px;font-weight:600}
.sg-panier .woocommerce-mini-cart__buttons{display:flex;flex-direction:column-reverse;gap:10px;margin:0;padding:14px 24px 26px;background:#FBFAF7}
body.sagyv .sg-panier .woocommerce-mini-cart__buttons a{display:flex;align-items:center;justify-content:center;min-height:52px;margin:0;border-radius:999px;font:500 15px var(--sg-corps);text-decoration:none;background:transparent;color:var(--sg-encre);border:1px solid #CFC9BC}
body.sagyv .sg-panier .woocommerce-mini-cart__buttons a.checkout{background:var(--sg-encre);color:var(--sg-ivoire);border-color:var(--sg-encre)}
body.sagyv .sg-panier .woocommerce-mini-cart__buttons a.checkout:hover{background:var(--sg-vert)}
body.sg-panier-ouvert{overflow:hidden}

/* ---------- WooCommerce : commun ---------- */
body.sagyv .woocommerce-breadcrumb,body.sagyv .sg-ariane{font-size:13px;color:var(--sg-gris);margin:0 0 24px;display:flex;flex-wrap:wrap;gap:8px}
body.sagyv .woocommerce-breadcrumb a{color:var(--sg-gris);text-decoration:none}
body.sagyv .woocommerce-result-count{font-size:13px;color:var(--sg-gris);margin:6px 0 28px}
body.sagyv .woocommerce-ordering select,body.sagyv select{min-height:44px;padding:0 40px 0 16px;border-radius:999px;border:1px solid #CFC9BC;background:#fff;font:inherit;font-size:14px;color:var(--sg-encre)}
body.sagyv .woocommerce-message,body.sagyv .woocommerce-info,body.sagyv .woocommerce-error{background:var(--sg-vert-pale);border:0;border-radius:12px;color:var(--sg-vert);padding:16px 20px;font-size:14px;list-style:none}
body.sagyv .woocommerce-error{background:#F6E9E5;color:var(--sg-erreur)}
body.sagyv .woocommerce-message::before,body.sagyv .woocommerce-info::before,body.sagyv .woocommerce-error::before{display:none}
body.sg-ouvrir-panier .woocommerce-notices-wrapper .woocommerce-message{display:none}
body.sagyv .woocommerce a.button,body.sagyv .woocommerce button.button,body.sagyv .woocommerce input.button,body.sagyv .woocommerce #respond input#submit,body.sagyv a.button,body.sagyv button.button{min-height:48px;padding:0 26px;border-radius:999px;border:0;background:var(--sg-encre);color:var(--sg-ivoire);font:500 15px var(--sg-corps);display:inline-flex;align-items:center;justify-content:center;text-decoration:none;transition:background .25s ease,transform .15s ease}
body.sagyv .woocommerce a.button:hover,body.sagyv .woocommerce button.button:hover,body.sagyv a.button:hover,body.sagyv button.button:hover{background:var(--sg-vert);color:var(--sg-ivoire)}
body.sagyv .woocommerce button.button:active,body.sagyv a.button:active{transform:scale(.97)}
body.sagyv .woocommerce button.button.alt,body.sagyv .woocommerce a.button.alt{background:var(--sg-encre)}
body.sagyv .woocommerce button.button.alt:hover,body.sagyv .woocommerce a.button.alt:hover{background:var(--sg-vert)}
body.sagyv .woocommerce-pagination ul{border:0!important;display:flex;gap:6px;justify-content:center;margin-top:48px}
body.sagyv .woocommerce-pagination ul li{border:0!important}
body.sagyv .woocommerce-pagination ul li a,body.sagyv .woocommerce-pagination ul li span{min-width:40px;height:40px;line-height:40px;border-radius:50%;padding:0!important}
body.sagyv .woocommerce-pagination ul li span.current{background:var(--sg-encre);color:var(--sg-ivoire)}
body.sagyv span.onsale{min-height:0;min-width:0;line-height:1;padding:7px 14px;border-radius:999px;background:var(--sg-ivoire);color:var(--sg-encre);font-size:12px;font-weight:500;top:16px;left:16px;right:auto;margin:0}

/* ---------- Fiche produit ---------- */
body.sagyv.single-product div.product{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:clamp(28px,5vw,72px);align-items:start}
body.sagyv.single-product div.product .woocommerce-product-gallery,body.sagyv.single-product div.product .summary{width:auto!important;float:none!important;margin:0!important}
body.sagyv.single-product div.product .summary{position:sticky;top:96px;display:flex;flex-direction:column;gap:22px}
body.sagyv.single-product div.product .summary>*{margin:0}
body.sagyv.single-product div.product>.related,body.sagyv.single-product div.product>.up-sells{grid-column:1/-1}
@media (max-width:900px){
	body.sagyv.single-product div.product{grid-template-columns:1fr}
	body.sagyv.single-product div.product .summary{position:static}
}
.woocommerce-product-gallery__wrapper{margin:0!important}
.woocommerce-product-gallery .woocommerce-product-gallery__image img,.woocommerce-product-gallery .flex-viewport{border-radius:var(--sg-rayon)}
.woocommerce-product-gallery .woocommerce-product-gallery__image{background:var(--sg-beige)}
body.sagyv .woocommerce-product-gallery .flex-control-thumbs{display:flex;gap:12px;margin:14px 0 0!important;padding:0}
body.sagyv .woocommerce-product-gallery .flex-control-thumbs li{width:84px!important;float:none!important;margin:0!important}
.woocommerce-product-gallery .flex-control-thumbs img{border-radius:10px;opacity:.55;transition:opacity .2s ease}
.woocommerce-product-gallery .flex-control-thumbs img.flex-active,.woocommerce-product-gallery .flex-control-thumbs img:hover{opacity:1}
body.sagyv .woocommerce-product-gallery__trigger{top:16px!important;right:16px!important;background:rgba(247,245,240,.88)!important;border-radius:50%}
.sg-badge-produit{align-self:flex-start;background:var(--sg-beige);padding:7px 14px;border-radius:999px;font-size:12px;font-weight:500}
body.sagyv.single-product .product_title{margin:0;font-family:var(--sg-titre);font-weight:300;font-size:clamp(28px,3vw,40px);line-height:1.15;letter-spacing:.04em}
body.sagyv.single-product .summary .price{font-size:22px!important;font-weight:500;color:var(--sg-encre)!important}
body.sagyv.single-product .summary .price del{color:var(--sg-gris);font-weight:400;font-size:18px}
body.sagyv.single-product .summary .price ins{text-decoration:none}
body.sagyv.single-product .woocommerce-product-details__short-description{font-size:15px;color:var(--sg-texte);line-height:1.7}
body.sagyv.single-product .woocommerce-product-details__short-description p{margin:0}
body.sagyv.single-product form.cart{display:flex;flex-wrap:wrap;gap:12px;margin:0!important}
body.sagyv.single-product form.cart::before,body.sagyv.single-product form.cart::after{display:none}
body.sagyv.single-product form.variations_form{flex-direction:column}
body.sagyv.single-product .single_variation_wrap{display:flex;flex-direction:column;gap:14px}
body.sagyv.single-product .woocommerce-variation-add-to-cart{display:flex;flex-wrap:wrap;gap:12px}
body.sagyv.single-product .quantity{margin:0!important}
body.sagyv.single-product .quantity input.qty{width:76px;min-height:56px;border-radius:999px;border:1px solid #CFC9BC;background:#fff;font:inherit;text-align:center}
body.sagyv.single-product .single_add_to_cart_button{flex:1;min-height:56px!important;font-size:16px!important;padding:0 28px!important}
body.sagyv.single-product .single_add_to_cart_button.disabled{opacity:.5;cursor:not-allowed}
body.sagyv.single-product table.variations{border:0;margin:0;width:100%}
body.sagyv.single-product table.variations tr{display:flex;flex-direction:column;gap:12px;margin-bottom:18px}
body.sagyv.single-product table.variations th,body.sagyv.single-product table.variations td{display:block;padding:0;border:0;text-align:left;line-height:1.4;background:none}
body.sagyv.single-product table.variations th label{font-size:14px;font-weight:500}
body.sagyv.single-product .reset_variations{display:inline-block;margin-top:10px;font-size:13px;color:var(--sg-gris)}
.sg-choix{display:flex;flex-wrap:wrap;gap:8px}
.sg-choix button{min-width:52px;min-height:48px;padding:0 16px;border-radius:999px;border:1px solid #D8D2C6;background:transparent;font:inherit;font-size:14px;color:var(--sg-encre);cursor:pointer;transition:background .2s ease,color .2s ease,border-color .2s ease,transform .15s ease}
.sg-choix button:hover{border-color:var(--sg-encre)}
.sg-choix button:active{transform:scale(.95)}
.sg-choix button[aria-pressed="true"]{background:var(--sg-encre);border-color:var(--sg-encre);color:var(--sg-ivoire)}
.sg-choix button:disabled{color:#B5AFA3;text-decoration:line-through;cursor:not-allowed;border-color:var(--sg-trait)}
.sg-choix+select{position:absolute!important;width:1px;height:1px;opacity:0;pointer-events:none}
body.sagyv .sg-encart-taille{display:flex;align-items:center;gap:14px;padding:16px 18px;border-radius:12px;background:var(--sg-vert-pale);text-decoration:none;color:var(--sg-vert)}
body.sagyv .sg-encart-taille:hover{color:var(--sg-vert);background:#E1E7DD}
.sg-encart-taille .sg-ico{flex-shrink:0}
.sg-encart-taille>span{display:flex;flex-direction:column;gap:2px;font-size:14px}
.sg-encart-taille strong{font-weight:600}
.sg-encart-taille>span>span{color:#4A5A4C}
.sg-garanties{list-style:none;padding:0;display:flex;flex-direction:column;gap:10px;font-size:14px;color:var(--sg-texte)}
.sg-garanties li{display:flex;gap:10px;align-items:center}
.sg-garanties .sg-ico{color:var(--sg-vert);flex-shrink:0}
.sg-accordeon{border-top:1px solid var(--sg-trait)}
.sg-accordeon details{border-bottom:1px solid var(--sg-trait)}
.sg-accordeon summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;padding:18px 0;font-size:15px;font-weight:500}
.sg-accordeon summary::-webkit-details-marker{display:none}
.sg-accordeon summary .sg-ico{transition:transform .3s var(--sg-ressort)}
.sg-accordeon details[open] summary .sg-ico{transform:rotate(45deg)}
.sg-accordeon-corps{padding:0 0 18px;font-size:14px;line-height:1.7;color:var(--sg-texte)}
.sg-accordeon-corps>*:first-child{margin-top:0}
.sg-accordeon-corps table.shop_attributes{border:0;margin:0}
.sg-accordeon-corps table.shop_attributes th,.sg-accordeon-corps table.shop_attributes td{border:0;border-bottom:1px solid var(--sg-trait-doux);padding:8px 0;background:none;font-style:normal;text-align:left}
body.sagyv .related{margin-top:clamp(64px,8vw,104px)}
body.sagyv .related>h2{font-family:var(--sg-titre);font-weight:300;font-size:clamp(26px,2.6vw,36px);letter-spacing:.04em;margin:0 0 32px}

/* ---------- Panier, commande, compte ---------- */
body.sagyv .woocommerce table.shop_table{border:0;border-radius:0;border-collapse:collapse}
body.sagyv .woocommerce table.shop_table th,body.sagyv .woocommerce table.shop_table td{border:0;border-bottom:1px solid var(--sg-trait);padding:16px 10px;background:none}
body.sagyv .woocommerce table.shop_table img{width:72px;border-radius:8px}
body.sagyv .woocommerce form .form-row input.input-text,body.sagyv .woocommerce form .form-row textarea,body.sagyv .woocommerce-cart #coupon_code{min-height:48px;padding:10px 18px;border-radius:12px;border:1px solid #CFC9BC;background:#fff;font:inherit;font-size:16px}
body.sagyv .woocommerce form .form-row label{font-size:14px;font-weight:500}
body.sagyv .cart-collaterals .cart_totals h2,body.sagyv #order_review_heading,body.sagyv .woocommerce-billing-fields h3,body.sagyv .woocommerce-additional-fields h3{font-family:var(--sg-titre);font-weight:300;letter-spacing:.04em;font-size:24px}
body.sagyv #payment{background:var(--sg-beige)!important;border-radius:var(--sg-rayon)}

/* ---------- Mobile ---------- */
@media (max-width:640px){
	.sg-hero-visuel{min-height:560px;height:78vh}
	.sg-hero-img{object-position:60% 30%}
	.sg-hero-bas p{font-size:15px}
	.sg-analyse-visuel{min-height:340px}
	.sg-newsletter-visuel{min-height:300px}
	body.sagyv .site-content{padding-bottom:64px}
}

/* ---------- Moins d'animations si l'appareil le demande ---------- */
@media (prefers-reduced-motion:reduce){
	body.sagyv *,body.sagyv *::before,body.sagyv *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
}
@media (prefers-reduced-transparency:reduce){
	.sg-entete{background:var(--sg-ivoire);-webkit-backdrop-filter:none;backdrop-filter:none}
}

/* ---------- Vos retouches : collez-les ci-dessous ---------- */
