/* LVC GLOBAL DESIGN SYSTEM */
:root{
  --lvc-red:#d71920;
  --lvc-navy:#061a35;
  --lvc-blue:#12385f;
  --lvc-soft:#f5f7fb;
  --lvc-text:#102033;
  --lvc-green:#25D366;
}

html{scroll-behavior:smooth}
body{
  background:
  radial-gradient(circle at 10% 10%, rgba(215,25,32,.04), transparent 24%),
  radial-gradient(circle at 90% 30%, rgba(18,56,95,.06), transparent 28%),
  #fff !important;
}

/* Global hero movement */
.hero,
.home-hero,
.page-hero,
.product-hero{
  position:relative !important;
  overflow:hidden !important;
  min-height:620px !important;
  background-size:125% 125% !important;
  animation:lvcHeroMove 20s ease-in-out infinite alternate !important;
}

.hero:after,
.home-hero:after,
.page-hero:after,
.product-hero:after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
  radial-gradient(circle at 72% 52%, rgba(255,140,0,.22), transparent 28%),
  linear-gradient(120deg, transparent 0 55%, rgba(215,25,32,.16) 56%, transparent 70%);
  animation:lvcGlow 3s ease-in-out infinite alternate;
}

.hero .wrap,
.home-hero .wrap,
.page-hero .wrap,
.product-hero .wrap{
  position:relative;
  z-index:2;
}

@keyframes lvcHeroMove{
  0%{background-position:40% 50%;filter:saturate(1)}
  50%{background-position:65% 45%;filter:saturate(1.18) contrast(1.06)}
  100%{background-position:48% 60%;filter:saturate(1.08)}
}

@keyframes lvcGlow{
  from{opacity:.35}
  to{opacity:.88}
}

/* Cards and panels */
.card,
.product-block,
.product-card,
.download-card,
.panel,
.case-card,
.service-panel,
.director-card,
.eat-card,
.cat,
.quick-card,
.download-card{
  border-radius:12px !important;
  transition:transform .3s ease, box-shadow .3s ease, filter .3s ease !important;
  will-change:transform;
}

.card:hover,
.product-block:hover,
.product-card:hover,
.download-card:hover,
.panel:hover,
.case-card:hover,
.service-panel:hover,
.director-card:hover,
.eat-card:hover,
.cat:hover,
.quick-card:hover{
  transform:translateY(-10px) scale(1.01) !important;
  box-shadow:0 35px 95px rgba(0,0,0,.22) !important;
}

/* Buttons */
.btn{
  border-radius:5px !important;
  position:relative !important;
  overflow:hidden !important;
  transition:transform .28s ease, box-shadow .28s ease, filter .28s ease !important;
}

.btn:hover{
  transform:translateY(-5px) scale(1.035) !important;
  box-shadow:0 18px 45px rgba(215,25,32,.36) !important;
  filter:brightness(1.06);
}

.btn:before{
  content:"";
  position:absolute;
  top:0;
  left:-120%;
  width:80%;
  height:100%;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.28),transparent);
  transform:skewX(-18deg);
  transition:.55s;
}

.btn:hover:before{left:140%}

/* WhatsApp */
.whatsapp,
.nav-whatsapp{
  background:var(--lvc-green) !important;
  box-shadow:0 14px 35px rgba(37,211,102,.35) !important;
}

.nav-whatsapp{
  gap:9px;
}

.nav-whatsapp svg{
  width:21px;
  height:21px;
  fill:white;
  display:block;
}

.floating-whatsapp{
  position:fixed;
  right:24px;
  bottom:24px;
  width:64px;
  height:64px;
  background:#25D366;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  z-index:999;
  box-shadow:0 18px 45px rgba(37,211,102,.45);
  animation:lvcWhatsappPulse 2.2s infinite;
}

.floating-whatsapp svg{
  width:34px;
  height:34px;
  fill:white;
}

.floating-whatsapp:hover{
  transform:translateY(-6px) scale(1.06);
}

@keyframes lvcWhatsappPulse{
  0%{box-shadow:0 0 0 0 rgba(37,211,102,.55)}
  70%{box-shadow:0 0 0 18px rgba(37,211,102,0)}
  100%{box-shadow:0 0 0 0 rgba(37,211,102,0)}
}

/* Images */
.product-image img,
.product-card img,
.product-brochure img,
.director-photo img,
.gallery-item img{
  transition:transform .45s ease, filter .45s ease !important;
}

.product-block:hover .product-image img,
.product-card:hover img,
.product-brochure:hover img,
.director-card:hover .director-photo img,
.gallery-item:hover img{
  transform:scale(1.045);
  filter:contrast(1.05) saturate(1.05);
}

/* Headings */
.title h2:after{
  content:"";
  display:block;
  width:90px;
  height:5px;
  background:var(--lvc-red);
  margin:16px auto 0;
}

.title:not(.center) h2:after{
  margin-left:0;
}

/* Dark sections readable */
.dark,
section.dark{
  background:linear-gradient(135deg,#061a35 0%,#12385f 55%,#061a35 100%) !important;
  color:white !important;
}

.dark h1,.dark h2,.dark h3,.dark p,
section.dark h1,section.dark h2,section.dark h3,section.dark p{
  color:white !important;
}

.dark .card,
section.dark .card{
  background:#0d2d50 !important;
  border-color:#345778 !important;
}

/* Products page premium override */
.products-layout{
  gap:42px !important;
}

.product-block{
  border:0 !important;
  border-left:8px solid var(--lvc-red) !important;
  background:white !important;
}

.product-info h3{
  font-size:38px !important;
}

.product-image{
  background:#f8fafc !important;
}

.product-image img{
  object-fit:cover !important;
  object-position:top center !important;
}

/* Motion */
section{
  animation:lvcFadeUp .75s ease both;
}

@keyframes lvcFadeUp{
  from{opacity:0;transform:translateY(20px)}
  to{opacity:1;transform:translateY(0)}
}

.logo img{
  animation:lvcLogoFloat 4.8s ease-in-out infinite;
}

@keyframes lvcLogoFloat{
  0%{transform:translateY(0)}
  50%{transform:translateY(-5px)}
  100%{transform:translateY(0)}
}

@media(max-width:900px){
  .hero,.home-hero,.page-hero,.product-hero{
    min-height:520px !important;
  }
  .floating-whatsapp{
    right:16px;
    bottom:16px;
    width:56px;
    height:56px;
  }
}

/* LVC Gallery Lightbox */
.lvc-lightbox{
position:fixed;
inset:0;
background:rgba(0,0,0,.88);
display:none;
align-items:center;
justify-content:center;
z-index:9999;
padding:30px;
}
.lvc-lightbox img{
max-width:94vw;
max-height:88vh;
box-shadow:0 25px 80px rgba(0,0,0,.55);
}
.lvc-lightbox.show{display:flex}
.lvc-lightbox span{
position:absolute;
top:20px;
right:30px;
font-size:42px;
color:white;
cursor:pointer;
}

/* =========================================================
   LVC PREMIUM PAGE HERO
   ========================================================= */

.page-hero,
.hero{
position:relative;
min-height:420px !important;
display:flex;
align-items:center;
overflow:hidden;
background:
linear-gradient(rgba(6,26,53,.65),rgba(6,26,53,.72)),
url('/lvc-assets/mining/hero-bg.jpg') center center/cover no-repeat;
animation:lvcHeroZoom 30s ease-in-out infinite alternate;
}

.page-hero::before,
.hero::before{
content:"";
position:absolute;
inset:0;
background:
radial-gradient(circle at 75% 30%,rgba(255,130,0,.20),transparent 30%),
radial-gradient(circle at 20% 70%,rgba(255,255,255,.06),transparent 35%);
animation:lvcGlowMove 8s ease-in-out infinite alternate;
pointer-events:none;
}

.page-hero .wrap,
.hero .wrap{
position:relative;
z-index:2;
}

@keyframes lvcHeroZoom{

0%{
background-size:100%;
background-position:center;
}

50%{
background-size:110%;
background-position:55% 45%;
}

100%{
background-size:120%;
background-position:center;
}

}

@keyframes lvcGlowMove{

from{
transform:translateX(-40px);
opacity:.45;
}

to{
transform:translateX(40px);
opacity:.9;
}

}

/* =========================================================
   QUICK ACCESS
   ========================================================= */

.quick-card{

background:white !important;

color:#0d2343 !important;

padding:34px;

border-radius:14px;

}

.quick-card h3{

color:#0d2343 !important;

font-size:30px;

margin-bottom:18px;

}

.quick-card p{

color:#35506d !important;

font-size:17px;

line-height:1.8;

}

.quick-card a{

margin-top:18px;

display:inline-block;

}

/* =========================================================
   CONTACT CARDS
   ========================================================= */

.contact-form-card{

background:#082347 !important;

}

.contact-form-card h2,

.contact-form-card p{

color:white !important;

}

/* =========================================================
   SECTION ANIMATION
   ========================================================= */

section{

animation:fadeUp .7s ease both;

}

@keyframes fadeUp{

from{

opacity:0;

transform:translateY(35px);

}

to{

opacity:1;

transform:none;

}

}


/* =========================================================
   LVC PREMIUM NAVIGATION + MEGA MENU
   ========================================================= */

.nav{
height:96px !important;
backdrop-filter:blur(12px);
border-bottom:1px solid rgba(6,26,53,.08);
}

.menu{
align-items:center;
}

.menu a{
position:relative;
padding:38px 0;
}

.menu a::after{
content:"";
position:absolute;
left:0;
bottom:28px;
width:0;
height:4px;
background:#d71920;
transition:.28s ease;
}

.menu a:hover::after{
width:100%;
}

.has-mega{
position:relative;
}

.mega-menu{
position:absolute;
top:78px;
left:50%;
transform:translateX(-50%) translateY(20px);
width:880px;
background:white;
box-shadow:0 30px 90px rgba(0,0,0,.18);
border-top:6px solid #d71920;
padding:28px;
display:grid;
grid-template-columns:1fr 1fr 1fr;
gap:20px;
opacity:0;
visibility:hidden;
transition:.28s ease;
z-index:999;
}

.has-mega:hover .mega-menu{
opacity:1;
visibility:visible;
transform:translateX(-50%) translateY(0);
}

.mega-item{
background:#f5f7fb;
padding:20px;
border-left:5px solid #d71920;
}

.mega-item b{
display:block;
color:#061a35;
font-size:17px;
margin-bottom:8px;
}

.mega-item span{
display:block;
color:#52647a;
font-size:14px;
line-height:1.5;
}

.mega-item:hover{
background:#061a35;
}

.mega-item:hover b,
.mega-item:hover span{
color:white;
}

@media(max-width:1000px){
.mega-menu{display:none}
}


/* LVC Reusable Stats */
.lvc-stats{
background:#061a35;
color:white;
padding:55px 0;
}
.stats-grid{
display:grid;
grid-template-columns:repeat(4,1fr);
gap:20px;
}
.stat-box{
background:#ffffff10;
border:1px solid #ffffff24;
border-left:6px solid #d71920;
padding:28px;
}
.stat-box b{
font-size:42px;
display:block;
color:white;
}
.stat-box span{
color:#dbe7f5;
font-weight:800;
}
@media(max-width:900px){
.stats-grid{grid-template-columns:1fr}
}

/* FIX CONTACT QUICK ACCESS CARDS TEXT */
.quick-actions .quick-card,
.dark .quick-actions .quick-card,
section.dark .quick-actions .quick-card{
    background:#ffffff !important;
    color:#07306b !important;
}

.quick-actions .quick-card h3,
.dark .quick-actions .quick-card h3,
section.dark .quick-actions .quick-card h3{
    color:#07306b !important;
    font-weight:900 !important;
}

.quick-actions .quick-card p,
.dark .quick-actions .quick-card p,
section.dark .quick-actions .quick-card p{
    color:#07306b !important;
    font-weight:600 !important;
}

.quick-actions .quick-card .btn{
    color:#ffffff !important;
}

/* =========================================================
   LVC MOBILE + TABLET RESPONSIVE FIX
   ========================================================= */

@media(max-width:1100px){

    body{
        overflow-x:hidden !important;
    }

    .top{
        display:none !important;
    }

    .nav{
        height:auto !important;
        padding:14px 18px !important;
        flex-wrap:wrap !important;
        gap:14px !important;
        position:relative !important;
    }

    .logo img{
        height:56px !important;
    }

    .logo{
        flex:1 1 100% !important;
        justify-content:center !important;
        text-align:center !important;
    }

    .menu{
        display:flex !important;
        flex-wrap:wrap !important;
        justify-content:center !important;
        gap:10px 16px !important;
        width:100% !important;
        font-size:12px !important;
    }

    .menu a{
        padding:8px 0 !important;
    }

    .menu a::after,
    .mega-menu{
        display:none !important;
    }

    .nav-whatsapp{
        margin:auto !important;
        padding:12px 18px !important;
    }

    .hero,
    .home-hero,
    .page-hero,
    .product-hero{
        min-height:520px !important;
        padding:70px 0 !important;
        text-align:center !important;
    }

    h1{
        font-size:44px !important;
        line-height:1.05 !important;
    }

    h2{
        font-size:34px !important;
    }

    .hero p,
    .home-hero p,
    .page-hero p,
    .product-hero p{
        font-size:17px !important;
        margin-left:auto !important;
        margin-right:auto !important;
    }

    section{
        padding:58px 0 !important;
    }

    .grid2,
    .grid3,
    .stats-grid,
    .footer-main,
    .eat-grid,
    .quick-actions,
    .download-grid,
    .gallery-grid,
    .case-meta,
    .product-meta,
    .app-grid,
    .value-grid{
        grid-template-columns:1fr !important;
    }

    .product-band,
    .product-hero-v2,
    .spec-wrap,
    .contact-wrap,
    .case-card,
    .service-panel,
    .story-wrap,
    .split-panel,
    .directors-grid{
        grid-template-columns:1fr !important;
    }

    .product-band:nth-child(even) .product-visual,
    .case-card:nth-child(even) .case-visual,
    .service-panel:nth-child(even) .service-image{
        order:0 !important;
    }

    .product-copy,
    .case-content,
    .service-content,
    .split-text,
    .contact-info,
    .contact-form-card{
        padding:34px 22px !important;
    }

    .product-visual{
        padding:26px !important;
    }

    .product-visual img,
    .product-hero-img img{
        max-height:none !important;
        width:100% !important;
        height:auto !important;
    }

    .product-hero-img{
        height:auto !important;
        padding:28px !important;
    }

    .director-photo{
        height:auto !important;
    }

    .director-photo img{
        width:100% !important;
        height:auto !important;
        object-fit:contain !important;
    }

    .form-grid{
        grid-template-columns:1fr !important;
    }

    .full{
        grid-column:auto !important;
    }

    .footer{
        text-align:center !important;
    }

    .footer img{
        margin:auto !important;
    }

    .floating-whatsapp{
        width:56px !important;
        height:56px !important;
        right:16px !important;
        bottom:16px !important;
    }
}

@media(max-width:600px){

    .wrap{
        width:92% !important;
    }

    h1{
        font-size:36px !important;
    }

    h2{
        font-size:30px !important;
    }

    .badge{
        font-size:11px !important;
        padding:9px 12px !important;
    }

    .btn{
        width:100% !important;
        justify-content:center !important;
        margin:8px 0 !important;
    }

    .logo div{
        font-size:15px !important;
    }

    .logo small{
        font-size:11px !important;
    }

    .menu{
        font-size:11px !important;
    }

    .card,
    .quick-card,
    .download-card,
    .panel,
    .stat-box,
    .eat-card{
        padding:22px !important;
    }

    .product-copy h2{
        font-size:34px !important;
    }

    .floating-whatsapp:after{
        display:none !important;
    }
}

/* LVC WhatsApp Chat Widget */
.lvc-wa-float{
position:fixed;
right:24px;
bottom:24px;
z-index:9999;
border:0;
background:transparent;
display:flex;
align-items:center;
gap:10px;
cursor:pointer;
}
.lvc-wa-float span{
background:#061a35;
color:white;
padding:12px 16px;
border-radius:10px;
font-weight:900;
box-shadow:0 16px 40px rgba(0,0,0,.25);
}
.lvc-wa-float svg{
width:62px;
height:62px;
background:#25D366;
fill:white;
padding:15px;
border-radius:50%;
box-shadow:0 18px 45px rgba(37,211,102,.45);
animation:lvcWhatsappPulse 2.2s infinite;
}
.lvc-wa-widget{
position:fixed;
right:24px;
bottom:100px;
width:340px;
background:white;
border-radius:14px;
box-shadow:0 28px 90px rgba(0,0,0,.28);
overflow:hidden;
z-index:9999;
display:none;
}
.lvc-wa-widget.show{
display:block;
}
.lvc-wa-head{
background:#25D366;
color:white;
padding:16px;
display:flex;
justify-content:space-between;
align-items:center;
}
.lvc-wa-head b{
display:block;
font-size:18px;
}
.lvc-wa-head span{
font-size:12px;
opacity:.9;
}
.lvc-wa-head button{
border:0;
background:transparent;
color:white;
font-size:26px;
cursor:pointer;
}
.lvc-wa-body{
padding:18px;
background:#f5f7fb;
}
.lvc-wa-msg{
background:white;
color:#07306b;
padding:14px;
border-radius:10px;
margin-bottom:12px;
font-weight:700;
line-height:1.5;
}
.lvc-wa-body textarea{
width:100%;
height:90px;
background:white !important;
color:#07306b !important;
border:1px solid #d7e0ea !important;
border-radius:10px;
padding:12px;
resize:none;
}
.lvc-wa-body button{
width:100%;
margin-top:12px;
background:#25D366;
color:white;
border:0;
padding:14px;
border-radius:8px;
font-weight:900;
cursor:pointer;
}
@media(max-width:600px){
.lvc-wa-widget{
right:14px;
left:14px;
width:auto;
bottom:90px;
}
.lvc-wa-float span{
display:none;
}
}
