/* Luxury Editorial: sutil, lento y elegante */
:root{
    --ease-luxe: cubic-bezier(.16,1,.3,1);
}

/* Cards */
.cardSM,.cardLG,.cardXL{
    transition: transform 700ms var(--ease-luxe), box-shadow 700ms var(--ease-luxe);
    will-change: transform;
}
.cardSM:hover,.cardLG:hover,.cardXL:hover{
    transform: translateY(-4px);
    box-shadow: 0 40px 100px rgba(0,0,0,.35);
}

.cardSM img,.cardLG img,.cardXL img{
    transition: transform 1200ms var(--ease-luxe);
    will-change: transform;
}
.cardSM:hover img,.cardLG:hover img,.cardXL:hover img{
    transform: scale(1.04);
}

/* Reveal editorial en scroll */
.fade-editorial{
    /*opacity:0;*/
    transform: translateY(24px);
    transition: opacity 900ms ease, transform 900ms var(--ease-luxe);
}
.fade-editorial.in-view{
    opacity:1;
    transform: translateY(0);
}

/* Flag: rectangular + sombra realista */
.flag{
    width:20px; height:10px;
    border-radius:4px;
    box-shadow: 0 2px 4px rgba(0,0,0,.25), 0 10px 24px rgba(0,0,0,.25);
    display:inline-block;
    overflow:hidden;
    vertical-align: center!important;
}

.flagCum{
    width:20px; height:10px;
    border-radius:4px;
    display:inline-block;
    overflow:hidden;
    vertical-align: center!important;
}

/* Zodiac: icono fino */
.zodiac{
    width:22px; height:22px;
    opacity:.9;
    display:inline-block;
    vertical-align:middle;
}

/* Botones: lujo sobrio */
button, .btn, a.btn{
    transition: transform 600ms var(--ease-luxe), box-shadow 600ms var(--ease-luxe);
}
button:hover, .btn:hover, a.btn:hover{
    box-shadow: 0 18px 50px rgba(0,0,0,.25);
}

/* ============================
   Base UX: overlay + panel + scroll lock
   ============================ */




/* Backdrop / overlay */
.backdrop{
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,.55);
    backdrop-filter: blur(6px);
    opacity: 0;
    pointer-events: none;
    transition: opacity 500ms var(--ease-luxe);
    z-index: 90;
}
.backdrop.show{
    opacity: 1;
    pointer-events: auto;
}

.menuPanel{
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    width: min(420px, 100vw);
    height: 100dvh;
    max-height: 100dvh;
    background: color-mix(in srgb, var(--bg-primary, #0b0b0b) 92%, #111);
    z-index: 100;
    padding: calc(18px + env(safe-area-inset-top)) 28px calc(22px + env(safe-area-inset-bottom));
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    transform: translateX(110%);
    overflow-y: auto;
    overflow-x: hidden;
    -webkit-overflow-scrolling: touch;
    margin-top: 0;
}
@supports not (height: 100dvh){
    .menuPanel{
        height: 100vh;
        max-height: 100vh;
    }
}

.menuPanel.open{
    transform: translateX(0);
}
.menuPanel-head{
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 12px;
    margin-bottom: 24px;
    margin-top: -60px;
}
.menuPanel-brand{
    font-weight: 800;
    letter-spacing: .12em;
    font-size: .9rem;
    opacity: .95;
    text-transform: uppercase;
}

/* Links panel */
.menuPanel__nav{
    display:flex;
    flex-direction:column;
    gap: 10px;
    padding: 10px 0 14px;
}
.menuPanel__nav a{
    font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-weight: 700;
    font-size: 40px;
    display:flex;
    align-items:flex-end;
    justify-content:end;
    /*padding: 14px 14px;*/
    text-decoration:none;
    color: var(--text-primary, #fff);
    transition: transform 600ms var(--ease-luxe), background 600ms var(--ease-luxe), border-color 600ms var(--ease-luxe);
}

/* Links panel */
.menuPanel__navp{
    display:flex;
    flex-direction:column;
    gap: 10px;
    padding: 60px 0 14px;
}
.menuPanel__navp a{
    font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-weight: 700;
    font-size: 20px;
    display:flex;
    align-items:flex-end;
    justify-content:end;
    text-decoration:none;
    color: var(--text-primary, #fff);
    transition: transform 600ms var(--ease-luxe), background 600ms var(--ease-luxe), border-color 600ms var(--ease-luxe);
}


.menuPanel__nav a:hover{
    /*border-color: rgba(255,255,255,.12); --> No por ahora */
}

/* Footer panel */
.menuPanel__foot{
    font-size: 14px;
    opacity: .85;
}
.menuPanel__foot a{
    color: var(--text-primary, #fff);
    text-decoration: underline;
    text-underline-offset: 3px;
    font-size: 12px;
    display: flex;
    justify-content: flex-end;
    flex-wrap: wrap;
    flex-direction: column;
    align-items: flex-end;
}

/* ============================
   Topbar “premium”
   ============================ */
.topbar{
    position: sticky;
    top: 0;
    z-index: 80;
    background-color: #000;
    backdrop-filter: blur(10px);
    border-bottom: 1px solid rgba(255,255,255,.2);
}
.topbar-inner{
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding: 14px 1.8rem;
}
.brand{
    text-decoration:none;
    color: var(--text-primary, #fff);
    font-weight: 800;
    letter-spacing: .18em;
    font-size: .9rem;
    text-transform: uppercase;
    max-width: 140px;
}

.brandf{
    text-decoration:none;
    color: var(--text-primary, #fff);
    font-weight: 800;
    letter-spacing: .18em;
    font-size: .9rem;
    text-transform: uppercase;
    max-width: 230px;
}
.topbar-actions{
    display:flex;
    gap: 5px;
}

/* Icon buttons */
.iconbtn{
    width: 40px;
    height: 40px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border-radius: 999px;
    background: var(--bg-primary, #333);
    /*background: rgba(255,255,255,.06);*/
    border: 1px solid rgba(255,255,255,.10);
    color: var(--text-primary, #ccc);
    /*color: #fff;*/
    cursor:pointer;
    box-shadow: 0 6px 22px rgba(0,0,0,.22);
    transition: transform 600ms var(--ease-luxe), background 600ms var(--ease-luxe), border-color 600ms var(--ease-luxe);
    margin-left: 0.2rem;
    margin-right: 0.2rem;
}
.iconbtn:hover{
    transform: translateY(-2px);
    background: #fff;
    color: #000;
    border-color: rgba(255,255,255,.16);
}
.iconbtn:active{
    transform: translateY(-1px);
}

.iconbtnf{
    width: 35px;
    height: 35px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border-radius: 999px;

    background: rgba(255, 255, 255, .06);
    border: 1px solid rgba(255,255,255,.10);
    color: #000;
    /*color: #fff;*/
    cursor:pointer;
    box-shadow: 0 6px 22px rgba(0,0,0,.22);
    transition: transform 600ms var(--ease-luxe), background 600ms var(--ease-luxe), border-color 600ms var(--ease-luxe);
    margin-left: 0.2rem;
    margin-right: 0.2rem;
}

.iconbtnf:hover{

    background: rgba(255, 255, 255, .06);
    color: #000;
    border-color: #000;
}
.iconbtnf:active{
    background: rgba(255, 255, 255, .06);
    color: #000;
    border-color: #000;
}
/* ============================
   Mejoras hover “ultra premium”
   ============================ */
.model-card,
.menuPanel__nav a,
.iconbtn,
.btn,
a.btn,
button{
    will-change: transform;
}

/* Micro-brillo en hover (sutil) */
.model-card:hover,
.menuPanel__nav a:hover,
.iconbtn:hover,
.btn:hover,
a.btn:hover{
    filter: saturate(1.02);
}

/* Capa de contenido SIEMPRE encima */


.theme-wave{
    position: fixed;
    inset: 0;
    z-index: 9999;
    pointer-events: none;
    will-change: clip-path;
}
html, body{
    color: var(--text-primary) !important;

}
.menuPanel__nav{
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding: 10px 0 14px;
    margin-top: 20px;
}

.menuPanel__navp{
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding: 40px 0 14px;
    margin-top: auto;
}

.menuPanel__foot{
    margin-top: 24px;
    padding-bottom: env(safe-area-inset-bottom);
}
.lang-dropdown {
    position: relative;
    display: inline-flex;
    align-items: center;
    margin-right: 12px;
    z-index: 1200;
}

.mobile-lang-dropdown {
    position: relative;
    display: inline-block;
    width: auto;
    margin-bottom: 0;
    z-index: 1300;
}

.lang-dropdown__toggle {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    height: 42px;
    padding: 0 12px;
    border: 1px solid rgba(255,255,255,.16);
    border-radius: 12px;
    background: var(--bg-primary);
    color: var(--text-primary);
    cursor: pointer;
    transition: .2s ease;
    backdrop-filter: blur(10px);
    white-space: nowrap;
}

.lang-dropdown__toggle:hover {
    background: var(--bg-primary);
    border-color: rgba(255,255,255,.28);
}

.lang-dropdown__flag {
    font-size: 16px;
    line-height: 1;
}

.lang-dropdown__label {
    font-size: 11px;
    font-weight: 600;
    letter-spacing: .4px;
}

.lang-dropdown__caret {
    font-size: 11px;
    opacity: .85;
}

.lang-dropdown__menu {
    position: absolute;
    top: calc(100% + 8px);
    left: 0;
    min-width: 180px;
    background: var(--bg-primary);
    border: 1px solid rgba(255,255,255,.10);
    border-radius: 14px;
    box-shadow: 0 12px 30px rgba(0,0,0,.28);
    overflow: hidden;
    padding: 8px;
    z-index: 1400;

}

.mobile-lang-dropdown .lang-dropdown__menu {
    position: absolute;
    top: calc(100% + 8px);
    left: 0;
    width: 160px;
    min-width: 160px;
    margin-top: 0;
    z-index: 1400;
}

.lang-dropdown__item {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 12px;
    border-radius: 10px;
    color: var(--text-primary);
    text-decoration: none;
    transition: .2s ease;
    font-size: 12px;
}

.lang-dropdown__item:hover {
    background: rgba(255,255,255,.08);
}

@media (max-width: 768px) {
    .lang-dropdown {
        margin-right: 10px;
    }

    .lang-dropdown__toggle {
        height: 40px;
        padding: 0 10px;
    }

    .lang-dropdown__label {
        font-size: 11px;
    }

    .mobile-lang-dropdown .lang-dropdown__menu {
        max-width: calc(100vw - 32px);
    }
}
