/* ============================================================
   3D BAKERS — V2 DESIGN SYSTEM (socle)
   Source de vérité : maquettes design_handoff_3dbakers_v2
   ============================================================ */

/* Tailles de texte calibrees explicitement : on neutralise le font boosting
   de Chrome mobile qui gonfle certains blocs de ~11% et fausse les largeurs */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;}

/* ---- Polices ---- */
@font-face{font-family:'Amandine';src:url('fonts/Amandine-Regular.woff2') format('woff2'),url('fonts/Amandine-Regular.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap;}
@font-face{font-family:'Jost';src:url('fonts/Jost-Regular.woff2') format('woff2'),url('fonts/Jost-Regular.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap;}

/* ---- Tokens ---- */
:root{
  --v2-navy:#15182E;
  --v2-royal:#2A328A;
  --v2-bg:#F2EFF0;
  --v2-ink:#272222;
  --v2-accent:#4AA9DF;
  --v2-grad-165:linear-gradient(165deg,#15182E 0%,#2A328A 100%);
  --v2-grad-135:linear-gradient(135deg,#15182E 0%,#2A328A 100%);
  --v2-grad-pill:linear-gradient(120deg,rgba(21,24,46,.86),rgba(42,50,138,.86));
  --v2-r-card:20px;
  --v2-r-block:26px;
  --v2-r-pill:999px;
  --v2-shadow-header:0 10px 26px rgba(10,12,26,.28);
  --v2-shadow-card:0 18px 40px rgba(21,24,46,.12);
  --v2-border-light:rgba(39,34,34,.07);
  --mq:15s;
}

/* ---- Coquille V2 : neutralise l'en-tête/pied Astra & décor V1 ---- */
body.v2-shell #masthead,body.v2-shell .site-header,body.v2-shell #ast-desktop-header,body.v2-shell #ast-mobile-header{display:none!important;}
body.v2-shell .site-footer,body.v2-shell #colophon{display:none!important;}
body.v2-shell{background:var(--v2-bg);font-synthesis:none;}
body.v2-shell #page,body.v2-shell .site-content{padding-top:0;}

.v2-amandine{font-family:'Amandine',cursive;font-weight:400;}
.v2-jost{font-family:'Jost',sans-serif;font-weight:400;}

/* ============ HEADER V2 (structure = maquette, data-rs conservés) ============ */
#v2-header{display:flex;align-items:stretch;gap:12px;padding:16px max(clamp(18px,5vw,72px),calc((100% - 1600px)/2)) 0;font-family:'Jost',sans-serif;position:relative;z-index:500;}
#v2-header a{text-decoration:none;}
#v2-header [data-rs="hlogo"],#v2-header [data-rs="pill"],#v2-header #burger-btn{transition:background .35s,border-color .35s,box-shadow .35s;}
#v2-header [data-rs="hlogo"]:hover{transform:translateY(-2px);}
#v2-header [data-rs="nav"] a:hover{color:#fff;}
#v2-header [data-rs="hact"] a[aria-label="Instagram"]:hover,#v2-header [data-rs="hact"] a[aria-label="Mon compte"]:hover{background:rgba(242,239,240,.16);border-color:#F2EFF0;color:#fff;}
#v2-header [data-rs="hcart"]:hover{color:#fff;}
/* Badge compteur panier : masqué par défaut, affiché sur l'icône mobile (bloc 640) */
#v2-header .tdb-cartbadge{display:none;}
#v2-header [data-rs="hdevis"]:hover{background:#fff;color:#15182E;transform:translateY(-1px);box-shadow:0 8px 20px rgba(10,12,26,.4);}

/* Header adaptatif : état clair (repris tel quel de la maquette) */
#v2-header.hdr-light [data-rs="hlogo"],#v2-header.hdr-light [data-rs="pill"],#v2-header.hdr-light #burger-btn{background:#fff!important;border-color:rgba(21,24,46,.14)!important;box-shadow:0 10px 26px rgba(21,24,46,.14)!important;}
#v2-header.hdr-light [data-rs="nav"] a{color:#2A328A!important;}
#v2-header.hdr-light #burger-btn svg line{stroke:#2A328A;}
#v2-header.hdr-light [data-rs="hact"] a{color:#2A328A!important;}
#v2-header.hdr-light [data-rs="hcart"]{border-color:rgba(42,50,138,.4)!important;}
#v2-header.hdr-light [data-rs="hact"] a[aria-label="Mon compte"],#v2-header.hdr-light [data-rs="hact"] a[aria-label="Instagram"]{border-color:rgba(42,50,138,.4)!important;}
#v2-header.hdr-light [data-rs="hact"]>div{border-color:rgba(42,50,138,.35)!important;}
#v2-header.hdr-light [data-rs="hact"]>div span{color:rgba(42,50,138,.65)!important;}
#v2-header.hdr-light [data-rs="hact"]>div span:first-child{background:#2A328A!important;color:#fff!important;}
#v2-header.hdr-light [data-rs="hact"] [data-rs="hdevis"]{background:linear-gradient(165deg,#15182E 0%,#2A328A 100%)!important;color:#fff!important;border-color:transparent!important;}

/* Menu mobile */
#mobile-menu{position:fixed;inset:0;z-index:2000;background:var(--v2-grad-165);display:none;flex-direction:column;padding:22px 26px 30px;overflow-y:auto;font-family:'Jost',sans-serif;}
#mobile-menu.open{display:flex!important;}
#mobile-menu a{text-decoration:none;}
#mobile-menu nav a:hover{color:#4AA9DF;}

/* ============ FOOTER V2 ============ */
.v2-assure{background:#fff;display:flex;justify-content:center;gap:clamp(24px,6vw,84px);padding:16px max(clamp(16px,4.5vw,56px),calc((100% - 1600px)/2));font-family:'Jost',sans-serif;flex-wrap:wrap;}
.v2-assure span{display:flex;align-items:center;gap:9px;font-size:13.5px;color:#272222;}
.v2-assure svg{flex:none;}
#v2-footer{background:var(--v2-grad-135);color:#F2EFF0;padding:clamp(40px,7vw,64px) max(clamp(16px,4.5vw,56px),calc((100% - 1600px)/2)) 26px;font-family:'Jost',sans-serif;}
#v2-footer a{text-decoration:none;}
#v2-footer .fgrid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:48px;}
#v2-footer .ftitle{font-family:'Amandine',cursive;font-size:25px;color:#F2EFF0;margin-bottom:6px;font-weight:400;}
#v2-footer .fgrid a{font-size:14px;color:rgba(242,239,240,.75);transition:color .2s;}
#v2-footer .fgrid a:hover{color:#fff;}
#v2-footer .fsoc{width:38px;height:38px;border-radius:999px;border:1px solid rgba(242,239,240,.35);color:#F2EFF0;display:flex;align-items:center;justify-content:center;transition:all .25s;}
#v2-footer .fsoc:hover{background:rgba(242,239,240,.16);border-color:#F2EFF0;}
#v2-footer .fnews{display:flex;gap:10px;margin-top:16px;}
#v2-footer .fnews input{flex:1;min-width:0;background:#fff;border:0;border-radius:999px;padding:13px 20px;font-size:13.5px;color:#272222;font-family:'Jost',sans-serif;outline:none;}
#v2-footer .fnews input::placeholder{color:rgba(39,34,34,.62);}
#v2-footer .fnews button{flex:none;width:46px;height:46px;border-radius:999px;border:1px solid rgba(242,239,240,.55);background:transparent;color:#F2EFF0;display:flex;align-items:center;justify-content:center;font-size:13px;cursor:pointer;transition:all .25s;font-family:'Jost',sans-serif;}
#v2-footer .fnews button:hover{background:#F2EFF0;color:#15182E;border-color:#F2EFF0;}
#v2-footer .fbot{border-top:1px solid rgba(242,239,240,.16);margin-top:44px;padding-top:20px;display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;}
#v2-footer .fbot span,#v2-footer .fbot a{font-size:12.5px;color:rgba(242,239,240,.65);}
#v2-footer .fbot a:hover{color:#fff;}

/* ============ Boutons V2 (réutilisables) ============ */
.v2-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;border-radius:999px;font-family:'Jost',sans-serif;font-size:15px;font-weight:400;padding:14px 30px;cursor:pointer;transition:all .3s;text-decoration:none;}
.v2-btn--primary{background:var(--v2-grad-165);color:#fff;border:0;}
.v2-btn--primary:hover{transform:translateY(-2px);box-shadow:var(--v2-shadow-card);color:#fff;}
.v2-btn--ghost{background:transparent;color:var(--v2-royal);border:1px solid var(--v2-royal);}
.v2-btn--ghost:hover{background:rgba(42,50,138,.07);color:var(--v2-royal);}
.v2-btn--ghost-inv{background:transparent;color:#F2EFF0;border:1px solid rgba(242,239,240,.55);}
.v2-btn--ghost-inv:hover{background:rgba(242,239,240,.12);color:#fff;}

/* ============ Keyframes (maquette) ============ */
@keyframes mq{from{transform:translateX(0);}to{transform:translateX(-50%);}}
@keyframes rise{from{opacity:0;transform:translateY(28px);}to{opacity:1;transform:translateY(0);}}
@keyframes heroflow{from{transform:translateX(0);}to{transform:translateX(-50%);}}
@keyframes spin{to{transform:rotate(360deg);}}
@keyframes arrownudge{0%,100%{transform:translateX(0);}50%{transform:translateX(7px);}}
@keyframes bob{0%,100%{transform:translateY(0);}50%{transform:translateY(9px);}}
@keyframes bubblepop{0%,100%{opacity:0;transform:translateY(8px) scale(.85);}10%,76%{opacity:1;transform:translateY(0) scale(1);}86%{opacity:0;transform:translateY(8px) scale(.85);}}
[data-hscroll]::-webkit-scrollbar{display:none;}
/* Le glisser sur un bandeau doit LE faire défiler, jamais attraper ou sélectionner l'image */
[data-swipemq] img,[data-hscroll] img{-webkit-user-drag:none;user-select:none;-webkit-user-select:none;}
[data-swipemq],[data-hscroll]{user-select:none;-webkit-user-select:none;}
/* Carrousels horizontaux : jamais de scroll vertical interne (overflow-x:auto rend
   overflow-y auto par calcul, et le lift hover de 6px des cartes le déclenchait) ;
   padding haut à 10px pour laisser la place au lift sans rognage */
[data-igtrack],#ig-scroll{overflow-y:hidden!important;padding-top:10px!important;}

/* ============ Responsive header/footer (maquette) ============ */
/* Tablette : burger au lieu du menu replie sur 2 lignes (rendu casse 641-1150) */
@media (max-width:1150px){
#v2-header [data-rs="burger"]{display:flex!important;width:54px;align-self:stretch;}
#v2-header [data-rs="nav"]{display:none!important;}
#v2-header [data-rs="pill"]{flex-wrap:nowrap!important;align-items:center!important;}
#v2-header [data-rs="hact"]{flex:1 1 auto;margin-left:0!important;justify-content:space-evenly;flex-wrap:nowrap!important;min-width:0;}
#v2-header [data-rs="hact"] a{white-space:nowrap;}
}
@media (max-width:1080px){
#v2-footer .fgrid{grid-template-columns:1fr 1fr!important;gap:36px!important;}
}
@media (max-width:640px){
/* Header mobile UNE SEULE ligne, elements agrandis et espacements resserres (Enzo 26/07 v2) */
#v2-header{gap:6px!important;align-items:stretch!important;padding:12px clamp(10px,3vw,20px) 0!important;}
#v2-header [data-rs="burger"]{display:flex!important;align-self:stretch;height:auto!important;width:52px!important;flex:none;}
#v2-header [data-rs="nav"]{display:none!important;}
#v2-header [data-rs="hlogo"]{align-self:stretch;display:flex;align-items:center;padding:0 13px!important;flex:none;}
#v2-header [data-rs="hlogo"] img{height:21px!important;}
#v2-header [data-rs="pill"]{flex:1;min-width:0;padding:5px 6px!important;gap:4px!important;align-items:center!important;}
#v2-header [data-rs="hact"]{gap:4px!important;margin-left:0!important;align-items:center!important;flex-wrap:nowrap!important;min-width:0;flex:1 1 auto;justify-content:space-evenly;}
#v2-header [data-rs="hact"] a{white-space:nowrap;font-size:12px!important;}
#v2-header [data-rs="hact"] a[aria-label="Mon compte"],#v2-header [data-rs="hact"] a[aria-label="Instagram"]{width:40px!important;height:40px!important;flex:none;}
#v2-header [data-rs="hact"] a[aria-label="Mon compte"] svg,#v2-header [data-rs="hact"] a[aria-label="Instagram"] svg{width:17px;height:17px;}
#v2-header [data-rs="hact"]>div{padding:2px!important;flex:none;display:flex;align-items:center;}
#v2-header [data-rs="hact"]>div span,#v2-header [data-rs="hact"]>div a{display:inline-flex;align-items:center;justify-content:center;padding:0 9px!important;height:32px;font-size:12px!important;line-height:1!important;border-radius:999px;}
#v2-header [data-rs="hdevis"]{display:none!important;}
#v2-header [data-rs="hcart"]{width:40px!important;height:40px!important;border:1px solid rgba(242,239,240,.3)!important;border-radius:999px!important;display:flex!important;align-items:center;justify-content:center;flex:none;padding:0!important;}
#v2-header.hdr-light [data-rs="hcart"]{border-color:rgba(42,50,138,.4)!important;}
#v2-header [data-rs="hcart"] svg{display:block!important;width:17px;height:17px;}
#v2-header .tdb-cartbadge{position:absolute;top:-5px;right:-5px;min-width:17px;height:17px;padding:0 4px;border-radius:999px;background:#F2EFF0;color:#15182E;font-size:10.5px;font-weight:600;display:flex;align-items:center;justify-content:center;line-height:1;box-shadow:0 2px 8px rgba(10,12,26,.35);box-sizing:border-box;}
#v2-header.hdr-light .tdb-cartbadge{background:#2A328A;color:#fff;}
#v2-header .tdb-cartbadge[data-n="0"]{display:none;}
#v2-header [data-rs="hcartlab"]{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;white-space:nowrap!important;}
body.v2-overlay .v2-fp>div[style*="height:112px"]{height:86px!important;}
/* Marge header -> contenu reduite sur TOUTES les pages (Enzo 26/07) : bande 96->62px,
   et padding interne des bandeaux 52-56px -> 26px (les .v2-head du tunnel gardent leur compaction v2-woo) */
body.v2-overlay [style*="padding-top:96px"]{padding-top:62px!important;}
body.v2-overlay [style*="padding-top:96px"]>div[style*="padding:5"]{padding-top:26px!important;}
#v2-footer{padding:34px max(clamp(16px,4.5vw,56px),calc((100% - 1600px)/2)) 18px!important;}
#v2-footer .fgrid{grid-template-columns:1fr 1fr!important;gap:24px 16px!important;}
#v2-footer .fgrid>div{gap:9px!important;}
#v2-footer .fgrid>div:nth-child(1){grid-column:1/-1;gap:12px!important;}
#v2-footer .fgrid>div:nth-child(4){grid-column:1/-1;}
#v2-footer .ftitle{font-size:20px!important;margin-bottom:0!important;}
#v2-footer .fgrid a{font-size:13.5px!important;}
#v2-footer .fgrid p{font-size:13px!important;margin-top:8px!important;}
#v2-footer .fbot{margin-top:22px!important;padding-top:13px!important;}
.v2-assure{flex-direction:column!important;align-items:flex-start!important;gap:8px!important;padding:14px max(clamp(16px,4.5vw,56px),calc((100% - 1600px)/2))!important;}
/* Lisibilite boutons mobile (Enzo 28/07) : boutons globaux footer/menu/legales */
#v2-footer .fnews button{font-size:14px;}
#v2-footer .fnews input{font-size:14px;}
#mobile-menu>a[href*="instagram.com"]{font-size:15px!important;}
.v2-btn{font-size:15.5px;}
}
@media (max-width:430px){
#v2-header [data-rs="burger"]{width:46px!important;}
#v2-header [data-rs="hlogo"]{padding:0 11px!important;}
#v2-header [data-rs="hlogo"] img{height:20px!important;}
#v2-header [data-rs="pill"]{padding:4px 5px!important;}
#v2-header [data-rs="hact"]{gap:3px!important;}
#v2-header [data-rs="hact"] a[aria-label="Mon compte"],#v2-header [data-rs="hact"] a[aria-label="Instagram"],#v2-header [data-rs="hcart"]{width:36px!important;height:36px!important;}
#v2-header [data-rs="hact"] a[aria-label="Mon compte"] svg,#v2-header [data-rs="hact"] a[aria-label="Instagram"] svg,#v2-header [data-rs="hcart"] svg{width:16px;height:16px;}
#v2-header [data-rs="hact"]>div span,#v2-header [data-rs="hact"]>div a{padding:0 8px!important;font-size:11.5px!important;height:30px;}
}
@media (max-width:360px){
#v2-header [data-rs="burger"]{width:44px!important;}
#v2-header [data-rs="hlogo"]{padding:0 10px!important;}
#v2-header [data-rs="hlogo"] img{height:19px!important;}
#v2-header [data-rs="hact"] a[aria-label="Mon compte"],#v2-header [data-rs="hact"] a[aria-label="Instagram"],#v2-header [data-rs="hcart"]{width:34px!important;height:34px!important;}
#v2-header [data-rs="hact"]>div span,#v2-header [data-rs="hact"]>div a{padding:0 7px!important;font-size:11px!important;height:28px;}
}
@media (max-width:340px){
#v2-header [data-rs="burger"]{width:42px!important;}
#v2-header [data-rs="hact"] a[aria-label="Instagram"]{display:none!important;}
#v2-header [data-rs="hact"] a[aria-label="Mon compte"],#v2-header [data-rs="hcart"]{width:32px!important;height:32px!important;}
}

/* ============ Accessibilité / préférences ============ */
@media (prefers-reduced-motion:reduce){
*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;animation-delay:0s!important;transition-duration:.01ms!important;transition-delay:0s!important;scroll-behavior:auto!important;}
}
#v2-header a:focus-visible,#v2-footer a:focus-visible,#mobile-menu a:focus-visible{outline:2px solid #4AA9DF;outline-offset:3px;border-radius:4px;}

/* Grilles produits en blocs Woo (pages pas encore refaites, ex. boutique EN) :
   marges internes des cartes pour que titres et prix ne touchent pas les bords */
.v2-shell .wc-block-grid__product .wc-block-grid__product-title,
.v2-shell .wc-block-grid__product .wc-block-grid__product-price,
.v2-shell .wc-block-grid__product .wc-block-grid__product-add-to-cart,
.v2-shell ul.products li.product .woocommerce-loop-product__title,
.v2-shell ul.products li.product .price{padding-left:16px!important;padding-right:16px!important;}
.v2-shell .wc-block-grid__product .wc-block-grid__product-title{margin-top:12px;}
.v2-shell .wc-block-grid__product{padding-bottom:14px;}
.v2-shell .uc_post_grid_style_one_item .uc_content{padding:12px 16px 16px!important;box-sizing:border-box;}

/* ============ Coquille des pages V2 (header overlay + resets Astra) ============ */
body.v2-overlay #v2-header{position:absolute;top:0;left:0;right:0;}
body.v2-overlay .site-content .ast-container{max-width:none!important;padding:0!important;margin:0!important;display:block!important;}
body.v2-overlay .site-content{padding:0!important;}
body.v2-overlay #primary,body.v2-overlay .ast-article-single,body.v2-overlay .entry-content{margin:0!important;padding:0!important;border:none!important;background:transparent!important;}

/* ============ Passe UI/UX 28/07 : accessibilite + tactile (rendu inchange) ============ */
/* Focus clavier visible partout (double liseret : cyan + halo navy, lisible sur fond clair ET sombre) */
body.v2-overlay :is(a,button,input,select,textarea,[role="button"],[tabindex="0"]):focus-visible{
  outline:2px solid #4AA9DF!important;outline-offset:2px;box-shadow:0 0 0 5px rgba(21,24,46,.35)!important;border-radius:14px;
}
body.v2-overlay :is(input,select,textarea):focus-visible{box-shadow:0 0 0 5px rgba(21,24,46,.18)!important;}
/* Texte lisible par lecteur d'ecran uniquement */
.tdb-sronly{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;white-space:nowrap!important;border:0!important;}
/* Lien d'evitement : invisible jusqu'au focus clavier */
.tdb-skip{position:absolute;left:-9999px;top:0;z-index:9999;background:#F2EFF0;color:#15182E;padding:12px 22px;border-radius:0 0 14px 0;font-family:'Jost',sans-serif;font-size:15px;}
.tdb-skip:focus{left:0;}
/* Zones tactiles etendues sans changement visuel (cibles < 44px) */
#v2-header [data-rs="hact"] a[aria-label],#v2-header [data-rs="hcart"],#v2-header [data-rs="hact"]>div a,#menu-close,#v2-footer .fsoc{position:relative;}
#v2-header [data-rs="hact"] a[aria-label]::after,#v2-header [data-rs="hcart"]::after{content:'';position:absolute;inset:-3px;border-radius:999px;}
#v2-header [data-rs="hact"]>div a::after{content:'';position:absolute;inset:-7px -4px;border-radius:999px;}
#menu-close::after{content:'';position:absolute;inset:-5px;border-radius:999px;}
#v2-footer .fsoc::after{content:'';position:absolute;inset:-3px;border-radius:999px;}
#v2-footer .fgrid a:not(.fsoc){display:inline-block;padding:6px 0;margin:-6px 0;}
#v2-footer .fbot a{display:inline-block;padding:10px 0;margin:-10px 0;}
#mobile-menu>a[href*="instagram.com"]{padding-top:10px!important;padding-bottom:10px!important;margin-top:4px!important;margin-bottom:-10px!important;}
