﻿/* ============================= */
/* TOF.mx PREMIUM STYLE */
/* ============================= */

:root{
    --orange:#ED8B00;
    --oxford:#4A4F57;
    --dark:#2E3440;
    --light-gray:#6B7280;
    --white:#FFFFFF;
}
@keyframes floating{
    0%,100%{
        transform:translateY(0);
    }
    50%{
        transform:translateY(-14px);
    }
}
/* ============================= */
/* RESET */
/* ============================= */

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
    scroll-behavior:smooth;
}

body{
    font-family:'Montserrat',sans-serif;
    background:#ffffff;
    color:var(--oxford);
    overflow-x:hidden;
    line-height:1.6;
    position:relative;
}
.whatsapp-mini-section{
    padding:36px 0;
}
.whatsapp-mini-title-inline{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:10px;
}

.whatsapp-mini-title-inline i{
    margin-bottom:0;
}

.whatsapp-mini-title-inline h2{
    margin:0;
}
.whatsapp-mini-card{
    position:relative;
    padding:28px 42px 26px;
    border:1px solid #ED8B00;
    border-radius:14px;
    background:rgba(255,255,255,.86);
    box-shadow:0 18px 55px rgba(0,0,0,.06);
    overflow:hidden;
}

.whatsapp-mini-card::before{
    content:'';
    position:absolute;
    inset:0;
    background:radial-gradient(circle at 72% 55%, rgba(237,139,0,.10), transparent 38%);
    pointer-events:none;
}

.whatsapp-mini-title{
    position:relative;
    z-index:2;
    text-align:center;
    margin-bottom:20px;
}

.whatsapp-mini-title i{
    display:block;
    color:#ED8B00;
    font-size:22px;
    margin-bottom:10px;
}

.whatsapp-mini-title h2{
    color:#4A4F57;
    font-size:24px;
    line-height:1.1;
    font-weight:800;
}

.whatsapp-mini-form{
    position:relative;
    z-index:2;
    display:grid;
    grid-template-columns:1fr 1fr .95fr 1.35fr 185px;
    gap:8px;
    align-items:center;
}

.whatsapp-mini-form input,
.whatsapp-mini-form select,
.whatsapp-mini-form textarea{
    width:100%;
    min-height:44px;
    border:1px solid rgba(74,79,87,.20);
    border-radius:6px;
    padding:10px 12px;
    font-family:'Montserrat',sans-serif;
    font-size:12px;
    color:#4A4F57;
    background:#FFFFFF;
    outline:none;
    transition:.25s ease;
}

.whatsapp-mini-form textarea{
    min-height:58px;
    resize:none;
}

.whatsapp-mini-form input:focus,
.whatsapp-mini-form select:focus,
.whatsapp-mini-form textarea:focus{
    border-color:#ED8B00;
    box-shadow:0 0 0 3px rgba(237,139,0,.12);
}

.whatsapp-mini-btn{
    min-height:62px;
    border:0;
    border-radius:60px;
    background:#ED8B00;
    color:#FFFFFF;
    font-family:'Montserrat',sans-serif;
    font-size:11px;
    font-weight:800;
    letter-spacing:1px;
    text-transform:uppercase;
    cursor:pointer;
    box-shadow:0 15px 34px rgba(237,139,0,.35);
    transition:.3s ease;
    animation:whatsappPulse 1.8s ease-in-out infinite;
}

.whatsapp-mini-btn:hover{
    transform:translateY(-4px);
    background:#ff9f1c;
    animation:none;
}

@media(max-width:1024px){
    .whatsapp-mini-form{
        grid-template-columns:1fr 1fr;
    }

    .whatsapp-mini-form textarea,
    .whatsapp-mini-btn{
        grid-column:1 / -1;
    }
}

@media(max-width:768px){
    .whatsapp-mini-section{
        padding:28px 0;
    }

    .whatsapp-mini-card{
        padding:26px 18px;
    }

    .whatsapp-mini-title h2{
        font-size:22px;
    }

    .whatsapp-mini-form{
        grid-template-columns:1fr;
        gap:10px;
    }

    .whatsapp-mini-form textarea,
    .whatsapp-mini-btn{
        grid-column:auto;
    }

    .whatsapp-mini-btn{
        min-height:54px;
    }
}
/* ============================= */
/* BACKGROUND EFFECT */
/* ============================= */

body::before{
    content:'';
    position:fixed;
    inset:0;

    background:
    radial-gradient(circle at top left,
    rgba(237,139,0,.08),
    transparent 35%),

    radial-gradient(circle at bottom right,
    rgba(74,79,87,.05),
    transparent 35%);

    z-index:-1;
    pointer-events:none;
}

/* ============================= */
/* GLOBAL */
/* ============================= */

.container{
    width:90%;
    max-width:1400px;
    margin:auto;
}

img{
    max-width:100%;
    display:block;
}

a{
    text-decoration:none;
}
.compact-section{
    padding:45px 0 !important;
}

.compact-section .section-title{
    margin-bottom:24px;
}

.compact-section .section-title span{
    font-size:14px;
    letter-spacing:4px;
    margin-bottom:6px;
}

.compact-section .section-title h2{
    font-size:34px;
    line-height:1.1;
}

.compact-section .about-grid{
    gap:22px;
}

.compact-section .glass-card{
    padding:30px 24px;
}

.compact-section .glass-card i{
    font-size:26px;
    margin-bottom:12px;
}

.compact-section .glass-card h3{
    font-size:23px;
    margin-bottom:8px;
}

.compact-section .glass-card p{
    font-size:14px;
    line-height:1.55;
}
/* LINKS GENERALES */

p a,
.glass-card a,
.footer-link{

    color:var(--orange);

    transition:.3s ease;

}

p a:hover,
.glass-card a:hover,
.footer-link:hover{

    color:var(--oxford);

}

ul{
    list-style:none;
}

/* ============================= */
/* HEADER */
/* ============================= */
#header + .products-section{
    padding-top:150px;
}
#header{
    position:fixed;
    width:100%;
    top:0;
    left:0;
    z-index:9999;

    background:rgba(46,52,64,.96);

    backdrop-filter:blur(12px);

    border-bottom:
    1px solid rgba(255,255,255,.06);

    box-shadow:
    0 5px 20px rgba(0,0,0,.05);

    transition:
    background .4s ease,
    box-shadow .4s ease;
}

#header.scrolled{

    background:#2E3440;

    box-shadow:
    0 10px 30px rgba(0,0,0,.18);

}

.nav-container{
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:20px 0;
}

.logo img{
    max-height:70px;
    width:auto;
}

/* ============================= */
/* MENU */
/* ============================= */

.menu{
    display:flex;
    align-items:center;
    gap:40px;
}

.menu li{
    position:relative;
}

.menu li a{
    color:#FFFFFF;
    font-size:14px;
    font-weight:600;
    letter-spacing:1px;
    text-transform:uppercase;
    transition:.3s ease;
}

.menu li a:hover{
    color:var(--orange);
}

/* ============================= */
/* DROPDOWN */
/* ============================= */

.dropdown{
    position:relative;
}

.dropdown > a{
    display:flex;
    align-items:center;
    gap:8px;
    height:70px;
}

.dropdown::after{
    content:'';
    position:absolute;
    left:0;
    top:100%;
    width:100%;
    height:20px;
}

.dropdown-menu{
    position:absolute;
    top:calc(100% - 5px);
    left:0;

    min-width:260px;

    background:#2E3440;

    backdrop-filter:blur(15px);

    border:
    1px solid rgba(255,255,255,.08);

    border-radius:20px;

    padding:20px;

    display:none;

    box-shadow:
    0 20px 50px rgba(0,0,0,.25);

    z-index:999;
}

.dropdown:hover .dropdown-menu,
.dropdown-menu:hover{
    display:block;
}

.dropdown-menu li{
    margin-bottom:15px;
}

.dropdown-menu li:last-child{
    margin-bottom:0;
}

.dropdown-menu li a{
    display:block;

    color:#FFFFFF !important;

    text-transform:none;

    letter-spacing:.3px;

    font-size:15px;

    font-weight:600;

    padding:12px 14px;

    border-radius:10px;

    transition:.3s ease;

    white-space:nowrap;
}

.dropdown-menu li a:hover{

    background:
    rgba(237,139,0,.12);

    color:var(--orange) !important;

    padding-left:20px;
}

/* ============================= */
/* MENU MOBILE */
/* ============================= */

.menu-mobile{
    display:none;
    font-size:28px;
    color:#FFFFFF;
    cursor:pointer;
}

/* ============================= */
/* HERO */
/* ============================= */

.hero-section{
    min-height:680px;
    position:relative;
    overflow:hidden;
}

.product-hero,
.inner-hero{

    min-height:640px !important;

    display:flex;
    align-items:center;

}

.hero-overlay{
    position:absolute;
    inset:0;

    background:
    linear-gradient(
    rgba(255,255,255,.88),
    rgba(255,255,255,.94)),

    url('images/index-3_img01.jpg')
    center/cover no-repeat;
}

.hero-overlay::after{
    content:'';
    position:absolute;
    inset:0;

    background:
    radial-gradient(circle at center,
    rgba(237,139,0,.10),
    transparent 50%);
}

.hero-item{
    min-height:680px;
    display:flex;
    align-items:center;
    padding:70px 0 55px;
}
.hero-content{
    position:relative;
    z-index:2;

    display:grid;

    grid-template-columns:1fr 1fr;

    align-items:center;

    gap:80px;

    padding-top:55px;
}

.product-hero .hero-content,
.inner-hero .hero-content{
    padding-top:145px;
    padding-bottom:20px;
}

/* ============================= */
/* HERO IMAGE */
/* ============================= */

.hero-image{
    text-align:center;
}

.hero-image img{
    width:100%;
    max-width:500px;

    margin:auto;

    animation:
    floating 4s ease-in-out infinite;

    filter:
    drop-shadow(0 20px 40px rgba(0,0,0,.15));

    transition:.4s ease;
}

.hero-image img:hover{
    transform:scale(1.03);
}

/* ============================= */
/* HERO TEXT */
/* ============================= */

.hero-label{
    display:inline-block;

    color:var(--orange);

    font-size:18px;

    font-weight:700;

    letter-spacing:3px;

    margin-bottom:20px;
}
.product-card h3 a{
    color:inherit;
    transition:.3s ease;
}

.product-card h3 a:hover{
    color:#ED8B00;
}
.hero-text h1{

    font-size:
    clamp(40px,7vw,80px);

    line-height:.95;

    font-weight:900;

    color:var(--oxford);

    text-transform:uppercase;

    margin-bottom:20px;

    letter-spacing:-2px;
}

.hero-text p{
    font-size:20px;
    color:var(--light-gray);
    max-width:600px;
    line-height:1.8;
}

/* ============================= */
/* BUTTON */
/* ============================= */

.btn-modern,
.btn-modern:visited,
.btn-modern:active{

    color:#FFFFFF !important;

}

.btn-modern{

    display:inline-flex;

    align-items:center;
    justify-content:center;

    padding:18px 45px;

    margin-top:40px;

    border-radius:60px;

    background:#ED8B00;
    background:var(--orange);

    font-size:14px;

    font-weight:700;

    letter-spacing:1px;

    text-transform:uppercase;

    transition:.4s ease;

    box-shadow:
    0 10px 40px rgba(237,139,0,.35);
}

.btn-modern:hover{

    transform:translateY(-6px);

    box-shadow:
    0 20px 50px rgba(237,139,0,.45);

}

/* ============================= */
/* SECTION TITLE */
/* ============================= */

.section-title{
    text-align:center;
    margin-bottom:40px;
}

.section-title span{
	color: var(--orange);
	font-size: 16px;
	font-weight: 800;
	letter-spacing: 4px;
	text-transform: uppercase;
}

.section-title h2{
	font-size: 36px;
	font-weight: 800;
	color: var(--oxford);
	margin-top: 12px;
	line-height: 1.1;
}

/* ============================= */
/* PRODUCTS */
/* ============================= */

.products-section{
    padding:50px 0;
}

.products-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:30px;
}

.product-card{
    background:#ffffff;

    border:
    1px solid rgba(74,79,87,.08);

    border-radius:30px;

    padding:45px 30px;

    text-align:center;

    box-shadow:
    0 10px 40px rgba(0,0,0,.05);

    transition:.4s ease;

    cursor:pointer;
}

.product-card:hover{

    transform:translateY(-10px);

    border-color:var(--orange);

    box-shadow:
    0 20px 60px rgba(0,0,0,.08);

}

.product-card img{
    max-width:180px;
    margin:0 auto 25px auto;

    animation:
    floating 4s ease-in-out infinite;
}

.product-card h3{
    font-size:28px;
    color:var(--oxford);
    margin-bottom:15px;
    font-weight:700;
}

.product-card p{
    color:var(--light-gray);
    font-size:16px;
    line-height:1.8;
}

/* ============================= */
/* ABOUT */
/* ============================= */

.about-section{
    padding:90px 0;

    background:
    linear-gradient(
    rgba(255,255,255,.90),
    rgba(255,255,255,.92)),

    url('images/IMG_0069.JPG')
    center/cover fixed;
}

.about-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:30px;
}

/* ============================= */
/* GLASS CARD */
/* ============================= */

.glass-card{
    background:rgba(255,255,255,.75);

    border:
    1px solid rgba(74,79,87,.08);

    border-radius:20px;

    padding:28px 24px;

    backdrop-filter:blur(15px);

    text-align:center;

    box-shadow:
    0 10px 40px rgba(0,0,0,.06);

    transition:.4s ease;
}

.glass-card:hover{
    transform:translateY(-10px);
    border-color:var(--orange);
}

.glass-card i{
    font-size:32px;
    color:var(--orange);
    margin-bottom:20px;
}

.glass-card h3{
    font-size:30px;
    color:var(--oxford);
    margin-bottom:16px;
    font-weight:700;
}

.glass-card p{
    color:var(--light-gray);
    line-height:1.8;
    font-size:16px;
}
.glass-card .socials{
    display:flex;
    justify-content:center;
    align-items:center;
    gap:18px;
    margin:30px auto 22px;
}

.glass-card .socials a{
    display:flex;
    align-items:center;
    justify-content:center;
    padding:0;
    text-align:center;
}

.glass-card .socials a i{
    display:block;
    margin:0;
    line-height:1;
}

.glass-card > a[href*="wa.me"]{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    margin:0 auto;
    color:#ED8B00;
    font-weight:600;
}

.glass-card > a[href*="wa.me"] i{
    margin-bottom:0;
}
/* ============================= */
/* SOCIALS */
/* ============================= */

.socials{
    display:flex;
    justify-content:center;
    gap:20px;
    margin-top:25px;
}

.socials a{
    width:40px;
    height:40px;

    border-radius:50%;

    background:var(--orange);

    display:flex;
    align-items:center;
    justify-content:center;

    transition:.4s ease;

    box-shadow:
    0 10px 30px rgba(237,139,0,.25);
}

.socials a i{
    color:#FFFFFF !important;
    font-size:24px;
    line-height:1;
}

.socials a:hover{
    transform:translateY(-6px);
}

/* ============================= */
/* FOOTER */
/* ============================= */

footer{
    padding:40px 0;
    background:#2E3440;

    border-top:
    1px solid rgba(255,255,255,.06);
}

.footer-content{
    text-align:center;
}

.footer-content p{
    color:var(--orange);
    font-size:15px;
}

/* ============================= */
/* MENU CATALOGO */
/* ============================= */

.menu-catalogo a,
.menu-catalogo a:visited,
.menu-catalogo a:active{

    color:#FFFFFF !important;

}

.menu-catalogo a{

    position:relative;
    overflow:hidden;

    background:
    linear-gradient(
    135deg,
    #ED8B00,
    #ff9f1c);

    padding:14px 24px;

    border-radius:18px;

    display:flex;
    align-items:center;
    gap:14px;

    min-height:60px;

    box-shadow:
    0 12px 30px rgba(237,139,0,.28);

    transition:
    transform .35s ease,
    box-shadow .35s ease;

    isolation:isolate;
}

/* ============================= */
/* HERO CAROUSEL ARROWS */
/* ============================= */

.hero-carousel .owl-nav{
    position:absolute;
    top:50%;
    left:0;
    width:100%;
    transform:translateY(-50%);
    pointer-events:none;
    z-index:5;
}

.hero-carousel .owl-nav button.owl-prev,
.hero-carousel .owl-nav button.owl-next{
    position:absolute;
    width:54px;
    height:54px;
    border-radius:50% !important;
    background:#ED8B00 !important;
    color:#FFFFFF !important;
    display:flex !important;
    align-items:center;
    justify-content:center;
    font-size:20px !important;
    box-shadow:0 12px 30px rgba(237,139,0,.35);
    pointer-events:auto;
    transition:.3s ease;
}

.hero-carousel .owl-nav button.owl-prev{
    left:32px;
}

.hero-carousel .owl-nav button.owl-next{
    right:32px;
}

.hero-carousel .owl-nav button.owl-prev:hover,
.hero-carousel .owl-nav button.owl-next:hover{
    background:#ff9f1c !important;
    transform:translateY(-3px);
}

.hero-carousel .owl-dots{
    position:absolute;
    left:0;
    right:0;
    bottom:28px;
    text-align:center;
    z-index:5;
}

.hero-carousel .owl-dot span{
    width:12px !important;
    height:12px !important;
    background:rgba(237,139,0,.35) !important;
}

.hero-carousel .owl-dot.active span{
    background:#ED8B00 !important;
}

@media(max-width:768px){
    .hero-carousel .owl-nav button.owl-prev,
    .hero-carousel .owl-nav button.owl-next{
        width:42px;
        height:42px;
        font-size:16px !important;
    }

    .hero-carousel .owl-nav button.owl-prev{
        left:12px;
    }

    .hero-carousel .owl-nav button.owl-next{
        right:12px;
    }
}

/* ============================= */
/* POPUP WHATSAPP */
/* ============================= */

.popup-square{
    position:fixed;
    right:28px;
    bottom:28px;
    width:320px;
    max-width:calc(100% - 32px);
    background:#ED8B00;
    color:#FFFFFF;
    border-radius:18px;
    padding:28px;
    z-index:100000;
    box-shadow:0 24px 60px rgba(0,0,0,.28);
    opacity:0;
    visibility:hidden;
    transform:translateY(24px) scale(.96);
    transition:.35s ease;
}

.popup-square.show{
    opacity:1;
    visibility:visible;
    transform:translateY(0) scale(1);
}

.close-square{
    position:absolute;
    top:12px;
    right:12px;
    width:34px;
    height:34px;
    border:0;
    border-radius:50%;
    background:rgba(255,255,255,.18);
    color:#FFFFFF;
    font-size:24px;
    line-height:1;
    cursor:pointer;
}

.close-square:hover{
    background:rgba(255,255,255,.28);
}

.popup-inner{
    text-align:center;
}

.popup-logo{
    max-width:105px;
    margin:0 auto 16px;
}

.popup-label{
    display:block;
    font-size:12px;
    font-weight:800;
    letter-spacing:3px;
    text-transform:uppercase;
    margin-bottom:10px;
}

.popup-inner h3{
    color:#FFFFFF;
    font-size:24px;
    line-height:1.15;
    margin-bottom:12px;
}

.popup-inner p{
    color:#FFFFFF;
    font-size:15px;
    line-height:1.6;
    margin-bottom:20px;
}

.popup-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    min-height:48px;
    padding:0 24px;
    border-radius:60px;
    background:#FFFFFF;
    color:#ED8B00 !important;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.8px;
    box-shadow:0 12px 28px rgba(0,0,0,.18);
    transition:.3s ease;
}

.popup-btn:hover{
    transform:translateY(-3px);
    background:#2E3440;
    color:#FFFFFF !important;
}

@media(max-width:768px){
    .popup-square{
        right:16px;
        bottom:16px;
        width:calc(100% - 32px);
        padding:24px 20px;
    }
}
/* ============================= */
/* LINKS VISITADOS / PAGINA ACTUAL */
/* ============================= */

.menu a:visited,
.dropdown-menu a:visited,
.product-card a:visited{
    color:#ffb347;
}

.menu a.current-page,
.dropdown-menu a.current-page,
.product-card a.current-page{
    color:#ED8B00 !important;
    font-weight:800;
}

.menu a.current-page{
    position:relative;
}

.menu a.current-page::after{
    content:'';
    position:absolute;
    left:0;
    right:0;
    bottom:-8px;
    height:3px;
    border-radius:10px;
    background:#ED8B00;
}

.dropdown-menu a.current-page{
    background:rgba(237,139,0,.14) !important;
    padding-left:20px;
}

.product-card a.current-page{
    text-decoration:underline;
    text-underline-offset:6px;
}

/* ============================= */
/* FORMULARIO CONTACTO */
/* ============================= */

.contact-form-title{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:12px;
    margin-bottom:18px;
}

.contact-form-title i,
.contact-form-title h3{
    margin-bottom:0;
}

.contact-form-card{
    position:relative;
    overflow:hidden;
    animation:contactFloat 4s ease-in-out infinite;
}

.contact-form-card form{
    display:flex;
    flex-direction:column;
    gap:14px;
}

.contact-form-card input,
.contact-form-card select,
.contact-form-card textarea{
    width:100%;
    border:1px solid rgba(74,79,87,.14);
    border-radius:14px;
    padding:15px 16px;
    font-family:'Montserrat',sans-serif;
    font-size:15px;
    color:#4A4F57;
    background:#FFFFFF;
    outline:none;
    transition:.3s ease;
}

.contact-form-card input:focus,
.contact-form-card select:focus,
.contact-form-card textarea:focus{
    border-color:#ED8B00;
    box-shadow:0 0 0 4px rgba(237,139,0,.12);
}

.contact-submit{
    width:100%;
    margin-top:8px;
    border:0;
    cursor:pointer;
    gap:10px;
    animation:whatsappPulse 1.8s ease-in-out infinite;
}

.contact-submit:hover{
    animation:none;
}

@keyframes contactFloat{
    0%,100%{ transform:translateY(0); }
    50%{ transform:translateY(-6px); }
}

@keyframes whatsappPulse{
    0%,100%{ box-shadow:0 10px 40px rgba(237,139,0,.35); }
    50%{ box-shadow:0 16px 52px rgba(237,139,0,.55); }
}

/* ============================= */
/* ROLLOVER CARDS */
/* ============================= */

.rollover-card{
    position:relative;
    overflow:hidden;
    transition:transform .35s ease, box-shadow .35s ease, border-color .35s ease;
}

.rollover-card::before{
    content:'';
    position:absolute;
    inset:0;
    background:linear-gradient(135deg, rgba(237,139,0,.14), rgba(255,255,255,0));
    opacity:0;
    transition:.35s ease;
    pointer-events:none;
}

.rollover-card i,
.rollover-card h3,
.rollover-card p{
    position:relative;
    z-index:2;
    transition:transform .35s ease, color .35s ease;
}

.rollover-card:hover{
    transform:translateY(-14px) scale(1.02);
    border-color:#ED8B00;
    box-shadow:0 24px 70px rgba(237,139,0,.18);
}

.rollover-card:hover::before{
    opacity:1;
}

.rollover-card:hover i{
    transform:translateY(-4px) scale(1.15) rotate(-6deg);
    color:#ED8B00;
}

.rollover-card:hover h3{
    transform:translateY(-3px);
    color:#ED8B00;
}

.rollover-card:hover p{
    transform:translateY(-2px);
}

/* ============================= */
/* IMAGENES FLOTANDO */
/* ============================= */

.hero-image img,
.product-card img,
.info-popup-content img,
.modal-content img,
.popup-logo{
    animation:floating 4s ease-in-out infinite;
}

/* ============================= */
/* POPUPS INFORMATIVOS */
/* ============================= */

.info-card{
    cursor:pointer;
}

.info-popup{
    position:fixed;
    inset:0;
    background:rgba(46,52,64,.75);
    z-index:100001;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:24px;
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transition:.35s ease;
}

.info-popup.show{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
}

.info-popup-content{
    position:relative;
    width:min(520px,100%);
    background:#FFFFFF;
    border-radius:22px;
    padding:34px;
    text-align:center;
    box-shadow:0 30px 80px rgba(0,0,0,.28);
    transform:translateY(22px) scale(.96);
    transition:.35s ease;
}

.info-popup.show .info-popup-content{
    transform:translateY(0) scale(1);
}

.info-popup-content img{
    max-width:220px;
    max-height:220px;
    object-fit:contain;
    margin:0 auto 20px;
}

.info-popup-content span{
    display:block;
    color:#ED8B00;
    font-size:13px;
    font-weight:800;
    letter-spacing:3px;
    text-transform:uppercase;
    margin-bottom:8px;
}

.info-popup-content h3{
    color:#4A4F57;
    font-size:32px;
    line-height:1.1;
    margin-bottom:12px;
}

.info-popup-content p{
    color:#6B7280;
    font-size:16px;
    line-height:1.7;
    margin-bottom:22px;
}

.info-popup-close{
    position:absolute;
    top:14px;
    right:14px;
    width:36px;
    height:36px;
    border:0;
    border-radius:50%;
    background:#ED8B00;
    color:#FFFFFF;
    font-size:25px;
    cursor:pointer;
}

/* ============================= */
/* MODAL PRODUCTO */
/* ============================= */

.modal-product{
    position:fixed;
    inset:0;
    background:rgba(46,52,64,.76);
    display:flex;
    align-items:center;
    justify-content:center;
    padding:24px;
    z-index:100002;
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transition:.35s ease;
}

.modal-product.show{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
}

.modal-content{
    position:relative;
    width:min(520px,100%);
    background:#FFFFFF;
    border-radius:22px;
    padding:34px;
    text-align:center;
    box-shadow:0 30px 80px rgba(0,0,0,.28);
    transform:translateY(22px) scale(.96);
    transition:.35s ease;
}

.modal-product.show .modal-content{
    transform:translateY(0) scale(1);
}

.modal-content img{
    max-width:240px;
    max-height:240px;
    object-fit:contain;
    margin:0 auto 18px;
}

.modal-content h3{
    color:#ED8B00;
    font-size:30px;
    line-height:1.15;
    margin:20px 0 10px;
}

.modal-content p{
    color:#6B7280;
    font-size:16px;
    line-height:1.7;
    margin-bottom:22px;
}

.modal-cta{
    margin-top:4px;
}

.close-modal{
    position:absolute;
    top:14px;
    right:14px;
    width:36px;
    height:36px;
    border:0;
    border-radius:50%;
    background:#ED8B00;
    color:#FFFFFF;
    font-size:25px;
    cursor:pointer;
}

@media(max-width:768px){
    .info-popup-content,
    .modal-content{
        padding:28px 22px;
    }

    .info-popup-content h3,
    .modal-content h3{
        font-size:26px;
    }
}
.contact-grid{
    display:grid;
    grid-template-columns:1.25fr .75fr;
    gap:30px;
    align-items:stretch;
}

.contact-form-card,
.contact-info-card{
    height:100%;
}

.contact-form-title{
    justify-content:flex-start;
}

.contact-form-title h2{
    font-size:30px;
    color:#4A4F57;
    line-height:1.1;
}

@media(max-width:768px){
    .contact-grid{
        grid-template-columns:1fr;
    }

    .contact-form-title{
        justify-content:center;
        text-align:center;
    }

    .contact-form-title h2{
        font-size:24px;
    }
}
/* ============================= */
/* RESPONSIVE GENERAL */
/* ============================= */

@media(max-width:1024px){
    .products-grid{
        grid-template-columns:repeat(2,1fr);
    }

    .about-grid{
        grid-template-columns:repeat(2,1fr);
    }

    .hero-content{
        gap:42px;
    }
}

@media(max-width:768px){
    body{
        overflow-x:hidden;
    }

    .container{
        width:88%;
    }

    #header{
        z-index:99999;
    }

    .nav-container{
        min-height:86px;
        padding:12px 0;
    }

    .logo img{
        max-height:58px;
    }

    .menu-mobile{
        display:flex;
        align-items:center;
        justify-content:center;
        width:44px;
        height:44px;
        color:#FFFFFF;
        z-index:100001;
    }

    nav{
        width:100%;
    }

    .menu{
        position:absolute;
        top:100%;
        left:0;
        width:100%;
        max-height:calc(100vh - 86px);
        overflow-y:auto;
        background:#2E3440;
        padding:22px;
        display:none;
        flex-direction:column;
        align-items:stretch;
        gap:10px;
        border-top:1px solid rgba(255,255,255,.08);
        box-shadow:0 20px 40px rgba(0,0,0,.25);
        z-index:100000;
    }

    .menu.active{
        display:flex;
    }

    .menu > li{
        width:100%;
    }

    .menu > li > a,
    .dropdown > a{
        width:100%;
        min-height:48px;
        height:auto;
        display:flex;
        align-items:center;
        justify-content:space-between;
        padding:12px 14px;
        border-radius:14px;
        background:rgba(255,255,255,.04);
        color:#FFFFFF !important;
    }

    .dropdown::after{
        display:none;
    }

    .dropdown-menu{
        position:static;
        width:100%;
        min-width:0;
        display:none;
        margin-top:8px;
        padding:12px;
        border-radius:16px;
        background:rgba(255,255,255,.06);
        box-shadow:none;
    }

    .dropdown.open .dropdown-menu{
        display:block;
    }

    .dropdown-menu li{
        margin-bottom:6px;
    }

    .dropdown-menu li a{
        display:block;
        padding:12px 14px;
        white-space:normal;
    }

    .menu-catalogo a{
        width:100%;
        justify-content:center;
        min-height:58px;
        margin-top:8px;
    }

    .hero-section,
    .product-hero,
    .inner-hero{
        min-height:auto !important;
    }

    .hero-item{
        min-height:auto;
        padding:100px 0 34px;
    }

    .hero-content,
    .product-hero .hero-content,
    .inner-hero .hero-content{
        grid-template-columns:1fr;
        gap:22px;
        padding-top:110px;
        padding-bottom:36px;
        text-align:center;
    }

    .hero-image{
        order:1;
    }

    .hero-text{
        order:2;
    }

    .hero-image img{
        max-width:260px;
        max-height:320px;
        object-fit:contain;
    }

    .hero-label{
        font-size:13px;
        letter-spacing:2px;
        margin-bottom:12px;
    }

    .hero-text h1{
        font-size:38px;
        line-height:1.02;
        letter-spacing:0;
        margin-bottom:16px;
    }

    .hero-text p{
        font-size:15px;
        line-height:1.6;
        max-width:100%;
    }

    .btn-modern{
        width:100%;
        max-width:310px;
        min-height:52px;
        padding:14px 22px;
        margin-top:24px;
        font-size:13px;
    }

    .products-section,
    .about-section,
    .compact-section{
        padding:48px 0 !important;
    }

    .section-title{
        margin-bottom:26px;
    }

    .section-title span{
        font-size:13px;
        letter-spacing:3px;
    }

    .section-title h2{
        font-size:30px;
        line-height:1.12;
    }

    .products-grid,
    .about-grid{
        grid-template-columns:1fr;
        gap:22px;
    }

    .product-card,
    .glass-card{
        padding:28px 22px;
        border-radius:20px;
    }

    .product-card img{
        max-width:165px;
        margin-bottom:18px;
    }

    .product-card h3,
    .glass-card h3{
        font-size:23px;
    }

    .product-card p,
    .glass-card p{
        font-size:14px;
        line-height:1.6;
    }

    .glass-card i{
        font-size:28px;
        margin-bottom:12px;
    }

    .socials{
        gap:12px;
        flex-wrap:wrap;
    }

    .socials a{
        width:44px;
        height:44px;
    }

    .popup-square{
        right:14px;
        bottom:14px;
        width:calc(100% - 28px);
        padding:22px 18px;
    }

    .info-popup,
    .modal-product{
        padding:16px;
        align-items:center;
    }

    .info-popup-content,
    .modal-content{
        width:100%;
        max-height:88vh;
        overflow-y:auto;
        padding:28px 20px;
        border-radius:18px;
    }

    .info-popup-content img,
    .modal-content img{
        max-width:180px;
        max-height:180px;
    }

    .info-popup-content h3,
    .modal-content h3{
        font-size:25px;
    }

    .info-popup-content p,
    .modal-content p{
        font-size:14px;
        line-height:1.6;
    }

    footer{
        padding:28px 0;
    }

    .footer-content p{
        font-size:13px;
        line-height:1.6;
    }
}
/* Aviso de privacidad */
.privacy-hero{
    padding:150px 0 55px;
    background:#F4F6F8;
}

.privacy-section{
    padding:60px 0;
}

.privacy-card{
    max-width:980px;
    margin:0 auto;
}
.modal-next{
    width:54px;
    height:54px;
    margin:8px auto 0;
    border:0;
    border-radius:50%;
    background:#ED8B00;
    color:#ffffff;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:20px;
    cursor:pointer;
    transition:.3s ease;
}

.modal-next:hover{
    background:#4A4F57;
    transform:translateX(4px);
}
/* Solo empaques.html */
.empaques-page .product-card img{
    max-width:240px;
    max-height:240px;
}

.empaques-page .modal-content img{
    max-width:320px;
    max-height:320px;
}

@media(max-width:768px){
    .empaques-page .product-card img{
        max-width:210px;
        max-height:210px;
    }

    .empaques-page .modal-content img{
        max-width:260px;
        max-height:260px;
    }
}
.menu-catalogo.menu-catalogo-split{
    display:flex;
    align-items:center;
}

.menu-catalogo.menu-catalogo-split a{
    width:50%;
    min-width:0;
    justify-content:center;
    padding-left:12px;
    padding-right:12px;
}

.menu-catalogo.menu-catalogo-split a:first-child{
    border-radius:60px 0 0 60px;
}

.menu-catalogo.menu-catalogo-split a:last-child{
    border-radius:0 60px 60px 0;
    border-left:1px solid rgba(255,255,255,.35);
}
.products-section-three .products-grid{
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

@media(max-width:1024px){
    .products-section-three .products-grid{
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media(max-width:768px){
    .products-section-three .products-grid{
        grid-template-columns: 1fr;
    }
}
/* Efecto flotante para imagenes de producto */
@keyframes tofImageFloat {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-10px); }
}

img:not([src*="Logo"]):not(.popup-logo),
.hero-image img,
.product-card img,
.category-hero img,
.product-hero img,
.gallery img,
.main-image img,
.thumb img,
.benefit img {
    animation: tofImageFloat 4s ease-in-out infinite;
    will-change: transform;
}

.logo img,
.popup-logo,
img[src*="Logo"] {
    animation: none !important;
}

