.mcora-page { --mcora-gold:#b69a61; --mcora-ink:#171817; width:min(1560px,calc(100% - 56px)); max-width:none!important; margin:22px auto 100px; color:var(--mcora-ink); }
.mcora-page * { box-sizing:border-box; }
.mcora-page>form.cart { display:block!important; width:100%!important; max-width:none!important; margin:0!important; padding:0!important; }
.mcora-studio { display:grid; grid-template-columns:minmax(0,1.23fr) minmax(370px,.77fr); gap:clamp(24px,4vw,70px); width:100%; font-family:inherit; }
.mcora-studio [hidden] { display:none!important; }
.mcora-studio button { cursor:pointer; font-family:inherit; text-transform:none; box-shadow:none; }
.mcora-studio button:focus-visible,.mcora-studio input:focus-visible,.mcora-page summary:focus-visible { outline:2px solid var(--mcora-gold); outline-offset:3px; }
.mcora-studio__eyebrow { font-size:10px; font-weight:750; letter-spacing:.23em; line-height:1.5; }
.mcora-studio__scene { position:sticky; top:20px; height:min(780px,calc(100vh - 40px)); min-height:570px; overflow:hidden; background:radial-gradient(ellipse 55% 57% at 50% 44%,#fcfbf8 0%,#f3f1ed 72%,#eae7e1 100%); border:1px solid #e9e6e0; }
.mcora-studio__scene::after { content:''; position:absolute; inset:0; pointer-events:none; background:linear-gradient(90deg,rgba(200,190,170,.05),transparent 35%,rgba(230,223,207,.07)); }
.mcora-studio__scene-head,.mcora-studio__scene-foot { position:absolute; z-index:3; left:clamp(18px,3vw,36px); right:clamp(18px,3vw,36px); display:flex; justify-content:space-between; align-items:center; gap:12px; }
.mcora-studio__scene-head { top:27px; }
.mcora-studio__scene-counter { font-size:11px; letter-spacing:.15em; }
.mcora-studio__scene-foot { bottom:27px; font-size:11px; font-weight:600; color:#69665f; letter-spacing:.06em; }
.mcora-studio__view-name { color:#272722; font-weight:800; font-size:10px; letter-spacing:.2em; text-align:right; }
.mcora-studio__canvas,.mcora-studio__fallback { position:absolute; inset:0; width:100%; height:100%; }
.mcora-studio__canvas { cursor:grab; touch-action:pan-y; }
.mcora-studio__canvas:active { cursor:grabbing; }
.mcora-studio__canvas canvas { display:block; width:100%; height:100%; }
.mcora-turntable { position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); user-select:none; pointer-events:none; }
.mcora-turntable__photo,.mcora-turntable__design { position:absolute; inset:0; display:block; width:100%; height:100%; object-fit:contain; }
.mcora-turntable__photo { -webkit-user-drag:none; }
.mcora-studio__fallback>img { width:100%; height:100%; object-fit:contain; }
.mcora-studio__fallback-art { position:absolute; overflow:hidden; }
.mcora-studio__fallback-art img,.mcora-studio__fallback-art span { position:absolute; transform:translate(-50%,-50%); max-width:none; }
.mcora-studio__fallback-art span { font-weight:800; line-height:1; text-align:center; max-width:100%; overflow-wrap:anywhere; }
.mcora-studio__panel { padding:clamp(6px,1.5vw,22px) 0 16px; min-width:0; }
.mcora-studio__product-head { display:flex; justify-content:space-between; align-items:center; gap:12px; margin-bottom:16px; color:#93794d; }
.mcora-studio__product-type { border:1px solid #d7c9aa; padding:5px 8px; color:#6e5939; font-size:9px; font-weight:700; letter-spacing:.16em; }
.mcora-studio h1 { margin:0 0 16px!important; font-size:clamp(31px,3.3vw,52px)!important; font-weight:600!important; line-height:1.08!important; letter-spacing:-.038em; color:#151515; }
.mcora-studio__description { max-width:510px; margin:0 0 28px!important; color:#706e68; font-size:14px; line-height:1.75; }
.mcora-studio__description p { margin:0; }
.mcora-studio__steps { display:flex; align-items:center; justify-content:space-between; gap:14px; padding:18px 0 16px; border-top:1px solid #dedbd4; border-bottom:1px solid #dedbd4; }
.mcora-studio__step-title { display:flex; flex-direction:column; align-items:center; gap:3px; text-align:center; }
.mcora-studio__step-title small { font-size:10px; letter-spacing:.2em; color:#a48755; font-weight:750; }
.mcora-studio__step-title strong { font-size:22px; font-weight:600; letter-spacing:-.02em; }
.mcora-studio .mcora-studio__arrow { display:grid; place-items:center; width:44px; height:44px; padding:0; border:1px solid #d7d4cd; border-radius:50%; background:white; color:#191919; font-size:22px; line-height:1; transition:background .2s,border-color .2s; }
.mcora-studio .mcora-studio__arrow:hover { background:#181818; border-color:#181818; color:#fff; }
.mcora-studio__zones { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:5px; margin:14px 0 28px; }
.mcora-studio .mcora-studio__zones button { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:8px; min-height:67px; padding:8px 3px; border:1px solid #e6e3de; background:#fff; color:#68665f; font-size:10px; font-weight:650; line-height:1.2; text-align:center; transition:border .2s,background .2s,color .2s; }
.mcora-studio .mcora-studio__zones button[aria-pressed=true] { border-color:#252423; background:#252423; color:white; }
.mcora-studio__zone-dot { width:6px; height:6px; border-radius:50%; background:#d2cbbd; }
.mcora-studio .has-design .mcora-studio__zone-dot { background:#b89555; box-shadow:0 0 0 3px rgba(184,149,85,.15); }
.mcora-studio__editor { padding:20px; border:1px solid #e7e4dd; background:#fff; }
.mcora-studio__editor-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:17px; }
.mcora-studio__editor-heading small { color:#9b8255; font-size:9px; font-weight:750; letter-spacing:.19em; }
.mcora-studio__editor h2 { margin:1px 0 0!important; font-size:22px!important; line-height:1.2; letter-spacing:-.025em; font-weight:600; }
.mcora-studio__mode-tabs { display:flex; gap:0; padding:3px; border:1px solid #e9e7e3; background:#f6f5f2; }
.mcora-studio .mcora-studio__mode-tabs button { min-width:63px; border:0; padding:7px 9px; background:transparent; color:#77756f; font-size:11px; font-weight:650; line-height:1.3; }
.mcora-studio .mcora-studio__mode-tabs button[aria-pressed=true] { color:#fff; background:#1c1c1c; }
.mcora-studio__upload { position:relative; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:4px; min-height:132px; border:1px dashed #c4b692; background:#fbfaf7; cursor:pointer; text-align:center; }
.mcora-studio__upload:hover { background:#f7f4ed; border-color:#9e8150; }
.mcora-studio__upload-symbol { font-size:30px; font-weight:300; line-height:1; color:#aa8b53; }
.mcora-studio__upload strong { font-size:13px; font-weight:700; }
.mcora-studio__upload small { font-size:10px; color:#858078; }
.mcora-studio__upload input { position:absolute; width:1px; height:1px; opacity:0; overflow:hidden; }
.mcora-studio__image-actions { display:flex; justify-content:space-between; align-items:center; gap:12px; margin:12px 0 18px; color:#77736b; font-size:11px; }
.mcora-studio__filename { display:block; max-width:76%; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.mcora-studio .mcora-studio__remove { border:0; background:none; padding:0; color:#806537; font-size:11px; text-decoration:underline; }
.mcora-studio__adjust { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:13px; }
.mcora-studio__adjust label { display:flex; flex-direction:column; gap:7px; color:#55534e; font-size:10px; font-weight:650; }
.mcora-studio__adjust input[type=range] { width:100%; margin:0; accent-color:#ad8e55; }
.mcora-studio__input-label,.mcora-studio__color-label { display:flex; flex-direction:column; gap:8px; margin-bottom:21px; font-size:11px; font-weight:650; }
.mcora-studio__text-input { width:100%; height:42px; border:1px solid #dedbd3; padding:0 12px; background:#fff; border-radius:0; color:#1a1a1a; font:inherit; font-size:13px; }
.mcora-studio__color-label { flex-direction:row; align-items:center; gap:12px; margin:18px 0 0; }
.mcora-studio__color-label input { width:34px; height:29px; padding:2px; border:1px solid #d6d3ca; background:#fff; }
.mcora-studio__options { margin:20px 0 0; }
.mcora-studio__logo-option { display:flex; align-items:center; gap:12px; margin:0 0 14px; font-size:12px; font-weight:650; cursor:pointer; }
.mcora-studio__logo-option input { width:17px; height:17px; margin:0; accent-color:#ac8d51; }
.mcora-studio__logo-option span { display:flex; justify-content:space-between; gap:10px; flex:1; }
.mcora-studio__logo-option small { font-weight:500; color:#79736a; }
.mcora-studio__variations-slot table.variations { width:100%; border:0; margin:0 0 12px; }
.mcora-studio__variations-slot table.variations td,.mcora-studio__variations-slot table.variations th { border:0; padding:5px 0; background:transparent; }
.mcora-studio__variations-slot table.variations th { width:22%; font-size:12px; }
.mcora-studio__variations-slot select { width:100%; min-height:38px; border:1px solid #d9d5cc; background:#fff; }
.mcora-studio__order { margin-top:24px; padding:21px; background:#1d1d1c; color:white; }
.mcora-studio__order-top { display:flex; justify-content:space-between; align-items:center; gap:12px; }
.mcora-studio__order-top span { font-size:12px; color:#dad7d0; }
.mcora-studio__total { font-size:25px; font-weight:650; white-space:nowrap; }
.mcora-studio__recap { margin:9px 0 18px!important; color:#b9b7b0; font-size:11px; line-height:1.5; }
.mcora-studio__cart-slot { display:flex; align-items:stretch; gap:10px; }
.mcora-studio__cart-slot .quantity { display:flex!important; width:72px; height:50px; flex:0 0 72px; margin:0!important; background:#fff; border:0; }
.mcora-studio__cart-slot .quantity input.qty { width:100%!important; height:50px!important; margin:0!important; padding:4px!important; color:#111; border:0; text-align:center; }
.mcora-studio__cart-slot .single_add_to_cart_button { flex:1; display:grid!important; place-items:center; min-height:50px; margin:0!important; padding:10px 14px!important; border:0!important; border-radius:0!important; background:#d2b474!important; color:#141413!important; font-size:11px!important; font-weight:800!important; letter-spacing:.1em; text-align:center; opacity:1; }
.mcora-studio__cart-slot .single_add_to_cart_button:hover { background:#e5cb90!important; }
.mcora-studio__cart-slot .single_add_to_cart_button:disabled { opacity:.55; cursor:not-allowed; }
.mcora-studio__order>small { display:block; margin-top:13px; font-size:10px; color:#aaa8a2; line-height:1.5; }
.mcora-page__details { max-width:940px; margin:52px auto 0; border-top:1px solid #e2ded7; border-bottom:1px solid #e2ded7; }
.mcora-page__details summary { display:flex; justify-content:space-between; padding:19px 0; cursor:pointer; font-size:15px; font-weight:650; }
.mcora-page__details>div { padding:0 0 25px; color:#68645d; font-size:14px; line-height:1.75; }
.mcora-page__unavailable { padding:90px 20px; text-align:center; background:#f5f3ef; }

/* Fiche produit : choisir le vrai article avant d'ouvrir le studio. */
.mcora-page [hidden] { display:none!important; }
.mcora-page__breadcrumb { display:flex; gap:12px; align-items:center; margin:0 0 19px; font-size:10px; font-weight:750; letter-spacing:.17em; color:#9d875f; }
.mcora-page__breadcrumb a { color:#33312d; text-decoration:none; }
.mcora-product { display:grid; grid-template-columns:minmax(0,1.13fr) minmax(385px,.87fr); gap:clamp(30px,5vw,85px); align-items:start; }
.mcora-product__viewer { position:sticky; top:20px; height:min(790px,calc(100vh - 40px)); min-height:570px; overflow:hidden; border:1px solid #e6e2dc; background:radial-gradient(ellipse 58% 58% at 50% 47%,#fcfbf9 0%,#f2f0ec 72%,#e8e5df 100%); }
.mcora-product__canvas,.mcora-product__fallback { position:absolute; inset:0; width:100%; height:100%; }
.mcora-product__canvas { cursor:grab; touch-action:pan-y; }
.mcora-product__canvas:active { cursor:grabbing; }
.mcora-product__canvas canvas { width:100%; height:100%; display:block; }
.mcora-product__fallback { object-fit:contain; }
.mcora-product__eyebrow,.mcora-product__viewer-foot { position:absolute; z-index:2; left:clamp(18px,3vw,38px); right:clamp(18px,3vw,38px); font-size:10px; font-weight:750; letter-spacing:.19em; }
.mcora-product__eyebrow { top:27px; }
.mcora-product__viewer-foot { bottom:27px; display:flex; align-items:center; justify-content:space-between; gap:10px; color:#716f69; }
.mcora-product__viewer-foot span:last-child { color:#a48752; }
.mcora-product__panel { min-width:0; padding:clamp(20px,4vw,65px) 0; }
.mcora-product__panel>.mcora-studio__eyebrow { color:#ad8d55; }
.mcora-product h1 { margin:12px 0 14px!important; max-width:600px; color:#171716; font-size:clamp(36px,4vw,64px)!important; line-height:1.04!important; font-weight:600!important; letter-spacing:-.045em; }
.mcora-product__price { margin:0 0 22px; color:#191919; font-size:24px; font-weight:650; }
.mcora-product__price .amount { font-weight:650; }
.mcora-product__panel>p { max-width:560px; margin:0 0 24px; color:#77736c; line-height:1.7; font-size:14px; }
.mcora-product form.cart { display:block!important; float:none!important; width:100%!important; margin:0!important; padding:0!important; }
.mcora-product__select { margin-top:5px; }
.mcora-product__customize { display:flex; align-items:center; justify-content:center; width:100%; min-height:62px; margin:29px 0 12px; border:0; border-radius:0; padding:12px 22px; background:#1e1e1d; color:#fff; font-size:12px; font-family:inherit; font-weight:800; letter-spacing:.13em; cursor:pointer; transition:background .2s; }
.mcora-product__customize:hover { background:#a48650; color:#fff; }
.mcora-product__select>small { display:block; margin-bottom:24px; color:#8c877e; font-size:10px; letter-spacing:.06em; text-align:center; }
.mcora-product__error { margin:12px 0 0!important; padding:10px 14px; color:#7f2323; background:#fbecec; font-size:12px; }
.mcora-product__promise { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; padding-top:23px; border-top:1px solid #e4e0da; color:#9b8359; font-size:9px; font-weight:750; letter-spacing:.08em; line-height:1.5; }
.mcora-page--product .single_variation_wrap,.mcora-page--product form.cart>.quantity,.mcora-page--product form.cart>.single_add_to_cart_button { display:none!important; }

/* Les choix conservent leurs champs WooCommerce/radios dans le formulaire natif. */
.mcora-choice { min-width:0; margin:0 0 25px!important; padding:0!important; border:0!important; }
.mcora-choice legend { display:flex; align-items:center; justify-content:space-between; width:100%; float:none!important; margin:0 0 11px!important; padding:0!important; font-size:12px; font-weight:750; letter-spacing:.04em; }
.mcora-choice__current { color:#8a7044; font-size:11px; font-weight:600; }
.mcora-choice__colors,.mcora-choice__sizes { display:flex; flex-wrap:wrap; gap:10px; }
.mcora-choice__colors label,.mcora-choice__sizes label { position:relative; display:flex; cursor:pointer; }
.mcora-choice input { position:absolute; width:1px; height:1px; opacity:0; }
.mcora-choice__colors label { flex-direction:column; align-items:center; gap:5px; min-width:52px; color:#69655e; font-size:10px; }
.mcora-choice__colors small { font-size:10px; }
.mcora-choice__swatch { width:42px; height:42px; border:5px solid #fff; outline:1px solid #d9d5cc; background:var(--swatch); border-radius:50%; }
.mcora-choice input:checked+.mcora-choice__swatch { outline:2px solid #ab8952; box-shadow:0 0 0 4px #f3eee5; }
.mcora-choice__sizes label span { display:grid; place-items:center; width:54px; height:44px; padding:3px; border:1px solid #dad7cf; background:#fff; color:#262625; font-size:12px; font-weight:650; }
.mcora-choice__sizes input:checked+span { border-color:#1c1c1b; background:#1c1c1b; color:#fff; }
.mcora-choice input:focus-visible+.mcora-choice__swatch,.mcora-choice input:focus-visible+span { outline:2px solid #a98950; outline-offset:4px; }
.mcora-page table.variations { display:block; width:100%; margin:0 0 12px!important; border:0!important; }
.mcora-page table.variations tbody { display:block; }
.mcora-page table.variations tr { display:block; margin:0 0 21px; }
.mcora-page table.variations th,.mcora-page table.variations td { display:block; width:100%; padding:0!important; border:0!important; background:transparent!important; text-align:left; }
.mcora-page table.variations th.label { margin:0 0 9px; color:#333; font-size:12px; font-weight:750; }
.mcora-page table.variations select:not(.mcora-native-select) { width:100%; height:46px; border:1px solid #ddd7ca; background:white; }
.mcora-page table.variations .mcora-native-select { position:absolute; width:1px!important; height:1px!important; opacity:0; overflow:hidden; }
.mcora-variation-choice { display:flex; flex-wrap:wrap; gap:9px; }
.mcora-variation-choice__button { display:grid; place-items:center; min-width:54px; min-height:44px; padding:8px; border:1px solid #d9d5cc; border-radius:0; background:#fff; color:#333; font-family:inherit; font-size:12px; font-weight:650; cursor:pointer; }
.mcora-variation-choice__button[aria-pressed=true] { border-color:#1e1e1c; background:#1e1e1c; color:#fff; }
.mcora-variation-choice__button:disabled { opacity:.3; cursor:not-allowed; }
.mcora-variation-choice--color .mcora-variation-choice__button { display:flex; flex-direction:column; gap:4px; min-width:59px; border-color:transparent; background:transparent; color:#605d58; font-size:10px; font-weight:500; }
.mcora-variation-choice--color .mcora-variation-choice__button[aria-pressed=true] { border-color:#b69a61; background:#faf8f3; }
.mcora-variation-choice__swatch { width:33px; height:33px; border:3px solid white; outline:1px solid #d1cdc5; border-radius:50%; }
.mcora-page .reset_variations { display:inline-block; margin:10px 0 0; color:#806536; font-size:11px; text-decoration:underline; }
.mcora-studio__selection { margin:4px 0 28px; padding:18px 20px 2px; border:1px solid #e6e1d7; background:#fbfaf7; }
.mcora-studio__selection-head { display:flex; justify-content:space-between; gap:12px; align-items:center; margin-bottom:17px; font-size:10px; letter-spacing:.14em; }
.mcora-studio__selection-head a { color:#8e784e; font-size:10px; font-weight:600; letter-spacing:0; text-decoration:none; }
.mcora-studio__selection .mcora-choice { margin-bottom:17px!important; }
.mcora-studio__selection .mcora-choice__swatch { width:36px; height:36px; }
.mcora-studio__selection .mcora-choice__sizes label span { width:48px; height:38px; }
.mcora-studio__selection .variations tr { margin-bottom:15px; }
.mcora-studio__cart-slot .single_variation_wrap { width:100%; }
.mcora-studio__cart-slot .woocommerce-variation-add-to-cart { display:flex; gap:10px; align-items:stretch; }
.mcora-studio__cart-slot .woocommerce-variation { color:#d2c5a8; font-size:11px; }
.mcora-studio__cart-slot .woocommerce-variation .amount { color:#f2dfb3; }
.mcora-studio__cart-slot .woocommerce-variation-availability { margin-bottom:10px; }
.mcora-studio__fallback-art img { height:auto; }
.mcora-studio__fallback-art span { display:block; }
@media (max-width:980px) { .mcora-page { width:min(100% - 32px,760px); } .mcora-product,.mcora-studio { display:block; } .mcora-product__viewer,.mcora-studio__scene { position:relative; height:min(72vw,620px); min-height:420px; top:auto; } .mcora-product__panel { padding:28px 0 0; } .mcora-studio__panel { padding:28px 0 0; } }
@media (max-width:540px) { .mcora-page { width:calc(100% - 24px); margin:12px auto 50px; } .mcora-product__viewer,.mcora-studio__scene { height:112vw; min-height:350px; max-height:530px; } .mcora-product__eyebrow,.mcora-product__viewer-foot { left:16px; right:16px; } .mcora-product__eyebrow { top:16px; } .mcora-product__viewer-foot { bottom:16px; font-size:8px; } .mcora-product h1 { font-size:37px!important; } .mcora-product__promise { gap:5px; font-size:8px; } .mcora-studio__scene-head { top:15px; } .mcora-studio__scene-foot { bottom:16px; } .mcora-studio__scene-head,.mcora-studio__scene-foot { left:16px; right:16px; } .mcora-studio__eyebrow { font-size:9px; } .mcora-studio__panel { padding-top:23px; } .mcora-studio h1 { font-size:34px!important; } .mcora-studio__description { margin-bottom:22px!important; } .mcora-studio__zones { margin-bottom:22px; } .mcora-studio .mcora-studio__zones button { font-size:9px; min-height:60px; } .mcora-studio__editor { padding:16px; } .mcora-studio__adjust { gap:9px; } .mcora-studio__order { padding:17px; } }
@media (prefers-reduced-motion:reduce) { .mcora-studio * { scroll-behavior:auto!important; transition:none!important; } }
