/* En-tête et pied de page : styles repris tels quels du méga-menu et du pied de page de the-ology.fr (relus le 10/10/2026). */

  /* Work Sans (Google Fonts) retiré le 2026-06-15 — @import render-blocking ; fallback police système */

  /* === Cache l'en-tête natif du thème (on le remplace entièrement) === */
  .section-header{ display:none !important; }

  .theo-mm{
    --bar-bg:#DEDED7;
    --bar-text:#3F5147;
    --bar-text-hover:#1D1D1D;
    --bar-hover-bg:rgba(172,180,172,.55);
    --panel-bg:#FFFFFF;
    --panel-border:#E2E2DC;
    --heading:#3F5147;
    --link:#1D1D1D;
    --link-hover:#3F5147;
    --desc:#606060;
    --gold:#C5A065;
    font-family:'Work Sans',-apple-system,sans-serif;
    background:var(--bar-bg);
    position:relative; z-index:100;
  }
  .theo-mm *{ box-sizing:border-box; }

  /* En-tête intelligent : UNIQUEMENT sur ordinateur (≥990px). Sur mobile : en-tête normal. */
  @media (min-width:990px){
    .theo-mm-section{ position:sticky; top:0; z-index:1000; transition:transform .35s ease; }
    .theo-mm-section.theo-mm--hidden{ transform:translateY(-100%); }
  }

  .theo-mm__inner{
    display:flex; flex-wrap:nowrap; align-items:center; gap:20px;
    max-width:1500px; margin:0 auto; padding:8px 24px;
  }
  .theo-mm__logo{ flex:0 0 auto; display:flex; flex-direction:column; align-items:center; justify-content:center; text-decoration:none; color:var(--bar-text); }
  .theo-mm__logo-img{ display:block; width:auto; height:auto; max-height:54px; }
  .theo-mm__logo-text{ font-size:20px; font-weight:600; letter-spacing:.04em; }
  .theo-mm__logo-home{ font-size:10px; font-weight:600; letter-spacing:.1em; text-transform:uppercase; color:var(--bar-text); opacity:.55; margin-left:0; margin-top:3px; white-space:nowrap; }
  @media (max-width:989px){ .theo-mm__logo-home{ display:none; } }

  .theo-mm__nav{ flex:1 1 auto; display:flex; justify-content:center; min-width:0; }
  .theo-mm__bar{ list-style:none; margin:0; padding:0; display:flex; flex-wrap:wrap; justify-content:center; }
  .theo-mm__item{ position:static; }
  .theo-mm__tab{
    font-family:inherit; font-size:12px; font-weight:600; letter-spacing:.03em;
    color:var(--bar-text); background:transparent; border:0; cursor:pointer;
    text-transform:uppercase; padding:12px 13px; line-height:1.3;
    display:flex; align-items:center; gap:7px; transition:background .15s,color .15s;
  }
  @media (hover:hover){ .theo-mm__tab:hover{ background:var(--bar-hover-bg); color:var(--bar-text-hover); } }
  .theo-mm__caret{ width:5px; height:5px; border-right:1.5px solid currentColor; border-bottom:1.5px solid currentColor; transform:rotate(45deg); margin-top:-3px; transition:transform .2s; opacity:.8; }

  .theo-mm__icons{ flex:0 0 auto; display:flex; align-items:center; gap:16px; }
  .theo-mm__icon{ color:var(--bar-text); display:flex; align-items:center; text-decoration:none; position:relative; }
  .theo-mm__icon svg{ width:22px; height:22px; }
  /* Le panier (icon-cart.svg de Dawn) a du vide interne : on l'agrandit pour la même taille visuelle que les autres */
  .theo-mm__cart svg{ width:27px; height:27px; }
  .theo-mm__cart-count{ position:absolute; top:-7px; right:-9px; min-width:16px; height:16px; padding:0 3px; background:var(--gold); color:#1A1A1A; font-size:10px; font-weight:700; border-radius:9px; display:flex; align-items:center; justify-content:center; line-height:1; }

  /* ---- Panneau méga (desktop) ---- */
  .theo-mm__panel{
    position:absolute; top:100%; left:0; right:0;
    background:var(--panel-bg); border-top:1px solid var(--panel-border);
    box-shadow:0 16px 32px rgba(0,0,0,.08);
    opacity:0; visibility:hidden; transform:translateY(6px);
    transition:opacity .18s ease,transform .18s ease,visibility .18s; z-index:60;
  }
  @media (hover:hover){
    .theo-mm__item:hover .theo-mm__panel{ opacity:1; visibility:visible; transform:translateY(0); }
    .theo-mm__item:hover .theo-mm__caret{ transform:rotate(225deg); }
  }
  .theo-mm__cols{ max-width:1500px; margin:0 auto; display:grid; grid-template-columns:repeat(4,1fr); gap:30px 40px; padding:36px 40px; }
  .theo-mm__heading{ font-size:14px; font-weight:600; color:var(--heading); text-transform:uppercase; letter-spacing:.04em; margin:0 0 16px; padding-bottom:10px; border-bottom:1px solid var(--panel-border); }
  .theo-mm__link{ display:block; text-decoration:none; color:var(--link); font-size:12px; line-height:1.5; padding:7px 0; transition:color .15s,transform .15s; }
  @media (hover:hover){ .theo-mm__link:hover{ color:var(--link-hover); transform:translateX(3px); } }
  .theo-mm__desc{ display:block; color:var(--desc); font-size:11px; line-height:1.4; margin-top:2px; }
  .theo-mm__footer{ display:block; text-align:center; text-decoration:none; text-transform:uppercase; font-size:12px; letter-spacing:.06em; color:var(--heading); font-weight:600; padding:18px; border-top:1px solid var(--panel-border); }
  @media (hover:hover){ .theo-mm__footer:hover{ color:var(--gold); } }

  /* ---- Burger (mobile) ---- */
  .theo-mm__burger{ display:none; align-items:center; justify-content:center; font-size:20px; background:transparent; border:0; color:var(--bar-text); cursor:pointer; padding:6px; }

  /* ---- MOBILE ---- */
  @media (max-width:989px){
    .theo-mm__inner{ flex-wrap:wrap; gap:8px; padding:8px 16px; }
    .theo-mm__burger{ display:flex; order:1; flex:0 0 auto; }
    .theo-mm__logo{ order:2; flex:1 1 auto; justify-content:center; }
    .theo-mm__logo-img{ max-height:44px; }
    .theo-mm__icons{ order:3; flex:0 0 auto; }
    .theo-mm__nav{ order:4; flex:1 1 100%; }
    .theo-mm__bar{ flex-direction:column; display:none; width:100%; }
    .theo-mm.is-open .theo-mm__bar{ display:flex; }
    .theo-mm__item{ border-top:1px solid var(--panel-border); }
    .theo-mm__tab{ width:100%; justify-content:space-between; padding:14px 4px; }
    .theo-mm__panel{ position:static; transform:none; opacity:1; visibility:hidden; box-shadow:none; border-top:0; max-height:0; overflow:hidden; transition:max-height .25s ease; }
    .theo-mm__item.is-open .theo-mm__panel{ visibility:visible; max-height:3000px; }
    .theo-mm__item.is-open .theo-mm__caret{ transform:rotate(225deg); }
    .theo-mm__cols{ grid-template-columns:1fr; gap:18px; padding:6px 4px 18px; }
  }

  /* ===================== FAVORIS (wishlist maison) ===================== */
  .theo-fav-toggle,
  .theo-boutique-toggle{ position:relative; background:none !important; border:0 !important; box-shadow:none !important; cursor:pointer; padding:0; margin:0; color:var(--bar-text); }
  .theo-boutique-toggle:hover{ color:var(--gold); }
  .theo-fav-count{ position:absolute; top:-7px; right:-9px; min-width:16px; height:16px; padding:0 3px; background:var(--gold); color:#1A1A1A; font-size:10px; font-weight:700; border-radius:9px; display:flex; align-items:center; justify-content:center; line-height:1; }
  .theo-fav-count[hidden]{ display:none; }

  .theo-fav-heart{ background:none; border:0; cursor:pointer; padding:4px; line-height:0; color:#576867; vertical-align:middle; }
  .theo-fav-heart svg{ width:26px; height:26px; fill:none; stroke:currentColor; stroke-width:1.6; transition:fill .2s ease, transform .15s ease; }
  .theo-fav-heart:hover svg{ transform:scale(1.12); }
  .theo-fav-heart.is-fav svg{ fill:#576867; stroke:#576867; }
  .theo-fav-heart--pdp{ margin-left:12px; }
  .theo-fav-heart--card{ position:absolute; top:10px; right:10px; z-index:6; padding:6px; background:rgba(255,255,255,.85); border-radius:50%; box-shadow:0 1px 4px rgba(0,0,0,.12); }
  .theo-fav-heart--card svg{ width:20px; height:20px; }
  .theo-fav-heart--card:hover{ background:#fff; }

  .theo-fav-overlay{ position:fixed; top:0; left:0; right:0; bottom:0; width:100%; height:100%; background:rgba(15,15,15,.6); opacity:0; visibility:hidden; transition:opacity .3s, visibility .3s; z-index:100000; }
  .theo-fav-overlay.is-open{ opacity:1; visibility:visible; }
  .theo-fav-drawer{ position:fixed; top:0; right:0; height:100%; width:clamp(320px,50vw,92vw); background:#fff; box-shadow:-12px 0 40px rgba(0,0,0,.2); transform:translateX(100%); transition:transform .32s cubic-bezier(.4,0,.2,1); z-index:100001; display:flex; flex-direction:column; font-family:'Work Sans',sans-serif; color:#1d1d1d; }
  .theo-fav-drawer.is-open{ transform:translateX(0); }
  .theo-fav-head{ display:flex; align-items:center; gap:12px; padding:20px 22px; border-bottom:1px solid #e2e2dc; }
  .theo-fav-close{ flex:0 0 auto; width:38px; height:38px; display:flex; align-items:center; justify-content:center; background:none; border:1px solid rgba(87,104,103,.35); border-radius:50%; cursor:pointer; font-size:1.4rem; color:#1d1d1d; transition:background .2s, color .2s, border-color .2s; }
  .theo-fav-close:hover{ background:#576867; color:#fff; border-color:#576867; }
  .theo-fav-title{ font-size:1rem; font-weight:600; text-transform:uppercase; letter-spacing:.1em; color:#3F5147; }
  .theo-fav-body{ position:relative; flex:1 1 auto; min-height:0; overflow:hidden; }
  .theo-fav-body::before{ content:"茶"; position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); font-size:clamp(200px,28vw,380px); line-height:1; color:rgba(29,29,29,.04); z-index:0; pointer-events:none; user-select:none; }
  .theo-fav-body__inner{ position:relative; z-index:1; height:100%; overflow-y:auto; padding:14px 18px; }
  .theo-fav-empty{ color:#777; font-size:.95rem; line-height:1.7; text-align:center; padding:40px 12px; }
  .theo-fav-item{ display:flex; align-items:center; gap:12px; padding:12px 0; border-bottom:1px solid #eee; }
  .theo-fav-item__img img{ width:56px; height:56px; object-fit:cover; border-radius:4px; display:block; }
  .theo-fav-item__info{ flex:1 1 auto; min-width:0; }
  .theo-fav-item__title{ display:block; color:#1d1d1d; text-decoration:none; font-size:.92rem; line-height:1.4; }
  .theo-fav-item__title:hover{ color:#576867; }
  .theo-fav-item__price{ display:block; color:#576867; font-size:.85rem; margin-top:3px; }
  .theo-fav-item__rm{ flex:0 0 auto; background:none; border:0; cursor:pointer; font-size:1.3rem; color:#aaa; padding:4px; line-height:1; }
  .theo-fav-item__rm:hover{ color:#1d1d1d; }
  body.theo-fav-open{ overflow:hidden; }


  .theo-ft { background:linear-gradient(165deg,#1b211d 0%,#222a25 55%,#2a322d 100%); color:#faf9f7; position:relative; overflow:hidden; font-family:'Hiragino Maru Gothic Pro','ヒラギノ丸ゴ Pro','Hiragino Maru Gothic ProN','Work Sans',sans-serif; font-size:13px; letter-spacing:.02em; line-height:1.6; }
  .theo-ft *, .theo-ft *::before, .theo-ft *::after { box-sizing:border-box; margin:0; padding:0; font-family:inherit; }
  .theo-ft a { text-decoration:none; transition:color .25s ease; }
  .theo-ft::before { content:"茶"; position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); font-size:clamp(260px,42vw,580px); line-height:1; color:rgba(250,249,247,.04); z-index:0; pointer-events:none; user-select:none; }
  .theo-ft > * { position:relative; z-index:1; }

  .theo-ft__nl { padding:56px 40px; text-align:center; border-bottom:1px solid rgba(197,160,101,.15); }
  .theo-ft__nl-inner { max-width:520px; margin:0 auto; }
  .theo-ft__nl h3 { font-size:26px; font-weight:400; color:#576867; letter-spacing:.06em; margin-bottom:10px; }
  .theo-ft__nl p { color:rgba(250,249,247,.5); font-size:12.5px; margin-bottom:24px; font-weight:400; }
  .theo-ft__nl-form { display:flex; max-width:440px; margin:0 auto; }
  .theo-ft__nl-form input[type="email"] { flex:1; background:transparent; border:1px solid rgba(197,160,101,.35); border-right:none; color:#faf9f7; padding:13px 18px; font-size:12.5px; outline:none; letter-spacing:.02em; }
  .theo-ft__nl-form input[type="email"]::placeholder { color:rgba(250,249,247,.3); }
  .theo-ft__nl-form input[type="email"]:focus { border-color:rgba(197,160,101,.7); }
  .theo-ft__nl-form button { background:#576867; border:1px solid #576867; color:#1a1a1a; padding:13px 28px; font-size:10.5px; font-weight:600; letter-spacing:.12em; text-transform:uppercase; cursor:pointer; transition:all .3s ease; white-space:nowrap; }
  .theo-ft__nl-form button:hover { background:transparent; color:#576867; }
  .theo-ft__nl-ok { color:#576867; font-size:12.5px; margin-top:14px; font-weight:400; }

  .theo-ft__grid { display:grid; grid-template-columns:2.2fr 1fr 1.5fr 1.2fr; gap:40px; padding:56px 48px; max-width:1200px; margin:0 auto; }

  .theo-ft__col h4 { font-size:16px; font-weight:500; color:#576867; letter-spacing:.08em; text-transform:uppercase; margin-bottom:20px; }
  .theo-ft__col a { display:block; color:rgba(250,249,247,.6); font-size:12.5px; margin-bottom:10px; font-weight:400; }
  .theo-ft__col a:hover { color:#576867; }

  .theo-ft__brand-tagline { font-size:17px; color:rgba(250,249,247,.7); font-weight:400; margin-bottom:16px; line-height:1.5; }
  .theo-ft__brand-desc { color:rgba(250,249,247,.4); font-size:12px; line-height:1.8; margin-bottom:20px; font-weight:400; }
  .theo-ft__brand-email { color:#576867; font-size:12.5px; font-weight:400; letter-spacing:.03em; }
  .theo-ft__brand-email:hover { color:#faf9f7; }

  .theo-ft__sub { color:rgba(250,249,247,.3); font-size:11px; margin-top:-6px; margin-bottom:14px; font-weight:400; }

  .theo-ft__social { display:flex; gap:12px; margin-top:8px; flex-wrap:wrap; }
  .theo-ft__social a { display:inline-flex; align-items:center; justify-content:center; width:38px; height:38px; border:1px solid rgba(197,160,101,.25); border-radius:50%; color:rgba(250,249,247,.6); margin-bottom:0; }
  .theo-ft__social a:hover { border-color:#576867; background:rgba(197,160,101,.08); color:#576867; }
  .theo-ft__social svg { width:15px; height:15px; fill:currentColor; }

  .theo-ft__sep { width:60px; height:1px; background:rgba(197,160,101,.25); margin:0 auto 40px; }

  @media(max-width:900px){
    .theo-ft__grid { grid-template-columns:1fr 1fr; gap:32px; padding:40px 28px; }
    .theo-ft__nl { padding:40px 24px; }
  }
  @media(max-width:520px){
    .theo-ft__grid { grid-template-columns:1fr; gap:28px; padding:36px 20px; }
    .theo-ft__nl-form { flex-direction:column; }
    .theo-ft__nl-form input[type="email"] { border-right:1px solid rgba(197,160,101,.35); border-bottom:none; }
    .theo-ft__social { justify-content:flex-start; }
  }

  /* Barre du bas : paiements + légal */
  .theo-ft__bottom { padding:4px 40px 42px; text-align:center; }
  .theo-ft__pay { display:flex; flex-wrap:wrap; gap:8px; justify-content:center; margin-bottom:22px; }
  .theo-ft__pay-ic { height:24px; width:auto; border-radius:4px; }
  .theo-ft__legal { display:flex; flex-wrap:wrap; justify-content:center; align-items:center; gap:7px 14px; max-width:920px; margin:0 auto; }
  .theo-ft__copy { color:rgba(250,249,247,.5); font-size:11.5px; }
  .theo-ft__legal a, .theo-ft__cookie { color:rgba(250,249,247,.5); font-size:11.5px; font-weight:400; background:none; border:0; cursor:pointer; font-family:inherit; letter-spacing:.02em; padding:0; line-height:1.6; }
  .theo-ft__legal a:hover, .theo-ft__cookie:hover { color:#576867; }
  .theo-ft__retract { color:#576867 !important; font-weight:600 !important; }
  .theo-ret-field { width:100%; padding:12px 14px; border:1px solid rgba(40,52,45,.3); border-radius:6px; font:inherit; font-size:14px; margin:0 0 12px; box-sizing:border-box; background:#fff; color:#1a1a1a; }
  .theo-ret-btn { display:inline-block; background:#2a322d; color:#fff; border:0; padding:13px 24px; font:inherit; font-size:12px; letter-spacing:.12em; text-transform:uppercase; border-radius:3px; cursor:pointer; }
  .theo-ret-btn:hover { opacity:.88; }
  .theo-ret-btn--ghost { background:none; color:#2a322d; border:1px solid rgba(40,52,45,.35); margin-left:10px; }
  .theo-ret-recap { background:#faf9f6; border-left:3px solid #576867; padding:12px 14px; line-height:1.7; }

  /* Panneau latéral des pages légales */
  .theo-pol-panel, .theo-pol-panel * { box-sizing:border-box; font-family:'Hiragino Maru Gothic Pro','ヒラギノ丸ゴ Pro','Work Sans',sans-serif; }
  .theo-pol-head { display:flex; justify-content:flex-end; padding:16px 18px 0; flex:0 0 auto; }
  .theo-pol-close { width:40px; height:40px; display:flex; align-items:center; justify-content:center; background:#fff; border:1px solid rgba(40,52,45,.25); border-radius:50%; cursor:pointer; font-size:1.5rem; line-height:1; color:#2a322d; }
  .theo-pol-close:hover { background:#2a322d; color:#fff; }
  .theo-pol-body { padding:6px 36px 54px; overflow-y:auto; flex:1 1 auto; min-height:0; }
  .theo-pol-title { font-size:1.6rem; font-weight:400; color:#1a1a1a; margin:0 0 22px; letter-spacing:.01em; }
  .theo-pol-content { color:#454545; font-size:14px; line-height:1.85; }
  .theo-pol-content h1, .theo-pol-content h2, .theo-pol-content h3, .theo-pol-content h4 { color:#1a1a1a; font-weight:500; margin:1.5em 0 .5em; line-height:1.3; }
  .theo-pol-content p { margin:0 0 1em; }
  .theo-pol-content a { color:#576867; text-decoration:underline; }
  .theo-pol-content ul, .theo-pol-content ol { margin:0 0 1em 1.2em; }
  .theo-pol-content li { margin:0 0 .4em; }

/* --- Ajouts Atelier Mikazukidō --- */
.mkz-annonce{background:radial-gradient(rgb(35,43,39),rgba(33,41,37,.91) 100%);border-bottom:1px solid rgba(37,37,37,.08);text-align:center;padding:7px 16px}
.mkz-annonce p{margin:0;padding:10px 0;color:#fff;font-family:"Hiragino Kaku Gothic ProN","Hiragino Maru Gothic Pro",'Work Sans',sans-serif;font-size:13px;letter-spacing:1px;font-weight:400;line-height:1.4}
@media (max-width:749px){.mkz-annonce p{font-size:11px;letter-spacing:.5px}}
.mkz-logo{display:flex;align-items:stretch;border:1px solid #3F5147;color:#3F5147;font-family:"Hiragino Kaku Gothic ProN","Hiragino Maru Gothic Pro",'Work Sans',sans-serif;line-height:1}
.mkz-logo__nom{display:flex;flex-direction:column;justify-content:center;padding:6px 9px;font-size:11px;letter-spacing:.18em;font-weight:600;text-transform:uppercase;gap:4px}
.mkz-logo__nom small{font-size:8.5px;letter-spacing:.3em;font-weight:500}
.mkz-logo__kanji{writing-mode:vertical-rl;border-left:1px solid #3F5147;padding:5px 6px;font-size:11px;letter-spacing:.12em;font-weight:600}
.theo-mm__icons{display:flex;align-items:center;gap:10px;flex:0 0 auto}
.mkz-devis{font-family:'Work Sans',-apple-system,sans-serif;font-size:11.5px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;text-decoration:none;color:#fff;background:#3F5147;padding:11px 16px;white-space:nowrap;transition:background .2s}
.mkz-devis:hover{background:#2a322d;color:#fff}
@media (max-width:989px){.mkz-devis{font-size:10.5px;padding:9px 11px}}
.theo-ft::before{content:"継"}
