/* Remove default Blocksy hero */
.page-header {
  display: none !important;
}

/* ===========================
   Global Typography via H Tags
   =========================== */
.custom-hero p {
  font-size: 1.5rem;
  margin-bottom: 25px;
}

.custom-hero h1 {
  font-size:40px;
  margin-bottom: 15px;
  font-family: 'Parisienne', cursive;
  font-color:#C20232;
}

/* Tablet adjustments */
@media (max-width: 992px) {
  .custom-hero {
    min-height: 500px;
  }
  .custom-hero h1 {
    font-size: 2.5rem;
    font-family: 'Parisienne', cursive;
    text-color:#C20232;
  }
  .custom-hero p {
    font-size: 1.2rem;
  }
}

/* Mobile adjustments */
@media (max-width: 600px) {
  .custom-hero {
    min-height: 400px;
    font-size: 12px;
  }
  .custom-hero h1 {
    font-size: 1.8rem;
    font-family: 'Parisienne', cursive;
    text-color:#C20232;
  }
  .custom-hero p {
    font-size: 12px;
  }
  .ap-btn-primary {
    padding: 12px 24px;
    font-size: 0.9rem;
  }
}

/* hero overlay */
.custom-hero-overlay {
  position: absolute;
  bottom: 15%;        /* places overlay 15% above bottom edge */
  left: 50%;
  transform: translateX(+30%);
  text-align: center;
  width: 100%;
}

/* adjust per device */
@media (max-width: 992px) {
  .custom-hero-overlay {
    bottom: 10%;
  }
}
@media (max-width: 600px) {
  .custom-hero-overlay {
    transform: translateX(+30%);
    bottom: 6%;
  }
}

.custom-hero {
    position: relative;
}

.custom-hero-overlay {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    text-align: center;
    color: #fff; /* make sure text is visible */
    z-index: 10;
}

.custom-hero-overlay h1,
.custom-hero-overlay p {
    color: #fff !important;
}








/* Custom hero wrapper */
/* Default hero styles (desktop first) */
.custom-hero {
  position: relative;
  background-image: 
  background-size: cover;
  background-position: center;
  min-height: 600px;   /* desktop height */
  display: hidden;
  align-items: center;
  justify-content: center;
  text-align: center;
  color: #fff;
}

.custom-hero::before {
  content: "";
  position: absolute;
  top: 0; left: 0;
  width: 100%; height: 100%;
  background: rgba(0,0,0,0.55); /* stronger overlay for text readability */
  z-index: 1;
}

.custom-hero-overlay {
  position: relative;
  z-index: 2;
  padding: 0 20px;
}

.ap-btn-primary {
  background: #e6005c;
  padding: 14px 32px;
  border-radius: 4px;
  text-decoration: none;
  color: #fff;
  font-weight: bold;
  font-size: 1rem;
}

/* =========================================
   WooCommerce Slider Support for Discover
   ========================================= */
.ap-product-slider {
  margin-top: 30px;
}

/* Force slider products into card look */
.ap-product-slider .product {
  background: #fff;
  border: 1px solid #eee;
  border-radius: 8px;
  overflow: hidden;
  text-align: center;
  padding: 15px;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.ap-product-slider .product:hover {
  transform: translateY(-5px);
  box-shadow: 0 6px 20px rgba(0,0,0,0.1);
}

/* Product images */
.ap-product-slider .product img {
  max-width: 100%;
  border-radius: 6px;
  margin-bottom: 10px;
}

/* Titles */
.ap-product-slider .product h2,
.ap-product-slider .product h3,
.ap-product-slider .woocommerce-loop-product__title {
  font-size: 1.1rem;
  font-family: 'Montserrat', sans-serif;
  font-weight: 600;
  margin: 10px 0;
  color: #1E1E1E;
}

/* Price */
.ap-product-slider .price {
  font-size: 1rem;
  color: #e6005c;
  font-weight: bold;
  margin-bottom: 10px;
}

/* Buttons */
.ap-product-slider .button,
.ap-product-slider .add_to_cart_button {
  display: inline-block;
  background: #e6005c;
  color: #fff !important;
  border-radius: 4px;
  padding: 10px 20px;
  text-decoration: none;
  font-size: 0.9rem;
  font-weight: bold;
  transition: background 0.3s ease;
}

.ap-product-slider .button:hover,
.ap-product-slider .add_to_cart_button:hover {
  background: #ff4da6;
}

/* Slider arrows (generic targeting) */
.ap-product-slider .swiper-button-next,
.ap-product-slider .swiper-button-prev {
  color: #e6005c;
  font-size: 1.5rem;
}

.ap-hero-split .ap-hero-left,
.ap-hero-split .ap-hero-right {
  flex: 0 0 45%; /* instead of 50% width each */
}

.ap-product-slider .product {
  max-width: 225px;   /* adjust width of each product card */
  margin: 0 auto;     /* center card in the slide */
}

.ap-product-slider .button,
.ap-product-slider .add_to_cart_button {
  background: #e6005c !important; /* match your brand pink */
  color: #fff !important;
  border-radius: 4px;
  font-weight: bold;
}

.ap-product-slider .button:hover,
.ap-product-slider .add_to_cart_button:hover {
  background: #ff4da6 !important;
}

/* Split section like Agent Provocateur */
.ap-hero-split.alt-layout .ap-hero-container {
  display: flex;
  gap: 0;
  margin: 0;
  padding: 0;
}

.ap-hero-split.alt-layout .ap-hero-panel {
  flex: 1;
  min-height: 400px;
  background-size: cover;
  background-position: center;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  color: #fff;
  text-align: center;
}

.ap-hero-split.alt-layout .ap-hero-panel::before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,0.25); /* subtle overlay */
}

.ap-hero-split.alt-layout .ap-hero-text {
  position: relative;
  z-index: 2;
  max-width: 80%;
}

.ap-hero-split.alt-layout h2 {
  font-size: 2rem;
  margin-bottom: 10px;
}

.ap-hero-split.alt-layout p {
  font-size: 1.1rem;
  margin-bottom: 15px;
}

.ap-hero-split .ap-hero-container {
  display: flex;
  gap: 30px;   /* adjust spacing between the two cards */
}

.ap-hero-split.alt-layout .ap-hero-container {
  display: flex;
  gap: 0;
  margin: 0;
  padding: 0;
}

.ap-hero-split.alt-layout .ap-hero-panel {
  flex: 0 0 50%;   /* each takes half of the width */
  min-height: 400px;
  background-size: cover;
  background-position: center;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  color: #fff;
}

.ap-hero-split.alt-layout .ap-hero-panel::before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,0.35); /* darkens background image slightly */
}
.ap-hero-split.alt-layout .ap-hero-text {
  position: relative;
  z-index: 2;
  max-width: 80%;
}

.ap-hero-split.alt-layout .ap-hero-container {
  display: flex;
  gap: 20px;   /* add horizontal spacing between the two panels */
}

@media (max-width: 768px) {
  .ap-hero-split.alt-layout .ap-hero-container {
    flex-direction: column;
    gap: 20px;   /* vertical spacing between stacked panels */
  }

  .ap-cta.dark {
  background-size: cover;
  background-position: center;
  position: relative;
  color: #fff;
  padding: 80px 20px;
  text-align: center;
}

.ap-cta.dark .ap-cta-overlay {
  background: rgba(0,0,0,0.5); /* darken background */
  padding: 60px 20px;
  border-radius: 10px;
}
}

/* === CTA Base Styling === */
.ap-cta {
  background: #fce4ec; /* soft pink background */
  padding: 60px 20px;
  margin: 60px 0;
  text-align: center;
  border-radius: 10px;
}

.ap-cta .ap-cta-content {
  max-width: 800px;
  margin: 0 auto;
}

.ap-cta h2 {
  font-size: 2rem;
  margin-bottom: 15px;
  color: #e6005c; /* brand pink */
}

.ap-cta p {
  font-size: 1.2rem;
  margin-bottom: 25px;
  color: #333;
}

.ap-cta .ap-btn {
  font-size: 1.1rem;
  padding: 12px 30px;
}

/* =========================================
   WooCommerce Bestsellers Section Styling
   ========================================= */
.ap-outlet-products ul.products {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  justify-content: center;
  margin: 30px 0 0;
  padding: 0;
  list-style: none;
}

.ap-outlet-products ul.products li.product {
  background: #fff;
  border: 1px solid #eee;
  border-radius: 8px;
  overflow: hidden;
  text-align: center;
  padding: 15px;
  flex: 0 0 calc(33.333% - 20px); /* 3 columns */
  box-sizing: border-box;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.ap-outlet-products ul.products li.product:hover {
  transform: translateY(-5px);
  box-shadow: 0 6px 20px rgba(0,0,0,0.1);
}

/* Product images */
.ap-outlet-products ul.products li.product img {
  max-width: 100%;
  border-radius: 6px;
  margin-bottom: 10px;
}

/* Titles */
.ap-outlet-products ul.products li.product .woocommerce-loop-product__title {
  font-size: 1.1rem;
  font-family: 'Montserrat', sans-serif;
  font-weight: 600;
  margin: 10px 0;
  color: #1E1E1E;
  white-space: normal;
}

/* Price */
.ap-outlet-products ul.products li.product .price {
  font-size: 1rem;
  color: #e6005c;
  font-weight: bold;
  margin-bottom: 10px;
}

/* Buttons */
.ap-outlet-products ul.products li.product .button {
  display: inline-block;
  background: #e6005c;
  color: #fff !important;
  border-radius: 4px;
  padding: 10px 20px;
  text-decoration: none;
  font-size: 0.9rem;
  font-weight: bold;
  transition: background 0.3s ease;
}

.ap-outlet-products ul.products li.product .button:hover {
  background: #ff4da6;
}

/* WooCommerce product grid sizing */
.ap-outlet-products ul.products {
  display: flex;
  flex-wrap: wrap;
  gap: 30px; /* spacing between products */
  justify-content: center;
}

.ap-outlet-products ul.products li.product {
  flex: 0 1 calc(33.333% - 30px); /* 3 per row with spacing */
  max-width: calc(33.333% - 30px);
  box-sizing: border-box;
}

/* Tablets: 2 products per row */
@media (max-width: 992px) {
  .ap-outlet-products ul.products li.product {
    flex: 0 1 calc(50% - 20px);
    max-width: calc(50% - 20px);
  }
}

/* Mobile: 1 product per row */
@media (max-width: 600px) {
  .ap-outlet-products ul.products li.product {
    flex: 0 1 100%;
    max-width: 100%;
  }
}

/* --- FORCE WooCommerce Bestsellers into a proper grid --- */
.ap-outlet-products ul.products {
  /* stop theme defaults (floats/inline-widths) from winning */
  display: grid !important;
  grid-template-columns: repeat(3, minmax(220px, 1fr)); /* 3 across on desktop */
  gap: 30px;
  justify-items: stretch;
  align-items: start;
  margin: 30px 0 0;
  padding: 0;
  list-style: none;
}

.ap-outlet-products ul.products li.product {
  /* kill float layout + any fixed widths coming from the theme */
  float: none !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  box-sizing: border-box;

  /* your card styling */
  background: #fff;
  border: 1px solid #eee;
  border-radius: 8px;
  overflow: hidden;
  text-align: center;
  padding: 15px;
  transition: transform .3s ease, box-shadow .3s ease;
}
.ap-outlet-products ul.products li.product:hover {
  transform: translateY(-5px);
  box-shadow: 0 6px 20px rgba(0,0,0,.1);
}

/* product image/title/price/buttons (keep if you like your current look) */
.ap-outlet-products ul.products li.product img {max-width:100%; border-radius:6px; margin-bottom:10px;}
.ap-outlet-products ul.products li.product {white-space:normal; font-size:1.1rem; font-weight:600; margin:10px 0; color:#1e1e1e;}
.ap-outlet-products ul.products li.product .price {font-weight:700; color:#e6005c; margin-bottom:10px;}
.ap-outlet-products ul.products li.product .button {background:#e6005c; color:#fff !important; border-radius:4px; padding:10px 20px; font-weight:700;}
.ap-outlet-products ul.products li.product .button:hover {background:#ff4da6;}

/* responsive columns */
@media (max-width: 992px) {  /* tablets */
  .ap-outlet-products ul.products { grid-template-columns: repeat(2, minmax(220px, 1fr)); }
}
@media (max-width: 600px) {   /* phones */
  .ap-outlet-products ul.products { grid-template-columns: 1fr; }
}

.ap-outlet-products ul.products li.product img {
  display: block;
  margin: 0 auto 10px;  /* centers horizontally */
}

/* ===== Outlet Bestsellers: stable 5 / 3 / 1 layout + centered images ===== */
.ap-outlet-products ul.products {
  display: grid !important;
  grid-template-columns: repeat(5, minmax(200px, 1fr)); /* 5 across, never <200px */
  gap: 30px;
  margin: 30px 0 0;
  padding: 0;
  list-style: none;
}

.ap-outlet-products ul.products li.product {
  float: none !important;
  width: auto !important;
  max-width: none !important;
  margin: 0 !important;
  box-sizing: border-box;
  text-align: center; /* center text */
}

/* center product images */
.ap-outlet-products ul.products li.product img,
.ap-outlet-products ul.products li.product .wp-post-image {
  display: block;
  margin: 0 auto 12px;
  max-width: 100%;
  height: auto;
}

/* prevent weird letter-stacking on long titles */
.ap-outlet-products ul.products li.product {
  white-space: normal;
  overflow-wrap: anywhere;   /* allow breaking mid-word if needed */
}

/* Tablet: 3 per row (still with a safe min width) */
@media (max-width: 992px) {
  .ap-outlet-products ul.products {
    grid-template-columns: repeat(3, minmax(200px, 1fr));
  }
}

/* Mobile: 1 per row */
@media (max-width: 600px) {
  .ap-outlet-products ul.products {
    grid-template-columns: 1fr;
  }
}


.ap-btn-primary {
    background: #C20232; /* your theme red */
    color: #fff;
    padding: 12px 28px;
    border-radius: 6px;
    text-decoration: none;
    display: inline-block;
    margin-top: 15px;
}
.ap-btn-primary:hover {
    background: #EF224B; /* your theme pink */
}

/* Force hero overlay lower & shifted right */
.custom-hero-overlay {
  position: absolute;
  bottom: 15%;        /* places overlay 15% above bottom edge */
  left: 60%;          /* start further to the right */
  transform: translateX(-50%); /* keep it aligned relative to its own width */
  text-align: center;
  width: auto;        /* don’t force 100% if you want it to sit right */
}

/* adjust per device */
@media (max-width: 992px) {
  .custom-hero-overlay {
    bottom: 10%;
    left: 55%;
  }
}
@media (max-width: 600px) {
  .custom-hero-overlay {
    bottom: 6%;
    left: 60%;        /* center back on small screens */
  }
}

/* Hide default hero image but keep hero area + slider visible */
.ct-hero,
.ct-hero-section,
.hero,
.blocksy-hero
.custom-hero {
  background-image: none !important;
}

/* Smaller site title on mobile */
@media (max-width: 768px) {
  .site-title,
  .ct-site-title,
  .branding .site-title {
    font-size: 20px !important;   /* adjust size */
    line-height: 1.2em;
  }
}

/* Even smaller on very narrow screens */
@media (max-width: 480px) {
  .site-title,
  .ct-site-title,
  .branding .site-title {
    font-size: 18px !important;
  }
}

h1 {
  font-family: Parisienne, cursive;
  font-size: 2.5rem;
  padding-bottom: 10px;
  margin-bottom: 20px;
}

/* ===========================
   Center Section Headings
   =========================== */

/* General headings in main content */
.site-title,
  .ct-site-title,
  .branding .site-title
.entry-content h1,
.entry-content h2,
.entry-content h3,
.entry-content h4,
.entry-content h5,
.entry-content h6 {
  text-align: center;
  margin-left: auto;
  margin-right: auto;
}

/* WooCommerce + Blocksy section titles */
.woocommerce .woocommerce-products-header__title,
.woocommerce .related > h2,
.woocommerce .upsells > h2,
.woocommerce .cross-sells > h2,
.section-title,
.ct-section-title,
.ct-block-title {
  text-align: center;
  margin-left: auto;
  margin-right: auto;
}

/* Newsletter or custom section headers */
.ap-newsletter h3,
.ap-newsletter h2,
.ap-newsletter h1 {
  text-align: center;
}

/* Optional: Center “View All” links under headings */
.section-title a,
.ct-section-title a {
  display: block;
  text-align: center;
  margin-top: 0.25rem;
}

.center-heading {
  text-align: center;
  margin-left: auto;
  margin-right: auto;
}

.section-heading {
  text-align: center;
}

.section-heading .view-all {
  display: block;
  text-align: center;
  margin-top: 0.25rem;
}

/* Center "View All" links under section titles */
.section-title a,
.ct-section-title a,
.frontpage-wrap .view-all,
.entry-content .view-all {
  display: block;
  text-align: center;
  margin: 0.25rem auto 1.5rem auto; /* adjust spacing as needed */
}