/*
Theme Name: ML Event Design
Theme URI: https://mleventdesign.it
Description: Tema a medida de ML Event Design. Estética luxury minimal (serif + dorado sobre negro/marfil), 100% compatible con Elementor: contenido editable desde Elementor y el admin.
Author: ML Event Design
Version: 2.0.0
Text Domain: mleventdesign
*/

/* ===================== Tokens ===================== */
:root{
  --tm-black:#0e0d0c; --tm-ink:#17150f; --tm-ivory:#f6f2ea; --tm-cream:#ece5d8;
  --tm-gold:#c3a26b; --tm-gold-soft:#d8c39a; --tm-muted:#8c857a;
  --tm-line:rgba(255,255,255,.12); --tm-line-dark:rgba(20,18,14,.12);
  --tm-ease:cubic-bezier(.22,1,.36,1);
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{margin:0;font-family:'Jost',sans-serif;font-weight:300;color:var(--tm-ink);background:var(--tm-ivory);line-height:1.7;-webkit-font-smoothing:antialiased;}
img{max-width:100%;height:auto;}
a{color:inherit;}
h1,h2,h3,h4,.elementor-heading-title{font-family:'Cormorant Garamond',Georgia,serif;}

/* ===================== Header (hamburguesa siempre) ===================== */
.tm-header{position:fixed;inset:0 0 auto 0;z-index:1000;padding:18px 0;transition:all .4s var(--tm-ease);}
.tm-header.scrolled{background:rgba(14,13,12,.94);backdrop-filter:blur(10px);padding:10px 0;border-bottom:1px solid var(--tm-line);}
.tm-header-inner{max-width:1280px;margin:0 auto;padding:0 clamp(18px,4vw,30px);display:flex;align-items:center;justify-content:space-between;}
.tm-brand{display:flex;align-items:center;gap:10px;color:var(--tm-ivory);text-decoration:none;z-index:1102;position:relative;}
.tm-brand .mark{font-family:'Cormorant Garamond',serif;font-size:1.6rem;color:var(--tm-gold);font-weight:600;}
.tm-brand .name{font-size:.78rem;letter-spacing:.3em;text-transform:uppercase;}
.tm-brand img,.tm-brand .tm-logo-img,.custom-logo{max-height:54px!important;width:auto!important;height:auto;display:block;}
.tm-header.scrolled .tm-brand img{max-height:42px!important;}

.tm-toggle{display:flex;flex-direction:column;gap:6px;background:transparent!important;border:none!important;box-shadow:none!important;border-radius:0!important;cursor:pointer;padding:8px;z-index:1102;position:relative;}
.tm-toggle span{width:30px;height:1.5px;background:var(--tm-ivory);transition:all .35s var(--tm-ease);display:block;}
.tm-toggle.open span:nth-child(1){transform:translateY(7.5px) rotate(45deg);}
.tm-toggle.open span:nth-child(2){opacity:0;}
.tm-toggle.open span:nth-child(3){transform:translateY(-7.5px) rotate(-45deg);}

/* Menú overlay fullscreen */
.tm-nav{position:fixed;inset:0;background:rgba(12,11,10,.97);backdrop-filter:blur(14px);opacity:0;visibility:hidden;transition:opacity .45s var(--tm-ease),visibility .45s;z-index:1101;display:flex;align-items:center;justify-content:center;}
.tm-nav.open{opacity:1;visibility:visible;}
.tm-nav ul{list-style:none;margin:0;padding:0;text-align:center;}
.tm-nav li{margin:0;}
.tm-nav a{display:inline-block;color:var(--tm-ivory);text-decoration:none;font-family:'Cormorant Garamond',serif;font-size:clamp(1.7rem,4.2vh,2.6rem);line-height:1.9;letter-spacing:.04em;position:relative;transition:color .3s var(--tm-ease);opacity:0;transform:translateY(18px);}
.tm-nav.open a{opacity:1;transform:none;transition:color .3s var(--tm-ease),opacity .5s var(--tm-ease),transform .5s var(--tm-ease);}
.tm-nav.open li:nth-child(1) a{transition-delay:.05s}.tm-nav.open li:nth-child(2) a{transition-delay:.1s}
.tm-nav.open li:nth-child(3) a{transition-delay:.15s}.tm-nav.open li:nth-child(4) a{transition-delay:.2s}
.tm-nav.open li:nth-child(5) a{transition-delay:.25s}.tm-nav.open li:nth-child(6) a{transition-delay:.3s}
.tm-nav.open li:nth-child(7) a{transition-delay:.35s}.tm-nav.open li:nth-child(8) a{transition-delay:.4s}
.tm-nav a:hover,.tm-nav .current-menu-item a{color:var(--tm-gold);}
.tm-nav .sub-menu{display:block;position:static;}
.tm-nav .sub-menu a{font-size:clamp(1.1rem,2.4vh,1.4rem);color:var(--tm-muted);}
body.tm-menu-open{overflow:hidden;}
body.tm-solid-header .tm-header{position:absolute;background:var(--tm-black);}

/* ===================== Footer ===================== */
.tm-footer{background:var(--tm-black);color:var(--tm-ivory);padding:70px 0 26px;border-top:1px solid var(--tm-line);}
.tm-footer-inner{max-width:1200px;margin:0 auto;padding:0 24px;display:grid;grid-template-columns:2fr 1fr 1fr;gap:40px;padding-bottom:44px;border-bottom:1px solid var(--tm-line);}
.tm-footer h4{font-family:'Jost',sans-serif;font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;color:var(--tm-gold);margin:0 0 16px;}
.tm-footer p{color:var(--tm-muted);font-size:.92rem;max-width:280px;margin:14px 0 0;}
.tm-footer ul{list-style:none;margin:0;padding:0;}
.tm-footer li{margin-bottom:9px;}
.tm-footer a{color:var(--tm-muted);text-decoration:none;font-size:.92rem;transition:color .3s var(--tm-ease);}
.tm-footer a:hover{color:var(--tm-ivory);}
.tm-footer-bottom{max-width:1200px;margin:0 auto;padding:22px 24px 0;display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;color:var(--tm-muted);font-size:.8rem;}
@media(max-width:768px){.tm-footer-inner{grid-template-columns:1fr;gap:28px;}}

/* ===================== Contenido ===================== */
.tm-content{min-height:40vh;}
body:not(.elementor-page) .tm-content{max-width:900px;margin:0 auto;padding:140px 24px 80px;}
body:not(.elementor-page) .tm-content h1{font-size:clamp(2rem,5vw,3rem);}

/* clases de widgets del sistema */
.tm-eyebrow .elementor-heading-title{color:var(--tm-gold)!important;font-family:'Jost',sans-serif!important;font-size:13px!important;font-weight:500;letter-spacing:.3em;text-transform:uppercase;}
.tm-hero-title .elementor-heading-title{font-size:clamp(2.4rem,7.5vw,5.2rem)!important;line-height:1.04;}
.tm-hero-sub .elementor-heading-title{font-family:'Cormorant Garamond',serif!important;font-style:italic;font-weight:400;font-size:clamp(1.2rem,2.6vw,1.7rem)!important;letter-spacing:.14em;}
.tm-btn-outline .elementor-button{background:transparent!important;border:1px solid var(--tm-ivory)!important;color:var(--tm-ivory)!important;letter-spacing:.22em;text-transform:uppercase;border-radius:0!important;padding:15px 38px;transition:all .4s var(--tm-ease);}
.tm-btn-outline .elementor-button:hover{background:var(--tm-ivory)!important;color:var(--tm-black)!important;}

/* ===================== Services — lista tipográfica ===================== */
.mled-svc{border-bottom:1px solid var(--tm-line-dark);}
.mled-svc:first-of-type{border-top:1px solid var(--tm-line-dark);}
.mled-svc .elementor-heading-title{font-size:clamp(2rem,5.6vw,4.2rem)!important;font-weight:500;line-height:1.05;}
.mled-svc .elementor-heading-title a{display:block;padding:clamp(20px,3.4vw,34px) 0;text-decoration:none;transition:all .45s var(--tm-ease);position:relative;}
.mled-svc .elementor-heading-title a:hover{color:var(--tm-gold);padding-left:clamp(10px,2vw,26px);}
.mled-svc-num .elementor-heading-title{font-family:'Jost',sans-serif!important;font-size:.8rem!important;color:var(--tm-gold);letter-spacing:.3em;}

/* ===================== Slider horizontal (scroll-snap) ===================== */
/* la sección que contiene un widget marcador .mled-hslider se convierte en slider */
.elementor-section:has(.mled-hslider) > .elementor-container{
  display:flex!important;flex-wrap:nowrap!important;overflow-x:auto;scroll-snap-type:x mandatory;
  -webkit-overflow-scrolling:touch;scrollbar-width:none;gap:0;max-width:100%!important;cursor:grab;
}
.elementor-section:has(.mled-hslider) > .elementor-container::-webkit-scrollbar{display:none;}
.elementor-section:has(.mled-hslider) > .elementor-container > .elementor-column{
  flex:0 0 min(72vw,980px)!important;width:auto!important;scroll-snap-align:center;min-height:72vh;display:flex;
}
.elementor-section:has(.mled-hslider) .elementor-widget-wrap{align-content:flex-end!important;align-items:flex-end!important;padding:clamp(24px,4vw,54px)!important;}
.elementor-section:has(.mled-hslider) .elementor-column:first-child{margin-left:clamp(18px,6vw,80px);}
.elementor-section:has(.mled-hslider) .elementor-column:last-child{margin-right:clamp(18px,6vw,80px);}
.mled-hslider{display:none!important;} /* el marcador no se ve */
@media(max-width:768px){
  .elementor-section:has(.mled-hslider) > .elementor-container > .elementor-column{flex:0 0 86vw!important;min-height:64vh;}
}
/* título de slide */
.mled-slide-title .elementor-heading-title{font-size:clamp(1.8rem,3.6vw,2.8rem)!important;letter-spacing:.14em;text-transform:uppercase;font-weight:500;}
.mled-slide-title-gold .elementor-heading-title{color:var(--tm-gold)!important;font-size:clamp(1.8rem,3.6vw,2.8rem)!important;letter-spacing:.14em;text-transform:uppercase;font-weight:500;}
/* flechas inyectadas por JS */
.mled-arrows{display:flex;gap:12px;justify-content:flex-end;max-width:1200px;margin:18px auto 0;padding:0 24px;}
.mled-arrow{width:52px;height:52px;border:1px solid var(--tm-line-dark);background:transparent;color:inherit;font-size:1.05rem;cursor:pointer;transition:all .3s var(--tm-ease);}
.mled-dark-arrows .mled-arrow{border-color:var(--tm-line);color:var(--tm-ivory);}
.mled-arrow:hover{background:var(--tm-gold);border-color:var(--tm-gold);color:var(--tm-black);}

/* ===================== Placeholder elegante ===================== */
.mled-ph{position:relative;background:linear-gradient(135deg,#26221b,#100f0c);display:flex;align-items:center;justify-content:center;overflow:hidden;width:100%;}
.mled-ph::before{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(195,162,107,.13) 1px,transparent 1px);background-size:26px 26px;}
.mled-ph span{position:relative;color:var(--tm-gold-soft);font-size:.7rem;letter-spacing:.26em;text-transform:uppercase;font-family:'Jost',sans-serif;}

/* ===================== Formulario ===================== */
.mled-form{display:grid;grid-template-columns:1fr 1fr;gap:22px;max-width:760px;margin:26px auto 0;text-align:left;}
.mled-form .full{grid-column:1/-1;}
.mled-form label{display:block;font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:var(--tm-muted);margin-bottom:7px;font-family:'Jost',sans-serif;}
.mled-form input,.mled-form select,.mled-form textarea{width:100%;padding:13px 2px;border:none;border-bottom:1px solid var(--tm-line);background:transparent;color:var(--tm-ivory);font:inherit;transition:border-color .3s var(--tm-ease);border-radius:0;-webkit-appearance:none;}
.mled-form input:focus,.mled-form select:focus,.mled-form textarea:focus{outline:none;border-color:var(--tm-gold);}
.mled-form select option{background:var(--tm-black);color:var(--tm-ivory);}
.mled-form textarea{resize:vertical;min-height:110px;}
.mled-form button{grid-column:1/-1;justify-self:center;background:var(--tm-gold);color:var(--tm-black);border:1px solid var(--tm-gold);padding:16px 46px;letter-spacing:.22em;text-transform:uppercase;font-size:.78rem;font-family:'Jost',sans-serif;cursor:pointer;transition:all .35s var(--tm-ease);}
.mled-form button:hover{background:transparent;color:var(--tm-gold);}
.mled-form .msg{grid-column:1/-1;text-align:center;font-size:.9rem;color:var(--tm-gold-soft);min-height:1.4em;margin:0;}
.mled-form .hp{position:absolute;left:-9999px;opacity:0;}
@media(max-width:640px){.mled-form{grid-template-columns:1fr;}}

/* ===================== Reveal ===================== */
.tm-reveal{opacity:0;transform:translateY(36px);transition:opacity .9s var(--tm-ease),transform .9s var(--tm-ease);}
.tm-reveal.in{opacity:1;transform:none;}
@media(prefers-reduced-motion:reduce){
  .tm-reveal{opacity:1!important;transform:none!important;transition:none!important;}
  .tm-nav a{transition:none!important;}
}
