/* ============================================
   CUSTOM THEME - Les Années Dorothée par Gédébé
   ============================================ */

@import url("https://fonts.googleapis.com/css2?family=Cherry+Bomb+One&family=Bebas+Neue&family=Poppins:wght@300;400;500;600;700;800&family=Roboto:wght@300;400;500;700&display=swap");

:root {
  --red: #d80000;
  --red-hover: #FF0013;
  --yellow: #ffd200;
  --yellow-hover: #FFBE00;
  --black: #111111;
  --white: #ffffff;
  --beige: #F0E1D5;
  --cream: #fffbea;
}

/* === GLOBAL === */
body {
  font-family: "Poppins", "Roboto", sans-serif;
  color: var(--black);
  background: var(--white);
}
h1, h2, h3 {
  font-family: "Cherry Bomb One", cursive;
}

/* === HEADER === */
.header-banner { display: none !important; }
.custom-header-menu #search_widget, .custom-header-menu .search-widget { display: none !important; }
#header { box-shadow: 0 2px 8px rgba(0,0,0,0.06); }
#header .header-nav { display: none !important; }

.custom-header-bar {
  display: flex;
  align-items: flex-start;
  padding-top: 50px;
  height: 70px;
  padding: 0 30px;
}
.custom-header-logo {
  flex: 0 0 auto;
}
.custom-header-logo h1 {
  margin: 0;
  padding: 0;
  line-height: 1;
}
.custom-header-menu {
  flex: 1;
  display: flex;
  align-items: flex-start;
  padding-top: 50px;
  justify-content: center;
}
.custom-header-right {
  flex: 0 0 auto;
  display: flex;
  align-items: flex-start;
  padding-top: 50px;
  gap: 15px;
}
.custom-header-right a {
  display: flex;
  align-items: flex-start;
  padding-top: 50px;
  gap: 5px;
}
.custom-header-right .blockcart .header {
  display: flex;
  align-items: flex-start;
  padding-top: 50px;
  gap: 5px;
}
#_desktop_top_menu {
  display: flex !important;
  align-items: flex-start;
  padding-top: 50px;
  justify-content: center;
}
#top-menu {
  display: flex !important;
  justify-content: center;
  flex-wrap: nowrap;
  align-items: flex-start;
  padding-top: 50px;
  margin: 0;
  padding: 0;
}

/* === BUTTONS === */
.btn-primary, .btn-primary:hover {
  background-color: var(--red); border-color: var(--red); color: var(--white);
  font-family: "Poppins", sans-serif; font-weight: 800; border-radius: 14px;
  padding: 12px 28px; text-transform: uppercase; letter-spacing: 0.5px; transition: filter 0.2s;
}
.btn-primary:hover { filter: brightness(1.05); background-color: var(--red-hover); border-color: var(--red-hover); }
.btn-secondary { background-color: var(--yellow); border-color: var(--yellow); color: var(--black); font-weight: 800; border-radius: 14px; padding: 12px 28px; }
.btn-secondary:hover { background-color: var(--yellow-hover); filter: brightness(1.05); }
.add-to-cart, .add-to-cart:hover { background-color: var(--red) !important; border-radius: 14px !important; font-weight: 800 !important; padding: 12px 28px !important; }

/* === CUSTOM HOMEPAGE === */
.custom-homepage { max-width: 100%; overflow-x: hidden; }

/* Hero Section */
.hero-section {
  background: linear-gradient(rgba(0,0,0,0.65), rgba(0,0,0,0.65)), url("../img/custom/couverture.jpg") center center / cover no-repeat !important;
  min-height: 600px; display: flex; align-items: flex-start;
  padding-top: 50px; justify-content: center;
  text-align: center; color: var(--white); padding: 80px 20px;
}
.hero-section h1 {
  font-size: 3rem; max-width: 800px; margin: 0 auto 20px;
  text-shadow: 2px 2px 8px rgba(0,0,0,0.5); color: #ffd200 !important; font-weight: 400 !important;
}
.hero-section p, .hero-section * { color: #ffffff !important; }
.hero-section p { font-size: 1.15rem; max-width: 700px; margin: 0 auto 30px; line-height: 1.8; opacity: 0.95; }
.hero-section .btn-cta {
  background: var(--red); color: var(--white) !important; font-weight: 800; font-size: 1.1rem;
  padding: 16px 40px; border-radius: 30px; text-decoration: none; display: inline-block;
  transition: filter 0.2s, transform 0.2s; border: none;
}
.hero-section .btn-cta:hover { filter: brightness(1.1); transform: translateY(-2px); }

/* Info banner */
.info-banner { background: var(--cream); padding: 40px 20px; text-align: center; border-left: 5px solid var(--yellow); }
.info-banner h2 { color: var(--red); font-size: 1.8rem; margin-bottom: 15px; }
.info-banner p { max-width: 800px; margin: 8px auto; font-size: 0.95rem; line-height: 1.8; }
.info-banner .info-gift { background: var(--yellow); display: inline-block; padding: 8px 20px; border-radius: 8px; font-weight: 600; margin: 15px auto; }
.info-banner .info-sign { margin-top: 15px; font-size: 0.9rem; color: #666; }

/* Book section */
.book-section { padding: 80px 20px; background: var(--white); }
.book-section .container { max-width: 1100px; margin: 0 auto; display: flex; gap: 60px; align-items: flex-start;
  padding-top: 50px; flex-wrap: wrap; }
.book-section .book-image { flex: 1; min-width: 300px; text-align: center; }
.book-section .book-image img { max-width: 100%; border-radius: 12px; box-shadow: 0 12px 40px rgba(0,0,0,0.15); }
.book-section .book-content { flex: 1; min-width: 300px; }
.book-section h2 { font-size: 2.2rem; color: var(--red); margin-bottom: 20px; }
.book-section p { line-height: 1.8; margin-bottom: 15px; }
.book-section ul { list-style: none; padding: 0; margin: 20px 0; }
.book-section ul li { padding: 8px 0; padding-left: 25px; position: relative; line-height: 1.6; }
.book-section ul li::before { content: "\2713"; color: var(--red); font-weight: 700; position: absolute; left: 0; }

/* Preorder section */
.preorder-section { background: var(--beige); padding: 80px 20px; text-align: center; }
.preorder-section h2 { font-size: 2.5rem; color: var(--red); margin-bottom: 15px; }
.preorder-section .subtitle { font-size: 1.1rem; max-width: 800px; margin: 0 auto 50px; line-height: 1.8; }

/* Pack cards */
.packs-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 25px; max-width: 1100px; margin: 0 auto; }
.pack-card {
  background: var(--white); border-radius: 16px; padding: 35px 25px;
  box-shadow: 0 8px 30px rgba(0,0,0,0.08); transition: transform 0.3s, box-shadow 0.3s; text-align: left;
}
.pack-card:hover { transform: translateY(-5px); box-shadow: 0 15px 40px rgba(0,0,0,0.12); }
.pack-card h3 { font-family: "Poppins", sans-serif; font-size: 1.3rem; font-weight: 700; color: var(--black); margin-bottom: 10px; }
.pack-card .price { font-family: "Cherry Bomb One", cursive; font-size: 2.5rem; color: var(--red); margin-bottom: 15px; }
.pack-card ul { list-style: none; padding: 0; margin: 0 0 25px; }
.pack-card ul li { padding: 6px 0; border-bottom: 1px solid #f0f0f0; font-size: 0.95rem; }
.pack-card .btn-pack {
  display: block; text-align: center; background: var(--red); color: var(--white);
  padding: 14px; border-radius: 14px; font-weight: 800; text-decoration: none; transition: filter 0.2s;
}
.pack-card .btn-pack:hover { filter: brightness(1.1); color: var(--white); }

/* Single pack card */
.single-pack { display: flex; justify-content: center; max-width: 1100px; margin: 0 auto; }
.pack-featured { max-width: 420px; width: 100%; text-align: center; padding: 50px 40px !important; box-shadow: 0 12px 40px rgba(0,0,0,0.1) !important; }
.pack-featured .price { font-size: 3.5rem !important; margin: 10px 0 20px; }
.pack-featured .pack-desc { font-size: 1rem; color: #555; margin-bottom: 20px; line-height: 1.6; }
.pack-featured ul { text-align: left; max-width: 280px; margin: 0 auto 30px !important; }
.pack-featured .btn-pack { font-size: 1.1rem; padding: 16px 40px !important; border-radius: 30px !important; }

/* Features section */
.features-section { padding: 80px 20px; background: var(--white); text-align: center; }
.features-section h2 { font-size: 2.2rem; color: var(--red); margin-bottom: 50px; }
.features-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 30px; max-width: 1100px; margin: 0 auto; }
.feature-card { padding: 30px; text-align: center; }
.feature-card img { width: 100%; max-width: 280px; border-radius: 12px; margin-bottom: 20px; }
.feature-card h3 { font-family: "Poppins", sans-serif; font-weight: 700; font-size: 1.2rem; margin-bottom: 10px; }

/* Footer custom */
.footer-why { background: var(--black); color: var(--white); padding: 60px 20px; text-align: center; }
.footer-why h2 { color: var(--yellow); font-size: 2rem; margin-bottom: 20px; }
.footer-why p { max-width: 600px; margin: 0 auto; line-height: 2; opacity: 0.9; }
.footer-why .social-links { margin-top: 30px; }
.footer-why .social-links a { color: var(--red) !important; font-size: 24px; margin: 0 15px; text-decoration: none; }

/* Footer legal links */
.footer-legal { background: var(--black); text-align: center; padding: 20px; border-top: 1px solid #222; }
.footer-legal a { color: #aaa !important; font-size: 0.85rem; text-decoration: none; transition: color 0.2s; }
.footer-legal a:hover { color: var(--yellow) !important; }
.footer-legal span { color: #444; margin: 0 12px; }

/* Override PrestaShop wrapper for homepage */
body#index #wrapper { padding: 0; }
body#index #wrapper .container { width: 100%; max-width: 100%; padding: 0; }
body#index #wrapper .breadcrumb { display: none; }
body#index #content-wrapper { padding: 0; width: 100%; max-width: 100%; }
body#index #content { padding: 0; }
body#index .page-home { padding: 0; }


/* Hide default PS modules on homepage */
body#index .homeslider-container, body#index #homeslider, body#index .ps-banner,
body#index .custom-text, body#index .featured-products, body#index .product-miniature,
body#index #carousel, body#index .elementor-slick-slider { display: none !important; }

/* Cookie Banner */
.cookie-banner {
  position: fixed; bottom: 0; left: 0; right: 0; background: var(--black); color: var(--white);
  padding: 20px 30px; display: flex; align-items: flex-start;
  padding-top: 50px; justify-content: space-between;
  gap: 20px; z-index: 99999; box-shadow: 0 -4px 20px rgba(0,0,0,0.3); flex-wrap: wrap;
}
.cookie-banner p { margin: 0; font-size: 0.9rem; line-height: 1.6; flex: 1; min-width: 250px; color: #ccc; }
.cookie-banner a { color: var(--yellow) !important; text-decoration: underline; }
.cookie-buttons { display: flex; gap: 10px; flex-shrink: 0; }
.cookie-buttons .btn-accept { background: var(--red); color: var(--white); border: none; padding: 12px 28px; border-radius: 14px; font-weight: 700; cursor: pointer; font-size: 0.9rem; transition: filter 0.2s; }
.cookie-buttons .btn-accept:hover { filter: brightness(1.1); }
.cookie-buttons .btn-refuse { background: transparent; color: #aaa; border: 1px solid #555; padding: 12px 28px; border-radius: 14px; font-weight: 500; cursor: pointer; font-size: 0.9rem; transition: all 0.2s; }
.cookie-buttons .btn-refuse:hover { border-color: #aaa; color: var(--white); }

/* === RESPONSIVE === */
@media (max-width: 768px) {
  .hero-section h1 { font-size: 2rem; }
  .hero-section { min-height: 450px; padding: 50px 15px; }
  .book-section .container { flex-direction: column; gap: 30px; }
  .packs-grid { grid-template-columns: 1fr; }
  .preorder-section h2 { font-size: 1.8rem; }
}

/* Menu hover underline rouge */
#top-menu > li > a {
  border-bottom: 3px solid transparent !important;
  transition: all 0.2s !important;
}
#top-menu > li > a:hover,
#top-menu > li.current > a {
  color: var(--red) !important;
  border-bottom: 3px solid var(--red) !important;
}

/* Connexion hover underline rouge */
.custom-header-right #_desktop_user_info a {
  border-bottom: 3px solid transparent;
  transition: all 0.2s;
  padding-bottom: 3px;
}
.custom-header-right #_desktop_user_info a:hover {
  color: var(--red) !important;
  border-bottom: 3px solid var(--red);
}
.custom-header-logo img, #_desktop_logo img { max-height: 50px !important; width: auto !important; }

/* Book section CTA button */
.book-section .btn-cta {
  background: var(--red) !important;
  color: var(--white) !important;
  font-weight: 800 !important;
  font-size: 1.1rem !important;
  padding: 16px 40px !important;
  border-radius: 30px !important;
  text-decoration: none !important;
  display: inline-block !important;
  margin-top: 20px;
  transition: filter 0.2s, transform 0.2s;
}
.book-section .btn-cta:hover {
  filter: brightness(1.1);
  transform: translateY(-2px);
}

/* Hide "Nouveau" badge on products */
.product-flag.new, .product-flag.on-sale, .discount-percentage { display: none !important; }

/* Category links in red */
#left-column .block-categories a, .block-categories a { color: var(--red) !important; }
#left-column .block-categories a:hover, .block-categories a:hover { color: var(--red-hover) !important; }

/* Hide Fournisseurs and Marques blocks */
#left-column .block-suppliers, #left-column .block-manufacturers,
.block-suppliers, .block-manufacturers { display: none !important; }

/* Subcategories block styling */
#subcategories h2, .block-categories h2, #js-product-list-header h2 {
  font-family: "Cherry Bomb One", cursive !important;
  color: var(--red) !important;
}
#subcategories .subcategory-name a,
.subcategory-name a {
  color: var(--red) !important;
  font-family: "Bebas Neue", sans-serif !important;
  font-size: 16px !important;
  letter-spacing: 0.5px;
  text-transform: uppercase;
}
#subcategories .subcategory-name a:hover,
.subcategory-name a:hover {
  color: var(--red-hover) !important;
}

#subcategories {
  background: none !important;
  padding: 0 !important;
}
#search_filters_suppliers, #search_filters_brands { display: none !important; }
#left-column { display: none !important; } #content-wrapper { width: 100% !important; max-width: 100% !important; flex: 0 0 100% !important; }
body.page-category #left-column, body.page-category .left-column { display: none !important; } body.page-category #content-wrapper, body.page-category .js-content-wrapper { width: 100% !important; max-width: 100% !important; flex: 0 0 100% !important; -ms-flex: 0 0 100% !important; }
#category-description, .category-cover, .block-category { display: none !important; }
#js-product-list-header { display: none !important; }


/* Subcategories hover fix */
#subcategories .subcategory-name a {
  color: var(--red) !important;
  text-decoration: none !important;
  border: none !important;
  outline: none !important;
}
#subcategories .subcategory-name a:hover {
  color: var(--red-hover) !important;
  text-decoration: none !important;
  border: none !important;
  outline: none !important;
}
#subcategories .subcategory-image a,
#subcategories a {
  border: none !important;
  outline: none !important;
  box-shadow: none !important;
}
#subcategories .subcategory-image a:hover,
#subcategories a:hover,
#subcategories a:focus {
  border: none !important;
  outline: none !important;
  box-shadow: none !important;
}


/* Hide default PrestaShop footer everywhere and show custom one */
#footer { display: none !important; }


/* Dibond sur devis label */
.product-unavailable {
  color: var(--red) !important;
  font-weight: 700;
  font-size: 1rem;
}


/* Hide stock display */
.product-quantities, #product-availability, .product-availability {
  display: none !important;
}


/* Hide comments, social sharing, reassurance on product page */
.product-comments, #product-comments, .product-comment-list-item,
.social-sharing,
.blockreassurance_product, .blockreassurance {
  display: none !important;
}


/* Hide all comment elements */
#product-comments-list-header, .comments-nb, .product-comment-modal,
.post-comment-buttons, .btn-comment, #product-comments-list,
.product-comments-additional-info { display: none !important; }


/* Subcategories title */
#subcategories h2 {
  color: var(--black) !important;
}
#subcategories .subcategory-name a {
  color: var(--red) !important;
}


/* Sur devis message for products without price */
.product-not-available-for-order {
  color: var(--red) !important;
  font-size: 1.3rem;
  font-weight: 700;
}


/* Force subcategory names in red */
#subcategories .subcategory-name, #subcategories a,
.subcategories-list a, .subcategories-list .subcategory-name a {
  color: #d80000 !important;
}




/* Inline search in product bar */
.search-ref-inline {
  display: flex;
  align-items: flex-start;
  padding-top: 50px;
  gap: 10px;
}
.search-ref-label {
  font-weight: 600;
  font-size: 0.85rem;
  color: var(--black);
  white-space: nowrap;
}
.search-ref-input-inline {
  border: 1px solid #ccc;
  padding: 6px 12px;
  font-size: 0.85rem;
  font-family: Poppins, sans-serif;
  outline: none;
  width: 140px;
  transition: border-color 0.2s;
}
.search-ref-input-inline:focus {
  border-color: var(--red);
}


/* Separator under subcategories */
#subcategories {
  border-bottom: 2px solid #e0e0e0;
  padding-bottom: 25px;
  margin-bottom: 25px;
}






/* Current page number in red */
.page-list li.current a {
  color: var(--red) !important;
  background: none !important;
  border: none !important;
  font-weight: 700;
}


/* Material filter buttons */
.matiere-filter {
  display: flex;
  align-items: flex-start;
  padding-top: 50px;
  justify-content: center;
  gap: 10px;
  padding: 15px 0;
  flex-wrap: wrap;
}
.matiere-label {
  font-weight: 600;
  font-size: 0.9rem;
  color: var(--black);
}
.matiere-btn {
  padding: 8px 22px;
  border-radius: 14px;
  font-weight: 600;
  font-size: 0.85rem;
  font-family: "Poppins", sans-serif;
  text-decoration: none !important;
  transition: all 0.2s;
  border: 2px solid #ddd;
  color: var(--black) !important;
  background: var(--white);
}
.matiere-btn:hover, .matiere-btn.active {
  border-color: var(--red);
  color: var(--red) !important;
}
.matiere-all {
  border-color: var(--red);
  color: var(--red) !important;
}


/* Material explanation cards */
.matiere-explain {
  display: flex;
  justify-content: center;
  gap: 25px;
  padding: 30px 20px;
  flex-wrap: wrap;
  max-width: 1100px;
  margin: 0 auto;
}
.matiere-card {
  flex: 1;
  min-width: 250px;
  max-width: 320px;
  background: var(--cream);
  border-radius: 16px;
  padding: 25px;
  text-align: center;
}
.matiere-icon {
  font-size: 2.5rem;
  margin-bottom: 10px;
}
.matiere-card h4 {
  font-family: "Poppins", sans-serif;
  font-weight: 700;
  font-size: 1.1rem;
  color: var(--red);
  margin-bottom: 10px;
}
.matiere-card p {
  font-size: 0.85rem;
  line-height: 1.6;
  color: #555;
  margin: 0;
}


/* Maintenance - hide boutique content */
body.page-category #content-wrapper {
  position: relative;
}
body.page-category #content-wrapper::after {
  content: "Boutique en cours de mise en place, revenez bientôt !";
  position: absolute;
  top: 0; left: 0; right: 0; bottom: 0;
  background: var(--white);
  display: flex;
  align-items: flex-start;
  padding-top: 50px;
  justify-content: center;
  font-family: "Cherry Bomb One", cursive;
  font-size: 1.5rem;
  color: var(--red);
  z-index: 100;
  min-height: 400px;
}


/* Maintenance - hide commander le livre page */
body.page-cms #content-wrapper {
  position: relative;
}
body.page-cms #content-wrapper::after {
  content: "Page en cours de mise en place, revenez bientôt !";
  position: absolute;
  top: 0; left: 0; right: 0; bottom: 0;
  background: var(--white);
  display: flex;
  align-items: flex-start;
  padding-top: 50px;
  justify-content: center;
  font-family: "Cherry Bomb One", cursive;
  font-size: 1.5rem;
  color: var(--red);
  z-index: 100;
  min-height: 400px;
}
