@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@300;400;500&family=Montserrat:wght@300;400;500&display=swap');

:root{
    --bg:#050505;
    --panel:#090908;
    --gold:#b07a3f;
    --gold2:#d0a063;
    --line:rgba(176,122,63,.32);
    --text:#ebe6dd;
    --muted:#8f867c;

    --ease-soft:cubic-bezier(.2,.8,.2,1);
    --ease-ritual:cubic-bezier(.18,.82,.22,1);
    --ease-reveal:cubic-bezier(.16,.84,.22,1);

    --t-instant:.14s;
    --t-fast:.25s;
    --t-soft:.35s;
    --t-medium:.45s;
    --t-ritual:.52s;
    --t-slow:.85s;
    --t-hero:1.05s;

    --glow-gold-soft:0 0 18px rgba(208,160,99,.18);
    --glow-gold-mid:0 0 28px rgba(208,160,99,.12);
    --shadow-card:0 22px 55px rgba(0,0,0,.52);
    --shadow-card-deep:0 24px 60px rgba(0,0,0,.52);
    --modal-backdrop:#000;
}

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

body{
    background:#030303;
    color:var(--text);
    min-height:100vh;
    overflow-x:hidden;
}

.version-tag{
    position:fixed;
    right:14px;
    bottom:10px;
    z-index:9999;
    font-family:"Montserrat",sans-serif;
    font-size:10px;
    letter-spacing:2px;
    color:rgba(208,160,99,.32);
    pointer-events:none;
}

.page{
    min-height:100vh;
    display:grid;
    grid-template-columns:282px 1fr;

    border-top:1px solid rgba(176,122,63,.22);
    border-left:1px solid rgba(176,122,63,.22);

    border-right:none;
    border-bottom:none;

    background:#030303;
}

.sidebar{
    position:sticky;
    top:0;
    height:100vh;
    background:
        radial-gradient(circle at 50% 0%, rgba(176,122,63,.07), transparent 35%),
        linear-gradient(180deg,#080808,#030303);
    border-right:1px solid var(--line);
    padding:55px 32px 28px;
}

.logo{
    text-align:center;
    border-bottom:1px solid rgba(176,122,63,.12);
    padding-bottom:42px;
}

.logo-mark{
    width:88px;
    height:88px;
    margin:0 auto 22px;
    border-radius:50%;
    display:grid;
    place-items:center;
    position:relative;
    color:var(--gold2);
    font-size:42px;
    font-family:serif;
    box-shadow:
        0 0 35px rgba(176,122,63,.10),
        inset 0 0 18px rgba(176,122,63,.08);
}

.logo-mark:after{
    content:"";
    position:absolute;
    inset:0;
    border-radius:50%;
    padding:1px;
    background:conic-gradient(
        from -90deg,
        rgba(208,160,99,.96) 0deg,
        rgba(208,160,99,.96) var(--ring-angle),
        rgba(176,122,63,.18) var(--ring-angle),
        rgba(176,122,63,.18) 360deg
    );
    -webkit-mask:
        linear-gradient(#000 0 0) content-box,
        linear-gradient(#000 0 0);
    -webkit-mask-composite:xor;
    mask-composite:exclude;
    animation:ring-complete 18s ease-in-out infinite;
    filter:drop-shadow(0 0 7px rgba(208,160,99,.55));
}

.logo-mark .ring-light{
    position:absolute;
    inset:-3px;
    border-radius:50%;
    background:conic-gradient(
        from -90deg,
        transparent 0deg,
        transparent calc(var(--ring-angle) - 18deg),
        rgba(255,222,165,.55) var(--ring-angle),
        transparent calc(var(--ring-angle) + 18deg),
        transparent 360deg
    );
    -webkit-mask:
        radial-gradient(circle, transparent 0 45px, #000 46px 48px, transparent 49px);
    mask:
        radial-gradient(circle, transparent 0 45px, #000 46px 48px, transparent 49px);
    animation:ring-complete 18s ease-in-out infinite;
    filter:blur(.8px) drop-shadow(0 0 8px rgba(255,211,139,.32));
    pointer-events:none;
}

.logo-mark .inner-dot{
    position:absolute;
    width:16px;
    height:16px;
    border-radius:50%;
    border:1px solid rgba(208,160,99,.72);
    box-shadow:0 0 12px rgba(208,160,99,.32);
    opacity:.82;
}

.triangle-3d{
    position:relative;
    z-index:3;
    display:inline-block;
    transform-style:preserve-3d;
    transform:perspective(260px) rotateX(0deg) rotateY(0deg) rotateZ(0deg);
    transition:
        transform .75s var(--ease-soft),
        text-shadow .75s ease,
        color .75s ease;
    will-change:transform;
    text-shadow:
        0 0 8px rgba(208,160,99,.18),
        0 0 18px rgba(208,160,99,.08);
}

.logo-mark:hover .triangle-3d{
    color:rgba(255,224,170,.98);
    text-shadow:
        0 0 8px rgba(255,235,190,.72),
        0 0 22px rgba(208,160,99,.46),
        0 0 40px rgba(208,160,99,.20);
}

.logo-mark:hover{
    cursor:pointer;
}

@keyframes ring-complete{

    0%{
        --ring-angle:0deg;
        opacity:.18;
        filter:
            drop-shadow(0 0 2px rgba(208,160,99,.10))
            brightness(.82);
    }

    8%{
        opacity:.42;
    }

    50%{
        --ring-angle:360deg;
        opacity:.72;
        filter:
            drop-shadow(0 0 5px rgba(208,160,99,.34))
            brightness(1.02);
    }

    56%{
        --ring-angle:360deg;
        opacity:.96;
        filter:
            drop-shadow(0 0 10px rgba(255,235,190,.70))
            drop-shadow(0 0 22px rgba(255,220,160,.52))
            drop-shadow(0 0 44px rgba(208,160,99,.34))
            brightness(1.20);
    }

    59%{
        --ring-angle:360deg;
        opacity:1;
        filter:
            drop-shadow(0 0 18px rgba(255,245,220,.98))
            drop-shadow(0 0 38px rgba(255,220,160,.86))
            drop-shadow(0 0 78px rgba(255,220,160,.46))
            brightness(1.55);
    }

    64%{
        --ring-angle:360deg;
        opacity:.78;
        filter:
            drop-shadow(0 0 13px rgba(255,235,190,.52))
            drop-shadow(0 0 28px rgba(208,160,99,.30))
            brightness(1.16);
    }

    70%{
        --ring-angle:360deg;
        opacity:.46;
        filter:
            drop-shadow(0 0 8px rgba(208,160,99,.22))
            brightness(.98);
    }

    76%{
        --ring-angle:360deg;
        opacity:.24;
        filter:
            drop-shadow(0 0 4px rgba(208,160,99,.14))
            brightness(.86);
    }

    100%{
        --ring-angle:360deg;
        opacity:.12;
        filter:
            drop-shadow(0 0 1px rgba(208,160,99,.08))
            brightness(.78);
    }
}

@property --ring-angle{
    syntax:"<angle>";
    inherits:false;
    initial-value:0deg;
}

@media (prefers-reduced-motion: reduce){
    *,
    *::before,
    *::after{
        animation-duration:.01ms !important;
        animation-iteration-count:1 !important;
        scroll-behavior:auto !important;
    }
}

.logo h1{
    font-family:"Cormorant Garamond",serif;
    font-weight:300;
    font-size:32px;
    letter-spacing:9px;
}

.logo p{
    font-family:"Montserrat",sans-serif;
    color:var(--muted);
    font-size:13px;
    letter-spacing:4px;
    margin-top:8px;
}

.menu{
    margin-top:25px;
    display:flex;
    flex-direction:column;
    gap:21px;
    font-family:"Montserrat",sans-serif;
}

.menu a{
    text-decoration:none;
    color:#9b9187;
    font-size:12px;
    display:flex;
    align-items:center;
    gap:15px;
    transition:var(--t-fast) ease;
}

.menu a:hover,
.menu a.active{
    color:var(--gold2);
    transform:translateX(4px);
}

.side-bottom{
    position:absolute;
    left:0;
    right:0;
    bottom:35px;
    text-align:center;
    font-family:"Montserrat",sans-serif;
    color:#786f66;
    font-size:11px;
    letter-spacing:1px;
}

.main{
    min-width:0;
    background:
        radial-gradient(circle at 65% 10%, rgba(176,122,63,.10), transparent 32%),
        #050505;
}

.hero{
    position:relative;
    border-bottom:1px solid var(--line);
    background:#050505;
}

.hero-slideshow{
    position:absolute;
    inset:0;
    z-index:0;
    overflow:hidden;
}

.hero-slide{
    position:absolute;
    inset:-5%;
    background-size:cover;
    background-position:88% center;
    background-repeat:no-repeat;
    opacity:0;
    transform:scale(1.16) translate3d(0,0,0);
    transition:opacity 4.5s ease-in-out,
        transform 28s ease-in-out;
    will-change:transform, opacity;
}

.hero-slide.active{
    opacity:1;
}

.hero-shade{
    position:absolute;
    inset:0;
    background-image:linear-gradient(90deg,
            rgba(0,0,0,1) 0%,
            rgba(0,0,0,.98) 22%,
            rgba(0,0,0,.84) 39%,
            rgba(0,0,0,.42) 58%,
            rgba(0,0,0,.18) 78%,
            rgba(0,0,0,.42) 100%
        ),
        radial-gradient(circle at 75% 48%, rgba(188,108,45,.22), transparent 42%),
        linear-gradient(180deg, rgba(0,0,0,.08) 0%, rgba(0,0,0,0) 46%, rgba(0,0,0,.64) 100%),
        radial-gradient(circle at 70% 50%, rgba(0,0,0,0) 0 35%, rgba(0,0,0,.24) 70%, rgba(0,0,0,.68) 100%);
    pointer-events:none;
}

.hero:after{
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(180deg, transparent 70%, rgba(0,0,0,.42));
    pointer-events:none;
}

.hero-text{
    position:relative;
    padding:112px 40px 0 108px;
    width:58%;
}

.hero-text h2{
    font-family:"Cormorant Garamond",serif;
    font-size:51px;
    line-height:1.03;
    letter-spacing:5px;
    font-weight:300;
    text-transform:uppercase;
    text-shadow:0 0 20px rgba(255,255,255,.12);
}

.hero-text p{
    margin-top:29px;
    font-family:"Montserrat",sans-serif;
    color:var(--gold2);
    font-size:15px;
    line-height:1.75;
    letter-spacing:2.4px;
    text-transform:uppercase;
}

.btn{
    margin-top:27px;
    display:inline-flex;
    align-items:center;
    gap:22px;
    padding:15px 25px;
    border:1px solid rgba(176,122,63,.58);
    background:rgba(0,0,0,.18);
    color:var(--gold2);
    font-family:"Montserrat",sans-serif;
    font-size:12px;
    letter-spacing:1.4px;
    text-decoration:none;
    transition:var(--t-fast) ease;
}

.btn:hover{
    background:rgba(176,122,63,.12);
    box-shadow:0 0 28px rgba(176,122,63,.12);
}

.values{
    min-height:126px;
    display:grid;
    grid-template-columns:repeat(4,1fr);
    border-bottom:1px solid var(--line);
    background:rgba(6,6,6,.96);
}

.value{
    display:grid;
    grid-template-columns:64px 1fr;
    gap:17px;
    align-items:center;
    padding:26px 34px;
    border-right:1px solid rgba(176,122,63,.13);
}

.value-icon{
    color:var(--gold);
    font-size:48px;
    font-family:serif;
    opacity:.95;
    text-shadow:0 0 8px rgba(208,160,99,.12),
        0 0 18px rgba(208,160,99,.06);
}

.value:hover .value-icon{
    opacity:1;
}

.value h3{
    font-family:"Montserrat",sans-serif;
    color:#c8beb2;
    font-weight:400;
    font-size:12px;
    line-height:1.45;
    letter-spacing:1.6px;
}

.value p{
    font-family:"Montserrat",sans-serif;
    color:#7f766e;
    font-size:12px;
    line-height:1.55;
    margin-top:5px;
}

.catalog{
    padding:25px 28px 15px;
    border-bottom:1px solid var(--line);
    overflow:visible;
}

.section-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    margin-bottom:15px;
}

.section-head h2{
    font-family:"Cormorant Garamond",serif;
    font-size:30px;
    letter-spacing:4px;
    font-weight:300;
}

.section-head a{
    color:#9b8060;
    text-decoration:none;
    font-family:"Montserrat",sans-serif;
    font-size:11px;
    letter-spacing:1.8px;
}

.cards{
    display:grid;
    grid-template-columns:repeat(6,1fr);
    gap:10px;
    perspective:1100px;
    overflow:visible;
}

.card{
    min-height:250px;
    background:#080706;
    border:1px solid rgba(176,122,63,.30);
    overflow:hidden;
    transition:
        transform .34s var(--ease-soft),
        border-color .32s ease,
        box-shadow .32s ease,
        z-index .01s linear;
    transform-style:preserve-3d;
    will-change:transform;
    transform:translate3d(0,0,0) scale(1) rotateX(0deg) rotateY(0deg);
    position:relative;
    z-index:1;
}

.card:hover{
    z-index:50;
    border-color:rgba(208,160,99,.70);
    box-shadow:
        var(--shadow-card),
        0 0 26px rgba(208,160,99,.10);
}

.card-img{
    height:180px;
    overflow:hidden;
    background:#111;
    position:relative;
}

.card-img:after{
    content:"";
    position:absolute;
    inset:0;
    background:
        radial-gradient(circle at var(--mx, 50%) var(--my, 50%), rgba(208,160,99,.12), transparent 34%),
        linear-gradient(180deg, transparent 40%, rgba(0,0,0,.34));
    opacity:0;
    transition:opacity var(--t-soft) ease;
    pointer-events:none;
}

.card:hover .card-img:after{
    opacity:1;
}

.card-img img{
    width:100%;
    height:100%;
    object-fit:cover;
    filter:brightness(.62) contrast(1.15) sepia(.22) saturate(.75);
    transition:filter var(--t-soft) ease;
    transform:scale(1);
}

.card:hover img{
    filter:brightness(.82) contrast(1.17) sepia(.12) saturate(.85);
}

.card-info{
    padding:15px 14px;
    font-family:"Montserrat",sans-serif;
}

.card-info h3{
    color:var(--gold2);
    font-weight:400;
    font-size:13px;
    letter-spacing:1.2px;
    margin-bottom:8px;
    display:inline-block;
    transform-style:preserve-3d;
    transform:perspective(260px) rotateX(0deg) rotateY(0deg) rotateZ(0deg) translateZ(0);
    transition:
        color var(--t-medium) ease,
        text-shadow var(--t-medium) ease,
        transform var(--t-fast) ease;
    will-change:transform;
    text-shadow:
        0 0 6px rgba(208,160,99,.10),
        0 0 14px rgba(208,160,99,.05);
}

.card:hover .card-info h3{
    color:rgba(255,224,170,.98);
    text-shadow:
        0 0 7px rgba(255,235,190,.62),
        0 0 18px rgba(208,160,99,.42),
        0 0 32px rgba(208,160,99,.18);
}

.card:hover .card-info p{
    color:rgba(214,193,164,.86);
}

.card-info p{
    color:#8e8377;
    font-size:12px;
}

.cover-cards{
    margin-bottom:18px;
}

.cover-card{
    display:block;
    text-decoration:none;
    color:inherit;
    min-height:250px;
}

.cover-card .card-img{
    height:180px;
}

.active-cover{
    border-color:rgba(208,160,99,.62);
    box-shadow:
        inset 0 0 0 1px rgba(208,160,99,.10),
        0 0 28px rgba(208,160,99,.05);
}

.collection-frame{
    margin-top:16px;
    border:1px solid rgba(176,122,63,.35);
    background:
        radial-gradient(circle at 22% 0%, rgba(176,122,63,.10), transparent 34%),
        linear-gradient(180deg, rgba(13,10,8,.96), rgba(5,5,5,.98));
    padding:26px;
    position:relative;
    overflow:visible;
}

.collection-frame:before{
    content:"";
    position:absolute;
    inset:9px;
    border:1px solid rgba(176,122,63,.08);
    pointer-events:none;
}

.collection-frame-head{
    display:flex;
    justify-content:space-between;
    align-items:flex-end;
    gap:22px;
    margin-bottom:22px;
    position:relative;
    z-index:2;
}

.collection-frame-head span{
    display:block;
    font-family:"Montserrat",sans-serif;
    color:var(--gold2);
    font-size:10px;
    letter-spacing:2.5px;
    margin-bottom:7px;
}

.collection-frame-head h2{
    font-family:"Cormorant Garamond",serif;
    font-size:42px;
    letter-spacing:7px;
    font-weight:300;
    margin-bottom:8px;
}

.collection-frame-head p{
    max-width:760px;
    font-family:"Montserrat",sans-serif;
    color:#9d948a;
    font-size:12px;
    line-height:1.7;
}

.collection-meta{
    min-width:105px;
    height:105px;
    border:1px solid rgba(176,122,63,.35);
    border-radius:50%;
    display:grid;
    place-items:center;
    align-content:center;
    box-shadow:0 0 28px rgba(176,122,63,.08);
}

.collection-meta strong{
    font-family:"Cormorant Garamond",serif;
    color:var(--gold2);
    font-size:35px;
    font-weight:300;
    line-height:1;
}

.collection-meta span{
    font-size:9px;
    margin:0;
    color:#8f867c;
}

.product-grid-inside{
    position:relative;
    z-index:2;
    display:grid;
    grid-template-columns:repeat(5,1fr);
    gap:12px;
    perspective:1100px;
    overflow:visible;
}

.product-grid-inside .product-card{
    min-height:430px;
}

@media(max-width:1300px){
    .product-grid-inside{grid-template-columns:repeat(3,1fr);}
}

@media(max-width:620px){
    .product-grid-inside{grid-template-columns:1fr;}
}

.product-card{
    min-height:430px;
}

.product-code{
    position:absolute;
    top:10px;
    right:12px;
    z-index:3;
    font-family:"Montserrat",sans-serif;
    font-size:10px;
    letter-spacing:2px;
    color:rgba(235,230,221,.54);
    background:rgba(0,0,0,.34);
    border:1px solid rgba(176,122,63,.22);
    padding:5px 7px;
}

.product-category{
    font-family:"Montserrat",sans-serif;
    color:#9b9187;
    font-size:10px;
    letter-spacing:2px;
    margin-bottom:6px;
}

.product-measures{
    color:#a79c91 !important;
    margin-bottom:13px;
}

.price-row{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:10px;
    font-family:"Montserrat",sans-serif;
    font-size:11px;
    color:#92887d;
    border-top:1px solid rgba(176,122,63,.13);
    padding-top:9px;
    margin-top:8px;
}

.price-row strong{
    color:#1b1612;
    background:rgba(208,160,99,.76);
    padding:5px 8px;
    font-weight:500;
    letter-spacing:.5px;
}

.price-row.mayorista strong{
    background:rgba(190,186,185,.70);
}

.product-description{
    margin-top:13px;
    color:#8f867c !important;
}

.product-grid-inside .product-card{
    transform-style:preserve-3d;
}

.product-grid-inside .product-card:hover{
    transform:translate3d(0,-7px,0) scale(1.045);
    border-color:rgba(208,160,99,.72);
    box-shadow:var(--shadow-card-deep),
        0 0 28px rgba(208,160,99,.10);
}

.product-grid-inside .product-card .card-img img{
    transform:none !important;
}

.product-grid-inside .product-card:hover .card-img img{
    transform:none !important;
    filter:brightness(.86) contrast(1.15) sepia(.10) saturate(.88);
}

body.modal-open .page{
    filter:blur(5px) brightness(.58);
    transform:scale(.992);
    transition:
        filter var(--t-medium) ease,
        transform var(--t-medium) ease;
    pointer-events:none;
}

.page{
    transition:
        filter var(--t-medium) ease,
        transform var(--t-medium) ease;
}

.product-modal{
    position:fixed;
    inset:0;
    z-index:9998;
    display:grid;
    place-items:center;
    opacity:0;
    pointer-events:none;
    transition:opacity var(--t-medium) ease;
}

.product-modal.active{
    opacity:1;
    pointer-events:auto;
}

.modal-backdrop{
    position:absolute;
    inset:0;
    background:
        radial-gradient(circle at 50% 45%, rgba(176,122,63,.16), transparent 38%),
        rgba(0,0,0,.60);
}

.modal-content{
    position:relative;
    z-index:2;
    width:min(88vw, 880px);
    max-height:88vh;
    display:grid;
    grid-template-columns:minmax(280px, 520px) 1fr;
    gap:28px;
    align-items:center;
    padding:28px;
    border:1px solid rgba(208,160,99,.42);
    background:
        radial-gradient(circle at 26% 22%, rgba(176,122,63,.13), transparent 36%),
        linear-gradient(180deg, rgba(13,10,8,.96), rgba(4,4,4,.98));
    box-shadow:
        0 34px 110px rgba(0,0,0,.82),
        0 0 44px rgba(208,160,99,.12);
    transform:translateY(28px) scale(.94);
    transition:transform .55s var(--ease-soft);
}

.product-modal.active .modal-content{
    transform:translateY(0) scale(1);
}

.modal-image-wrap{
    height:min(70vh, 620px);
    display:grid;
    place-items:center;
    overflow:hidden;
    border:1px solid rgba(176,122,63,.22);
    background:
        radial-gradient(circle at center, rgba(208,160,99,.10), transparent 48%),
        rgba(0,0,0,.32);
}

.modal-image-wrap img{
    width:100%;
    height:100%;
    object-fit:contain;
    filter:brightness(.96) contrast(1.08) sepia(.05) saturate(.9);
}

.modal-info{
    font-family:"Montserrat",sans-serif;
}

.modal-info span{
    display:inline-block;
    color:var(--gold2);
    border:1px solid rgba(176,122,63,.34);
    padding:6px 9px;
    font-size:11px;
    letter-spacing:2px;
    margin-bottom:18px;
}

.modal-info h2{
    font-family:"Cormorant Garamond",serif;
    font-size:48px;
    line-height:1;
    letter-spacing:3px;
    font-weight:300;
    margin-bottom:18px;
}

.modal-info h3{
    font-family:"Montserrat",sans-serif;
    font-weight:400;
    color:var(--gold2);
    font-size:11px;
    letter-spacing:2.5px;
    margin-bottom:10px;
}

.modal-info p{
    color:#a79c91;
    font-size:13px;
    line-height:1.8;
}

.modal-close{
    position:absolute;
    top:14px;
    right:16px;
    z-index:5;
    width:36px;
    height:36px;
    border:1px solid rgba(176,122,63,.38);
    background:rgba(0,0,0,.35);
    color:var(--gold2);
    font-size:26px;
    line-height:1;
    cursor:pointer;
    transition:var(--t-fast) ease;
}

.modal-close:hover{
    background:rgba(176,122,63,.16);
    box-shadow:0 0 18px rgba(208,160,99,.18);
}

@media(max-width:800px){
    .modal-content{
        grid-template-columns:1fr;
        width:92vw;
        max-height:90vh;
        overflow:auto;
    }

    .modal-image-wrap{
        height:56vh;
    }

    .modal-info h2{
        font-size:36px;
    }
}

.portavelas-panel,
.portasahumerios-panel{
    max-height:0;
    opacity:0;
    transform:translateY(-12px);
    overflow:hidden !important;
    padding-top:0 !important;
    padding-bottom:0 !important;
    margin-top:0 !important;
    border-color:transparent !important;
    transition:
        max-height var(--t-slow) var(--ease-soft),
        opacity var(--t-medium) ease,
        transform .55s var(--ease-soft),
        margin var(--t-medium) ease,
        padding var(--t-medium) ease,
        border-color var(--t-medium) ease;
}

.portavelas-panel.open,
.portasahumerios-panel.open{
    max-height:5000px;
    opacity:1;
    transform:translateY(0);
    overflow:visible !important;
    padding-top:26px !important;
    padding-bottom:26px !important;
    margin-top:16px !important;
    border-color:rgba(176,122,63,.35) !important;
}

.cover-card.active-cover{
    cursor:pointer;
}

.cover-card.active-cover:after,
.cover-card.js-open-portasahumerios:after{
    content:"CLICK PARA ABRIR";
    position:absolute;
    left:14px;
    bottom:72px;
    z-index:5;
    font-family:"Montserrat",sans-serif;
    font-size:9px;
    letter-spacing:1.6px;
    color:rgba(208,160,99,.68);
    opacity:.0;
    transition:opacity .28s ease;
}

.cover-card.active-cover:hover:after,
.cover-card.js-open-portasahumerios:hover:after{
    opacity:1;
}

.cover-card.active-cover.opened:after,
.cover-card.js-open-portasahumerios.opened:after{
    content:"COLECCIÓN ABIERTA";
    opacity:1;
}

.product-grid-inside .product-card{
    transform-origin:center center;
    transform:translate3d(0,0,0) scale(1);
    transition:
        transform var(--t-ritual) var(--ease-ritual),
        border-color .36s ease,
        box-shadow .42s ease,
        filter .42s ease;
}

.product-grid-inside .product-card:hover{
    filter:brightness(1.04);
}

.product-grid-inside .product-card:hover .card-img{
    filter:brightness(1.08);
}

.product-grid-inside .product-card{
    cursor:pointer;
}

body.image-modal-open .page{
    filter:none !important;
    transform:scale(.992);
    pointer-events:none;
}

.image-modal{
    position:fixed;
    inset:0;
    z-index:9999;
    display:grid;
    place-items:center;
    opacity:0;
    pointer-events:none;
    transition:opacity .42s ease;
}

.image-modal.active{
    opacity:1;
    pointer-events:auto;
}

.image-modal.closing{
    opacity:0;
}

.image-modal-backdrop{
    position:absolute;
    inset:0;
    background:
        radial-gradient(circle at 50% 45%, rgba(176,122,63,.16), transparent 38%),
        rgba(0,0,0,.66);
    cursor:pointer;
}

.image-modal-content{
    position:relative;
    z-index:2;
    width:min(92vw, 900px);
    height:min(88vh, 820px);
    display:grid;
    grid-template-rows:1fr auto;
    gap:18px;
    padding:0;
    border:none;
    background:transparent;
    box-shadow:none;
    cursor:pointer;
    transform-origin:var(--origin-x, 50%) var(--origin-y, 50%);
    transform:translate3d(var(--from-x, 0px), var(--from-y, 0px), 0) scale(.16);
    opacity:0;
    transition:
        transform .62s var(--ease-ritual),
        opacity .38s ease;
}

.image-modal.active .image-modal-content{
    transform:translate3d(0,0,0) scale(1);
    opacity:1;
}

.image-modal.closing .image-modal-content{
    transform:translate3d(var(--from-x, 0px), var(--from-y, 0px), 0) scale(.16);
    opacity:0;
}

.image-modal-content img{
    width:100%;
    height:100%;
    min-height:0;
    object-fit:contain;
    filter:
        brightness(.98)
        contrast(1.08)
        sepia(.05)
        saturate(.9)
        drop-shadow(0 32px 80px rgba(0,0,0,.82))
        drop-shadow(0 0 38px rgba(208,160,99,.14));
}

.image-modal-caption{
    text-align:center;
    font-family:"Montserrat",sans-serif;
    text-shadow:0 8px 32px rgba(0,0,0,.85);
}

.image-modal-caption span{
    display:inline-block;
    color:rgba(208,160,99,.86);
    font-size:10px;
    letter-spacing:2.5px;
    margin-bottom:7px;
}

.image-modal-caption h2{
    font-family:"Cormorant Garamond",serif;
    color:#eee8dc;
    font-weight:300;
    font-size:34px;
    letter-spacing:4px;
    margin-bottom:8px;
}

.image-modal-caption p{
    max-width:620px;
    margin:0 auto;
    color:rgba(235,230,221,.72);
    font-size:13px;
    line-height:1.7;
}

@media(max-width:700px){
    .image-modal-content{
        width:94vw;
        height:86vh;
    }

    .image-modal-caption h2{
        font-size:28px;
    }

    .image-modal-caption p{
        font-size:12px;
    }
}

.product-grid-inside .product-card .card-img{
    height:235px;
}

.product-grid-inside .product-card:hover .card-img{
    height:180px;
}

.product-grid-inside .product-card .price-row{
    max-height:0;
    opacity:0;
    transform:translateY(-8px);
    overflow:hidden;
    padding-top:0;
    border-color:transparent;
    transition:max-height .48s var(--ease-ritual),
        opacity .34s ease,
        transform .48s var(--ease-ritual),
        margin .42s ease,
        padding .42s ease,
        border-color .42s ease;
}

.product-grid-inside .product-card:hover .price-row{
    opacity:1;
    transform:translateY(0);
    margin-top:8px;
    padding-top:9px;
    border-color:rgba(176,122,63,.13);
}

.product-grid-inside .product-card .product-description{
    transition:
        opacity .34s ease,
        transform .45s var(--ease-ritual);
}

.product-grid-inside .product-card:hover .product-description{
    opacity:.78;
    transform:translateY(-2px);
}

.image-modal-content img{
    transition:transform var(--t-instant) ease-out;
    transform-origin:center center;
    will-change:transform;
    cursor:zoom-in;
}

.image-modal.zoomed .image-modal-content img{
    cursor:zoom-out;
}

.image-modal.zoomed .image-modal-content img{
    transform:scale(1.38) !important;
}
@keyframes text-heartbeat{
    0%{
        text-shadow:
            0 0 5px rgba(255,235,190,.24),
            0 0 14px rgba(208,160,99,.16),
            0 0 28px rgba(208,160,99,.08);
        filter:brightness(1);
    }

    22%{
        text-shadow:
            0 0 9px rgba(255,245,220,.54),
            0 0 22px rgba(255,220,160,.34),
            0 0 44px rgba(208,160,99,.18);
        filter:brightness(1.08);
    }

    44%{
        text-shadow:
            0 0 6px rgba(255,235,190,.28),
            0 0 16px rgba(208,160,99,.18),
            0 0 32px rgba(208,160,99,.10);
        filter:brightness(1.02);
    }

    66%{
        text-shadow:
            0 0 10px rgba(255,245,220,.62),
            0 0 26px rgba(255,220,160,.38),
            0 0 52px rgba(208,160,99,.20);
        filter:brightness(1.1);
    }

    100%{
        text-shadow:
            0 0 5px rgba(255,235,190,.24),
            0 0 14px rgba(208,160,99,.16),
            0 0 28px rgba(208,160,99,.08);
        filter:brightness(1);
    }
}

.menu a:hover,
.value:hover h3,
.section-head a:hover,
.btn:hover,
.cover-card:hover .card-info h3,
.cover-card.active-cover:hover .card-info h3,
.logo:hover h1,
.product-grid-inside .product-card:hover .card-info h3{
    color:rgba(255,228,178,.96) !important;
    animation:text-heartbeat 3.8s ease-in-out infinite;
}

.value:hover p,
.logo:hover p,
.card:hover .card-info p,
.product-grid-inside .product-card:hover .product-description,
.product-grid-inside .product-card:hover .product-category,
.product-grid-inside .product-card:hover .product-measures,
.price-row:hover span,
.price-row:hover strong{
    animation:none !important;
    text-shadow:none !important;
    filter:none !important;
}

.cover-card{
    overflow:hidden;
    transform-style:preserve-3d;
    will-change:transform;
}

.cover-card .card-img{
    overflow:hidden;
    position:relative;
}

.cover-card .card-img img{
    width:112%;
    height:112%;
    margin-left:-6%;
    margin-top:-6%;
    transform:scale(1.16) translate3d(0,0,0);
    transition:
        transform .18s linear,
        filter var(--t-soft) ease;
    will-change:transform;
}

.cover-card:hover .card-img img{
    filter:brightness(.88) contrast(1.18) sepia(.10) saturate(.90);
}

.cover-card .card-img:after{
    content:"";
    position:absolute;
    inset:0;
    background:
        radial-gradient(circle at var(--mx, 50%) var(--my, 50%), rgba(255,220,160,.16), transparent 32%),
        linear-gradient(180deg, transparent 42%, rgba(0,0,0,.38));
    opacity:0;
    transition:opacity var(--t-soft) ease;
    pointer-events:none;
}

.cover-card:hover .card-img:after{
    opacity:1;
}

.logo{
    background:transparent !important;
    box-shadow:none !important;
}

.brand-logo{
    display:block;
    width:190px;
    max-width:100%;
    height:auto;
    margin:0 auto;
    object-fit:contain;
    background:transparent;
    opacity:1;
    filter:none;
    mix-blend-mode:normal;
    transition:transform var(--t-soft) ease;
}

.logo:hover .brand-logo{
    transform:translateY(-1px) scale(1.12);
}

.logo-mark{
    opacity:.92;
}

.js-open-portasahumerios{
    cursor:pointer;
}

.js-open-portasahumerios.opened{
    border-color:rgba(255,220,160,.82);
    box-shadow:
        0 0 24px rgba(208,160,99,.18),
        0 0 54px rgba(208,160,99,.08),
        inset 0 0 18px rgba(208,160,99,.06);
}

.js-open-portasahumerios.opened::before{
    content:"";
    position:absolute;
    left:50%;
    bottom:-18px;
    width:1px;
    height:18px;
    background:linear-gradient(180deg, rgba(255,220,160,.85), rgba(208,160,99,0));
    box-shadow:0 0 12px rgba(255,220,160,.45);
    z-index:20;
}

.value{
    perspective:700px;
}

.value-icon{
    display:inline-block;
    transform-style:preserve-3d;
    transform:
        perspective(320px)
        rotateX(0deg)
        rotateY(0deg)
        rotateZ(0deg)
        translateZ(0)
        scale(1);
    transform-origin:center center;
    will-change:transform, filter, text-shadow;
    transition:
        transform .18s linear,
        filter var(--t-soft) ease,
        text-shadow var(--t-soft) ease,
        color var(--t-soft) ease;
}

.value:hover .value-icon{
    color:rgba(255,224,170,.98);
    filter:
        brightness(1.55)
        drop-shadow(0 0 8px rgba(255,235,190,.54))
        drop-shadow(0 0 22px rgba(208,160,99,.32));
    text-shadow:
        0 0 8px rgba(255,235,190,.62),
        0 0 22px rgba(208,160,99,.38),
        0 0 38px rgba(208,160,99,.16);
}

.value-icon.icon-field-active{
    color:rgba(255,224,170,.98);
    filter:
        brightness(1.55)
        drop-shadow(0 0 8px rgba(255,235,190,.54))
        drop-shadow(0 0 22px rgba(208,160,99,.32));
    text-shadow:
        0 0 8px rgba(255,235,190,.62),
        0 0 22px rgba(208,160,99,.38),
        0 0 38px rgba(208,160,99,.16);
}

.hero-text{
    text-shadow:
        0 0 18px rgba(0,0,0,.92),
        0 0 32px rgba(208,160,99,.08);
}

.menu .ico{
    font-size:18px;
    width:22px;
    display:inline-block;
    text-align:center;
    color:var(--gold2);
    text-shadow:
        0 0 8px rgba(208,160,99,.28),
        0 0 18px rgba(208,160,99,.12);
    transform:translateY(1px);
}

.menu a:hover .ico,
.menu a.active .ico{
    color:rgba(255,224,170,.98);
    text-shadow:
        0 0 8px rgba(255,235,190,.55),
        0 0 24px rgba(208,160,99,.32);
}

@keyframes solid-orbit{
    0%{
        transform:rotateX(58deg) rotateY(0deg) rotateZ(0deg);
    }
    50%{
        transform:rotateX(58deg) rotateY(180deg) rotateZ(18deg);
    }
    100%{
        transform:rotateX(58deg) rotateY(360deg) rotateZ(0deg);
    }
}


.tetrahedron-icon .edge{
    width:18px;
    height:1.4px;
    background:rgba(222,166,91,.92);
    transform-origin:left center;
}
.tetrahedron-icon .e1{ transform:translate(-9px,7px) rotate(0deg); }
.tetrahedron-icon .e2{ transform:translate(-9px,7px) rotate(-58deg); width:19px; }
.tetrahedron-icon .e3{ transform:translate(9px,7px) rotate(-122deg); width:19px; }
.tetrahedron-icon .e4{ transform:translate(-9px,7px) rotate(-22deg) translateZ(8px); width:19px; opacity:.68; }
.tetrahedron-icon .e5{ transform:translate(0px,-10px) rotate(58deg) translateZ(8px); width:17px; opacity:.78; }
.tetrahedron-icon .e6{ transform:translate(0px,-10px) rotate(122deg) translateZ(-5px); width:17px; opacity:.55; }

.cube-icon .face{
    width:15px;
    height:15px;
    border:1.4px solid rgba(222,166,91,.92);
    transform:translate(-50%,-50%);
}
.cube-icon .front{ transform:translate(-42%,-42%) rotateZ(0deg) translateZ(8px); }
.cube-icon .back{ transform:translate(-58%,-58%) rotateZ(0deg) translateZ(-8px); opacity:.55; }
.cube-icon .edge{
    width:10px;
    height:1.4px;
    background:rgba(222,166,91,.92);
    transform-origin:left center;
}
.cube-icon .e1{ transform:translate(-10px,-10px) rotate(45deg); }
.cube-icon .e2{ transform:translate(5px,-10px) rotate(45deg); }
.cube-icon .e3{ transform:translate(-10px,5px) rotate(45deg); }

.octahedron-icon .edge{
    width:18px;
    height:1.4px;
    background:rgba(222,166,91,.92);
    transform-origin:left center;
}
.octahedron-icon .e1{ transform:translate(-9px,0) rotate(-32deg); }
.octahedron-icon .e2{ transform:translate(6px,-9px) rotate(72deg); }
.octahedron-icon .e3{ transform:translate(-9px,0) rotate(32deg); }
.octahedron-icon .e4{ transform:translate(6px,9px) rotate(-72deg); }
.octahedron-icon .e5{ transform:translate(-9px,0) rotate(0deg) translateZ(8px); opacity:.72; }
.octahedron-icon .e6{ transform:translate(-9px,0) rotate(0deg) translateZ(-8px); opacity:.50; }

.dodecahedron-icon .ring{
    width:17px;
    height:17px;
    border:1.4px solid rgba(222,166,91,.92);
    transform:translate(-50%,-50%);
    clip-path:polygon(50% 0%, 96% 35%, 78% 92%, 22% 92%, 4% 35%);
}
.dodecahedron-icon .r1{ transform:translate(-50%,-50%) rotate(0deg) translateZ(8px); }
.dodecahedron-icon .r2{ transform:translate(-50%,-50%) rotate(36deg) scale(.76) translateZ(-4px); opacity:.68; }
.dodecahedron-icon .r3{ transform:translate(-50%,-50%) rotate(72deg) scale(.50) translateZ(-10px); opacity:.46; }

.icosahedron-icon .edge{
    width:18px;
    height:1.3px;
    background:rgba(222,166,91,.92);
    transform-origin:left center;
}
.icosahedron-icon .e1{ transform:translate(-9px,-8px) rotate(0deg); }
.icosahedron-icon .e2{ transform:translate(-9px,8px) rotate(0deg); }
.icosahedron-icon .e3{ transform:translate(-9px,-8px) rotate(58deg); }
.icosahedron-icon .e4{ transform:translate(9px,-8px) rotate(122deg); }
.icosahedron-icon .e5{ transform:translate(-9px,8px) rotate(-58deg); }
.icosahedron-icon .e6{ transform:translate(9px,8px) rotate(-122deg); }
.icosahedron-icon .e7{ transform:translate(0px,-10px) rotate(90deg) translateZ(8px); opacity:.58; }



.flame-menu a{
    display:flex !important;
    align-items:center !important;
    gap:18px !important;
    min-height:42px !important;
}

.flame-menu .flame-icon{
    position:relative;
    width:28px;
    height:34px;
    min-width:28px;
    display:inline-block;
    transform-origin:center bottom;
    filter:
        drop-shadow(0 0 8px rgba(255,214,142,.30))
        drop-shadow(0 0 18px rgba(208,120,45,.14));
}

.flame-menu .flame-glow{
    position:absolute;
    left:50%;
    bottom:4px;
    width:26px;
    height:30px;
    transform:translateX(-50%);
    border-radius:50% 50% 44% 44%;
    background:
        radial-gradient(circle at 50% 70%, rgba(255,236,180,.30), transparent 30%),
        radial-gradient(circle at 50% 45%, rgba(255,150,56,.22), transparent 58%);
    filter:blur(4px);
    opacity:.70;
    animation:flame-glow-breathe 3.7s ease-in-out infinite;
}

.flame-menu .flame-core{
    position:absolute;
    left:50%;
    bottom:5px;
    width:16px;
    height:25px;
    transform:translateX(-50%);
    border-radius:58% 58% 48% 48% / 72% 72% 38% 38%;
    background:
        radial-gradient(circle at 50% 76%, rgba(255,255,220,.98) 0 12%, rgba(255,218,112,.94) 24%, transparent 42%),
        radial-gradient(circle at 50% 48%, rgba(255,177,62,.96), rgba(181,78,28,.72) 52%, rgba(80,30,8,.10) 76%, transparent 82%);
    clip-path:polygon(50% 0%, 68% 22%, 77% 46%, 70% 70%, 50% 100%, 30% 70%, 23% 46%, 32% 22%);
    transform-origin:center bottom;
    animation:flame-up-dance 2.9s ease-in-out infinite;
}

.flame-menu .flame-core::after{
    content:"";
    position:absolute;
    left:50%;
    bottom:5px;
    width:5px;
    height:12px;
    transform:translateX(-50%);
    border-radius:60% 60% 45% 45%;
    background:rgba(255,248,216,.92);
    filter:blur(.4px);
    opacity:.78;
    animation:flame-inner 2.1s ease-in-out infinite;
}

.flame-menu .flame-spark{
    position:absolute;
    left:50%;
    bottom:16px;
    width:2px;
    height:2px;
    border-radius:50%;
    background:rgba(255,220,150,.85);
    box-shadow:0 0 6px rgba(255,220,150,.65),
        0 0 12px rgba(208,120,45,.28);
    animation:spark-rise 4.6s ease-in-out infinite;
}

.flame-menu .flame-spark.s1{
    margin-left:-7px;
    animation-delay:-.8s;
}

.flame-menu .flame-spark.s2{
    margin-left:7px;
    animation-delay:-2.4s;
}

.flame-menu .flame-b .flame-core{ animation-duration:3.2s; animation-delay:-.6s; }
.flame-menu .flame-c .flame-core{ animation-duration:2.7s; animation-delay:-1.1s; }
.flame-menu .flame-d .flame-core{ animation-duration:3.5s; animation-delay:-1.8s; }
.flame-menu .flame-e .flame-core{ animation-duration:3.0s; animation-delay:-2.2s; }

.flame-menu .flame-b .flame-glow{ animation-duration:4.1s; animation-delay:-.4s; }
.flame-menu .flame-c .flame-glow{ animation-duration:3.5s; animation-delay:-1.2s; }
.flame-menu .flame-d .flame-glow{ animation-duration:4.4s; animation-delay:-1.7s; }
.flame-menu .flame-e .flame-glow{ animation-duration:3.8s; animation-delay:-2.0s; }

@keyframes flame-up-dance{
    0%,100%{
        transform:translateX(-50%) translateY(0) scaleX(.92) scaleY(1) rotate(-2deg);
        opacity:.84;
    }
    22%{
        transform:translateX(-52%) translateY(-2px) scaleX(1.04) scaleY(1.10) rotate(3deg);
        opacity:1;
    }
    48%{
        transform:translateX(-48%) translateY(-4px) scaleX(.96) scaleY(1.16) rotate(-4deg);
        opacity:.92;
    }
    72%{
        transform:translateX(-51%) translateY(-1px) scaleX(1.08) scaleY(1.07) rotate(2deg);
        opacity:.98;
    }
}

@keyframes flame-inner{
    0%,100%{
        transform:translateX(-50%) translateY(0) scale(.92);
        opacity:.62;
    }
    50%{
        transform:translateX(-50%) translateY(-2px) scale(1.14);
        opacity:.96;
    }
}

@keyframes flame-glow-breathe{
    0%,100%{
        transform:translateX(-50%) scale(.90);
        opacity:.46;
    }
    45%{
        transform:translateX(-50%) translateY(-2px) scale(1.12);
        opacity:.88;
    }
    72%{
        transform:translateX(-50%) translateY(-1px) scale(1.16);
        opacity:.66;
    }
}

@keyframes spark-rise{
    0%{
        transform:translate3d(0,0,0) scale(.55);
        opacity:0;
    }
    18%{
        opacity:.86;
    }
    55%{
        transform:translate3d(var(--spark-x, 5px), -17px, 0) scale(.9);
        opacity:.34;
    }
    100%{
        transform:translate3d(calc(var(--spark-x, 5px) * -1), -30px, 0) scale(.25);
        opacity:0;
    }
}

.flame-menu .flame-a{ --spark-x:4px; }
.flame-menu .flame-b{ --spark-x:-5px; }
.flame-menu .flame-c{ --spark-x:6px; }
.flame-menu .flame-d{ --spark-x:-4px; }
.flame-menu .flame-e{ --spark-x:5px; }

.flame-menu a:hover .flame-icon,
.flame-menu a.active .flame-icon{
    filter:
        drop-shadow(0 0 10px rgba(255,236,198,.74))
        drop-shadow(0 0 24px rgba(255,150,56,.44))
        drop-shadow(0 0 42px rgba(208,120,45,.22));
}

.flame-menu a:hover .flame-core,
.flame-menu a.active .flame-core{
    animation-duration:1.8s;
}

.flame-menu a:hover .flame-glow,
.flame-menu a.active .flame-glow{
    opacity:.95;
}

.about-modal.active{
    opacity:1;
    pointer-events:auto;
}

.about-modal-content{
    display:grid;
    grid-template-columns:230px 1fr;
    gap:34px;
    align-items:center;
    transition:transform .58s var(--ease-ritual),
        opacity .42s ease;
    cursor:pointer;
}

.about-modal.active .about-modal-content{
    transform:translateY(0);
    opacity:1;
}

.about-modal-logo{
    display:block;
    width:220px;
    max-width:100%;
    height:auto;
    object-fit:contain;
    filter:
        drop-shadow(0 0 10px rgba(255,235,190,.10))
        drop-shadow(0 0 30px rgba(208,160,99,.10));
}

.about-modal-text{
    font-family:"Montserrat",sans-serif;
}

.about-modal-text span{
    display:inline-block;
    margin-bottom:14px;
    color:rgba(208,160,99,.86);
    font-size:10px;
    letter-spacing:3px;
}

.about-modal-text h2{
    font-family:"Cormorant Garamond",serif;
    font-size:46px;
    line-height:.96;
    font-weight:300;
    letter-spacing:4px;
    color:#eee8dc;
    margin-bottom:20px;
    text-shadow:
        0 0 10px rgba(255,235,190,.18),
        0 0 26px rgba(208,160,99,.14);
}

.about-modal-text p{
    color:rgba(226,218,206,.76);
    font-size:13px;
    line-height:1.85;
    margin-bottom:13px;
}

.about-modal-hint{
    position:absolute;
    right:24px;
    bottom:18px;
    font-family:"Montserrat",sans-serif;
    font-size:9px;
    letter-spacing:2px;
    color:rgba(208,160,99,.54);
    text-transform:uppercase;
}

@media(max-width:760px){
    .about-modal-content{
        grid-template-columns:1fr;
        width:92vw;
        padding:34px 26px 30px;
    }

    .about-modal-logo{
        width:190px;
        margin:0 auto;
    }

    .about-modal-text h2{
        font-size:36px;
        text-align:center;
    }

    .about-modal-text span{
        display:block;
        text-align:center;
    }
}

.about-modal{
    position:fixed !important;
    inset:0 !important;
    z-index:10000 !important;
    place-items:center !important;
    opacity:0 !important;
    pointer-events:none !important;
    transition:opacity .34s ease !important;
}

.about-modal.active{
    opacity:1 !important;
    pointer-events:auto !important;
}

.about-modal-content{
    z-index:2 !important;
    min-height:430px !important;
    padding:42px 48px 36px !important;
    display:grid !important;
    align-items:center !important;
    border:1px solid rgba(208,160,99,.38) !important;
    cursor:pointer !important;
    opacity:0;
    transform:translate3d(0,0,0) scale(.16);
    transform-origin:center center;
    will-change:transform, opacity;
}

.about-card-visual{
    display:grid;
    place-items:center;
    min-height:250px;
    border-right:1px solid rgba(208,160,99,.18);
    padding-right:28px;
}

.about-modal-logo{
    display:block !important;
    object-fit:contain !important;
}

.about-modal-text span{
    display:inline-block !important;
    margin-bottom:14px !important;
    color:rgba(208,160,99,.88) !important;
    font-size:10px !important;
    letter-spacing:3px !important;
}

.about-modal-text h2{
    font-family:"Cormorant Garamond",serif !important;
    font-size:48px !important;
    line-height:.96 !important;
    font-weight:300 !important;
    letter-spacing:4px !important;
    color:#eee8dc !important;
    margin-bottom:20px !important;
    text-shadow:
        0 0 10px rgba(255,235,190,.18),
        0 0 26px rgba(208,160,99,.14) !important;
}

.about-modal-text p{
    color:rgba(226,218,206,.78) !important;
    font-size:13px !important;
    line-height:1.85 !important;
    margin-bottom:13px !important;
}

.about-modal-hint{
    position:absolute !important;
    right:24px !important;
    bottom:18px !important;
    font-family:"Montserrat",sans-serif !important;
    font-size:9px !important;
    letter-spacing:2px !important;
    color:rgba(208,160,99,.54) !important;
    text-transform:uppercase !important;
}

@media(max-width:760px){
    .about-modal-content{
        grid-template-columns:1fr !important;
        width:92vw !important;
        padding:34px 26px 30px !important;
    }

    .about-card-visual{
        border-right:none !important;
        border-bottom:1px solid rgba(208,160,99,.18);
        padding-right:0 !important;
        padding-bottom:24px !important;
        min-height:auto !important;
    }

    .about-modal-logo{
        width:200px !important;
    }

    .about-modal-text h2{
        font-size:36px !important;
        text-align:center !important;
    }

    .about-modal-text span{
        display:block !important;
        text-align:center !important;
    }
}

@keyframes about-logo-breathe{
    0%,100%{
        filter:
            drop-shadow(0 0 8px rgba(255,235,190,.18))
            drop-shadow(0 0 26px rgba(208,160,99,.14))
            drop-shadow(0 0 46px rgba(208,120,45,.06));
        opacity:.92;
        transform:scale(1);
    }

    45%{
        filter:
            drop-shadow(0 0 14px rgba(255,245,220,.46))
            drop-shadow(0 0 42px rgba(255,190,96,.30))
            drop-shadow(0 0 78px rgba(208,120,45,.16));
        opacity:1;
        transform:scale(1.018);
    }

    70%{
        filter:
            drop-shadow(0 0 10px rgba(255,235,190,.30))
            drop-shadow(0 0 32px rgba(208,160,99,.20))
            drop-shadow(0 0 56px rgba(208,120,45,.10));
        opacity:.96;
        transform:scale(1.006);
    }
}

@media(max-width:760px){
    .about-modal-logo{
        width:240px !important;
    }
}

.about-card-visual{
    position:relative !important;
    isolation:isolate;
}

.about-card-visual:hover .about-big-flame,
.about-modal-content:hover .about-big-flame{
    opacity:1;
    filter:
        drop-shadow(0 0 26px rgba(255,236,180,.70))
        drop-shadow(0 0 86px rgba(255,142,45,.42));
}

.about-card-visual:hover::before,
.about-modal-content:hover .about-card-visual::before{
    opacity:1;
}

@keyframes about-big-flame-dance{
    0%,100%{
        transform:translateX(-50%) translateY(0) scaleX(.92) scaleY(.96) rotate(-2deg);
    }
    24%{
        transform:translateX(-52%) translateY(-6px) scaleX(1.04) scaleY(1.08) rotate(4deg);
    }
    52%{
        transform:translateX(-48%) translateY(-11px) scaleX(.96) scaleY(1.14) rotate(-5deg);
    }
    78%{
        transform:translateX(-51%) translateY(-4px) scaleX(1.08) scaleY(1.04) rotate(2deg);
    }
}

@keyframes about-inner-flame{
    0%,100%{
        transform:translateX(-50%) translateY(0) scale(.84);
        opacity:.46;
    }
    50%{
        transform:translateX(-50%) translateY(-7px) scale(1.12);
        opacity:.82;
    }
}

@keyframes about-big-flame-glow{
    0%,100%{
        transform:translateX(-50%) scale(.90);
        opacity:.42;
    }
    46%{
        transform:translateX(-50%) translateY(-6px) scale(1.16);
        opacity:.82;
    }
    70%{
        transform:translateX(-50%) translateY(-2px) scale(1.16);
        opacity:.60;
    }
}

.hero{
    overflow:hidden;
}

.hero .btn{
    display:none !important;
}

.hero-slideshow{
    will-change:transform;
    transform:
        translate3d(var(--hero-parallax-x, 0px), var(--hero-parallax-y, 0px), 0)
        scale(1.12);
    transition:transform .16s linear;
}

.hero-slide{
    filter:
        brightness(.64)
        contrast(1.12)
        sepia(.10)
        saturate(.84);
}

.catalog > .values{
    margin-top:18px;
    margin-bottom:18px;
    border-top:1px solid rgba(176,122,63,.28);
    border-bottom:1px solid rgba(176,122,63,.20);
}

.about-card-visual::before{
    content:"";
    position:absolute;
    inset:-26%;
    z-index:0;
    pointer-events:none;
    background:
        radial-gradient(circle at var(--about-light-x, 50%) var(--about-light-y, 50%),
            rgba(255,236,190,.16),
            rgba(208,160,99,.075) 22%,
            rgba(208,120,45,.035) 42%,
            transparent 68%);
    opacity:.78;
    filter:blur(12px);
    transition:opacity var(--t-fast) ease;
}

.about-card-visual:hover::before{
    opacity:1;
}

.about-modal-logo{
    position:relative !important;
    width:340px !important;
    max-width:100% !important;
    height:auto !important;
    background:transparent !important;
    transform:translate3d(var(--about-logo-x, 0px), var(--about-logo-y, 0px), 0)
        rotateX(var(--about-logo-rx, 0deg))
        rotateY(var(--about-logo-ry, 0deg))
        scale(var(--about-logo-scale, 1));
    transform-origin:center center !important;
    will-change:transform, filter, opacity;
    animation:about-logo-breathe-fluid 4.8s ease-in-out infinite !important;
}

@keyframes about-logo-breathe-fluid{
    0%,100%{
        filter:
            drop-shadow(0 0 10px rgba(255,235,190,.18))
            drop-shadow(0 0 32px rgba(208,160,99,.13))
            drop-shadow(0 0 58px rgba(208,120,45,.07));
        opacity:.88;
    }

    42%{
        filter:
            drop-shadow(0 0 20px rgba(255,245,220,.58))
            drop-shadow(0 0 58px rgba(255,190,96,.34))
            drop-shadow(0 0 105px rgba(208,120,45,.18));
        opacity:1;
    }

    68%{
        filter:
            drop-shadow(0 0 14px rgba(255,235,190,.34))
            drop-shadow(0 0 42px rgba(208,160,99,.22))
            drop-shadow(0 0 76px rgba(208,120,45,.11));
        opacity:.94;
    }
}

.about-card-visual{
    perspective:700px;
}

@media(max-width:760px){
    .about-modal-logo{
        width:250px !important;
    }
}

.about-modal-content{
    grid-template-columns:290px 1fr !important;
    gap:38px !important;
    box-shadow:0 34px 120px rgba(0,0,0,.86),
        0 0 74px rgba(208,160,99,.16),
        0 0 130px rgba(208,120,45,.08) !important;
}

.about-modal-content::before{
    content:"";
    position:absolute;
    inset:-90px;
    z-index:-1;
    pointer-events:none;
    background:
        radial-gradient(circle at var(--about-light-x, 50%) var(--about-light-y, 50%),
            rgba(255,218,150,.22),
            rgba(208,126,48,.105) 21%,
            rgba(120,66,22,.045) 42%,
            transparent 70%);
    filter:blur(28px);
    opacity:.92;
    transition:opacity .18s ease;
}

.about-card-visual{
    overflow:visible !important;
    min-height:310px !important;
    border-right:1px solid rgba(208,160,99,.18) !important;
    background:transparent !important;
}

.about-card-visual::before{
    display:none !important;
}

.about-card-visual::after{
    content:"";
    position:absolute;
    inset:-55px -28px;
    z-index:1;
    pointer-events:none;
    background:
        radial-gradient(circle at var(--about-logo-light-x, 50%) var(--about-logo-light-y, 50%),
            rgba(255,236,190,.18),
            rgba(208,160,99,.075) 28%,
            transparent 68%);
    filter:blur(18px);
    opacity:.82;
}

.about-modal-logo{
    z-index:3 !important;
    mix-blend-mode:screen !important;
    opacity:.96 !important;
}

@media(max-width:760px){
    .about-modal-content{
        grid-template-columns:1fr !important;
        overflow:auto !important;
    }

    .about-modal-content::before{
        inset:-55px;
    }

    .about-card-visual{
        border-right:none !important;
        border-bottom:1px solid rgba(208,160,99,.18) !important;
    }
}

@keyframes umbrale-soft-breath{
    0%{
        opacity:.34;
        transform:scale(.96);
        filter:blur(30px) brightness(.84);
    }
    28%{
        opacity:.52;
        transform:scale(1.16);
        filter:blur(34px) brightness(1.02);
    }
    52%{
        opacity:.40;
        transform:scale(.985);
        filter:blur(31px) brightness(.90);
    }
    78%{
        opacity:.58;
        transform:scale(1.04);
        filter:blur(36px) brightness(1.08);
    }
    100%{
        opacity:.34;
        transform:scale(.96);
        filter:blur(30px) brightness(.84);
    }
}

@keyframes umbrale-inner-breath{
    0%{ opacity:.22; filter:brightness(.82); }
    35%{ opacity:.38; filter:brightness(1.02); }
    65%{ opacity:.27; filter:brightness(.90); }
    100%{ opacity:.22; filter:brightness(.82); }
}

.about-modal.light-active .about-modal-backdrop{
    background:
        radial-gradient(circle at 50% 42%, rgba(176,122,63,.06), transparent 34%),
        rgba(0,0,0,.92) !important;
}

.about-modal-content{
    background:
        linear-gradient(180deg, rgba(14,10,7,.955), rgba(3,3,3,.985)) !important;
}

.about-modal-content::before{
    transform:scale(.96);
}

.about-modal.light-active .about-modal-content::before{
    animation:umbrale-soft-breath 3.7s ease-in-out infinite;
}

.about-modal.light-active .about-card-visual::after{
    animation:umbrale-inner-breath 3.2s ease-in-out infinite;
}

.about-modal-logo{
    filter:
        drop-shadow(0 0 8px rgba(255,235,190,.16))
        drop-shadow(0 0 28px rgba(208,160,99,.10)) !important;
}

.about-modal.light-active .about-modal-logo{
    filter:
        drop-shadow(0 0 10px rgba(255,235,190,.22))
        drop-shadow(0 0 36px rgba(208,160,99,.14)) !important;
}

@keyframes umbrale-smoke-rise{
    0%{
        opacity:0;
        transform:
            translate3d(var(--smoke-x, 0px), var(--smoke-y, 0px), 0)
            scale(.45)
            rotate(0deg);
    }
    14%{
        opacity:.34;
    }
    58%{
        opacity:.20;
    }
    100%{
        opacity:0;
        transform:
            translate3d(
                calc(var(--smoke-x, 0px) + var(--smoke-drift, 0px)),
                calc(var(--smoke-y, 0px) - var(--smoke-rise, 86px)),
                0)
            scale(1.55)
            rotate(var(--smoke-rot, 18deg));
    }
}

@keyframes umbrale-soft-breath{
    0%{
        opacity:.48;
        transform:translate3d(-3px, 4px, 0) scale(.78);
        filter:blur(34px) brightness(.92);
    }
    18%{
        opacity:.70;
        transform:translate3d(5px, -7px, 0) scale(.88);
        filter:blur(30px) brightness(1.16);
    }
    34%{
        opacity:.56;
        transform:translate3d(-6px, -2px, 0) scale(.82);
        filter:blur(36px) brightness(1.02);
    }
    52%{
        opacity:.76;
        transform:translate3d(7px, 5px, 0) scale(.91);
        filter:blur(28px) brightness(1.22);
    }
    73%{
        opacity:.50;
        transform:translate3d(-4px, -5px, 0) scale(.80);
        filter:blur(38px) brightness(.98);
    }
    100%{
        opacity:.48;
        transform:translate3d(-3px, 4px, 0) scale(.78);
        filter:blur(34px) brightness(.92);
    }
}

@keyframes umbrale-inner-breath{
    0%{ opacity:.34; transform:translate3d(-2px,2px,0) scale(.82); filter:blur(18px) brightness(.92); }
    25%{ opacity:.58; transform:translate3d(4px,-5px,0) scale(.94); filter:blur(15px) brightness(1.55); }
    47%{ opacity:.42; transform:translate3d(-5px,-1px,0) scale(.86); filter:blur(20px) brightness(1.02); }
    70%{ opacity:.64; transform:translate3d(3px,4px,0) scale(.98); filter:blur(14px) brightness(1.24); }
    100%{ opacity:.34; transform:translate3d(-2px,2px,0) scale(.82); filter:blur(18px) brightness(.92); }
}

.about-modal-content::before{
    inset:-220px !important;
    border-radius:50% !important;
    transform-origin:var(--about-light-x, 50%) var(--about-light-y, 50%) !important;
}

.about-card-visual::after{
    inset:-90px -70px !important;
    border-radius:50% !important;
    opacity:0 !important;
}

@keyframes umbrale-smoke-rise{
    0%{
        opacity:0;
        transform:
            translate3d(var(--smoke-x, 0px), var(--smoke-y, 0px), 0)
            scaleY(.16)
            scaleX(.62)
            rotate(0deg);
    }
    10%{
        opacity:.62;
    }
    36%{
        opacity:.46;
        transform:
            translate3d(
                calc(var(--smoke-x, 0px) + (var(--smoke-drift, 0px) * .28)),
                calc(var(--smoke-y, 0px) - (var(--smoke-rise, 120px) * .34)),
                0)
            scaleY(.82)
            scaleX(.82)
            rotate(calc(var(--smoke-rot, 12deg) * .34));
    }
    70%{
        opacity:.30;
    }
    100%{
        opacity:0;
        transform:
            translate3d(
                calc(var(--smoke-x, 0px) + var(--smoke-drift, 0px)),
                calc(var(--smoke-y, 0px) - var(--smoke-rise, 150px)),
                0)
            scaleY(1.22)
            scaleX(1.05)
            rotate(var(--smoke-rot, 14deg));
    }
}

.bottom{
    display:grid;
    grid-template-columns:1.25fr .75fr;
    min-height:244px;
}

.story{
    display:grid;
    grid-template-columns:310px 1fr;
    border-right:1px solid var(--line);
    background:
        linear-gradient(90deg, rgba(0,0,0,.88), rgba(0,0,0,.55)),
        url('/static/img_optimizado/Taller/taller_01.webp?v={{ version }}');
    background-size:cover;
    background-position:88% center;
}

.story-text{
    padding:43px 38px 34px 45px;
}

.story-text h2{
    font-family:"Cormorant Garamond",serif;
    font-size:38px;
    font-weight:300;
    letter-spacing:14px;
    margin-bottom:21px;
}

.story-text p{
    font-family:"Montserrat",sans-serif;
    font-size:12px;
    color:#9d948a;
    line-height:1.75;
}

img{
    background:
        radial-gradient(circle at center, rgba(176,122,63,.18), transparent 45%),
        linear-gradient(135deg,#19120c,#050505);
}

@media(max-width:1300px){
    .page{grid-template-columns:240px 1fr}
    .sidebar{padding:38px 24px}
    .hero-text{padding-left:60px;width:65%}
    .cards{grid-template-columns:repeat(3,1fr)}
    .card-img{height:220px}
}

@media(max-width:900px){
    .page{grid-template-columns:1fr}
    .sidebar{position:relative;height:auto}
    .side-bottom{position:relative;bottom:auto;margin-top:40px}
    .hero{height:auto;min-height:520px}
    .hero-text{padding:70px 35px;width:100%}
    .values{grid-template-columns:1fr 1fr}
    .bottom{grid-template-columns:1fr}
    .story{grid-template-columns:1fr}
}

@media(max-width:620px){
    .hero-text h2{font-size:38px}
    .values{grid-template-columns:1fr}
    .cards{grid-template-columns:1fr}
}

@keyframes umbrale-smoke-rise{
    0%{
        opacity:0;
        transform:
            translate3d(var(--smoke-x, 0px), var(--smoke-y, 0px), 0)
            scale(.28)
            rotate(0deg);
    }
    18%{
        opacity:.48;
        transform:
            translate3d(
                calc(var(--smoke-x, 0px) + (var(--smoke-drift, 0px) * .10)),
                calc(var(--smoke-y, 0px) - (var(--smoke-rise, 110px) * .14)),
                0)
            scale(.74)
            rotate(calc(var(--smoke-rot, 16deg) * .22));
    }
    52%{
        opacity:.30;
        transform:
            translate3d(
                calc(var(--smoke-x, 0px) + (var(--smoke-drift, 0px) * .42)),
                calc(var(--smoke-y, 0px) - (var(--smoke-rise, 110px) * .52)),
                0)
            scale(1.22)
            rotate(calc(var(--smoke-rot, 16deg) * .58));
    }
    82%{
        opacity:.12;
    }
    100%{
        opacity:0;
        transform:
            translate3d(
                calc(var(--smoke-x, 0px) + var(--smoke-drift, 0px)),
                calc(var(--smoke-y, 0px) - var(--smoke-rise, 128px)),
                0)
            scale(1.95)
            rotate(var(--smoke-rot, 16deg));
    }
}

.product-grid-inside .product-card .card-info{
    flex:1;
    min-height:0;
}

.product-grid-inside .product-card .product-description{
    order:5;
    margin-bottom:12px;
}

.product-grid-inside .product-card .price-row{
    order:20;
    margin-top:auto;
    background:rgba(5,4,3,.38);
    border-radius:2px;
}

.product-grid-inside .product-card .price-row.mayorista{
    order:21;
    margin-top:5px;
}

.product-grid-inside .product-card:hover .price-row{
    max-height:42px;
    padding:9px 7px 0;
}

.price-row span{
    color:rgba(220,205,184,.76);
}

.price-row strong{
    color:#1a1208 !important;
    background:linear-gradient(180deg, rgba(255,226,165,.96), rgba(208,160,99,.88)) !important;
    box-shadow:
        0 0 10px rgba(255,224,170,.38),
        0 0 22px rgba(208,160,99,.20),
        inset 0 1px 0 rgba(255,255,255,.22);
    text-shadow:0 1px 0 rgba(255,255,255,.25) !important;
}

.price-row.mayorista strong{
    background:linear-gradient(180deg, rgba(236,228,216,.92), rgba(184,174,160,.80)) !important;
    box-shadow:
        0 0 8px rgba(236,228,216,.22),
        0 0 16px rgba(208,160,99,.12),
        inset 0 1px 0 rgba(255,255,255,.20);
}

.cart-button{
    order:22;
    width:100%;
    max-height:0;
    opacity:0;
    overflow:hidden;
    transform:translateY(-7px);
    margin-top:0;
    border:1px solid transparent;
    background:rgba(0,0,0,.20);
    color:rgba(255,226,170,.92);
    font-family:"Montserrat",sans-serif;
    font-size:10px;
    cursor:pointer;
    transition:max-height .48s var(--ease-ritual),
        opacity .34s ease,
        transform .48s var(--ease-ritual),
        margin .42s ease,
        padding .42s ease,
        border-color .42s ease,
        background .28s ease,
        box-shadow .28s ease;
}

.product-grid-inside .product-card:hover .cart-button{
    max-height:42px;
    opacity:1;
    transform:translateY(0);
    margin-top:8px;
    padding:10px 10px;
    border-color:rgba(208,160,99,.45);
    background:rgba(176,122,63,.105);
    box-shadow:0 0 18px rgba(208,160,99,.10);
}

.cart-button:hover,
.cart-button.in-cart{
    background:rgba(208,160,99,.18);
    border-color:rgba(255,224,170,.72);
    color:rgba(255,238,204,.98);
    box-shadow:
        0 0 12px rgba(255,224,170,.22),
        0 0 28px rgba(208,160,99,.16);
}

.cart-button strong{
    font-size:17px;
    line-height:1;
    font-weight:400;
    color:rgba(255,226,170,.96);
}

.menu a{font-size:13px !important; letter-spacing:1.35px;}
.section-head a{font-size:12px !important;}
.product-code{font-size:11px !important;}
.card-info h3{font-size:14px !important;}
.card-info p{font-size:13px !important; line-height:1.55;}
.product-category{font-size:11px !important;}
.product-measures{font-size:12px !important;}
.product-description{font-size:12px !important; line-height:1.62 !important;}
.price-row{font-size:12px !important;}
.collection-frame-head p{font-size:13px !important;}
.modal-info p,
.image-modal-caption p,
.about-modal-text p{font-size:14px !important;}
body{ -webkit-font-smoothing:antialiased; text-rendering:geometricPrecision; }

.floating-cart{
    position:fixed;
    right:28px;
    top:24px;
    z-index:10020;
    height:42px;
    min-width:58px;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    padding:0 13px;
    border:1px solid rgba(208,160,99,.44);
    background:rgba(5,4,3,.58);
    backdrop-filter:blur(10px);
    color:rgba(255,226,170,.96);
    font-family:"Montserrat",sans-serif;
    box-shadow:
        0 0 22px rgba(0,0,0,.40),
        0 0 18px rgba(208,160,99,.10);
    pointer-events:none;
}

.floating-cart-icon{
    font-size:17px;
    line-height:1;
    filter:drop-shadow(0 0 7px rgba(255,226,170,.38));
}

.floating-cart-count{
    min-width:20px;
    height:20px;
    border-radius:50%;
    display:grid;
    place-items:center;
    color:#160f08;
    background:linear-gradient(180deg, rgba(255,230,174,.98), rgba(208,160,99,.88));
    font-size:12px;
    font-weight:500;
    box-shadow:0 0 14px rgba(255,226,170,.32);
}

.floating-cart.bump{
    animation:cart-bump .34s var(--ease-ritual);
}

@keyframes cart-bump{
    0%{transform:scale(1)}
    45%{transform:scale(1.16)}
    100%{transform:scale(1)}
}

.about-modal.light-active .about-modal-content{
    background:
        radial-gradient(circle at var(--about-light-x, 50%) var(--about-light-y, 50%),
            rgba(255,225,165,.135) 0%,
            rgba(208,128,52,.070) 12%,
            rgba(176,122,63,.026) 22%,
            transparent 34%),
        linear-gradient(180deg, rgba(14,10,7,.955), rgba(3,3,3,.985)) !important;
}

.about-modal.light-active .about-modal-content::before{
    opacity:.58 !important;
    animation:umbrale-soft-breath 2.15s ease-in-out infinite !important;
    background:
        radial-gradient(circle at var(--about-light-x, 50%) var(--about-light-y, 50%),
            rgba(255,232,180,.16) 0%,
            rgba(208,160,99,.070) 11%,
            rgba(120,66,22,.020) 22%,
            transparent 36%) !important;
    filter:blur(16px) !important;
}

.about-modal.light-active .about-card-visual::after{
    opacity:.36 !important;
    animation:umbrale-inner-breath 2.1s ease-in-out infinite !important;
    background:
        radial-gradient(circle at var(--about-logo-light-x, 50%) var(--about-logo-light-y, 50%),
            rgba(255,236,190,.10) 0%,
            rgba(208,160,99,.045) 15%,
            transparent 33%) !important;
    filter:blur(14px) !important;
}

@keyframes umbrale-smoke-rise-v30{
    0%{
        opacity:0;
        transform:translate3d(var(--smoke-x, 0px), var(--smoke-y, 0px), 0) scale(.24) rotate(0deg);
    }
    22%{
        opacity:.28;
        transform:translate3d(
            calc(var(--smoke-x, 0px) + (var(--smoke-drift, 0px) * .10)),
            calc(var(--smoke-y, 0px) - (var(--smoke-rise, 92px) * .18)),0)
            scale(.64) rotate(calc(var(--smoke-rot, 12deg) * .20));
    }
    55%{
        opacity:.18;
        transform:translate3d(
            calc(var(--smoke-x, 0px) + (var(--smoke-drift, 0px) * .42)),
            calc(var(--smoke-y, 0px) - (var(--smoke-rise, 92px) * .56)),0)
            scale(1.05) rotate(calc(var(--smoke-rot, 12deg) * .55));
    }
    100%{
        opacity:0;
        transform:translate3d(
            calc(var(--smoke-x, 0px) + var(--smoke-drift, 0px)),
            calc(var(--smoke-y, 0px) - var(--smoke-rise, 106px)),0)
            scale(1.55) rotate(var(--smoke-rot, 12deg));
    }
}

.cart-control{
    order:22;
    width:100%;
    max-height:0;
    opacity:0;
    overflow:hidden;
    transform:translateY(-7px);
    margin-top:0;
    display:grid;
    grid-template-columns:38px 1fr 38px;
    gap:7px;
    transition:
        max-height .48s var(--ease-ritual),
        opacity .34s ease,
        transform .48s var(--ease-ritual),
        margin .42s ease;
}

.product-grid-inside .product-card:hover .cart-control{
    max-height:48px;
    opacity:1;
    transform:translateY(0);
    margin-top:8px;
}

.cart-step,
.cart-button{
    height:38px;
    border:1px solid rgba(208,160,99,.42);
    background:rgba(176,122,63,.105);
    color:rgba(255,226,170,.95);
    font-family:"Montserrat",sans-serif;
    cursor:pointer;
    box-shadow:0 0 15px rgba(208,160,99,.08);
    transition:var(--t-fast) ease;
}

.cart-step{
    font-size:19px;
    line-height:1;
}

.cart-button{
    max-height:none !important;
    opacity:1 !important;
    overflow:visible !important;
    transform:none !important;
    margin:0 !important;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    letter-spacing:1.35px;
    text-transform:uppercase;
}

.cart-button span{white-space:nowrap;}
.cart-local-count{
    min-width:24px;
    height:24px;
    border-radius:50%;
    display:grid;
    place-items:center;
    color:#171008 !important;
    background:linear-gradient(180deg, rgba(255,230,174,.98), rgba(208,160,99,.88));
    font-size:12px !important;
    font-weight:500 !important;
    box-shadow:0 0 14px rgba(255,226,170,.28);
}

.cart-step:hover,
.cart-button:hover,
.cart-control.has-items .cart-button{
    background:rgba(208,160,99,.18);
    border-color:rgba(255,224,170,.72);
    color:rgba(255,238,204,.98);
    box-shadow:
        0 0 12px rgba(255,224,170,.20),
        0 0 28px rgba(208,160,99,.14);
}

.cart-control.has-items .cart-local-count{
    animation:cart-bump .34s var(--ease-ritual);
}

@media(max-width:700px){
    .floating-cart{right:14px; top:14px; height:38px; min-width:52px;}
    .cart-control{grid-template-columns:34px 1fr 34px;}
    .cart-button{font-size:10px !important;}
}

@keyframes umbrale-smoke-rise-v34{
    0%{
        opacity:0;
        filter:blur(7px);
        transform:translate3d(var(--smoke-x, 0px), var(--smoke-y, 0px), 0) scale(.20) rotate(0deg);
    }
    12%{
        opacity:.23;
        transform:translate3d(
            calc(var(--smoke-x, 0px) + (var(--smoke-drift, 0px) * .04)),
            calc(var(--smoke-y, 0px) - (var(--smoke-rise, 120px) * .09)),0)
            scale(.45) rotate(calc(var(--smoke-rot, 12deg) * .12));
    }
    28%{
        opacity:.26;
        transform:translate3d(
            calc(var(--smoke-x, 0px) + (var(--smoke-drift, 0px) * .14)),
            calc(var(--smoke-y, 0px) - (var(--smoke-rise, 120px) * .24)),0)
            scale(.72) rotate(calc(var(--smoke-rot, 12deg) * .28));
    }
    48%{
        opacity:.18;
        filter:blur(8.5px);
        transform:translate3d(
            calc(var(--smoke-x, 0px) + (var(--smoke-drift, 0px) * .34)),
            calc(var(--smoke-y, 0px) - (var(--smoke-rise, 120px) * .48)),0)
            scale(1.00) rotate(calc(var(--smoke-rot, 12deg) * .50));
    }
    72%{
        opacity:.09;
        filter:blur(10px);
        transform:translate3d(
            calc(var(--smoke-x, 0px) + (var(--smoke-drift, 0px) * .66)),
            calc(var(--smoke-y, 0px) - (var(--smoke-rise, 120px) * .76)),0)
            scale(1.28) rotate(calc(var(--smoke-rot, 12deg) * .78));
    }
    100%{
        opacity:0;
        filter:blur(12px);
        transform:translate3d(
            calc(var(--smoke-x, 0px) + var(--smoke-drift, 0px)),
            calc(var(--smoke-y, 0px) - var(--smoke-rise, 138px)),0)
            scale(1.58) rotate(var(--smoke-rot, 12deg));
    }
}

.product-grid-inside .product-card .cart-control{
    grid-template-columns:34px minmax(96px, 1fr) 34px !important;
    gap:6px !important;
}

.cart-control .cart-minus{order:1 !important; grid-column:auto !important;}
.cart-control .cart-button{order:2 !important; grid-column:auto !important;}
.cart-control .cart-plus{order:3 !important; grid-column:auto !important;}

.cart-step,
.cart-button{
    min-width:0 !important;
    border-color:rgba(208,160,99,.48) !important;
    background:
        radial-gradient(circle at 50% 18%, rgba(255,226,170,.075), transparent 42%),
        rgba(176,122,63,.105) !important;
}

.cart-step{
    display:grid !important;
    place-items:center !important;
    padding:0 !important;
    font-size:18px !important;
    color:rgba(255,226,170,.92) !important;
}

.cart-button{
    justify-content:center !important;
    gap:8px !important;
    padding:0 8px !important;
    text-align:center !important;
    font-size:10px !important;
    letter-spacing:1.05px !important;
}

.cart-button span{
    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
    max-width:100% !important;
}

.cart-local-count{
    flex:0 0 auto !important;
    min-width:22px !important;
    height:22px !important;
}

.cart-step:hover,
.cart-button:hover,
.cart-step:active,
.cart-button:active,
.cart-control.cart-click .cart-step,
.cart-control.cart-click .cart-button{
    border-color:rgba(255,232,190,.92) !important;
    color:rgba(255,242,215,.99) !important;
    background:
        radial-gradient(circle at 50% 22%, rgba(255,239,204,.18), transparent 48%),
        rgba(208,160,99,.22) !important;
    box-shadow:
        0 0 13px rgba(255,232,190,.34),
        0 0 32px rgba(208,160,99,.25),
        inset 0 0 12px rgba(255,232,190,.055) !important;
    text-shadow:0 0 9px rgba(255,232,190,.34) !important;
}

.cart-control.cart-click .cart-local-count{
    box-shadow:
        0 0 12px rgba(255,236,198,.50),
        0 0 26px rgba(208,160,99,.32) !important;
}

@keyframes umbrale-smoke-rise-v35{
    0%{
        opacity:0;
        transform:translate3d(var(--smoke-x, 0px), var(--smoke-y, 0px), 0) scale(.16) rotate(0deg);
    }
    16%{
        opacity:.24;
    }
    58%{
        opacity:.16;
    }
    100%{
        opacity:0;
        transform:translate3d(
            calc(var(--smoke-x, 0px) + var(--smoke-drift, 0px)),
            calc(var(--smoke-y, 0px) - var(--smoke-rise, 142px)),0)
            scale(1.46) rotate(var(--smoke-rot, 12deg));
    }
}

@media(max-width:700px){
    .product-grid-inside .product-card .cart-control{
        grid-template-columns:32px minmax(88px, 1fr) 32px !important;
        gap:5px !important;
    }
    .cart-button{font-size:9px !important; letter-spacing:.9px !important;}
}

.floating-cart{
    pointer-events:auto !important;
    cursor:pointer !important;
    transition:
        transform .28s var(--ease-ritual),
        border-color var(--t-fast) ease,
        box-shadow var(--t-fast) ease,
        background var(--t-fast) ease !important;
}

.floating-cart:hover,
.floating-cart:active{
    transform:translateY(-1px) scale(1.035);
    border-color:rgba(255,232,190,.78) !important;
    background:rgba(12,8,4,.70) !important;
    box-shadow:
        0 0 20px rgba(0,0,0,.46),
        0 0 26px rgba(255,226,170,.17),
        0 0 44px rgba(208,160,99,.11) !important;
}

body.cart-modal-open .page{
    filter:blur(7px);
    transform:scale(.992);
    transition:
        filter var(--t-medium) ease,
        transform var(--t-medium) ease;
    pointer-events:none;
}

.cart-modal{
    position:fixed;
    inset:0;
    z-index:10010;
    display:grid;
    place-items:center;
    opacity:0;
    pointer-events:none;
    transition:opacity var(--t-medium) ease;
}

.cart-modal.active{
    opacity:1;
    pointer-events:auto;
}

.cart-modal-backdrop{
    position:absolute;
    inset:0;
    background:rgba(0,0,0,.10);
    cursor:pointer;
}

.cart-modal-content{
    position:relative;
    z-index:2;
    width:min(90vw, 780px);
    max-height:86vh;
    overflow:hidden;
    padding:30px;
    border:1px solid rgba(208,160,99,.42);
    background:
        radial-gradient(circle at 26% 22%, rgba(176,122,63,.13), transparent 36%),
        linear-gradient(180deg, rgba(13,10,8,.96), rgba(4,4,4,.985));
    box-shadow:
        0 34px 110px rgba(0,0,0,.82),
        0 0 44px rgba(208,160,99,.12);
    transform:translateY(28px) scale(.94);
    transition:transform .55s var(--ease-soft);
    font-family:"Montserrat",sans-serif;
}

.cart-modal.active .cart-modal-content{
    transform:translateY(0) scale(1);
}

.cart-modal-content::before{
    content:"";
    position:absolute;
    inset:9px;
    border:1px solid rgba(176,122,63,.08);
    pointer-events:none;
}

.cart-modal-head{
    position:relative;
    z-index:2;
    display:flex;
    justify-content:space-between;
    gap:22px;
    align-items:flex-start;
    padding-bottom:18px;
    border-bottom:1px solid rgba(176,122,63,.18);
}

.cart-modal-kicker{
    display:block;
    color:var(--gold2);
    font-size:11px;
    letter-spacing:2.5px;
    margin-bottom:8px;
}

.cart-modal-head h2{
    font-family:"Cormorant Garamond",serif;
    font-weight:300;
    font-size:42px;
    letter-spacing:5px;
    line-height:1;
    color:#eee8dc;
}

.cart-modal-close{
    width:36px;
    height:36px;
    border:1px solid rgba(176,122,63,.38);
    background:rgba(0,0,0,.35);
    color:var(--gold2);
    font-size:26px;
    line-height:1;
    cursor:pointer;
    transition:var(--t-fast) ease;
}

.cart-modal-close:hover{
    background:rgba(176,122,63,.16);
    box-shadow:0 0 18px rgba(208,160,99,.18);
}

.cart-modal-body{
    position:relative;
    z-index:2;
    margin-top:18px;
    max-height:52vh;
    overflow:auto;
    padding-right:4px;
}

.cart-empty{
    color:#9d948a;
    font-size:14px;
    line-height:1.7;
    padding:22px 0 8px;
}

.cart-list{
    display:flex;
    flex-direction:column;
    gap:10px;
}

.cart-line{
    display:grid;
    grid-template-columns:92px 1fr auto;
    gap:15px;
    align-items:center;
    padding:12px;
    border:1px solid rgba(176,122,63,.18);
    background:rgba(0,0,0,.20);
}

.cart-line-type{
    color:rgba(208,160,99,.70);
    font-size:10px;
    letter-spacing:2px;
    text-transform:uppercase;
    margin-bottom:4px;
}

.cart-line-title{
    color:#d8d0c5;
    font-size:14px;
    letter-spacing:.8px;
    margin-bottom:5px;
}

.cart-line-detail{
    color:#8f867c;
    font-size:12px;
}

.cart-line-subtotal{
    color:#160f08;
    background:linear-gradient(180deg, rgba(255,230,174,.98), rgba(208,160,99,.88));
    padding:7px 9px;
    font-size:13px;
    white-space:nowrap;
    box-shadow:0 0 14px rgba(255,226,170,.18);
}

.cart-line-qty{
    display:inline-grid;
    grid-template-columns:30px 38px 30px;
    align-items:center;
    gap:6px;
    margin-top:8px;
}

.cart-line-step{
    width:30px;
    height:28px;
    border:1px solid rgba(208,160,99,.42);
    background:rgba(0,0,0,.28);
    color:rgba(255,226,170,.92);
    font-family:"Montserrat",sans-serif;
    font-size:15px;
    cursor:pointer;
    transition:.22s ease;
}

.cart-line-step:hover{
    background:rgba(208,160,99,.16);
    box-shadow:0 0 18px rgba(208,160,99,.18);
}

.cart-line-qty-num{
    height:28px;
    display:grid;
    place-items:center;
    border:1px solid rgba(176,122,63,.22);
    color:rgba(235,230,221,.82);
    font-size:12px;
}

.cart-price-note{
    margin-top:5px;
    color:rgba(208,160,99,.72);
    font-size:10px;
    letter-spacing:1px;
}

.cart-buy-button{
    position:relative;
    z-index:2;
    width:100%;
    margin-top:18px;
    padding:14px 18px;
    border:1px solid rgba(208,160,99,.58);
    background:linear-gradient(180deg, rgba(208,160,99,.22), rgba(0,0,0,.28));
    color:rgba(255,226,170,.96);
    font-family:"Montserrat",sans-serif;
    font-size:12px;
    letter-spacing:2.4px;
    cursor:pointer;
    transition:var(--t-fast) ease;
    text-transform:uppercase;
}

.cart-buy-button:hover{
    background:linear-gradient(180deg, rgba(208,160,99,.32), rgba(0,0,0,.20));
    box-shadow:0 0 26px rgba(208,160,99,.18);
}

.cart-total-box{
    position:relative;
    z-index:2;
    margin-top:18px;
    padding-top:16px;
    border-top:1px solid rgba(176,122,63,.22);
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:16px;
}

.cart-total-box span{
    color:#9d948a;
    font-size:12px;
    letter-spacing:2px;
}

.cart-total-box strong{
    color:rgba(255,226,170,.98);
    font-size:24px;
    font-weight:400;
    text-shadow:
        0 0 12px rgba(255,226,170,.22),
        0 0 28px rgba(208,160,99,.14);
}

.cart-modal-hint{
    position:relative;
    z-index:2;
    margin-top:18px;
    color:#7f766e;
    font-size:11px;
    letter-spacing:1.5px;
    text-align:center;
}

@media(max-width:700px){
    .cart-modal-content{width:92vw; padding:22px;}
    .cart-modal-head h2{font-size:34px;}
    .cart-line{grid-template-columns:1fr; gap:8px;}
    .cart-line-subtotal{justify-self:start;}
}

.cart-line{
    grid-template-columns:74px 1fr auto !important;
}

.cart-line-thumb{
    width:64px;
    height:64px;
    border:1px solid rgba(176,122,63,.24);
    background:
        radial-gradient(circle at center, rgba(208,160,99,.10), transparent 62%),
        rgba(0,0,0,.28);
    display:grid;
    place-items:center;
    overflow:hidden;
    box-shadow:
        0 0 18px rgba(0,0,0,.32),
        inset 0 0 18px rgba(208,160,99,.035);
}

.cart-line-thumb img{
    width:100%;
    height:100%;
    object-fit:cover;
    filter:brightness(.82) contrast(1.12) sepia(.08) saturate(.86);
}

.cart-line-thumb span{
    color:rgba(208,160,99,.82);
    font-size:10px;
    letter-spacing:1.5px;
}

.product-grid-inside .product-card .card-img,
.product-grid-inside .product-card:hover .card-img{
    height:180px !important;
    flex:0 0 180px !important;
}

.product-grid-inside .product-card .price-row{
    padding:8px 7px 0 !important;
}

.product-grid-inside .product-card .product-description{
    max-height:72px;
    overflow:hidden;
}

.product-grid-inside .product-card .card-info h3{
    will-change:filter, text-shadow, color !important;
}

@keyframes umbrale-product-name-breath{
    0%{
        color:rgba(208,160,99,.90);
        text-shadow:
            0 0 5px rgba(208,160,99,.16),
            0 0 13px rgba(208,160,99,.08);
        filter:brightness(1);
    }
    45%{
        color:rgba(255,232,190,1);
        text-shadow:
            0 0 8px rgba(255,238,210,.70),
            0 0 24px rgba(255,220,160,.42),
            0 0 52px rgba(208,160,99,.23);
        filter:brightness(1.55);
    }
    100%{
        color:rgba(208,160,99,.90);
        text-shadow:
            0 0 5px rgba(208,160,99,.16),
            0 0 13px rgba(208,160,99,.08);
        filter:brightness(1);
    }
}

.product-grid-inside .product-card:hover .card-info h3{
    transform:none !important;
}

@media(max-width:700px){
    .cart-line{grid-template-columns:58px 1fr !important;}
    .cart-line-thumb{width:54px;height:54px;}
    .cart-line-subtotal{grid-column:2; justify-self:start;}
}

.product-grid-inside .product-card .price-row{
    visibility:visible !important;
    transition:max-height .48s var(--ease-ritual),
        opacity .34s ease,
        transform .48s var(--ease-ritual),
        margin .42s ease,
        padding .42s ease,
        border-color .42s ease !important;
}

.product-grid-inside .product-card:hover .price-row{
    visibility:visible !important;
}

.product-grid-inside .product-card .cart-control{
    visibility:visible !important;
    transition:max-height .48s var(--ease-ritual),
        opacity .34s ease,
        transform .48s var(--ease-ritual),
        margin .42s ease !important;
}

.product-grid-inside .product-card:hover .cart-control,
.product-grid-inside .product-card .cart-control.has-items{
    visibility:visible !important;
}

.product-grid-inside{
    grid-auto-rows:430px !important;
    align-items:start !important;
    overflow:visible !important;
    isolation:isolate !important;
}

.product-grid-inside .product-card{
    align-self:start !important;
}

.product-grid-inside .product-card .price-row,
.product-grid-inside .product-card .cart-control{
    will-change:max-height, opacity, transform;
}

@media(max-width:620px){
    .product-grid-inside{
        grid-auto-rows:auto !important;
    }

    .product-grid-inside .product-card,
.product-grid-inside .product-card:hover{
        height:auto !important;
        overflow:visible !important;
    }
}

.product-inline-code{
    font-family:"Montserrat",sans-serif;
    color:rgba(208,160,99,.78);
    font-size:10px;
    letter-spacing:2px;
    margin-bottom:7px;
    text-transform:uppercase;
}

.product-grid-inside .product-card .product-measures{
    margin-bottom:8px !important;
}

.product-code{
    display:none !important;
}

.product-grid-inside .product-card .price-row{
    max-height:0 !important;
    opacity:0 !important;
    overflow:hidden !important;
    margin-top:0 !important;
    padding-top:0 !important;
    border-color:transparent !important;
}

.product-grid-inside .product-card .cart-control{
    max-height:0 !important;
    opacity:0 !important;
    overflow:hidden !important;
    margin-top:0 !important;
}

@media(max-width:620px){
    .product-grid-inside{grid-auto-rows:auto !important;}
    .product-grid-inside .product-card,
.product-grid-inside .product-card:hover{
        height:auto !important;
        overflow:visible !important;
        transform:none !important;
    }
}

.product-grid-inside .product-card:hover .product-inline-code{
    margin-bottom:6px !important;
}

.product-grid-inside .product-card:hover .product-measures{
    margin-bottom:8px !important;
}

.cart-button span{
    display:inline-block !important;
    opacity:1 !important;
    visibility:visible !important;
}

.cart-control.has-items .cart-button span{
    color:rgba(255,238,204,.98) !important;
}

.product-grid-inside .product-card:hover .product-description{
    overflow:hidden !important;
}
.product-grid-inside .product-card .product-inline-code{order:4 !important;}
.product-grid-inside .product-card .product-measures{order:5 !important;}
.product-grid-inside .product-card .price-row:not(.mayorista){order:6 !important;}
.product-grid-inside .product-card .price-row.mayorista{order:7 !important;}
.product-grid-inside .product-card .cart-control{order:8 !important;}

.product-grid-inside .product-card,
.product-grid-inside .product-card:hover{
    transition:
        transform .72s var(--ease-reveal),
        border-color .52s ease,
        box-shadow .66s ease,
        filter .66s ease !important;
}

.product-grid-inside .product-card .price-row{
    transform:translateY(-6px) !important;
}

.product-grid-inside .product-card .cart-control{
    transform:translateY(-6px) !important;
}

.product-grid-inside .product-card{
    position:relative !important;
}

.product-grid-inside .product-card .price-row,
.product-grid-inside .product-card .cart-control{
    visibility:visible !important;
}

@media(max-width:620px){
    .product-grid-inside{
        grid-auto-rows:auto !important;
    }
    .product-grid-inside .product-card,
.product-grid-inside .product-card:hover{
        height:auto !important;
        overflow:visible !important;
        transform:none !important;
    }
}

.product-grid-inside .product-card .product-category{
    margin-bottom:2px !important;
}

.product-grid-inside .product-card .product-description{
    margin-bottom:0 !important;
}

.product-grid-inside .product-card:hover .product-description{
    margin-top:6px !important;
    margin-bottom:6px !important;
}

.product-grid-inside .product-card .price-row,
.product-grid-inside .product-card .cart-control{
    max-height:0 !important;
    opacity:0 !important;
    overflow:hidden !important;
    transform:translateY(-6px) !important;
    margin-top:0 !important;
    padding-top:0 !important;
    border-color:transparent !important;
    transition:
        max-height .78s var(--ease-ritual),
        opacity .58s ease,
        transform .78s var(--ease-ritual),
        margin .78s var(--ease-ritual),
        padding .78s var(--ease-ritual),
        border-color .58s ease,
        background .38s ease,
        box-shadow .38s ease !important;
}

.product-grid-inside .product-card:hover .cart-control,
.product-grid-inside .product-card .cart-control.has-items{
    max-height:48px !important;
    opacity:1 !important;
    transform:translateY(0) !important;
    margin-top:6px !important;
}

.product-grid-inside .product-card .product-inline-code,
.product-grid-inside .product-card .product-measures{
    display:block !important;
    max-height:0 !important;
    opacity:0 !important;
    overflow:hidden !important;
    margin:0 !important;
    padding:0 !important;
    transform:translateY(-4px) !important;
    transition:
        max-height .72s ease-in-out,
        opacity .52s ease,
        transform .72s ease-in-out,
        margin .72s ease-in-out !important;
}

.product-grid-inside .product-card:hover .product-inline-code{
    transform:translateY(0) !important;
}

.product-grid-inside .product-card:hover .product-measures{
    transform:translateY(0) !important;
}

.product-grid-inside .product-card .price-row,
.product-grid-inside .product-card .cart-control,
.product-grid-inside .product-card .cart-control.has-items{
    max-height:0 !important;
    opacity:0 !important;
    overflow:hidden !important;
    transform:translateY(-4px) !important;
    margin-top:0 !important;
    padding-top:0 !important;
    border-color:transparent !important;
    transition:
        max-height .72s ease-in-out,
        opacity .52s ease,
        transform .72s ease-in-out,
        margin .72s ease-in-out,
        padding .72s ease-in-out,
        border-color .52s ease,
        background var(--t-soft) ease,
        box-shadow var(--t-soft) ease !important;
}

.product-grid-inside .product-card:hover .price-row{
    transform:translateY(0) !important;
}

.product-grid-inside .product-card:hover .cart-control,
.product-grid-inside .product-card:hover .cart-control.has-items{
    transform:translateY(0) !important;
}

.product-grid-inside .product-card{
    height:430px !important;
    z-index:1 !important;
    transform-origin:center center !important;
    transform:translate3d(0,0,0) scale(1) !important;
}

.product-grid-inside .product-card:hover{
    height:512px !important;
    min-height:430px !important;
    overflow:hidden !important;
    z-index:999 !important;
    filter:brightness(1.04) !important;
    border-color:rgba(208,160,99,.78) !important;
    box-shadow:0 28px 68px rgba(0,0,0,.70),
        0 0 30px rgba(208,160,99,.16),
        inset 0 0 18px rgba(208,160,99,.035) !important;
}

.product-grid-inside .product-card .card-img{
    transition:height .62s cubic-bezier(.22,.72,.22,1),
        filter .42s ease !important;
}

.product-grid-inside .product-card:hover .card-img{
    filter:brightness(1.08) !important;
}

.product-grid-inside .product-card .card-info{
    display:flex !important;
    flex-direction:column !important;
    justify-content:center !important;
    overflow:visible !important;
    transition:min-height .62s cubic-bezier(.22,.72,.22,1),
        padding .62s cubic-bezier(.22,.72,.22,1) !important;
}

.product-grid-inside .product-card:hover .card-info{
    justify-content:flex-start !important;
    min-height:0 !important;
    padding:10px 15px 12px !important;
}

.product-grid-inside .product-card .product-category{
    order:1 !important;
    margin:0 0 4px !important;
    padding:0 !important;
    font-size:11.5px !important;
    line-height:1.05 !important;
    letter-spacing:2.2px !important;
}

.product-grid-inside .product-card .card-info h3{
    order:2 !important;
    margin:0 0 6px !important;
    padding:0 !important;
    transform:none !important;
    transition:color var(--t-soft) ease, text-shadow var(--t-soft) ease !important;
}

.product-grid-inside .product-card .product-description{
    order:3 !important;
    opacity:.74 !important;
    overflow:hidden !important;
    margin:0 !important;
    padding:0 !important;
    transform:none !important;
    transition:max-height .62s cubic-bezier(.22,.72,.22,1),
        opacity .32s ease,
        margin .62s cubic-bezier(.22,.72,.22,1) !important;
}

.product-grid-inside .product-card:hover .product-description{
    max-height:54px !important;
    opacity:.82 !important;
    margin:0 0 7px !important;
    transform:none !important;
}

.product-grid-inside .product-card .product-inline-code,
.product-grid-inside .product-card .product-measures,
.product-grid-inside .product-card .price-row,
.product-grid-inside .product-card .cart-control,
.product-grid-inside .product-card .cart-control.has-items{
    max-height:0 !important;
    opacity:0 !important;
    overflow:hidden !important;
    transform:none !important;
    margin-top:0 !important;
    padding-top:0 !important;
    border-color:transparent !important;
    transition:
        max-height .38s cubic-bezier(.25,.72,.25,1),
        opacity .24s ease,
        margin .38s cubic-bezier(.25,.72,.25,1),
        padding .38s cubic-bezier(.25,.72,.25,1),
        border-color .24s ease,
        background .24s ease,
        box-shadow .24s ease !important;
}

.product-grid-inside .product-card:hover .product-inline-code{
    max-height:18px !important;
    opacity:1 !important;
    margin:0 0 3px !important;
}

.product-grid-inside .product-card:hover .product-measures{
    max-height:20px !important;
    opacity:1 !important;
    margin:0 0 5px !important;
}

.product-grid-inside .product-card:hover .price-row{
    max-height:34px !important;
    opacity:1 !important;
    margin-top:4px !important;
    padding-top:6px !important;
    border-color:rgba(176,122,63,.13) !important;
}

.product-grid-inside .product-card:hover .cart-control,
.product-grid-inside .product-card:hover .cart-control.has-items{
    max-height:43px !important;
    opacity:1 !important;
    margin-top:5px !important;
}

.product-grid-inside .product-card:hover .card-info h3{
    animation:umbrale-product-name-breath 2var(--t-soft) ease-in-out infinite !important;
}

.product-grid-inside .product-card{
    min-height:390px !important;
    overflow:visible !important;
    display:flex;
    flex-direction:column;
    justify-content:flex-start;
}

.product-grid-inside .product-card .card-img{
    flex:none !important;
    overflow:hidden;
    position:relative;
    transition:height var(--t-ritual) var(--ease-ritual),
        filter .42s ease;
}

.product-grid-inside .product-card .card-info{
    margin-top:auto !important;
    display:flex;
    flex-direction:column;
    justify-content:center;
    min-height:118px !important;
    position:relative;
    z-index:2;
    background:linear-gradient(
            180deg,
            rgba(12,12,12,.96),
            rgba(7,7,7,.98)
        );
}

.product-grid-inside .product-card .card-info h3{
    text-align:center;
    margin-bottom:10px !important;
}

.product-grid-inside .product-card .product-description{
    text-align:center;
}

.product-grid-inside .product-card .price-row,
.product-grid-inside .product-card .product-measures,
.product-grid-inside .product-card .product-category{
    opacity:0;
    max-height:0;
    overflow:hidden;
    transform:translateY(-3px);
    transition:
        opacity .18s ease,
        max-height .26s ease,
        transform .26s ease,
        margin .22s ease;
}

.product-grid-inside .product-card:hover .price-row,
.product-grid-inside .product-card:hover .product-measures,
.product-grid-inside .product-card:hover .product-category{
    opacity:1;
    max-height:42px;
    overflow:visible;
    transform:translateY(0);
    margin-top:7px;
}

.cards,
.product-grid-inside{
    align-items:start !important;
}

.product-grid-inside .product-card .card-img img{
    transition:
        transform .55s var(--ease-ritual),
        filter var(--t-soft) ease;
}

.product-grid-inside .product-card:hover .card-img img{
    transform:scale(1.025) translateY(-2px);
}

.product-grid-inside .product-card{
    transition:
        transform .55s var(--ease-ritual),
        border-color .32s ease,
        box-shadow .42s ease,
        filter .42s ease !important;
}

.image-modal-content{
    grid-template-rows:minmax(0, 1fr) auto !important;
    gap:10px !important;
}

.image-modal-content img{
    min-height:0 !important;
    max-height:100% !important;
}

.image-modal-caption{
    width:min(92vw, 760px);
    justify-self:start;
    margin-left:clamp(0px, 3vw, 34px);
    border:1px solid rgba(176,122,63,.22);
    background:rgba(20,19,18,.62);
    backdrop-filter:blur(8px);
    box-shadow:0 18px 54px rgba(0,0,0,.36),
        0 0 22px rgba(208,160,99,.07);
}

.image-modal-caption span{
    margin-bottom:4px !important;
    font-size:11px !important;
}

.image-modal-caption h2{
    margin-bottom:4px !important;
    font-size:34px !important;
    line-height:.95 !important;
}

.image-modal-caption p{
    font-size:15px !important;
    line-height:1.45 !important;
    color:rgba(235,230,221,.78) !important;
}

@media(max-width:700px){
    .image-modal-content{
        height:88vh !important;
        gap:8px !important;
    }

    .image-modal-caption{
        width:94vw;
        margin-left:0;
        padding:10px 14px 12px !important;
    }

    .image-modal-caption h2{
        font-size:29px !important;
    }

    .image-modal-caption p{
        font-size:14px !important;
        line-height:1.42 !important;
    }
}

.product-grid-inside .product-card .card-img{
    height:285px !important;
}

.product-grid-inside .product-card:hover .card-img{
    height:235px !important;
}

.product-grid-inside .product-card .card-info{
    padding:8px 14px 10px !important;
    text-align:left !important;
}

.product-grid-inside .product-card .card-info h3{
    font-size:16px !important;
    text-align:left !important;
    line-height:1.2 !important;
}

.product-grid-inside .product-card .product-description{
    font-size:13px !important;
    line-height:1.72 !important;
    text-align:left !important;
    margin-top:6px !important;
    max-height:44px !important;
}

.product-grid-inside .product-card .product-category,
.product-grid-inside .product-card .product-measures,
.product-inline-code{
    text-align:left !important;
}

.hero{
    height:466px;
    min-height:466px;
    transition:
        height .86s var(--ease-ritual),
        box-shadow .56s ease,
        filter .56s ease;
    will-change:height;
}

.hero:hover{
    height:760px;
    box-shadow:
        inset 0 -1px 0 rgba(208,160,99,.30),
        0 34px 88px rgba(0,0,0,.44);
}

.hero-video{
    position:absolute;
    inset:-5%;
    z-index:0;
    width:110%;
    height:110%;
    object-fit:cover;
    object-position:center center;
    opacity:.92;
    filter:
        brightness(.62)
        contrast(1.14)
        sepia(.10)
        saturate(.86);
    transform:
        translate3d(var(--hero-parallax-x, 0px), var(--hero-parallax-y, 0px), 0)
        scale(1.12);
    transition:
        transform .34s var(--ease-ritual),
        object-position .72s var(--ease-ritual),
        filter .52s ease,
        opacity .52s ease;
    will-change:transform, filter, opacity;
    pointer-events:none;

}

.hero:hover .hero-video{
    opacity:1;
    object-position:88% center;
    filter:
        brightness(.76)
        contrast(1.12)
        sepia(.06)
        saturate(.94);
    transform:
        translate3d(calc(var(--hero-parallax-x, 0px) + 58px), var(--hero-parallax-y, 0px), 0)
        scale(.975);

    width:100%;
    height:100%;
    object-fit:cover;
}

.hero-video + .hero-slideshow,
.hero:has(.hero-video) .hero-slideshow{
    display:none !important;
    opacity:0 !important;
    visibility:hidden !important;
    pointer-events:none !important;
}

.hero:hover .hero-text{
    transform:translateY(22px);
}

.hero-text{
    transition:transform .72s var(--ease-ritual);
}

@media(max-width:760px){
    .hero,
.hero:hover{
        height:560px;
        min-height:560px;
    }
}

.hero-shade{
    z-index:1;
}

.hero:after{
    z-index:2;
}

.hero-text{
    z-index:4;
}

@media(prefers-reduced-motion:reduce){
    .hero-magic-dust{
        display:none;
    }
}

body.collection-zoom-open .page{
    filter:blur(8px) brightness(.38);
    transform:scale(.992);
    pointer-events:none;
}

.collection-zoom-modal{
    position:fixed;
    inset:0;
    z-index:9999;
    display:grid;
    place-items:center;
    opacity:0;
    pointer-events:none;
    transition:opacity .34s ease;
}

.collection-zoom-modal.active{
    opacity:1;
    pointer-events:auto;
}

.collection-zoom-backdrop{
    position:absolute;
    inset:0;
    background:
        radial-gradient(circle at 50% 42%, rgba(176,122,63,.18), transparent 38%),
        rgba(0,0,0,.68);
    cursor:pointer;
}

.collection-zoom-content{
    position:relative;
    z-index:2;
    width:min(92vw, 1180px);
    max-height:86vh;
    overflow:hidden;
    display:grid;
    grid-template-rows:auto 1fr;
    gap:22px;
    padding:28px;
    border:1px solid rgba(208,160,99,.42);
    background:
        radial-gradient(circle at 24% 18%, rgba(176,122,63,.14), transparent 34%),
        linear-gradient(180deg, rgba(13,10,8,.97), rgba(4,4,4,.985));
    box-shadow:
        0 34px 120px rgba(0,0,0,.86),
        0 0 54px rgba(208,160,99,.14);
    transform:translate3d(var(--collection-from-x,0px), var(--collection-from-y,0px), 0) scale(.14);
    opacity:0;
    transform-origin:center center;
    transition:
        transform .62s var(--ease-ritual),
        opacity .38s ease;
}

.collection-zoom-modal.active .collection-zoom-content{
    transform:translate3d(0,0,0) scale(1);
    opacity:1;
}

.collection-zoom-head{
    display:flex;
    justify-content:space-between;
    align-items:flex-end;
    gap:22px;
    border-bottom:1px solid rgba(176,122,63,.18);
    padding-bottom:18px;
}

.collection-zoom-kicker{
    display:block;
    font-family:"Montserrat",sans-serif;
    color:var(--gold2);
    font-size:10px;
    letter-spacing:2.6px;
    margin-bottom:8px;
}

.collection-zoom-title{
    font-family:"Cormorant Garamond",serif;
    font-weight:300;
    font-size:42px;
    line-height:1;
    letter-spacing:6px;
    color:#eee8dc;
}

.collection-zoom-sub{
    font-family:"Montserrat",sans-serif;
    color:#9d948a;
    font-size:12px;
    line-height:1.7;
    margin-top:10px;
    max-width:720px;
}

.collection-zoom-close{
    width:38px;
    height:38px;
    border:1px solid rgba(176,122,63,.38);
    background:rgba(0,0,0,.35);
    color:var(--gold2);
    font-size:27px;
    line-height:1;
    cursor:pointer;
    transition:var(--t-fast) ease;
}

.collection-zoom-close:hover{
    background:rgba(176,122,63,.16);
    box-shadow:0 0 18px rgba(208,160,99,.18);
}

.collection-zoom-products{
    min-height:0;
    overflow:auto;
    display:grid;
    grid-template-columns:repeat(5, minmax(150px, 1fr));
    gap:14px;
    padding:2px 3px 8px;
    scrollbar-width:thin;
    scrollbar-color:rgba(208,160,99,.45) rgba(0,0,0,.25);
}

@media(max-width:1100px){
    .collection-zoom-products{grid-template-columns:repeat(3, minmax(150px, 1fr));}
}

@media(max-width:700px){
    .collection-zoom-content{width:94vw; max-height:88vh; padding:20px;}
    .collection-zoom-products{grid-template-columns:repeat(2, minmax(130px, 1fr));}
    .collection-zoom-title{font-size:32px;}
    .collection-zoom-sub{font-size:11px;}
}

.collection-zoom-title{
    font-size:48px !important;
}

.collection-zoom-products{
    display:grid !important;
    overflow:auto !important;
    perspective:1100px;
}

.collection-zoom-products .product-card{
    cursor:pointer;
    overflow:hidden;
    transform-origin:center center;
    transform:translate3d(0,0,0) scale(1);
    transition:transform .46s var(--ease-ritual),
        border-color .34s ease,
        box-shadow .38s ease,
        filter .38s ease;
}

.collection-zoom-products .product-card:hover{
    z-index:40;
    border-color:rgba(208,160,99,.76);
    box-shadow:0 24px 64px rgba(0,0,0,.58),
        0 0 30px rgba(208,160,99,.12);
}

.collection-zoom-products .product-card .card-img{
    transition:height var(--t-ritual) var(--ease-ritual),
        filter .42s ease;
}

.collection-zoom-products .product-card:hover .card-img{
    filter:brightness(1.08);
}

.collection-zoom-products .product-card .card-img img{
    width:100%;
    height:100%;
    object-fit:cover;
    transform:none !important;
}

.collection-zoom-products .product-card .product-description{
    max-height:48px;
    overflow:hidden;
}

.collection-zoom-products .product-card .price-row{
    max-height:0 !important;
    opacity:0 !important;
    transform:translateY(-8px);
    overflow:hidden;
    margin-top:0 !important;
    padding-top:0 !important;
    border-color:transparent !important;
    transition:
        max-height .48s var(--ease-ritual),
        opacity .34s ease,
        transform .48s var(--ease-ritual),
        margin .42s ease,
        padding .42s ease,
        border-color .42s ease;
}

.collection-zoom-products .product-card:hover .price-row{
    opacity:1 !important;
    transform:translateY(0);
    border-color:rgba(176,122,63,.13) !important;
}

.collection-zoom-products .cart-control{
    display:grid !important;
    max-height:0 !important;
    opacity:0 !important;
    transform:translateY(-7px);
    margin-top:0 !important;
    pointer-events:auto;
}

.collection-zoom-products .product-card:hover .cart-control,
.collection-zoom-products .product-card .cart-control.has-items{
    opacity:1 !important;
    transform:translateY(0);
}

.collection-zoom-products .product-card .price-row strong{
    white-space:nowrap;
}

.collection-zoom-products .cart-button span{
    white-space:nowrap;
}

@media(max-width:1320px){
    .collection-zoom-products{grid-template-columns:repeat(4, minmax(200px, 1fr)) !important;}
}

@media(max-width:1050px){
    .collection-zoom-products{grid-template-columns:repeat(3, minmax(190px, 1fr)) !important;}
}

@media(max-width:700px){
    .collection-zoom-content{width:96vw !important; height:90vh !important; padding:20px !important;}
    .collection-zoom-products{grid-template-columns:1fr !important;}
    .collection-zoom-title{font-size:34px !important;}
}

.collection-zoom-content{
    overflow:hidden !important;
    backface-visibility:hidden;
    transform-style:preserve-3d;
}

.collection-zoom-products{
    overflow-y:scroll !important;
    overflow-x:hidden !important;
    scrollbar-gutter:stable both-edges;
    align-content:start !important;
    contain:layout paint;
}

.collection-zoom-products .product-card{
    overflow:hidden !important;
    transform:translate3d(0,0,0) scale(1) !important;
    backface-visibility:hidden;
    will-change:transform;
}

.collection-zoom-products .product-card:hover{
    transform:translate3d(0,-6px,0) scale(1.026) !important;
    z-index:60 !important;
}

.collection-zoom-products .product-card .cart-control,
.collection-zoom-products .product-card .cart-control.has-items{
    margin-bottom:0 !important;
}

.collection-zoom-products .product-card .product-measures{
    margin-bottom:5px !important;
}

.collection-zoom-products{
    padding-bottom:2px !important;
}

.collection-zoom-products .product-card .card-info h3,
.collection-zoom-products .product-card .product-measures{
    max-height:0 !important;
    opacity:0 !important;
    overflow:hidden !important;
    margin-top:0 !important;
    margin-bottom:0 !important;
    transform:translateY(-6px);
    transition:
        max-height .42s var(--ease-ritual),
        opacity .26s ease,
        transform .42s var(--ease-ritual),
        margin .32s ease;
}

.collection-zoom-products .product-card:hover .card-info h3{
    max-height:42px !important;
    opacity:1 !important;
    transform:translateY(0);
    margin-bottom:8px !important;
}

.collection-zoom-products .product-card:hover .product-measures{
    transform:translateY(0);
}

.collection-zoom-products .product-card .card-info{
    padding-top:10px !important;
}

.collection-zoom-products .product-card:not(:hover) .product-description{
    margin-top:5px !important;
}

.collection-zoom-products .product-card .card-info h3{
    max-height:58px !important;
    opacity:1 !important;
    overflow:visible !important;
    margin-top:0 !important;
    transform:none !important;
}

.collection-zoom-products .product-card .product-inline-code,
.collection-zoom-products .product-card .product-measures{
    max-height:0 !important;
    opacity:0 !important;
    overflow:hidden !important;
    margin-top:0 !important;
    margin-bottom:0 !important;
    transform:translateY(-5px) !important;
    transition:
        max-height .38s var(--ease-ritual),
        opacity .24s ease,
        transform .38s var(--ease-ritual),
        margin .30s ease !important;
}

.collection-zoom-products .product-card:hover .product-inline-code{
    max-height:18px !important;
    opacity:1 !important;
    transform:translateY(0) !important;
}

.collection-zoom-products .product-card:hover .product-measures{
    max-height:22px !important;
    opacity:1 !important;
    transform:translateY(0) !important;
}

.collection-zoom-content{
    width:min(99.2vw, 1900px) !important;
    height:min(98vh, 1120px) !important;
    max-height:98vh !important;
    padding:24px 24px 12px !important;
    gap:14px !important;
}

.collection-zoom-head{
    padding-bottom:10px !important;
}

.collection-zoom-products{
    grid-template-columns:repeat(5, minmax(280px, 1fr)) !important;
    gap:18px !important;
    padding:2px 8px 2px !important;
}

.collection-zoom-products .product-card{
    min-height:620px !important;
    height:620px !important;
}

.collection-zoom-products .product-card:hover{
    min-height:620px !important;
    height:620px !important;
}

.collection-zoom-products .product-card .card-img{
    height:458px !important;
}

.collection-zoom-products .product-card:hover .card-img{
    height:318px !important;
}

.collection-zoom-products .product-card .card-info{
    padding:10px 13px 0 !important;
}

.collection-zoom-products .product-card .product-category{
    font-size:11px !important;
    letter-spacing:2.2px !important;
    margin-bottom:7px !important;
}

.collection-zoom-products .product-card .card-info h3{
    font-size:15px !important;
    line-height:1.28 !important;
    margin-bottom:8px !important;
}

.collection-zoom-products .product-card .product-description{
    font-size:12.2px !important;
    line-height:1.52 !important;
    max-height:58px !important;
    margin-top:5px !important;
    margin-bottom:0 !important;
}

.collection-zoom-products .product-card:hover .product-inline-code{
    font-size:11px !important;
}

.collection-zoom-products .product-card:hover .product-measures{
    font-size:12px !important;
}

.collection-zoom-products .product-card:hover .price-row{
    padding-top:5px !important;
    max-height:33px !important;
}

.collection-zoom-products .product-card:hover .cart-control,
.collection-zoom-products .product-card .cart-control.has-items{
    max-height:34px !important;
}

.collection-zoom-products .cart-step,
.collection-zoom-products .cart-button{
    height:29px !important;
}

@media(max-width:1320px){
    .collection-zoom-products{grid-template-columns:repeat(4, minmax(230px, 1fr)) !important;}
}

@media(max-width:1050px){
    .collection-zoom-products{grid-template-columns:repeat(3, minmax(220px, 1fr)) !important;}
}

@media(max-width:700px){
    .collection-zoom-content{width:97vw !important; height:92vh !important; padding:18px 14px 10px !important;}
    .collection-zoom-products{grid-template-columns:1fr !important;}
    .collection-zoom-products .product-card,
.collection-zoom-products .product-card:hover{height:590px !important; min-height:590px !important;}
    .collection-zoom-products .product-card .card-img{height:420px !important;}
    .collection-zoom-products .product-card:hover .card-img{height:300px !important;}
}

.collection-zoom-products .product-card .card-info{
    padding-bottom:0 !important;
}

.collection-zoom-products .product-card:hover .card-info{
    padding-bottom:0 !important;
}

.collection-zoom-products .product-card .card-info{
    justify-content:center !important;
}

.collection-zoom-products .product-card:hover .card-info{
    justify-content:flex-start !important;
}

.collection-zoom-products .product-card:hover .product-description{
    margin-bottom:10px !important;
}

.collection-zoom-products .product-card:hover .product-inline-code{
    margin-top:2px !important;
    margin-bottom:6px !important;
}

.collection-zoom-products .product-card:hover .product-measures{
    margin-bottom:10px !important;
}

.collection-zoom-products .product-card:hover .price-row{
    margin-top:7px !important;
}

.collection-zoom-products .product-card:hover .price-row.mayorista{
    margin-top:7px !important;
}

.collection-zoom-products .product-card:hover .cart-control,
.collection-zoom-products .product-card .cart-control.has-items{
    margin-top:12px !important;
}

.collection-zoom-products .cart-control{
    position:relative;
    z-index:5;
    max-height:34px !important;
    opacity:1 !important;
    transform:none !important;
    pointer-events:auto !important;
}

.collection-zoom-products .cart-control button{
    position:relative;
    z-index:6;
}

.collection-zoom-modal{
    z-index:10040 !important;
}
body.collection-zoom-open.image-modal-open .page{
    pointer-events:none;
}

.image-modal-content{
    visibility:visible !important;
}

.image-modal.active{
    opacity:1 !important;
    pointer-events:auto !important;
    visibility:visible !important;
}

.image-modal.active .image-modal-content{
    visibility:visible !important;
}

.image-modal.active #imageModalImg{
    display:block !important;
    visibility:visible !important;
}

.image-modal.closing{
    opacity:1 !important;
    visibility:visible !important;
}

.image-modal.closing .image-modal-content{
    visibility:visible !important;
}

.catalog.collections-collapsed > .section-head,
.catalog.collections-collapsed > .cover-cards{
    display:none !important;
}

.catalog.collections-collapsed{
    border-bottom:none !important;
}

.image-modal{
    z-index:2147483646 !important;
    isolation:isolate !important;
}

.image-modal-backdrop{
    z-index:0 !important;
}

.image-modal-content{
    z-index:2 !important;
    width:min(94vw, 1120px) !important;
    height:min(90vh, 860px) !important;
    transform-origin:center center !important;
    backface-visibility:hidden !important;
    will-change:transform, opacity !important;
}

.image-modal:not(.active):not(.closing){
    opacity:0 !important;
    visibility:hidden !important;
    pointer-events:none !important;
}

.image-modal.active,
.image-modal.closing{
    visibility:visible !important;
}

.image-modal.closing{
    pointer-events:none !important;
}

body.collection-zoom-open.image-modal-open .collection-zoom-modal{
    z-index:9998 !important;
    filter:blur(3px) brightness(.58);
}

.hero-text .btn{
    margin-top:26px;
}

.values{
    min-height:96px !important;
}

.value{
    min-height:96px !important;
    padding-top:15px !important;
    padding-bottom:15px !important;
}

.value-icon{
    font-size:48px !important;
}

.value h3{
    font-size:12px !important;
    line-height:1.45 !important;
    letter-spacing:1.6px !important;
}

.value p{
    font-size:12px !important;
    line-height:1.55 !important;
    margin-top:5px !important;
}

.catalog{
    padding:25px 28px 15px !important;
}

.catalog > .section-head{
    max-height:70px;
    opacity:1;
    transform:translateY(0);
    overflow:hidden;
    transition:max-height .72s var(--ease-ritual),
        opacity .46s ease,
        transform .62s var(--ease-ritual),
        margin .62s var(--ease-ritual);
}

.catalog > .cover-cards{
    max-height:330px;
    opacity:1;
    transform:translateY(0);
    overflow:visible;
    transition:max-height .82s var(--ease-ritual),
        opacity .48s ease,
        transform .72s var(--ease-ritual),
        margin .62s var(--ease-ritual);
}

.catalog.collections-collapsed > .section-head,
.catalog.collections-collapsed > .cover-cards{
    max-height:0 !important;
    opacity:0 !important;
    transform:translateY(-14px) !important;
    margin-top:0 !important;
    margin-bottom:0 !important;
    overflow:hidden !important;
    pointer-events:none !important;
}

.catalog{
    overflow:hidden !important;
    max-height:390px !important;
    opacity:1 !important;
    transform:translateY(0) !important;
    transition:
        max-height var(--t-hero) var(--ease-reveal),
        opacity .72s ease,
        transform .90s var(--ease-reveal),
        padding .90s var(--ease-reveal),
        border-color .90s ease !important;
}

.catalog > .section-head{
    display:flex !important;
    max-height:72px !important;
    opacity:1 !important;
    transform:translateY(0) !important;
    transition:
        max-height .86s var(--ease-reveal),
        opacity .58s ease .08s,
        transform .80s var(--ease-reveal),
        margin .80s var(--ease-reveal) !important;
}

.catalog > .cover-cards{
    display:grid !important;
    max-height:300px !important;
    opacity:1 !important;
    transform:translateY(0) scale(1) !important;
    transform-origin:top center !important;
    transition:
        max-height 1.02s var(--ease-reveal),
        opacity .72s ease .10s,
        transform .96s var(--ease-reveal),
        margin .82s var(--ease-reveal) !important;
}

.catalog.collections-collapsed{
    max-height:0 !important;
    opacity:0 !important;
    transform:translateY(-18px) !important;
    padding-top:0 !important;
    padding-bottom:0 !important;
    border-color:transparent !important;
    pointer-events:none !important;
}

.catalog.collections-collapsed > .section-head{
    display:flex !important;
    max-height:0 !important;
    opacity:0 !important;
    transform:translateY(-14px) !important;
    margin-top:0 !important;
    margin-bottom:0 !important;
    overflow:hidden !important;
}

.catalog.collections-collapsed > .cover-cards{
    display:grid !important;
    max-height:0 !important;
    opacity:0 !important;
    transform:translateY(-18px) scale(.985) !important;
    margin-top:0 !important;
    margin-bottom:0 !important;
    overflow:hidden !important;
}

.product-strip{
    padding:23px 28px 18px;
    border-bottom:1px solid var(--line);
    background:
        radial-gradient(circle at 18% 0%, rgba(176,122,63,.085), transparent 30%),
        linear-gradient(180deg, rgba(7,7,6,.98), rgba(3,3,3,.98));
}

.product-strip-head{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    margin-bottom:14px;
}

.product-strip-head h2{
    font-family:"Cormorant Garamond",serif;
    font-weight:300;
    font-size:30px;
    letter-spacing:4px;
    color:#eee8dc;
}

.product-strip-head span{
    font-family:"Montserrat",sans-serif;
    font-size:10px;
    letter-spacing:2px;
    color:rgba(208,160,99,.66);
    text-transform:uppercase;
}

.product-strip-row{
    display:grid;
    grid-template-columns:repeat(8, minmax(120px, 1fr));
    gap:10px;
    overflow:visible;
    perspective:1000px;
}

.product-strip-card{
    display:block;
    text-decoration:none;
    color:inherit;
    min-height:205px !important;
    cursor:pointer;
    transform:translate3d(0,0,0) scale(1);
    transition:
        transform .42s var(--ease-ritual),
        border-color .32s ease,
        box-shadow .36s ease,
        filter .36s ease;
}

.product-strip-card:hover{
    z-index:40;
    transform:translate3d(0,-6px,0) scale(1.035);
    border-color:rgba(208,160,99,.72);
    box-shadow:
        0 18px 48px rgba(0,0,0,.54),
        0 0 24px rgba(208,160,99,.10);
}

.product-strip-card .card-img{
    height:150px !important;
}

.product-strip-card .card-info{
    padding:10px 11px 11px !important;
}

.product-strip-card .product-category{
    font-size:8px !important;
    letter-spacing:1.6px !important;
    margin-bottom:4px !important;
}

.product-strip-card h3{
    font-size:11px !important;
    line-height:1.25 !important;
    margin-bottom:0 !important;
}

@media(max-width:1300px){
    .product-strip-row{grid-template-columns:repeat(4, minmax(140px, 1fr));}
}

@media(max-width:700px){
    .product-strip-row{grid-template-columns:repeat(2, minmax(130px, 1fr));}
}

.product-strip{
    overflow:hidden !important;
    max-height:360px !important;
    opacity:1 !important;
    transform:translateY(0) !important;
    transition:
        max-height var(--t-hero) var(--ease-reveal),
        opacity .72s ease,
        transform .90s var(--ease-reveal),
        padding .90s var(--ease-reveal),
        border-color .90s ease !important;
}

.product-strip.product-strip-collapsed{
    max-height:0 !important;
    opacity:0 !important;
    transform:translateY(-18px) !important;
    padding-top:0 !important;
    padding-bottom:0 !important;
    border-color:transparent !important;
    pointer-events:none !important;
}

.product-strip.product-strip-collapsed .product-strip-head,
.product-strip.product-strip-collapsed .product-strip-row{
    opacity:0 !important;
    transform:translateY(-14px) !important;
    overflow:hidden !important;
}

.flame-menu .flame-f .flame-core{ animation-duration:3.4s; animation-delay:-2.7s; }
.flame-menu .flame-f .flame-glow{ animation-duration:4.2s; animation-delay:-2.5s; }
.flame-menu .flame-f{ --spark-x:-6px; }
.flame-menu .flame-g .flame-core{ animation-duration:3.1s; animation-delay:-3.1s; }
.flame-menu .flame-g .flame-glow{ animation-duration:4.0s; animation-delay:-2.9s; }
.flame-menu .flame-g{ --spark-x:6px; }

.hero,
.hero-slideshow,
.hero-slide{
    overflow:hidden !important;
}

.hero,
.hero-slideshow{
    background:#030303 !important;
}

.hero-slideshow{
    outline:0 !important;
    box-shadow:none !important;
}

.hero:after{
    bottom:-2px !important;
}

.hero:before,
.hero:after,
.hero-shade{
    border:0 !important;
    outline:0 !important;
    box-shadow:none !important;
}

.main{
    width:100% !important;
    max-width:none !important;
    overflow:hidden !important;
}

.hero{
    width:100% !important;
    max-width:none !important;
    margin:0 !important;
    padding:0 !important;
    border-right:0 !important;
}

.hero-slideshow{
    position:absolute !important;
    inset:0 !important;
    width:100% !important;
    height:100% !important;
    margin:0 !important;
    padding:0 !important;
    overflow:hidden !important;
    border:0 !important;
    background:#050505 !important;
}

.hero-slide{
    position:absolute !important;
    left:0 !important;
    top:0 !important;
    right:auto !important;
    bottom:auto !important;
    width:100% !important;
    height:100% !important;
    inset:auto !important;
    margin:0 !important;
    padding:0 !important;
    background-size:cover !important;
    background-position:92% center !important;
    background-repeat:no-repeat !important;
    transform:none !important;
    border:0 !important;
    outline:0 !important;
    box-shadow:none !important;
}

.hero video,
.hero-video{
    position:absolute !important;
    inset:0 !important;
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
    object-position:92% center !important;
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
    outline:0 !important;
    box-shadow:none !important;
}

.hero{
    border-top:0 !important;
    border-bottom:0 !important;
}

.hero-video-stack{
    left:0 !important;
    right:0 !important;
    top:-10px !important;
    bottom:-10px !important;
}

.hero-video-stack .hero-video{
    left:0 !important;
    top:0 !important;
    opacity:0 !important;
    transition:opacity 1.65s ease-in-out, filter 1.65s ease-in-out !important;
    margin:0 !important;
    padding:0 !important;
    display:block !important;
}

.hero-video-stack .hero-video.active{
    opacity:1 !important;
}

.hero-video-fade{
    position:absolute !important;
    inset:0 !important;
    z-index:3 !important;
    background:rgba(0,0,0,0);
    pointer-events:none !important;
    opacity:0;
    transition:opacity .9s ease-in-out;
}

.hero-video-fade.active{
    opacity:1;
    background:rgba(0,0,0,.48);
}

.hero-shade,
.hero:after{
    left:0 !important;
    right:0 !important;
    top:0 !important;
    bottom:0 !important;
    width:100% !important;
    height:100% !important;
    border:0 !important;
    outline:0 !important;
    box-shadow:none !important;
}

.hero-slideshow{
    display:none !important;
}

.hero{
    position:relative !important;
    overflow:hidden !important;
    background:#050505 !important;
    border:0 !important;
    outline:0 !important;
    box-shadow:none !important;
}

.hero:before,
.hero:after{
    content:none !important;
    display:none !important;
}

.hero-video-stack{
    position:absolute !important;
    inset:0 !important;
    width:100% !important;
    height:100% !important;
    overflow:hidden !important;
    z-index:0 !important;
    background:#050505 !important;
    border:0 !important;
    outline:0 !important;
    box-shadow:none !important;
}

.hero-video-stack .hero-video{
    position:absolute !important;
    inset:0 !important;
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
    object-position:92% center !important;
    transform:none !important;
    filter:
        brightness(.56)
        contrast(1.08)
        saturate(.86)
        sepia(.06) !important;
    border:0 !important;
    outline:0 !important;
    box-shadow:none !important;
}

.hero-shade{
    position:absolute !important;
    inset:0 !important;
    width:100% !important;
    height:100% !important;
    z-index:2 !important;
    border:0 !important;
    outline:0 !important;
    box-shadow:none !important;
}

.bottom{
    z-index:1 !important;
}

.values{
    background:rgba(6,6,6,.98) !important;
    backdrop-filter:blur(4px);
}

.main.dynamic-open .dynamic-space{
    overflow:visible !important;
}

.main.dynamic-open .catalog,
.main.dynamic-open .product-strip,
.main.dynamic-open .cover-card,
.main.dynamic-open .product-strip-card,
.main.dynamic-open .product-card{
    transform-origin:center center;
}

.main.dynamic-open .bottom{
    transition:min-height .55s var(--ease-ritual);
}

.main.dynamic-open .story-text{
    transition:padding .55s var(--ease-ritual);
}

.main.dynamic-open .story-text h2{
    transition:font-size .55s var(--ease-ritual),
        margin .55s var(--ease-ritual);
}

.main.dynamic-open .story-text .btn{
    margin-top:14px !important;
    padding-top:11px !important;
    padding-bottom:11px !important;
}

.main.dynamic-open .laser{
    transition:min-height .55s var(--ease-ritual),
        margin .55s var(--ease-ritual),
        padding .55s var(--ease-ritual);
}

.main.dynamic-open .laser .btn{
    margin-top:12px !important;
    padding-top:11px !important;
    padding-bottom:11px !important;
}

.bottom{
    align-items:end !important;
}

.bottom .story,
.bottom .laser{
    align-self:end !important;
    transform-origin:bottom center !important;
}

.main.dynamic-open .story{
    min-height:168px !important;
    align-self:end !important;
    display:grid !important;
    align-items:end !important;
}

.main.dynamic-open .story-text{
    align-self:end !important;
    padding-top:18px !important;
    padding-bottom:20px !important;
}

.main.dynamic-open .story-visual{
    align-self:stretch !important;
}

.main.dynamic-open .laser{
    align-self:end !important;
    margin-top:22px !important;
    margin-bottom:22px !important;
    padding-top:22px !important;
    padding-bottom:22px !important;
}

.bottom{
    min-height:244px !important;
    transform-origin:bottom center !important;
    will-change:transform;
    transition:transform .55s var(--ease-ritual) !important;
}

.main.dynamic-open .bottom{
    min-height:244px !important;
    align-items:stretch !important;

    transform:scaleY(.68) !important;
    transform-origin:bottom center !important;
}

.main:not(.dynamic-open) .bottom{
    transform:scaleY(1) !important;
}

.main.dynamic-open .story,
.main.dynamic-open .laser{
    transform:none !important;
    align-self:stretch !important;
}

.main.dynamic-open .story-text{
    padding:43px 38px 34px 45px !important;
}

.main.dynamic-open .story-text h2{
    font-size:38px !important;
    margin-bottom:21px !important;
}

.main.dynamic-open .story-text p{
    max-height:none !important;
    overflow:visible !important;
}

.main.dynamic-open .laser{
    margin:32px !important;
    min-height:170px !important;
    padding:37px 38px !important;
}

.bottom,
.main.dynamic-open .bottom,
.main:not(.dynamic-open) .bottom{
    transform-origin:initial !important;
}

.main.dynamic-open .story,
.main.dynamic-open .laser,
.main.dynamic-open .story-text,
.main.dynamic-open .story-text h2,
.main.dynamic-open .story-text p,
.main.dynamic-open .laser p{
    transform:none !important;
    max-height:none !important;
    overflow:visible !important;
}

.main.dynamic-open .story-text p{
    line-height:1.75 !important;
}

.dynamic-space{
    position:relative !important;
    height:344px !important;
    min-height:344px !important;
    max-height:344px !important;
    overflow:hidden !important;
    background:#030303 !important;
    border-bottom:1px solid var(--line) !important;
}

.dynamic-space-inner{
    position:relative !important;
    width:100% !important;
    height:344px !important;
    min-height:344px !important;
    max-height:344px !important;
    overflow:hidden !important;
}

.dynamic-space .catalog{
    padding:25px 28px 15px !important;
    border-bottom:none !important;
}

.dynamic-space .catalog > .section-head{
    margin-bottom:15px !important;
}

.dynamic-space .catalog > .cover-cards{
    height:250px !important;
    min-height:250px !important;
    max-height:250px !important;
    overflow:visible !important;
}

.dynamic-space .catalog > .cover-cards .cover-card{
    min-height:250px !important;
    height:250px !important;
    max-height:250px !important;
}

.dynamic-space .product-strip{
    border-bottom:none !important;
}

.dynamic-space .collection-frame{
    max-height:0 !important;
    overflow:hidden !important;
}

.dynamic-space .collection-frame.open{
    max-height:0 !important;
    overflow:hidden !important;
    padding-top:0 !important;
    padding-bottom:0 !important;
    margin-top:0 !important;
    border-color:transparent !important;
}

.values{
    position:relative !important;
    top:auto !important;
    z-index:10 !important;
}

.dynamic-space .catalog{
    height:344px !important;
    min-height:344px !important;
    max-height:344px !important;
    overflow:hidden !important;
    transition:none !important;
}

.dynamic-space .section-head{
    height:38px !important;
    min-height:38px !important;
    max-height:38px !important;
    margin-bottom:15px !important;
    flex-shrink:0 !important;
}

.dynamic-space .cover-cards{
    height:250px !important;
    min-height:250px !important;
    max-height:250px !important;
    grid-auto-rows:250px !important;
    align-items:stretch !important;
    transition:none !important;
}

.dynamic-space .cover-card,
.dynamic-space .cover-card.card{
    height:250px !important;
    min-height:250px !important;
    max-height:250px !important;
}

.dynamic-space .cover-card .card-img{
    height:180px !important;
    min-height:180px !important;
    max-height:180px !important;
    overflow:hidden !important;
}

.dynamic-space .product-strip{
    height:344px !important;
    min-height:344px !important;
    max-height:344px !important;
    overflow:hidden !important;
    transition:none !important;
}

.dynamic-space .product-strip-head{
    height:38px !important;
    min-height:38px !important;
    max-height:38px !important;
    margin-bottom:15px !important;
    overflow:hidden !important;
}

.dynamic-space .product-strip-row{
    height:250px !important;
    min-height:250px !important;
    max-height:250px !important;
    align-items:stretch !important;
}

.dynamic-space .product-strip-card{
    height:250px !important;
    min-height:250px !important;
    max-height:250px !important;
}

.dynamic-space .product-strip-card .card-img{
    height:180px !important;
    min-height:180px !important;
    max-height:180px !important;
}

.dynamic-space .product-strip-card .card-info{
    height:70px !important;
    min-height:70px !important;
    max-height:70px !important;
    overflow:hidden !important;
}

.dynamic-space .catalog.collections-collapsed,
.dynamic-space .product-strip.product-strip-collapsed{
    margin:0 !important;
    transition:none !important;
}

.dynamic-space .catalog:not(.collections-collapsed),
.dynamic-space .product-strip:not(.product-strip-collapsed){
    display:block !important;
    transition:none !important;
}

.dynamic-space .collection-frame,
.dynamic-space .collection-frame.open{
    display:none !important;
    height:0 !important;
    min-height:0 !important;
    max-height:0 !important;
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
    overflow:hidden !important;
}

.bottom,
.main.dynamic-open .bottom,
.main:not(.dynamic-open) .bottom{
    transform:none !important;
    transition:none !important;
}

.story,
.main.dynamic-open .story,
.main:not(.dynamic-open) .story{
    transform:none !important;
    transition:none !important;
}

.story-text,
.main.dynamic-open .story-text,
.main:not(.dynamic-open) .story-text{
    transform:none !important;
    transition:none !important;
}

.main.dynamic-open .story-visual{
    transform:none !important;
    transition:none !important;
}

.main.dynamic-open .laser,
.main:not(.dynamic-open) .laser{
    transform:none !important;
    transition:none !important;
}

.story,
.main.dynamic-open .story,
.main:not(.dynamic-open) .story{
    background:linear-gradient(90deg, rgba(0,0,0,.86) 0%, rgba(0,0,0,.58) 30%, rgba(0,0,0,.24) 62%, rgba(0,0,0,.66) 100%),
        radial-gradient(circle at 12% 45%, rgba(176,122,63,.10), transparent 30%) !important;
}

.story:after{
    content:"" !important;
    position:absolute !important;
    inset:0 !important;
    pointer-events:none !important;
    background:
        linear-gradient(180deg, rgba(0,0,0,.18), rgba(0,0,0,.42)),
        radial-gradient(circle at 18% 46%, rgba(208,160,99,.08), transparent 26%) !important;
    z-index:1 !important;
}

.story-text h2,
.main.dynamic-open .story-text h2{
    font-size:36px !important;
    line-height:.95 !important;
    letter-spacing:13px !important;
    margin-bottom:18px !important;
    color:rgba(238,232,220,.94) !important;
    text-shadow:
        0 0 12px rgba(255,235,190,.14),
        0 0 30px rgba(0,0,0,.72) !important;
}

.story-text .btn{
    margin-top:16px !important;
    width:205px !important;
    justify-content:center !important;
    padding:11px 16px !important;
    background:rgba(0,0,0,.24) !important;
    border-color:rgba(208,160,99,.48) !important;
    box-shadow:
        inset 0 0 0 1px rgba(208,160,99,.06),
        0 0 22px rgba(0,0,0,.34) !important;
}

.main.dynamic-open .story-visual{
    height:244px !important;
    min-height:244px !important;
    max-height:244px !important;
    overflow:hidden !important;
    filter:brightness(.78) contrast(1.12) saturate(.82) !important;
}

.main.dynamic-open .laser,
.main:not(.dynamic-open) .laser{
    grid-template-columns:48px 1fr !important;
}

.main.dynamic-open .laser h3{
    font-size:15px !important;
    letter-spacing:3px !important;
    margin-bottom:9px !important;
    color:rgba(208,160,99,.92) !important;
    text-shadow:0 0 14px rgba(208,160,99,.12) !important;
}

.main.dynamic-open .laser p{
    max-height:66px !important;
    overflow:hidden !important;
    font-size:11.5px !important;
    line-height:1.55 !important;
    color:rgba(200,190,178,.72) !important;
}

.laser .btn{
    padding:11px 16px !important;
    background:rgba(0,0,0,.25) !important;
    border-color:rgba(208,160,99,.50) !important;
}

.bottom{
    margin-top:0 !important;
    position:relative !important;
    top:-1px !important;
}

.story{
    background-image:
        linear-gradient(90deg, rgba(0,0,0,.88) 0%, rgba(0,0,0,.55) 35%, rgba(0,0,0,.22) 70%, rgba(0,0,0,.70) 100%),
        url("/static/img_optimizado/Taller/taller_01.webp") !important;

    background-size:cover !important;
    background-position:center center !important;
    background-repeat:no-repeat !important;
}

.story-text p{
    margin-top:4px !important;
}

.bottom + *{
    margin-top:0 !important;
}

.bottom,
.main.dynamic-open .bottom,
.main:not(.dynamic-open) .bottom{
    margin-top:0 !important;
    margin-bottom:0 !important;
}

.story,
.story-text{
    height:320px !important;
    min-height:320px !important;
    max-height:320px !important;
}

.story-text{
    padding:30px 42px 26px 42px !important;
    justify-content:flex-start !important;
}

.story-text p{
    max-width:260px !important;
    font-size:12px !important;
    line-height:1.62 !important;
}

.main.dynamic-open .laser,
.main:not(.dynamic-open) .laser{
    flex-direction:column !important;
    justify-content:center !important;
    align-items:flex-start !important;
    gap:10px !important;
}

.laser .btn{
    margin-top:10px !important;
    width:210px !important;
    min-height:42px !important;

    display:flex !important;
    align-items:center !important;
    justify-content:center !important;

    overflow:hidden !important;
    white-space:nowrap !important;
}

.bottom::after{
    content:none !important;
    display:none !important;
}

.bottom,
.main.dynamic-open .bottom,
.main:not(.dynamic-open) .bottom{
    display:grid !important;
}

.story,
.main.dynamic-open .story,
.main:not(.dynamic-open) .story{
    position:relative !important;
    overflow:hidden !important;
    background-attachment:local !important;
}

.main.dynamic-open .story-visual,
.main:not(.dynamic-open) .story-visual{
    display:none !important;
}

.story-text,
.main.dynamic-open .story-text,
.main:not(.dynamic-open) .story-text{
    position:relative !important;
    z-index:2 !important;
}

.story-logo{
    margin-bottom:18px !important;
}

.main.dynamic-open .laser,
.main:not(.dynamic-open) .laser{
    justify-self:stretch !important;
    overflow:hidden !important;
}

.bottom,
.main.dynamic-open .bottom,
.main:not(.dynamic-open) .bottom{
    height:420px !important;
    min-height:420px !important;
    max-height:none !important;
    margin:0 !important;
    padding:0 !important;
    overflow:hidden !important;
    align-items:stretch !important;
    background:#030303 !important;
}

.story,
.main.dynamic-open .story,
.main:not(.dynamic-open) .story{
    height:420px !important;
    min-height:420px !important;
    max-height:none !important;
}

.story-text,
.main.dynamic-open .story-text,
.main:not(.dynamic-open) .story-text{
    height:420px !important;
    min-height:420px !important;
    max-height:none !important;
    padding:0 42px !important;
    display:flex !important;
    flex-direction:column !important;
    justify-content:center !important;
    align-items:flex-start !important;
    background:transparent !important;
}

.story-text p,
.main.dynamic-open .story-text p{
    max-height:160px !important;
    overflow:hidden !important;
    color:rgba(232,224,212,.78) !important;
    font-size:12px !important;
    line-height:1.62 !important;
    text-shadow:0 5px 22px rgba(0,0,0,.88) !important;
}

.main.dynamic-open .laser,
.main:not(.dynamic-open) .laser{
    align-self:center !important;

    height:220px !important;
    min-height:220px !important;
    max-height:220px !important;

    margin:0 28px !important;
    padding:34px 42px !important;
}

.story,
.main.dynamic-open .story,
.main:not(.dynamic-open) .story{
    border:1px solid rgba(176,122,63,.34) !important;
    border-left:0 !important;

    background-image:
        linear-gradient(90deg,
            rgba(0,0,0,.90) 0%,
            rgba(0,0,0,.66) 34%,
            rgba(0,0,0,.46) 66%,
            rgba(0,0,0,.82) 100%
        ),
        radial-gradient(circle at 15% 45%, rgba(176,122,63,.07), transparent 28%),
        url("/static/img_optimizado/Taller/taller_01.webp") !important;

    background-size:cover !important;
    background-position:center center !important;
    background-repeat:no-repeat !important;
    box-shadow:
        inset 0 0 0 1px rgba(208,160,99,.045),
        inset 0 0 48px rgba(0,0,0,.38) !important;
}

.bottom,
.main.dynamic-open .bottom,
.main:not(.dynamic-open) .bottom{
    border-top:1px solid rgba(176,122,63,.32) !important;
    border-bottom:1px solid rgba(176,122,63,.24) !important;
    box-shadow:
        inset 0 1px 0 rgba(208,160,99,.045),
        inset 0 -1px 0 rgba(208,160,99,.035) !important;
}

.story-logo{
    isolation:isolate !important;
    image-rendering:auto !important;
}

.story-text,
.story-text *{
    opacity:1;
}

.story-text p{
    opacity:.92 !important;
}

.main.dynamic-open .laser,
.main:not(.dynamic-open) .laser{
    border:1px solid rgba(176,122,63,.46) !important;
    box-shadow:
        inset 0 0 0 1px rgba(208,160,99,.045),
        0 0 34px rgba(0,0,0,.42) !important;
    background:
        radial-gradient(circle at 15% 20%, rgba(176,122,63,.12), transparent 32%),
        linear-gradient(180deg, rgba(9,7,5,.96), rgba(2,2,2,.99)) !important;
}

.hero-video-stack .hero-video-c{
    opacity:0;
}

.story-text,
.main.dynamic-open .story-text,
.main:not(.dynamic-open) .story-text{
    overflow:visible !important;
    padding-left:42px !important;
    padding-right:42px !important;
}

.story-logo{
    min-width:0 !important;
    display:block !important;
    object-fit:contain !important;
    object-position:left center !important;
    margin:0 0 20px 0 !important;
    mix-blend-mode:normal !important;
    background:transparent !important;
}

.story-text p,
.main.dynamic-open .story-text p{
    width:310px !important;
    max-width:310px !important;
}

.story-logo{
    width:220px !important;
    max-width:220px !important;
    height:auto !important;

    opacity:.58 !important;

    filter:
        grayscale(1)
        brightness(.72)
        contrast(.92) !important;

    transition:
        opacity .42s ease,
        filter .42s ease,
        transform .42s ease !important;

    will-change:filter, opacity, transform;
}

.story:hover .story-logo{
    opacity:1 !important;

    filter:
        grayscale(.12)
        brightness(1.55)
        contrast(1.04)
        drop-shadow(0 0 10px rgba(255,220,170,.18))
        drop-shadow(0 0 26px rgba(208,160,99,.14)) !important;

    transform:translateY(-1px) !important;
}

.dynamic-space,
.dynamic-space-inner{
    height:auto !important;
    min-height:0 !important;
    max-height:none !important;
    overflow:visible !important;
}

.dynamic-space .catalog,
.dynamic-space .product-strip{
    display:block !important;
    position:relative !important;
    width:100% !important;
    height:344px !important;
    min-height:344px !important;
    max-height:344px !important;
    margin:0 !important;
    overflow:hidden !important;
    opacity:1 !important;
    pointer-events:auto !important;
}

.dynamic-space .catalog.collections-collapsed,
.dynamic-space .product-strip.product-strip-collapsed{
    display:block !important;
    height:0 !important;
    min-height:0 !important;
    max-height:0 !important;
    padding-top:0 !important;
    padding-bottom:0 !important;
    border-color:transparent !important;
    pointer-events:none !important;
    overflow:hidden !important;
}

.dynamic-space .catalog.collections-collapsed > .section-head,
.dynamic-space .catalog.collections-collapsed > .cover-cards,
.dynamic-space .product-strip.product-strip-collapsed .product-strip-head,
.dynamic-space .product-strip.product-strip-collapsed .product-strip-row{
    display:flex !important;
    pointer-events:none !important;
}

.dynamic-space .catalog.collections-collapsed > .cover-cards,
.dynamic-space .product-strip.product-strip-collapsed .product-strip-row{
    display:grid !important;
}

.main.dynamic-open .dynamic-space{
    min-height:0 !important;
    height:auto !important;
    max-height:none !important;
}

.bottom,
.main.dynamic-open .bottom,
.main:not(.dynamic-open) .bottom{
    grid-template-columns:1fr !important;
}

.story.story-full,
.main.dynamic-open .story.story-full,
.main:not(.dynamic-open) .story.story-full{
    width:100% !important;
    grid-column:1 / -1 !important;
    border-right:0 !important;
    border-left:0 !important;
}

.story.story-full .story-logo{
    margin:0 auto 20px auto !important;
    object-position:center center !important;
}

.story.story-full .story-text p,
.main.dynamic-open .story.story-full .story-text p,
.main:not(.dynamic-open) .story.story-full .story-text p{
    margin-left:auto !important;
    margin-right:auto !important;
}

.main.dynamic-open .laser,
.main:not(.dynamic-open) .laser{
    display:none !important;
}

@media(max-width:800px){

    .story.story-full .story-text p,
.main.dynamic-open .story.story-full .story-text p,
.main:not(.dynamic-open) .story.story-full .story-text p{
        max-width:78vw !important;
    }
}

.dynamic-space{
    perspective:900px !important;
    transform-style:preserve-3d !important;
}

.dynamic-space-inner{
    perspective:900px !important;
    transform-style:preserve-3d !important;
}

.dynamic-space .catalog,
.dynamic-space .product-strip{
    transform-origin:50% 0% !important;
    backface-visibility:hidden !important;
}

.dynamic-space .catalog:not(.collections-collapsed),
.dynamic-space .product-strip:not(.product-strip-collapsed){
    transform:perspective(900px) translate3d(0,0,0) rotateX(0deg) scale(1) !important;
    opacity:1 !important;
    filter:blur(0) brightness(1) !important;
}

.dynamic-space .catalog > .section-head,
.dynamic-space .catalog > .cover-cards,
.dynamic-space .product-strip-head,
.dynamic-space .product-strip-row{
    will-change:opacity, transform, filter !important;
}

.dynamic-space .catalog.collections-collapsed > .section-head,
.dynamic-space .catalog.collections-collapsed > .cover-cards,
.dynamic-space .product-strip.product-strip-collapsed .product-strip-head,
.dynamic-space .product-strip.product-strip-collapsed .product-strip-row{
    transform:translate3d(0,-14px,-28px) scale(.985) !important;
    opacity:0 !important;
    filter:blur(2px) brightness(.78) !important;
}

.story.story-full,
.main.dynamic-open .story.story-full,
.main:not(.dynamic-open) .story.story-full{
    position:relative !important;
    display:block !important;
    background:
        linear-gradient(90deg, rgba(0,0,0,.92) 0%, rgba(0,0,0,.76) 31%, rgba(0,0,0,.34) 58%, rgba(0,0,0,.54) 100%),
        linear-gradient(180deg, rgba(0,0,0,.18) 0%, rgba(0,0,0,.16) 42%, rgba(0,0,0,.72) 100%),
        url('/static/img_optimizado/Taller/taller_01.webp?v={{ version }}') !important;
    background-size:cover !important;
    background-position:center bottom !important;
    background-repeat:no-repeat !important;
}

.story.story-full:before,
.main.dynamic-open .story.story-full:before,
.main:not(.dynamic-open) .story.story-full:before{
    content:"" !important;
    position:absolute !important;
    inset:0 !important;
    z-index:0 !important;
    background:
        radial-gradient(circle at 22% 50%, rgba(176,122,63,.12), transparent 33%),
        linear-gradient(180deg, rgba(0,0,0,.16), rgba(0,0,0,.18) 40%, rgba(0,0,0,.06) 100%) !important;
    pointer-events:none !important;
}

.story.story-full:after,
.main.dynamic-open .story.story-full:after,
.main:not(.dynamic-open) .story.story-full:after{
    z-index:1 !important;
    background:
        linear-gradient(90deg, rgba(0,0,0,.28) 0%, rgba(0,0,0,.10) 45%, rgba(0,0,0,.36) 100%),
        linear-gradient(180deg, rgba(0,0,0,.08) 0%, rgba(0,0,0,.20) 100%) !important;
}

.story.story-full .story-text,
.main.dynamic-open .story.story-full .story-text,
.main:not(.dynamic-open) .story.story-full .story-text{
    position:relative !important;
    z-index:2 !important;
    width:42% !important;
    max-width:520px !important;
    min-width:360px !important;
    height:100% !important;
    min-height:inherit !important;
    padding:0 0 0 58px !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:flex-start !important;
    justify-content:center !important;
    text-align:left !important;
    overflow:visible !important;
}

.story.story-full .story-logo,
.main.dynamic-open .story.story-full .story-logo,
.main:not(.dynamic-open) .story.story-full .story-logo{
    margin:0 0 20px 0 !important;
    object-position:left center !important;
}

.story.story-full .story-text p,
.main.dynamic-open .story.story-full .story-text p,
.main:not(.dynamic-open) .story.story-full .story-text p{
    width:360px !important;
    max-width:360px !important;
    margin:0 !important;
    text-align:left !important;
}

@media(max-width:800px){
    .story.story-full .story-text,
.main.dynamic-open .story.story-full .story-text,
.main:not(.dynamic-open) .story.story-full .story-text{
        width:70% !important;
        min-width:0 !important;
        padding-left:32px !important;
    }

    .story.story-full .story-text p,
.main.dynamic-open .story.story-full .story-text p,
.main:not(.dynamic-open) .story.story-full .story-text p{
        width:78vw !important;
        max-width:78vw !important;
    }
}

.dynamic-space .catalog,
.dynamic-space .product-strip{
    will-change:transform, opacity;
}

.dynamic-space .catalog.collections-collapsed,
.dynamic-space .product-strip.product-strip-collapsed{
    transform:translate3d(0,-6px,0) scale(.994) !important;
    opacity:0 !important;
    filter:none !important;
}

.dynamic-space .catalog.dynamic-opening,
.dynamic-space .product-strip.dynamic-opening{
    transform:translate3d(0,10px,0) scale(.992) !important;
    opacity:0 !important;
    filter:none !important;
}

.dynamic-space .catalog.dynamic-closing,
.dynamic-space .product-strip.dynamic-closing{
    transform:translate3d(0,-10px,0) scale(.992) !important;
    opacity:0 !important;
    filter:none !important;
}

.dynamic-space .catalog > .section-head,
.dynamic-space .catalog > .cover-cards,
.dynamic-space .product-strip-head,
.dynamic-space .product-strip-row{
    transition:
        opacity .34s ease .03s,
        transform .44s cubic-bezier(.22,.74,.22,1) .01s !important;
    filter:none !important;
}

.dynamic-space .catalog.collections-collapsed > .section-head,
.dynamic-space .catalog.collections-collapsed > .cover-cards,
.dynamic-space .product-strip.product-strip-collapsed .product-strip-head,
.dynamic-space .product-strip.product-strip-collapsed .product-strip-row,
.dynamic-space .catalog.dynamic-closing > .section-head,
.dynamic-space .catalog.dynamic-closing > .cover-cards,
.dynamic-space .product-strip.dynamic-closing .product-strip-head,
.dynamic-space .product-strip.dynamic-closing .product-strip-row{
    transform:translate3d(0,-6px,0) scale(.997) !important;
    opacity:0 !important;
    filter:none !important;
}

.product-strip-card{
    transition:
        opacity .56s ease,
        transform .56s cubic-bezier(.22,.74,.22,1),
        border-color .32s ease,
        box-shadow .32s ease !important;
}

.product-strip-card.strip-card-changing{
    opacity:0;
}

.product-grid-inside .product-card .card-img{
    overflow:hidden !important;
    background:#111 !important;
}

.product-grid-inside .product-card .card-img:after,
.product-grid-inside .product-card:hover .card-img:after{
    content:none !important;
    display:none !important;
    opacity:0 !important;
}

.product-grid-inside .product-card{
    perspective:none !important;
    transform-style:flat !important;
}

.product-grid-inside .product-card:hover{
    transform:translate3d(0,-7px,0) scale(1.035) !important;
}

.product-grid-inside .product-card .card-img::after,
.product-grid-inside .product-card:hover .card-img::after{
    content:none !important;
    display:none !important;
    opacity:0 !important;
    background:none !important;
}

.product-grid-inside .product-card .card-img,
.product-grid-inside .product-card:hover .card-img{
    overflow:hidden !important;
    background:#111 !important;
    filter:none !important;
}

.product-grid-inside .product-card .card-img img,
.product-grid-inside .product-card:hover .card-img img{
    width:100% !important;
    height:100% !important;
    margin:0 !important;
    object-fit:cover !important;
    transform:none !important;
    transition:filter var(--t-soft) ease !important;
    will-change:auto !important;
}

.product-grid-inside .product-card:hover .card-img img{
    filter:brightness(.84) contrast(1.15) sepia(.10) saturate(.86) !important;
}

.product-grid-inside .product-card .card-info{
    background:linear-gradient(180deg, rgba(12,12,12,.98), rgba(7,7,7,.99)) !important;
}

.product-grid-inside .product-card:hover .card-info{
    background:linear-gradient(180deg, rgba(12,12,12,.98), rgba(7,7,7,.99)) !important;
}

.product-strip-row{
    perspective:none !important;
    overflow:visible !important;
}

.product-strip-card,
.product-strip-card:hover{
    transform-style:flat !important;
    backface-visibility:visible !important;
    overflow:hidden !important;
}

.product-strip-card:hover{
    transform:translate3d(0,-6px,0) scale(1.026) !important;
}

.product-strip-card .card-img,
.product-strip-card:hover .card-img{
    overflow:hidden !important;
    isolation:auto !important;
    contain:none !important;
    clip-path:none !important;
    mask:none !important;
    -webkit-mask:none !important;
    background:#111 !important;
    filter:none !important;
}

.product-strip-card .card-img::before,
.product-strip-card .card-img::after,
.product-strip-card:hover .card-img::before,
.product-strip-card:hover .card-img::after{
    content:none !important;
    display:none !important;
    opacity:0 !important;
    background:none !important;
    box-shadow:none !important;
    filter:none !important;
}

.product-strip-card .card-img img,
.product-strip-card:hover .card-img img{
    width:100% !important;
    height:100% !important;
    margin:0 !important;
    object-fit:cover !important;
    transform:none !important;
    transition:filter .34s ease !important;
    will-change:auto !important;
}

.product-strip-card:hover .card-img img{
    filter:brightness(.86) contrast(1.13) sepia(.10) saturate(.86) !important;
}

.dynamic-space .product-strip-row{
    perspective:none !important;
}

.dynamic-space .product-strip-card{
    position:relative !important;
    overflow:visible !important;
    z-index:1 !important;
    transform-style:flat !important;
    isolation:visible !important;
}

.dynamic-space .product-strip-card:hover{
    overflow:visible !important;
}

.dynamic-space .product-strip-card .card-img::before,
.dynamic-space .product-strip-card .card-img::after,
.dynamic-space .product-strip-card:hover .card-img::before,
.dynamic-space .product-strip-card:hover .card-img::after{
    content:none !important;
    display:none !important;
}

.dynamic-space .product-strip-row{
    overflow:visible !important;
    isolation:isolate !important;
}

.dynamic-space .product-strip-card,
.dynamic-space .product-strip-card:hover{
    position:relative !important;
    overflow:hidden !important;
    isolation:isolate !important;
}

.dynamic-space .product-strip-card:hover{
    z-index:90 !important;
    transform:translate3d(0,-6px,0) scale(1.026) !important;
}

.dynamic-space .product-strip-card .card-img,
.dynamic-space .product-strip-card:hover .card-img{
    position:relative !important;
    overflow:hidden !important;
    z-index:2 !important;
    contain:paint !important;
    clip-path:none !important;
    mask:none !important;
    -webkit-mask:none !important;
    background:#111 !important;
}

.dynamic-space .product-strip-card .card-img img{
    position:relative !important;
    z-index:1 !important;
    width:100% !important;
    height:100% !important;
    margin:0 !important;
    object-fit:cover !important;
    transform:translate3d(0,0,0) scale(1) !important;
    transform-origin:center center !important;
    transition:
        transform .36s var(--ease-ritual),
        filter .34s ease !important;
    will-change:transform, filter !important;
    pointer-events:none !important;
}

.dynamic-space .product-strip-card:hover .card-img img{
    transform:translate3d(0,-2px,0) scale(1.035) !important;
    filter:brightness(.88) contrast(1.13) sepia(.10) saturate(.88) !important;
}

.dynamic-space .product-strip-card::after{
    content:"" !important;
    position:absolute !important;
    inset:0 !important;
    z-index:5 !important;
    pointer-events:none !important;
    opacity:0 !important;
    background:
        radial-gradient(circle at var(--mx, 50%) var(--my, 50%), rgba(255,220,160,.11), transparent 34%),
        linear-gradient(180deg, rgba(255,220,160,.025), transparent 44%, rgba(0,0,0,.12)) !important;
    transition:opacity .34s ease !important;
}

.dynamic-space .product-strip-card:hover::after{
    opacity:1 !important;
}

.dynamic-space .product-strip-card .card-info{
    position:relative !important;
    z-index:6 !important;
}

.dynamic-space .catalog.dynamic-closing,
.dynamic-space .product-strip.dynamic-closing,
.dynamic-space .catalog.dynamic-opening,
.dynamic-space .product-strip.dynamic-opening{
    transform:translateY(8px) scale(.988) !important;
    opacity:0 !important;
    filter:none !important;
}

.dynamic-space .catalog.dynamic-closing > .section-head,
.dynamic-space .catalog.dynamic-closing > .cover-cards,
.dynamic-space .product-strip.dynamic-closing .product-strip-head,
.dynamic-space .product-strip.dynamic-closing .product-strip-row,
.dynamic-space .catalog.dynamic-opening > .section-head,
.dynamic-space .catalog.dynamic-opening > .cover-cards,
.dynamic-space .product-strip.dynamic-opening .product-strip-head,
.dynamic-space .product-strip.dynamic-opening .product-strip-row{
    transform:translateY(8px) scale(.988) !important;
    opacity:0 !important;
    filter:none !important;
}

.product-strip-card.strip-card-changing,
.cover-card.strip-card-changing{
    opacity:0 !important;
    transform:translateY(8px) scale(.988) !important;
}

.product-strip-card.strip-card-entering,
.cover-card.strip-card-entering{
    opacity:0 !important;
    transform:translateY(8px) scale(.988) !important;
}

.product-strip-card,
.cover-card{
    transition:
        opacity .56s ease,
        transform .56s cubic-bezier(.22,.74,.22,1),
        border-color .32s ease,
        box-shadow .32s ease !important;
}

.dynamic-space .catalog,
.dynamic-space .product-strip{
    transform:translate3d(0,0,0) scale(1) !important;
    filter:none !important;
    will-change:opacity, transform !important;
}

.dynamic-space .catalog.collections-collapsed,
.dynamic-space .product-strip.product-strip-collapsed,
.dynamic-space .catalog.dynamic-opening,
.dynamic-space .product-strip.dynamic-opening,
.dynamic-space .catalog.dynamic-closing,
.dynamic-space .product-strip.dynamic-closing{
    opacity:0 !important;
    transform:translate3d(0,2px,0) scale(.998) !important;
    filter:none !important;
}

.dynamic-space .catalog:not(.collections-collapsed):not(.dynamic-closing),
.dynamic-space .product-strip:not(.product-strip-collapsed):not(.dynamic-closing){
    opacity:1 !important;
    transform:translate3d(0,0,0) scale(1) !important;
    filter:none !important;
}

.dynamic-space .catalog > .section-head,
.dynamic-space .catalog > .cover-cards,
.dynamic-space .product-strip-head,
.dynamic-space .product-strip-row,
.dynamic-space .catalog.dynamic-opening > .section-head,
.dynamic-space .catalog.dynamic-opening > .cover-cards,
.dynamic-space .product-strip.dynamic-opening .product-strip-head,
.dynamic-space .product-strip.dynamic-opening .product-strip-row,
.dynamic-space .catalog.dynamic-closing > .section-head,
.dynamic-space .catalog.dynamic-closing > .cover-cards,
.dynamic-space .product-strip.dynamic-closing .product-strip-head,
.dynamic-space .product-strip.dynamic-closing .product-strip-row{
    transition:opacity .20s ease, transform .20s ease !important;
    transform:translate3d(0,0,0) scale(1) !important;
    filter:none !important;
}

.product-strip-card.strip-card-changing,
.product-strip-card.strip-card-entering{
    opacity:0 !important;
    transform:translateY(4px) scale(.996) !important;
    transition:opacity .22s ease, transform .22s ease !important;
}

.process-video-modal{
    position:fixed;
    inset:0;
    z-index:10020;
    display:grid;
    place-items:center;
    opacity:0;
    visibility:hidden !important;
    pointer-events:none !important;
    transition:opacity .34s ease, visibility 0s linear .34s;
}

.process-video-modal.closing{
    opacity:0;
    visibility:hidden !important;
    pointer-events:none !important;
    transition:opacity .34s ease, visibility 0s linear .34s;
}

.process-video-modal.active{
    opacity:1 !important;
    visibility:visible !important;
    pointer-events:auto !important;
    transition:opacity .34s ease, visibility 0s linear 0s;
}

body.process-video-open .page{
    filter:blur(5px) brightness(.58);
    transform:scale(.992);
    pointer-events:none;
}

.process-video-backdrop{
    position:absolute;
    inset:0;
    background:rgba(0,0,0,.76);
    backdrop-filter:blur(5px);
    cursor:pointer;
}

.process-video-content{
    position:relative;
    z-index:2;
    width:min(92vw, 1200px);
    height:min(82vh, 760px);
    border:1px solid rgba(208,160,99,.36);
    background:rgba(12,10,8,.94);
    box-shadow:
        0 34px 120px rgba(0,0,0,.86),
        0 0 50px rgba(208,160,99,.12);
    transform:scale(.985);
    opacity:0;
    transition:
        transform .38s var(--ease-soft),
        opacity .34s ease;
    overflow:hidden;
}

.process-video-modal.active .process-video-content{
    transform:scale(1);
    opacity:1;
}

.process-video-modal.closing .process-video-content{
    transform:scale(.992);
    opacity:0;
}

.process-video-content video{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    display:block;
    object-fit:cover;
    object-position:center 42%;
    background:#030303;
    filter:brightness(.56) contrast(1.04) saturate(.86);
    opacity:1;
    transition:
        opacity .48s ease,
        filter .48s ease;
}

.process-video-content:after{
    content:"";
    position:absolute;
    inset:0;
    z-index:1;
    background:
        radial-gradient(circle at 72% 42%, rgba(176,122,63,.10), transparent 38%),
        linear-gradient(90deg, rgba(0,0,0,.54) 0%, rgba(0,0,0,.34) 42%, rgba(0,0,0,.18) 100%),
        linear-gradient(180deg, rgba(0,0,0,.08), rgba(0,0,0,.34));
    pointer-events:none;
}

.process-video-content.video-loop-fade video{
    opacity:.22;
    filter:brightness(.44) contrast(1.03) saturate(.82);
}

.process-video-text{
    position:absolute;
    left:70px;
    top:50%;
    transform:translateY(-50%);
    z-index:2;
    width:min(560px, 52vw);
    font-family:"Montserrat",sans-serif;
}

.process-video-text span{
    display:block;
    color:rgba(208,160,99,.86);
    font-size:11px;
    letter-spacing:4px;
    margin-bottom:16px;
}

.process-video-text h2{
    font-family:"Cormorant Garamond",serif;
    color:#f1ece4;
    font-weight:300;
    font-size:52px;
    line-height:1.02;
    letter-spacing:3px;
    margin-bottom:22px;
}

.process-video-text p{
    color:rgba(235,230,221,.76);
    font-size:13px;
    line-height:1.9;
    margin-bottom:14px;
}

.process-video-close{
    position:absolute;
    top:14px;
    right:14px;
    z-index:4;
    width:38px;
    height:38px;
    border:1px solid rgba(176,122,63,.42);
    background:rgba(0,0,0,.50);
    color:var(--gold2);
    font-size:27px;
    line-height:1;
    cursor:pointer;
    transition:.2s ease;
}

.process-video-close:hover{
    background:rgba(176,122,63,.18);
    box-shadow:0 0 18px rgba(208,160,99,.18);
}

@media(max-width:800px){
    .process-video-content{
        width:92vw;
        height:84vh;
    }
    .process-video-text{
        left:28px;
        width:calc(100% - 56px);
    }
    .process-video-text h2{
        font-size:38px;
    }
    .process-video-text p{
        font-size:12px;
    }
}






@media(max-width:1500px){


}

@media(max-width:1100px){

}



























@media(max-width:1500px){




}

@media(max-width:1050px){



}



.triangle-3d,
.card,
.card-info h3,
.value-icon,
.cover-card,
.cover-card .card-img img,
.product-grid-inside .product-card .card-img img,
.dynamic-space .product-strip-card .card-img img,
.product-strip-card .card-img img,
.image-modal-content img,
.dynamic-space .catalog,
.dynamic-space .product-strip,
.dynamic-space .product-strip-row,
.product-strip-card,
.cover-card{
    will-change:auto !important;
}

.card:hover,
.cover-card:hover,
.product-grid-inside .product-card:hover,
.product-strip-card:hover,
.dynamic-space .product-strip-card:hover,
.image-modal.active .image-modal-content,
.product-modal.active .modal-content,
.process-video-modal.active .process-video-content{
    will-change:transform, opacity !important;
}

.cover-card:hover .card-img img,
.product-grid-inside .product-card:hover .card-img img,
.product-strip-card:hover .card-img img,
.dynamic-space .product-strip-card:hover .card-img img,
.image-modal.zoomed .image-modal-content img{
    will-change:transform, filter !important;
}

@supports (content-visibility:auto){
    .catalog,
.collection-frame,
.product-strip,
.story{
        content-visibility:auto;
        contain-intrinsic-size:1px 900px;
    }

}

html{
    scroll-behavior:smooth;
}

body,
.page,
.main{
    transform-style:flat;
}


.flame-menu .flame-core,
.flame-menu .flame-glow,
.flame-menu .flame-core::after{
    opacity:0 !important;
    animation:none !important;
    transition:
        opacity .38s ease,
        filter .38s ease,
        transform .38s ease;
}

.flame-menu .flame-spark{
    opacity:0;
    animation:none !important;
}

.flame-menu a:hover .flame-core,
.flame-menu a.active .flame-core,
.flame-menu a:hover .flame-glow,
.flame-menu a.active .flame-glow{
    opacity:0 !important;
}

.flame-menu a.is-lit{
    color:rgba(255,228,178,.96) !important;
    text-shadow:
        0 0 7px rgba(255,235,190,.54),
        0 0 20px rgba(208,160,99,.30);
}

.flame-menu a.is-lit .flame-core{
    opacity:1 !important;
    animation:flame-up-dance 3.2s ease-in-out infinite !important;
}

.flame-menu a.is-lit .flame-glow{
    opacity:.78 !important;
    animation:flame-glow-breathe 4.1s ease-in-out infinite !important;
}

.flame-menu a.is-lit .flame-core::after{
    opacity:.78 !important;
    animation:flame-inner 2.6s ease-in-out infinite !important;
}

.flame-menu a.is-shrinking{
    color:rgba(255,228,178,.58) !important;
    text-shadow:
        0 0 5px rgba(255,235,190,.30),
        0 0 13px rgba(208,160,99,.16);
    transition:
        color .72s ease,
        text-shadow .72s ease;
}

.flame-menu a.is-shrinking .flame-core{
    opacity:.78 !important;
    animation:flame-out-shrink .72s cubic-bezier(.2,.82,.22,1) forwards !important;
}

.flame-menu a.is-shrinking .flame-glow{
    opacity:.42 !important;
    animation:flame-glow-shrink .78s cubic-bezier(.2,.82,.22,1) forwards !important;
}

.flame-menu a.is-shrinking .flame-core::after{
    opacity:.38 !important;
    animation:none !important;
    transition:opacity .58s ease;
}

.flame-menu a.spark-burst .flame-spark{
    animation:spark-flash .62s ease-out 1 !important;
}

.flame-menu a.spark-burst .flame-icon::before{
    content:"";
    position:absolute;
    left:50%;
    bottom:23px;
    width:20px;
    height:20px;
    transform:translateX(-50%) scale(.2);
    border-radius:50%;
    background:
        radial-gradient(circle, rgba(255,246,211,.98) 0 10%, rgba(255,205,118,.88) 17%, rgba(208,120,45,.32) 34%, transparent 62%);
    filter:drop-shadow(0 0 8px rgba(255,230,175,.82));
    pointer-events:none;
    animation:spark-pop .42s ease-out 1 forwards;
}

@keyframes flame-out-shrink{
    0%{ transform:translateX(-50%) translateY(0) scaleX(.92) scaleY(1); opacity:.92; }
    42%{ transform:translateX(-50%) translateY(1px) scaleX(.72) scaleY(.70); opacity:.72; }
    100%{ transform:translateX(-50%) translateY(6px) scaleX(.22) scaleY(.14); opacity:0; }
}

@keyframes flame-glow-shrink{
    0%{ transform:translateX(-50%) scale(1); opacity:.58; }
    100%{ transform:translateX(-50%) translateY(4px) scale(.22); opacity:0; }
}

@keyframes spark-pop{
    0%{ transform:translateX(-50%) scale(.18); opacity:0; }
    24%{ transform:translateX(-50%) scale(1.12); opacity:1; }
    100%{ transform:translateX(-50%) scale(1.72); opacity:0; }
}

@keyframes spark-flash{
    0%{ opacity:0; transform:translate3d(0,0,0) scale(.5); }
    18%{ opacity:1; transform:translate3d(var(--spark-x, 0px), -8px, 0) scale(1.35); }
    100%{ opacity:0; transform:translate3d(calc(var(--spark-x, 0px) * 2), -28px, 0) scale(.55); }
}

.process-workshop-stack{
    position:relative;
    width:100%;
    height:100%;
    overflow:hidden;
    background:#050505;
}

.process-workshop-image{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
    opacity:0;
    transform:scale(1.025);
    filter:brightness(.72) contrast(1.12) sepia(.10) saturate(.84);
    transition:
        opacity 1.15s ease,
        transform 6.4s ease;
}

.process-workshop-image.active{
    opacity:1;
    transform:scale(1.06);
}

.process-video-content video{
    display:none !important;
}

.cover-cards .cover-card,
.cover-cards .cover-card:hover,
.dynamic-space .cover-card,
.dynamic-space .cover-card:hover{
    transform:none !important;
}

.flame-menu .flame-icon::before{
    display:none !important;
}

.flame-menu .flame-spark{
    display:none !important;
}

.flame-menu .spark-dot{
    position:absolute;
    left:50%;
    bottom:7px;
    width:2.6px;
    height:2.6px;
    border-radius:50%;
    background:rgba(255,224,156,.94);
    box-shadow:0 0 6px rgba(255,232,180,.88),
        0 0 12px rgba(208,120,45,.42);
    pointer-events:none;
}

.flame-menu .spark-dot:nth-of-type(4){ --tx:-14px; --ty:-13px; --fall:9px;  --delay:0s;    --s:.86; }
.flame-menu .spark-dot:nth-of-type(5){ --tx: 13px; --ty:-15px; --fall:8px;  --delay:.025s; --s:.72; }
.flame-menu .spark-dot:nth-of-type(6){ --tx:-20px; --ty:-5px;  --fall:13px; --delay:.045s; --s:.62; }
.flame-menu .spark-dot:nth-of-type(7){ --tx: 19px; --ty:-4px;  --fall:14px; --delay:.06s;  --s:.66; }
.flame-menu .spark-dot:nth-of-type(8){ --tx:-9px;  --ty: 2px;  --fall:17px; --delay:.075s; --s:.54; }
.flame-menu .spark-dot:nth-of-type(9){ --tx: 8px;  --ty: 3px;  --fall:18px; --delay:.09s;  --s:.58; }
.flame-menu .spark-dot:nth-of-type(10){ --tx:0px;   --ty:-20px; --fall:10px; --delay:.035s; --s:.80; }
.flame-menu .spark-dot:nth-of-type(11){ --tx:3px;   --ty:-8px;  --fall:20px; --delay:.12s;  --s:.46; }

@keyframes spark-gravity-burst{
    0%{
        opacity:0;
        transform:translate3d(-50%,0,0) scale(.22);
        filter:brightness(1.45);
    }
    16%{
        opacity:1;
        transform:translate3d(calc(-50% + var(--tx, 0px) * .42), var(--ty, -8px), 0) scale(calc(var(--s, .7) * 1.15));
        filter:brightness(1.75);
    }
    58%{
        opacity:.84;
        transform:translate3d(calc(-50% + var(--tx, 0px)), calc(var(--ty, -8px) + var(--fall, 12px) * .35), 0) scale(var(--s, .7));
        filter:brightness(1.15);
    }
    100%{
        opacity:0;
        transform:translate3d(calc(-50% + var(--tx, 0px) * 1.22), calc(var(--ty, -8px) + var(--fall, 12px)), 0) scale(.16);
        filter:brightness(.75);
    }
}

.hero{
    transition:height .72s var(--ease-ritual), filter .36s ease !important;
}
.hero.hero-expanded{
    height:min(78vh, 760px) !important;
}

.cover-cards .cover-card,
.dynamic-space .cover-card{
    cursor:pointer !important;
    transform:translate3d(0,0,0) scale(1) !important;
    transform-style:preserve-3d !important;
    transition:
        transform .36s var(--ease-soft),
        border-color .32s ease,
        box-shadow .32s ease,
        filter .32s ease,
        opacity .32s ease !important;
}
.cover-cards .cover-card:hover,
.dynamic-space .cover-card:hover{
    transform:translate3d(0,-7px,0) scale(1.045) !important;
    z-index:90 !important;
    border-color:rgba(208,160,99,.72) !important;
    box-shadow:
        var(--shadow-card-deep),
        0 0 28px rgba(208,160,99,.10) !important;
    filter:brightness(1.04) !important;
}
.cover-cards .cover-card .card-img img,
.dynamic-space .cover-card .card-img img{
    transform:none !important;
    transition:filter var(--t-soft) ease !important;
}
.cover-cards .cover-card:hover .card-img img,
.dynamic-space .cover-card:hover .card-img img{
    transform:none !important;
    filter:brightness(.86) contrast(1.15) sepia(.10) saturate(.88) !important;
}


.about-modal-text,
.process-video-text,
.simple-info-content{
    position:relative !important;
    z-index:5 !important;
}
.about-modal-text span,
.about-modal-text h2,
.process-video-text span,
.process-video-text h2,
.simple-info-kicker,
.simple-info-content h2{
    position:relative !important;
    z-index:6 !important;
    color:#f6efe3 !important;
    text-shadow:
        0 0 10px rgba(255,232,188,.42),
        0 0 24px rgba(208,160,99,.30),
        0 9px 32px rgba(0,0,0,.92) !important;
}
.about-modal-text span,
.process-video-text span,
.simple-info-kicker{
    color:rgba(255,220,160,.96) !important;
}

.simple-info-modal{
    position:fixed;
    inset:0;
    z-index:10030;
    display:grid;
    place-items:center;
    opacity:0;
    visibility:hidden !important;
    pointer-events:none !important;
    transition:opacity .36s ease, visibility 0s linear .36s;
}
.simple-info-modal.active{
    opacity:1 !important;
    visibility:visible !important;
    pointer-events:auto !important;
    transition:opacity .36s ease, visibility 0s linear 0s;
}
.simple-info-modal.closing{
    opacity:0;
    visibility:hidden !important;
    pointer-events:none !important;
    transition:opacity .36s ease, visibility 0s linear .36s;
}
.simple-info-backdrop{
    position:absolute;
    inset:0;
    background:
        radial-gradient(circle at 50% 44%, rgba(176,122,63,.14), transparent 38%),
        rgba(0,0,0,.72);
    backdrop-filter:blur(5px);
    cursor:pointer;
}
body.simple-info-open .page{
    filter:blur(5px) brightness(.58);
    transform:scale(.992);
    pointer-events:none;
}
.simple-info-content{
    width:min(88vw, 680px);
    min-height:320px;
    padding:54px 58px 48px;
    border:1px solid rgba(208,160,99,.40);
    background:
        radial-gradient(circle at 22% 16%, rgba(176,122,63,.14), transparent 40%),
        linear-gradient(180deg, rgba(14,11,8,.97), rgba(4,4,4,.98));
    box-shadow:
        0 34px 110px rgba(0,0,0,.84),
        0 0 46px rgba(208,160,99,.13);
    font-family:"Montserrat",sans-serif;
    transform:translateY(18px) scale(.965);
    opacity:0;
    transition:transform .44s var(--ease-soft), opacity .34s ease;
}
.simple-info-modal.active .simple-info-content{
    transform:translateY(0) scale(1);
    opacity:1;
}
.simple-info-modal.closing .simple-info-content{
    transform:translateY(10px) scale(.985);
    opacity:0;
}
.simple-info-kicker{
    font-size:11px;
    letter-spacing:4px;
    margin-bottom:17px;
}
.simple-info-content h2{
    font-family:"Cormorant Garamond",serif;
    font-size:50px;
    line-height:1.03;
    letter-spacing:3px;
    font-weight:300;
    margin-bottom:22px;
}
.simple-info-content p{
    color:rgba(235,230,221,.76);
    font-size:13px;
    line-height:1.9;
    max-width:540px;
}
.simple-info-close{
    position:absolute;
    top:14px;
    right:16px;
    z-index:8;
    width:36px;
    height:36px;
    border:1px solid rgba(176,122,63,.38);
    background:rgba(0,0,0,.35);
    color:var(--gold2);
    font-size:26px;
    line-height:1;
    cursor:pointer;
}
.simple-info-hint{
    margin-top:28px;
    color:rgba(208,160,99,.48);
    font-size:10px;
    letter-spacing:2px;
}

.flame-menu .spark-dot{
    left:50% !important;
    bottom:6px !important;
    width:2.4px !important;
    height:2.4px !important;
    opacity:0;
    will-change:transform, opacity;
    transform:translate3d(-50%,0,0) scale(.25);
}
.flame-menu a.spark-burst .spark-dot{
    animation:spark-fluid-burst .92s cubic-bezier(.17,.67,.22,1) 1 forwards !important;
    animation-delay:var(--delay, 0ms) !important;
}
@keyframes spark-fluid-burst{
    0%{
        opacity:0;
        transform:translate3d(-50%,0,0) scale(.25);
        filter:brightness(1.6);
    }
    9%{
        opacity:1;
        transform:translate3d(calc(-50% + var(--x1, 0px)), var(--y1, -2px), 0) scale(var(--s1, 1));
        filter:brightness(1.9);
    }
    42%{
        opacity:.92;
        transform:translate3d(calc(-50% + var(--x2, 0px)), var(--y2, -12px), 0) scale(var(--s2, .74));
        filter:brightness(1.24);
    }
    100%{
        opacity:0;
        transform:translate3d(calc(-50% + var(--x3, 0px)), var(--y3, 18px), 0) scale(.12);
        filter:brightness(.72);
    }
}
.flame-menu a.is-shrinking .flame-core,
.flame-menu a.is-shrinking .flame-glow,
.flame-menu a.is-shrinking .flame-core::after{
    transition:transform .58s cubic-bezier(.22,.78,.22,1), opacity .58s ease, filter .58s ease !important;
}

.process-video-content{
    isolation:isolate !important;
}
.process-workshop-stack{
    position:absolute !important;
    inset:0 !important;
    z-index:0 !important;
}
.process-video-content:after{
    z-index:2 !important;
    background:
        linear-gradient(90deg, rgba(0,0,0,.82) 0%, rgba(0,0,0,.58) 42%, rgba(0,0,0,.20) 100%),
        radial-gradient(circle at 72% 42%, rgba(176,122,63,.12), transparent 38%),
        linear-gradient(180deg, rgba(0,0,0,.10), rgba(0,0,0,.38)) !important;
}
.process-video-text{
    display:block !important;
    visibility:visible !important;
    opacity:1 !important;
    z-index:6 !important;
    pointer-events:none !important;
}
.process-video-text span,
.process-video-text h2,
.process-video-text p{
    opacity:1 !important;
    visibility:visible !important;
}
.process-video-text p{
    color:rgba(245,238,226,.82) !important;
    text-shadow:0 8px 28px rgba(0,0,0,.92) !important;
}
.process-video-close{
    z-index:8 !important;
}

.dynamic-space .catalog,
.dynamic-space .product-strip{
    transition:opacity .34s ease, transform .34s cubic-bezier(.22,.74,.22,1) !important;
}
.dynamic-space .catalog.dynamic-opening,
.dynamic-space .product-strip.dynamic-opening,
.dynamic-space .catalog.dynamic-closing,
.dynamic-space .product-strip.dynamic-closing{
    opacity:0 !important;
    transform:translate3d(0,6px,0) scale(.996) !important;
}
.dynamic-space .catalog.dynamic-opening > .section-head,
.dynamic-space .catalog.dynamic-opening > .cover-cards,
.dynamic-space .product-strip.dynamic-opening .product-strip-head,
.dynamic-space .product-strip.dynamic-opening .product-strip-row,
.dynamic-space .catalog.dynamic-closing > .section-head,
.dynamic-space .catalog.dynamic-closing > .cover-cards,
.dynamic-space .product-strip.dynamic-closing .product-strip-head,
.dynamic-space .product-strip.dynamic-closing .product-strip-row{
    opacity:1 !important;
    transform:none !important;
    transition:none !important;
}
.cover-card.strip-card-changing,
.cover-card.strip-card-entering,
.product-strip-card.strip-card-entering{
    opacity:1 !important;
    transform:none !important;
}
.product-strip-card.strip-card-changing{
    opacity:0 !important;
    transform:translateY(4px) scale(.996) !important;
}

body.process-video-open .page,
body.simple-info-open .page,
body.about-modal-open .page{
    filter:blur(8px) brightness(0.35) !important;
    transform:scale(.99) !important;
    pointer-events:none !important;
}

.process-video-backdrop,
.simple-info-backdrop,
.about-modal-backdrop{
    background:
        radial-gradient(circle at 50% 42%, rgba(176,122,63,.06), transparent 34%),
        rgba(0,0,0,.92) !important;
}

.process-video-content,
.simple-info-content{
    transform:translateY(28px) scale(.985) !important;
    opacity:0 !important;
    transition:
        transform .58s var(--ease-ritual),
        opacity .42s ease !important;
}

.process-video-modal.active .process-video-content,
.simple-info-modal.active .simple-info-content{
    transform:translateY(0) scale(1) !important;
    opacity:1 !important;
}

.process-video-modal.closing .process-video-content,
.simple-info-modal.closing .simple-info-content{
    transform:translateY(22px) scale(.975) !important;
    opacity:0 !important;
}

.simple-info-content{
    width:min(88vw, 820px) !important;
    min-height:420px !important;
    padding:42px 48px 34px !important;
    display:flex !important;
    flex-direction:column !important;
    justify-content:center !important;
}

.process-video-text,
.simple-info-content,
.about-modal-content{
    position:relative;
    z-index:10002 !important;
}

.process-video-text h2,
.simple-info-content h2,
.about-modal-text h2{
    color:#f1ece4 !important;
    text-shadow:
        0 0 18px rgba(0,0,0,.90),
        0 0 26px rgba(208,160,99,.18) !important;
}

.process-video-text span,
.simple-info-kicker,
.about-modal-text span{
    color:rgba(255,220,160,.92) !important;
    text-shadow:0 0 16px rgba(208,160,99,.24) !important;
}





.flame-menu a,
.flame-menu .flame-core,
.flame-menu .flame-glow,
.flame-menu .flame-core::after{
    transition-timing-function:var(--ease-ritual) !important;
}

.cover-cards .cover-card,
.dynamic-space .cover-card{
    overflow:hidden !important;
    position:relative !important;
    isolation:isolate !important;
    outline:1px solid rgba(176,122,63,.30) !important;
    outline-offset:-1px !important;
}

.cover-cards .cover-card:hover,
.dynamic-space .cover-card:hover{
    outline-color:rgba(208,160,99,.72) !important;
}

.cover-cards .cover-card .card-img,
.dynamic-space .cover-card .card-img{
    overflow:hidden !important;
    position:relative !important;
    z-index:0 !important;
    contain:paint !important;
}

.cover-cards .cover-card .card-img img,
.cover-cards .cover-card:hover .card-img img,
.dynamic-space .cover-card .card-img img,
.dynamic-space .cover-card:hover .card-img img{
    width:100% !important;
    height:100% !important;
    margin:0 !important;
    object-fit:cover !important;
    transform:none !important;
}

.cover-cards .cover-card .card-info,
.dynamic-space .cover-card .card-info,
.cover-cards .cover-status,
.dynamic-space .cover-status{
    position:relative !important;
    z-index:2 !important;
}

.catalog::after{
    content:"";
    position:absolute;
    left:0;
    right:0;
    bottom:0;
    height:1px;
    z-index:20;
    pointer-events:none;
    background:#342719;
    box-shadow:0 0 0 1px rgba(176,122,63,.08);
}

:root{
    --line:rgba(176,122,63,.42);
    --line-strong:rgba(176,122,63,.62);
}
.page,
.hero,
.values,
.value,
.catalog,
.collection-frame,
.sidebar{
    border-color:var(--line) !important;
}
.card,
.cover-card,
.product-card,
.collection-frame,
.product-code{
    border-color:var(--line) !important;
}

.catalog + *{
    box-shadow:inset 0 1px 0 rgba(255,215,140,.12),
        0 -1px 0 rgba(176,122,63,.48) !important;
}

.catalog{
    position:relative !important;
    isolation:isolate !important;
    box-shadow:none !important;
    z-index:10 !important;
}

.catalog::before{
    content:"" !important;
    position:absolute !important;
    inset:0 !important;
    background:#050505 !important;
    opacity:1 !important;
    pointer-events:none !important;
    z-index:-1 !important;
}

.catalog::after{
    content:"" !important;
    position:absolute !important;
    left:0 !important;
    right:0 !important;
    bottom:-1px !important;
    height:1px !important;
    background:rgba(176,122,63,.92) !important;
    opacity:1 !important;
    pointer-events:none !important;
    z-index:250 !important;
    box-shadow:0 0 0 1px rgba(176,122,63,.18) !important;
}

.catalog + *{
    position:relative !important;
    border-top:1px solid rgba(176,122,63,.86) !important;
}

.catalog + *::before{
    content:"" !important;
    position:absolute !important;
    left:0 !important;
    right:0 !important;
    top:0 !important;
    height:1px !important;
    background:rgba(176,122,63,.92) !important;
    opacity:1 !important;
    pointer-events:none !important;
    z-index:250 !important;
}

.catalog .card,
.catalog .cover-card,
.catalog .product-card,
.catalog .cards > *,
.catalog .product-grid-inside > *{
    background:#080706 !important;
    border:1px solid rgba(176,122,63,.42) !important;
    opacity:1 !important;
    overflow:hidden !important;
    isolation:isolate !important;
}

.catalog .card-img,
.catalog .cover-card .card-img,
.catalog .product-card .card-img{
    background:#080706 !important;
    opacity:1 !important;
    overflow:hidden !important;
}

.catalog .card-info,
.catalog .cover-card .card-info,
.catalog .product-card .card-info{
    background:#050403 !important;
    opacity:1 !important;
}

.catalog img{
    opacity:1 !important;
}

body.hero-pinned .hero,
.hero:hover{

}

body.hero-pinned .hero .hero-slide,
.hero:hover .hero-slide{
    transform:scale(1.08) translate3d(0,0,0);
}

body.hero-pinned .hero-text,
.hero:hover .hero-text{
    transform:translateY(0);
}




body.hero-pinned .hero{
    cursor:default;
}

.hero{
    display:flex !important;
    align-items:center !important;
}

.hero-text{
    position:relative !important;
    z-index:3 !important;
    padding-top:0 !important;
    padding-bottom:0 !important;
    align-self:center !important;
    transform:none !important;
}

.hero:hover .hero-text,
body.hero-pinned .hero .hero-text,
body.hero-expanded .hero .hero-text,
.hero.expanded .hero-text{
    transform:none !important;
    align-self:center !important;
}

.hero-slideshow,
.hero-shade,
.hero::after{
    flex:none !important;
}

.ritual-window,
.about-card,
.about-panel,
.process-card,
.process-panel,
.contact-card,
.contact-panel,
.design-card,
.design-panel,
.web-design-card,
.web-design-panel{
    transform:translate3d(0,18px,0) scale(.965) !important;
    opacity:0 !important;
    transition:
        opacity .42s ease,
        transform var(--t-ritual) var(--ease-ritual) !important;
    will-change:auto !important;
}

.ritual-window.active,
.ritual-window.open,
.about-card.active,
.about-panel.active,
.about-card.open,
.about-panel.open,
.process-card.active,
.process-panel.active,
.process-card.open,
.process-panel.open,
.contact-card.active,
.contact-panel.active,
.contact-card.open,
.contact-panel.open,
.design-card.active,
.design-panel.active,
.design-card.open,
.design-panel.open,
.web-design-card.active,
.web-design-panel.active,
.web-design-card.open,
.web-design-panel.open{
    transform:translate3d(0,0,0) scale(1) !important;
    opacity:1 !important;
}

.ritual-window.closing,
.about-card.closing,
.about-panel.closing,
.process-card.closing,
.process-panel.closing,
.contact-card.closing,
.contact-panel.closing,
.design-card.closing,
.design-panel.closing,
.web-design-card.closing,
.web-design-panel.closing{
    transform:translate3d(0,18px,0) scale(.965) !important;
    opacity:0 !important;
}



.about-modal-content{
    transition:opacity .42s ease,
        transform var(--t-ritual) var(--ease-ritual) !important;
    will-change:auto !important;
}

.about-modal.active .about-modal-content{
    transform:translate3d(0,0,0) scale(1) !important;
    opacity:1 !important;
}

.about-modal.closing .about-modal-content{
    transform:translate3d(0,18px,0) scale(.965) !important;
    opacity:0 !important;
}




.image-modal-caption span,
.image-modal-caption .product-code,
.image-modal-caption .modal-code,
.image-modal-caption [data-code],
.image-modal-caption small{
    display:none !important;
}

.image-modal-caption h2,
.image-modal-caption h3,
.image-modal-caption p{
    text-align:center !important;
    margin-left:auto !important;
    margin-right:auto !important;
}

.image-modal-caption h2{
    align-items:center !important;
    justify-content:center !important;
}

body.returning-to-selected-product{
    scroll-behavior:auto !important;
}

body > .contacto{
    display:none !important;
    opacity:0 !important;
    visibility:hidden !important;
    pointer-events:none !important;
}

.social-fixed-ritual{
    position:fixed !important;
    right:24px !important;
    bottom:28px !important;
    z-index:9000 !important;
    align-items:center !important;
    justify-content:center !important;
    gap:12px !important;
    pointer-events:auto !important;
}

.social-fixed-ritual a{
    width:auto !important;
    height:auto !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    border:none !important;
    background:transparent !important;
    box-shadow:none !important;
    opacity:.82 !important;
    padding:0 !important;
    margin:0 !important;
    transition:
        opacity .22s ease,
        transform .22s ease !important;
}

.social-fixed-ritual a:hover{
    opacity:1 !important;
    transform:translateY(-2px) scale(1.04) !important;
    border:none !important;
    background:transparent !important;
    box-shadow:none !important;
}

.social-fixed-ritual img{
    width:28px !important;
    height:28px !important;
    display:block !important;
    object-fit:contain !important;
    opacity:1 !important;
    filter:none !important;
    mix-blend-mode:normal !important;
    transition:
        transform .22s ease,
        opacity .22s ease !important;
}

.social-fixed-ritual a:hover img{
    opacity:1 !important;
    filter:none !important;
}

@media(max-width:700px){
    .social-fixed-ritual{
        right:14px !important;
        bottom:18px !important;
        gap:10px !important;
    }

    .social-fixed-ritual img{
        width:26px !important;
        height:26px !important;
    }
}


.image-modal-caption{
    width:100% !important;
    max-width:100% !important;
    justify-self:center !important;
    margin-left:0 !important;
    margin-right:0 !important;
    padding:16px 28px 18px !important;
    text-align:center !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;
    border:1px solid rgba(176,122,63,.20) !important;
    background:linear-gradient(180deg, rgba(18,17,15,.58), rgba(7,7,7,.72)) !important;
    box-shadow:
        0 18px 52px rgba(0,0,0,.36),
        inset 0 0 28px rgba(176,122,63,.035) !important;
}

.image-modal-caption h2{
    display:block !important;
    min-width:0 !important;
    max-width:100% !important;
    padding:0 !important;
    margin:0 0 8px 0 !important;
    border:none !important;
    background:transparent !important;
    box-shadow:none !important;
    text-align:center !important;
}

.image-modal-caption p{
    max-width:680px !important;
    margin:0 auto !important;
    text-align:center !important;
}

@media(max-width:700px){
    .image-modal-caption{
        width:100% !important;
        padding:13px 16px 15px !important;
    }
}

.dynamic-space .cover-cards{
    overflow:visible !important;
    perspective:none !important;
    isolation:isolate !important;
}

.dynamic-space .cover-card,
.dynamic-space .cover-card.card{
    position:relative !important;
    overflow:hidden !important;
    isolation:isolate !important;
    z-index:1 !important;
    transform-style:flat !important;
    transform:translate3d(0,0,0) scale(1) !important;
    transition:
        opacity .56s ease,
        transform .56s cubic-bezier(.22,.74,.22,1),
        border-color .32s ease,
        box-shadow .32s ease,
        filter .42s ease !important;
}

.dynamic-space .cover-card:hover,
.dynamic-space .cover-card.card:hover{
    z-index:90 !important;
    transform:translate3d(0,-6px,0) scale(1.026) !important;
    filter:brightness(1.04) !important;
    border-color:rgba(208,160,99,.72) !important;
    box-shadow:
        var(--shadow-card-deep),
        0 0 28px rgba(208,160,99,.10) !important;
}

.dynamic-space .cover-card .card-img,
.dynamic-space .cover-card:hover .card-img{
    position:relative !important;
    overflow:hidden !important;
    z-index:2 !important;
    contain:paint !important;
    clip-path:none !important;
    mask:none !important;
    -webkit-mask:none !important;
    background:#111 !important;
    height:180px !important;
    min-height:180px !important;
    max-height:180px !important;
}

.dynamic-space .cover-card .card-img img{
    position:relative !important;
    z-index:1 !important;
    width:100% !important;
    height:100% !important;
    margin:0 !important;
    object-fit:cover !important;
    transform:translate3d(0,0,0) scale(1) !important;
    transform-origin:center center !important;
    transition:
        transform .36s var(--ease-ritual),
        filter .34s ease !important;
    will-change:transform, filter !important;
    pointer-events:none !important;
}

.dynamic-space .cover-card:hover .card-img img{
    transform:translate3d(0,-2px,0) scale(1.035) !important;
    filter:brightness(.88) contrast(1.13) sepia(.10) saturate(.88) !important;
}

.dynamic-space .cover-card::after{
    content:"" !important;
    position:absolute !important;
    inset:0 !important;
    z-index:5 !important;
    pointer-events:none !important;
    opacity:0 !important;
    background:
        radial-gradient(circle at var(--mx, 50%) var(--my, 50%), rgba(255,220,160,.11), transparent 34%),
        linear-gradient(180deg, rgba(255,220,160,.025), transparent 44%, rgba(0,0,0,.12)) !important;
    transition:opacity .34s ease !important;
}

.dynamic-space .cover-card:hover::after{
    opacity:1 !important;
}

.dynamic-space .cover-card .card-info{
    position:relative !important;
    z-index:6 !important;
    height:70px !important;
    min-height:70px !important;
    max-height:70px !important;
    overflow:hidden !important;
}

.dynamic-space .cover-card:hover .card-info h3{
    animation:umbrale-product-name-breath 2.6s ease-in-out infinite !important;
}

.dynamic-space .cover-card.strip-card-changing,
.dynamic-space .cover-card.strip-card-entering{
    opacity:0 !important;
    transform:translateY(4px) scale(.996) !important;
    transition:opacity .22s ease, transform .22s ease !important;
}


.dynamic-space .catalog.switch-pulsing .cover-card:nth-child(2),
.dynamic-space .product-strip.switch-pulsing .product-strip-card:nth-child(2){ animation-delay:.06s !important; }
.dynamic-space .catalog.switch-pulsing .cover-card:nth-child(3),
.dynamic-space .product-strip.switch-pulsing .product-strip-card:nth-child(3){ animation-delay:.12s !important; }
.dynamic-space .catalog.switch-pulsing .cover-card:nth-child(4),
.dynamic-space .product-strip.switch-pulsing .product-strip-card:nth-child(4){ animation-delay:.18s !important; }
.dynamic-space .catalog.switch-pulsing .cover-card:nth-child(5),
.dynamic-space .product-strip.switch-pulsing .product-strip-card:nth-child(5){ animation-delay:.24s !important; }
.dynamic-space .catalog.switch-pulsing .cover-card:nth-child(6),
.dynamic-space .product-strip.switch-pulsing .product-strip-card:nth-child(6){ animation-delay:.30s !important; }
.dynamic-space .catalog.switch-pulsing .cover-card:nth-child(7),
.dynamic-space .product-strip.switch-pulsing .product-strip-card:nth-child(7){ animation-delay:.36s !important; }
.dynamic-space .catalog.switch-pulsing .cover-card:nth-child(8),
.dynamic-space .product-strip.switch-pulsing .product-strip-card:nth-child(8){ animation-delay:.42s !important; }

@keyframes umbrale-switch-card-pulse{
    0%{ opacity:0; transform:translateY(8px) scale(.988); filter:brightness(.88); }
    100%{ opacity:1; transform:translateY(0) scale(1); filter:brightness(1); }
}










@media(max-width:1500px){

}

@media(max-width:1050px){

}




@media(max-width:1500px){

}


.dynamic-space .catalog.strip-sweep-active .cover-card,
.dynamic-space .product-strip.strip-sweep-active .product-strip-card{
    transition:
        opacity .24s ease,
        transform .24s cubic-bezier(.22,.74,.22,1),
        border-color .24s ease,
        box-shadow .24s ease,
        filter .24s ease !important;
}

.dynamic-space .catalog .cover-card.strip-card-changing,
.dynamic-space .product-strip .product-strip-card.strip-card-changing{
    opacity:0 !important;
    transform:translateY(6px) scale(.99) !important;
    filter:brightness(.93) !important;
}

.dynamic-space .catalog .cover-card.strip-card-entering,
.dynamic-space .product-strip .product-strip-card.strip-card-entering{
    opacity:0 !important;
    transform:translateY(6px) scale(.99) !important;
    filter:brightness(.93) !important;
}

.dynamic-space .catalog.switch-pulsing .cover-card,
.dynamic-space .product-strip.switch-pulsing .product-strip-card{
    animation:none !important;
}

body.about-modal-open .page{
    filter:blur(8px) brightness(0.35) !important;
    transform:scale(.99) !important;
    pointer-events:none !important;
}

.about-modal{
    background:rgba(0,0,0,.18) !important;
}

.about-modal-backdrop{
    background:
        radial-gradient(circle at 50% 36%, rgba(176,122,63,.08), transparent 34%),
        rgba(0,0,0,.94) !important;
}

.about-modal-content{
    position:relative !important;
    isolation:isolate !important;
}

.about-modal-content::before{
    position:absolute !important;
    left:50% !important;
    top:36px !important;
    width:min(54vw, 440px) !important;
    height:min(54vw, 440px) !important;
    transform:translateX(-50%) !important;
    background-position:center center !important;
    background-repeat:no-repeat !important;
    background-size:contain !important;
    filter:grayscale(1)
        brightness(1.65)
        contrast(1.08)
        drop-shadow(0 0 26px rgba(208,160,99,.18)) !important;
    pointer-events:none !important;
    z-index:0 !important;
}

.about-modal-content > *{
    position:relative !important;
    z-index:2 !important;
}

.about-modal{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    padding:24px !important;
    box-sizing:border-box !important;
}

.about-modal-backdrop{
    position:absolute !important;
    inset:0 !important;
}

.about-modal-content{
    margin:auto !important;
    top:auto !important;
    right:auto !important;
    bottom:auto !important;
    left:auto !important;
    width:min(88vw, 920px) !important;
    max-height:calc(100vh - 48px) !important;
    overflow:auto !important;
    transform:translate3d(0,18px,0) scale(.965) !important;
    opacity:0 !important;
}

.about-modal-content::before{
    content:none !important;
    display:none !important;
    background-image:none !important;
    opacity:0 !important;
}




.modal-close,
.about-modal-close,
.image-modal-close,
[class*="modal-close"]{
    display:none !important;
    opacity:0 !important;
    pointer-events:none !important;
}

.catalog,
.collection-frame,
.portavelas-panel,
.portasahumerios-panel{
    background:
        radial-gradient(circle at 22% 0%, rgba(176,122,63,.10), transparent 34%),
        linear-gradient(180deg, rgba(13,10,8,.96), rgba(5,5,5,.98)) !important;
}

.cover-cards,
.cards,
.product-grid-inside,
.collection-zoom-products{
    background:transparent !important;
}

.portavelas-panel,
.portasahumerios-panel{
    transition:
        max-height var(--t-slow) var(--ease-soft),
        opacity var(--t-medium) ease,
        transform .55s var(--ease-soft),
        margin var(--t-medium) ease,
        padding var(--t-medium) ease,
        border-color var(--t-medium) ease,
        background-color var(--t-medium) ease !important;
}

.catalog{
    background:radial-gradient(circle at 22% 0%, rgba(176,122,63,.10), transparent 34%),
        linear-gradient(180deg, rgba(8,7,6,.98), rgba(3,3,3,.98)) !important;
}

.cover-cards,
.cards,
.product-strip{
    background:transparent !important;
}

.collection-frame,
.portavelas-panel,
.portasahumerios-panel{
    background:
        radial-gradient(circle at 22% 0%, rgba(176,122,63,.10), transparent 34%),
        linear-gradient(180deg, rgba(8,7,6,.98), rgba(3,3,3,.98)) !important;
}

.catalog,
.catalog.cover-section,
.catalog.products-section,
section.catalog,
.collection-frame,
.portavelas-panel,
.portasahumerios-panel{
    background:transparent !important;
    background-color:transparent !important;
    background-image:none !important;
    box-shadow:none !important;
}

.catalog::before,
.catalog::after,
.collection-frame::before,
.collection-frame::after,
.portavelas-panel::before,
.portavelas-panel::after,
.portasahumerios-panel::before,
.portasahumerios-panel::after{
    background:transparent !important;
    background-image:none !important;
    box-shadow:none !important;
}

.cover-cards,
.cards,
.product-grid-inside,
.collection-zoom-products,
.product-strip{
    background:transparent !important;
    background-color:transparent !important;
    background-image:none !important;
}

.catalog{
    border-top:1px solid rgba(176,122,63,.18) !important;
    border-bottom:1px solid rgba(176,122,63,.28) !important;
}

.product-card .price-row{
    opacity:0;
    max-height:0;
    overflow:hidden;
    pointer-events:none;
}

.product-card:hover .price-row{
    opacity:1;
    max-height:38px;
    pointer-events:auto;
}

.hero.expanded .hero-slide,
.hero.hero-expanded .hero-slide,
.hero.is-expanded .hero-slide,
.hero.open .hero-slide,
body.hero-expanded .hero-slide,
body.hero-open .hero-slide,
body.inicio-expanded .hero-slide,
body.home-expanded .hero-slide{
    filter:
        brightness(1.55)
        contrast(1.20)
        sepia(.08)
        saturate(.96) !important;
    transform:
        translate3d(0%, 0, 0)
        scale(.48) !important;
    transform-origin:center center !important;
}

.hero.expanded .hero-shade,
.hero.hero-expanded .hero-shade,
.hero.is-expanded .hero-shade,
.hero.open .hero-shade,
body.hero-expanded .hero-shade,
body.hero-open .hero-shade,
body.inicio-expanded .hero-shade,
body.home-expanded .hero-shade{
    opacity:.58 !important;
}

body.hero-pinned .hero .hero-slide,
.hero.hero-expanded .hero-slide,
.hero:hover .hero-slide{
    transform-origin:center center !important;
}

body.hero-pinned .hero-video-stack .hero-video,
body.hero-pinned .hero .hero-video,
.hero.hero-expanded .hero-video-stack .hero-video,
.hero.hero-expanded .hero-video,
.hero:hover .hero-video-stack .hero-video,
.hero:hover .hero-video{
    width:100% !important;
    height:100% !important;
}

body.hero-pinned .hero-video-stack,
.hero.hero-expanded .hero-video-stack,
.hero:hover .hero-video-stack{
    inset:0 !important;
    width:100% !important;
    height:100% !important;
    overflow:hidden !important;
    background:#050505 !important;
}

body.hero-pinned .hero .hero-slide,
.hero.hero-expanded .hero-slide,
.hero:hover .hero-slide{
    background-size:contain !important;
    background-position:center center !important;
    transform:translate3d(0,0,0) scale(1) !important;
    filter:
        brightness(1.55)
        contrast(1.20)
        sepia(.06)
        saturate(.98) !important;
}

:root{
    --hero-video-x:0%;
    --hero-video-y:0%;
    --hero-video-zoom:1;
    --hero-video-scale-xy:1;
    --hero-video-letterbox:0%;
    --hero-video-fit:contain;
}

.hero-video-stack::before,
.hero-video-stack::after{
    content:"";
    position:absolute;
    left:0;
    right:0;
    height:var(--hero-video-letterbox);
    background:#050505;
    z-index:6;
    pointer-events:none;
}

.hero-video-stack::before{ top:0; }
.hero-video-stack::after{ bottom:0; }

:root{
    --hero-letterbox-top:0%;
    --hero-letterbox-bottom:0%;
    --hero-side-left:0%;
    --hero-side-right:0%;
    --hero-side-opacity:0;
}

.hero-side-mask{
    position:absolute;
    top:0;
    bottom:0;
    z-index:7;
    pointer-events:none;
    background:rgba(5,5,5,var(--hero-side-opacity));
}

.hero-side-mask.left{
    left:0;
    width:var(--hero-side-left);
}

.hero-side-mask.right{
    right:0;
    width:var(--hero-side-right);
}

:root{
    --hero-video-x:17%;
    --hero-video-y:-14%;
    --hero-video-zoom:2.96;
    --hero-video-scale-xy:1.04;
    --hero-letterbox-top:18%;
    --hero-letterbox-bottom:29%;
    --hero-side-left:7%;
    --hero-side-right:0%;
    --hero-side-opacity:1;
    --hero-video-fit:contain;
}

.hero,
.hero-video-stack,
.hero-video-stack .hero-video,
.hero .hero-video,
.hero-slide,
.hero-shade,
.hero-video-stack::before,
.hero-video-stack::after,
.hero-side-mask{
    transition:
        transform .95s var(--ease-ritual),
        filter .95s var(--ease-ritual),
        opacity .75s ease,
        height .95s var(--ease-ritual),
        width .95s var(--ease-ritual),
        background .95s ease,
        object-position .95s var(--ease-ritual) !important;
}

.hero-video-stack::before{
    height:var(--hero-letterbox-top) !important;
    background:linear-gradient(
        180deg,
        rgba(0,0,0,1) 0%,
        rgba(0,0,0,.88) 35%,
        rgba(0,0,0,.42) 72%,
        rgba(0,0,0,0) 100%
    ) !important;
}

.hero-video-stack::after{
    height:var(--hero-letterbox-bottom) !important;
    background:linear-gradient(
        0deg,
        rgba(0,0,0,1) 0%,
        rgba(0,0,0,.88) 35%,
        rgba(0,0,0,.42) 72%,
        rgba(0,0,0,0) 100%
    ) !important;
}

.hero-side-mask.left{
    width:var(--hero-side-left) !important;
    background:linear-gradient(
        90deg,
        rgba(0,0,0,var(--hero-side-opacity)) 0%,
        rgba(0,0,0,.78) 38%,
        rgba(0,0,0,.34) 72%,
        rgba(0,0,0,0) 100%
    ) !important;
}

.hero-side-mask.right{
    width:var(--hero-side-right) !important;
    background:linear-gradient(
        270deg,
        rgba(0,0,0,var(--hero-side-opacity)) 0%,
        rgba(0,0,0,.78) 38%,
        rgba(0,0,0,.34) 72%,
        rgba(0,0,0,0) 100%
    ) !important;
}

.hero-video-stack .hero-video,
.hero .hero-video,
body.hero-pinned .hero-video-stack .hero-video,
body.hero-pinned .hero .hero-video,
.hero.hero-expanded .hero-video-stack .hero-video,
.hero.hero-expanded .hero-video,
.hero:hover .hero-video-stack .hero-video,
.hero:hover .hero-video{
    object-fit:var(--hero-video-fit) !important;
    object-position:center center !important;
    transform:
        translate3d(var(--hero-video-x), var(--hero-video-y), 0)
        scale(calc(var(--hero-video-zoom) * var(--hero-video-scale-xy))) !important;
    transform-origin:center center !important;
}

body.hero-pinned .hero-video-stack .hero-video,
body.hero-pinned .hero .hero-video,
.hero:hover .hero-video-stack .hero-video,
.hero:hover .hero-video{
    filter:
        brightness(1.55)
        contrast(1.20)
        sepia(.06)
        saturate(.98) !important;
}

.hero-video-stack .hero-video,
.hero .hero-video,
body.hero-pinned .hero-video-stack .hero-video,
body.hero-pinned .hero .hero-video,
.hero.hero-expanded .hero-video-stack .hero-video,
.hero.hero-expanded .hero-video,
.hero:hover .hero-video-stack .hero-video,
.hero:hover .hero-video{
    transition:
        filter .75s ease,
        opacity .55s ease !important;
}

body.hero-pinned .hero-video-stack .hero-video,
body.hero-pinned .hero .hero-video,
.hero.hero-expanded .hero-video-stack .hero-video,
.hero.hero-expanded .hero-video,
.hero:hover .hero-video-stack .hero-video,
.hero:hover .hero-video{
    object-fit:var(--hero-video-fit) !important;
    object-position:center center !important;
    transform:translate3d(var(--hero-video-x), var(--hero-video-y), 0)
        scale(calc(var(--hero-video-zoom) * var(--hero-video-scale-xy))) !important;
    transform-origin:center center !important;
    filter:brightness(1.55)
        contrast(1.20)
        sepia(.06)
        saturate(.98) !important;
}

.hero-video-stack::before,
.hero-video-stack::after,
.hero-side-mask{
    transition:
        width var(--t-hero) var(--ease-ritual),
        height var(--t-hero) var(--ease-ritual),
        opacity .75s ease,
        background .85s ease !important;
}

body.hero-pinned .hero-video-stack .hero-video,
body.hero-pinned .hero .hero-video,
.hero.hero-expanded .hero-video-stack .hero-video,
.hero.hero-expanded .hero-video,
.hero:hover .hero-video-stack .hero-video,
.hero:hover .hero-video{
    transition:
        filter var(--t-medium) ease,
        opacity var(--t-soft) ease !important;
}

:root{
    --hero-rest-x:0%;
    --hero-rest-y:0%;
    --hero-rest-scale:1.18;

    --hero-video-x:17%;
    --hero-video-y:-14%;
    --hero-video-zoom:2.96;
    --hero-video-scale-xy:1.04;
    --hero-video-fit:contain;
}

.hero-video-stack .hero-video,
.hero .hero-video{
    object-fit:cover !important;
    object-position:92% center !important;
    transform:
        translate3d(var(--hero-rest-x), var(--hero-rest-y), 0)
        scale(var(--hero-rest-scale)) !important;
    transform-origin:center center !important;
    filter:
        brightness(.92)
        contrast(1.10)
        sepia(.06)
        saturate(.90) !important;
    transition:
        transform var(--t-hero) var(--ease-ritual),
        object-position var(--t-hero) var(--ease-ritual),
        filter .85s ease,
        opacity .55s ease !important;
    will-change:transform, filter;
}

body.hero-video-active .hero-video-stack .hero-video,
body.hero-video-active .hero .hero-video,
body.hero-pinned .hero-video-stack .hero-video,
body.hero-pinned .hero .hero-video,
.hero:hover .hero-video-stack .hero-video,
.hero:hover .hero-video{
    object-fit:var(--hero-video-fit) !important;
    object-position:center center !important;
    transform:
        translate3d(var(--hero-video-x), var(--hero-video-y), 0)
        scale(calc(var(--hero-video-zoom) * var(--hero-video-scale-xy))) !important;
    transform-origin:center center !important;
    filter:
        brightness(1.55)
        contrast(1.20)
        sepia(.06)
        saturate(.98) !important;
}

.hero-video-stack .hero-video,
.hero .hero-video,
body.hero-video-active .hero-video-stack .hero-video,
body.hero-video-active .hero .hero-video,
body.hero-pinned .hero-video-stack .hero-video,
body.hero-pinned .hero .hero-video,
.hero:hover .hero-video-stack .hero-video,
.hero:hover .hero-video{
    transition:
        filter .55s ease,
        opacity var(--t-soft) ease !important;
}

body:not(.hero-video-active):not(.hero-pinned) .hero-video-stack .hero-video,
body:not(.hero-video-active):not(.hero-pinned) .hero .hero-video{
    object-fit:cover !important;
    object-position:92% center !important;
    transform:translate3d(0,0,0) scale(1.18) !important;
}

body.hero-video-active .hero-video-stack .hero-video,
body.hero-video-active .hero .hero-video,
body.hero-pinned .hero-video-stack .hero-video,
body.hero-pinned .hero .hero-video,
.hero:hover .hero-video-stack .hero-video,
.hero:hover .hero .hero-video{
    object-fit:var(--hero-video-fit) !important;
    object-position:center center !important;
    transform:
        translate3d(var(--hero-video-x), var(--hero-video-y), 0)
        scale(calc(var(--hero-video-zoom) * var(--hero-video-scale-xy))) !important;
}

.hero-slide,
body.hero-pinned .hero .hero-slide,
.hero:hover .hero-slide{
    transition:
        opacity var(--t-medium) ease,
        filter .55s ease !important;
}

.contact-red-row{
    font-family:"Montserrat",sans-serif !important;
    line-height:1.2 !important;
}

.contact-red-row img{
    flex:0 0 auto !important;
}

.contact-red-row strong{
    color:#d0a063 !important;
    font-weight:400 !important;
    letter-spacing:1.2px !important;
}

@media(max-width:760px){
    .contact-redes-directas{
        grid-template-columns:1fr !important;
    }
}

.about-modal{
    position:fixed;
    inset:0;
    z-index:9999;
    display:grid;
    place-items:center;
    opacity:0;
    visibility:hidden !important;
    pointer-events:none !important;
    transition:opacity var(--t-soft) ease, visibility 0s linear var(--t-soft);
}

.info-modal.active,
.contact-modal.active,
.web-modal.active,
.about-modal.active{
    opacity:1 !important;
    visibility:visible !important;
    pointer-events:auto !important;
    transition:opacity var(--t-soft) ease, visibility 0s linear 0s;
}

.about-modal-backdrop{
    position:absolute;
    inset:0;
    background:rgba(0,0,0,.74);
    cursor:pointer;
}

.about-modal-content{
    position:relative;
    z-index:2;
    width:min(78vw, 920px);
    min-height:420px;
    padding:76px 64px;
    border:1px solid rgba(176,122,63,.42);
    background:
        radial-gradient(circle at 20% 18%, rgba(176,122,63,.12), transparent 36%),
        linear-gradient(180deg, rgba(15,11,8,.98), rgba(4,4,4,.98));
    box-shadow:0 34px 110px rgba(0,0,0,.82);
    font-family:"Montserrat",sans-serif;
}

.about-modal-content h2{
    font-family:"Cormorant Garamond",serif;
    font-weight:300;
    font-size:50px;
    letter-spacing:4px;
    color:#eee8dc;
    margin:18px 0 24px;
}

.info-modal-content .kicker,
.contact-modal-content .kicker,
.web-modal-content .kicker,
.about-modal-content .kicker{
    color:#d0a063;
    letter-spacing:6px;
    font-size:12px;
}

.about-modal-content p{
    color:#bdb3a8;
    font-size:14px;
    line-height:1.75;
}

.contact-redes-directas{
    display:grid !important;
    grid-template-columns:1fr 1fr !important;
    gap:14px 28px !important;
    margin-top:28px !important;
    max-width:620px !important;
}

.contact-red-row{
    display:flex !important;
    align-items:center !important;
    gap:13px !important;
    color:#bdb3a8 !important;
    font-size:13px !important;
    letter-spacing:.4px !important;
}

.contact-red-row img{
    width:30px !important;
    height:30px !important;
    object-fit:contain !important;
    filter:none !important;
    opacity:.96 !important;
}

.info-modal-fixed{
    position:fixed;
    inset:0;
    z-index:9999;
    display:grid;
    place-items:center;
    opacity:0;
    pointer-events:none;
    transition:opacity var(--t-soft) ease;
}

.info-modal-fixed.active{
    opacity:1;
    pointer-events:auto;
}

.info-modal-fixed .info-backdrop{
    position:absolute;
    inset:0;
    background:rgba(0,0,0,.74);
    cursor:pointer;
}

.info-modal-fixed .info-content{
    position:relative;
    z-index:2;
    width:min(78vw, 920px);
    min-height:420px;
    padding:76px 64px;
    border:1px solid rgba(176,122,63,.42);
    background:
        radial-gradient(circle at 20% 18%, rgba(176,122,63,.12), transparent 36%),
        linear-gradient(180deg, rgba(15,11,8,.98), rgba(4,4,4,.98));
    box-shadow:0 34px 110px rgba(0,0,0,.82);
    font-family:"Montserrat",sans-serif;
}

.info-modal-fixed .kicker{
    color:#d0a063;
    letter-spacing:6px;
    font-size:12px;
}

.info-modal-fixed h2{
    font-family:"Cormorant Garamond",serif;
    font-weight:300;
    font-size:50px;
    letter-spacing:4px;
    color:#eee8dc;
    margin:18px 0 24px;
}

.info-modal-fixed p{
    color:#bdb3a8;
    font-size:14px;
    line-height:1.75;
}

body.hero-pinned .hero{
    height:min(78vh, 760px) !important;
}

body.hero-pinned .hero-video-stack .hero-video,
body.hero-pinned .hero .hero-video,
body.hero-pinned .hero:hover .hero-video-stack .hero-video,
body.hero-pinned .hero:hover .hero .hero-video{
    object-fit:var(--hero-video-fit) !important;
    object-position:center center !important;
    transform:
        translate3d(var(--hero-video-x), var(--hero-video-y), 0)
        scale(calc(var(--hero-video-zoom) * var(--hero-video-scale-xy))) !important;
    filter:
        brightness(1.55)
        contrast(1.20)
        sepia(.06)
        saturate(.98) !important;
}


body:not(.hero-pinned) .hero:not(:hover):not(.hero-expanded){
    height:466px !important;
}

body.hero-pinned .hero,
.hero.hero-expanded,
.hero:hover{
    height:min(78vh, 760px) !important;
}

body:not(.hero-pinned) .hero:not(:hover):not(.hero-expanded) .hero-video-stack .hero-video,
body:not(.hero-pinned) .hero:not(:hover):not(.hero-expanded) .hero .hero-video{
    object-fit:cover !important;
    object-position:92% center !important;
    transform:translate3d(0,0,0) scale(1.18) !important;
    filter:
        brightness(.92)
        contrast(1.10)
        sepia(.06)
        saturate(.90) !important;
}

.contact-redes-directas a,
.web-redes-directas a{
    text-decoration:none !important;
}

.web-redes-directas{
    display:grid !important;
    grid-template-columns:1fr 1fr !important;
    gap:14px 28px !important;
    margin-top:28px !important;
    max-width:620px !important;
}

.web-red-row{
    display:flex !important;
    align-items:center !important;
    gap:13px !important;
    color:#bdb3a8 !important;
    font-size:13px !important;
    letter-spacing:.4px !important;
}

.web-red-row img{
    width:30px !important;
    height:30px !important;
    object-fit:contain !important;
    filter:none !important;
    opacity:.96 !important;
}

.web-red-row strong{
    color:#d0a063 !important;
    font-weight:400 !important;
    letter-spacing:1.2px !important;
}

.contact-red-row,
.web-red-row{
    transition:transform var(--t-fast) ease, color var(--t-fast) ease;
}

.contact-red-row:hover,
.web-red-row:hover{
    transform:translateX(4px);
    color:#eee8dc !important;
}

@media(max-width:760px){
    .web-redes-directas{
        grid-template-columns:1fr !important;
    }
}

.fixed-social,
.social-fixed,
.floating-social,
.social-floating,
.social-icons-fixed,
.redes-flotantes{
    display:flex !important;
    flex-direction:column !important;
}

.fixed-social a[href^="mailto"],
.social-fixed a[href^="mailto"],
.floating-social a[href^="mailto"],
.social-floating a[href^="mailto"],
.social-icons-fixed a[href^="mailto"],
.redes-flotantes a[href^="mailto"]{
    order:-10 !important;
}

.redes-fijas-gmail{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
}

.redes-fijas-gmail img{
    width:34px !important;
    height:34px !important;
    max-width:34px !important;
    max-height:34px !important;
    object-fit:contain !important;
    display:block !important;
    filter:none !important;
    opacity:1 !important;
}

a[href^="mailto:"] img[src*="gmail"]{
    width:34px !important;
    height:34px !important;
    max-width:34px !important;
    max-height:34px !important;
    object-fit:contain !important;
}

.redes-fijas-gmail{
    width:var(--social-icon-size, 34px) !important;
    height:var(--social-icon-size, 34px) !important;
    min-width:var(--social-icon-size, 34px) !important;
    min-height:var(--social-icon-size, 34px) !important;
    max-width:var(--social-icon-size, 34px) !important;
    max-height:var(--social-icon-size, 34px) !important;
    padding:0 !important;
    margin:0 !important;
    background:transparent !important;
    border:0 !important;
    box-shadow:none !important;
    overflow:hidden !important;
    order:-10 !important;
}

.redes-fijas-gmail img,
a[href^="mailto:"] img[src*="gmail"]{
    width:100% !important;
    height:100% !important;
    max-width:100% !important;
    max-height:100% !important;
    object-fit:contain !important;
    display:block !important;
    filter:none !important;
    opacity:1 !important;
    transform:none !important;
}

.order-send-modal.active{
    opacity:1;
    pointer-events:auto;
}

.order-send-content .kicker{
    color:#d0a063;
    letter-spacing:6px;
    font-size:12px;
}

.contact-red-row img[src*="gmail"],
.contact-redes-directas img[src*="gmail"],
.info-modal-fixed img[src*="gmail"]{
    display:block !important;
    width:30px !important;
    height:30px !important;
    min-width:30px !important;
    min-height:30px !important;
    max-width:30px !important;
    max-height:30px !important;
    object-fit:contain !important;
    opacity:.96 !important;
    visibility:visible !important;
    filter:none !important;
    transform:none !important;
}

.order-send-modal.active{
    z-index:30000 !important;
}

.info-modal-fixed{
    z-index:25000 !important;
}

.order-channel-panel{
    display:flex;
    gap:12px;
    align-items:center;
    justify-content:center;
    max-height:0;
    opacity:0;
    overflow:hidden;
    transform:translateY(-8px);
    transition:
        max-height .42s var(--ease-ritual),
        opacity .28s ease,
        transform .42s var(--ease-ritual),
        margin .32s ease;
    margin-top:0;
}

.order-channel-panel.active{
    max-height:72px;
    opacity:1;
    transform:translateY(0);
    margin-top:14px;
}

.order-channel-panel a{
    width:34px;
    height:34px;
    display:grid;
    place-items:center;
    text-decoration:none;
    border:1px solid rgba(176,122,63,.28);
    background:rgba(0,0,0,.20);
    transition:
        transform .22s ease,
        border-color .22s ease,
        box-shadow .22s ease,
        background .22s ease;
}

.order-channel-panel a:hover{
    transform:translateY(-2px);
    border-color:rgba(208,160,99,.68);
    background:rgba(176,122,63,.10);
    box-shadow:0 0 18px rgba(208,160,99,.14);
}

.order-channel-panel img{
    width:24px;
    height:24px;
    object-fit:contain;
    display:block;
    filter:none;
    opacity:.96;
}

.info-close-fixed,
.about-modal-close,
.process-video-close,
.simple-info-close{
    position:absolute !important;
    top:16px !important;
    right:18px !important;
    z-index:20 !important;
    width:38px !important;
    height:38px !important;
    min-width:38px !important;
    min-height:38px !important;
    display:grid !important;
    place-items:center !important;
    padding:0 !important;
    border:1px solid rgba(176,122,63,.42) !important;
    background:rgba(0,0,0,.38) !important;
    color:#d0a063 !important;
    font-family:"Montserrat",sans-serif !important;
    font-size:25px !important;
    line-height:1 !important;
    font-weight:300 !important;
    cursor:pointer !important;
    box-shadow:0 0 18px rgba(208,160,99,.08) !important;
    transition:background var(--t-fast) ease, color var(--t-fast) ease, box-shadow var(--t-fast) ease, transform var(--t-fast) ease !important;
}

.info-close-fixed:hover,
.about-modal-close:hover,
.process-video-close:hover,
.simple-info-close:hover{
    background:rgba(176,122,63,.16) !important;
    color:rgba(255,226,170,.98) !important;
    box-shadow:0 0 22px rgba(208,160,99,.20) !important;
    transform:translateY(-1px) !important;
}

.info-modal-fixed .info-content,
.about-modal-content,
.process-video-content,
.simple-info-content{
    position:relative !important;
}

.contact-redes-directas,
.web-redes-directas{
    align-items:start !important;
}

.contact-red-row,
.web-red-row{
    min-width:0 !important;
    overflow:visible !important;
    text-decoration:none !important;
}

.contact-red-row span,
.web-red-row span{
    display:inline-block !important;
    min-width:0 !important;
    overflow-wrap:anywhere !important;
    word-break:normal !important;
    line-height:1.45 !important;
}

.contact-red-row img,
.web-red-row img,
.contact-red-row img[src*="gmail"],
.web-red-row img[src*="gmail"],
.info-modal-fixed .contact-red-row img[src*="gmail"],
.info-modal-fixed .web-red-row img[src*="gmail"],
a.contact-red-row[href^="mailto:"] img,
a.web-red-row[href^="mailto:"] img{
    width:28px !important;
    height:28px !important;
    min-width:28px !important;
    min-height:28px !important;
    max-width:28px !important;
    max-height:28px !important;
    flex:0 0 28px !important;
    object-fit:contain !important;
    object-position:center !important;
    display:block !important;
    opacity:.96 !important;
    visibility:visible !important;
    filter:none !important;
    transform:none !important;
    margin:0 !important;
    padding:0 !important;
}

@media(max-width:760px){
    .info-close-fixed,
.about-modal-close,
.process-video-close,
.simple-info-close{
        top:12px !important;
        right:12px !important;
        width:36px !important;
        height:36px !important;
        min-width:36px !important;
        min-height:36px !important;
    }

    .info-modal-fixed .info-content,
.about-modal-content,
.process-video-content,
.simple-info-content{
        width:92vw !important;
        padding-top:58px !important;
    }
}

.social-fixed-ritual a[aria-label="Gmail"] img,
.contact-red-row img[src$="gmail.webp"],
.web-red-row img[src$="gmail.webp"]{
    width:28px !important;
    height:28px !important;
    min-width:28px !important;
    min-height:28px !important;
    max-width:28px !important;
    max-height:28px !important;
    object-fit:contain !important;
    object-position:center !important;
    display:block !important;
}

@media(max-width:700px){
    .social-fixed-ritual a[aria-label="Gmail"] img{
        width:26px !important;
        height:26px !important;
        min-width:26px !important;
        min-height:26px !important;
        max-width:26px !important;
        max-height:26px !important;
    }
}

body.modal-open #simpleInfoModal,
body.contact-modal-open #simpleInfoModal,
body.web-modal-open #simpleInfoModal{
    display:none !important;
    opacity:0 !important;
    visibility:hidden !important;
    pointer-events:none !important;
}

.info-modal-fixed .contact-redes-directas,
.info-modal-fixed .web-redes-directas{
    display:grid !important;
    grid-template-columns:1fr 1fr !important;
    gap:14px 42px !important;
    margin-top:28px !important;
    max-width:680px !important;
    align-items:center !important;
}

.info-modal-fixed .contact-red-row,
.info-modal-fixed .web-red-row{
    display:flex !important;
    flex-direction:row !important;
    align-items:center !important;
    justify-content:flex-start !important;
    gap:13px !important;
    min-width:0 !important;
    width:auto !important;
    max-width:none !important;
    white-space:nowrap !important;
    writing-mode:horizontal-tb !important;
    text-orientation:mixed !important;
    text-decoration:none !important;
    color:#bdb3a8 !important;
    font-family:"Montserrat",sans-serif !important;
    font-size:13px !important;
    letter-spacing:.4px !important;
    line-height:1.2 !important;
}

.info-modal-fixed .contact-red-row span,
.info-modal-fixed .web-red-row span{
    display:inline-flex !important;
    align-items:center !important;
    min-width:0 !important;
    width:auto !important;
    max-width:none !important;
    white-space:nowrap !important;
    word-break:keep-all !important;
    overflow-wrap:normal !important;
    writing-mode:horizontal-tb !important;
    text-orientation:mixed !important;
}

.info-modal-fixed .contact-red-row img,
.info-modal-fixed .web-red-row img{
    width:30px !important;
    height:30px !important;
    min-width:30px !important;
    min-height:30px !important;
    max-width:30px !important;
    max-height:30px !important;
    flex:0 0 30px !important;
    object-fit:contain !important;
    object-position:center !important;
    display:block !important;
    filter:none !important;
    transform:none !important;
}

.info-modal-fixed .contact-red-row img[src*="gmail"],
.info-modal-fixed .web-red-row img[src*="gmail"]{
    width:28px !important;
    height:28px !important;
    min-width:28px !important;
    min-height:28px !important;
    max-width:28px !important;
    max-height:28px !important;
    flex-basis:28px !important;
}

.social-fixed-ritual{
    display:flex !important;
    flex-direction:column !important;
}
.social-fixed-ritual a[aria-label="WhatsApp"]{order:1 !important;}
.social-fixed-ritual a[aria-label="Instagram"]{order:2 !important;}
.social-fixed-ritual a[aria-label="Gmail"]{order:3 !important;}
.social-fixed-ritual a[aria-label="Facebook"]{order:4 !important;}
.social-fixed-ritual a[aria-label="YouTube"]{order:5 !important;}

.social-fixed-ritual a[aria-label="Gmail"] img{
    width:26px !important;
    height:26px !important;
    min-width:26px !important;
    min-height:26px !important;
    max-width:26px !important;
    max-height:26px !important;
    object-fit:contain !important;
    filter:none !important;
}

@media(max-width:760px){
    .info-modal-fixed .contact-redes-directas,
.info-modal-fixed .web-redes-directas{
        grid-template-columns:1fr !important;
        gap:13px !important;
        max-width:100% !important;
    }
    .info-modal-fixed .contact-red-row,
.info-modal-fixed .web-red-row,
.info-modal-fixed .contact-red-row span,
.info-modal-fixed .web-red-row span{
        white-space:normal !important;
        overflow-wrap:anywhere !important;
    }
}

.image-modal-content,
.collection-zoom-content{
    position:relative !important;
}

.image-modal-close,
.collection-zoom-close,
.product-modal .modal-close{
    position:absolute !important;
    top:16px !important;
    right:18px !important;
    z-index:40 !important;
    width:38px !important;
    height:38px !important;
    min-width:38px !important;
    min-height:38px !important;
    display:grid !important;
    place-items:center !important;
    padding:0 !important;
    border:1px solid rgba(176,122,63,.42) !important;
    background:rgba(0,0,0,.38) !important;
    color:#d0a063 !important;
    font-family:"Montserrat",sans-serif !important;
    font-size:25px !important;
    line-height:1 !important;
    font-weight:300 !important;
    cursor:pointer !important;
    opacity:1 !important;
    visibility:visible !important;
    pointer-events:auto !important;
    box-shadow:0 0 18px rgba(208,160,99,.08) !important;
    transition:background var(--t-fast) ease, color var(--t-fast) ease, box-shadow var(--t-fast) ease, transform var(--t-fast) ease !important;
}

.image-modal-close:hover,
.collection-zoom-close:hover,
.product-modal .modal-close:hover{
    background:rgba(176,122,63,.16) !important;
    color:rgba(255,226,170,.98) !important;
    box-shadow:0 0 22px rgba(208,160,99,.20) !important;
    transform:translateY(-1px) !important;
}

.collection-zoom-head{
    padding-right:58px !important;
}

.collection-zoom-head .collection-zoom-close{
    flex:none !important;
}

@media(max-width:760px){
    .image-modal-close,
.collection-zoom-close,
.product-modal .modal-close{
        top:12px !important;
        right:12px !important;
        width:36px !important;
        height:36px !important;
        min-width:36px !important;
        min-height:36px !important;
    }
}

.cart-order-selector{
    position:relative;
    z-index:2;
    margin-top:24px;
}

.cart-order-title{
    display:grid;
    grid-template-columns:1fr auto 1fr;
    align-items:center;
    gap:18px;
    margin:10px 0 20px;
}

.cart-order-title span{
    height:1px;
    background:linear-gradient(90deg, transparent, rgba(208,160,99,.46), transparent);
}

.cart-order-title strong{
    color:rgba(255,198,113,.95);
    font-family:"Montserrat",sans-serif;
    font-size:12px;
    font-weight:500;
    letter-spacing:3px;
    text-align:center;
    text-transform:uppercase;
    text-shadow:0 0 14px rgba(208,160,99,.18);
    white-space:nowrap;
}

.cart-order-channels{
    display:grid;
    grid-template-columns:repeat(3, 1fr);
    gap:0;
    align-items:stretch;
    max-width:620px;
    margin:0 auto 18px;
}

.cart-order-channel{
    position:relative;
    min-height:112px;
    display:grid;
    place-items:center;
    align-content:center;
    gap:12px;
    border:0;
    background:transparent;
    color:rgba(208,160,99,.88);
    font-family:"Montserrat",sans-serif;
    cursor:pointer;
    transition:color var(--t-fast) ease, transform var(--t-fast) ease, filter var(--t-fast) ease;
}

.cart-order-channel + .cart-order-channel::before{
    content:"";
    position:absolute;
    left:0;
    top:12px;
    bottom:12px;
    width:1px;
    background:linear-gradient(180deg, transparent, rgba(208,160,99,.42), transparent);
}

.cart-order-channel em{
    font-style:normal;
    font-size:13px;
    letter-spacing:1.7px;
    color:rgba(255,205,130,.90);
}

.cart-order-svg{
    width:54px;
    height:54px;
    display:block;
    overflow:visible;
    stroke:currentColor;
    fill:none;
    stroke-width:1.9;
    stroke-linecap:round;
    stroke-linejoin:round;
    filter:drop-shadow(0 0 8px rgba(255,226,170,.22)) drop-shadow(0 0 18px rgba(208,160,99,.14));
    transition:transform var(--t-fast) ease, filter var(--t-fast) ease;
}

.cart-order-channel:hover,
.cart-order-channel.active{
    color:rgba(255,226,170,.98);
    transform:translateY(-2px);
    filter:brightness(1.08);
}

.cart-order-channel:hover .cart-order-svg,
.cart-order-channel.active .cart-order-svg{
    transform:scale(1.06);
    filter:drop-shadow(0 0 10px rgba(255,238,210,.58)) drop-shadow(0 0 30px rgba(208,160,99,.34));
}

.cart-order-channel.active::after{
    content:"";
    position:absolute;
    left:34%;
    right:34%;
    bottom:7px;
    height:1px;
    background:linear-gradient(90deg, transparent, rgba(255,226,170,.88), transparent);
    box-shadow:0 0 12px rgba(255,226,170,.38);
}

.cart-buy-button.cart-click{
    animation:cart-send-pulse .34s ease;
}

@keyframes cart-send-pulse{
    0%,100%{transform:scale(1);}
    50%{transform:scale(.985); box-shadow:0 0 26px rgba(255,226,170,.26);}
}

@media(max-width:700px){
    .cart-order-title{grid-template-columns:1fr; gap:8px; margin-bottom:16px;}
    .cart-order-title span{display:none;}
    .cart-order-title strong{white-space:normal; font-size:10px; line-height:1.55;}
    .cart-order-channels{max-width:100%;}
    .cart-order-channel{min-height:92px; gap:9px;}
    .cart-order-svg{width:38px; height:38px;}
    .cart-order-channel em{font-size:11px; letter-spacing:1px;}
}

@media(max-width:700px){

    .cart-modal{
        align-items:center !important;
        padding:14px 0 26px !important;
    }

    .cart-modal-content{
        width:92vw !important;
        max-height:88dvh !important;
        padding:22px 22px 42px !important;
        overflow-y:auto !important;
        overflow-x:hidden !important;
        display:flex !important;
        flex-direction:column !important;
    }

    .cart-modal-body{
        max-height:var(--mobile-cart-list-height, 426px) !important;
        overflow-y:auto !important;
        overflow-x:hidden !important;
        padding-right:7px !important;
        margin-top:16px !important;
        scrollbar-gutter:stable !important;
        flex:0 0 auto !important;
    }

    .cart-list{
        gap:10px !important;
    }

    .cart-line{
        grid-template-columns:62px minmax(0,1fr) auto !important;
        gap:10px !important;
        padding:10px 12px !important;
        align-items:center !important;
    }

    .cart-line-thumb{
        width:56px !important;
        height:56px !important;
    }

    .cart-line-type{
        font-size:9px !important;
        letter-spacing:1.7px !important;
        margin-bottom:3px !important;
    }

    .cart-line-title{
        font-size:13px !important;
        margin-bottom:4px !important;
    }

    .cart-line-detail{
        font-size:11px !important;
    }

    .cart-price-note{
        font-size:9px !important;
        margin-top:3px !important;
    }

    .cart-line-qty{
        grid-template-columns:28px 34px 28px !important;
        gap:5px !important;
        margin-top:7px !important;
    }

    .cart-line-step,
    .cart-line-qty-num{
        height:26px !important;
    }

    .cart-line-step{
        width:28px !important;
    }

    .cart-line-subtotal{
        justify-self:end !important;
        padding:6px 8px !important;
        font-size:12px !important;
    }

    .cart-total-box{
        margin-top:18px !important;
        flex:0 0 auto !important;
    }

    .cart-order-selector{
        margin-top:22px !important;
        flex:0 0 auto !important;
    }

    .cart-buy-button{
        margin-top:24px !important;
        margin-bottom:42px !important;
        flex:0 0 auto !important;
    }

    .cart-modal-hint{
        display:none !important;
    }
}

@media(max-width:900px) and (orientation:portrait), (hover:none) and (pointer:coarse){

    .cart-modal{
        align-items:center !important;
        padding:14px 0 26px !important;
    }

    .cart-modal-content{
        width:92vw !important;
        max-height:88dvh !important;
        padding-bottom:42px !important;
        overflow-y:auto !important;
        overflow-x:hidden !important;
        display:flex !important;
        flex-direction:column !important;
    }

    .cart-modal-body{
        max-height:var(--mobile-cart-list-height, 426px) !important;
        overflow-y:auto !important;
        overflow-x:hidden !important;
        padding-right:7px !important;
        scrollbar-gutter:stable !important;
        flex:0 0 auto !important;
    }

    .cart-buy-button{
        margin-top:24px !important;
        margin-bottom:42px !important;
        flex:0 0 auto !important;
    }

    .cart-modal-hint{
        display:none !important;
    }
}

.cart-modal-body{
    max-height:var(--mobile-cart-list-height, 52vh) !important;
    overflow-y:auto !important;
    overflow-x:hidden !important;
    scrollbar-gutter:stable !important;
}

.cart-buy-button{
    margin-top:28px !important;
    margin-bottom:34px !important;
}

.cart-modal-content{
    padding-bottom:42px !important;
}

@media(max-width:900px), (hover:none) and (pointer:coarse){
    .cart-modal-content{
        max-height:88dvh !important;
        overflow-y:auto !important;
        padding-bottom:54px !important;
    }

    .cart-buy-button{
        margin-top:30px !important;
        margin-bottom:54px !important;
    }
}


/* ============================================================
   GALERÍA 3D UMBRALE
   ============================================================ */
.gallery3d-section{position:relative;padding:34px 28px 38px;border-top:1px solid rgba(176,122,63,.30);border-bottom:1px solid rgba(176,122,63,.22);background:radial-gradient(circle at 70% 10%, rgba(176,122,63,.10), transparent 34%),linear-gradient(180deg, rgba(8,7,6,.98), rgba(3,3,3,.98));overflow:hidden;}
.gallery3d-section:before{content:"";position:absolute;inset:16px;border:1px solid rgba(176,122,63,.08);pointer-events:none;z-index:1;}
.gallery3d-head{position:relative;z-index:2;display:flex;justify-content:space-between;align-items:flex-end;gap:28px;margin-bottom:18px;}
.gallery3d-head span{display:block;font-family:"Montserrat",sans-serif;color:var(--gold2);font-size:10px;letter-spacing:2.6px;margin-bottom:7px;}
.gallery3d-head h2{font-family:"Cormorant Garamond",serif;font-weight:300;font-size:42px;letter-spacing:7px;}
.gallery3d-head p{max-width:560px;font-family:"Montserrat",sans-serif;color:#9d948a;font-size:12px;line-height:1.7;text-align:right;}
.gallery3d-shell{position:relative;z-index:2;height:min(72vh,760px);min-height:520px;border:1px solid rgba(176,122,63,.34);background:radial-gradient(circle at 50% 46%, rgba(208,160,99,.13), transparent 38%),linear-gradient(180deg, rgba(10,10,10,.98), rgba(0,0,0,.98));box-shadow:0 28px 90px rgba(0,0,0,.66),inset 0 0 0 1px rgba(208,160,99,.05);overflow:hidden;}
.gallery3d-viewer{position:absolute;inset:0;cursor:grab;}
.gallery3d-viewer:active{cursor:grabbing;}
.gallery3d-loading,.gallery3d-caption{position:absolute;z-index:4;left:50%;transform:translateX(-50%);font-family:"Montserrat",sans-serif;letter-spacing:1.5px;pointer-events:none;text-align:center;}
.gallery3d-loading{top:50%;transform:translate(-50%,-50%);color:rgba(208,160,99,.86);font-size:12px;padding:10px 16px;border:1px solid rgba(176,122,63,.28);background:rgba(0,0,0,.34);border-radius:999px;}
.gallery3d-loading.hidden{opacity:0;transition:opacity .45s ease;}
.gallery3d-caption{bottom:18px;color:rgba(235,230,221,.48);font-size:11px;text-shadow:0 8px 24px rgba(0,0,0,.86);}
.flame-menu .flame-h .flame-core{animation-duration:3.25s;animation-delay:-3.4s;}
.flame-menu .flame-h .flame-glow{animation-duration:4.15s;animation-delay:-3.2s;}
.flame-menu .flame-h{--spark-x:-4px;}
@media(max-width:900px){.gallery3d-head{display:block}.gallery3d-head p{text-align:left;margin-top:8px}.gallery3d-shell{height:62vh;min-height:430px}}


/* Galería 3D modal */
body.galeria3d-modal-open{
    overflow:hidden;
}

.galeria3d-section{
    display:none !important;
}

.galeria3d-modal{
    position:fixed;
    inset:0;
    z-index:10050;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    opacity:0;
    pointer-events:none;
    transition:opacity .38s ease;
}

.galeria3d-modal.active{
    opacity:1;
    pointer-events:auto;
}

.galeria3d-modal-backdrop{
    position:absolute;
    inset:0;
    background:
        radial-gradient(circle at 50% 42%, rgba(176,122,63,.18), transparent 38%),
        rgba(0,0,0,.78);
    cursor:pointer;
}

.galeria3d-modal-frame{
    position:relative;
    z-index:2;
    width:min(94vw, 1280px);
    height:min(88vh, 780px);
    border:1px solid rgba(208,160,99,.42);
    background:
        radial-gradient(circle at 20% 0%, rgba(176,122,63,.12), transparent 36%),
        linear-gradient(180deg, rgba(13,10,8,.98), rgba(3,3,3,.98));
    box-shadow:
        0 34px 110px rgba(0,0,0,.86),
        0 0 44px rgba(208,160,99,.12);
    overflow:hidden;
    transform:translateY(24px) scale(.96);
    transition:transform .48s var(--ease-ritual, cubic-bezier(.18,.82,.22,1));
}

.galeria3d-modal.active .galeria3d-modal-frame{
    transform:translateY(0) scale(1);
}

.galeria3d-modal-close{
    position:absolute;
    top:14px;
    right:16px;
    z-index:20;
    width:38px;
    height:38px;
    border:1px solid rgba(176,122,63,.50);
    background:rgba(0,0,0,.46);
    color:var(--gold2);
    font-size:27px;
    line-height:1;
    cursor:pointer;
    transition:.25s ease;
}

.galeria3d-modal-close:hover{
    background:rgba(176,122,63,.17);
    box-shadow:0 0 20px rgba(208,160,99,.18);
}

.galeria3d-modal-title{
    position:absolute;
    top:18px;
    left:22px;
    z-index:15;
    font-family:"Montserrat",sans-serif;
    color:rgba(208,160,99,.86);
    font-size:10px;
    letter-spacing:2.4px;
    text-transform:uppercase;
    pointer-events:none;
}

.galeria3d-modal .galeria3d-viewer,
.galeria3d-modal .gallery3d-viewer,
.galeria3d-modal #galeria3dViewer,
.galeria3d-modal #gallery3dViewer,
.galeria3d-modal #umbrale3DViewer{
    width:100%;
    height:100%;
    min-height:0;
}

@media(max-width:760px){
    .galeria3d-modal-frame{
        width:96vw;
        height:82vh;
    }

    .galeria3d-modal-title{
        left:16px;
        top:18px;
        font-size:9px;
    }
}



/* Galería 3D siempre al frente, sin heredar oscurecimiento de la página */
.galeria3d-modal{
    z-index:2147483000 !important;
    filter:none !important;
    opacity:0;
    visibility:hidden !important;
    pointer-events:none !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
}

.galeria3d-modal.active{
    opacity:1 !important;
    visibility:visible !important;
    pointer-events:auto !important;
    filter:none !important;
}

.galeria3d-modal-frame{
    filter:none !important;
    opacity:1 !important;
    z-index:2147483001 !important;
}

body.galeria3d-modal-open .page{
    filter:blur(8px) brightness(0.35) !important;
    transform:scale(.99) !important;
    pointer-events:none !important;
}



/* Limpieza visual del modal Galería 3D */
.galeria3d-modal-frame{
    background:
        radial-gradient(circle at 50% 0%, rgba(176,122,63,.10), transparent 42%),
        linear-gradient(180deg, rgba(13,10,8,.98), rgba(3,3,3,.98)) !important;
    overflow:hidden !important;
}

.galeria3d-modal-frame::before,
.galeria3d-modal-frame::after,
.galeria3d-modal::before,
.galeria3d-modal::after{
    display:none !important;
    opacity:0 !important;
    visibility:hidden !important;
}

.galeria3d-modal-title{
    left:50% !important;
    right:auto !important;
    top:18px !important;
    transform:translateX(-50%) !important;
    width:auto !important;
    max-width:calc(100% - 140px) !important;
    text-align:center !important;
    white-space:nowrap !important;
    font-size:10px !important;
    letter-spacing:2.6px !important;
    color:rgba(208,160,99,.90) !important;
}

.galeria3d-modal-close{
    right:18px !important;
}

/* Evita cualquier sombra o franja lateral heredada dentro del visor */
.galeria3d-modal .galeria3d-viewer,
.galeria3d-modal .gallery3d-viewer,
.galeria3d-modal #galeria3dViewer,
.galeria3d-modal #gallery3dViewer,
.galeria3d-modal #umbrale3DViewer{
    background:transparent !important;
    box-shadow:none !important;
    border-right:none !important;
}


/* Header limpio del modal 3D: un solo título centrado */
.galeria3d-modal-frame{
    padding-top:42px !important;
}

.galeria3d-modal-title{
    position:absolute !important;
    top:17px !important;
    left:50% !important;
    right:auto !important;
    transform:translateX(-50%) !important;
    z-index:50 !important;
    width:auto !important;
    max-width:calc(100% - 150px) !important;
    text-align:center !important;
    white-space:nowrap !important;
    font-family:"Montserrat",sans-serif !important;
    font-size:10px !important;
    letter-spacing:2.8px !important;
    color:rgba(208,160,99,.92) !important;
    text-transform:uppercase !important;
    pointer-events:none !important;
}

.galeria3d-modal-frame h1,
.galeria3d-modal-frame h2,
.galeria3d-modal-frame h3,
.galeria3d-modal-frame .gallery3d-title,
.galeria3d-modal-frame .galeria3d-title,
.galeria3d-modal-frame .gallery3d-header,
.galeria3d-modal-frame .galeria3d-header,
.galeria3d-modal-frame .gallery3d-caption,
.galeria3d-modal-frame .galeria3d-caption,
.galeria3d-modal-frame .gallery3d-info,
.galeria3d-modal-frame .galeria3d-info{
    display:none !important;
}

/* Mantiene visible solamente el título propio del modal */
.galeria3d-modal-frame .galeria3d-modal-title{
    display:block !important;
}

/* El canvas/visor ocupa el cuerpo limpio debajo del header */
.galeria3d-modal .galeria3d-viewer,
.galeria3d-modal .gallery3d-viewer,
.galeria3d-modal #galeria3dViewer,
.galeria3d-modal #gallery3dViewer,
.galeria3d-modal #umbrale3DViewer{
    height:calc(100% - 42px) !important;
    min-height:0 !important;
    margin-top:0 !important;
}


/* Modal 3D a pantalla completa interna: sin borde/franja derecha */
.galeria3d-modal-frame{
    padding:0 !important;
    border:1px solid rgba(208,160,99,.38) !important;
    overflow:hidden !important;
    background:#050505 !important;
    box-shadow:
        0 34px 110px rgba(0,0,0,.86),
        0 0 44px rgba(208,160,99,.12) !important;
}

.galeria3d-modal-frame > *:not(.galeria3d-modal-close):not(.galeria3d-modal-title){
    width:100% !important;
    height:100% !important;
    max-width:none !important;
    max-height:none !important;
    margin:0 !important;
    padding:0 !important;
    border-right:none !important;
    box-shadow:none !important;
}

.galeria3d-modal .galeria3d-viewer,
.galeria3d-modal .gallery3d-viewer,
.galeria3d-modal #galeria3dViewer,
.galeria3d-modal #gallery3dViewer,
.galeria3d-modal #umbrale3DViewer,
.galeria3d-modal canvas{
    width:100% !important;
    height:100% !important;
    min-width:100% !important;
    min-height:100% !important;
    max-width:100% !important;
    max-height:100% !important;
    display:block !important;
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
    border-right:0 !important;
    outline:0 !important;
    box-shadow:none !important;
    background:transparent !important;
}

.galeria3d-modal canvas{
    position:absolute !important;
    inset:0 !important;
}

/* El título queda flotante, sin ocupar espacio del visualizador */
.galeria3d-modal-title{
    top:16px !important;
    z-index:60 !important;
    padding:6px 12px !important;
    background:rgba(0,0,0,.22) !important;
    border:1px solid rgba(176,122,63,.18) !important;
    backdrop-filter:blur(4px) !important;
}

.galeria3d-modal-close{
    z-index:70 !important;
}

/* Anula reglas previas que dejaban espacio para header */
.galeria3d-modal .galeria3d-viewer,
.galeria3d-modal .gallery3d-viewer,
.galeria3d-modal #galeria3dViewer,
.galeria3d-modal #gallery3dViewer,
.galeria3d-modal #umbrale3DViewer{
    height:100% !important;
    margin-top:0 !important;
}
/* UMBRALE modal blur cleanup */
body.modal-open .page,
body.product-modal-open .page,
body.image-modal-open .page,
body.cart-modal-open .page,
body.collection-zoom-open .page,
body.process-video-open .page,
body.simple-info-open .page,
body.about-modal-open .page,
body.galeria3d-modal-open .page{
    filter:none !important;
    transform:none !important;
}

.modal-backdrop,
.cart-modal-backdrop,
.image-modal-backdrop,
.collection-zoom-backdrop,
.about-modal-backdrop,
.process-video-backdrop,
.simple-info-backdrop,
.galeria3d-modal-backdrop,
.galeria3d-modal-title{
    backdrop-filter:none !important;
    -webkit-backdrop-filter:none !important;
}

.product-modal:not(.active),
.cart-modal:not(.active),
.image-modal:not(.active),
.collection-zoom-modal:not(.active),
.about-modal:not(.active),
.process-video-modal:not(.active),
.simple-info-modal:not(.active),
.galeria3d-modal:not(.active){
    pointer-events:none !important;
    visibility:hidden;
}

.product-modal.active,
.cart-modal.active,
.image-modal.active,
.collection-zoom-modal.active,
.about-modal.active,
.process-video-modal.active,
.simple-info-modal.active,
.galeria3d-modal.active{
    visibility:visible !important;
}

/* Altares: modo colgante para configurar piso/pared independiente */
.altares-colgante-mode-row { display: none !important; }
body.category-altares .altares-colgante-mode-row,
.visualizador-body.category-altares .altares-colgante-mode-row { display: flex !important; }
body:not(.category-altares) .altares-colgante-mode-row { display: none !important; }


/* Floating altar hanging toggle */
.gallery3d-altar-view-toggle {
    position: absolute;
    right: 176px;
    bottom: 24px;
    z-index: 9;
    display: none;
    align-items: center;
    justify-content: center;
    height: 46px;
    padding: 0 15px;
    border-radius: 999px;
    border: 1px solid rgba(176,122,63,.38);
    background: rgba(10,10,10,.76);
    color: rgba(246,232,210,.82);
    font: 700 9px/1 "Montserrat", sans-serif;
    letter-spacing: 1.2px;
    text-transform: uppercase;
    pointer-events: auto;
    cursor: pointer;
    box-shadow: 0 10px 28px rgba(0,0,0,.36);
}
body.category-altares .gallery3d-altar-view-toggle,
.visualizador-body.category-altares .gallery3d-altar-view-toggle { display: inline-flex; }
.gallery3d-altar-view-toggle.active,
.gallery3d-altar-view-toggle:hover {
    border-color: rgba(212,154,85,.82);
    color: #fff4de;
    background: rgba(32,22,12,.88);
    box-shadow: 0 12px 34px rgba(0,0,0,.44), 0 0 24px rgba(212,154,85,.2);
}
.altares-colgante-mode-row { display: none !important; }


/* Strong visible altar hanging button */
.gallery3d-altar-view-toggle {
    min-width: 104px !important;
    height: 46px !important;
    padding: 0 16px !important;
    border: 1px solid rgba(255,196,112,.78) !important;
    background: linear-gradient(180deg, rgba(176,122,63,.96), rgba(73,43,18,.96)) !important;
    color: #fff5df !important;
    font: 800 10px/1 "Montserrat", sans-serif !important;
    letter-spacing: 1.35px !important;
    text-shadow: 0 1px 2px rgba(0,0,0,.75) !important;
    box-shadow: 0 14px 34px rgba(0,0,0,.55), 0 0 22px rgba(212,154,85,.34) !important;
    opacity: 1 !important;
    visibility: visible;
    z-index: 2147483604 !important;
}
.gallery3d-altar-view-toggle.active {
    background: linear-gradient(180deg, rgba(35,24,14,.98), rgba(12,10,8,.98)) !important;
    border-color: rgba(255,218,158,.9) !important;
}
body:not(.category-altares) .gallery3d-altar-view-toggle,
.visualizador-body:not(.category-altares) .gallery3d-altar-view-toggle {
    display: none !important;
}
body.category-altares .gallery3d-altar-view-toggle,
.visualizador-body.category-altares .gallery3d-altar-view-toggle {
    display: inline-flex !important;
}


/* Galeria 3D publica: mostrar solo controles de presentacion */
body:not(.visualizador-body) .galeria3d-modal-frame .gallery3d-info-toggle,
body:not(.visualizador-body) .galeria3d-modal-frame .gallery3d-info-panel,
body:not(.visualizador-body) .galeria3d-modal-frame .gallery3d-calibrador-panel,
body:not(.visualizador-body) .galeria3d-modal-frame .gallery3d-tablet-config-toggle,
body:not(.visualizador-body) .galeria3d-modal-frame .tablet-config-panel {
    display: none !important;
}


/* Galeria 3D publica: botones visibles del visor */
body:not(.visualizador-body) .galeria3d-modal-frame .gallery3d-light-toggle {
    position: absolute !important;
    right: 24px !important;
    bottom: 24px !important;
    z-index: 2147483605 !important;
    display: flex !important;
    width: 46px !important;
    height: 46px !important;
    min-width: 46px !important;
    min-height: 46px !important;
    padding: 0 !important;
    border-radius: 50% !important;
    border: 1px solid rgba(255,196,112,.72) !important;
    background: rgba(10,10,10,.78) !important;
    color: #e5dfd5 !important;
    align-items: center !important;
    justify-content: center !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    cursor: pointer !important;
    box-shadow: 0 12px 30px rgba(0,0,0,.55), 0 0 22px rgba(212,154,85,.2) !important;
}
body:not(.visualizador-body) .galeria3d-modal-frame .light-toggle-icon {
    position: relative !important;
    display: inline-block !important;
    width: 21px !important;
    height: 21px !important;
    border-radius: 50% !important;
    background: #f2c45f !important;
    box-shadow: 0 0 14px rgba(242,196,95,.62) !important;
}
body:not(.visualizador-body) .galeria3d-modal-frame .light-toggle-icon::before {
    content: "" !important;
    position: absolute !important;
    inset: -5px !important;
    border-radius: 50% !important;
    border: 1px solid rgba(242,196,95,.42) !important;
}
body:not(.visualizador-body) .galeria3d-modal-frame .light-toggle-icon.is-night {
    background: #d7d9e1 !important;
    box-shadow: 0 0 12px rgba(215,217,225,.42) !important;
}
body:not(.visualizador-body) .galeria3d-modal-frame .light-toggle-icon.is-night::before {
    inset: 0 -3px 0 6px !important;
    border: 0 !important;
    background: rgba(10,10,10,.78) !important;
}
body:not(.visualizador-body).category-altares .galeria3d-modal-frame .gallery3d-altar-view-toggle {
    position: absolute !important;
    right: 84px !important;
    bottom: 24px !important;
    z-index: 2147483605 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    pointer-events: auto !important;
    opacity: 1 !important;
    visibility: visible !important;
}
body:not(.visualizador-body):not(.category-altares) .galeria3d-modal-frame .gallery3d-altar-view-toggle {
    display: none !important;
}


/* Galeria 3D publica: navegacion visible */
body:not(.visualizador-body) .galeria3d-modal-frame .gallery3d-collections-nav {
    position: absolute !important;
    top: 18px !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    z-index: 2147483605 !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 2px !important;
    padding: 4px !important;
    border-radius: 999px !important;
    border: 1px solid rgba(176,122,63,.24) !important;
    background: rgba(0,0,0,.72) !important;
    box-shadow: 0 10px 28px rgba(0,0,0,.34) !important;
    pointer-events: auto !important;
    opacity: 1 !important;
    visibility: visible !important;
}
body:not(.visualizador-body) .galeria3d-modal-frame .gallery3d-nav-btn {
    appearance: none !important;
    background: transparent !important;
    border: 0 !important;
    color: #9d948a !important;
    font-family: "Montserrat", Arial, sans-serif !important;
    font-size: 10px !important;
    font-weight: 700 !important;
    letter-spacing: 1.6px !important;
    padding: 9px 18px !important;
    border-radius: 999px !important;
    cursor: pointer !important;
    white-space: nowrap !important;
    pointer-events: auto !important;
}
body:not(.visualizador-body) .galeria3d-modal-frame .gallery3d-nav-btn:hover {
    color: #e5dfd5 !important;
    background: rgba(176,122,63,.12) !important;
}
body:not(.visualizador-body) .galeria3d-modal-frame .gallery3d-nav-btn.active {
    color: #050505 !important;
    background: #d49a55 !important;
    box-shadow: 0 4px 15px rgba(212,154,85,.4) !important;
}
body:not(.visualizador-body) .galeria3d-modal-frame .gallery3d-arrow-btn {
    position: absolute !important;
    top: 50% !important;
    z-index: 2147483605 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 48px !important;
    height: 68px !important;
    transform: translateY(-50%) !important;
    border: 1px solid rgba(176,122,63,.34) !important;
    background: rgba(0,0,0,.46) !important;
    color: rgba(246,232,210,.78) !important;
    font-size: 46px !important;
    line-height: 1 !important;
    cursor: pointer !important;
    pointer-events: auto !important;
    opacity: 1 !important;
    visibility: visible !important;
    box-shadow: 0 14px 32px rgba(0,0,0,.35) !important;
}
body:not(.visualizador-body) .galeria3d-modal-frame .gallery3d-arrow-btn:hover {
    color: #fff4de !important;
    border-color: rgba(212,154,85,.76) !important;
    background: rgba(20,14,8,.72) !important;
}
body:not(.visualizador-body) .galeria3d-modal-frame .gallery3d-arrow-btn.arrow-prev {
    left: 18px !important;
}
body:not(.visualizador-body) .galeria3d-modal-frame .gallery3d-arrow-btn.arrow-next {
    right: 18px !important;
}
@media (max-width: 760px) {
    body:not(.visualizador-body) .galeria3d-modal-frame .gallery3d-collections-nav {
        top: 12px !important;
        width: calc(100% - 24px) !important;
        overflow-x: auto !important;
        justify-content: flex-start !important;
    }
    body:not(.visualizador-body) .galeria3d-modal-frame .gallery3d-nav-btn {
        padding: 8px 12px !important;
        font-size: 9px !important;
    }
    body:not(.visualizador-body) .galeria3d-modal-frame .gallery3d-arrow-btn {
        width: 38px !important;
        height: 56px !important;
        font-size: 36px !important;
    }
}


/* Galeria 3D publica: info fullscreen hud */
body:not(.visualizador-body) .galeria3d-modal-frame .gallery3d-info-toggle {
    position: absolute !important;
    right: 144px !important;
    bottom: 24px !important;
    z-index: 2147483605 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    height: 46px !important;
    padding: 0 16px !important;
    border-radius: 999px !important;
    border: 1px solid rgba(255,196,112,.58) !important;
    background: rgba(10,10,10,.72) !important;
    color: #fff2dc !important;
    font: 800 10px/1 "Montserrat", Arial, sans-serif !important;
    letter-spacing: 1.3px !important;
    pointer-events: auto !important;
    cursor: pointer !important;
    opacity: 1 !important;
    visibility: visible !important;
    box-shadow: 0 12px 30px rgba(0,0,0,.48) !important;
}
body:not(.visualizador-body) .galeria3d-modal-frame .gallery3d-info-toggle.active,
body:not(.visualizador-body) .galeria3d-modal-frame .gallery3d-info-toggle:hover {
    background: rgba(32,22,12,.86) !important;
    border-color: rgba(212,154,85,.82) !important;
}
body:not(.visualizador-body) .galeria3d-modal-frame .gallery3d-info-panel {
    position: absolute !important;
    right: clamp(62px, 7vw, 128px) !important;
    top: 50% !important;
    width: min(520px, 38vw) !important;
    max-width: calc(100% - 96px) !important;
    transform: translateY(-50%) translateX(22px) !important;
    z-index: 2147483604 !important;
    display: block !important;
    padding: 34px 42px 34px 52px !important;
    border-left: 1px solid rgba(212,154,85,.78) !important;
    background: linear-gradient(90deg, rgba(0,0,0,.72), rgba(0,0,0,.18)) !important;
    color: #f5eadb !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transition: opacity .34s ease, transform .34s ease, visibility 0s linear .34s !important;
}
body:not(.visualizador-body) .galeria3d-modal-frame .gallery3d-info-panel.open {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transform: translateY(-50%) translateX(0) !important;
    transition: opacity .34s ease, transform .34s ease, visibility 0s linear 0s !important;
}
body:not(.visualizador-body) .galeria3d-modal-frame .gallery3d-info-title {
    margin: 0 34px 14px 0 !important;
    color: #fff7ea !important;
    font: 500 clamp(34px, 3.2vw, 58px)/.98 Georgia, serif !important;
    text-shadow: 0 0 28px rgba(212,154,85,.42), 0 7px 34px #000 !important;
}
body:not(.visualizador-body) .galeria3d-modal-frame .gallery3d-info-kicker,
body:not(.visualizador-body) .galeria3d-modal-frame .gallery3d-info-rich-block span {
    color: #d49a55 !important;
    font: 800 10px/1.2 "Montserrat", Arial, sans-serif !important;
    letter-spacing: 1.4px !important;
}
body:not(.visualizador-body) .galeria3d-modal-frame .gallery3d-info-description,
body:not(.visualizador-body) .galeria3d-modal-frame .gallery3d-info-rich-block p {
    color: rgba(245,234,219,.84) !important;
    font: 500 14px/1.65 "Montserrat", Arial, sans-serif !important;
}
body:not(.visualizador-body) .galeria3d-modal-frame .gallery3d-info-close {
    position: absolute !important;
    right: 16px !important;
    top: 12px !important;
    width: 32px !important;
    height: 32px !important;
    border: 0 !important;
    background: transparent !important;
    color: rgba(255,238,214,.78) !important;
    font-size: 24px !important;
    cursor: pointer !important;
}
body:not(.visualizador-body) .galeria3d-modal-frame .gallery3d-fullscreen-toggle,
body:not(.visualizador-body) .galeria3d-modal-frame .gallery3d-hud-toggle {
    position: absolute !important;
    top: 18px !important;
    z-index: 2147483606 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    height: 38px !important;
    min-width: 58px !important;
    padding: 0 14px !important;
    border-radius: 999px !important;
    border: 1px solid rgba(176,122,63,.34) !important;
    background: rgba(0,0,0,.72) !important;
    color: rgba(246,232,210,.82) !important;
    font: 800 9px/1 "Montserrat", Arial, sans-serif !important;
    letter-spacing: 1.2px !important;
    cursor: pointer !important;
    pointer-events: auto !important;
    opacity: 1 !important;
    visibility: visible !important;
}
body:not(.visualizador-body) .galeria3d-modal-frame .gallery3d-fullscreen-toggle {
    right: 92px !important;
}
body:not(.visualizador-body) .galeria3d-modal-frame .gallery3d-hud-toggle {
    right: 24px !important;
}
body:not(.visualizador-body) .galeria3d-modal-frame .gallery3d-fullscreen-toggle:hover,
body:not(.visualizador-body) .galeria3d-modal-frame .gallery3d-hud-toggle:hover,
body:not(.visualizador-body) .galeria3d-modal-frame .gallery3d-fullscreen-toggle.active,
body:not(.visualizador-body) .galeria3d-modal-frame .gallery3d-hud-toggle.active {
    color: #050505 !important;
    background: #d49a55 !important;
}
body:not(.visualizador-body) .gallery3d-shell.gallery3d-hud-hidden .gallery3d-collections-nav,
body:not(.visualizador-body) .gallery3d-shell.gallery3d-hud-hidden .gallery3d-arrow-btn,
body:not(.visualizador-body) .gallery3d-shell.gallery3d-hud-hidden .gallery3d-light-toggle,
body:not(.visualizador-body) .gallery3d-shell.gallery3d-hud-hidden .gallery3d-altar-view-toggle,
body:not(.visualizador-body) .gallery3d-shell.gallery3d-hud-hidden .gallery3d-info-toggle,
body:not(.visualizador-body) .gallery3d-shell.gallery3d-hud-hidden .gallery3d-info-panel,
body:not(.visualizador-body) .gallery3d-shell.gallery3d-hud-hidden .gallery3d-fullscreen-toggle {
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
}
body:not(.visualizador-body) .gallery3d-shell.gallery3d-hud-hidden .gallery3d-hud-toggle {
    opacity: .78 !important;
    visibility: visible !important;
    pointer-events: auto !important;
}
@media (max-width: 760px) {
    body:not(.visualizador-body) .galeria3d-modal-frame .gallery3d-info-toggle {
        right: 74px !important;
        bottom: 76px !important;
    }
    body:not(.visualizador-body) .galeria3d-modal-frame .gallery3d-info-panel {
        left: 18px !important;
        right: 18px !important;
        width: auto !important;
        max-width: none !important;
        padding: 26px 26px 28px !important;
    }
    body:not(.visualizador-body) .galeria3d-modal-frame .gallery3d-fullscreen-toggle {
        right: 84px !important;
        top: 58px !important;
    }
    body:not(.visualizador-body) .galeria3d-modal-frame .gallery3d-hud-toggle {
        right: 18px !important;
        top: 58px !important;
    }
}


/* Galeria 3D publica: tabletas espaciales compartidas */
body:not(.visualizador-body) .galeria3d-modal-frame .gallery3d-fullscreen-toggle {
    left: 24px !important;
    right: auto !important;
    top: 18px !important;
}
body:not(.visualizador-body) .galeria3d-modal-frame .gallery3d-hud-toggle {
    left: 92px !important;
    right: auto !important;
    top: 18px !important;
}
body:not(.visualizador-body) .spatial-info-layer {
    position: absolute !important;
    inset: 0 !important;
    z-index: 2147483601 !important;
    overflow: hidden !important;
    pointer-events: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
    transition: opacity .45s ease, visibility 0s linear .45s !important;
}
body:not(.visualizador-body) .gallery3d-shell.spatial-info-open .spatial-info-layer,
body:not(.visualizador-body).spatial-info-force .spatial-info-layer {
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
    transition: opacity .45s ease, visibility 0s !important;
}
body:not(.visualizador-body) .spatial-info-lines {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    overflow: visible !important;
}
body:not(.visualizador-body) .spatial-info-line {
    fill: none !important;
    stroke: rgba(224,164,88,.78) !important;
    stroke-width: 1.15 !important;
    vector-effect: non-scaling-stroke !important;
    stroke-dasharray: none !important;
    filter: drop-shadow(0 0 5px rgba(222,164,92,.38)) !important;
}
body:not(.visualizador-body) .spatial-info-dot-outer {
    fill: rgba(8,7,6,.82) !important;
    stroke: rgba(232,178,108,.8) !important;
    stroke-width: 1 !important;
}
body:not(.visualizador-body) .spatial-info-dot-inner {
    fill: #e0a458 !important;
    filter: drop-shadow(0 0 7px rgba(224,164,88,.9)) !important;
}
body:not(.visualizador-body) .spatial-callout {
    position: absolute !important;
    width: clamp(230px, 20vw, 340px) !important;
    min-height: 78px !important;
    padding: 13px 15px 14px 18px !important;
    border-left: 1px solid rgba(224,164,88,.78) !important;
    background: linear-gradient(90deg, rgba(4,4,4,.68), rgba(4,4,4,.22)) !important;
    color: rgba(246,232,210,.88) !important;
    opacity: 0 !important;
    visibility: hidden !important;
    transform: perspective(800px) translate3d(var(--enter-x,-20px),10px,0) rotateY(var(--tilt,4deg)) !important;
    transition: opacity .36s ease, transform .36s ease, visibility 0s linear .36s !important;
    box-shadow: 0 16px 48px rgba(0,0,0,.24), inset 16px 0 28px rgba(224,164,88,.04) !important;
    backdrop-filter: blur(2px) !important;
}
body:not(.visualizador-body) .gallery3d-shell.spatial-info-open .spatial-callout,
body:not(.visualizador-body).spatial-info-force .spatial-callout {
    opacity: 1 !important;
    visibility: visible !important;
    transform: perspective(800px) translate3d(0,0,0) rotateY(var(--tilt,4deg)) !important;
    transition: opacity .36s ease, transform .36s ease, visibility 0s !important;
}
body:not(.visualizador-body) .spatial-callout-kicker {
    display: block !important;
    margin-bottom: 7px !important;
    color: #d49a55 !important;
    font: 800 9px/1 "Montserrat", Arial, sans-serif !important;
    letter-spacing: 1.3px !important;
    text-transform: uppercase !important;
}
body:not(.visualizador-body) .spatial-callout-title {
    display: block !important;
    margin-bottom: 5px !important;
    color: #fff4df !important;
    font: 600 17px/1.15 "Cormorant Garamond", Georgia, serif !important;
    letter-spacing: .4px !important;
}
body:not(.visualizador-body) .spatial-callout-copy {
    margin: 0 !important;
    color: rgba(239,233,224,.78) !important;
    font: 500 10px/1.5 "Montserrat", Arial, sans-serif !important;
}
body:not(.visualizador-body) .spatial-callout-symbol { left: clamp(34px, 7vw, 150px) !important; top: 19% !important; --tilt: -5deg; --enter-x: -22px; }
body:not(.visualizador-body) .spatial-callout-material { right: clamp(36px, 8vw, 170px) !important; top: 29% !important; --tilt: 5deg; --enter-x: 22px; }
body:not(.visualizador-body) .spatial-callout-ritual { left: clamp(48px, 9vw, 170px) !important; bottom: 14% !important; --tilt: 4deg; --enter-x: -22px; }
body:not(.visualizador-body) .spatial-callout-tray { right: clamp(42px, 9vw, 180px) !important; bottom: 17% !important; --tilt: -4deg; --enter-x: 22px; }
body:not(.visualizador-body) .gallery3d-shell.spatial-info-open::after {
    content: "" !important;
    position: absolute !important;
    inset: 0 !important;
    z-index: 2147483599 !important;
    pointer-events: none !important;
    background: radial-gradient(ellipse 46% 56% at 50% 50%, transparent 0%, rgba(0,0,0,.04) 55%, rgba(0,0,0,.42) 100%) !important;
}
body:not(.visualizador-body) .gallery3d-shell.spatial-info-open .gallery3d-info-panel {
    display: none !important;
}
body:not(.visualizador-body) .gallery3d-shell.gallery3d-hud-hidden .spatial-info-layer,
body:not(.visualizador-body) .gallery3d-shell.gallery3d-hud-hidden .gallery3d-shell::after {
    opacity: 0 !important;
    visibility: hidden !important;
}
@media (max-width: 900px) {
    body:not(.visualizador-body) .spatial-callout { width: min(230px, 42vw) !important; padding: 11px 12px 11px 15px !important; min-height: 76px !important; }
    body:not(.visualizador-body) .spatial-callout-title { font-size: 14px !important; }
    body:not(.visualizador-body) .spatial-callout-copy { font-size: 9px !important; line-height: 1.45 !important; }
    body:not(.visualizador-body) .spatial-callout-symbol { left: 12px !important; top: 17% !important; }
    body:not(.visualizador-body) .spatial-callout-material { right: 12px !important; top: 26% !important; }
    body:not(.visualizador-body) .spatial-callout-ritual { left: 18px !important; bottom: 11% !important; }
    body:not(.visualizador-body) .spatial-callout-tray { right: 18px !important; bottom: 10% !important; }
}


/* Galeria 3D publica: separar info de base altares */
body:not(.visualizador-body).category-altares .galeria3d-modal-frame .gallery3d-info-toggle {
    right: 214px !important;
}
@media (max-width: 760px) {
    body:not(.visualizador-body).category-altares .galeria3d-modal-frame .gallery3d-info-toggle {
        right: 18px !important;
        bottom: 128px !important;
    }
}

/* v472 final: prioridad sobre reglas antiguas de los modales. */
@media (min-width: 901px) {
    .platonic-modal.active .platonic-modal-content {
        position: fixed !important;
        inset: 0 !important;
        width: 100vw !important;
        height: 100vh !important;
        display: block !important;
        border: 0 !important;
        background: #000 !important;
        box-shadow: none !important;
        overflow: hidden !important;
    }
    .platonic-modal.active .platonic-modal-stage {
        position: absolute !important;
        inset: 0 !important;
        min-height: 100vh !important;
        border: 0 !important;
        background: transparent !important;
    }
    .platonic-modal.active .platonic-modal-canvas {
        position: absolute !important;
        inset: 0 auto 0 0 !important;
        width: 72vw !important;
        height: 100vh !important;
        filter:
            brightness(1.35)
            saturate(1.22)
            drop-shadow(0 0 8px rgba(255,231,181,.95))
            drop-shadow(0 0 28px rgba(218,160,74,.76))
            drop-shadow(0 0 74px rgba(184,112,39,.36)) !important;
    }
    .platonic-modal.active .platonic-modal-info {
        position: absolute !important;
        z-index: 3 !important;
        right: clamp(48px, 7vw, 120px) !important;
        top: 50% !important;
        width: min(32vw, 440px) !important;
        padding: 0 !important;
        transform: translateY(-50%) !important;
        text-shadow: 0 2px 18px #000, 0 0 40px rgba(0,0,0,.95) !important;
    }
    .platonic-modal.active .platonic-modal-info h2 {
        font-size: clamp(54px, 6vw, 92px) !important;
        color: #fff8e9 !important;
    }
    .platonic-modal.active .platonic-drag-hint {
        left: 36vw !important;
        bottom: 34px !important;
    }
    .platonic-modal.active .platonic-drag-hint::after {
        content: " · RUEDA PARA ZOOM";
    }
}

@media (max-width: 700px) {
    .sidebar > .platonic-strip-mobile {
        display: grid !important;
        grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
        width: 100% !important;
        min-height: 62px !important;
        height: 62px !important;
        margin: 10px 0 14px !important;
        overflow: hidden !important;
        border-top: 1px solid rgba(176,122,63,.18) !important;
        border-bottom: 1px solid rgba(176,122,63,.18) !important;
        background: rgba(0,0,0,.35) !important;
    }
    .sidebar > .platonic-strip-mobile .platonic-value {
        display: grid !important;
        place-items: center !important;
        width: auto !important;
        min-width: 0 !important;
        min-height: 60px !important;
        height: 60px !important;
        padding: 3px !important;
        border-right: 1px solid rgba(176,122,63,.12) !important;
    }
    .sidebar > .platonic-strip-mobile .platonic-value > div {
        display: none !important;
    }
    .sidebar > .platonic-strip-mobile .platonic-model {
        width: 44px !important;
        height: 44px !important;
        max-width: 100% !important;
    }
    .sidebar > .platonic-strip-mobile + .menu {
        margin-top: 15px !important;
    }
}

/* v472: visor cosmico en PC y tira compacta en celular. */
.platonic-universe {
    position: absolute;
    inset: 0;
    z-index: 0;
    overflow: hidden;
    pointer-events: none;
    background:
        radial-gradient(circle at 42% 48%, rgba(218,160,74,.13), transparent 19%),
        radial-gradient(circle at 24% 25%, rgba(83,67,138,.10), transparent 28%),
        radial-gradient(circle at 76% 72%, rgba(99,53,112,.08), transparent 32%),
        #000;
    transform-origin: center;
}
.platonic-universe::before,
.platonic-universe::after {
    content: "";
    position: absolute;
    inset: -18%;
    border-radius: 50%;
    background: conic-gradient(from 40deg, transparent, rgba(218,160,74,.07), transparent 24%, rgba(88,64,132,.06), transparent 54%);
    filter: blur(42px);
    transform: rotate(var(--orbit-angle, 0rad)) scale(var(--orbit-scale, 1));
    animation: platonic-nebula-drift 24s linear infinite;
}
.platonic-universe::after {
    animation-direction: reverse;
    animation-duration: 34s;
    opacity: .65;
}
.platonic-universe i {
    position: absolute;
    left: var(--x);
    top: var(--y);
    width: var(--size);
    height: var(--size);
    border-radius: 50%;
    background: #f4d49a;
    box-shadow: 0 0 7px rgba(244,212,154,.9), 0 0 18px rgba(208,160,99,.48);
    opacity: .15;
    transform: rotate(var(--orbit-angle, 0rad)) scale(var(--orbit-scale, 1));
    animation: platonic-star-float var(--duration) ease-in-out var(--delay) infinite alternate;
}
@keyframes platonic-star-float {
    0% { transform: rotate(var(--orbit-angle, 0rad)) scale(calc(var(--orbit-scale, 1) * .55)); opacity: .12; }
    45% { opacity: .8; }
    100% { transform: rotate(var(--orbit-angle, 0rad)) translate3d(var(--drift-x),var(--drift-y),0) scale(calc(var(--orbit-scale, 1) * 1.35)); opacity: .28; }
}
@keyframes platonic-nebula-drift {
    0% { transform: rotate(var(--orbit-angle, 0rad)) scale(var(--orbit-scale, 1)); }
    100% { transform: rotate(calc(var(--orbit-angle, 0rad) + 360deg)) scale(calc(var(--orbit-scale, 1) * 1.08)); }
}
.platonic-modal-stage,
.platonic-modal-info,
.platonic-modal-close {
    z-index: 2;
}
.platonic-modal-canvas {
    filter:
        brightness(1.3)
        saturate(1.18)
        drop-shadow(0 0 7px rgba(255,231,181,.9))
        drop-shadow(0 0 22px rgba(218,160,74,.72))
        drop-shadow(0 0 60px rgba(184,112,39,.32));
}

@media (min-width: 901px) {
    .platonic-modal-content {
        position: fixed;
        inset: 0;
        width: 100vw;
        height: 100vh;
        display: block;
        border: 0;
        background: #000;
        box-shadow: none;
        overflow: hidden;
    }
    .platonic-modal-stage {
        position: absolute;
        inset: 0;
        border: 0;
        background: transparent;
    }
    .platonic-modal-canvas {
        position: absolute;
        inset: 0;
        width: 72vw;
        height: 100vh;
    }
    .platonic-modal-info {
        position: absolute;
        z-index: 3;
        right: clamp(48px, 7vw, 120px);
        top: 50%;
        width: min(36vw, 520px);
        padding: 0;
        transform: translateY(-50%);
        text-shadow: 0 2px 18px #000, 0 0 40px rgba(0,0,0,.95);
    }
    .platonic-modal-info h2 {
        font-size: clamp(46px, 4.8vw, 74px);
        overflow-wrap: anywhere;
        color: #fff8e9;
        text-shadow: 0 0 20px rgba(255,229,179,.12);
    }
    .platonic-modal-element {
        color: #e3ad55;
        font-size: 12px;
    }
    .platonic-modal-geometry {
        color: #e4d6bf;
        font-size: 13px;
    }
    .platonic-modal-meaning {
        color: #b5aa9b;
        font-size: 14px;
    }
    .platonic-drag-hint {
        left: 36vw;
        bottom: 34px;
    }
    .platonic-modal-close {
        position: fixed;
        top: 24px;
        right: 26px;
        border-color: rgba(224,169,91,.72);
        background: rgba(0,0,0,.3);
        box-shadow: 0 0 26px rgba(208,160,99,.2);
    }
}

@media (max-width: 700px) {
    .sidebar {
        padding-left: 18px !important;
        padding-right: 18px !important;
    }
    .sidebar > .platonic-strip-mobile {
        display: grid !important;
        grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
        width: 100% !important;
        min-height: 62px !important;
        height: 62px !important;
        margin: 10px 0 14px !important;
        overflow: hidden !important;
        border-top: 1px solid rgba(176,122,63,.18);
        border-bottom: 1px solid rgba(176,122,63,.18);
        background: rgba(0,0,0,.35);
    }
    .sidebar > .platonic-strip-mobile .platonic-value {
        display: grid !important;
        place-items: center !important;
        width: auto !important;
        min-width: 0 !important;
        min-height: 60px !important;
        height: 60px !important;
        padding: 3px !important;
        border-right: 1px solid rgba(176,122,63,.12);
    }
    .sidebar > .platonic-strip-mobile .platonic-value > div {
        display: none !important;
    }
    .sidebar > .platonic-strip-mobile .platonic-model {
        width: 44px !important;
        height: 44px !important;
        max-width: 100% !important;
        filter: drop-shadow(0 0 7px rgba(208,160,99,.35));
    }
    .sidebar > .platonic-strip-mobile + .menu {
        margin-top: 15px !important;
    }
    .platonic-universe i:nth-of-type(n+25) {
        display: none;
    }
    .platonic-universe::before,
    .platonic-universe::after {
        opacity: .35;
        filter: blur(55px);
    }
    .platonic-modal-canvas {
        filter:
            brightness(1.18)
            drop-shadow(0 0 10px rgba(218,160,74,.56))
            drop-shadow(0 0 28px rgba(184,112,39,.22));
    }
    .platonic-modal-content {
        grid-template-rows: minmax(0, 52vh) auto;
    }
    .platonic-modal-stage {
        min-height: 52vh;
    }
    .platonic-modal-info {
        padding: 24px 22px 34px;
    }
    .platonic-modal-info h2 {
        font-size: 38px;
    }
    .platonic-modal-geometry,
    .platonic-modal-meaning {
        font-size: 11px;
        line-height: 1.65;
    }
}


/* Galeria 3D publica: iconos y flechas redondas */
body:not(.visualizador-body) .galeria3d-modal-frame .gallery3d-fullscreen-toggle,
body:not(.visualizador-body) .galeria3d-modal-frame .gallery3d-hud-toggle {
    width: 42px !important;
    min-width: 42px !important;
    height: 42px !important;
    padding: 0 !important;
    border-radius: 50% !important;
    font-size: 0 !important;
}
body:not(.visualizador-body) .galeria3d-modal-frame .gallery3d-fullscreen-toggle::before {
    content: "" !important;
    width: 18px !important;
    height: 18px !important;
    display: block !important;
    background:
        linear-gradient(#f6e8d2,#f6e8d2) left top / 8px 2px no-repeat,
        linear-gradient(#f6e8d2,#f6e8d2) left top / 2px 8px no-repeat,
        linear-gradient(#f6e8d2,#f6e8d2) right top / 8px 2px no-repeat,
        linear-gradient(#f6e8d2,#f6e8d2) right top / 2px 8px no-repeat,
        linear-gradient(#f6e8d2,#f6e8d2) left bottom / 8px 2px no-repeat,
        linear-gradient(#f6e8d2,#f6e8d2) left bottom / 2px 8px no-repeat,
        linear-gradient(#f6e8d2,#f6e8d2) right bottom / 8px 2px no-repeat,
        linear-gradient(#f6e8d2,#f6e8d2) right bottom / 2px 8px no-repeat !important;
    filter: drop-shadow(0 0 7px rgba(212,154,85,.35)) !important;
}
body:not(.visualizador-body) .galeria3d-modal-frame .gallery3d-fullscreen-toggle.active::before,
body:not(.visualizador-body) .galeria3d-modal-frame .gallery3d-fullscreen-toggle:hover::before {
    background:
        linear-gradient(#050505,#050505) left top / 8px 2px no-repeat,
        linear-gradient(#050505,#050505) left top / 2px 8px no-repeat,
        linear-gradient(#050505,#050505) right top / 8px 2px no-repeat,
        linear-gradient(#050505,#050505) right top / 2px 8px no-repeat,
        linear-gradient(#050505,#050505) left bottom / 8px 2px no-repeat,
        linear-gradient(#050505,#050505) left bottom / 2px 8px no-repeat,
        linear-gradient(#050505,#050505) right bottom / 8px 2px no-repeat,
        linear-gradient(#050505,#050505) right bottom / 2px 8px no-repeat !important;
}
body:not(.visualizador-body) .galeria3d-modal-frame .gallery3d-hud-toggle::before {
    content: "" !important;
    width: 22px !important;
    height: 14px !important;
    display: block !important;
    border: 2px solid #f6e8d2 !important;
    border-radius: 50% / 58% !important;
    box-sizing: border-box !important;
    filter: drop-shadow(0 0 7px rgba(212,154,85,.35)) !important;
}
body:not(.visualizador-body) .galeria3d-modal-frame .gallery3d-hud-toggle::after {
    content: "" !important;
    position: absolute !important;
    width: 6px !important;
    height: 6px !important;
    border-radius: 50% !important;
    background: #f6e8d2 !important;
}
body:not(.visualizador-body) .galeria3d-modal-frame .gallery3d-hud-toggle.active::before,
body:not(.visualizador-body) .galeria3d-modal-frame .gallery3d-hud-toggle:hover::before {
    border-color: #050505 !important;
}
body:not(.visualizador-body) .galeria3d-modal-frame .gallery3d-hud-toggle.active::after,
body:not(.visualizador-body) .galeria3d-modal-frame .gallery3d-hud-toggle:hover::after {
    background: #050505 !important;
}
body:not(.visualizador-body) .gallery3d-shell.gallery3d-hud-hidden .gallery3d-hud-toggle::before {
    border-color: #f6e8d2 !important;
}
body:not(.visualizador-body) .gallery3d-shell.gallery3d-hud-hidden .gallery3d-hud-toggle::after {
    width: 24px !important;
    height: 2px !important;
    border-radius: 2px !important;
    background: #f6e8d2 !important;
    transform: rotate(-35deg) !important;
}
body:not(.visualizador-body) .galeria3d-modal-frame .gallery3d-arrow-btn {
    width: 54px !important;
    height: 54px !important;
    border-radius: 50% !important;
    font-size: 34px !important;
    padding: 0 0 4px 0 !important;
    background: rgba(0,0,0,.54) !important;
}
body:not(.visualizador-body) .galeria3d-modal-frame .gallery3d-arrow-btn.arrow-prev {
    left: 20px !important;
}
body:not(.visualizador-body) .galeria3d-modal-frame .gallery3d-arrow-btn.arrow-next {
    right: 20px !important;
}
@media (max-width: 760px) {
    body:not(.visualizador-body) .galeria3d-modal-frame .gallery3d-fullscreen-toggle,
    body:not(.visualizador-body) .galeria3d-modal-frame .gallery3d-hud-toggle {
        width: 40px !important;
        min-width: 40px !important;
        height: 40px !important;
    }
    body:not(.visualizador-body) .galeria3d-modal-frame .gallery3d-arrow-btn {
        width: 42px !important;
        height: 42px !important;
        font-size: 28px !important;
        padding-bottom: 3px !important;
    }
}


/* Galeria 3D publica: ajustar tabletas y altar pared */
body:not(.visualizador-body) .spatial-callout {
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    box-sizing: border-box !important;
    display: block !important;
    overflow: visible !important;
}
body:not(.visualizador-body) .spatial-callout > * {
    position: static !important;
}
body:not(.visualizador-body) .spatial-callout-copy {
    display: block !important;
    max-width: 100% !important;
}
body:not(.visualizador-body) .spatial-callout-wall {
    right: clamp(38px, 8vw, 170px) !important;
    bottom: 14% !important;
    --tilt: -4deg;
    --enter-x: 22px;
}
body:not(.category-altares) .spatial-wall-only,
.visualizador-body:not(.category-altares) .spatial-wall-only {
    display: none !important;
}
@media (max-width: 900px) {
    body:not(.visualizador-body) .spatial-callout {
        min-height: 0 !important;
        height: auto !important;
    }
    body:not(.visualizador-body) .spatial-callout-wall {
        right: 18px !important;
        bottom: 8% !important;
    }
}


/* Galeria 3D publica: corregir espacio y conexion pared */
body:not(.visualizador-body) .spatial-callout {
    display: inline-block !important;
    width: auto !important;
    min-width: 255px !important;
    max-width: min(340px, 32vw) !important;
    height: auto !important;
    min-height: 0 !important;
    padding: 11px 14px 12px 16px !important;
    line-height: 1.35 !important;
    overflow: visible !important;
}
body:not(.visualizador-body) .spatial-callout-copy {
    display: block !important;
    margin: 0 !important;
    max-width: 100% !important;
}
body:not(.visualizador-body) .spatial-callout-title {
    margin-bottom: 4px !important;
}
body:not(.visualizador-body) .spatial-callout-kicker {
    margin-bottom: 5px !important;
}
body:not(.visualizador-body) .spatial-callout-wall {
    max-width: min(360px, 33vw) !important;
}
body.category-altares .spatial-wall-only,
.visualizador-body.category-altares .spatial-wall-only {
    display: block !important;
}
body.category-altares .spatial-info-lines .spatial-wall-only,
.visualizador-body.category-altares .spatial-info-lines .spatial-wall-only {
    display: inline !important;
}
@media (max-width: 900px) {
    body:not(.visualizador-body) .spatial-callout {
        min-width: 210px !important;
        max-width: min(260px, 44vw) !important;
        padding: 10px 12px 11px 14px !important;
    }
}


/* Galeria 3D publica: visibilidad y tamano final tabletas */
body:not(.visualizador-body) .spatial-callout {
    right: auto !important;
    bottom: auto !important;
    width: fit-content !important;
    min-width: 0 !important;
    max-width: min(330px, 32vw) !important;
    height: auto !important;
    min-height: 0 !important;
    padding: 10px 14px 11px 16px !important;
    overflow: visible !important;
}
body:not(.visualizador-body) .spatial-callout-copy {
    max-width: min(300px, 30vw) !important;
    white-space: normal !important;
}
body:not(.visualizador-body) .spatial-callout-kicker {
    margin-bottom: 4px !important;
}
body:not(.visualizador-body) .spatial-callout-title {
    margin-bottom: 4px !important;
}
body:not(.category-portasahumerios) .spatial-tray-only,
.visualizador-body:not(.category-portasahumerios) .spatial-tray-only,
body:not(.category-altares) .spatial-wall-only,
.visualizador-body:not(.category-altares) .spatial-wall-only {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
}
body.category-portasahumerios article.spatial-tray-only,
.visualizador-body.category-portasahumerios article.spatial-tray-only,
body.category-altares article.spatial-wall-only,
.visualizador-body.category-altares article.spatial-wall-only {
    display: inline-block !important;
    visibility: visible !important;
}
body.category-portasahumerios .spatial-info-lines .spatial-tray-only,
.visualizador-body.category-portasahumerios .spatial-info-lines .spatial-tray-only,
body.category-altares .spatial-info-lines .spatial-wall-only,
.visualizador-body.category-altares .spatial-info-lines .spatial-wall-only {
    display: inline !important;
    visibility: visible !important;
}
@media (max-width: 900px) {
    body:not(.visualizador-body) .spatial-callout {
        max-width: min(255px, 44vw) !important;
        padding: 9px 12px 10px 14px !important;
    }
    body:not(.visualizador-body) .spatial-callout-copy {
        max-width: min(230px, 42vw) !important;
    }
}


/* Galeria 3D publica: cierre definitivo tabletas */
body.category-altares .spatial-tray-only,
.visualizador-body.category-altares .spatial-tray-only,
body.category-portavelas .spatial-tray-only,
.visualizador-body.category-portavelas .spatial-tray-only,
body.category-portavelas .spatial-wall-only,
.visualizador-body.category-portavelas .spatial-wall-only,
body.category-portasahumerios .spatial-wall-only,
.visualizador-body.category-portasahumerios .spatial-wall-only {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
}
body:not(.visualizador-body) .spatial-callout {
    right: auto !important;
    bottom: auto !important;
    width: fit-content !important;
    min-width: 0 !important;
    max-width: 315px !important;
    height: auto !important;
    min-height: 0 !important;
}
body:not(.visualizador-body) .spatial-callout-copy {
    max-width: 285px !important;
}


/* Galeria 3D publica: HUD movil simplificado v402 */
@media (max-width: 760px), (pointer: coarse) {
    body:not(.visualizador-body) .galeria3d-modal-frame .gallery3d-info-toggle,
    body:not(.visualizador-body) .galeria3d-modal-frame .gallery3d-info-panel,
    body:not(.visualizador-body) .galeria3d-modal-frame .gallery3d-hud-toggle,
    body:not(.visualizador-body) .galeria3d-modal-frame .gallery3d-altar-view-toggle,
    body:not(.visualizador-body) .galeria3d-modal-frame .spatial-info-layer {
        display: none !important;
        opacity: 0 !important;
        visibility: hidden !important;
        pointer-events: none !important;
    }

    body:not(.visualizador-body) .galeria3d-modal-frame .gallery3d-fullscreen-toggle {
        position: absolute !important;
        left: 12px !important;
        right: auto !important;
        top: 12px !important;
        z-index: 2147483608 !important;
        display: inline-flex !important;
        width: 42px !important;
        min-width: 42px !important;
        height: 42px !important;
        padding: 0 !important;
        border-radius: 50% !important;
        opacity: 1 !important;
        visibility: visible !important;
        pointer-events: auto !important;
    }

    body:not(.visualizador-body) .galeria3d-modal-frame .gallery3d-collections-nav {
        position: absolute !important;
        left: 64px !important;
        right: 10px !important;
        top: 12px !important;
        width: auto !important;
        max-width: none !important;
        transform: none !important;
        z-index: 2147483607 !important;
        display: flex !important;
        justify-content: center !important;
        align-items: center !important;
        gap: 2px !important;
        overflow: hidden !important;
        padding: 4px !important;
        min-height: 42px !important;
        box-sizing: border-box !important;
        border-radius: 999px !important;
    }

    body:not(.visualizador-body) .galeria3d-modal-frame .gallery3d-nav-btn {
        flex: 1 1 0 !important;
        min-width: 0 !important;
        max-width: none !important;
        padding: 8px 5px !important;
        font-size: clamp(7px, 2.15vw, 9px) !important;
        line-height: 1 !important;
        letter-spacing: .8px !important;
        text-align: center !important;
        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
    }

    body:not(.visualizador-body) .galeria3d-modal-frame .gallery3d-light-toggle {
        right: 14px !important;
        bottom: 16px !important;
        width: 44px !important;
        min-width: 44px !important;
        height: 44px !important;
        min-height: 44px !important;
        z-index: 2147483607 !important;
    }

    body:not(.visualizador-body) .galeria3d-modal-frame .gallery3d-arrow-btn {
        width: 42px !important;
        height: 42px !important;
        border-radius: 50% !important;
        font-size: 28px !important;
        padding: 0 0 3px 0 !important;
        top: 52% !important;
        z-index: 2147483607 !important;
    }

    body:not(.visualizador-body) .galeria3d-modal-frame .gallery3d-arrow-btn.arrow-prev {
        left: 10px !important;
    }

    body:not(.visualizador-body) .galeria3d-modal-frame .gallery3d-arrow-btn.arrow-next {
        right: 10px !important;
    }

    body:not(.visualizador-body) .gallery3d-shell.gallery3d-hud-hidden .gallery3d-collections-nav,
    body:not(.visualizador-body) .gallery3d-shell.gallery3d-hud-hidden .gallery3d-arrow-btn,
    body:not(.visualizador-body) .gallery3d-shell.gallery3d-hud-hidden .gallery3d-light-toggle,
    body:not(.visualizador-body) .gallery3d-shell.gallery3d-hud-hidden .gallery3d-fullscreen-toggle {
        opacity: 1 !important;
        visibility: visible !important;
        pointer-events: auto !important;
    }
}

/* Mobile system: unified viewport, safe areas and overlay hierarchy. */
@media (max-width: 900px), (pointer: coarse) {
    :root {
        --mobile-safe-top: max(10px, env(safe-area-inset-top));
        --mobile-safe-right: max(10px, env(safe-area-inset-right));
        --mobile-safe-bottom: max(10px, env(safe-area-inset-bottom));
        --mobile-safe-left: max(10px, env(safe-area-inset-left));
        --mobile-overlay-z: 2147483000;
    }

    html,
    body {
        width: 100%;
        max-width: 100%;
        min-height: 100%;
        overflow-x: clip !important;
        overscroll-behavior-x: none;
    }

    .page {
        display: block !important;
        width: 100% !important;
        min-height: 100dvh !important;
    }

    .sidebar {
        position: relative !important;
        inset: auto !important;
        width: 100% !important;
        height: 100dvh !important;
        min-height: 100dvh !important;
        padding: var(--mobile-safe-top) 24px calc(58px + var(--mobile-safe-bottom)) !important;
        overflow-y: auto !important;
        overflow-x: hidden !important;
        overscroll-behavior: contain;
        scrollbar-width: thin;
    }

    .logo {
        padding-bottom: 14px !important;
    }

    .logo-mark {
        width: 64px !important;
        height: 64px !important;
        margin-bottom: 10px !important;
        font-size: 32px !important;
    }

    .logo h1 {
        font-size: clamp(27px, 9vw, 38px) !important;
        letter-spacing: clamp(5px, 2vw, 9px) !important;
    }

    .logo p {
        margin-top: 4px !important;
        font-size: 10px !important;
        letter-spacing: 1.5px !important;
    }

    .menu,
    .flame-menu {
        margin-top: 12px !important;
        gap: 2px !important;
    }

    .menu a,
    .flame-menu a {
        min-height: 44px !important;
        padding: 6px 46px 6px 22px !important;
        font-size: 12px !important;
        line-height: 1.25 !important;
        transform: none !important;
    }

    .side-bottom {
        position: static !important;
        margin-top: 18px !important;
        padding-bottom: 6px !important;
        font-size: 9px !important;
    }

    .floating-cart {
        top: calc(var(--mobile-safe-top) + 4px) !important;
        right: var(--mobile-safe-right) !important;
        min-width: 78px !important;
        min-height: 44px !important;
        z-index: 120 !important;
    }

    .social-fixed-ritual {
        right: var(--mobile-safe-right) !important;
        bottom: calc(var(--mobile-safe-bottom) + 18px) !important;
        gap: 2px !important;
        z-index: 110 !important;
    }

    .social-fixed-ritual a {
        width: 42px !important;
        height: 42px !important;
    }

    .social-fixed-ritual img {
        width: 26px !important;
        height: 26px !important;
    }

    .version-tag {
        left: 6px !important;
        right: auto !important;
        bottom: max(3px, env(safe-area-inset-bottom)) !important;
        max-width: calc(100vw - 12px) !important;
        font-size: 7px !important;
        letter-spacing: 1.2px !important;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    body:has([class*="modal"].active) {
        overflow: hidden !important;
    }

    body:has([class*="modal"].active) .sidebar,
    body:has([class*="modal"].active) .floating-cart,
    body:has([class*="modal"].active) .social-fixed-ritual,
    body:has([class*="modal"].active) .version-tag {
        opacity: 0 !important;
        visibility: hidden !important;
        pointer-events: none !important;
    }

    [class*="modal"].active {
        z-index: var(--mobile-overlay-z) !important;
    }

    .product-modal,
    .image-modal,
    .collection-zoom-modal,
    .about-modal,
    .process-video-modal,
    .simple-info-modal,
    .info-modal-fixed,
    .cart-modal {
        padding:
            var(--mobile-safe-top)
            var(--mobile-safe-right)
            var(--mobile-safe-bottom)
            var(--mobile-safe-left) !important;
        align-items: center !important;
        justify-content: center !important;
        overflow: hidden !important;
    }

    .modal-content,
    .image-modal-content,
    .collection-zoom-content,
    .about-modal-content,
    .process-video-content,
    .simple-info-content,
    .info-content,
    .cart-modal-content {
        width: 100% !important;
        max-width: 680px !important;
        height: auto !important;
        max-height: calc(100dvh - var(--mobile-safe-top) - var(--mobile-safe-bottom)) !important;
        margin: 0 !important;
        padding: 54px 18px calc(20px + var(--mobile-safe-bottom)) !important;
        overflow-y: auto !important;
        overflow-x: hidden !important;
        overscroll-behavior: contain;
        scrollbar-gutter: stable;
    }

    .modal-close,
    .image-modal-close,
    .collection-zoom-close,
    .about-modal-close,
    .process-video-close,
    .simple-info-close,
    .info-close-fixed,
    .cart-modal-close,
    .galeria3d-modal-close {
        width: 44px !important;
        height: 44px !important;
        min-width: 44px !important;
        min-height: 44px !important;
        top: max(8px, env(safe-area-inset-top)) !important;
        right: max(8px, env(safe-area-inset-right)) !important;
    }

    .about-card-visual {
        min-height: 120px !important;
        padding-bottom: 12px !important;
    }

    .about-modal-logo {
        width: min(150px, 44vw) !important;
    }

    .about-modal-text h2,
    .process-video-text h2,
    .info-content h2,
    .simple-info-content h2 {
        font-size: clamp(28px, 9vw, 38px) !important;
        line-height: 1.04 !important;
    }

    .contact-red-row,
    .web-red-row,
    .cart-order-channel,
    .cart-buy-button,
    .cart-step,
    .cart-line-step {
        min-height: 44px !important;
    }

    .collection-zoom-content {
        max-width: none !important;
        border-left: 0 !important;
        border-right: 0 !important;
    }

    .collection-zoom-products {
        padding-bottom: calc(20px + var(--mobile-safe-bottom)) !important;
    }

    .collection-zoom-product-card .cart-control {
        min-height: 44px !important;
    }

    .cart-modal-content {
        max-height: calc(100dvh - var(--mobile-safe-top) - var(--mobile-safe-bottom)) !important;
        padding-bottom: calc(28px + var(--mobile-safe-bottom)) !important;
    }

    .cart-modal-body {
        max-height: min(var(--mobile-cart-list-height, 38dvh), 38dvh) !important;
    }

    .cart-buy-button {
        margin-bottom: 0 !important;
    }

    .galeria3d-modal {
        padding: 0 !important;
    }

    .galeria3d-modal-frame {
        width: 100vw !important;
        height: 100dvh !important;
        max-width: none !important;
        max-height: none !important;
        border: 0 !important;
        border-radius: 0 !important;
    }

    .galeria3d-modal-close {
        z-index: 2147483640 !important;
    }

    body:not(.visualizador-body) .galeria3d-modal-frame .gallery3d-fullscreen-toggle {
        left: var(--mobile-safe-left) !important;
        top: var(--mobile-safe-top) !important;
    }

    body:not(.visualizador-body) .galeria3d-modal-frame .gallery3d-collections-nav {
        left: calc(var(--mobile-safe-left) + 52px) !important;
        right: calc(var(--mobile-safe-right) + 52px) !important;
        top: var(--mobile-safe-top) !important;
    }

    body:not(.visualizador-body) .galeria3d-modal-frame .gallery3d-light-toggle {
        right: var(--mobile-safe-right) !important;
        bottom: calc(var(--mobile-safe-bottom) + 6px) !important;
    }

    body:not(.visualizador-body) .galeria3d-modal-frame .gallery3d-product-action {
        left: var(--mobile-safe-left) !important;
        right: calc(var(--mobile-safe-right) + 54px) !important;
        bottom: calc(var(--mobile-safe-bottom) + 6px) !important;
    }
}

@media (max-height: 700px) and (max-width: 900px), (max-height: 500px) and (pointer: coarse) {
    .sidebar {
        padding-top: 6px !important;
    }

    .logo-mark {
        width: 50px !important;
        height: 50px !important;
        margin-bottom: 4px !important;
        font-size: 26px !important;
    }

    .logo h1 {
        font-size: 27px !important;
    }

    .logo p {
        display: none !important;
    }

    .menu,
    .flame-menu {
        margin-top: 4px !important;
    }

    .menu a,
    .flame-menu a {
        min-height: 40px !important;
        padding-top: 4px !important;
        padding-bottom: 4px !important;
    }

    .side-bottom {
        margin-top: 8px !important;
    }

    .modal-content,
    .image-modal-content,
    .collection-zoom-content,
    .about-modal-content,
    .process-video-content,
    .simple-info-content,
    .info-content,
    .cart-modal-content {
        padding-top: 48px !important;
    }
}

.mobile-back-exit-prompt{
    position:fixed;
    left:50%;
    bottom:max(22px, env(safe-area-inset-bottom));
    z-index:2147483647;
    max-width:calc(100vw - 32px);
    padding:11px 16px;
    border:1px solid rgba(255,255,255,.2);
    border-radius:999px;
    background:rgba(8,8,8,.96);
    color:#f3eee5;
    box-shadow:0 12px 34px rgba(0,0,0,.48);
    font-size:12px;
    letter-spacing:.35px;
    text-align:center;
    opacity:0;
    pointer-events:none;
    transform:translate(-50%, 14px);
    transition:opacity .18s ease, transform .18s ease;
}
.mobile-back-exit-prompt.visible{
    opacity:1;
    transform:translate(-50%, 0);
}


/* Fondo unificado para todas las ventanas superpuestas */
.modal-backdrop,
.cart-modal-backdrop,
.image-modal-backdrop,
.collection-zoom-backdrop,
.about-modal-backdrop,
.about-modal.light-active .about-modal-backdrop,
.process-video-backdrop,
.simple-info-backdrop,
.galeria3d-modal-backdrop,
.info-modal-fixed .info-backdrop {
    background: var(--modal-backdrop) !important;
    opacity: 1 !important;
    filter: none !important;
    mix-blend-mode: normal !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
}

.product-modal,
.cart-modal,
.image-modal,
.collection-zoom-modal,
.about-modal,
.process-video-modal,
.simple-info-modal,
.galeria3d-modal,
.info-modal-fixed {
    background: transparent !important;
}

body.modal-open .page,
body.product-modal-open .page,
body.image-modal-open .page,
body.cart-modal-open .page,
body.collection-zoom-open .page,
body.process-video-open .page,
body.simple-info-open .page,
body.about-modal-open .page,
body.galeria3d-modal-open .page,
body.contact-modal-open .page,
body.web-modal-open .page {
    filter: none !important;
    transform: none !important;
}

body.collection-zoom-open.image-modal-open .collection-zoom-backdrop {
    opacity: 0 !important;
}

body.collection-zoom-open.image-modal-open .collection-zoom-modal {
    filter: none !important;
}


/* Galeria 3D publica: pantalla completa sin marco v410 */
body:not(.visualizador-body) .galeria3d-modal-frame:fullscreen,
body:not(.visualizador-body) .galeria3d-modal-frame:-webkit-full-screen {
    border: 0 !important;
    outline: 0 !important;
    box-shadow: none !important;
    background: #000 !important;
}

body:not(.visualizador-body) .galeria3d-modal-frame:fullscreen .gallery3d-shell,
body:not(.visualizador-body) .galeria3d-modal-frame:-webkit-full-screen .gallery3d-shell {
    border: 0 !important;
    outline: 0 !important;
    box-shadow: none !important;
}

body:not(.visualizador-body) .galeria3d-modal-frame:fullscreen .gallery3d-shell::before,
body:not(.visualizador-body) .galeria3d-modal-frame:fullscreen .gallery3d-shell::after,
body:not(.visualizador-body) .galeria3d-modal-frame:-webkit-full-screen .gallery3d-shell::before,
body:not(.visualizador-body) .galeria3d-modal-frame:-webkit-full-screen .gallery3d-shell::after {
    border: 0 !important;
    box-shadow: none !important;
}

body:not(.visualizador-body) .galeria3d-modal-frame:fullscreen .gallery3d-viewer,
body:not(.visualizador-body) .galeria3d-modal-frame:fullscreen #umbrale3DViewer,
body:not(.visualizador-body) .galeria3d-modal-frame:fullscreen canvas,
body:not(.visualizador-body) .galeria3d-modal-frame:-webkit-full-screen .gallery3d-viewer,
body:not(.visualizador-body) .galeria3d-modal-frame:-webkit-full-screen #umbrale3DViewer,
body:not(.visualizador-body) .galeria3d-modal-frame:-webkit-full-screen canvas {
    border: 0 !important;
    outline: 0 !important;
    box-shadow: none !important;
}


/* Galeria 3D publica: producto activo y pedido v411 */
body:not(.visualizador-body) .galeria3d-modal-frame .gallery3d-product-action {
    position: absolute;
    left: 50%;
    bottom: 26px;
    transform: translateX(-50%);
    z-index: 2147483606;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    max-width: min(620px, calc(100% - 210px));
    padding: 8px 8px 8px 16px;
    border: 1px solid rgba(226, 166, 85, .6);
    border-radius: 999px;
    background: linear-gradient(180deg, rgba(14, 10, 7, .82), rgba(5, 3, 2, .9));
    box-shadow: 0 18px 38px rgba(0,0,0,.45), 0 0 22px rgba(211, 145, 70, .12);
    backdrop-filter: blur(10px);
    pointer-events: auto;
    display: none !important;
}
body:not(.visualizador-body) .galeria3d-modal-frame .gallery3d-product-name {
    min-width: 0;
    max-width: 300px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    color: #f5ead9;
    font-family: var(--font-sans);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 1px;
    text-transform: uppercase;
    text-shadow: 0 1px 2px rgba(0,0,0,.65);
}
body:not(.visualizador-body) .galeria3d-modal-frame .gallery3d-add-order {
    height: 34px;
    min-width: 150px;
    padding: 0 16px;
    border: 1px solid rgba(255, 214, 150, .72);
    border-radius: 999px;
    background: linear-gradient(180deg, #e3a64f, #9f6426);
    color: #120b05;
    font-family: var(--font-sans);
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .9px;
    text-transform: uppercase;
    cursor: pointer;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.34), 0 8px 18px rgba(0,0,0,.35);
    transition: transform .18s ease, filter .18s ease, box-shadow .18s ease;
}
body:not(.visualizador-body) .galeria3d-modal-frame .gallery3d-add-order:hover {
    transform: translateY(-1px);
    filter: brightness(1.08);
}
body:not(.visualizador-body) .galeria3d-modal-frame .gallery3d-add-order.just-added {
    filter: brightness(1.18);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.36), 0 0 22px rgba(226,166,85,.52);
}
body:not(.visualizador-body) .galeria3d-modal-frame .gallery3d-add-order.not-added {
    filter: saturate(.4);
}
body:not(.visualizador-body) .gallery3d-shell.gallery3d-hud-hidden .gallery3d-product-action {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
}
@media (max-width: 760px), (pointer: coarse) {
    body:not(.visualizador-body) .galeria3d-modal-frame .gallery3d-product-action {
        display: inline-flex !important;
        left: 12px !important;
        right: 68px !important;
        bottom: 16px !important;
        transform: none !important;
        width: auto !important;
        max-width: none !important;
        min-height: 44px !important;
        padding: 6px 7px 6px 12px !important;
        gap: 7px !important;
        border-radius: 999px !important;
        z-index: 2147483607 !important;
    }
    body:not(.visualizador-body) .galeria3d-modal-frame .gallery3d-product-name {
        flex: 1 1 auto !important;
        max-width: none !important;
        font-size: clamp(9px, 2.6vw, 11px) !important;
        letter-spacing: .55px !important;
    }
    body:not(.visualizador-body) .galeria3d-modal-frame .gallery3d-add-order {
        flex: 0 0 auto !important;
        min-width: 104px !important;
        height: 34px !important;
        padding: 0 10px !important;
        font-size: clamp(8px, 2.25vw, 9px) !important;
        letter-spacing: .45px !important;
    }
    body:not(.visualizador-body) .gallery3d-shell.gallery3d-hud-hidden .gallery3d-product-action {
        opacity: 1 !important;
        visibility: visible !important;
        pointer-events: auto !important;
    }
}


/* Galeria 3D publica: estabilidad v412 */
body:not(.visualizador-body) .galeria3d-modal:not(.active) #umbrale3DViewer,
body:not(.visualizador-body) .galeria3d-modal:not(.active) .gallery3d-viewer canvas {
    width: 100% !important;
    height: 100% !important;
}


/* v427 public mobile altar/order separation */
@media (max-width: 760px), (pointer: coarse) {
    body:not(.visualizador-body).category-altares .galeria3d-modal-frame .gallery3d-altar-view-toggle {
        display: inline-flex !important;
        opacity: 1 !important;
        visibility: visible !important;
        pointer-events: auto !important;
        right: 14px !important;
        bottom: 76px !important;
        min-width: 94px !important;
        height: 40px !important;
        z-index: 2147483608 !important;
    }

    body:not(.visualizador-body).category-altares .galeria3d-modal-frame .gallery3d-product-action {
        left: 12px !important;
        right: 68px !important;
        bottom: 14px !important;
        max-width: calc(100% - 80px) !important;
        z-index: 2147483607 !important;
    }
}

/* v440 mobile final authority: visible controls, readable panels and safe stacking. */
@media (max-width: 900px), (pointer: coarse) {
    [class*="modal"].active > [class*="backdrop"],
    .info-modal-fixed.active > .info-backdrop {
        z-index: 0 !important;
    }

    [class*="modal"].active > [class*="content"],
    .info-modal-fixed.active > .info-content,
    .galeria3d-modal.active > .galeria3d-modal-frame {
        position: relative !important;
        z-index: 2 !important;
        opacity: 1 !important;
        visibility: visible !important;
    }

    .modal-content,
    .image-modal-content,
    .collection-zoom-content,
    .about-modal-content,
    .process-video-content,
    .simple-info-content,
    .info-content,
    .cart-modal-content {
        min-height: 0 !important;
    }

    .modal-close,
    .image-modal-close,
    .collection-zoom-close,
    .about-modal-close,
    .process-video-close,
    .simple-info-close,
    .info-close-fixed,
    .cart-modal-close,
    .galeria3d-modal-close {
        display: grid !important;
        place-items: center !important;
        opacity: 1 !important;
        visibility: visible !important;
        pointer-events: auto !important;
        z-index: 50 !important;
    }

    .about-modal-text p,
    .process-video-text p,
    .simple-info-content p,
    .info-modal-fixed .info-content p,
    .cart-modal-content,
    .collection-zoom-content {
        color: #c9c0b5 !important;
    }

    .about-modal-text h2,
    .process-video-text h2,
    .simple-info-content h2,
    .info-modal-fixed .info-content h2,
    .cart-modal-head h2 {
        color: #f2ece1 !important;
    }

    .contact-red-row,
    .web-red-row {
        padding: 6px 4px !important;
    }

    .cart-modal-hint,
    .about-modal-hint {
        display: none !important;
    }

    .galeria3d-modal-frame {
        width: 100vw !important;
        height: 100dvh !important;
        max-width: none !important;
        max-height: none !important;
    }

    body:not(.visualizador-body) .galeria3d-modal-frame .gallery3d-product-action {
        position: fixed !important;
        left: var(--mobile-safe-left) !important;
        right: calc(var(--mobile-safe-right) + 58px) !important;
        bottom: calc(var(--mobile-safe-bottom) + 4px) !important;
    }

    body:not(.visualizador-body) .galeria3d-modal-frame .gallery3d-light-toggle {
        position: fixed !important;
        right: var(--mobile-safe-right) !important;
        bottom: calc(var(--mobile-safe-bottom) + 4px) !important;
    }
}

.mobile-section-kicker,
.mobile-section-guide,
.mobile-section-home,
.mobile-cover-action,
.mobile-product-action,
.mobile-product-catalog {
    display: none;
}

.cover-card.is-coming-soon {
    cursor: default !important;
    opacity: .58 !important;
    pointer-events: none !important;
}

.floating-cart {
    appearance: none !important;
    -webkit-appearance: none !important;
}

.cover-card.is-coming-soon:hover {
    transform: none !important;
    filter: none !important;
}

.cover-status {
    display: inline-flex !important;
    align-items: center !important;
    width: fit-content !important;
    margin-top: 10px !important;
    padding: 4px 7px !important;
    border: 1px solid rgba(208,160,99,.34) !important;
    color: #d0a063 !important;
    font-family: "Montserrat", sans-serif !important;
    font-size: 8px !important;
    letter-spacing: 1.2px !important;
    text-transform: uppercase !important;
}

.image-modal-collection-link {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 44px !important;
    margin-top: 16px !important;
    padding: 10px 16px !important;
    border: 1px solid rgba(208,160,99,.55) !important;
    background: rgba(10,7,4,.88) !important;
    color: #e5b66f !important;
    font-family: "Montserrat", sans-serif !important;
    font-size: 9px !important;
    letter-spacing: 1.4px !important;
    text-transform: uppercase !important;
    cursor: pointer !important;
}

#imageModalCollectionLink:not([hidden]) {
    display: inline-flex !important;
}

.image-modal-collection-link[hidden] {
    display: none !important;
}

.mobile-product-card:focus-visible,
.mobile-section-home:focus-visible,
.floating-cart:focus-visible {
    outline: 2px solid #d0a063 !important;
    outline-offset: 3px !important;
}

/* v445 mobile browse: Colecciones y Productos son pantallas independientes. */
@media (max-width: 900px), (pointer: coarse) {
    button,
    a,
    [role="button"] {
        touch-action: manipulation;
        -webkit-tap-highlight-color: transparent;
    }

    body.mobile-browse-open {
        overflow-x: hidden !important;
        background: #050403 !important;
    }

    body.mobile-browse-open .sidebar,
    body.mobile-browse-open .hero,
    body.mobile-browse-open .bottom,
    body.mobile-browse-open .social-fixed-ritual,
    body.mobile-browse-open .version-tag {
        display: none !important;
    }

    body.mobile-browse-open .page,
    body.mobile-browse-open .main,
    body.mobile-browse-open .dynamic-space,
    body.mobile-browse-open .dynamic-space-inner {
        display: block !important;
        width: 100% !important;
        min-width: 0 !important;
        min-height: 100dvh !important;
        height: auto !important;
        max-height: none !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: visible !important;
        transform: none !important;
        perspective: none !important;
    }

    body.mobile-browse-open .page {
        border: 0 !important;
    }

    body.mobile-browse-open .floating-cart {
        position: fixed !important;
        top: max(12px, env(safe-area-inset-top)) !important;
        right: 72px !important;
        width: 58px !important;
        min-width: 58px !important;
        z-index: 300 !important;
    }

    body.mobile-browse-collections .product-strip,
    body.mobile-browse-products .catalog,
    body.mobile-browse-open .catalog.collections-collapsed,
    body.mobile-browse-open .product-strip.product-strip-collapsed {
        display: none !important;
    }

    body.mobile-browse-open .catalog,
    body.mobile-browse-open .product-strip {
        display: block !important;
        width: 100% !important;
        min-height: 100dvh !important;
        height: auto !important;
        max-height: none !important;
        margin: 0 !important;
        padding: 156px 14px calc(32px + env(safe-area-inset-bottom)) !important;
        border: 0 !important;
        opacity: 1 !important;
        overflow: visible !important;
        transform: none !important;
        filter: none !important;
        background:
            radial-gradient(circle at 18% 0%, rgba(176,122,63,.12), transparent 24%),
            linear-gradient(180deg, #090704, #030303 44%, #050403) !important;
    }

    body.mobile-browse-open .catalog > .section-head,
    body.mobile-browse-open .product-strip-head {
        position: fixed !important;
        top: 0 !important;
        left: 0 !important;
        right: 0 !important;
        z-index: 200 !important;
        display: flex !important;
        align-items: flex-start !important;
        justify-content: space-between !important;
        width: 100% !important;
        min-height: 140px !important;
        height: auto !important;
        max-height: none !important;
        margin: 0 !important;
        padding: calc(18px + env(safe-area-inset-top)) 142px 16px 18px !important;
        border-bottom: 1px solid rgba(208,160,99,.28) !important;
        opacity: 1 !important;
        overflow: visible !important;
        transform: none !important;
        background: rgba(7,5,3,.97) !important;
        box-shadow: 0 12px 32px rgba(0,0,0,.42) !important;
        backdrop-filter: none !important;
    }

    body.mobile-browse-open .section-head h2,
    body.mobile-browse-open .product-strip-head h2 {
        margin: 3px 0 6px !important;
        color: #f2ece1 !important;
        font-size: clamp(25px, 8vw, 34px) !important;
        line-height: 1 !important;
        letter-spacing: 2px !important;
    }

    body.mobile-browse-open .mobile-section-kicker,
    body.mobile-browse-open .mobile-section-guide,
    body.mobile-browse-open .mobile-section-home {
        display: block !important;
    }

    body.mobile-browse-open .mobile-section-kicker {
        color: #d0a063 !important;
        font-family: "Montserrat", sans-serif !important;
        font-size: 9px !important;
        letter-spacing: 3px !important;
    }

    body.mobile-browse-open .mobile-section-guide {
        max-width: 230px !important;
        margin: 0 !important;
        color: #aaa097 !important;
        font-family: "Montserrat", sans-serif !important;
        font-size: 11px !important;
        line-height: 1.45 !important;
    }

    body.mobile-browse-open .mobile-section-home {
        position: absolute !important;
        top: max(12px, env(safe-area-inset-top)) !important;
        right: 12px !important;
        width: 50px !important;
        height: 44px !important;
        border: 1px solid rgba(208,160,99,.48) !important;
        background: #0b0805 !important;
        color: #e4b36d !important;
        font-family: "Montserrat", sans-serif !important;
        font-size: 9px !important;
        letter-spacing: .7px !important;
        text-transform: uppercase !important;
    }

    body.mobile-browse-open .product-strip-desktop-label {
        display: none !important;
    }

    body.mobile-browse-open .cover-cards {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 12px !important;
        width: 100% !important;
        height: auto !important;
        max-height: none !important;
        margin: 0 !important;
        opacity: 1 !important;
        overflow: visible !important;
        transform: none !important;
    }

    body.mobile-browse-open .dynamic-space .cover-cards {
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
        grid-auto-rows: auto !important;
        align-items: start !important;
    }

    body.mobile-browse-open .dynamic-space .cover-card,
    body.mobile-browse-open .dynamic-space .cover-card.card {
        display: grid !important;
        grid-template-columns: 118px minmax(0, 1fr) !important;
        width: 100% !important;
        min-height: 118px !important;
        height: 118px !important;
        max-height: 118px !important;
        margin: 0 !important;
        overflow: hidden !important;
        transform: none !important;
    }

    body.mobile-browse-open .dynamic-space .cover-card .card-img,
    body.mobile-browse-open .dynamic-space .cover-card:hover .card-img {
        width: 118px !important;
        height: 118px !important;
        min-height: 118px !important;
        max-height: 118px !important;
    }

    body.mobile-browse-open .dynamic-space .cover-card .card-info {
        display: flex !important;
        flex-direction: column !important;
        justify-content: center !important;
        min-width: 0 !important;
        width: auto !important;
        height: 118px !important;
        min-height: 118px !important;
        max-height: 118px !important;
        padding: 14px !important;
    }

    body.mobile-browse-open .cover-card h3 {
        font-size: 14px !important;
        letter-spacing: 1px !important;
        overflow-wrap: anywhere !important;
    }

    body.mobile-browse-open .cover-card p {
        margin-top: 6px !important;
        color: #a69c91 !important;
        font-size: 10px !important;
        line-height: 1.4 !important;
    }

    body.mobile-browse-open .cover-card .cover-status {
        margin-top: 7px !important;
    }

    body.mobile-browse-open .mobile-cover-action {
        display: block !important;
        margin-top: 8px !important;
        color: #d0a063 !important;
        font-family: "Montserrat", sans-serif !important;
        font-size: 8px !important;
        letter-spacing: 1.5px !important;
        text-transform: uppercase !important;
    }

    body.mobile-browse-open .cover-card.is-coming-soon .card-info {
        padding: 10px !important;
    }

    body.mobile-browse-open .cover-card.is-coming-soon h3 {
        font-size: 12px !important;
        line-height: 1.2 !important;
    }

    body.mobile-browse-open .cover-card.is-coming-soon p {
        margin-top: 3px !important;
    }

    body.mobile-browse-open .cover-card.is-coming-soon .cover-status {
        margin-top: 4px !important;
        padding: 3px 6px !important;
        font-size: 7px !important;
    }

    body.mobile-browse-open:has(.mobile-product-catalog) .product-strip-row {
        display: none !important;
    }

    body.mobile-browse-open .mobile-product-catalog {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 12px !important;
        width: 100% !important;
        height: auto !important;
        max-height: none !important;
        margin: 0 !important;
        overflow: visible !important;
    }

    body.mobile-browse-open .mobile-product-catalog .product-strip-card,
    body.mobile-browse-open .mobile-product-catalog .product-strip-card:hover {
        width: 100% !important;
        min-width: 0 !important;
        min-height: 220px !important;
        height: auto !important;
        margin: 0 !important;
        overflow: hidden !important;
        transform: none !important;
    }

    body.mobile-browse-open .mobile-product-catalog .product-strip-card .card-img,
    body.mobile-browse-open .mobile-product-catalog .product-strip-card:hover .card-img {
        height: 160px !important;
    }

    body.mobile-browse-open .mobile-product-catalog .product-strip-card .card-info {
        min-height: 60px !important;
        padding: 10px !important;
    }

    body.mobile-browse-open .mobile-product-price {
        display: block !important;
        margin-top: 7px !important;
        color: #d0a063 !important;
        font-family: "Montserrat", sans-serif !important;
        font-size: 10px !important;
        letter-spacing: 1px !important;
    }

    body.mobile-browse-open .mobile-product-action {
        display: block !important;
        margin-top: 7px !important;
        color: #9d948a !important;
        font-family: "Montserrat", sans-serif !important;
        font-size: 8px !important;
        letter-spacing: 1.3px !important;
        text-transform: uppercase !important;
    }

    .process-video-content {
        display: block !important;
        padding: 68px 18px 24px !important;
    }

    .process-video-text {
        position: relative !important;
        inset: auto !important;
        left: auto !important;
        top: auto !important;
        width: 100% !important;
        margin: 0 !important;
        transform: none !important;
    }

    .process-video-text span {
        margin-bottom: 10px !important;
    }

    .process-video-text h2 {
        margin-bottom: 18px !important;
        font-size: clamp(30px, 9vw, 40px) !important;
    }

    .process-video-text p {
        font-size: 13px !important;
        line-height: 1.75 !important;
    }

    .info-modal-fixed .contact-red-row,
    .info-modal-fixed .web-red-row,
    .info-modal-fixed .contact-red-row span,
    .info-modal-fixed .web-red-row span {
        font-size: 11px !important;
        word-break: normal !important;
        overflow-wrap: break-word !important;
    }

    .info-modal-fixed .contact-red-row strong,
    .info-modal-fixed .web-red-row strong {
        white-space: nowrap !important;
    }
}

@media (max-height: 500px) and (min-width: 600px) and (pointer: coarse) {
    body:not(.mobile-browse-open):not(:has([class*="modal"].active)) .sidebar .flame-menu {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 2px 24px !important;
        width: min(720px, 100%) !important;
        margin: 4px auto 0 !important;
    }

    body:not(.mobile-browse-open):not(:has([class*="modal"].active)) .sidebar .side-bottom,
    body:not(.mobile-browse-open):not(:has([class*="modal"].active)) .social-fixed-ritual {
        display: none !important;
    }

    body.mobile-browse-open .catalog,
    body.mobile-browse-open .product-strip {
        padding-top: 108px !important;
    }

    body.mobile-browse-open .catalog > .section-head,
    body.mobile-browse-open .product-strip-head {
        min-height: 96px !important;
        padding-top: 12px !important;
        padding-bottom: 10px !important;
    }

    body.mobile-browse-open .section-head h2,
    body.mobile-browse-open .product-strip-head h2 {
        font-size: 29px !important;
    }

    body.mobile-browse-open .mobile-section-guide {
        max-width: 300px !important;
    }

    body.mobile-browse-open .cover-cards {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    .cart-modal-content {
        display: grid !important;
        grid-template-columns: minmax(0, 1.25fr) minmax(250px, .75fr) !important;
        grid-template-rows: auto auto 1fr auto !important;
        gap: 10px 18px !important;
        width: min(96vw, 920px) !important;
        max-width: 920px !important;
        height: calc(100dvh - var(--mobile-safe-top) - var(--mobile-safe-bottom)) !important;
        padding: 16px 18px !important;
        overflow: hidden !important;
    }

    .cart-modal-head {
        grid-column: 1 / -1 !important;
        grid-row: 1 !important;
        padding-bottom: 9px !important;
    }

    .cart-modal-head h2 {
        font-size: 30px !important;
    }

    .cart-modal-body {
        grid-column: 1 !important;
        grid-row: 2 / 5 !important;
        max-height: none !important;
        margin-top: 0 !important;
        overflow-y: auto !important;
    }

    .cart-total-box {
        grid-column: 2 !important;
        grid-row: 2 !important;
        margin-top: 0 !important;
        padding-top: 8px !important;
    }

    .cart-order-selector {
        grid-column: 2 !important;
        grid-row: 3 !important;
        min-height: 0 !important;
        margin-top: 0 !important;
    }

    .cart-order-title {
        margin-bottom: 5px !important;
    }

    .cart-order-channels {
        gap: 4px !important;
    }

    .cart-order-channel {
        min-height: 64px !important;
        padding: 4px !important;
    }

    .cart-buy-button {
        grid-column: 2 !important;
        grid-row: 4 !important;
        margin-top: 0 !important;
    }
}

@media (max-height: 550px) and (max-width: 599px) and (pointer: coarse) {
    body:not(.mobile-browse-open):not(:has([class*="modal"].active)) .sidebar .side-bottom,
    body:not(.mobile-browse-open):not(:has([class*="modal"].active)) .social-fixed-ritual {
        display: none !important;
    }

    body:not(.mobile-browse-open):not(:has([class*="modal"].active)) .sidebar {
        padding-bottom: 12px !important;
    }
}

@media (max-width: 340px) and (pointer: coarse) {
    body.mobile-browse-open .floating-cart {
        right: 64px !important;
        width: 48px !important;
        min-width: 48px !important;
        padding-left: 6px !important;
        padding-right: 6px !important;
    }

    body.mobile-browse-open .catalog > .section-head,
    body.mobile-browse-open .product-strip-head {
        padding-right: 122px !important;
    }

    body.mobile-browse-open .mobile-section-home {
        right: 8px !important;
        width: 48px !important;
    }

    body.mobile-browse-open .section-head h2,
    body.mobile-browse-open .product-strip-head h2 {
        font-size: 22px !important;
        letter-spacing: 1px !important;
    }

    body.mobile-browse-open .mobile-section-guide {
        font-size: 10px !important;
    }

    body.mobile-browse-collections .cover-card h3 {
        font-size: 12px !important;
        letter-spacing: .45px !important;
        overflow-wrap: normal !important;
        word-break: normal !important;
    }
}

@media (max-width: 760px), (pointer: coarse) {
    html.mobile-layout .hero-text {
        display: none !important;
    }

    body:not(.visualizador-body) .galeria3d-modal-frame .gallery3d-collections-nav {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) minmax(0, 1.55fr) minmax(0, .9fr) !important;
    }

    body:not(.visualizador-body) .galeria3d-modal-frame .gallery3d-nav-btn {
        width: 100% !important;
        padding: 8px 2px !important;
        font-size: clamp(6px, 1.8vw, 8px) !important;
        letter-spacing: .15px !important;
        overflow: visible !important;
        text-overflow: clip !important;
    }
}

@media (pointer: coarse) {
    body:not(.visualizador-body) .hero-text {
        display: none !important;
    }
}

@media (min-width: 341px) and (max-width: 400px) and (pointer: coarse) {
    body.mobile-browse-collections .section-head h2 {
        font-size: 28px !important;
        letter-spacing: 1px !important;
    }
}

@media (orientation: landscape) and (max-height: 550px) and (pointer: coarse) {
    .cart-order-title {
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 4px !important;
    }

    .cart-order-title span {
        display: none !important;
    }

    .cart-order-title strong {
        font-size: 9px !important;
        line-height: 1.35 !important;
        letter-spacing: 1.5px !important;
        white-space: normal !important;
    }
}

/* Los modales informativos cerrados no deben capturar toques invisibles. */
.info-modal-fixed:not(.active),
.info-modal-fixed:not(.active) * {
    visibility: hidden !important;
    pointer-events: none !important;
}

.info-modal-fixed.active {
    visibility: visible !important;
    pointer-events: auto !important;
}

:is(
    .product-modal,
    .cart-modal,
    .image-modal,
    .collection-zoom-modal,
    .about-modal,
    .process-video-modal,
    .simple-info-modal,
    .galeria3d-modal
):not(.active),
:is(
    .product-modal,
    .cart-modal,
    .image-modal,
    .collection-zoom-modal,
    .about-modal,
    .process-video-modal,
    .simple-info-modal,
    .galeria3d-modal
):not(.active) * {
    pointer-events: none !important;
}

@media (max-width: 700px), (pointer: coarse) {
    .collection-zoom-content {
        grid-template-columns: minmax(0, 1fr) !important;
    }

    .collection-zoom-products,
    .collection-zoom-products .product-card,
    .collection-zoom-products .product-card:hover {
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        transform: none !important;
    }

    .collection-zoom-products .cart-control,
    .collection-zoom-products .product-card .cart-control,
    .collection-zoom-products .product-card .cart-control.has-items {
        width: 100% !important;
        max-width: 100% !important;
        min-height: 44px !important;
        max-height: none !important;
        grid-template-columns: 44px minmax(0, 1fr) 44px !important;
    }

    .collection-zoom-products .cart-step,
    .collection-zoom-products .cart-button {
        width: auto !important;
        min-width: 0 !important;
        height: 44px !important;
        min-height: 44px !important;
    }
}

/* v453: en PC los precios se revelan al interactuar; en tactil quedan visibles. */
@media (hover: hover) and (pointer: fine) {
    .product-grid-inside .product-card .price-row,
    .collection-zoom-products .product-card .price-row {
        max-height: 0 !important;
        opacity: 0 !important;
        overflow: hidden !important;
        transform: translateY(-6px) !important;
        margin-top: 0 !important;
        padding-top: 0 !important;
        border-color: transparent !important;
    }

    .product-grid-inside .product-card:hover .price-row,
    .collection-zoom-products .product-card:hover .price-row {
        max-height: 42px !important;
        opacity: 1 !important;
        overflow: visible !important;
        transform: translateY(0) !important;
        margin-top: 6px !important;
        padding-top: 5px !important;
        border-color: rgba(176,122,63,.18) !important;
    }
}

.product-grid-inside .product-card {
    height: 500px !important;
}

.galeria3d-modal.preparing .gallery3d-shell {
    opacity: 0 !important;
    visibility: hidden !important;
}

.galeria3d-modal.active:not(.preparing) .gallery3d-shell {
    opacity: 1 !important;
    visibility: visible !important;
    transition: opacity .16s ease !important;
}

@media (hover: none), (pointer: coarse) {
    html,
    body,
    .sidebar,
    body.mobile-browse-open .catalog,
    body.mobile-browse-open .product-strip,
    .collection-zoom-products,
    .modal-content,
    .image-modal-content,
    .collection-zoom-content,
    .about-modal-content,
    .process-video-content,
    .simple-info-content,
    .info-content,
    .cart-modal-content {
        scroll-behavior: auto !important;
        overflow-anchor: none !important;
    }

    .card,
    .card:hover,
    .cover-card,
    .cover-card:hover,
    .product-strip-card,
    .product-strip-card:hover {
        transform: none !important;
    }

    .product-grid-inside .product-card,
    .product-grid-inside .product-card:hover {
        height: 500px !important;
        min-height: 500px !important;
        transform: none !important;
        filter: none !important;
        overflow: hidden !important;
    }

    .product-grid-inside .product-card .card-img,
    .product-grid-inside .product-card:hover .card-img {
        height: 285px !important;
        filter: none !important;
    }

    .product-grid-inside .product-card .card-img img,
    .product-grid-inside .product-card:hover .card-img img {
        transform: none !important;
    }

    .product-grid-inside .product-card .card-info,
    .product-grid-inside .product-card:hover .card-info {
        min-height: 215px !important;
        padding: 10px 15px 12px !important;
        justify-content: flex-start !important;
    }

    .product-grid-inside .product-card .price-row,
    .product-grid-inside .product-card:hover .price-row {
        max-height: 42px !important;
        opacity: 1 !important;
        overflow: visible !important;
        transform: none !important;
    }

    .collection-zoom-products .product-card,
    .collection-zoom-products .product-card:hover {
        height: 600px !important;
        min-height: 600px !important;
        transform: none !important;
        filter: none !important;
        overflow: hidden !important;
    }

    .collection-zoom-products .product-card .card-img,
    .collection-zoom-products .product-card:hover .card-img {
        height: 280px !important;
        filter: none !important;
    }

    .collection-zoom-products .product-card .card-info,
    .collection-zoom-products .product-card:hover .card-info {
        display: flex !important;
        flex-direction: column !important;
        min-height: 320px !important;
        padding: 10px 13px 12px !important;
        justify-content: flex-start !important;
    }

    .collection-zoom-products .product-card .product-description,
    .collection-zoom-products .product-card:hover .product-description {
        max-height: 58px !important;
        margin: 5px 0 0 !important;
    }

    .collection-zoom-products .product-card .price-row,
    .collection-zoom-products .product-card:hover .price-row {
        max-height: 42px !important;
        opacity: 1 !important;
        overflow: visible !important;
        transform: none !important;
        margin-top: 6px !important;
        padding-top: 5px !important;
    }

    .collection-zoom-products .product-card .product-category {
        order: 1 !important;
    }

    .collection-zoom-products .product-card .card-info h3 {
        order: 2 !important;
    }

    .collection-zoom-products .product-card .price-row:not(.mayorista) {
        order: 3 !important;
    }

    .collection-zoom-products .product-card .price-row.mayorista {
        order: 4 !important;
    }

    .collection-zoom-products .product-card .product-description {
        order: 5 !important;
    }

    .collection-zoom-products .product-card .product-inline-code,
    .collection-zoom-products .product-card .product-measures {
        order: 6 !important;
    }

    .collection-zoom-products .product-card .cart-control {
        order: 7 !important;
    }

    .collection-zoom-products .product-card .cart-control,
    .collection-zoom-products .product-card:hover .cart-control,
    .collection-zoom-products .product-card .cart-control.has-items {
        max-height: 44px !important;
        opacity: 1 !important;
        transform: none !important;
        margin-top: 8px !important;
    }

    .product-grid-inside .product-card,
    .product-grid-inside .product-card *,
    .collection-zoom-products .product-card,
    .collection-zoom-products .product-card * {
        transition-property: color, background-color, border-color, box-shadow, opacity !important;
    }

    .galeria3d-modal-frame,
    .galeria3d-modal.active .galeria3d-modal-frame {
        transform: none !important;
    }
}

@media (orientation: portrait) and (max-width: 700px) {
    .collection-zoom-products .product-card,
    .collection-zoom-products .product-card:hover {
        height: 550px !important;
        min-height: 550px !important;
    }

    .collection-zoom-products .product-card .card-img,
    .collection-zoom-products .product-card:hover .card-img {
        height: 230px !important;
    }

    .collection-zoom-products .product-card .card-info,
    .collection-zoom-products .product-card:hover .card-info {
        min-height: 320px !important;
    }
}

/* v452: galeria fotografica por producto. */
.image-modal-stage {
    position: relative !important;
    display: grid !important;
    place-items: center !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    overflow: hidden !important;
}

.image-modal-stage #imageModalImg {
    grid-area: 1 / 1 !important;
}

.image-modal-nav {
    position: absolute !important;
    top: 50% !important;
    z-index: 8 !important;
    display: grid !important;
    place-items: center !important;
    width: 48px !important;
    height: 58px !important;
    border: 1px solid rgba(208,160,99,.58) !important;
    background: rgba(5,4,3,.82) !important;
    color: #e0b879 !important;
    font-family: "Cormorant Garamond", serif !important;
    font-size: 38px !important;
    line-height: 1 !important;
    cursor: pointer !important;
    transform: translateY(-50%) !important;
    transition: background-color .2s ease, border-color .2s ease, color .2s ease !important;
}

.image-modal-nav:hover,
.image-modal-nav:focus-visible {
    border-color: rgba(238,196,128,.92) !important;
    background: rgba(30,20,10,.94) !important;
    color: #fff0ce !important;
}

.image-modal-prev {
    left: 10px !important;
}

.image-modal-next {
    right: 10px !important;
}

.image-modal-nav[hidden],
.image-modal-counter[hidden] {
    display: none !important;
}

.image-modal-counter {
    position: absolute !important;
    right: 14px !important;
    bottom: 12px !important;
    z-index: 8 !important;
    padding: 6px 9px !important;
    border: 1px solid rgba(208,160,99,.42) !important;
    background: rgba(5,4,3,.82) !important;
    color: #e0b879 !important;
    font-family: "Montserrat", sans-serif !important;
    font-size: 9px !important;
    letter-spacing: 1.5px !important;
}

@media (max-width: 700px), (pointer: coarse) {
    .image-modal-nav {
        width: 44px !important;
        height: 52px !important;
        background: rgba(5,4,3,.9) !important;
    }

    .image-modal-prev {
        left: 4px !important;
    }

    .image-modal-next {
        right: 4px !important;
    }

    .image-modal-counter {
        right: 8px !important;
        bottom: 8px !important;
    }
}

/* v454: textos completos y tarjetas de altura natural en colecciones moviles. */
@media (hover: none), (pointer: coarse) {
    .collection-zoom-head,
    .collection-zoom-head > div {
        min-width: 0 !important;
        width: 100% !important;
        max-width: 100% !important;
    }

    .collection-zoom-head {
        display: block !important;
        padding-right: 48px !important;
        overflow: visible !important;
    }

    .collection-zoom-title {
        width: 100% !important;
        max-width: 100% !important;
        font-size: clamp(20px, 6.2vw, 32px) !important;
        line-height: 1.08 !important;
        letter-spacing: clamp(1px, .7vw, 3px) !important;
        white-space: normal !important;
        overflow-wrap: normal !important;
        word-break: normal !important;
    }

    .collection-zoom-sub {
        width: 100% !important;
        max-width: 100% !important;
        max-height: none !important;
        white-space: normal !important;
        overflow: visible !important;
        overflow-wrap: break-word !important;
    }

    .collection-zoom-products .product-card,
    .collection-zoom-products .product-card:hover {
        height: max-content !important;
        min-height: max-content !important;
        max-height: none !important;
    }

    .collection-zoom-products .product-card .card-info,
    .collection-zoom-products .product-card:hover .card-info {
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
        padding-bottom: 14px !important;
    }

    .collection-zoom-products .product-card .product-category,
    .collection-zoom-products .product-card .card-info h3,
    .collection-zoom-products .product-card .product-description,
    .collection-zoom-products .product-card .product-inline-code,
    .collection-zoom-products .product-card .product-measures {
        max-height: none !important;
        opacity: 1 !important;
        overflow: visible !important;
        white-space: normal !important;
        overflow-wrap: break-word !important;
        transform: none !important;
    }

    .collection-zoom-products .product-card .product-description,
    .collection-zoom-products .product-card:hover .product-description {
        max-height: none !important;
        overflow: visible !important;
        white-space: normal !important;
        margin: 7px 0 0 !important;
    }

    .collection-zoom-products .product-card .product-inline-code {
        margin-top: 7px !important;
    }

    .collection-zoom-products .product-card .product-measures {
        margin: 7px 0 0 !important;
    }

    .collection-zoom-products .cart-button span {
        max-width: 100% !important;
        white-space: normal !important;
        overflow: visible !important;
        text-overflow: clip !important;
        overflow-wrap: normal !important;
        line-height: 1.2 !important;
    }

    body.mobile-browse-open .mobile-product-catalog .product-strip-card .card-info,
    body.mobile-browse-open .mobile-product-catalog .product-strip-card .card-info h3 {
        height: auto !important;
        max-height: none !important;
        overflow: visible !important;
        white-space: normal !important;
        overflow-wrap: break-word !important;
    }
}

@media (max-width: 340px) and (pointer: coarse) {
    .collection-zoom-title {
        font-size: 19px !important;
        letter-spacing: .7px !important;
    }
}

/* v455: las colecciones creadas desde el editor usan el mismo comportamiento base. */
.collection-frame:not(.open) {
    max-height: 0;
    opacity: 0;
    transform: translateY(-12px);
    overflow: hidden !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    margin-top: 0 !important;
    border-color: transparent !important;
}

.collection-frame.open {
    max-height: 5000px;
    opacity: 1;
    transform: translateY(0);
    overflow: visible !important;
    padding-top: 26px !important;
    padding-bottom: 26px !important;
    margin-top: 16px !important;
    border-color: rgba(176,122,63,.35) !important;
}

/* v466: tira restaurada de los cinco sólidos platónicos. */
.platonic-strip { grid-template-columns: repeat(5, minmax(0, 1fr)) !important; }
.platonic-strip .value { min-width: 0; }
.platonic-strip .value:last-child { border-right: 0; }
.platonic-strip .value-icon {
    position: relative;
    width: 44px;
    height: 44px;
    min-width: 44px;
    display: block;
}
.platonic-strip .value-icon > i {
    position: absolute;
    left: 50%;
    top: 50%;
    display: block;
    box-sizing: border-box;
    transform-style: preserve-3d;
    box-shadow: 0 0 8px rgba(208,160,99,.18);
}
@media (max-width: 1300px) and (min-width: 901px) {
    .platonic-strip .value {
        grid-template-columns: 48px minmax(0, 1fr);
        gap: 10px;
        padding-left: 16px;
        padding-right: 16px;
    }
    .platonic-strip .value p { font-size: 10px !important; }
}
@media (max-width: 900px) {
    .platonic-strip {
        display: flex !important;
        min-height: 108px !important;
        overflow-x: auto !important;
        overflow-y: hidden !important;
        scroll-snap-type: x proximity;
        scrollbar-width: thin;
    }
    .platonic-strip .value {
        flex: 0 0 min(78vw, 280px);
        min-height: 108px !important;
        grid-template-columns: 54px minmax(0, 1fr);
        padding: 18px 22px !important;
        scroll-snap-align: start;
    }
}

/* v467: tira de valores con los modelos platonicos reales. */
.platonic-strip .platonic-value {
    grid-template-columns: 76px minmax(0, 1fr) !important;
    gap: 18px;
    min-height: 124px !important;
    padding: 18px 24px !important;
}
.platonic-model {
    display: block;
    width: 72px;
    height: 72px;
    opacity: 0;
    filter: drop-shadow(0 0 10px rgba(208,160,99,.18));
    transition: opacity .45s ease, filter .45s ease, transform .45s ease;
}
.platonic-value.model-ready .platonic-model { opacity: 1; }
.platonic-value:hover .platonic-model {
    transform: scale(1.08);
    filter: drop-shadow(0 0 16px rgba(224,169,91,.42));
}
.platonic-strip .platonic-value h3 {
    color: #c8beb2;
    font-family: "Montserrat", sans-serif;
    font-size: 11px !important;
    line-height: 1.4 !important;
    letter-spacing: 2px !important;
    white-space: normal;
}
.platonic-strip .platonic-value p {
    color: #968d83;
    font-size: 10px !important;
    line-height: 1.45 !important;
    margin-top: 6px !important;
}
@media (max-width: 1300px) and (min-width: 901px) {
    .platonic-strip .platonic-value {
        grid-template-columns: 60px minmax(0, 1fr) !important;
        gap: 10px;
        padding-left: 12px !important;
        padding-right: 12px !important;
    }
    .platonic-model { width: 58px; height: 58px; }
    .platonic-strip .platonic-value h3 { font-size: 9px !important; letter-spacing: 1.2px !important; }
    .platonic-strip .platonic-value p { font-size: 9px !important; }
}
@media (max-width: 900px) {
    .platonic-strip .platonic-value {
        flex-basis: min(88vw, 330px);
        grid-template-columns: 70px minmax(0, 1fr) !important;
        min-height: 118px !important;
        padding: 18px 20px !important;
    }
    .platonic-model { width: 66px; height: 66px; }
    .platonic-strip .platonic-value h3 { font-size: 10px !important; }
    .platonic-strip .platonic-value p { font-size: 10px !important; }
}

/* v469: sólidos a escala esférica común y visor interactivo. */
.platonic-strip .platonic-value {
    cursor: pointer;
    min-height: 136px !important;
}
.platonic-strip .platonic-value:focus-visible {
    outline: 1px solid rgba(224,169,91,.8);
    outline-offset: -3px;
    background: rgba(176,122,63,.08);
}
.platonic-model {
    width: 82px;
    height: 82px;
}
.platonic-strip .platonic-value h3 {
    font-size: 13px !important;
    line-height: 1.45 !important;
}
.platonic-strip .platonic-value p {
    font-size: 12px !important;
    line-height: 1.55 !important;
}
body.platonic-modal-open {
    overflow: hidden !important;
}
body.platonic-modal-open .page {
    pointer-events: none;
}
.platonic-modal {
    position: fixed;
    inset: 0;
    z-index: 10050;
    display: grid;
    place-items: center;
    visibility: hidden;
    opacity: 0;
    pointer-events: none;
    transition: opacity .3s ease, visibility .3s ease;
}
.platonic-modal.active {
    visibility: visible;
    opacity: 1;
    pointer-events: auto;
}
.platonic-modal-backdrop {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border: 0;
    background: #000;
    cursor: default;
}
.platonic-modal-content {
    position: relative;
    z-index: 1;
    width: min(94vw, 1180px);
    height: min(90vh, 760px);
    display: grid;
    grid-template-columns: minmax(0, 1.45fr) minmax(300px, .75fr);
    border: 1px solid rgba(176,122,63,.3);
    background: #000;
    box-shadow: 0 0 90px rgba(176,122,63,.08);
}
.platonic-modal-close {
    position: absolute;
    top: 18px;
    right: 18px;
    z-index: 4;
    width: 44px;
    height: 44px;
    border: 1px solid rgba(176,122,63,.5);
    background: #000;
    color: #e1b76d;
    font-size: 27px;
    line-height: 1;
    cursor: pointer;
    box-shadow: 0 0 20px rgba(176,122,63,.12);
    display: grid !important;
    place-items: center;
    opacity: 1 !important;
    pointer-events: auto !important;
}
.platonic-modal-stage {
    position: relative;
    min-width: 0;
    min-height: 0;
    overflow: hidden;
    border-right: 1px solid rgba(176,122,63,.22);
    background: radial-gradient(circle at 50% 48%, rgba(176,122,63,.08), transparent 42%), #000;
}
.platonic-modal-canvas {
    display: block;
    width: 100%;
    height: 100%;
    cursor: grab;
    touch-action: none;
}
.platonic-modal-canvas.dragging {
    cursor: grabbing;
}
.platonic-object-orbit {
    position: absolute;
    left: 50%;
    top: 50%;
    z-index: 3;
    width: min(58vh, 42vw, 620px);
    height: min(58vh, 42vw, 620px);
    pointer-events: none;
    transform:
        translate(-50%, -50%)
        rotate(var(--object-orbit-angle, 0rad))
        scale(var(--object-orbit-scale, 1));
    transform-origin: center;
    filter:
        drop-shadow(0 0 10px rgba(255,224,170,.45))
        drop-shadow(0 0 32px rgba(208,160,99,.22));
}
.platonic-object-orbit::before,
.platonic-object-orbit::after {
    content: "";
    position: absolute;
    inset: 7%;
    border: 1px solid rgba(224,169,91,.18);
    border-radius: 50%;
    transform: rotateX(68deg) rotateZ(18deg);
    box-shadow:
        0 0 28px rgba(208,160,99,.08),
        inset 0 0 28px rgba(208,160,99,.05);
}
.platonic-object-orbit::after {
    inset: 16%;
    transform: rotateX(68deg) rotateZ(-36deg);
    opacity: .56;
}
.platonic-object-orbit i {
    position: absolute;
    left: var(--x);
    top: var(--y);
    width: var(--size);
    height: var(--size);
    border-radius: 50%;
    background: rgba(255,231,181,.92);
    opacity: .78;
    transform: translate(-50%, -50%) scale(var(--depth));
    animation: platonic-object-particle-pulse 2.6s ease-in-out var(--delay) infinite alternate;
    box-shadow:
        0 0 8px rgba(255,231,181,.9),
        0 0 18px rgba(208,160,99,.42);
}
@keyframes platonic-object-particle-pulse {
    from { opacity: .32; filter: brightness(.8); }
    to { opacity: .95; filter: brightness(1.35); }
}
.platonic-drag-hint {
    position: absolute;
    left: 50%;
    bottom: 28px;
    transform: translateX(-50%);
    display: flex;
    align-items: center;
    gap: 9px;
    color: rgba(212,160,82,.8);
    font-family: "Montserrat", sans-serif;
    font-size: 10px;
    letter-spacing: 2px;
    pointer-events: none;
}
.platonic-drag-hint span {
    font-size: 22px;
}
.platonic-modal-info {
    align-self: center;
    padding: 64px 54px;
    font-family: "Montserrat", sans-serif;
}
.platonic-modal-element {
    display: block;
    color: #d4a052;
    font-size: 11px;
    letter-spacing: 2.5px;
    margin-bottom: 16px;
}
.platonic-modal-info h2 {
    color: #eee8dc;
    font-family: "Cormorant Garamond", serif;
    max-width: 100%;
    font-size: clamp(38px, 4vw, 56px);
    font-weight: 300;
    line-height: .95;
    letter-spacing: 2px;
    margin: 0 0 28px;
}
.platonic-modal-geometry {
    color: #c9bba8;
    font-size: 12px;
    line-height: 1.65;
    letter-spacing: 1.2px;
    padding: 14px 0;
    border-top: 1px solid rgba(176,122,63,.22);
    border-bottom: 1px solid rgba(176,122,63,.22);
}
.platonic-modal-meaning {
    color: #958c81;
    font-size: 13px;
    line-height: 1.8;
    margin-top: 24px;
}
@media (max-width: 1300px) and (min-width: 901px) {
    .platonic-model { width: 66px; height: 66px; }
    .platonic-strip .platonic-value h3 { font-size: 12px !important; }
    .platonic-strip .platonic-value p { font-size: 11px !important; }
}
@media (max-width: 900px) {
    .platonic-strip .platonic-value {
        min-height: 132px !important;
        grid-template-columns: 78px minmax(0, 1fr) !important;
    }
    .platonic-model { width: 74px; height: 74px; }
    .platonic-strip .platonic-value h3 { font-size: 13px !important; letter-spacing: 1.5px !important; }
    .platonic-strip .platonic-value p { font-size: 12px !important; }
    .platonic-modal-content {
        width: 100vw;
        height: 100dvh;
        grid-template-columns: 1fr;
        grid-template-rows: minmax(0, 58vh) auto;
        overflow-y: auto;
        border: 0;
    }
    .platonic-modal-stage {
        min-height: 58vh;
        border-right: 0;
        border-bottom: 1px solid rgba(176,122,63,.22);
    }
    .platonic-modal-info {
        align-self: start;
        padding: 30px 26px 44px;
    }
    .platonic-modal-info h2 {
        font-size: 44px;
        margin-bottom: 20px;
    }
    .platonic-modal-meaning {
        font-size: 12px;
        margin-top: 18px;
    }
    .platonic-modal-close {
        position: fixed;
        top: max(14px, env(safe-area-inset-top));
        right: 14px;
    }
    .platonic-drag-hint {
        bottom: 18px;
        white-space: nowrap;
    }
}

/* v472 final: prioridad real sobre reglas antiguas de los modales. */
@media (min-width: 901px) {
    .platonic-modal.active .platonic-modal-content {
        position: fixed !important;
        inset: 0 !important;
        width: 100vw !important;
        height: 100vh !important;
        display: block !important;
        border: 0 !important;
        background: #000 !important;
        box-shadow: none !important;
        overflow: hidden !important;
    }
    .platonic-modal.active .platonic-modal-stage {
        position: absolute !important;
        inset: 0 !important;
        min-height: 100vh !important;
        border: 0 !important;
        background: transparent !important;
    }
    .platonic-modal.active .platonic-modal-canvas {
        position: absolute !important;
        inset: 0 auto 0 0 !important;
        width: 72vw !important;
        height: 100vh !important;
        filter:
            brightness(1.35)
            saturate(1.22)
            drop-shadow(0 0 8px rgba(255,231,181,.95))
            drop-shadow(0 0 28px rgba(218,160,74,.76))
            drop-shadow(0 0 74px rgba(184,112,39,.36)) !important;
    }
    .platonic-modal.active .platonic-object-orbit {
        left: 36vw !important;
        top: 50% !important;
    }
    .platonic-modal.active .platonic-modal-info {
        position: absolute !important;
        z-index: 3 !important;
        right: clamp(48px, 7vw, 120px) !important;
        top: 50% !important;
        width: min(36vw, 520px) !important;
        padding: 0 !important;
        transform: translateY(-50%) !important;
        text-shadow: 0 2px 18px #000, 0 0 40px rgba(0,0,0,.95) !important;
    }
    .platonic-modal.active .platonic-modal-info h2 {
        font-size: clamp(46px, 4.8vw, 74px) !important;
        overflow-wrap: anywhere !important;
        color: #fff8e9 !important;
    }
    .platonic-modal.active .platonic-drag-hint {
        left: 36vw !important;
        bottom: 34px !important;
    }
}

@media (max-width: 700px) {
    .sidebar > .platonic-strip-mobile {
        display: grid !important;
        grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
        width: 100% !important;
        min-height: 62px !important;
        height: 62px !important;
        margin: 10px 0 14px !important;
        overflow: hidden !important;
        border-top: 1px solid rgba(176,122,63,.18) !important;
        border-bottom: 1px solid rgba(176,122,63,.18) !important;
        background: rgba(0,0,0,.35) !important;
    }
    .sidebar > .platonic-strip-mobile .platonic-value {
        display: grid !important;
        place-items: center !important;
        width: auto !important;
        min-width: 0 !important;
        min-height: 60px !important;
        height: 60px !important;
        padding: 3px !important;
        border-right: 1px solid rgba(176,122,63,.12) !important;
    }
    .sidebar > .platonic-strip-mobile .platonic-value > div {
        display: none !important;
    }
    .sidebar > .platonic-strip-mobile .platonic-model {
        width: 44px !important;
        height: 44px !important;
        max-width: 100% !important;
    }
    .sidebar > .platonic-strip-mobile + .menu {
        margin-top: 15px !important;
    }
    .platonic-object-orbit {
        width: min(76vw, 360px);
        height: min(76vw, 360px);
    }
}

/* v476: visor real con OrbitControls; se elimina la orbita decorativa. */
.platonic-object-orbit {
    display: none !important;
}
.platonic-modal.active .platonic-modal-canvas {
    cursor: grab !important;
    touch-action: none !important;
}
.platonic-modal.active .platonic-modal-canvas:active {
    cursor: grabbing !important;
}

/* v478: el hero se despliega solo por click en INICIO, nunca por hover. */
body:not(.hero-pinned) .hero:hover {
    height: 466px !important;
    min-height: 466px !important;
    box-shadow: none !important;
}
body:not(.hero-pinned) .hero:hover .hero-video-stack .hero-video,
body:not(.hero-pinned) .hero:hover .hero-video {
    width: 110% !important;
    height: 110% !important;
    opacity: .92 !important;
    object-fit: cover !important;
    object-position: 92% center !important;
    transform: translate3d(0, 0, 0) scale(1.18) !important;
    filter: brightness(.92) contrast(1.10) sepia(.06) saturate(.90) !important;
}
body:not(.hero-pinned) .hero:hover .hero-text {
    transform: none !important;
    align-self: center !important;
}
body:not(.hero-pinned) .hero:hover .hero-slide {
    transform: scale(1) translate3d(0, 0, 0) !important;
}
@media(max-width:760px){
    body:not(.hero-pinned) .hero:hover {
        height: 560px !important;
        min-height: 560px !important;
    }
}
