@font-face{font-family:'Dancing Script';font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/dancing-script-latin-400-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Dancing Script';font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/dancing-script-latin-ext-400-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/cormorant-garamond-latin-400-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/cormorant-garamond-latin-ext-400-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Inter';font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/inter-latin-400-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Inter';font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/inter-latin-ext-400-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
/* Polices auto-hébergées (licence SIL OFL, voir assets/fonts/LICENSE-*.txt) */
/* La galerie WooCommerce est remplacée par l'aperçu du configurateur */
body.mtc-product .woocommerce-product-gallery,
body.mtc-product .wp-block-woocommerce-product-image-gallery,
body.mtc-product .wc-block-product-gallery,
body.mtc-product .wp-block-woocommerce-product-gallery{display:none!important}
/* thèmes à blocs : la colonne de la galerie disparaît, la colonne du configurateur prend toute la largeur */
body.mtc-product .wp-block-columns:has(.wp-block-woocommerce-product-image-gallery,.wc-block-product-gallery,.wp-block-woocommerce-product-gallery)>.wp-block-column:has(.wp-block-woocommerce-product-image-gallery,.wc-block-product-gallery,.wp-block-woocommerce-product-gallery){display:none!important}
body.mtc-product .wp-block-columns:has(.wp-block-woocommerce-product-image-gallery,.wc-block-product-gallery,.wp-block-woocommerce-product-gallery)>.wp-block-column{flex-basis:100%!important}
/* Custom Basket Configurator — styles isolés sous .mtc-wrap pour éviter les conflits avec le thème. */
.mtc-stage-slot,.mtc-wrap{--mtc-ivory:#FAF7F2;--mtc-sand:#F5ECD8;--mtc-brown:#2A1F14;--mtc-terra:#C99E67;--mtc-ink:#1A1612;margin:0 0 1.25rem;color:var(--mtc-ink)}
.mtc-wrap *{box-sizing:border-box}
.mtc-stage-slot .stage,.mtc-wrap .stage{position:relative;background:var(--mtc-sand);border-radius:10px;overflow:hidden;margin-bottom:1rem}
.mtc-stage-slot .stage img,.mtc-wrap .stage img{width:100%;height:auto;display:block}
.mtc-stage-slot .stage svg.overlay,.mtc-wrap .stage svg.overlay{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.mtc-stage-slot .sim-flag,.mtc-wrap .sim-flag{position:absolute;left:10px;top:10px;background:rgba(37,37,34,.82);color:#fff;font-size:.72rem;padding:.25rem .6rem;border-radius:999px}
.mtc-stage-slot .zone-box,.mtc-wrap .zone-box{fill:none;stroke:#fff;stroke-width:2;stroke-dasharray:6 5;opacity:0;transition:opacity .2s}
.mtc-stage-slot .stage.show-zone .zone-box,.mtc-wrap .stage.show-zone .zone-box{opacity:.7}
.mtc-wrap .cfg{background:#fff;border:1px solid var(--mtc-sand);border-radius:10px;padding:1rem 1.1rem}
.mtc-wrap .field{margin:0 0 1rem;padding:0;border:0}
.mtc-wrap legend,.mtc-wrap .field>label{display:block;font-weight:600;font-size:.9rem;margin:0 0 .4rem;padding:0}
.mtc-wrap .opts{display:flex;gap:.5rem;flex-wrap:wrap}
.mtc-wrap .opt{position:relative;font-weight:500}
.mtc-wrap .opt input{position:absolute;opacity:0;inset:0;width:100%;height:100%;margin:0;cursor:pointer}
.mtc-wrap .opt span{display:block;padding:.5rem .95rem;border:1.5px solid #cdbfa9;border-radius:999px;font-size:.9rem;background:#fff}
.mtc-wrap .opt input:checked+span{border-color:var(--mtc-brown);background:var(--mtc-brown);color:#fff}
.mtc-wrap .opt input:focus-visible+span{outline:3px solid var(--mtc-terra);outline-offset:2px}
.mtc-wrap .opt.swatch span{width:36px;height:36px;padding:0;border-radius:50%;border:2px solid #cdbfa9}
.mtc-wrap .opt.swatch input:checked+span{box-shadow:0 0 0 3px #fff,0 0 0 5px var(--mtc-brown)}
.mtc-wrap .opt span.sr,.mtc-wrap .sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);padding:0;border:0}
.mtc-wrap input[type=text]{width:100%}
.mtc-wrap .hint{font-size:.8rem;color:#6b6a62;margin-top:.3rem}
.mtc-wrap .err{color:#a3321c;font-size:.85rem;margin-top:.3rem;min-height:1.2em}
.mtc-wrap .warn{background:#fbeee0;border-left:4px solid var(--mtc-terra);padding:.6rem .8rem;font-size:.85rem;border-radius:4px;margin:.6rem 0 0}
.mtc-wrap .recap{background:var(--mtc-ivory);border-radius:8px;padding:.8rem 1rem;margin:1rem 0;font-size:.9rem}
.mtc-wrap .recap dl{margin:0;display:grid;grid-template-columns:auto 1fr;gap:.2rem .8rem}
.mtc-wrap .recap dt{color:#6b6a62}.mtc-wrap .recap dd{margin:0;text-align:right}
.mtc-wrap .total{display:flex;justify-content:space-between;font-size:1.25rem;font-weight:600;margin:.6rem 0 1rem}
.mtc-wrap .linkbtn{background:none;border:0;color:var(--mtc-brown);text-decoration:underline;cursor:pointer;font:inherit;padding:.3rem 0}
.mtc-thumb svg{max-width:100%;height:auto;display:block}

/* aperçu dans la colonne de la galerie, fixe pendant que l'on défile les options */
.mtc-stage-slot{position:sticky;top:96px;align-self:start}
.mtc-stage-slot .stage{margin:0}
.mtc-wrap input[type=range]{accent-color:var(--mtc-terra);width:100%}

/* messages d'erreur vides : pas d'espace réservé */
.mtc-wrap .err:empty{display:none}
.mtc-wrap .err{min-height:0}
.mtc-wrap .hint:empty{display:none}

/* téléphone : plus compact */
@media(max-width:700px){
  .mtc-stage-slot{position:static}
  .mtc-stage-slot .stage,.mtc-wrap .stage{margin-bottom:.8rem;border-radius:8px}
  /* le bandeau « simulation » passe sous l'image au lieu de la recouvrir */
  .mtc-stage-slot .sim-flag,.mtc-wrap .sim-flag{position:static;display:block;border-radius:0;text-align:center;font-size:.7rem;padding:.35rem .6rem;background:rgba(26,22,18,.88)}
  .mtc-wrap .cfg{padding:.8rem .85rem}
  .mtc-wrap .field{margin-bottom:.75rem}
  .mtc-wrap legend,.mtc-wrap .field>label{font-size:.85rem;margin-bottom:.3rem}
  .mtc-wrap .opts{gap:.35rem}
  .mtc-wrap .opt span{padding:.4rem .75rem;font-size:.85rem}
  .mtc-wrap .opt.swatch span{width:32px;height:32px}
  .mtc-wrap .hint{font-size:.74rem;margin-top:.2rem}
  .mtc-wrap .warn{font-size:.78rem;padding:.45rem .6rem}
  .mtc-wrap .recap{margin:.7rem 0;padding:.6rem .75rem;font-size:.84rem}
  .mtc-wrap .total{font-size:1.1rem;margin:.4rem 0 .7rem}
  .mtc-wrap input[type=text]{padding:.6rem .75rem;font-size:16px} /* 16px : évite le zoom automatique sur iPhone */
}

/* ---------- Aperçu 3D (Three.js) ---------- */
.mtc-stage-slot .mtc3d-tabs{display:flex;gap:.4rem;margin:0 0 .6rem}
.mtc-stage-slot .mtc3d-tabs button{flex:0 0 auto;padding:.4rem 1rem;border:1.5px solid #cdbfa9;border-radius:999px;background:#fff;color:var(--mtc-ink);font:inherit;font-size:.85rem;cursor:pointer}
.mtc-stage-slot .mtc3d-tabs button[aria-pressed=true]{background:var(--mtc-brown);border-color:var(--mtc-brown);color:#fff}
.mtc-stage-slot .mtc3d-tabs button:focus-visible,.mtc-stage-slot .mtc3d-tools button:focus-visible,.mtc3d-canvas:focus-visible{outline:3px solid var(--mtc-terra);outline-offset:2px}
.mtc-stage-slot .mtc3d{position:relative;background:#fff;border:1px solid var(--mtc-sand);border-radius:10px;overflow:hidden}
.mtc-stage-slot .mtc3d[hidden],.mtc-stage-slot .mtc3d-load[hidden],.mtc-stage-slot .stage[hidden]{display:none}
.mtc-stage-slot .mtc3d-view{width:100%;aspect-ratio:1/1;max-height:78vh;touch-action:pan-y}
.mtc-stage-slot .mtc3d-canvas{display:block;width:100%;height:100%;cursor:grab;touch-action:pan-y}
.mtc-stage-slot .mtc3d-canvas.grabbing{cursor:grabbing}
.mtc-stage-slot .mtc3d-load{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#fff;color:#6b6a62;font-size:.9rem}
.mtc-stage-slot .mtc3d-tools{position:absolute;right:10px;top:10px;display:flex;flex-direction:column;gap:6px}
.mtc-stage-slot .mtc3d-tools button{width:40px;height:40px;border-radius:50%;border:1px solid #cdbfa9;background:rgba(255,255,255,.92);color:var(--mtc-ink);font-size:1.1rem;line-height:1;cursor:pointer}
.mtc-stage-slot .mtc3d-flag{margin:0;padding:.45rem .8rem;font-size:.74rem;color:#6b6a62;text-align:center;border-top:1px solid var(--mtc-sand);background:var(--mtc-ivory)}
.mtc-stage-slot .mtc3d-note{margin:0 0 .6rem;padding:.55rem .8rem;font-size:.82rem;background:#fbeee0;border-left:4px solid var(--mtc-terra);border-radius:4px}
@media(max-width:700px){.mtc-stage-slot .mtc3d-view{aspect-ratio:4/3.4}}
@media(prefers-reduced-motion:reduce){.mtc-stage-slot .mtc3d-canvas{cursor:default}}

.mtc-stage-slot .photo-note,.mtc-wrap .photo-note,.photo-note{position:absolute;left:10px;bottom:10px;right:10px;background:rgba(255,255,255,.9);color:#3b342c;font-size:.72rem;padding:.3rem .6rem;border-radius:8px}
.photo-note[hidden]{display:none}

.size-ruler{position:absolute;right:10px;top:10px;background:rgba(37,37,34,.82);color:#fff;font-size:.72rem;padding:.25rem .6rem;border-radius:999px}.size-ruler[hidden]{display:none}
