/* =========================================================
   LEO OPTIC — ULTRA PREMIUM INDEX POLISH
   Load this file LAST after style4.css, home.css and index.css
   ========================================================= */

:root{
  --leo-black:#070708;
  --leo-black-2:#101114;
  --leo-white:#fffaf0;
  --leo-cream:#f7f1df;
  --leo-muted:#aeb3bd;
  --leo-gold:#d4af37;
  --leo-gold-2:#f8de7e;
  --leo-gold-3:#9b7616;
  --leo-line:rgba(212,175,55,.22);
  --leo-glass:rgba(255,255,255,.075);
  --leo-glass-strong:rgba(255,255,255,.13);
  --leo-shadow:0 28px 80px rgba(0,0,0,.38);
  --leo-shadow-gold:0 22px 70px rgba(212,175,55,.18);
  --leo-radius:30px;
  --leo-ease:cubic-bezier(.19,1,.22,1);
}

html{scroll-behavior:smooth;overflow-x:hidden;}
body{
  overflow-x:hidden;
  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
  background:
    radial-gradient(circle at 15% -10%, rgba(212,175,55,.14), transparent 30%),
    radial-gradient(circle at 85% 5%, rgba(255,255,255,.07), transparent 26%),
    linear-gradient(180deg,#050506 0%,#0d0e12 48%,#050506 100%) !important;
  color:var(--leo-white);
}
body::selection{background:var(--leo-gold);color:#080808;}

/* ===== Scrollbar ===== */
::-webkit-scrollbar{width:9px;height:9px;}
::-webkit-scrollbar-track{background:#050506;}
::-webkit-scrollbar-thumb{background:linear-gradient(180deg,var(--leo-gold-2),var(--leo-gold-3));border-radius:999px;border:2px solid #050506;}
body{scrollbar-width:thin;scrollbar-color:var(--leo-gold) #050506;}

/* ===== Global luxury headings ===== */
.animate-title,
.category-title,
.products-section h2,
.products-section.new-arrivals-section h2,
.rtx-title,
.hero-title{
  letter-spacing:-.04em !important;
  text-wrap:balance;
}
.products-section h2,
.products-section.new-arrivals-section h2,
.category-title,
.rtx-title{
  background:linear-gradient(92deg,#fff 0%,#f8de7e 42%,#b88b1d 78%,#fff4b8 100%) !important;
  -webkit-background-clip:text !important;
  background-clip:text !important;
  color:transparent !important;
  text-shadow:0 12px 45px rgba(212,175,55,.18) !important;
}

/* ===== Header polish without breaking existing menu ===== */
header,.main-header{
  backdrop-filter:blur(18px) saturate(150%) !important;
  -webkit-backdrop-filter:blur(18px) saturate(150%) !important;
  background:linear-gradient(180deg,rgba(4,4,5,.82),rgba(4,4,5,.38)) !important;
  border-bottom:1px solid rgba(212,175,55,.14) !important;
  box-shadow:0 12px 45px rgba(0,0,0,.24) !important;
}

/* =====================================================
   OLD HERO RESTORE
===================================================== */

.carousel {
    position: relative;
    width: 100%;
    height: 100vh;
    overflow: hidden;
    margin-top: -120px;
    background: #000;
}

.carousel .list {
    position: relative;
    width: 100%;
    height: 100%;
}

.carousel .list .item {
    position: absolute;
    inset: 0;
    opacity: 0;
    transition: opacity .7s ease;
}

.carousel .list .item.active {
    opacity: 1;
    z-index: 2;
}

.slide-media {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    filter: brightness(.72);
}

.carousel-overlay {
    position: absolute;
    inset: 0;
    background:
        linear-gradient(
            90deg,
            rgba(0,0,0,.75) 0%,
            rgba(0,0,0,.35) 45%,
            rgba(0,0,0,.15) 100%
        );
    z-index: 1;
}

.carousel .content {
    position: absolute;
    top: 50%;
    left: 7%;
    transform: translateY(-50%);
    z-index: 5;
    width: min(700px, 90%);
    color: #fff;
}

.carousel .content .author {
    font-size: .9rem;
    letter-spacing: 3px;
    color: #FFD700;
    margin-bottom: 10px;
    text-transform: uppercase;
}

.carousel .content .title {
    font-size: clamp(2.5rem, 7vw, 6rem);
    line-height: .95;
    font-weight: 900;
    margin-bottom: 12px;
    color: #fff;
}

.carousel .content .topic {
    font-size: clamp(1.2rem, 2vw, 2rem);
    color: #FFD700;
    font-weight: 700;
    margin-bottom: 15px;
}

.carousel .content .des {
    max-width: 600px;
    line-height: 1.8;
    color: rgba(255,255,255,.88);
    margin-bottom: 25px;
}

.carousel .buttons {
    display: flex;
    gap: 15px;
    flex-wrap: wrap;
}

.btn-carousel {
    padding: 13px 30px !important;
    border-radius: 999px !important;
    border: 1px solid rgba(255,215,0,.4) !important;
    background: #FFD700 !important;
    color: #000 !important;
    font-weight: 700 !important;
    transition: .3s ease !important;
}

.btn-carousel:hover {
    transform: translateY(-3px);
    background: #fff0a6 !important;
}

/* arrows */

.arrows {
    position: absolute;
    bottom: 60px;
    left: 7%;
    z-index: 10;
    display: flex;
    gap: 12px;
}

.arrows button {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    border: none;
    background: rgba(255,255,255,.15);
    color: #fff;
    font-size: 18px;
    cursor: pointer;
    backdrop-filter: blur(8px);
    transition: .3s ease;
}

.arrows button:hover {
    background: #FFD700;
    color: #000;
}

/* animations */

.carousel .content .author,
.carousel .content .title,
.carousel .content .topic,
.carousel .content .des,
.carousel .content .buttons {
    opacity: 0;
    transform: translateY(40px);
    animation: heroFadeUp .8s forwards;
}

.carousel .content .title {
    animation-delay: .2s;
}

.carousel .content .topic {
    animation-delay: .4s;
}

.carousel .content .des {
    animation-delay: .6s;
}

.carousel .content .buttons {
    animation-delay: .8s;
}

@keyframes heroFadeUp {
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* mobile */

@media (max-width: 768px) {

    .carousel {
        margin-top: -70px;
    }

    .carousel .content {
        left: 20px;
        right: 20px;
        width: auto;
    }

    .carousel .content .title {
        font-size: 2.7rem;
    }

    .carousel .content .topic {
        font-size: 1.2rem;
    }

    .carousel .content .des {
        font-size: .92rem;
        line-height: 1.7;
    }

    .arrows {
        bottom: 35px;
        left: 20px;
    }

    .arrows button {
        width: 42px;
        height: 42px;
    }
}
.hero-products-box,.hero-products-window{
  border-radius:26px !important;
  border:1px solid rgba(212,175,55,.18) !important;
  background:rgba(7,7,8,.42) !important;
  backdrop-filter:blur(14px) !important;
  -webkit-backdrop-filter:blur(14px) !important;
}
.hero-mini-card,.hero-product-card{
  border-radius:22px !important;
  border:1px solid rgba(255,255,255,.12) !important;
  background:linear-gradient(180deg,rgba(255,255,255,.12),rgba(255,255,255,.04)) !important;
  box-shadow:0 18px 45px rgba(0,0,0,.28) !important;
  transition:transform .25s var(--leo-ease), box-shadow .25s var(--leo-ease) !important;
}
.hero-mini-card:hover,.hero-product-card:hover{transform:translateY(-6px) !important;box-shadow:0 24px 60px rgba(212,175,55,.18) !important;}
.hero-mini-card img,.hero-product-card img{border-radius:18px !important;object-fit:cover !important;}

/* ===== Premium section shells ===== */
.categories,
.products-section,
.products-section.new-arrivals-section,
.rtx-theme-section,
.hero-theme-section{
  position:relative !important;
  overflow:hidden !important;
  isolation:isolate;
  padding-block:clamp(64px,8vw,125px) !important;
}
.categories::before,
.products-section::before,
.products-section.new-arrivals-section::before,
.rtx-theme-section::before,
.hero-theme-section::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
  background:
    radial-gradient(circle at 12% 18%, rgba(212,175,55,.13), transparent 27%),
    radial-gradient(circle at 88% 80%, rgba(255,255,255,.055), transparent 25%),
    linear-gradient(180deg,rgba(255,255,255,.025),transparent 38%,rgba(0,0,0,.18));
}
.categories > *,
.products-section > *,
.rtx-theme-section > *,
.hero-theme-section > *{position:relative;z-index:1;}

/* ===== Categories ===== */
.categories-container{max-width:1420px !important;margin-inline:auto !important;padding-inline:clamp(16px,3vw,44px) !important;}
.categories-cards{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:clamp(18px,2.4vw,34px) !important;
  align-items:stretch !important;
}
.category-card{
  width:auto !important;
  max-width:none !important;
  margin:0 !important;
  transform:none !important;
  padding:14px !important;
  border-radius:var(--leo-radius) !important;
  border:1px solid rgba(212,175,55,.2) !important;
  background:linear-gradient(160deg,rgba(255,255,255,.13),rgba(255,255,255,.035)) !important;
  box-shadow:var(--leo-shadow) !important;
  backdrop-filter:blur(15px) saturate(145%) !important;
  -webkit-backdrop-filter:blur(15px) saturate(145%) !important;
  overflow:hidden !important;
  transition:transform .32s var(--leo-ease), box-shadow .32s var(--leo-ease), border-color .32s ease !important;
}
.category-card:hover{transform:translateY(-10px) !important;border-color:rgba(212,175,55,.42) !important;box-shadow:var(--leo-shadow),var(--leo-shadow-gold) !important;}
.category-card img,.category-card video{
  height:clamp(260px,31vw,430px) !important;
  border-radius:22px !important;
  object-fit:cover !important;
  filter:saturate(1.04) contrast(1.03) !important;
  transition:transform .55s var(--leo-ease), filter .35s ease !important;
}
.category-card:hover img,.category-card:hover video{transform:scale(1.055) !important;filter:saturate(1.12) contrast(1.06) brightness(1.04) !important;}
.category-name,.category-card h3{
  color:#fff !important;
  font-size:clamp(1.25rem,2vw,2rem) !important;
  font-weight:900 !important;
  margin:18px 10px 10px !important;
  text-shadow:0 10px 35px rgba(0,0,0,.45) !important;
}
.category-name::after,.category-card h3::after{
  content:"";display:block;width:58px;height:3px;border-radius:999px;margin:12px auto 0;
  background:linear-gradient(90deg,transparent,var(--leo-gold),transparent);
}

/* ===== Product grids ===== */
.products-section .container{max-width:1500px !important;padding-inline:clamp(14px,3vw,46px) !important;}
.pre-products-text{
  color:rgba(255,255,255,.73) !important;
  max-width:920px !important;
  margin-inline:auto !important;
  font-size:clamp(1rem,1.6vw,1.22rem) !important;
  line-height:1.9 !important;
}
.products-section .products-grid,
.products-grid.newarrivals{
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:clamp(16px,2vw,28px) !important;
  justify-content:initial !important;
  align-items:stretch !important;
  padding:0 !important;
}
.products-section .product-card,
.products-section.new-arrivals-section .product-card,
.product-card.na-item{
  width:auto !important;
  min-width:0 !important;
  height:100% !important;
  display:flex !important;
  flex-direction:column !important;
  padding:0 !important;
  border-radius:32px !important;
  overflow:hidden !important;
  background:linear-gradient(180deg,rgba(255,255,255,.13),rgba(255,255,255,.045)) !important;
  border:1px solid rgba(212,175,55,.18) !important;
  box-shadow:0 22px 65px rgba(0,0,0,.32) !important;
  backdrop-filter:blur(16px) saturate(145%) !important;
  -webkit-backdrop-filter:blur(16px) saturate(145%) !important;
  transition:transform .28s var(--leo-ease), box-shadow .28s var(--leo-ease), border-color .28s ease !important;
  contain:layout paint style;
}
.products-section .product-card:hover,
.products-section.new-arrivals-section .product-card:hover,
.product-card.na-item:hover{transform:translateY(-9px) !important;border-color:rgba(212,175,55,.46) !important;box-shadow:0 32px 80px rgba(0,0,0,.45),0 0 55px rgba(212,175,55,.16) !important;}
.products-section .product-card::before,
.product-card.na-item::before{
  content:"";position:absolute;inset:0;z-index:2;pointer-events:none;
  background:linear-gradient(135deg,rgba(255,255,255,.18),transparent 34%);
  opacity:.75;
}
.product-images,.product-images-scroll,
.products-section.new-arrivals-section .product-card > a{
  height:clamp(230px,24vw,345px) !important;
  width:100% !important;
  overflow:hidden !important;
  background:radial-gradient(circle at 50% 25%,rgba(255,255,255,.18),rgba(212,175,55,.08) 36%,#08090b 100%) !important;
  border-radius:0 !important;
}
.product-images img,.product-images-scroll img,
.products-section.new-arrivals-section .product-card img{
  width:100% !important;height:100% !important;object-fit:cover !important;object-position:center !important;margin:0 !important;border-radius:0 !important;
  transition:transform .55s var(--leo-ease), filter .35s ease !important;
  backface-visibility:hidden;
}
.product-card:hover img{transform:scale(1.055) !important;filter:saturate(1.08) brightness(1.05) contrast(1.03) !important;}
.product-title-dl,
.products-section .product-card h3,
.products-section.new-arrivals-section .product-card h3{
  color:#fff !important;
  min-height:64px !important;
  padding:20px 18px 6px !important;
  margin:0 !important;
  display:flex !important;align-items:center !important;justify-content:center !important;
  font-size:clamp(1rem,1.35vw,1.2rem) !important;
  line-height:1.45 !important;
  font-weight:900 !important;
  text-align:center !important;
}
.price,.product-price-dl,
.products-section.new-arrivals-section .product-card p{
  color:var(--leo-gold-2) !important;
  margin:0 !important;
  padding:2px 18px 22px !important;
  min-height:62px !important;
  display:flex !important;flex-direction:column !important;align-items:center !important;justify-content:flex-start !important;
  font-weight:900 !important;
  font-size:1.08rem !important;
  line-height:1.35 !important;
}
.old-price,span[style*="line-through"]{color:rgba(255,255,255,.45) !important;text-decoration-color:#ff5f5f !important;}
.new-price{color:var(--leo-gold-2) !important;}

/* ===== New arrivals hidden logic polish ===== */
.na-item.is-hidden{display:none !important;}
.products-section.new-arrivals-section > p{color:rgba(255,255,255,.72) !important;max-width:820px;margin-inline:auto !important;line-height:1.9 !important;}

/* ===== RTX / video style cards ===== */
.rtx-theme-section .rtx-content{max-width:1450px !important;margin-inline:auto !important;padding-inline:clamp(16px,3vw,46px) !important;}
.gtx{display:grid !important;grid-template-columns:repeat(3,minmax(0,1fr)) !important;gap:clamp(18px,2.4vw,34px) !important;}
.rtx-card{
  border-radius:32px !important;overflow:hidden !important;padding:14px !important;
  background:linear-gradient(180deg,rgba(255,255,255,.12),rgba(255,255,255,.04)) !important;
  border:1px solid rgba(212,175,55,.2) !important;
  box-shadow:0 22px 65px rgba(0,0,0,.34) !important;
  transition:transform .3s var(--leo-ease), box-shadow .3s var(--leo-ease) !important;
}
.rtx-card:hover{transform:translateY(-10px) !important;box-shadow:0 34px 85px rgba(0,0,0,.48),0 0 55px rgba(212,175,55,.14) !important;}
.rtx-card img,.rtx-card video{border-radius:24px !important;width:100% !important;height:clamp(260px,28vw,430px) !important;object-fit:cover !important;}
.rtx-caption{color:rgba(255,255,255,.9) !important;font-weight:800 !important;font-size:clamp(1rem,1.5vw,1.22rem) !important;}

/* ===== Bottom hero section ===== */
.hero-theme-section .hero-content{
  max-width:1450px !important;margin-inline:auto !important;padding:clamp(18px,3vw,46px) !important;
  border:1px solid rgba(212,175,55,.16);
  border-radius:38px;
  background:linear-gradient(135deg,rgba(255,255,255,.1),rgba(255,255,255,.03));
  box-shadow:0 30px 90px rgba(0,0,0,.32);
  backdrop-filter:blur(14px) saturate(145%);
  -webkit-backdrop-filter:blur(14px) saturate(145%);
}
.hero-title{font-size:clamp(2.1rem,5vw,5.4rem) !important;line-height:.96 !important;font-weight:950 !important;}
.hero-desc{color:rgba(255,255,255,.76) !important;font-size:clamp(1rem,1.6vw,1.22rem) !important;line-height:1.9 !important;}
.hero-content .left img{border-radius:34px !important;box-shadow:0 28px 80px rgba(0,0,0,.38) !important;}

/* ===== Light mode still premium ===== */
body:not(.dark-mode){
  background:linear-gradient(180deg,#f8f5ec,#ffffff 45%,#f3efe4) !important;
  color:#101114 !important;
}
body:not(.dark-mode) .carousel .content,
body:not(.dark-mode) .category-card,
body:not(.dark-mode) .product-card,
body:not(.dark-mode) .rtx-card,
body:not(.dark-mode) .hero-theme-section .hero-content{
  background:linear-gradient(180deg,rgba(255,255,255,.86),rgba(255,255,255,.58)) !important;
  color:#111 !important;
  border-color:rgba(0,0,0,.08) !important;
}
body:not(.dark-mode) .product-title-dl,
body:not(.dark-mode) .product-card h3,
body:not(.dark-mode) .category-card h3,
body:not(.dark-mode) .category-name{color:#111 !important;}
body:not(.dark-mode) .pre-products-text,
body:not(.dark-mode) .hero-desc,
body:not(.dark-mode) .products-section.new-arrivals-section > p{color:#4d5360 !important;}

/* ===== Responsive ===== */
@media (max-width:1200px){
  .products-section .products-grid,.products-grid.newarrivals{grid-template-columns:repeat(3,minmax(0,1fr)) !important;}
  .categories-cards,.gtx{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
}
@media (max-width:768px){
  .carousel{min-height:760px !important;margin-top:-58px !important;}
  .carousel .content{top:18vh !important;left:12px !important;right:12px !important;width:auto !important;max-width:none !important;padding:18px !important;border-radius:26px !important;}
  .carousel .content .title{font-size:clamp(2.25rem,15vw,4.3rem) !important;}
  .carousel .content .des{font-size:.94rem !important;line-height:1.75 !important;}
  .products-section .products-grid,.products-grid.newarrivals{grid-template-columns:repeat(2,minmax(0,1fr)) !important;gap:14px !important;}
  .categories-cards,.gtx{grid-template-columns:1fr !important;gap:18px !important;}
  .product-images,.product-images-scroll,.products-section.new-arrivals-section .product-card > a{height:230px !important;}
  .product-title-dl,.products-section .product-card h3{font-size:.95rem !important;min-height:58px !important;padding-inline:10px !important;}
  .price,.product-price-dl{font-size:.96rem !important;padding-inline:10px !important;}
  .category-card img,.category-card video,.rtx-card img,.rtx-card video{height:270px !important;}
  .hero-theme-section .hero-content{border-radius:28px !important;}
}
@media (max-width:480px){
  .products-section .products-grid,.products-grid.newarrivals{grid-template-columns:1fr !important;}
  .product-images,.product-images-scroll,.products-section.new-arrivals-section .product-card > a{height:310px !important;}
  .products-section .container{padding-inline:16px !important;}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms !important;animation-iteration-count:1 !important;transition-duration:.001ms !important;scroll-behavior:auto !important;}
}
