@import url('https://fonts.googleapis.com/css2?family=Lora:wght@400;600&family=Montserrat:wght@600;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Cinzel:wght@700&display=swap');

/* ========== BASE ========== */
body, html {
    background: linear-gradient(120deg, #16001E 0%, #32004A 100%) ;
    color: #f8f0ff ;
    font-family: 'Montserrat', 'Arial', sans-serif ;
    min-height: 100vh ;
    padding: 0 ;
    margin: 0 ;
    overflow-x: hidden ;
    
}

/* ========== HEADER & FOOTER GLASS ========== */
#header-container, #footer-container {
    box-shadow: 0 12px 32px -18px #32003a66, 0 -12px 32px -18px #48005588 !important;
    background: rgba(30,8,45,0.96) !important;
    border-radius: 0 0 32px 32px !important;
    margin-bottom: 1.3rem !important;
}

/* ========== PROMO BANNER ========== */
.promo-text {
  background: linear-gradient(90deg, #ff66f9 34%, #9600ed99 85%) ;
  color: #fff ;
  font-size: 1.15rem ;
  font-weight: bold ;
  letter-spacing: 1px ;
  padding: 0.88rem 1rem ;        /* horizontal padding inside */
  margin: 0 auto 1.2rem auto ;   /* center & bottom margin */
  box-sizing: border-box ;       /* include padding in width */
  width: 100% ;                  
  max-width: 100vw ;             /* never exceed viewport */
  text-align: center ;
  border-radius: 0 0 24px 24px ;
  text-shadow: 0 2px 12px #62014d67 ;
  z-index: 10 ;
  position: relative ;
  display: flex ;
  justify-content: center ;
  flex-wrap: wrap ;
  gap: 10px ;
}
@media (max-width: 600px) {
  .promo-text {
    font-size: 0.95rem ;
    padding-top: 5rem;
    gap: 5px ;
    padding: 0.6rem 0.8rem ;   /* shrink padding on small */
  }
  .promo-text .separator { display: none ; }
}


/* ========== HERO (ULTRA-MODERN) ========== */
section.hero {
    min-height: 98vh ;
    display: flex ;
    align-items: center ;
    justify-content: center ;
    position: relative ;
    padding: 0 ;
}
.hero-video {
    z-index: 0 ;
    object-fit: cover ;
    position: absolute ;
    top: 0 ; left: 0 ;
    min-width: 100vw ; max-height: 98vh ;
    filter: brightness(0.7) blur(2px) saturate(1.3) ;
}
.hero-column.hero-text {
  position: relative;
  text-align: center;          /* center all hero text */
  background: rgba(0, 0, 0, 0.3);
  border-radius: 15px;
  color: #fff;
  max-width: 100%;
  z-index: 3;
  padding: 40px 5%;
  margin: 0 auto;              /* center the block itself, if needed */
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

.hero-column.hero-text ul {
  display: inline-block;
  text-align: left;            /* left-align only the list items, keeps bullets tidy */
  margin: 0 auto 1rem auto;
}
@media (max-width: 1024px) { .hero-video { display: none ; } }
.hero-overlay {
    background: linear-gradient(135deg, rgba(40,6,58,0.7) 30%, rgba(225,0,151,0.1) 100%) ;
    z-index: 1 ;
    position: absolute ; inset: 0 ; pointer-events: none ;
}
.hero-container {
    z-index: 2 ;
    position: relative ;
    margin: 0 auto ;
    padding: 3.5vw 4vw ;
    max-width: 850px ;
    background: rgba(38, 0, 47, 0.60) ;
    border-radius: 2rem ;
    box-shadow: 0 10px 80px 0 #e10097a7, 0 2px 18px 0 #110116cc ;
    backdrop-filter: blur(4px) ;
}
.hero-column.hero-text h1, .hero-column.hero-text h2, .hero-column.hero-text h3 {
    font-family: 'Cinzel', serif ;
    font-weight: 700 ;
    color: #ffd6fa ;
    letter-spacing: 1.2px ;
    margin-bottom: 1rem ;
    text-shadow: 0 2px 12px #43063855 ;
}
.hero-list strong {
  color: #f977ff ;
}

.hero-buttons {
  display: flex ;
  flex-wrap: wrap ;
  justify-content: center ;
  gap: 1rem ;
  margin-top: 20px ;
}

.hero-buttons a.cta-button {
  background: linear-gradient(90deg, #ee0077 50%, #e10097 100%) ;
  border: 0 ;
  box-shadow: 0 0 12px #e10097cc ;
  color: #fff ;
  font-weight: bold ;
  border-radius: 48px ;
  padding: 1rem 2.6rem ;
  font-size: 1.2em ;
  transition:
    transform 0.13s cubic-bezier(.51,1.5,.68,.53),
    box-shadow 0.29s cubic-bezier(.76,0,.24,1) ;
  outline: none ;
  text-shadow: 0 2px 6px #44025099 ;
  letter-spacing: 1.2px ;
  margin: 0 ;
}

.hero-buttons a.cta-button:hover {
    box-shadow: 0 0 28px #e10097cc, 0 0 48px 12px #f677fa44 ;
    transform: scale(1.08) ;
    background: linear-gradient(90deg, #e10097 0%, #fa22ba 100%) ;
}

/* ========== FEATURED PRODUCTS ========== */
section.featured {
  position: relative;
  z-index: 1 ;
}
/* ========== CENTER “FEATURED LINGERIE” HEADING ========= */
section.featured .featured-inner > h2 {
  text-align: center !important;
  width: 100% !important;
  margin-bottom: 1.5rem !important;
}

.featured-inner {
  background: rgba(55, 1, 80, 0.095) ;
  border-radius: 2rem ;
  margin: 0 auto 2rem auto ;
  padding: 2.6rem 1rem 1.3rem 1rem ;
  box-shadow: 0 8px 40px #d0007555 ;
  width: 100% ;
  max-width: 1200px ;
  box-sizing: border-box ;
}

.featured-inner .products {
  display: grid ;
  grid-template-columns: repeat(3, 1fr) ;
  gap: 2.4rem ;
  justify-items: center ;
  justify-content: center ;
  padding: 2.5rem 1.5rem ;
  box-sizing: border-box ;
}

/* Product card */
.featured-inner .products > * {
  background: rgba(255,255,255,0.07) ;
  border-radius: 1.5rem ;
  box-shadow: 0 3px 32px #a800d055, 0 2px 12px #2e004dcc ;
  border: 1px solid #f677fa22 ;
  overflow: hidden ;
  transition: transform 0.19s, box-shadow 0.19s ;
  width: 100% ;
  max-width: 360px ;
  display: flex ;
  flex-direction: column ;
  align-items: center ;
  text-align: center ;
  padding-bottom: 1rem ;
  box-sizing: border-box ;
}

.featured-inner .products > *:hover {
  transform: translateY(-8px) scale(1.03) rotate(-1.1deg) ;
  box-shadow: 0 10px 44px #f90096a7, 0 1px 24px #e1009760 ;
  border-color: #f877ff ;
}

/* Image */
.featured-inner .products img {
  width: 100% ;
  height: 230px ;
  object-fit: cover ;
  border-radius: 1.5rem 1.5rem 0 0 ;
  transition: filter 0.17s ;
}

.featured-inner .products > *:hover img {
  filter: saturate(1.4) contrast(1.1) brightness(1.08) ;
}

/* Title & Price */
.featured-inner .products > * .product-title {
  margin: 0.8rem 0 0.4rem 0 ;
  font-size: 1.1rem ;
  color: #fff ;
}

.featured-inner .products > * .price {
  margin: 0.2rem 0 0.6rem 0 ;
  font-size: 1rem ;
  color: #f0e ;
}

/* Star rating */
.featured-inner .products > * .rating {
  color: #FFD700 ;
  margin-bottom: 0.6rem ;
}

/* CTA button */
.featured-inner .products > * .view-product,
.featured-inner .products > * .cta-button {
  display: inline-block ;
  background: linear-gradient(90deg, #ee0077 50%, #e10097 100%) ;
  color: #fff ;
  text-decoration: none ;
  font-weight: bold ;
  padding: 0.75rem 2rem ;
  border: none ;
  border-radius: 32px ;
  box-shadow: 0 0 12px #e1009766 ;
  transition: transform 0.13s, box-shadow 0.29s ;
}

.featured-inner .products > * .view-product:hover,
.featured-inner .products > * .cta-button:hover {
  transform: scale(1.08) ;
  box-shadow: 0 6px 32px #e10097bb ;
}

/* Responsive: tablet */
@media (max-width: 1050px) {
  .featured-inner .products {
    grid-template-columns: repeat(2, 1fr) ;
  }
}

/* Responsive: phone */
@media (max-width: 650px) {
  .featured-inner .products {
    grid-template-columns: 2, 1fr ;
  }
  .featured-inner .products > * {
    max-width: 96vw ;
  }
}
/* ========== CATEGORY GRID: 4×3 ON LARGE SCREENS, RESPONSIVE BELOW ========= */
.category-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);      /* 4 columns by default */
  grid-auto-rows: auto;
  gap: 1.5vw;
  padding: 4vw 2vw 6vw 2vw;
  box-shadow: none;
  background: none;
}

/* Individual item styling */
.category-item {
  display: flex;
  align-items: center;
  gap: 1.4rem;
  border-radius: 1.25rem;
  background: linear-gradient(110deg, rgba(250,34,186,0.04) 30%, rgba(220,0,180,.16) 95%);
  box-shadow: 0 4px 22px #e10097a4;
  padding: 1vw 2vw;
  border: 1.5px solid #f677fa22;
  transition: box-shadow 0.13s, border 0.13s, transform 0.18s cubic-bezier(.37,1.22,.8,1.18);
  position: relative;
  overflow: hidden;
}

.category-item:before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  box-shadow: 0 0 48px 6px #e10097cc inset;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.13s;
}

.category-item:hover {
  border: 1.7px solid #f877ff;
  box-shadow: 0 2px 44px #f90096a7, 0 1px 24px #e1009760;
  transform: scale(1.018);
}

.category-item:hover:before {
  opacity: 0.15;
}

.category-image img {
  border-radius: 12px;
  box-shadow: 0 2px 16px #e100977c;
  width: 88px;
  height: 88px;
  object-fit: cover;
  background: #fff;
}

.category-text a {
  color: #fad9fc;
  font-family: 'Cinzel', serif;
  font-size: 1.13em;
  font-weight: 700;
  letter-spacing: 0.8px;
  text-shadow: 0 2px 8px #ee007899;
  border-bottom: 2px dashed #e10097;
  transition: color 0.15s, border 0.13s;
}

.category-item:hover .category-text a {
  color: #f677fa;
  border-bottom: 2px solid #f955ff;
}

/* Tablet: 2 columns */
@media (max-width: 1024px) {
  .category-grid {
      grid-template-columns: repeat(2, 1fr);
  }
}

/* Phone: 1 column with text-left/image-right */
@media (max-width: 768px) {
  .category-grid {
      grid-template-columns: 1fr;
  }
  .category-grid .category-item {
      flex-direction: row;
      justify-content: space-between;
      align-items: center;
      padding: 1rem;
  }
  .category-grid .category-item .category-text {
      order: 1;
      flex: 1 1 auto;
      text-align: left;
      padding-right: 1rem;
  }
  .category-grid .category-item .category-image {
      order: 2;
      flex: 0 0 auto;
      margin: 0;
  }
  .category-grid .category-item .category-image img {
      width: 88px;
      height: 88px;
      object-fit: cover;
      border-radius: 12px;
  }
}


/* ========== WHY CHOOSE US (MODERN GLASS) ========== */
.why-choose { margin: 2vw 0 2vw 0 ; font-family: 'Lora', serif ; font-style: italic; }
.why-choose .feature {
    display: flex ;
    align-items: center ;
    justify-content: center ;
    gap: 2.8vw ;
    padding: 2.5vw 0 ;
    border-radius: 2rem ;
    margin: 1.5vw 0 ;
    background: linear-gradient(110deg, rgba(51,9,57,0.63),rgba(32,0,76,0.24)) ;
    box-shadow: 0 2px 14px #f90096aa ;
    transition: box-shadow 0.17s;
}
.why-choose .feature.left { flex-direction: row ; }
.why-choose .feature.right { flex-direction: row-reverse ; }
.why-choose .feature-image img {
    width: 220px ;
    border-radius: 1.4rem ;
    box-shadow: 0 14px 42px #e1009715, 0 8px 16px #8b00fc77 ;
    filter: saturate(1.26) ;
}
.why-choose .feature-text { color: #fad9fc ; font-size: 1.16em ; }
.why-choose h3 { color: #f677fa ; }
.why-choose .feature:hover {
    box-shadow: 0 4px 44px #fa22ba75, 0 2px 24px #e100973a ;
}
@media (max-width: 768px) {
    .why-choose .feature,
    .why-choose .feature.left,
    .why-choose .feature.right { flex-direction: column ; text-align: center ; padding: 30px 20px ;}
    .why-choose .feature-text, .why-choose .feature-image { width: 100%; text-align: center; padding: 10px 0;}
    .why-choose .feature-image img { width: 70vw; max-width: 340px; }
}

/* ========== OFFERS (MODERN) ========== */
section.offers {
    margin: 2vw auto ;
    background: linear-gradient(96deg, #23002f 55%, #fa22ba11 100%) ;
    border-radius: 2.2rem ;
    box-shadow: 0 8px 44px #fa22ba24, 0 1px 22px #e100973d ;
    min-width: 96vw ;
    max-width: 106vw ;
    padding: 3vw 2vw ;
    color: #fff ;
    text-align: center ;
}
.offers-container {
    display: flex ;
    flex-wrap: wrap ;
    align-items: center ;
    justify-content: center ;
    gap: 3vw ;
}
.offer-box {
    flex: 1 1 290px ;
    max-width: 390px ;
    background: rgba(255,255,255,0.055) ;
    margin: 2vw 1vw ;
    border-radius: 22px ;
    box-shadow: 0 6px 40px #e1009766 ;
    display: flex ;
    flex-direction: column ;
    align-items: center ;
    padding: 2vw 1vw ;
    backdrop-filter: blur(2px) ;
    border: 1.6px solid #f677fa22 ;
    transition: transform 0.14s, box-shadow 0.17s;
}
.offer-box:hover {
    border: 2.1px solid #f677fa ;
    box-shadow: 0 8px 56px #d500849b, 0 1px 12px #e1009760 ;
    transform: scale(1.05) ;
}
.offer-box svg { filter: drop-shadow(0 2px 22px #ff7de595) ; }
@media (max-width: 768px) { .offers h2 { font-size: 1.6rem ; }
    .offer-box { max-width: 98vw ; }
}

/* ========== REVIEWS ========== */
section.reviews {
    background: linear-gradient(93deg, #22002a 40%, #fa22ba11 100%) ;
    border-radius: 38px ;
    margin: 2.3vw auto ;
    padding: 1.7vw ;
    box-shadow: 0 4px 44px #d800ff24, 0 1px 14px #e1009732 ;
    max-width: 1200px ;
}
.reviews h2 { color: #ffb5ef ; }
.reviews .review {
    font-size: 1.15em ;
    background: rgba(255,255,255,0.08) ;
    color: #fad9fc ;
    border-radius: 1.3rem ;
    padding: 1.1rem 2rem ;
    margin: 1rem auto ;
    border-left: 8px solid #e10097 ;
    box-shadow: 0 3px 18px #fa22ba11 ;
    font-family: 'Cinzel', serif ;
}
.reviews .review strong { color: #fa27b7 ; }
@media (max-width: 768px) {
    .reviews { padding: 40px 15px ; }
    .review { font-size: 1.02em ; }
}

/* ========== COOKIE BANNER ========== */
#cookie-consent-banner {
    background: linear-gradient(90deg, #2f0038 60%, #fa22ba32 100%) ;
    color: #fad9fc ;
    box-shadow: 0 -4px 30px #99006f90 ;
}
.cookie-consent-container a {
    color: #fff176 ;
}
.cookie-buttons button {
    background: linear-gradient(90deg,#e10097,#fa22ba) ;
    color: #fff ;
    border: none ; border-radius: 28px ;
}
.cookie-buttons button:hover {
    background: #fff176 ;
    color: #320048 ;
}
::-webkit-scrollbar { width: 14px ; background: #2c0044 ; }
::-webkit-scrollbar-thumb {
    border-radius: 7px ;
    background: linear-gradient(135deg, #e10097 40%, #2efbe8 100%) ;
}
::-webkit-scrollbar-thumb:hover {
    background: linear-gradient(135deg, #f677fa 0%, #8000ff 100%) ;
}
/* ========== GOLD RATING STARS ========= */
.featured-inner .products .rating-stars,
.featured-inner .products .rating-stars * {
  color: #FFD700 !important;
  fill:  #FFD700 !important;
}
/* ========== FEATURED CARD CTA BUTTON ========= */
.featured-inner .products .product-card-cta-button {
  display: inline-block !important;
  background: linear-gradient(90deg, #ee0077 50%, #e10097 100%) !important;
  color: #fff !important;
  text-decoration: none !important;
  font-weight: bold !important;
  padding: 0.75rem 2rem !important;
  border: none !important;
  border-radius: 32px !important;
  box-shadow: 0 0 12px #e1009766 !important;
  transition: transform 0.13s, box-shadow 0.29s !important;
  margin-top: 0.6rem !important;    /* spacing above button */
}

.featured-inner .products .product-card-cta-button:hover {
  transform: scale(1.08) !important;
  box-shadow: 0 6px 32px #e10097bb !important;
}
/* ========== WHY CHOOSE US (CENTERED) ========== */
section.why-choose > h2 {
  text-align: center !important;
  width: 100% !important;
  margin: 2rem 0 !important;
}

/* Optionally center each feature’s content on desktop */
section.why-choose .feature {
  justify-content: center !important;
}

/* Ensure text and image stack nicely and center on smaller screens */
@media (max-width: 1024px) {
  section.why-choose .feature {
    flex-direction: column !important;
    text-align: center !important;
  }
}
/* ====== Prevent Header–Hero Overlap on Small Screens ====== */
@media (max-width: 600px) {
  /* push hero down by the height of the header */
  section.hero {
    padding-top: 90px !important;   /* adjust as needed to match your actual header height */
    box-sizing: border-box !important;
  }
}
