/* Maison Thery · efectos comunes: telón, cabecera inteligente, tarjetas, cesta lateral, visor, barra de compra, cursor */
html.lenis,html.lenis body{height:auto}.lenis.lenis-smooth{scroll-behavior:auto!important}.lenis.lenis-stopped{overflow:hidden}
/* Mientras GSAP prepara la entrada, lo que se anima no se ve (sin parpadeo); si algo falla, a los 3,5 s se muestra igual */
.mt-preload .mt-headbox,.mt-preload .mt-a-hero .elementor-widget,.mt-preload .mt-a-hero-img,.mt-preload .mt-b-hero .elementor-widget,.mt-preload .mt-b-dip,.mt-preload .mt-gal,.mt-preload .mt-pi-box,.mt-preload .mt-crumbs,.mt-preload .mt-b-strip-wrap,.mt-preload .mt-b-pdp,.mt-preload .mt-pick{opacity:0}
/* Telón: intro de marca (primera visita) y transición entre páginas */
.mt-veil{position:fixed;inset:0;z-index:1000;display:none;align-items:center;justify-content:center;pointer-events:none;will-change:transform}
.mt-intro .mt-veil,.mt-transit .mt-veil,.mt-veil.is-leaving,.mt-veil.is-out{display:flex}
.mt-veil-mark{display:inline-block}
/* Al ir a otra página o a otra sección: el telón entra y aparece la marca; en la página nueva sigue ahí (clase
   mt-transit, la retira mt-motion.js) y dentro de la misma página se va con is-out */
.mt-veil.is-leaving{animation:mt-veil-in .55s cubic-bezier(.76,0,.24,1) both}
.mt-veil.is-leaving .mt-veil-mark{animation:mt-mark-in .5s cubic-bezier(.2,.7,.2,1) .2s both}
.mt-veil.is-out{animation:mt-veil-out .8s cubic-bezier(.76,0,.24,1) .25s both}
.mt-veil.is-out .mt-veil-mark{animation:mt-mark-out .4s cubic-bezier(.5,0,.75,0) both}
@keyframes mt-veil-in{from{transform:translateY(100%)}to{transform:none}}
@keyframes mt-veil-out{from{transform:none}to{transform:translateY(-100%)}}
@keyframes mt-mark-in{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}
@keyframes mt-mark-out{to{opacity:0;transform:translateY(-22px)}}
.mt-a .mt-veil{background:#1B1A18;color:#F3F1EC}
.mt-a .mt-veil-mark{font:400 clamp(26px,3.6vw,52px)/1 'Bodoni Moda',serif;letter-spacing:.32em;text-transform:uppercase;margin-right:-.32em}
.mt-a .mt-veil-mark em{font-style:normal}
.mt-b .mt-veil{background:#fff;color:#121212}
.mt-b .mt-veil-mark{font:400 clamp(56px,11vw,190px)/.9 'Instrument Serif',serif;letter-spacing:-.04em}
/* Cabecera que se esconde al bajar y vuelve al subir */
.mt-site .mt-headbox{transition:transform .5s cubic-bezier(.2,.7,.2,1)}
.mt-site .mt-headbox.is-hidden{transform:translateY(-100%)}
/* Botones con relleno que entra por la izquierda */
.mt-a .mt-btn-dark .elementor-button{position:relative;overflow:hidden;isolation:isolate}
.mt-a .mt-btn-dark .elementor-button::before{content:'';position:absolute;inset:0;z-index:-1;background:var(--camel);transform:scaleX(0);transform-origin:right;transition:transform .55s cubic-bezier(.7,0,.2,1)}
.mt-a .mt-btn-dark .elementor-button:hover{background:var(--ink)}
.mt-a .mt-btn-dark .elementor-button:hover::before{transform:scaleX(1);transform-origin:left}
.mt-add{position:relative;overflow:hidden;isolation:isolate}
.mt-add::before{content:'';position:absolute;inset:0;z-index:-1;transform:scaleX(0);transform-origin:right;transition:transform .55s cubic-bezier(.7,0,.2,1)}
.mt-a .mt-add::before{background:var(--camel)}.mt-b .mt-add::before{background:#3a3a38}
.mt-add:hover::before{transform:scaleX(1);transform-origin:left}
/* Precio que cambia de moneda */
.mt-price.is-flip{animation:mt-flip .5s cubic-bezier(.2,.7,.2,1)}
@keyframes mt-flip{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}
.mt-price{display:inline-block}
/* Tarjetas: segunda foto de detalle y «añadir rápido» */
.mt-site .mt-card-media{position:relative;overflow:hidden}
.mt-site .mt-card-media>.mt-card-img2{position:absolute!important;inset:0;opacity:0;transition:opacity .7s ease;z-index:1}
.mt-site .mt-card-media>.mt-card-img2 .elementor-widget-container,.mt-site .mt-card-media>.mt-card-img2 a{height:100%}
.mt-site .mt-card-media>.mt-card-img2 img{height:100%!important;aspect-ratio:auto!important;object-fit:cover;scale:1.06;transition:scale 1.4s cubic-bezier(.2,.7,.2,1)!important}
.mt-site .mt-card-media:hover>.mt-card-img2{opacity:1}
.mt-site .mt-card-media:hover>.mt-card-img2 img{scale:1}
.mt-site .mt-quick{position:absolute!important;left:10px;right:10px;bottom:10px;z-index:2;transform:translateY(calc(100% + 16px));transition:transform .5s cubic-bezier(.2,.7,.2,1)}
.mt-site .mt-card-media:hover .mt-quick,.mt-site .mt-quick:focus-within{transform:none}
.mt-site .mt-quick-in{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;background:rgba(255,255,255,.94);backdrop-filter:blur(8px);color:#1b1a18}
.mt-site .mt-quick-in>span{font:500 10px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;white-space:nowrap}
.mt-site .mt-quick-in>div{display:flex;gap:2px;flex-wrap:wrap;justify-content:flex-end}
.mt-site .mt-quick button{min-width:32px;height:28px;padding:0 6px;font:500 12px/1 var(--sans);border:1px solid transparent;transition:border-color .2s,background .2s,color .2s}
.mt-site .mt-quick button:hover{border-color:#1b1a18}
@media (hover:none){.mt-site .mt-quick{display:none}}
/* Cesta lateral */
.mt-drawer{position:fixed;inset:0;z-index:900;pointer-events:none;visibility:hidden;transition:visibility 0s .6s}
.mt-drawer.is-open{pointer-events:auto;visibility:visible;transition:none}
.mt-drawer-bg{position:absolute;inset:0;background:rgba(18,17,16,.36);opacity:0;transition:opacity .45s}
.mt-drawer.is-open .mt-drawer-bg{opacity:1}
.mt-drawer-panel{position:absolute;top:0;right:0;bottom:0;width:min(440px,100vw);display:flex;flex-direction:column;background:var(--bg);color:var(--ink);transform:translateX(100%);transition:transform .6s cubic-bezier(.2,.8,.15,1);box-shadow:-30px 0 60px -40px rgba(0,0,0,.4)}
.mt-drawer.is-open .mt-drawer-panel{transform:none}
.mt-drawer-head{display:flex;justify-content:space-between;align-items:center;padding:24px 28px;border-bottom:1px solid var(--line);font:500 11px/1 var(--sans);letter-spacing:.16em;text-transform:uppercase}
.mt-drawer-head button{font-size:22px;line-height:1;font-weight:300}
.mt-drawer-list{flex:1;overflow:auto;padding:8px 28px}
.mt-drawer-empty{color:var(--muted,#8a8a86);font-size:14px;padding:30px 0}
.mt-ditem{display:grid;grid-template-columns:84px 1fr auto;gap:16px;padding:20px 0;border-bottom:1px solid var(--line);animation:mt-flip .5s cubic-bezier(.2,.7,.2,1)}
.mt-ditem img{width:84px;height:105px;object-fit:cover;display:block;background:var(--line)}
.mt-ditem b{display:block;font-weight:400;font-size:14.5px;margin-bottom:4px}
.mt-ditem small{display:block;font-size:12.5px;color:var(--muted,#8a8a86);line-height:1.6}
.mt-ditem .mt-price{font-size:14px;font-variant-numeric:tabular-nums}
.mt-ditem button{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted,#8a8a86);margin-top:10px;border-bottom:1px solid currentColor}
.mt-drawer-foot{padding:22px 28px 28px;border-top:1px solid var(--line)}
.mt-drawer-sub{display:flex;justify-content:space-between;font-size:15px;margin-bottom:6px;font-variant-numeric:tabular-nums}
.mt-drawer-note{font-size:12px;color:var(--muted,#8a8a86);margin:0 0 18px;line-height:1.55}
.mt-drawer-go{display:block;width:100%;height:54px;background:var(--ink)!important;color:var(--bg)!important;font:500 11.5px/1 var(--sans);letter-spacing:.18em;text-transform:uppercase;transition:opacity .25s}
.mt-drawer-go:hover{opacity:.86}
.mt-drawer-more{display:block;margin:14px auto 0;font-size:12px;letter-spacing:.06em;border-bottom:1px solid currentColor}
.mt-bag-bump{animation:mt-bump .6s cubic-bezier(.2,.7,.2,1)}
@keyframes mt-bump{0%{transform:scale(1)}35%{transform:scale(1.35)}100%{transform:scale(1)}}
[data-mt-bag]{display:inline-block}
/* Visor de fotos a pantalla completa con zoom */
.mt-lb{position:fixed;inset:0;z-index:950;display:flex;align-items:center;justify-content:center;background:rgba(16,15,14,.96);opacity:0;pointer-events:none;transition:opacity .4s}
.mt-lb.is-open{opacity:1;pointer-events:auto}
.mt-lb-img{max-width:min(92vw,1300px);max-height:88vh;object-fit:contain;cursor:zoom-in;transition:transform .55s cubic-bezier(.2,.7,.2,1),opacity .3s}
.mt-lb.is-zoom .mt-lb-img{transform:scale(2.1);cursor:zoom-out}
.mt-lb button{position:absolute;color:#f3f1ec;font:300 26px/1 sans-serif;width:54px;height:54px;border-radius:50%;border:1px solid rgba(243,241,236,.3);transition:background .25s}
.mt-lb button:hover{background:rgba(243,241,236,.12)}
.mt-lb-x{top:22px;right:22px}.mt-lb-p{left:22px;top:50%;margin-top:-27px}.mt-lb-n{right:22px;top:50%;margin-top:-27px}
.mt-lb-c{position:absolute;bottom:24px;left:50%;transform:translateX(-50%);color:#cfc8bc;font:400 12px/1 sans-serif;letter-spacing:.14em}
.mt-zoomable{cursor:zoom-in}
/* Barra de compra fija (móvil y tableta) */
.mt-buybar{position:fixed;left:0;right:0;bottom:0;z-index:80;display:none;align-items:center;gap:14px;padding:12px 16px calc(12px + env(safe-area-inset-bottom));background:var(--bg);border-top:1px solid var(--line);transform:translateY(105%);transition:transform .45s cubic-bezier(.2,.7,.2,1)}
.mt-buybar.is-on{transform:none}
.mt-buybar span{flex:1;min-width:0;font-size:13px;line-height:1.35;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mt-buybar span b{font-weight:400}
.mt-buybar button{height:46px;padding:0 20px;background:var(--ink)!important;color:var(--bg)!important;font:500 11px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;white-space:nowrap}
.mt-b .mt-buybar button{border-radius:30px}
@media(max-width:1100px){.mt-buybar{display:flex}}
/* Cursor propio (propuesta B, solo con ratón) */
.mt-cursor{position:fixed;top:0;left:0;z-index:960;pointer-events:none;width:12px;height:12px;margin:-6px 0 0 -6px;border-radius:50%;background:#121212;display:flex;align-items:center;justify-content:center;color:#fff;font:500 0px/1 'Instrument Sans',sans-serif;letter-spacing:.08em;text-transform:uppercase;transition:width .4s cubic-bezier(.2,.7,.2,1),height .4s cubic-bezier(.2,.7,.2,1),margin .4s cubic-bezier(.2,.7,.2,1),font-size .3s,opacity .3s;opacity:0}
.mt-cursor.is-on{opacity:1}
.mt-cursor.is-view{width:88px;height:88px;margin:-44px 0 0 -44px;font-size:11px}
.mt-cursor.is-link{width:34px;height:34px;margin:-17px 0 0 -17px;background:transparent;border:1px solid #121212}
@media (hover:none),(pointer:coarse){.mt-cursor{display:none!important}}
/* Desplegables con altura animada */
.mt-acc details>div{overflow:hidden}
@media(prefers-reduced-motion:reduce){.mt-veil{display:none!important}.mt-preload *{opacity:1!important}}
