/* ============================================================
   LG Subscribe Luxury Smooth Final Animation v35
   Goal: premium, smooth, lightweight, original background.
   Effects kept intentional: fade, hero reveal, card lift, button glow,
   FAQ accordion polish, count-up support, navbar blur, soft promo pulse, card focus, WhatsApp breathing, compare drawer polish.
   ============================================================ */

:root{
    --lg-premium-red:#ff0033;
    --lg-premium-red-dark:#9C0E2E;
    --lg-premium-red-soft:rgba(255,0,51,.10);
    --lg-premium-red-mid:rgba(255,0,51,.18);
    --lg-premium-white:#ffffff;
    --lg-premium-ink:#121212;
    --lg-premium-muted:#555;
    --lg-premium-shadow:0 16px 38px rgba(0,0,0,.11);
    --lg-premium-shadow-soft:0 8px 22px rgba(0,0,0,.075);
    --lg-premium-red-shadow:0 12px 30px rgba(255,0,51,.16);
    --lg-premium-ease:cubic-bezier(.22,.72,.24,1);
    --lg-premium-ease-out:cubic-bezier(.16,1,.3,1);
    --lg-premium-fast:220ms;
    --lg-premium-medium:560ms;
    --lg-premium-slow:880ms;
}

html{ scroll-behavior:smooth; }

body{
    -webkit-font-smoothing:antialiased;
    text-rendering:optimizeLegibility;
    overflow-x:hidden;
}

/* Keep original site background. No forced dark theme. */
body.lg-luxury-smooth{
    background:inherit;
}

/* ---------------- Page load: subtle premium entrance ---------------- */
body.lg-page-soft-enter main,
body.lg-page-soft-enter .main-content,
body.lg-page-soft-enter footer{
    animation:lgPageSoftEnter 520ms var(--lg-premium-ease-out) both;
}

@keyframes lgPageSoftEnter{
    from{ opacity:0; transform:translate3d(0,8px,0); }
    to{ opacity:1; transform:translate3d(0,0,0); }
}

/* ---------------- Hero / first screen reveal ---------------- */
.lg-hero-refined{
    position:relative;
    overflow:hidden;
    isolation:isolate;
}

.lg-hero-refined::after{
    content:"";
    position:absolute;
    width:min(500px,68vw);
    height:min(500px,68vw);
    right:-17%;
    top:-22%;
    z-index:0;
    pointer-events:none;
    border-radius:999px;
    background:radial-gradient(circle, rgba(255,0,51,.09), rgba(255,0,51,.035) 38%, transparent 70%);
    opacity:.68;
    transform:translate3d(0,0,0);
    animation:lgSubtleGlow 11s ease-in-out infinite alternate;
}

.lg-hero-refined > *{
    position:relative;
    z-index:1;
}

@keyframes lgSubtleGlow{
    from{ transform:translate3d(0,0,0) scale(1); opacity:.48; }
    to{ transform:translate3d(-10px,10px,0) scale(1.035); opacity:.78; }
}

.lg-text-soft{
    opacity:0;
    transform:translate3d(0,18px,0);
    transition:
        opacity 620ms var(--lg-premium-ease-out),
        transform 620ms var(--lg-premium-ease-out);
    transition-delay:var(--lg-soft-delay,0ms);
}

body.lg-animations-ready .lg-text-soft,
.lg-text-soft.is-visible{
    opacity:1;
    transform:translate3d(0,0,0);
}

/* Hero product image: very soft float only for main visual */
.lg-soft-float-image{
    transform:translate3d(0,var(--lg-parallax-y,0px),0);
    will-change:transform;
}

@media (min-width:901px){
    .lg-soft-float-image.lg-float-active{
        animation:lgHeroSoftFloat 7.5s ease-in-out infinite;
    }
}

@keyframes lgHeroSoftFloat{
    0%,100%{ transform:translate3d(0,var(--lg-parallax-y,0px),0); }
    50%{ transform:translate3d(0,calc(var(--lg-parallax-y,0px) - 5px),0); }
}

/* ---------------- Section spotlight: luxury but extremely subtle ---------------- */
.lg-section-spotlight{
    position:relative;
    isolation:isolate;
}

.lg-section-spotlight::before{
    content:"";
    position:absolute;
    inset:8px;
    z-index:-1;
    pointer-events:none;
    border-radius:28px;
    opacity:0;
    background:radial-gradient(circle at 50% 0%, rgba(255,0,51,.055), transparent 55%);
    transform:translate3d(0,10px,0) scale(.985);
    transition:opacity 700ms ease, transform 700ms var(--lg-premium-ease-out);
}

.lg-section-spotlight.is-visible::before,
.lg-section-spotlight.lg-spotlight-active::before{
    opacity:1;
    transform:translate3d(0,0,0) scale(1);
}

/* ---------------- Scroll reveal: light and smooth ---------------- */
.lg-reveal{
    opacity:0;
    transform:translate3d(0,18px,0);
    transition:
        opacity var(--lg-premium-medium) var(--lg-premium-ease),
        transform var(--lg-premium-medium) var(--lg-premium-ease);
    transition-delay:var(--lg-reveal-delay,0ms);
    will-change:opacity,transform;
}

.lg-reveal.is-visible{
    opacity:1;
    transform:translate3d(0,0,0);
    will-change:auto;
}

/* ---------------- Cards: hover lift + clean reflection ---------------- */
.lg-refined-card{
    position:relative;
    backface-visibility:hidden;
    transform:translateZ(0);
    transition:
        transform var(--lg-premium-fast) ease,
        box-shadow var(--lg-premium-fast) ease,
        border-color var(--lg-premium-fast) ease,
        background-color var(--lg-premium-fast) ease;
}

.lg-refined-card::before{
    content:"";
    position:absolute;
    inset:0;
    border-radius:inherit;
    pointer-events:none;
    opacity:0;
    z-index:1;
    background:linear-gradient(135deg, rgba(255,255,255,.16), transparent 42%, rgba(255,0,51,.045));
    transition:opacity 260ms ease;
}

.lg-refined-card > *:not(.blog-category):not(.category-badge):not(.post-category):not(.availability-badge):not(.product-status-badge){
    position:relative;
    z-index:2;
}

.lg-refined-card img{
    transition:transform 360ms var(--lg-premium-ease), filter 360ms ease;
    backface-visibility:hidden;
}

@media (hover:hover){
    .lg-refined-card:hover{
        transform:translate3d(0,-5px,0);
        box-shadow:var(--lg-premium-shadow-soft), 0 0 0 1px rgba(255,0,51,.07) inset;
    }

    .lg-refined-card:hover::before{ opacity:1; }

    .lg-refined-card:hover img{
        transform:scale(1.022);
        filter:saturate(1.03) contrast(1.01);
    }
}

/* ---------------- Buttons: conversion-focused micro interaction ---------------- */
.lg-refined-button{
    position:relative;
    isolation:isolate;
    overflow:hidden;
    transition:
        transform var(--lg-premium-fast) ease,
        box-shadow var(--lg-premium-fast) ease,
        background-color var(--lg-premium-fast) ease,
        color var(--lg-premium-fast) ease,
        border-color var(--lg-premium-fast) ease;
}

.lg-refined-button::after{
    content:"";
    position:absolute;
    inset:auto -20% -140% -20%;
    height:120%;
    z-index:-1;
    pointer-events:none;
    background:radial-gradient(circle at center, rgba(255,0,51,.20), transparent 68%);
    opacity:0;
    transition:opacity 260ms ease, transform 260ms ease;
    transform:translate3d(0,12px,0);
}

@media (hover:hover){
    .lg-refined-button:hover{
        transform:translate3d(0,-2px,0);
        box-shadow:var(--lg-premium-red-shadow), 0 8px 18px rgba(0,0,0,.10);
    }

    .lg-refined-button:hover::after{
        opacity:1;
        transform:translate3d(0,0,0);
    }

    .lg-refined-button:hover i,
    .lg-refined-button:hover svg{
        transform:translate3d(2px,0,0);
    }
}

.lg-refined-button i,
.lg-refined-button svg{
    transition:transform var(--lg-premium-fast) ease;
}

/* ---------------- Navbar: blur/shadow only after scroll ---------------- */
.main-header,
header,
.navbar{
    transition:
        box-shadow 240ms ease,
        backdrop-filter 240ms ease,
        -webkit-backdrop-filter 240ms ease,
        background-color 240ms ease;
}

body.lg-scrolled .main-header,
body.lg-scrolled header,
body.lg-scrolled .navbar{
    backdrop-filter:blur(14px) saturate(1.08);
    -webkit-backdrop-filter:blur(14px) saturate(1.08);
    box-shadow:0 10px 28px rgba(0,0,0,.09), 0 1px 0 rgba(255,255,255,.12) inset;
}

/* ---------------- Promo badge: subtle pulse/float only ---------------- */
.lg-soft-promo,
#ohsemSticker,
.promo-badge,
.promo-floating,
.latest-promo,
.pacapulse{
    animation:lgPremiumFloat 7.8s ease-in-out infinite;
    transform-origin:center;
}

@keyframes lgPremiumFloat{
    0%,100%{ transform:translate3d(0,0,0); filter:drop-shadow(0 8px 18px rgba(255,0,51,.08)); }
    50%{ transform:translate3d(0,-4px,0); filter:drop-shadow(0 12px 24px rgba(255,0,51,.12)); }
}

/* ---------------- FAQ accordion polish ---------------- */
.lg-faq-item,
.faq-item{
    transition:box-shadow 240ms ease, transform 240ms ease, border-color 240ms ease, background-color 240ms ease;
}

.lg-faq-question,
.faq-question,
.faq-title{
    cursor:pointer;
}

.lg-faq-answer,
.faq-answer{
    overflow:hidden;
    transition:max-height 360ms var(--lg-premium-ease), opacity 260ms ease, transform 260ms ease;
    opacity:.92;
}

.lg-faq-item:not(.is-open) .lg-faq-answer,
.faq-item:not(.is-open) .faq-answer{
    max-height:0 !important;
    opacity:0;
    transform:translate3d(0,-4px,0);
}

.lg-faq-item.is-open,
.faq-item.is-open{
    box-shadow:0 12px 30px rgba(0,0,0,.08), 0 0 0 1px rgba(255,0,51,.08) inset;
}

.lg-faq-item .faq-icon,
.faq-item .faq-icon,
.lg-faq-item .toggle-icon,
.faq-item .toggle-icon{
    transition:transform 260ms ease;
}

.lg-faq-item.is-open .faq-icon,
.faq-item.is-open .faq-icon,
.lg-faq-item.is-open .toggle-icon,
.faq-item.is-open .toggle-icon{
    transform:rotate(45deg);
}

/* ---------------- Number count-up text stability ---------------- */
.lg-count-up{
    font-variant-numeric:tabular-nums;
}

/* ---------------- Featured product slider: smooth feel ---------------- */
.swiper,
.productSwiper{
    --swiper-theme-color:var(--lg-premium-red);
}

.swiper-slide{ backface-visibility:hidden; }

/* ---------------- Feature panels polish ---------------- */
.faq-item,
.compare-card,
.compare-panel,
.monthly-calculator,
.calculator-box,
.calculator-card,
.lead-card,
.availability-card{
    backface-visibility:hidden;
}

/* =========================================================
   Footer WhatsApp button must never become blank.
   Overrides footer link color rules on Contact/Blog/Product pages.
   ========================================================= */
.footer .footer-whatsapp-btn,
.footer-col .footer-whatsapp-btn,
a.footer-whatsapp-btn{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    gap:10px !important;
    background:#ffffff !important;
    color:#111111 !important;
    min-width:330px !important;
    width:auto !important;
    max-width:100% !important;
    padding:16px 28px !important;
    border-radius:999px !important;
    font-size:16px !important;
    font-weight:600 !important;
    line-height:1.2 !important;
    text-decoration:none !important;
    white-space:nowrap !important;
    opacity:1 !important;
    visibility:visible !important;
    border:0 !important;
    box-shadow:0 14px 34px rgba(0,0,0,.16) !important;
}

.footer .footer-whatsapp-btn *,
.footer-col .footer-whatsapp-btn *,
a.footer-whatsapp-btn *,
.footer .footer-whatsapp-btn i,
.footer-col .footer-whatsapp-btn i,
a.footer-whatsapp-btn i,
.footer .footer-whatsapp-btn svg,
.footer-col .footer-whatsapp-btn svg,
a.footer-whatsapp-btn svg{
    color:#111111 !important;
    fill:#111111 !important;
    opacity:1 !important;
    visibility:visible !important;
}

.footer .footer-whatsapp-btn:hover,
.footer-col .footer-whatsapp-btn:hover,
a.footer-whatsapp-btn:hover{
    background:#ffffff !important;
    color:#111111 !important;
    text-decoration:none !important;
}

.footer-bullet-list .footer-whatsapp-btn::before,
.footer .footer-whatsapp-btn::before,
.footer-col .footer-whatsapp-btn::before{
    display:none !important;
    content:none !important;
}

/* =========================================================
   Keep Latest Promo side tab and modal close button stable.
   Prevent floating/button animation from overwriting original transform.
   ========================================================= */
#openPromoBtn,
#openPromoBtn.lg-soft-promo,
button#openPromoBtn{
    animation:none !important;
    transform:translateY(-50%) rotate(-90deg) !important;
    transform-origin:center center !important;
    top:45% !important;
    right:-60px !important;
    left:auto !important;
    opacity:1 !important;
    visibility:visible !important;
    overflow:visible !important;
    background:#9C0E2E !important;
    color:#ffffff !important;
    border-radius:10px 10px 0 0 !important;
}

#openPromoBtn::before,
#openPromoBtn::after,
#openPromoBtn.lg-refined-button::after{
    display:none !important;
    content:none !important;
}

.close-modal-btn,
.close-modal-btn.lg-refined-button,
button.close-modal-btn{
    animation:none !important;
    transform:none !important;
    overflow:visible !important;
    isolation:auto !important;
    background:#ffffff !important;
    color:#9C0E2E !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    line-height:1 !important;
}

.close-modal-btn::before,
.close-modal-btn::after,
.close-modal-btn.lg-refined-button::after{
    display:none !important;
    content:none !important;
}

body > .close-modal-btn,
main > .close-modal-btn,
footer > .close-modal-btn{
    display:none !important;
}


/* =========================================================
   v27 Extra polish: active product/card focus
   Premium focus state without heavy 3D or lag.
   ========================================================= */
.product-card.lg-card-focused,
.appliance-card.lg-card-focused,
.category-card.lg-card-focused,
.blog-card.lg-card-focused,
.model-card.lg-card-focused,
.promo-card.lg-card-focused,
.card.lg-card-focused,
.has-lg-compare.lg-card-focused,
.lg-refined-card.lg-card-focused{
    transform:translate3d(0,-4px,0);
    box-shadow:
        var(--lg-premium-shadow-soft),
        0 0 0 1px rgba(255,0,51,.22) inset,
        0 0 0 6px rgba(255,0,51,.045);
    border-color:rgba(255,0,51,.22) !important;
}

.product-card.lg-card-focused::before,
.appliance-card.lg-card-focused::before,
.category-card.lg-card-focused::before,
.blog-card.lg-card-focused::before,
.model-card.lg-card-focused::before,
.promo-card.lg-card-focused::before,
.card.lg-card-focused::before,
.has-lg-compare.lg-card-focused::before,
.lg-refined-card.lg-card-focused::before{
    opacity:1;
}

.product-card.lg-card-focused img,
.appliance-card.lg-card-focused img,
.category-card.lg-card-focused img,
.blog-card.lg-card-focused img,
.model-card.lg-card-focused img,
.promo-card.lg-card-focused img,
.card.lg-card-focused img,
.has-lg-compare.lg-card-focused img,
.lg-refined-card.lg-card-focused img{
    transform:scale(1.018);
    filter:saturate(1.025) contrast(1.01);
}

/* Keyboard users get the same premium focus without relying on mouse hover. */
.lg-card-focused:focus-within{
    outline:0;
}

/* =========================================================
   v27 Sticky WhatsApp breathing animation
   Very subtle conversion reminder, disabled for footer button.
   ========================================================= */
#ht-ctc-chat .ht_ctc_style,
.ht-ctc-chat .ht_ctc_style,
.lg-whatsapp-breathe,
a.whatsapp-float:not(.footer-whatsapp-btn),
.whatsapp-float:not(.footer-whatsapp-btn),
.floating-whatsapp:not(.footer-whatsapp-btn),
.sticky-whatsapp:not(.footer-whatsapp-btn),
.whatsapp-sticky:not(.footer-whatsapp-btn),
.fixed-whatsapp:not(.footer-whatsapp-btn){
    animation:lgWhatsAppBreathing 4.6s ease-in-out infinite;
    transform-origin:center center;
    will-change:transform, filter;
}

@keyframes lgWhatsAppBreathing{
    0%,100%{
        transform:scale(1);
        filter:drop-shadow(0 8px 18px rgba(37,211,102,.14));
    }
    48%{
        transform:scale(1.028);
        filter:drop-shadow(0 13px 26px rgba(37,211,102,.22));
    }
}

@media (hover:hover){
    #ht-ctc-chat:hover .ht_ctc_style,
    .ht-ctc-chat:hover .ht_ctc_style,
    .lg-whatsapp-breathe:hover,
    a.whatsapp-float:not(.footer-whatsapp-btn):hover,
    .whatsapp-float:not(.footer-whatsapp-btn):hover,
    .floating-whatsapp:not(.footer-whatsapp-btn):hover,
    .sticky-whatsapp:not(.footer-whatsapp-btn):hover,
    .whatsapp-sticky:not(.footer-whatsapp-btn):hover,
    .fixed-whatsapp:not(.footer-whatsapp-btn):hover{
        animation-play-state:paused;
        transform:scale(1.035);
        filter:drop-shadow(0 14px 30px rgba(37,211,102,.24));
    }
}

.footer-whatsapp-btn,
a.footer-whatsapp-btn{
    animation:none !important;
}

/* =========================================================
   v27 Compare drawer: smoother slide-up app-like movement
   The body class is added by animations.js when drawer is open.
   ========================================================= */
body.lg-compare-open::after{
    content:"";
    position:fixed;
    inset:0;
    z-index:999998;
    pointer-events:none;
    background:linear-gradient(to top, rgba(28,6,13,.16), rgba(28,6,13,0));
    backdrop-filter:blur(2px);
    -webkit-backdrop-filter:blur(2px);
    opacity:1;
}

.lg-compare-drawer{
    will-change:transform, opacity;
    transform:translateX(-50%) translateY(calc(100% + 42px)) scale(.985);
    opacity:0;
    pointer-events:none;
    transition:
        transform 460ms cubic-bezier(.16,1,.3,1),
        opacity 260ms ease,
        box-shadow 260ms ease;
}

.lg-compare-drawer.open{
    transform:translateX(-50%) translateY(0) scale(1);
    opacity:1;
    pointer-events:auto;
    box-shadow:0 28px 72px rgba(24,6,12,.24), 0 0 0 1px rgba(255,255,255,.50) inset;
}

.lg-compare-drawer .lg-compare-handle{
    width:46px;
    height:5px;
    border-radius:999px;
    background:rgba(161,20,58,.22);
    margin:10px auto 0;
}

.lg-compare-drawer.open .lg-compare-table tr,
.lg-compare-drawer.open .lg-compare-empty{
    animation:lgCompareRowsIn 420ms cubic-bezier(.16,1,.3,1) both;
}

.lg-compare-drawer.open .lg-compare-table tr:nth-child(2){ animation-delay:35ms; }
.lg-compare-drawer.open .lg-compare-table tr:nth-child(3){ animation-delay:70ms; }
.lg-compare-drawer.open .lg-compare-table tr:nth-child(4){ animation-delay:105ms; }

@keyframes lgCompareRowsIn{
    from{ opacity:0; transform:translate3d(0,10px,0); }
    to{ opacity:1; transform:translate3d(0,0,0); }
}

.lg-compare-add{
    transition:transform 180ms ease, box-shadow 180ms ease, background-color 180ms ease, color 180ms ease;
}

@media (hover:hover){
    .lg-compare-add:hover{
        transform:translate3d(0,-2px,0);
        box-shadow:0 13px 26px rgba(161,20,58,.18);
    }
}

/* ---------------- Mobile tuning ---------------- */
@media (max-width:900px){
    .lg-hero-refined::after{
        width:350px;
        height:350px;
        right:-38%;
        top:-18%;
        opacity:.38;
    }

    .lg-reveal{ transform:translate3d(0,12px,0); transition-duration:450ms; }
    .lg-text-soft{ transform:translate3d(0,12px,0); transition-duration:500ms; }

    .lg-section-spotlight::before{ display:none; }

    .footer .footer-whatsapp-btn,
    .footer-col .footer-whatsapp-btn,
    a.footer-whatsapp-btn{
        min-width:0 !important;
        width:100% !important;
        white-space:normal !important;
        padding:15px 18px !important;
    }
}

@media (max-width:650px){
    #openPromoBtn,
    #openPromoBtn.lg-soft-promo,
    button#openPromoBtn{
        right:-52px !important;
        padding:12px 22px !important;
        font-size:12px !important;
        transform:translateY(-50%) rotate(-90deg) !important;
    }

    .close-modal-btn,
    button.close-modal-btn{
        width:34px !important;
        height:34px !important;
        top:12px !important;
        right:12px !important;
        font-size:18px !important;
    }
}

@media (max-width:520px){
    .lg-soft-promo,
    #ohsemSticker,
    .promo-badge,
    .promo-floating,
    .latest-promo,
    .pacapulse{ animation-duration:9s; }
}

/* ---------------- Accessibility / performance ---------------- */
@media (prefers-reduced-motion:reduce){
    html{ scroll-behavior:auto; }
    *,*::before,*::after{
        animation-duration:.01ms !important;
        animation-iteration-count:1 !important;
        transition-duration:.01ms !important;
        scroll-behavior:auto !important;
    }
    .lg-reveal,
    .lg-text-soft{
        opacity:1 !important;
        transform:none !important;
        transition:none !important;
    }
    .lg-hero-refined::after,
    .lg-section-spotlight::before{ display:none !important; }
}


/* =========================================================
   v29 Premium Micro Animation Add-on
   Added only lightweight polish: scroll progress, image soft-load,
   menu underline, form focus glow, calculator result pop.
   ========================================================= */

/* Top scroll progress line: premium but tiny */
#lg-scroll-progress{
    position:fixed;
    top:0;
    left:0;
    width:100%;
    height:3px;
    z-index:1000002;
    pointer-events:none;
    transform:scaleX(0);
    transform-origin:left center;
    background:linear-gradient(90deg, rgba(156,14,46,.2), #ff0033, rgba(255,255,255,.9));
    box-shadow:0 0 14px rgba(255,0,51,.22);
    opacity:.92;
    transition:transform 90ms linear, opacity 200ms ease;
}

/* Image soft-load: removes harsh popping when images appear */
img.lg-img-soft-load{
    opacity:0;
    transform:scale(1.012);
    filter:saturate(.96) contrast(.99);
    transition:
        opacity 520ms cubic-bezier(.16,1,.3,1),
        transform 720ms cubic-bezier(.16,1,.3,1),
        filter 720ms ease;
}

img.lg-img-soft-load.lg-img-loaded{
    opacity:1;
    transform:scale(1);
    filter:none;
}

/* Premium menu underline: subtle navigation micro interaction */
.main-header a,
header a,
.navbar a,
.footer a:not(.footer-whatsapp-btn),
.footer-col a:not(.footer-whatsapp-btn){
    background-image:linear-gradient(currentColor,currentColor);
    background-size:0% 1px;
    background-repeat:no-repeat;
    background-position:0 100%;
    transition:
        background-size 260ms cubic-bezier(.16,1,.3,1),
        color 220ms ease,
        opacity 220ms ease;
}

@media (hover:hover){
    .main-header a:hover,
    header a:hover,
    .navbar a:hover,
    .footer a:not(.footer-whatsapp-btn):hover,
    .footer-col a:not(.footer-whatsapp-btn):hover{
        background-size:100% 1px;
    }
}

/* Form focus glow: useful for lead form, calculator, search and backend-like inputs */
input:not([type="checkbox"]):not([type="radio"]),
select,
textarea,
.search-input,
.lg-calc-form input,
.lg-calc-form select,
.lg-lead-modal input,
.lg-lead-modal textarea,
.lg-lead-modal select{
    transition:
        border-color 220ms ease,
        box-shadow 220ms ease,
        background-color 220ms ease,
        transform 220ms ease;
}

input:not([type="checkbox"]):not([type="radio"]):focus,
select:focus,
textarea:focus,
.search-input:focus,
.lg-calc-form input:focus,
.lg-calc-form select:focus,
.lg-lead-modal input:focus,
.lg-lead-modal textarea:focus,
.lg-lead-modal select:focus{
    border-color:rgba(255,0,51,.38) !important;
    box-shadow:0 0 0 4px rgba(255,0,51,.07), 0 10px 24px rgba(65,15,31,.06) !important;
    background-color:#fff !important;
    transform:translateY(-1px);
}

/* Calculator / result box pop when value changes */
.lg-calc-result,
.calculator-result,
.result-box,
.monthly-result{
    transition:box-shadow 240ms ease, transform 240ms ease, border-color 240ms ease, background-color 240ms ease;
}

.lg-calc-result.lg-result-pop,
.calculator-result.lg-result-pop,
.result-box.lg-result-pop,
.monthly-result.lg-result-pop{
    animation:lgResultPop 520ms cubic-bezier(.16,1,.3,1) both;
}

@keyframes lgResultPop{
    0%{ transform:scale(.985); box-shadow:0 0 0 rgba(255,0,51,0); }
    42%{ transform:scale(1.012); box-shadow:0 16px 32px rgba(255,0,51,.12), 0 0 0 1px rgba(255,0,51,.16) inset; }
    100%{ transform:scale(1); }
}

/* Product action buttons feel more responsive without heavy effects */
.product-card .lg-refined-button,
.appliance-card .lg-refined-button,
.category-card .lg-refined-button,
.model-card .lg-refined-button,
.promo-card .lg-refined-button{
    transform-origin:center;
}

@media (hover:hover){
    .product-card .lg-refined-button:hover,
    .appliance-card .lg-refined-button:hover,
    .category-card .lg-refined-button:hover,
    .model-card .lg-refined-button:hover,
    .promo-card .lg-refined-button:hover{
        transform:translate3d(0,-2px,0) scale(1.012);
    }
}

@media (max-width:700px){
    #lg-scroll-progress{ height:2px; }
    img.lg-img-soft-load{ transition-duration:360ms; }
}

@media (prefers-reduced-motion:reduce){
    #lg-scroll-progress{ display:none !important; }
    img.lg-img-soft-load{ opacity:1 !important; transform:none !important; transition:none !important; filter:none !important; }
}


/* =========================================================
   v30 Premium Search Button + Overlay
   Clean search icon in navbar with smooth glass search popup.
   ========================================================= */
body.lg-search-open{ overflow:hidden; }

.main-header .header-inner{
    gap:10px;
}
.main-header .logo{ order:1; }
.main-header .nav-menu{ order:2; margin-left:auto; }
.main-header .lg-site-search-toggle{ order:3; }
.main-header .mobile-menu-btn{ order:4; }

.lg-site-search-toggle{
    appearance:none;
    border:1px solid rgba(156,14,46,.14);
    background:rgba(255,255,255,.88) !important;
    color:#971D37 !important;
    min-width:42px;
    height:42px;
    padding:0 14px;
    border-radius:999px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    font-family:Inter, Poppins, system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
    font-size:13px;
    font-weight:700;
    line-height:1;
    cursor:pointer;
    white-space:nowrap;
    box-shadow:0 10px 24px rgba(65,15,31,.08), inset 0 1px 0 rgba(255,255,255,.8);
    transition:transform 220ms cubic-bezier(.16,1,.3,1), box-shadow 220ms ease, border-color 220ms ease, background-color 220ms ease;
    background-image:none !important;
    text-decoration:none !important;
}
.lg-site-search-toggle i{ font-size:14px; }
@media (hover:hover){
    .lg-site-search-toggle:hover{
        transform:translate3d(0,-2px,0);
        border-color:rgba(255,0,51,.25);
        box-shadow:0 16px 30px rgba(156,14,46,.14), 0 0 0 4px rgba(255,0,51,.045);
        background:#fff !important;
    }
}
.lg-site-search-toggle:focus-visible{
    outline:none;
    box-shadow:0 0 0 4px rgba(255,0,51,.12), 0 12px 28px rgba(65,15,31,.12);
}
.lg-search-floating-fallback{
    position:fixed;
    top:18px;
    right:18px;
    z-index:9998;
}

.lg-search-overlay{
    position:fixed;
    inset:0;
    z-index:1000001;
    display:flex;
    align-items:flex-start;
    justify-content:center;
    padding:clamp(72px, 10vh, 110px) 18px 24px;
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transition:opacity 180ms ease, visibility 180ms ease;
}
.lg-search-overlay.is-open{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
}
.lg-search-backdrop{
    position:absolute;
    inset:0;
    background:rgba(10,10,10,.32);
    backdrop-filter:blur(9px);
    -webkit-backdrop-filter:blur(9px);
}
.lg-search-panel{
    position:relative;
    width:min(760px, 100%);
    max-height:min(78vh, 720px);
    overflow:hidden;
    border-radius:28px;
    border:1px solid rgba(255,255,255,.72);
    background:linear-gradient(145deg, rgba(255,255,255,.94), rgba(255,248,250,.88));
    box-shadow:0 30px 90px rgba(16,8,12,.24), 0 0 0 1px rgba(156,14,46,.06) inset;
    transform:translateY(18px) scale(.985);
    transition:transform 320ms cubic-bezier(.16,1,.3,1);
}
.lg-search-overlay.is-open .lg-search-panel{
    transform:translateY(0) scale(1);
}
.lg-search-head{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:16px;
    padding:24px 24px 14px;
}
.lg-search-kicker{
    margin:0 0 6px;
    color:#971D37;
    font-size:11px;
    font-weight:800;
    letter-spacing:.14em;
    text-transform:uppercase;
}
.lg-search-head h3{
    margin:0;
    color:#1a1a1a;
    font-size:clamp(22px, 3vw, 32px);
    line-height:1.1;
    letter-spacing:-.03em;
}
.lg-search-close{
    appearance:none;
    border:0;
    width:38px;
    height:38px;
    border-radius:999px;
    background:#fff;
    color:#971D37;
    font-weight:800;
    cursor:pointer;
    box-shadow:0 8px 22px rgba(65,15,31,.08);
    transition:transform 180ms ease, background-color 180ms ease;
}
@media (hover:hover){ .lg-search-close:hover{ transform:scale(1.04); background:#fff2f5; } }

.lg-search-box{
    margin:0 24px;
    min-height:62px;
    display:flex;
    align-items:center;
    gap:12px;
    padding:0 16px;
    border-radius:20px;
    border:1px solid rgba(156,14,46,.14);
    background:#fff;
    box-shadow:0 14px 34px rgba(65,15,31,.08);
}
.lg-search-box i{
    color:#971D37;
    font-size:18px;
}
.lg-search-box input{
    flex:1;
    width:100%;
    min-width:0;
    border:0 !important;
    outline:0 !important;
    box-shadow:none !important;
    background:transparent !important;
    color:#1a1a1a;
    font-size:17px;
    font-weight:600;
    transform:none !important;
}
.lg-search-box input::placeholder{ color:#8a7b80; font-weight:500; }
.lg-search-box kbd{
    flex:0 0 auto;
    padding:6px 9px;
    border-radius:9px;
    background:#f7eef1;
    color:#971D37;
    font-size:11px;
    font-weight:800;
}
.lg-search-chips{
    display:flex;
    gap:8px;
    flex-wrap:wrap;
    padding:14px 24px 6px;
}
.lg-search-chip{
    border:1px solid rgba(156,14,46,.13);
    background:rgba(255,255,255,.68);
    color:#6d2233;
    border-radius:999px;
    padding:8px 12px;
    font-size:12px;
    font-weight:700;
    cursor:pointer;
    transition:transform 180ms ease, background-color 180ms ease, border-color 180ms ease;
}
@media (hover:hover){
    .lg-search-chip:hover{
        transform:translateY(-1px);
        background:#fff;
        border-color:rgba(255,0,51,.24);
    }
}
.lg-search-results{
    padding:8px 16px 18px;
    max-height:calc(min(78vh, 720px) - 245px);
    overflow:auto;
    scrollbar-width:thin;
}
.lg-search-empty-title{
    padding:4px 8px 10px;
    color:#8a7b80;
    font-size:12px;
    font-weight:800;
    letter-spacing:.08em;
    text-transform:uppercase;
}
.lg-search-result{
    display:grid;
    grid-template-columns:44px minmax(0,1fr) auto;
    align-items:center;
    gap:12px;
    padding:12px 12px;
    border-radius:18px;
    color:#1a1a1a !important;
    text-decoration:none !important;
    background-image:none !important;
    transition:background-color 180ms ease, transform 180ms cubic-bezier(.16,1,.3,1), box-shadow 180ms ease;
}
.lg-search-result + .lg-search-result{ margin-top:4px; }
.lg-search-result-icon{
    width:42px;
    height:42px;
    border-radius:14px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:linear-gradient(135deg, rgba(156,14,46,.12), rgba(255,0,51,.04));
    color:#971D37;
}
.lg-search-result-text{ min-width:0; display:flex; flex-direction:column; gap:3px; }
.lg-search-result strong{
    color:#1a1a1a;
    font-size:14px;
    line-height:1.25;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}
.lg-search-result small{
    color:#8a7b80;
    font-size:12px;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}
.lg-search-result-type{
    padding:6px 9px;
    border-radius:999px;
    background:#f7eef1;
    color:#971D37;
    font-size:11px;
    font-weight:800;
}
@media (hover:hover){
    .lg-search-result:hover{
        transform:translateY(-1px);
        background:#fff;
        box-shadow:0 12px 28px rgba(65,15,31,.08);
    }
}
.lg-search-no-result{
    margin:8px;
    padding:22px;
    border-radius:18px;
    background:#fff;
    color:#1a1a1a;
    display:flex;
    flex-direction:column;
    gap:6px;
}
.lg-search-no-result span{ color:#7f6f74; font-size:13px; }
.lg-search-tip{
    margin:0;
    padding:0 24px 22px;
    color:#8a7b80;
    font-size:12px;
}
.lg-search-tip strong{ color:#971D37; }

@media (max-width:1024px){
    .main-header .nav-menu{ order:5; margin-left:0; }
    .main-header .lg-site-search-toggle{
        order:2;
        margin-left:auto;
        width:40px;
        height:40px;
        padding:0;
    }
    .main-header .lg-site-search-toggle span{ display:none; }
    .main-header .mobile-menu-btn{ order:3; margin-left:6px !important; }
}
@media (max-width:700px){
    .lg-search-overlay{ padding:72px 10px 12px; align-items:flex-start; }
    .lg-search-panel{ border-radius:24px; max-height:82vh; }
    .lg-search-head{ padding:20px 18px 12px; }
    .lg-search-box{ margin:0 18px; min-height:56px; border-radius:18px; }
    .lg-search-box input{ font-size:15px; }
    .lg-search-box kbd{ display:none; }
    .lg-search-chips{ padding:12px 18px 4px; overflow-x:auto; flex-wrap:nowrap; }
    .lg-search-chip{ flex:0 0 auto; }
    .lg-search-results{ padding:8px 10px 14px; max-height:calc(82vh - 232px); }
    .lg-search-result{ grid-template-columns:40px minmax(0,1fr); }
    .lg-search-result-type{ display:none; }
    .lg-search-tip{ padding:0 18px 18px; }
}
@media (prefers-reduced-motion:reduce){
    .lg-site-search-toggle,.lg-search-panel,.lg-search-overlay,.lg-search-result,.lg-search-chip{ transition:none !important; }
}


/* ============================================================
   v31 Search button visibility fix
   Search now appears as a real navbar item before Contact.
   ============================================================ */
.main-header .nav-menu > .lg-site-search-toggle,
.nav-menu > .lg-site-search-toggle{
    position:relative !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    gap:6px !important;
    width:auto !important;
    min-width:0 !important;
    height:auto !important;
    padding:0 12px !important;
    margin:0 !important;
    border:0 !important;
    border-radius:0 !important;
    background:transparent !important;
    box-shadow:none !important;
    color:#333333 !important;
    font-size:.95rem !important;
    font-weight:500 !important;
    line-height:1.2 !important;
    white-space:nowrap !important;
    cursor:pointer !important;
    opacity:1 !important;
    visibility:visible !important;
    transform:none !important;
    order:initial !important;
}
.main-header .nav-menu > .lg-site-search-toggle i,
.nav-menu > .lg-site-search-toggle i{
    font-size:13px !important;
    color:inherit !important;
}
.main-header .nav-menu > .lg-site-search-toggle span,
.nav-menu > .lg-site-search-toggle span{
    display:inline !important;
    color:inherit !important;
}
.main-header .nav-menu > .lg-site-search-toggle:hover,
.nav-menu > .lg-site-search-toggle:hover,
.main-header .nav-menu > .lg-site-search-toggle:focus-visible,
.nav-menu > .lg-site-search-toggle:focus-visible{
    color:#971D37 !important;
    background:transparent !important;
    box-shadow:none !important;
    outline:none !important;
    transform:none !important;
}
.main-header .nav-menu > .lg-site-search-toggle::after,
.nav-menu > .lg-site-search-toggle::after{
    content:"|";
    position:absolute;
    right:-2px;
    top:50%;
    transform:translateY(-50%);
    color:#d0d0d0;
    font-weight:400;
}

@media (max-width: 1024px){
    .main-header .nav-menu > .lg-site-search-toggle,
    .nav-menu > .lg-site-search-toggle{
        display:block !important;
        width:100% !important;
        max-width:100% !important;
        padding:10px 0 !important;
        border-bottom:1px solid #eeeeee !important;
        text-align:left !important;
        font-size:13px !important;
        color:#1a1a1a !important;
    }
    .main-header .nav-menu > .lg-site-search-toggle::after,
    .nav-menu > .lg-site-search-toggle::after{
        display:none !important;
        content:none !important;
    }
    .main-header .nav-menu > .lg-site-search-toggle i,
    .nav-menu > .lg-site-search-toggle i{
        margin-right:8px !important;
    }
}

@media (max-width: 1280px) and (min-width: 1025px){
    .main-header .nav-menu > .lg-site-search-toggle span,
    .nav-menu > .lg-site-search-toggle span{
        display:none !important;
    }
    .main-header .nav-menu > .lg-site-search-toggle,
    .nav-menu > .lg-site-search-toggle{
        padding:0 10px !important;
    }
}

/* v33: hide raw PHP filenames/URLs inside search result cards */
.lg-search-result small{ display:none !important; }
.lg-search-result-text{ gap:0 !important; }

/* ============================================================
   v34 Premium Search UI Polish
   Cleaner, nicer, more attractive search overlay without heavy animation.
   ============================================================ */
.lg-search-overlay{
    padding:clamp(62px, 8vh, 96px) 16px 24px !important;
}
.lg-search-backdrop{
    background:rgba(20, 8, 13, .34) !important;
    backdrop-filter:blur(14px) saturate(120%) !important;
    -webkit-backdrop-filter:blur(14px) saturate(120%) !important;
}
.lg-search-panel{
    width:min(840px, 100%) !important;
    max-height:min(82vh, 760px) !important;
    border-radius:30px !important;
    border:1px solid rgba(255,255,255,.78) !important;
    background:
        radial-gradient(circle at 12% 0%, rgba(255,0,51,.12), transparent 34%),
        radial-gradient(circle at 92% 8%, rgba(151,29,55,.09), transparent 33%),
        linear-gradient(145deg, rgba(255,255,255,.96), rgba(255,248,250,.92)) !important;
    box-shadow:
        0 34px 100px rgba(18, 6, 11, .26),
        0 10px 30px rgba(151,29,55,.10),
        inset 0 1px 0 rgba(255,255,255,.86) !important;
    transform:translateY(20px) scale(.982) !important;
    isolation:isolate;
}
.lg-search-red-glow{
    position:absolute;
    inset:auto -16% -42% auto;
    width:380px;
    height:380px;
    border-radius:999px;
    background:radial-gradient(circle, rgba(255,0,51,.16), transparent 64%);
    pointer-events:none;
    z-index:-1;
}
.lg-search-overlay.is-open .lg-search-panel{
    transform:translateY(0) scale(1) !important;
}
.lg-search-head{
    align-items:center !important;
    padding:26px 26px 16px !important;
}
.lg-search-brand-mark{
    width:52px;
    height:52px;
    border-radius:17px;
    flex:0 0 auto;
    display:flex;
    align-items:center;
    justify-content:center;
    color:#fff;
    font-weight:900;
    letter-spacing:-.06em;
    background:linear-gradient(135deg, #a5002c, #ff0033);
    box-shadow:0 18px 36px rgba(151,29,55,.22), inset 0 1px 0 rgba(255,255,255,.3);
}
.lg-search-title-wrap{
    min-width:0;
    flex:1;
}
.lg-search-kicker{
    color:#971D37 !important;
    margin-bottom:5px !important;
}
.lg-search-head h3{
    font-size:clamp(24px, 3.2vw, 36px) !important;
    letter-spacing:-.045em !important;
}
.lg-search-title-wrap > span{
    display:block;
    margin-top:7px;
    color:#76666b;
    font-size:14px;
    font-weight:500;
    line-height:1.45;
}
.lg-search-close{
    width:42px !important;
    height:42px !important;
    color:#971D37 !important;
    background:rgba(255,255,255,.82) !important;
    border:1px solid rgba(151,29,55,.09) !important;
    box-shadow:0 12px 28px rgba(60,18,30,.10) !important;
}
.lg-search-box{
    margin:0 26px !important;
    min-height:66px !important;
    border-radius:22px !important;
    border:1px solid rgba(151,29,55,.13) !important;
    background:rgba(255,255,255,.88) !important;
    box-shadow:0 18px 42px rgba(60,18,30,.10), inset 0 1px 0 rgba(255,255,255,.95) !important;
    transition:border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease !important;
}
.lg-search-box:focus-within{
    border-color:rgba(255,0,51,.32) !important;
    box-shadow:0 22px 52px rgba(151,29,55,.16), 0 0 0 5px rgba(255,0,51,.055), inset 0 1px 0 rgba(255,255,255,.95) !important;
    transform:translateY(-1px);
}
.lg-search-box i{
    width:36px;
    height:36px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border-radius:12px;
    background:#fff2f5;
    color:#971D37 !important;
}
.lg-search-box input{
    font-size:17px !important;
    letter-spacing:-.01em;
}
.lg-search-box kbd{
    background:#161616 !important;
    color:#fff !important;
    box-shadow:inset 0 -1px 0 rgba(255,255,255,.18);
}
.lg-search-chips-wrap{
    display:flex;
    align-items:flex-start;
    gap:12px;
    padding:15px 26px 4px;
}
.lg-search-chips-wrap > span{
    flex:0 0 auto;
    margin-top:8px;
    color:#8d7a81;
    font-size:12px;
    font-weight:800;
    letter-spacing:.08em;
    text-transform:uppercase;
}
.lg-search-chips{
    padding:0 !important;
    flex:1;
}
.lg-search-chip{
    padding:9px 13px !important;
    background:rgba(255,255,255,.72) !important;
    border-color:rgba(151,29,55,.13) !important;
    color:#6d2233 !important;
    box-shadow:0 8px 18px rgba(65,15,31,.045);
}
@media (hover:hover){
    .lg-search-chip:hover{
        background:#fff !important;
        box-shadow:0 12px 24px rgba(151,29,55,.10);
    }
}
.lg-search-results{
    padding:12px 18px 18px !important;
    max-height:calc(min(82vh, 760px) - 275px) !important;
}
.lg-search-section-title{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    padding:4px 10px 10px;
}
.lg-search-section-title span{
    color:#1a1a1a;
    font-size:13px;
    font-weight:900;
    letter-spacing:.08em;
    text-transform:uppercase;
}
.lg-search-section-title em{
    color:#9b858d;
    font-size:12px;
    font-style:normal;
    font-weight:650;
}
.lg-search-result{
    position:relative;
    grid-template-columns:50px minmax(0,1fr) auto 30px !important;
    gap:13px !important;
    padding:14px 14px !important;
    border-radius:21px !important;
    border:1px solid rgba(151,29,55,.07);
    background:rgba(255,255,255,.56) !important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.72);
    opacity:0;
    transform:translateY(8px);
    animation:lgSearchResultIn 360ms cubic-bezier(.16,1,.3,1) forwards;
    animation-delay:var(--delay, 0ms);
}
@keyframes lgSearchResultIn{
    to{ opacity:1; transform:translateY(0); }
}
.lg-search-result + .lg-search-result{ margin-top:8px !important; }
.lg-search-result-icon{
    width:48px !important;
    height:48px !important;
    border-radius:17px !important;
    background:linear-gradient(135deg, rgba(151,29,55,.13), rgba(255,0,51,.06)) !important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.65);
}
.lg-search-result-text{
    gap:5px !important;
}
.lg-search-result strong{
    display:block;
    color:#171717 !important;
    font-size:15px !important;
    font-weight:850 !important;
    letter-spacing:-.018em;
    line-height:1.25 !important;
}
.lg-search-result small{
    display:block !important;
    color:#7e6e74 !important;
    font-size:12.5px !important;
    line-height:1.35 !important;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}
.lg-search-result-type{
    background:rgba(151,29,55,.08) !important;
    color:#971D37 !important;
    border:1px solid rgba(151,29,55,.08);
}
.lg-search-result-arrow{
    width:28px;
    height:28px;
    border-radius:999px;
    display:flex;
    align-items:center;
    justify-content:center;
    color:#971D37;
    background:#fff;
    box-shadow:0 8px 18px rgba(65,15,31,.08);
    opacity:.78;
    transition:transform 180ms ease, opacity 180ms ease;
}
.lg-search-result-arrow i{ font-size:12px; }
@media (hover:hover){
    .lg-search-result:hover{
        transform:translateY(-2px) !important;
        background:#fff !important;
        border-color:rgba(255,0,51,.18);
        box-shadow:0 18px 42px rgba(65,15,31,.105) !important;
    }
    .lg-search-result:hover .lg-search-result-arrow{
        transform:translateX(3px);
        opacity:1;
    }
}
.lg-search-no-result{
    align-items:center;
    text-align:center;
    padding:30px 22px !important;
    border:1px solid rgba(151,29,55,.08);
    box-shadow:0 16px 34px rgba(65,15,31,.07);
}
.lg-search-no-icon{
    width:54px;
    height:54px;
    border-radius:18px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:#fff2f5;
    color:#971D37;
    margin-bottom:4px;
}
.lg-search-tip{
    display:flex;
    justify-content:space-between;
    gap:12px;
    padding:0 26px 24px !important;
    font-size:12px !important;
}
.lg-search-tip span{
    color:#8a7b80;
}
.lg-search-tip strong{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:28px;
    padding:3px 7px;
    border-radius:8px;
    background:#fff;
    color:#971D37 !important;
    box-shadow:0 6px 14px rgba(65,15,31,.06);
}
.main-header .nav-menu > .lg-site-search-toggle,
.nav-menu > .lg-site-search-toggle{
    color:#333 !important;
    transition:color 180ms ease, opacity 180ms ease !important;
}
.main-header .nav-menu > .lg-site-search-toggle:hover,
.nav-menu > .lg-site-search-toggle:hover{
    color:#971D37 !important;
}

@media (max-width:700px){
    .lg-search-overlay{ padding:64px 10px 12px !important; }
    .lg-search-panel{ border-radius:24px !important; max-height:84vh !important; }
    .lg-search-head{ padding:20px 18px 12px !important; align-items:flex-start !important; }
    .lg-search-brand-mark{ width:42px; height:42px; border-radius:14px; font-size:14px; }
    .lg-search-title-wrap > span{ font-size:12.5px; }
    .lg-search-close{ width:38px !important; height:38px !important; }
    .lg-search-box{ margin:0 16px !important; min-height:58px !important; border-radius:18px !important; padding:0 12px !important; }
    .lg-search-box i{ width:32px; height:32px; border-radius:10px; }
    .lg-search-chips-wrap{ display:block; padding:13px 16px 2px; }
    .lg-search-chips-wrap > span{ display:block; margin:0 0 8px; }
    .lg-search-chips{ overflow-x:auto; flex-wrap:nowrap !important; padding-bottom:3px !important; }
    .lg-search-chip{ flex:0 0 auto; }
    .lg-search-results{ padding:10px 10px 14px !important; max-height:calc(84vh - 286px) !important; }
    .lg-search-section-title{ align-items:flex-start; flex-direction:column; gap:3px; padding:0 8px 9px; }
    .lg-search-result{ grid-template-columns:44px minmax(0,1fr) 26px !important; padding:12px !important; border-radius:18px !important; }
    .lg-search-result-icon{ width:42px !important; height:42px !important; border-radius:14px !important; }
    .lg-search-result strong{ font-size:14px !important; }
    .lg-search-result small{ font-size:12px !important; display:block !important; }
    .lg-search-result-type{ display:none !important; }
    .lg-search-tip{ display:block; padding:0 16px 18px !important; }
    .lg-search-tip span{ display:block; margin-top:6px; }
}

@media (prefers-reduced-motion:reduce){
    .lg-search-result{ animation:none !important; opacity:1 !important; transform:none !important; }
}


/* =========================================================
   v35 Fix Blog Page Category Badge
   Reason: global card animation previously changed direct children
   to position:relative, causing blog badges like "Promotion" to
   appear as a clipped red strip on top of the image.
   ========================================================= */
.blog-card{
    position:relative !important;
    overflow:hidden !important;
}

.blog-card .blog-category,
.blog-card > .blog-category,
.blog-card.lg-refined-card > .blog-category{
    position:absolute !important;
    top:15px !important;
    right:15px !important;
    left:auto !important;
    bottom:auto !important;
    width:auto !important;
    max-width:calc(100% - 30px) !important;
    min-width:0 !important;
    height:auto !important;
    min-height:0 !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    gap:6px !important;
    margin:0 !important;
    padding:5px 12px !important;
    border-radius:999px !important;
    background:#c9002c !important;
    color:#fff !important;
    font-size:12px !important;
    font-weight:600 !important;
    line-height:1.2 !important;
    white-space:nowrap !important;
    overflow:visible !important;
    transform:none !important;
    z-index:8 !important;
    box-shadow:0 8px 20px rgba(156,14,46,.18) !important;
}

.blog-card .blog-img{
    position:relative !important;
    z-index:1 !important;
    display:block !important;
    width:100% !important;
    height:220px;
    object-fit:cover;
}

.blog-card .blog-content{
    position:relative !important;
    z-index:2 !important;
}

.blog-card.lg-refined-card::before{
    z-index:1 !important;
}

.blog-card.lg-refined-card > .blog-img,
.blog-card.lg-refined-card > .blog-content{
    position:relative !important;
    z-index:2 !important;
}

.blog-card.lg-card-focused .blog-category,
.blog-card:hover .blog-category{
    transform:none !important;
}



/* =========================================================
   v36 Mobile Menu Font Size Polish
   Purpose: make mobile dropdown menu text bigger, clearer, and easier to tap.
   ========================================================= */
@media (max-width:1024px){
    .main-header .nav-menu > a,
    .main-header .nav-menu > .dropdown,
    .main-header .nav-menu .dropdown-toggle,
    .nav-menu > a,
    .nav-menu > .dropdown,
    .nav-menu .dropdown-toggle{
        font-size:15.5px !important;
        line-height:1.45 !important;
        font-weight:600 !important;
        letter-spacing:-0.01em !important;
        padding:13px 0 !important;
        color:#222222 !important;
    }

    .main-header .nav-menu .dropdown-content a,
    .nav-menu .dropdown-content a{
        font-size:15px !important;
        line-height:1.45 !important;
        font-weight:500 !important;
        padding:12px 16px !important;
    }

    .main-header .nav-menu > .lg-site-search-toggle,
    .nav-menu > .lg-site-search-toggle,
    .lg-site-search-toggle.lg-search-nav-item{
        font-size:15.5px !important;
        line-height:1.45 !important;
        font-weight:600 !important;
        min-height:48px !important;
        height:auto !important;
        padding:13px 0 !important;
        gap:10px !important;
        border-radius:0 !important;
        justify-content:flex-start !important;
        border:0 !important;
        border-bottom:1px solid #eeeeee !important;
        background:transparent !important;
        box-shadow:none !important;
        color:#222222 !important;
    }

    .main-header .nav-menu > .lg-site-search-toggle i,
    .nav-menu > .lg-site-search-toggle i{
        font-size:15px !important;
        color:#333333 !important;
        width:20px !important;
        text-align:center !important;
    }

    .main-header .nav-menu{
        padding-left:20px !important;
        padding-right:20px !important;
    }

    .main-header .nav-menu.mobile-nav-active,
    .nav-menu.mobile-nav-active{
        padding-top:12px !important;
        padding-bottom:28px !important;
    }
}

@media (max-width:480px){
    .main-header .nav-menu > a,
    .main-header .nav-menu > .dropdown,
    .main-header .nav-menu .dropdown-toggle,
    .nav-menu > a,
    .nav-menu > .dropdown,
    .nav-menu .dropdown-toggle,
    .main-header .nav-menu > .lg-site-search-toggle,
    .nav-menu > .lg-site-search-toggle{
        font-size:15px !important;
        line-height:1.45 !important;
        padding-top:12.5px !important;
        padding-bottom:12.5px !important;
    }

    .main-header .nav-menu .dropdown-content a,
    .nav-menu .dropdown-content a{
        font-size:14.5px !important;
    }
}

/* =========================================================
   V40 - Premium Search Placement
   Desktop: search becomes a clean icon after Contact.
   Mobile: search remains a full menu row with text.
   ========================================================= */
@media (min-width: 1025px) {
  .main-header .nav-menu,
  .nav-menu {
    align-items: center !important;
  }

  /* Keep Contact before search on desktop */
  .main-header .nav-menu > .dropdown,
  .nav-menu > .dropdown {
    order: 100 !important;
    padding-right: 14px !important;
  }

  /* Add separator after Contact because Search is visually after it */
  .main-header .nav-menu > .dropdown::after,
  .nav-menu > .dropdown::after {
    content: "|" !important;
    display: block !important;
    position: absolute !important;
    right: -2px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    color: #d0d0d0 !important;
    font-weight: 400 !important;
    line-height: 1 !important;
  }

  /* Search as premium compact icon */
  .main-header .nav-menu > .lg-site-search-toggle,
  .nav-menu > .lg-site-search-toggle,
  .lg-site-search-toggle.lg-search-nav-item {
    order: 101 !important;
    width: 38px !important;
    height: 38px !important;
    min-width: 38px !important;
    max-width: 38px !important;
    padding: 0 !important;
    margin: 0 0 0 10px !important;
    border: 1px solid rgba(151, 29, 55, 0.16) !important;
    border-radius: 999px !important;
    background: rgba(151, 29, 55, 0.045) !important;
    color: #971D37 !important;
    box-shadow: 0 8px 22px rgba(151, 29, 55, 0.06) !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 0 0 38px !important;
    line-height: 1 !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
  }

  .main-header .nav-menu > .lg-site-search-toggle span,
  .nav-menu > .lg-site-search-toggle span,
  .lg-site-search-toggle.lg-search-nav-item span {
    display: none !important;
  }

  .main-header .nav-menu > .lg-site-search-toggle i,
  .nav-menu > .lg-site-search-toggle i,
  .lg-site-search-toggle.lg-search-nav-item i {
    margin: 0 !important;
    width: auto !important;
    font-size: 15px !important;
    color: #971D37 !important;
    line-height: 1 !important;
  }

  .main-header .nav-menu > .lg-site-search-toggle::after,
  .nav-menu > .lg-site-search-toggle::after,
  .lg-site-search-toggle.lg-search-nav-item::after {
    display: none !important;
    content: none !important;
  }

  .main-header .nav-menu > .lg-site-search-toggle:hover,
  .nav-menu > .lg-site-search-toggle:hover,
  .main-header .nav-menu > .lg-site-search-toggle:focus-visible,
  .nav-menu > .lg-site-search-toggle:focus-visible {
    background: #971D37 !important;
    color: #ffffff !important;
    border-color: #971D37 !important;
    box-shadow: 0 12px 28px rgba(151, 29, 55, 0.18), 0 0 0 4px rgba(151, 29, 55, 0.07) !important;
    transform: translateY(-1px) !important;
    outline: none !important;
  }

  .main-header .nav-menu > .lg-site-search-toggle:hover i,
  .nav-menu > .lg-site-search-toggle:hover i,
  .main-header .nav-menu > .lg-site-search-toggle:focus-visible i,
  .nav-menu > .lg-site-search-toggle:focus-visible i {
    color: #ffffff !important;
  }
}

@media (max-width: 1024px) {
  /* Mobile stays as a proper readable menu item */
  .main-header .nav-menu > .lg-site-search-toggle,
  .nav-menu > .lg-site-search-toggle,
  .lg-site-search-toggle.lg-search-nav-item {
    order: initial !important;
    display: flex !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    height: auto !important;
    min-height: 48px !important;
    padding: 13px 0 !important;
    margin: 0 !important;
    justify-content: flex-start !important;
    gap: 10px !important;
    border: 0 !important;
    border-bottom: 1px solid #eeeeee !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: #222222 !important;
    box-shadow: none !important;
    font-size: 15.5px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;
  }

  .main-header .nav-menu > .lg-site-search-toggle span,
  .nav-menu > .lg-site-search-toggle span,
  .lg-site-search-toggle.lg-search-nav-item span {
    display: inline !important;
  }
}


/* =========================================================
   V45 - Contact Dropdown Click Fix For All Pages
   Fix: dropdown on non-index pages could open visually but links felt unclickable.
   Keeps desktop Contact before search icon and makes dropdown clickable by hover/click.
   ========================================================= */
@media (min-width: 1025px) {
  .main-header,
  .main-header .header-inner,
  .main-header .nav-menu,
  header,
  header .header-inner,
  header .nav-menu {
    overflow: visible !important;
  }

  .main-header .nav-menu > .dropdown,
  .nav-menu > .dropdown,
  #contactDropdown {
    position: relative !important;
    z-index: 10050 !important;
    width: auto !important;
    display: inline-flex !important;
    align-items: center !important;
    overflow: visible !important;
    flex: 0 0 auto !important;
  }

  .main-header .nav-menu > .dropdown > .dropdown-toggle,
  .nav-menu > .dropdown > .dropdown-toggle,
  #contactDropdown > .dropdown-toggle {
    position: relative !important;
    z-index: 10052 !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 5px !important;
    width: auto !important;
    min-height: 38px !important;
    padding: 0 !important;
    color: #971D37 !important;
    pointer-events: auto !important;
    cursor: pointer !important;
    text-decoration: none !important;
  }

  .main-header .nav-menu > .dropdown > .dropdown-content,
  .nav-menu > .dropdown > .dropdown-content,
  #contactDropdown > .dropdown-content {
    position: absolute !important;
    top: calc(100% + 10px) !important;
    right: -12px !important;
    left: auto !important;
    z-index: 10060 !important;
    display: block !important;
    min-width: 176px !important;
    width: max-content !important;
    max-width: 240px !important;
    padding: 10px !important;
    margin: 0 !important;
    background: rgba(255, 255, 255, 0.98) !important;
    border: 1px solid rgba(151, 29, 55, 0.08) !important;
    border-radius: 14px !important;
    box-shadow: 0 18px 44px rgba(32, 20, 24, 0.14), 0 2px 8px rgba(151, 29, 55, 0.06) !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transform: translate3d(0, 8px, 0) !important;
    transition: opacity 160ms ease, transform 160ms ease, visibility 160ms ease !important;
    backdrop-filter: blur(10px) !important;
    -webkit-backdrop-filter: blur(10px) !important;
  }

  /* Invisible bridge so hover does not drop while moving from Contact to dropdown */
  .main-header .nav-menu > .dropdown > .dropdown-content::before,
  .nav-menu > .dropdown > .dropdown-content::before,
  #contactDropdown > .dropdown-content::before {
    content: "" !important;
    position: absolute !important;
    left: 0 !important;
    right: 0 !important;
    top: -12px !important;
    height: 12px !important;
    display: block !important;
  }

  .main-header .nav-menu > .dropdown:hover > .dropdown-content,
  .main-header .nav-menu > .dropdown.show > .dropdown-content,
  .nav-menu > .dropdown:hover > .dropdown-content,
  .nav-menu > .dropdown.show > .dropdown-content,
  #contactDropdown:hover > .dropdown-content,
  #contactDropdown.show > .dropdown-content {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transform: translate3d(0, 0, 0) !important;
  }

  .main-header .nav-menu > .dropdown > .dropdown-content a,
  .nav-menu > .dropdown > .dropdown-content a,
  #contactDropdown > .dropdown-content a {
    position: relative !important;
    z-index: 10061 !important;
    display: block !important;
    width: 100% !important;
    padding: 12px 14px !important;
    margin: 0 !important;
    border-radius: 10px !important;
    background: transparent !important;
    color: #1f1f1f !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    line-height: 1.25 !important;
    white-space: nowrap !important;
    pointer-events: auto !important;
    text-decoration: none !important;
  }

  .main-header .nav-menu > .dropdown > .dropdown-content a:hover,
  .nav-menu > .dropdown > .dropdown-content a:hover,
  #contactDropdown > .dropdown-content a:hover {
    background: rgba(151, 29, 55, 0.08) !important;
    color: #971D37 !important;
  }
}

@media (max-width: 1024px) {
  #contactDropdown.show > .dropdown-content,
  .nav-menu .dropdown.show > .dropdown-content {
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
  }
}

/* =========================================================
   NAVBAR SEPARATOR FIX
   Fix duplicate "|" near TV / Contact caused by search button ordering.
   Keep only the normal separator after TV, remove extra separator from
   Contact/Search on desktop. Mobile menu remains unchanged.
   ========================================================= */
@media (min-width: 1025px) {
  .main-header .nav-menu > .dropdown::after,
  .nav-menu > .dropdown::after,
  .main-header .nav-menu > .lg-site-search-toggle::after,
  .nav-menu > .lg-site-search-toggle::after,
  .lg-site-search-toggle.lg-search-nav-item::after {
    display: none !important;
    content: none !important;
  }
}

/* =========================================================
   NAVBAR CONTACT + SEARCH BUTTON FINAL FIX
   Desktop: Contact dropdown stays clickable, search stays as a clean
   round icon after Contact, no duplicate separator, no hidden text overflow.
   Mobile: Search remains a full menu item with text.
   ========================================================= */
@media (min-width: 1025px) {
  .main-header,
  .main-header .header-inner,
  .main-header .nav-menu,
  .nav-menu {
    overflow: visible !important;
  }

  .main-header .nav-menu,
  .nav-menu {
    display: flex !important;
    align-items: center !important;
    flex-wrap: nowrap !important;
  }

  /* Contact placed before the search icon */
  .main-header .nav-menu > #contactDropdown,
  .nav-menu > #contactDropdown,
  .main-header .nav-menu > .dropdown,
  .nav-menu > .dropdown {
    order: 100 !important;
    position: relative !important;
    z-index: 10050 !important;
    display: inline-flex !important;
    align-items: center !important;
    width: auto !important;
    flex: 0 0 auto !important;
    padding: 0 10px 0 12px !important;
    margin: 0 !important;
    overflow: visible !important;
  }

  .main-header .nav-menu > #contactDropdown::after,
  .nav-menu > #contactDropdown::after,
  .main-header .nav-menu > .dropdown::after,
  .nav-menu > .dropdown::after,
  .main-header .nav-menu > #lgSiteSearchToggle::after,
  .nav-menu > #lgSiteSearchToggle::after,
  .main-header .nav-menu > .lg-site-search-toggle::after,
  .nav-menu > .lg-site-search-toggle::after {
    display: none !important;
    content: none !important;
  }

  .main-header .nav-menu > #contactDropdown > .dropdown-toggle,
  .nav-menu > #contactDropdown > .dropdown-toggle,
  #contactDropdown > .dropdown-toggle {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
    min-height: 42px !important;
    height: 42px !important;
    padding: 0 !important;
    margin: 0 !important;
    color: #971D37 !important;
    font-size: 0.95rem !important;
    font-weight: 600 !important;
    line-height: 1 !important;
    white-space: nowrap !important;
    background: transparent !important;
    background-image: none !important;
    box-shadow: none !important;
    text-decoration: none !important;
    cursor: pointer !important;
  }

  #contactDropdown > .dropdown-toggle i {
    font-size: 12px !important;
    line-height: 1 !important;
    transition: transform 180ms ease !important;
  }

  #contactDropdown:hover > .dropdown-toggle,
  #contactDropdown.show > .dropdown-toggle {
    color: #7f1830 !important;
  }

  #contactDropdown.show > .dropdown-toggle i,
  #contactDropdown:hover > .dropdown-toggle i {
    transform: rotate(180deg) !important;
  }

  .main-header .nav-menu > #contactDropdown > .dropdown-content,
  .nav-menu > #contactDropdown > .dropdown-content,
  #contactDropdown > .dropdown-content {
    position: absolute !important;
    top: calc(100% + 8px) !important;
    right: 0 !important;
    left: auto !important;
    z-index: 10060 !important;
    min-width: 178px !important;
  }

  /* Search button as a clean round icon */
  .main-header .nav-menu > #lgSiteSearchToggle,
  .nav-menu > #lgSiteSearchToggle,
  .main-header .nav-menu > .lg-site-search-toggle,
  .nav-menu > .lg-site-search-toggle,
  .lg-site-search-toggle.lg-search-nav-item {
    order: 101 !important;
    position: relative !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 0 0 42px !important;
    width: 42px !important;
    min-width: 42px !important;
    max-width: 42px !important;
    height: 42px !important;
    min-height: 42px !important;
    padding: 0 !important;
    margin: 0 0 0 6px !important;
    border: 1px solid rgba(151, 29, 55, 0.16) !important;
    border-radius: 999px !important;
    background: rgba(151, 29, 55, 0.045) !important;
    background-image: none !important;
    color: #971D37 !important;
    box-shadow: 0 8px 22px rgba(151, 29, 55, 0.06) !important;
    overflow: hidden !important;
    text-decoration: none !important;
    cursor: pointer !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
  }

  .main-header .nav-menu > #lgSiteSearchToggle span,
  .nav-menu > #lgSiteSearchToggle span,
  .main-header .nav-menu > .lg-site-search-toggle span,
  .nav-menu > .lg-site-search-toggle span,
  .lg-site-search-toggle.lg-search-nav-item span {
    display: none !important;
  }

  .main-header .nav-menu > #lgSiteSearchToggle i,
  .nav-menu > #lgSiteSearchToggle i,
  .main-header .nav-menu > .lg-site-search-toggle i,
  .nav-menu > .lg-site-search-toggle i,
  .lg-site-search-toggle.lg-search-nav-item i {
    display: block !important;
    margin: 0 !important;
    font-size: 15px !important;
    line-height: 1 !important;
    color: inherit !important;
  }

  .main-header .nav-menu > #lgSiteSearchToggle:hover,
  .nav-menu > #lgSiteSearchToggle:hover,
  .main-header .nav-menu > .lg-site-search-toggle:hover,
  .nav-menu > .lg-site-search-toggle:hover {
    transform: translateY(-1px) !important;
    border-color: rgba(151, 29, 55, 0.28) !important;
    background: #fff !important;
    box-shadow: 0 12px 26px rgba(151, 29, 55, 0.12) !important;
  }
}

@media (max-width: 1024px) {
  .main-header .nav-menu > #lgSiteSearchToggle,
  .nav-menu > #lgSiteSearchToggle,
  .main-header .nav-menu > .lg-site-search-toggle,
  .nav-menu > .lg-site-search-toggle,
  .lg-site-search-toggle.lg-search-nav-item {
    order: initial !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 10px !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    height: auto !important;
    min-height: 48px !important;
    padding: 13px 0 !important;
    margin: 0 !important;
    border: 0 !important;
    border-bottom: 1px solid #eeeeee !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    color: #222222 !important;
    font-size: 15.5px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;
    text-align: left !important;
  }

  .main-header .nav-menu > #lgSiteSearchToggle span,
  .nav-menu > #lgSiteSearchToggle span,
  .main-header .nav-menu > .lg-site-search-toggle span,
  .nav-menu > .lg-site-search-toggle span,
  .lg-site-search-toggle.lg-search-nav-item span {
    display: inline !important;
  }

  .main-header .nav-menu > #lgSiteSearchToggle i,
  .nav-menu > #lgSiteSearchToggle i,
  .main-header .nav-menu > .lg-site-search-toggle i,
  .nav-menu > .lg-site-search-toggle i {
    width: 20px !important;
    margin: 0 !important;
    text-align: center !important;
  }
}

/* =========================================================
   V46 - Navbar Contact/Search Default State Fix
   Fix: Contact + search looked highlighted even when not hovered.
   Default now matches normal navbar. Highlight only happens on hover/focus/open.
   ========================================================= */
@media (min-width: 1025px) {
  .main-header .nav-menu > #contactDropdown > .dropdown-toggle,
  .nav-menu > #contactDropdown > .dropdown-toggle,
  #contactDropdown > .dropdown-toggle {
    color: #111111 !important;
    background: transparent !important;
    background-image: none !important;
    box-shadow: none !important;
    text-decoration: none !important;
  }

  #contactDropdown > .dropdown-toggle i {
    color: inherit !important;
  }

  #contactDropdown:hover > .dropdown-toggle,
  #contactDropdown.show > .dropdown-toggle,
  #contactDropdown > .dropdown-toggle:hover,
  #contactDropdown > .dropdown-toggle:focus-visible {
    color: #971D37 !important;
  }

  .main-header .nav-menu > #lgSiteSearchToggle,
  .nav-menu > #lgSiteSearchToggle,
  .main-header .nav-menu > .lg-site-search-toggle,
  .nav-menu > .lg-site-search-toggle,
  .lg-site-search-toggle.lg-search-nav-item {
    color: #111111 !important;
    background: transparent !important;
    background-image: none !important;
    border: 1px solid rgba(0, 0, 0, 0.12) !important;
    box-shadow: none !important;
  }

  .main-header .nav-menu > #lgSiteSearchToggle i,
  .nav-menu > #lgSiteSearchToggle i,
  .main-header .nav-menu > .lg-site-search-toggle i,
  .nav-menu > .lg-site-search-toggle i,
  .lg-site-search-toggle.lg-search-nav-item i {
    color: inherit !important;
  }

  .main-header .nav-menu > #lgSiteSearchToggle:hover,
  .nav-menu > #lgSiteSearchToggle:hover,
  .main-header .nav-menu > .lg-site-search-toggle:hover,
  .nav-menu > .lg-site-search-toggle:hover,
  .main-header .nav-menu > #lgSiteSearchToggle:focus-visible,
  .nav-menu > #lgSiteSearchToggle:focus-visible,
  .main-header .nav-menu > .lg-site-search-toggle:focus-visible,
  .nav-menu > .lg-site-search-toggle:focus-visible {
    color: #ffffff !important;
    background: #971D37 !important;
    border-color: #971D37 !important;
    box-shadow: 0 12px 26px rgba(151, 29, 55, 0.16) !important;
    transform: translateY(-1px) !important;
  }
}
