/* NomDeMarque — header & footer communs (boutique, catégories, fiches produit),
   identiques à ceux de la page d'accueil */

.wp-block-template-part{ display:none !important; }

/* empêche le défilement horizontal parasite causé par les éléments
   hors-écran de WooCommerce (tiroir mini-panier, zoom galerie, etc.) */
html, body{ overflow-x:hidden; max-width:100vw; }

.mic-promo-bar{ background:#1E3A5F; color:#fff; border-bottom:1px solid rgba(0,0,0,.1); font-family:"Inter",-apple-system,sans-serif; overflow:hidden; }
.mic-promo-rotator{ position:relative; height:36px; }
.mic-promo-rotator p{
  margin:0; position:absolute; inset:0; display:flex; align-items:center; justify-content:center;
  font-size:11px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; text-align:center;
  padding:0 1rem; white-space:nowrap; opacity:0; transform:translateY(6px);
  transition:opacity .5s ease, transform .5s ease; pointer-events:none;
}
.mic-promo-rotator p.is-active{ opacity:1; transform:translateY(0); pointer-events:auto; }
@media (prefers-reduced-motion: reduce){ .mic-promo-rotator p{ transition:none; } }

.mic-site-header{ position:sticky; top:0; z-index:40; background:rgba(250,249,247,.92); backdrop-filter:blur(8px); border-bottom:1px solid #e7e2da; font-family:"Inter",-apple-system,sans-serif; }
.mic-site-header .mic-inner{ max-width:1600px; margin:0 auto; padding:0 1.5rem; }
@media (min-width:1024px){ .mic-site-header .mic-inner{ padding:0 4rem; } }
.mic-site-header-row{ height:72px; display:flex; align-items:center; justify-content:space-between; gap:1rem; }
.mic-site-brand{ flex:1; text-align:center; font-size:18px; font-weight:700; letter-spacing:.18em; text-transform:uppercase; color:#161311; text-decoration:none; white-space:nowrap; }
.mic-nav-right{ flex:0 0 auto; display:flex; align-items:center; justify-content:flex-end; gap:1.2rem; width:32px; }
.mic-nav-right > a{ color:#161311; display:flex; align-items:center; }
.mic-cart-link{ position:relative; }
.mic-cart-badge{ position:absolute; top:-6px; right:-8px; background:#161311; color:#fff; font-size:10px; font-weight:700; width:16px; height:16px; border-radius:999px; display:flex; align-items:center; justify-content:center; }

.mic-footer{ background:#0d0d0d; color:#fff; font-family:"Inter",-apple-system,sans-serif; }
.mic-footer .mic-inner{ max-width:1600px; margin:0 auto; padding:0 1.5rem; }
@media (min-width:1024px){ .mic-footer .mic-inner{ padding:0 4rem; } }
.mic-eyebrow-dark{ font-size:11px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:rgba(255,255,255,.7); display:block; margin-bottom:1rem; }
.mic-footer-newsletter{ display:flex; flex-direction:column; gap:1.2rem; padding:3rem 0; border-bottom:1px solid rgba(255,255,255,.12); }
@media (min-width:900px){ .mic-footer-newsletter{ flex-direction:row; align-items:center; justify-content:space-between; } }
.mic-footer-newsletter h3{ font-size:22px; font-weight:400; margin:.3rem 0 .5rem; color:#fff; }
.mic-footer-newsletter p{ font-size:13.5px; color:rgba(255,255,255,.75); margin:0; }
@media (min-width:560px){ .mic-footer-newsletter h3, .mic-footer-newsletter p{ white-space:nowrap; } }
.mic-newsletter-form{ display:flex; gap:.5rem; max-width:420px; width:100%; }
.mic-newsletter-form input{ flex:1; height:46px; padding:0 1rem; border:1px solid rgba(255,255,255,.25); background:rgba(255,255,255,.08); color:#fff; font-size:13px; }
.mic-newsletter-form input::placeholder{ color:rgba(255,255,255,.55); }
.mic-newsletter-form button{ height:46px; padding:0 1.4rem; background:#fff; color:#0d0d0d; font-size:11px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; border:none; }
.mic-footer-grid{ display:grid; grid-template-columns:1fr; gap:2rem; padding:3rem 0; }
@media (min-width:700px){ .mic-footer-grid{ grid-template-columns:repeat(4,1fr); } }
.mic-footer-grid h4{ font-size:11px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; margin:0 0 1rem; color:#fff; }
.mic-footer-grid ul{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:.6rem; }
.mic-footer-grid a{ color:rgba(255,255,255,.75); text-decoration:none; font-size:13.5px; }
.mic-footer-grid a:hover{ color:#fff; text-decoration:underline; text-underline-offset:3px; }
.mic-footer-grid li{ font-size:13.5px; color:rgba(255,255,255,.75); }
.mic-footer-about{ font-size:13.5px; color:rgba(255,255,255,.75); margin:0; max-width:32ch; }
.mic-footer-bottom{ display:flex; flex-direction:column; gap:1rem; padding:1.5rem 0; border-top:1px solid rgba(255,255,255,.12); font-size:12px; color:rgba(255,255,255,.7); }
@media (min-width:700px){ .mic-footer-bottom{ flex-direction:row; align-items:center; justify-content:space-between; } }
.mic-footer-payments{ display:flex; gap:.6rem; }
.mic-footer-payments span{ border:1px solid rgba(255,255,255,.25); background:rgba(255,255,255,.08); color:#fff; padding:.3rem .6rem; font-size:10px; font-weight:700; text-transform:uppercase; }

.material-symbols-outlined{
  font-family:'Material Symbols Outlined'; font-weight:normal; font-style:normal; font-size:20px; line-height:1;
  letter-spacing:normal; text-transform:none; display:inline-block; white-space:nowrap; word-wrap:normal; direction:ltr;
  -webkit-font-feature-settings:'liga'; -webkit-font-smoothing:antialiased;
}

/* Menu hamburger : ouvre le panneau latéral gauche (toutes tailles d'écran) */
.mic-menu-toggle{
  display:flex; align-items:center; justify-content:center; width:32px; height:32px;
  background:none; border:none; padding:0; cursor:pointer; color:inherit; flex-shrink:0; position:relative;
}

/* --- Panneau latéral gauche : navigation + conversion --- */
.mic-drawer-overlay{
  position:fixed; inset:0; background:rgba(22,19,17,.5); z-index:69;
  opacity:0; pointer-events:none; transition:opacity .3s ease;
}
.mic-drawer{
  position:fixed; top:0; left:0; bottom:0; width:min(380px,88vw); z-index:70;
  background:#faf9f7; box-shadow:0 0 48px rgba(0,0,0,.25);
  transform:translateX(-100%); transition:transform .35s cubic-bezier(.16,1,.3,1);
  display:flex; flex-direction:column; overflow-y:auto; padding:1.5rem 1.5rem 2rem;
  font-family:"Montserrat",sans-serif;
}
.mic-drawer-search input{ font-family:"Montserrat",sans-serif; font-weight:400; }
.mic-drawer-promo-text{ font-weight:600 !important; }
.mic-drawer-account a{ font-weight:500; }
.mic-drawer-trust div{ font-weight:500; }
body.mic-drawer-open .mic-drawer{ transform:translateX(0); }
body.mic-drawer-open .mic-drawer-overlay{ opacity:1; pointer-events:auto; }
body.mic-drawer-open{ position:fixed; left:0; right:0; width:100%; overflow:hidden; }
.mic-drawer{ touch-action:pan-y; overscroll-behavior:contain; }
.mic-drawer-overlay{ touch-action:none; }

.mic-drawer-head{
  display:flex; align-items:center; justify-content:space-between; margin:-1.5rem -1.5rem 1.5rem;
  padding:1.3rem 1.5rem; border-bottom:1px solid #e7e2da;
}
.mic-drawer-head .mic-site-brand{ flex:none; color:#1E3A5F !important; }
.mic-drawer-close{
  display:flex; align-items:center; justify-content:center; width:32px; height:32px;
  background:none; border:none; padding:0; cursor:pointer; color:#161311; transition:color .2s ease;
}
.mic-drawer-close:hover{ color:#1E3A5F; }

.mic-drawer-search{
  display:flex; align-items:center; gap:.5rem; background:#f4f4f3; border:1px solid #e7e2da;
  padding:.7rem .9rem; margin-bottom:1.5rem; border-radius:12px;
}
.mic-drawer-search input{ border:none; background:transparent; outline:none; font-size:14px; width:100%; color:#161311; }
.mic-drawer-search input:-webkit-autofill,
.mic-drawer-search input:-webkit-autofill:hover,
.mic-drawer-search input:-webkit-autofill:focus{
  -webkit-text-fill-color:#161311;
  -webkit-box-shadow:0 0 0 1000px #f4f4f3 inset;
  transition:background-color 5000s ease-in-out 0s;
}
.mic-drawer-search .material-symbols-outlined{ font-size:19px; color:#6b665d; }

.mic-drawer-promo{
  display:flex; flex-direction:column; gap:.4rem; text-decoration:none;
  background:#E8622C; color:#fff; padding:1.1rem 1.2rem; margin-bottom:1.5rem;
  border-radius:16px; transition:transform .25s ease, box-shadow .25s ease;
}
.mic-drawer-promo:hover{ transform:translateY(-2px); box-shadow:0 14px 30px -14px rgba(232,98,44,.6); }
.mic-drawer-promo-badge{
  align-self:flex-start; background:#fff; color:#E8622C; font-size:11px; font-weight:800;
  letter-spacing:.06em; padding:.2rem .55rem; border-radius:999px;
}
.mic-drawer-promo-text{ font-size:15px; font-weight:700; line-height:1.3; font-family:"Montserrat",sans-serif; }
.mic-drawer-promo-cta{
  display:flex; align-items:center; gap:.3rem; font-size:12px; font-weight:700;
  text-transform:uppercase; letter-spacing:.05em; margin-top:.2rem;
}
.mic-drawer-promo-cta .material-symbols-outlined{ font-size:16px; }

.mic-drawer-nav{ display:flex; flex-direction:column; margin-bottom:1.5rem; border-top:1px solid #e7e2da; }
.mic-drawer-nav a{
  padding:.9rem 0; border-bottom:1px solid #e7e2da; color:#161311; text-decoration:none;
  font-size:15px; font-weight:500; display:flex; align-items:center; justify-content:space-between;
  font-family:"Montserrat",sans-serif; transition:color .2s ease, padding-left .2s ease;
}
.mic-drawer-nav a:hover{ color:#1E3A5F; padding-left:.3rem; }
.mic-drawer-nav a:first-child{ font-weight:600; }

.mic-drawer-account{ display:flex; flex-direction:column; gap:.2rem; margin-bottom:1.5rem; }
.mic-drawer-account a{
  display:flex; align-items:center; gap:.6rem; padding:.6rem 0; color:#161311; text-decoration:none; font-size:14px;
  transition:color .2s ease;
}
.mic-drawer-account a:hover{ color:#1E3A5F; }
.mic-drawer-account .material-symbols-outlined{ font-size:19px; color:#1E3A5F; }

.mic-drawer-trust{ display:flex; flex-direction:column; gap:.7rem; margin-top:auto; padding-top:1.2rem; border-top:1px solid #e7e2da; }
.mic-drawer-trust div{ display:flex; align-items:center; gap:.6rem; font-size:12.5px; color:#1E3A5F; }

/* ===================== Mon compte (Mon compte / connexion / tableau de bord) ===================== */
body.woocommerce-account{ background:#faf9f7; font-family:"Inter",-apple-system,sans-serif; }
body.woocommerce-account #page > .wp-block-group,
body.woocommerce-account main{
  max-width:1600px; margin:0 auto; padding:3rem 1.5rem 5rem;
}
@media (min-width:1024px){
  body.woocommerce-account #page > .wp-block-group, body.woocommerce-account main{ padding:4rem 4rem 6rem; }
}

body.woocommerce-account h1.entry-title,
body.woocommerce-account .entry-title,
body.woocommerce-account h1.wp-block-post-title{
  font-family:"Montserrat",sans-serif; font-weight:800; font-size:clamp(1.8rem,3vw,2.4rem);
  letter-spacing:-0.01em; color:#161311; margin:0 0 2rem;
}

/* connexion / inscription : deux colonnes cartes, façon boutique */
.woocommerce-account .woocommerce-form-login,
.woocommerce-account .woocommerce-form-register,
.woocommerce-account .woocommerce-form-lost_password{
  background:#fff; border:1px solid #e7e2da; border-radius:14px; padding:2rem; max-width:460px;
}
.woocommerce-account .u-column1, .woocommerce-account .u-column2{ max-width:460px; }
.woocommerce-account form h3{ font-family:"Montserrat",sans-serif; font-weight:700; font-size:15px; margin:0 0 1rem; }

.woocommerce-account .form-row label{ font-size:13px; font-weight:600; color:#3a352f; margin-bottom:.4rem; display:block; }
.woocommerce-account .woocommerce-input-wrapper{ display:block; }
.woocommerce-account input.input-text,
.woocommerce-account input[type="text"],
.woocommerce-account input[type="email"],
.woocommerce-account input[type="password"],
.woocommerce-account textarea,
.woocommerce-account select{
  width:100%; height:46px; padding:0 1rem; border:1px solid #e7e2da; border-radius:10px;
  font-size:14px; color:#161311; background:#faf9f7; transition:border-color .15s ease;
}
.woocommerce-account textarea{ height:auto; padding:.8rem 1rem; }
.woocommerce-account input.input-text:focus,
.woocommerce-account select:focus,
.woocommerce-account textarea:focus{ outline:none; border-color:#1E3A5F; background:#fff; }
.woocommerce-account .show-password-input{ top:14px !important; }

.woocommerce-account .woocommerce-form-login__rememberme{ font-size:13px; color:#3a352f; display:flex; align-items:center; gap:.4rem; }
.woocommerce-account .woocommerce-LostPassword{ font-size:13px; margin-top:1rem; }
.woocommerce-account .woocommerce-LostPassword a{ color:#1E3A5F; text-decoration:underline; text-underline-offset:3px; }

/* boutons : même style que "Ajouter au panier" (bleu marine, coins arrondis) */
.woocommerce-account button.button,
.woocommerce-account input.button,
.woocommerce-account a.button,
.woocommerce-account .button{
  display:inline-flex; align-items:center; justify-content:center; height:46px; padding:0 1.6rem;
  background:#1E3A5F !important; color:#fff !important; border:1px solid #1E3A5F !important; border-radius:10px !important;
  font-family:"Montserrat",sans-serif; font-size:12px; font-weight:700; letter-spacing:.06em; text-transform:uppercase;
  box-shadow:none !important; transition:background .15s ease; text-decoration:none;
}
.woocommerce-account button.button:hover,
.woocommerce-account input.button:hover,
.woocommerce-account a.button:hover,
.woocommerce-account .button:hover{ background:#16304f !important; }

/* navigation du tableau de bord (Tableau de bord / Commandes / Adresses / ...) */
/* tableau de bord (connecté) : sidebar verticale + contenu, façon appli
   moderne — ne s'applique que quand la nav existe (pas sur le formulaire
   de connexion, qui n'a pas de sidebar) */
.woocommerce-account .woocommerce:has(.woocommerce-MyAccount-navigation){
  display:flex; flex-direction:column; gap:2.5rem; align-items:flex-start;
}
@media (min-width:820px){
  .woocommerce-account .woocommerce:has(.woocommerce-MyAccount-navigation){ flex-direction:row; gap:3.5rem; }
}

.woocommerce-MyAccount-navigation{
  width:100%; flex:none; margin:0; border:1px solid #e7e2da; border-radius:16px;
  background:#fff; padding:.6rem; overflow:hidden;
}
@media (min-width:820px){ .woocommerce-MyAccount-navigation{ width:240px; position:sticky; top:100px; } }
.woocommerce-MyAccount-navigation ul{ display:flex; flex-direction:column; gap:.15rem; list-style:none; margin:0; padding:0; }
.woocommerce-MyAccount-navigation li{ margin:0; }
.woocommerce-MyAccount-navigation a{
  display:flex; align-items:center; gap:.7rem; font-family:"Montserrat",sans-serif; font-size:13.5px; font-weight:600;
  letter-spacing:.01em; color:#6b665d; text-decoration:none; padding:.8rem .9rem; border-radius:10px;
  transition:background .15s ease, color .15s ease;
}
.woocommerce-MyAccount-navigation a::before{
  font-family:'Material Symbols Outlined'; font-size:19px; line-height:1; font-weight:normal; font-style:normal;
  letter-spacing:normal; text-transform:none; -webkit-font-smoothing:antialiased; color:#a3a3a3; transition:color .15s ease;
}
.woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link--dashboard a::before{ content:"grid_view"; }
.woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link--orders a::before{ content:"receipt_long"; }
.woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link--edit-address a::before{ content:"location_on"; }
.woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link--edit-account a::before{ content:"person"; }
.woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link--customer-logout a::before{ content:"logout"; }
.woocommerce-MyAccount-navigation a:hover{ background:#faf9f7; color:#161311; }
.woocommerce-MyAccount-navigation a:hover::before{ color:#6b665d; }
.woocommerce-MyAccount-navigation li.is-active a{ background:#1E3A5F; color:#fff; }
.woocommerce-MyAccount-navigation li.is-active a::before{ color:#fff; }
.woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link--customer-logout{
  margin-top:.4rem; padding-top:.4rem; border-top:1px solid #e7e2da;
}
.woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link--customer-logout a{ color:#7A2E3B; }
.woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link--customer-logout a::before{ color:#7A2E3B; }
.woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link--customer-logout a:hover{ background:#7A2E3B; color:#fff; }
.woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link--customer-logout a:hover::before{ color:#fff; }

.woocommerce-MyAccount-content{ flex:1; min-width:0; font-size:14px; line-height:1.7; color:#3a352f; max-width:760px; }
.woocommerce-MyAccount-content mark{ background:none; color:#161311; font-weight:600; }
.woocommerce-MyAccount-content a{ color:#1E3A5F; text-decoration:underline; text-underline-offset:3px; }

/* tableaux (commandes, adresses) */
.woocommerce-account table.shop_table{
  width:100%; border-collapse:collapse; font-size:13.5px; margin:0 0 2rem; border:1px solid #e7e2da; border-radius:10px; overflow:hidden;
}
.woocommerce-account table.shop_table thead th{
  background:#faf9f7; text-align:left; font-family:"Montserrat",sans-serif; font-size:11px; font-weight:700;
  letter-spacing:.06em; text-transform:uppercase; color:#6b665d; padding:.9rem 1.1rem; border-bottom:1px solid #e7e2da;
}
.woocommerce-account table.shop_table td{ padding:.9rem 1.1rem; border-bottom:1px solid #e7e2da; color:#3a352f; }
.woocommerce-account table.shop_table tr:last-child td{ border-bottom:none; }
.woocommerce-account table.shop_table .button{ height:36px; padding:0 1rem; font-size:11px; }

/* cartes d'adresse (Adresse de facturation / livraison) */
.woocommerce-account .woocommerce-Addresses{ display:grid; grid-template-columns:1fr; gap:1.5rem; }
@media (min-width:700px){ .woocommerce-account .woocommerce-Addresses{ grid-template-columns:1fr 1fr; } }
.woocommerce-account .woocommerce-Address{
  background:#fff; border:1px solid #e7e2da; border-radius:14px; padding:1.6rem;
}
.woocommerce-account .woocommerce-Address-title{ display:flex; align-items:center; justify-content:space-between; margin-bottom:1rem; }
.woocommerce-account .woocommerce-Address-title h3{ font-family:"Montserrat",sans-serif; font-weight:700; font-size:14px; margin:0; }
.woocommerce-account .woocommerce-Address-title .edit{ font-size:12px; color:#1E3A5F; text-decoration:underline; text-underline-offset:3px; }
.woocommerce-account address{ font-style:normal; font-size:14px; line-height:1.7; color:#3a352f; }

/* messages (succès / info / erreur) */
.woocommerce-account .woocommerce-message,
.woocommerce-account .woocommerce-info{
  background:#fff; border:1px solid #e7e2da; border-left:3px solid #1E3A5F; border-radius:10px;
  padding:1rem 1.3rem; font-size:13.5px; color:#161311; list-style:none; display:flex; align-items:center;
  justify-content:space-between; gap:1rem; flex-wrap:wrap; margin:0 0 2rem;
}
.woocommerce-account .woocommerce-error{
  background:#fff; border:1px solid #e7e2da; border-left:3px solid #7A2E3B; border-radius:10px;
  padding:1rem 1.3rem; font-size:13.5px; color:#7A2E3B; list-style:none; margin:0 0 2rem;
}
.woocommerce-account .woocommerce-error li{ margin:0; }

/* bannières de notice (blocs WooCommerce) : même style sobre que les autres messages */
.woocommerce-account .wc-block-components-notice-banner{
  background:#fff !important; border:1px solid #e7e2da !important; border-left:3px solid #1E3A5F !important;
  border-radius:10px !important; padding:1rem 1.3rem !important; font-size:13.5px; color:#161311 !important;
  margin:0 0 1.2rem !important; display:flex; align-items:center; gap:1rem; box-shadow:none !important;
}
.woocommerce-account .wc-block-components-notice-banner.is-error{ border-left-color:#7A2E3B !important; }
.woocommerce-account .wc-block-components-notice-banner svg{ fill:#1E3A5F; flex:none; width:20px; height:20px; }
.woocommerce-account .wc-block-components-notice-banner.is-error svg{ fill:#7A2E3B; }
.woocommerce-account .wc-block-components-notice-banner__content{ flex:1; color:#161311; }
.woocommerce-account .wc-block-components-notice-banner__content a:not(.button){
  color:#1E3A5F; text-decoration:underline; text-underline-offset:3px;
}
.wc-block-components-notice-banner > .wc-block-components-notice-banner__content a.button.wc-forward{
  float:none; opacity:1; text-decoration:none !important; margin:0 !important;
  background:#1E3A5F !important; color:#fff !important; padding:0 1.6rem !important;
  height:38px; display:inline-flex; align-items:center; border-radius:10px !important;
}
.woocommerce-account .wc-block-components-notice-banner__dismiss{ display:none; }

/* ===================== Checkout : résumé de commande ===================== */
/* la sidebar WooCommerce a un padding gauche/droite asymétrique par défaut —
   on reprend tout nous-mêmes pour une marge identique partout, façon carte */
.wc-block-checkout__sidebar{
  padding:1.6rem !important; border:1px solid #e7e2da; border-radius:14px; background:#fff;
}
.wc-block-checkout__sidebar .wc-block-components-totals-wrapper,
.wc-block-checkout__sidebar .wc-block-components-checkout-order-summary__content,
.wc-block-checkout__sidebar .wc-block-components-checkout-order-summary__title,
.wc-block-checkout__sidebar .wc-block-components-order-summary,
.wc-block-checkout__sidebar .wc-block-components-order-summary-item{
  padding-left:0 !important; padding-right:0 !important;
}
.wc-block-checkout__sidebar .wp-block-woocommerce-checkout-order-summary-block{ border:none !important; }
.wc-block-checkout__sidebar .wc-block-components-totals-wrapper::before{ margin:0 !important; }
.mic-drawer-trust .material-symbols-outlined{ font-size:18px; color:#1E3A5F; }
