/* ============================================
   CONDOM FROM CONDOM — Thème PrestaShop
   Hummingbird 2.0 / PrestaShop 9.x
   ============================================ */

@import url('https://fonts.googleapis.com/css2?family=Bebas+Neue&family=Kalam:wght@300;400;700&family=Righteous&display=swap');

:root {
  --pink: #FF1B6D;
  --cyan: #00D9FF;
  --yellow: #FFE600;
  --dark: #0d0d1a;
  --dark2: #12122a;
  --blue: #2D4FBF;
  --light: #F8F8FF;
  --g1: linear-gradient(135deg, #FF1B6D, #FF6B9D);
  --g2: linear-gradient(135deg, #00D9FF, #00FFF0);
  --g3: linear-gradient(135deg, #FFE600, #FFB800);
}

/* ── BASE ── */
body {
  font-family: 'Kalam', cursive !important;
  background: var(--dark) !important;
  color: var(--light) !important;
}

a { color: var(--cyan); transition: .3s; }
a:hover { color: var(--pink); text-decoration: none; }

/* ── HEADER ── */
#header {
  background: rgba(13,13,26,.97) !important;
  border-bottom: 2px solid var(--pink) !important;
  box-shadow: 0 4px 30px rgba(255,27,109,.3) !important;
  position: sticky;
  top: 0;
  z-index: 1000;
}

.header-top { padding: .8rem 0; }

/* Logo */
#header .logo img,
#header .logo {
  max-height: 70px;
  filter: drop-shadow(0 0 10px rgba(255,27,109,.4));
}

/* Nom boutique en nav */
.header-nav .shop-name,
#_desktop_logo .logo {
  font-family: 'Righteous', cursive !important;
  font-size: 1.5rem;
  background: var(--g1);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

/* Nav liens */
#top-menu > li > a,
.top-menu a {
  color: var(--light) !important;
  font-family: 'Kalam', cursive;
  font-size: 1rem;
  font-weight: 700;
  transition: .3s;
  position: relative;
}
#top-menu > li > a::after,
.top-menu a::after {
  content: '';
  position: absolute;
  bottom: -3px; left: 0;
  width: 0; height: 2px;
  background: var(--g1);
  transition: .3s;
  border-radius: 4px;
}
#top-menu > li > a:hover::after,
.top-menu a:hover::after { width: 100%; }
#top-menu > li > a:hover,
.top-menu a:hover { color: var(--pink) !important; }

/* Panier */
.cart-preview .header { background: var(--dark2) !important; }
#_desktop_cart .cart-products-count,
.cart-products-count {
  background: var(--pink) !important;
  color: white !important;
  font-weight: 700;
}
.blockcart { color: var(--light) !important; }
.blockcart:hover { color: var(--pink) !important; }

/* Recherche */
#search_widget input[type=text] {
  background: rgba(255,255,255,.07) !important;
  border: 1.5px solid rgba(0,217,255,.3) !important;
  color: var(--light) !important;
  border-radius: 25px;
  padding: .5rem 1.2rem;
  transition: .3s;
}
#search_widget input[type=text]:focus {
  border-color: var(--cyan) !important;
  box-shadow: 0 0 15px rgba(0,217,255,.2) !important;
  outline: none;
}
#search_widget button {
  background: var(--g1) !important;
  border: none !important;
  border-radius: 25px;
  color: white;
  padding: .5rem 1.2rem;
}

/* ── HERO / SLIDER HOME ── */
#index .banner,
.home-slider,
#carousel { position: relative; overflow: hidden; }

/* Pluie de sachets en fond home */
.rain-home {
  position: fixed;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  overflow: hidden;
}
.sachet-drop {
  position: absolute;
  top: -150px;
  opacity: 0;
  animation: dropFall linear infinite;
}
@keyframes dropFall {
  0%   { top: -150px; opacity: .18; }
  80%  { opacity: .1; }
  100% { top: 110vh; opacity: 0; }
}

/* Blobs décoratifs */
.blob-deco {
  position: fixed;
  border-radius: 50%;
  filter: blur(90px);
  opacity: .18;
  pointer-events: none;
  z-index: 0;
  animation: blobFloat 20s infinite ease-in-out;
}
.blob-1 { width:500px;height:500px;background:var(--g1);top:-150px;left:-100px; }
.blob-2 { width:400px;height:400px;background:var(--g2);bottom:-100px;right:-100px;animation-delay:-8s; }
@keyframes blobFloat {
  0%,100% { transform:translate(0,0); }
  50% { transform:translate(60px,-60px); }
}

/* Contenu par-dessus les blobs */
#wrapper, #content-wrapper, #main {
  position: relative;
  z-index: 1;
}

/* ── BOUTONS ── */
.btn-primary,
.add-to-cart,
button[data-button-action="add-to-cart"],
.cart-btn {
  background: var(--g1) !important;
  border: none !important;
  border-radius: 50px !important;
  color: white !important;
  font-family: 'Kalam', cursive !important;
  font-weight: 700 !important;
  font-size: 1rem !important;
  padding: .85rem 2rem !important;
  transition: all .3s !important;
  box-shadow: 0 6px 20px rgba(255,27,109,.35) !important;
  position: relative;
  overflow: hidden;
}
.btn-primary:hover,
.add-to-cart:hover,
button[data-button-action="add-to-cart"]:hover {
  transform: translateY(-3px) scale(1.04) !important;
  box-shadow: 0 12px 30px rgba(255,27,109,.5) !important;
  color: white !important;
}

.btn-secondary,
.btn-outline-secondary {
  background: transparent !important;
  color: var(--cyan) !important;
  border: 2px solid var(--cyan) !important;
  border-radius: 50px !important;
  font-family: 'Kalam', cursive !important;
  font-weight: 700 !important;
  transition: all .3s !important;
}
.btn-secondary:hover,
.btn-outline-secondary:hover {
  background: var(--g2) !important;
  color: var(--dark) !important;
  border-color: transparent !important;
}

/* ── CARDS PRODUITS ── */
.product-miniature,
.js-product-miniature {
  background: rgba(255,255,255,.04) !important;
  border: 1.5px solid rgba(255,255,255,.07) !important;
  border-radius: 20px !important;
  overflow: hidden;
  transition: all .4s !important;
  backdrop-filter: blur(10px);
}
.product-miniature:hover,
.js-product-miniature:hover {
  transform: translateY(-10px) scale(1.02) !important;
  border-color: var(--pink) !important;
  box-shadow: 0 20px 50px rgba(255,27,109,.3) !important;
}

/* Nom produit */
.product-miniature .product-title a,
.product-title a {
  font-family: 'Bebas Neue', cursive !important;
  font-size: 1.3rem !important;
  color: var(--light) !important;
  letter-spacing: 1px;
}
.product-miniature .product-title a:hover,
.product-title a:hover { color: var(--pink) !important; }

/* Prix */
.product-price,
.price,
span.price {
  color: var(--pink) !important;
  font-weight: 700 !important;
  font-size: 1.3rem !important;
}
.regular-price { color: rgba(248,248,255,.4) !important; }

/* Badge promo */
.discount-percentage,
.discount-amount,
.on-sale {
  background: var(--g1) !important;
  border-radius: 20px !important;
  color: white !important;
  font-weight: 700 !important;
}

/* ── PAGE PRODUIT ── */
#product {
  background: var(--dark) !important;
}
.product-information h1,
#product h1.h1 {
  font-family: 'Bebas Neue', cursive !important;
  font-size: 2.5rem !important;
  background: var(--g1);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  letter-spacing: 2px;
}

/* Image produit */
.product-cover img,
.images-container img {
  border-radius: 20px !important;
  border: 2px solid rgba(255,255,255,.08) !important;
  transition: .3s !important;
}
.product-cover:hover img {
  border-color: var(--pink) !important;
  box-shadow: 0 0 30px rgba(255,27,109,.2) !important;
}

/* Quantité */
.product-quantity .qty input,
#quantity_wanted {
  background: rgba(255,255,255,.07) !important;
  border: 1.5px solid rgba(255,255,255,.15) !important;
  color: var(--light) !important;
  border-radius: 10px !important;
  text-align: center;
  font-size: 1.1rem;
}
.bootstrap-touchspin .btn {
  background: rgba(255,255,255,.08) !important;
  border: 1.5px solid rgba(255,255,255,.15) !important;
  color: var(--light) !important;
}

/* Description produit */
.product-description,
.product-description-short,
#product-description-short {
  color: rgba(248,248,255,.75) !important;
  line-height: 1.7 !important;
}

/* ── CATÉGORIES ── */
#category h1,
.category-cover h1,
.page-header h1 {
  font-family: 'Bebas Neue', cursive !important;
  font-size: 3rem !important;
  background: var(--g2);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  letter-spacing: 3px;
}

/* Filtres */
.faceted-search .facet-title,
.facets-title {
  font-family: 'Bebas Neue', cursive !important;
  color: var(--cyan) !important;
  font-size: 1.1rem !important;
  letter-spacing: 2px;
}
.faceted-search .custom-checkbox input[type="checkbox"]:checked + span {
  background: var(--pink) !important;
  border-color: var(--pink) !important;
}
.active-filter-title { color: var(--yellow) !important; }

/* ── PANIER ── */
#cart h1,
.cart-overview h1 {
  font-family: 'Bebas Neue', cursive !important;
  background: var(--g1);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip:text;
  font-size: 2.5rem !important;
}
.cart-item {
  background: rgba(255,255,255,.04) !important;
  border-radius: 16px !important;
  border: 1px solid rgba(255,255,255,.07) !important;
  margin-bottom: 1rem;
  padding: 1rem !important;
}
.cart-total,
.cart-summary-line .label,
.cart-summary-line .value {
  color: var(--light) !important;
}
.cart-total .value { color: var(--pink) !important; font-weight: 700 !important; }

/* ── CHECKOUT ── */
#checkout h1,
.checkout-step .step-title {
  font-family: 'Bebas Neue', cursive !important;
  color: var(--cyan) !important;
  letter-spacing: 2px;
}
.checkout-step.-current .step-title {
  color: var(--pink) !important;
}
.form-control,
.custom-select {
  background: rgba(255,255,255,.06) !important;
  border: 1.5px solid rgba(255,255,255,.12) !important;
  color: var(--light) !important;
  border-radius: 12px !important;
}
.form-control:focus {
  border-color: var(--cyan) !important;
  box-shadow: 0 0 12px rgba(0,217,255,.2) !important;
  background: rgba(255,255,255,.09) !important;
}
label { color: rgba(248,248,255,.8) !important; }

/* ── BREADCRUMB ── */
.breadcrumb {
  background: transparent !important;
  padding: .5rem 0 !important;
}
.breadcrumb-item a { color: var(--cyan) !important; }
.breadcrumb-item.active { color: rgba(248,248,255,.5) !important; }
.breadcrumb-item + .breadcrumb-item::before { color: rgba(255,255,255,.3) !important; }

/* ── PAGINATION ── */
.pagination .page-link {
  background: rgba(255,255,255,.05) !important;
  border: 1.5px solid rgba(255,255,255,.1) !important;
  color: var(--light) !important;
  border-radius: 10px !important;
  margin: 0 3px;
  transition: .3s;
}
.pagination .page-link:hover,
.pagination .active .page-link {
  background: var(--g1) !important;
  border-color: transparent !important;
  color: white !important;
}

/* ── FOOTER ── */
#footer {
  background: rgba(0,0,0,.6) !important;
  border-top: 2px solid var(--pink) !important;
  margin-top: 4rem;
  padding-top: 3rem !important;
}
.footer-container h3,
.footer-container .h3,
#footer .block-contact .block-contact-title,
#footer .links .h3 {
  font-family: 'Bebas Neue', cursive !important;
  font-size: 1.6rem !important;
  background: var(--g1);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  margin-bottom: 1.2rem !important;
}
#footer .links ul li a,
.footer-container a,
#footer a {
  color: rgba(248,248,255,.6) !important;
  transition: .3s;
  font-size: .95rem;
}
#footer .links ul li a:hover,
.footer-container a:hover,
#footer a:hover {
  color: var(--pink) !important;
  padding-left: 5px;
}
#footer p,
.footer-container p {
  color: rgba(248,248,255,.55) !important;
  font-size: .9rem;
}
.footer-bottom,
#footer .footer-bottom {
  border-top: 1px solid rgba(255,255,255,.08) !important;
  padding-top: 1.5rem !important;
  color: rgba(248,248,255,.35) !important;
  font-size: .82rem;
  text-align: center;
}

/* ── ALERTES & NOTIFICATIONS ── */
.alert-success {
  background: rgba(0,217,255,.12) !important;
  border: 1.5px solid var(--cyan) !important;
  color: var(--cyan) !important;
  border-radius: 12px !important;
}
.alert-danger {
  background: rgba(255,27,109,.12) !important;
  border: 1.5px solid var(--pink) !important;
  color: var(--pink) !important;
  border-radius: 12px !important;
}
.alert-warning {
  background: rgba(255,230,0,.12) !important;
  border: 1.5px solid var(--yellow) !important;
  color: var(--yellow) !important;
  border-radius: 12px !important;
}

/* ── CONNEXION / COMPTE ── */
#authentication h1,
#my-account h1,
#identity h1,
#order-history h1 {
  font-family: 'Bebas Neue', cursive !important;
  background: var(--g2);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  font-size: 2.5rem !important;
  letter-spacing: 2px;
}
.page-authentication .card,
.login-form .card {
  background: rgba(255,255,255,.04) !important;
  border: 1.5px solid rgba(255,255,255,.08) !important;
  border-radius: 20px !important;
  backdrop-filter: blur(10px);
}

/* ── MESSAGES FLASH ── */
.notifications ul {
  background: rgba(255,27,109,.1) !important;
  border: 1px solid var(--pink) !important;
  border-radius: 12px !important;
  color: var(--light) !important;
}

/* ── TITRES SECTIONS HOME ── */
.products-section-title,
.featured-products .products-section-title,
h2.products-section-title {
  font-family: 'Bebas Neue', cursive !important;
  font-size: 2.5rem !important;
  background: var(--g2);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  text-transform: uppercase;
  letter-spacing: 4px;
  text-align: center;
  margin-bottom: 2rem !important;
}

/* ── BANNIÈRE HOME ── */
.banner img,
#custom-text img { border-radius: 20px; }

/* ── SCROLL BAR ── */
::-webkit-scrollbar { width: 8px; }
::-webkit-scrollbar-track { background: var(--dark2); }
::-webkit-scrollbar-thumb {
  background: var(--pink);
  border-radius: 4px;
}
::-webkit-scrollbar-thumb:hover { background: var(--cyan); }

/* ── RESPONSIVE ── */
@media (max-width: 768px) {
  #top-menu > li > a { font-size: .9rem; }
  .product-miniature:hover { transform: translateY(-5px) !important; }
  #product h1.h1 { font-size: 1.8rem !important; }
  .products-section-title { font-size: 1.8rem !important; }
}

/* ── FIX SELECT TAILLES ── */
.page-product .product-variant select.form-select {
  color: #1a1a1a !important;
  background-color: #ffffff !important;
}

/* ── ACCORDION DARK NEON ── */
.accordion-item {
  background: rgba(26,26,46,0.9) !important;
  background-color: rgba(26,26,46,0.9) !important;
  border: 1px solid rgba(0,217,255,0.4) !important;
  box-shadow: 0 0 15px rgba(0,217,255,0.1) !important;
}

.accordion-button {
  background: rgba(26,26,46,0.9) !important;
  background-color: rgba(26,26,46,0.9) !important;
  color: #00ffc8 !important;
  border: 1px solid rgba(0,217,255,0.4) !important;
  box-shadow: none !important;
  font-family: 'Bebas Neue', cursive !important;
  font-size: 1.2rem !important;
  letter-spacing: 1px;
}

.accordion-button:not(.collapsed) {
  background: rgba(26,26,46,0.9) !important;
  background-color: rgba(26,26,46,0.9) !important;
  color: #00ffc8 !important;
  box-shadow: none !important;
}

.accordion-button::after {
  filter: invert(1) sepia(1) saturate(5) hue-rotate(130deg) !important;
}

.accordion-body {
  background: rgba(26,26,46,0.9) !important;
  background-color: rgba(26,26,46,0.9) !important;
  color: #00ffc8 !important;
  border-top: 1px solid rgba(0,217,255,0.4) !important;
}

.accordion-body p,
.accordion-body span,
.accordion-body div,
.accordion-body li,
.accordion-body a,
.accordion-body table,
.accordion-body td,
.accordion-body tr {
  background: transparent !important;
  background-color: transparent !important;
  color: #00ffc8 !important;
}

.accordion-body a:hover {
  color: var(--pink) !important;
}

.accordion-collapse {
  background: rgba(26,26,46,0.9) !important;
  background-color: rgba(26,26,46,0.9) !important;
}

.accordion-collapse > div,
.accordion-collapse > div > div,
.accordion-collapse > div > div > div,
.accordion-collapse > div > div > div > div {
  background: transparent !important;
  background-color: transparent !important;
  color: #00ffc8 !important;
}

#product_description,
#product_description *,
#product_description_collapse,
#product_description_collapse * {
  background: transparent !important;
  background-color: transparent !important;
  color: #00ffc8 !important;
}