/* =========================================================
	   POSTERARCHETYPEINC — Alchemy Luxe (Nigredo/Albedo/Rubedo)
	   ========================================================= */

	:root{
	  --nigredo:#000000;
	  --albedo:#ffffff;
	  --rubedo:#ff0000;
	  --rubedo-dim:#a40000;
	  --line:rgba(255,255,255,.48);
	}

	html, body { background: var(--nigredo) !important; }
	body{
	  color: var(--albedo);
	  font-family: "Montserrat", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
	  font-weight: 300;
	}

	/* Grain léger (matière) */
	body:before{
	  content:"";
	  position:fixed;
	  inset:0;
	  pointer-events:none;
	  opacity:.06;
	  z-index:0;
	  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='180' height='180' filter='url(%23n)' opacity='0.55'/%3E%3C/svg%3E");
	  background-size:180px 180px;
	}

	/* Fade-in entre pages */
	body.alchemy-fade { opacity:0; transition:opacity .5s ease; }
	body.alchemy-ready{ opacity:1; }

	/* =========================================================
	   TOP BAR: on la supprime (devises, account, wishlist etc.)
	   ========================================================= */
	#top{ display:none !important; }

	/* =========================================================
	   Header: noir total, logo centré, icônes minimalistes
	   ========================================================= */
	header, header .container, header .row { position:relative; z-index:1; }
	header{ background:#000 !important; }
	#logo{ text-align:center; padding:28px 0; }
	#logo img{ max-height:140px; max-width:350px !important; filter: contrast(1.1); }

	header .row{ align-items:center; }

	/* Search: garder seulement une loupe, ultra clean */
	#search{
	  background:transparent !important;
	  border:none !important;
	}
	#search .form-control{
	  background:transparent !important;
	  border:none !important;
	  border-bottom:1px solid var(--line) !important;
	  color:var(--albedo) !important;
	  border-radius:0 !important;
	  box-shadow:none !important;
	  font-weight:300;
	  order:2;
	}
	#search .btn{
	  background:transparent !important;
	  border:none !important;
	  color:var(--albedo) !important;
	  border-radius:0 !important;
	  box-shadow:none !important;
	  padding:0 6px;
	  order:1;
	}
	#search i{ font-size:16px; }

	/* Cart: icône blanche sans texte "0 items" */
	#header-cart .dropdown > button{
	  background:transparent !important;
	  border:none !important;
	  color:var(--albedo) !important;
	  box-shadow:none !important;
	  padding:0 !important;
	  font-size:14px !important;
	}
	#header-cart .dropdown > button i{
	  font-size:18px !important;
	  font-size:18px;
	  line-height:1;
	}
	#header-cart .dropdown-menu{
	  background:#050505 !important;
	  border:1px solid var(--line) !important;
	  color:var(--albedo) !important;
	}

	/* =========================================================
	   Navigation: Rubedo (rouge), hover Albedo (blanc)
	   ========================================================= */
	/* Menu OpenCart varie selon thème: on couvre large */
	nav, .navbar, .nav, .menu, #menu{ background:#000 !important; border:none !important; }
	#menu a, .navbar a, .nav a{
	  font-family:"Cinzel", serif;
	  text-transform:uppercase;
	  letter-spacing:2px;
	  color:var(--rubedo) !important;
	  font-weight:600;
	}
	#menu a:hover, .navbar a:hover, .nav a:hover,
	#menu .active > a, .navbar .active > a{
	  color:var(--albedo) !important;
	}

	/* Hamburger custom (3 lignes de longueur différente) */
	.navbar-toggler{
	  border:none !important;
	  box-shadow:none !important;
	}
	.navbar-toggler .navbar-toggler-icon{
	  background-image:none !important;
	  width:28px; height:18px; position:relative;
	}
	.navbar-toggler .navbar-toggler-icon:before,
	.navbar-toggler .navbar-toggler-icon:after,
	.navbar-toggler .navbar-toggler-icon i{
	  content:"";
	  position:absolute; left:0;
	  height:2px; background:var(--albedo);
	  border-radius:2px;
	}
	.navbar-toggler .navbar-toggler-icon:before{ top:0; width:26px; opacity:.95; }
	.navbar-toggler .navbar-toggler-icon i{ top:8px; width:18px; opacity:.85; }
	.navbar-toggler .navbar-toggler-icon:after{ top:16px; width:12px; opacity:.75; }
	/* ================================
	   ALCHEMY MENU — WIDE RUBEDO BAR
	   ================================ */

	/* Container: quasi pleine largeur */
	.common-catmenu .list-group.mb-3{
	  display:flex !important;
	  flex-direction:row !important;
	  align-items:stretch !important;
	  justify-content:space-between !important;

	  width:100% !important;
	  max-width:100% !important;

	  gap:37px !important;
	  padding: 0 !important;
	  margin: 18px 0 63px 0 !important;

	  background:transparent !important;
	  border:none !important;
	}

	/* Neutralise Bootstrap */
	#content .common-catmenu .list-group.mb-3{
	  width:100% !important;
	}

	/* Boutons */
	.common-catmenu .list-group.mb-3 > a.list-group-item{
	  flex:1 1 auto !important;              /* ???? prend la largeur */
	  display:flex !important;
	  align-items:center !important;
	  justify-content:center !important;

	  background:#ff0000 !important;          /* Rubedo */
	  color:#ffffff !important;               /* Albedo */

	  border: 1px solid rgba(255,255,255,.25) !important;
	  border-radius: 6px !important;          /* très léger */

	  padding: 14px 22px !important;          /* PLUS LARGE */
	  margin: 0 !important;

	  font-family: "Cinzel", serif !important;
	  font-weight: 900 !important;             /* plus gras */
	  font-size: 17.5px !important;            /* plus lisible */
	  letter-spacing: 2.4px !important;
	  text-transform: uppercase !important;
	  line-height: 1.1 !important;

	  text-decoration:none !important;
	  white-space:nowrap !important;

	  position: relative !important;
	  overflow:hidden !important;
	  user-select:none !important;

	  transition:
		transform .18s ease,
		box-shadow .18s ease,
		filter .18s ease,
		background .18s ease !important;
		
		text-shadow:
		0 0 0.6px rgba(255,255,255,.85),
		0 1px 1px rgba(0,0,0,.35);
	}

	/* Hover : tension + lumière */
	.common-catmenu .list-group.mb-3 > a.list-group-item:hover{
	  transform: translateY(-1px) scale(1.015) !important;
	  box-shadow:
		0 0 0 1px rgba(255,255,255,.35),
		0 10px 26px rgba(255,0,0,.25) !important;
	  filter: saturate(1.08) !important;
	}

	/* Actif : inversion alchimique */
	.common-catmenu .list-group.mb-3 > a.list-group-item.active{
	  background:#ffffff !important;
	  color:#000000 !important;
	  border-color: rgba(255,255,255,.65) !important;
	  box-shadow: 0 0 0 2px rgba(255,0,0,.45) !important;
	}

	/* Mobile : scroll horizontal propre */
	@media (max-width: 768px){
	  .common-catmenu .list-group.mb-3{
		overflow-x:auto !important;
		overflow-y:hidden !important;
		-webkit-overflow-scrolling: touch;
		padding-bottom:6px !important;
	  }

.carousel-item [class*="col-"] > a {
max-width:200px;
margin:0 auto;
}

.carousel-item .image-col .image {
overflow:hidden;
margin:0 auto;
max-width:200px;
}

.col-sm-2 { z-index:1; }
footer .list-unstyled { text-align:right; }
footer h5 { text-align:right; }
footer .container { height:auto !important; }


	  .common-catmenu .list-group.mb-3 > a.list-group-item{
		flex:0 0 auto !important;
		padding: 14px 20px !important;
		font-size: 12.5px !important;
	  }
	
	.common-catmenu .list-group.mb-3 {
	flex-wrap:wrap !important;
	justify-content:center !important;
	gap:10px !important;
	}
	.dropdown {position: absolute;
		top: 0;
		right: 11px;
	}
	#search { max-width:64%; }
.carousel-inner .carousel-item .row{
    justify-content: center;
  }

  /* cache toutes les colonnes... */
  .carousel-inner .carousel-item .row > [class*="col-"]{
    display: none;
  }

  /* ... sauf la première */
  .carousel-inner .carousel-item .row > [class*="col-"]:first-child{
    display: block;
    flex: 0 0 80%;
    max-width: 80%;
  }
  
}


.list-unstyled a { font-weight:500; }
header { margin-bottom:8px !important; }
footer { margin-top:0 !important; }
	/* ================================
	   Pulse animation (JS)
	   ================================ */
	@keyframes alchemyPulse{
	  0%   { transform: scale(1); box-shadow: 0 0 0 0 rgba(255,255,255,0); }
	  40%  { transform: scale(1.04); box-shadow: 0 0 0 10px rgba(255,255,255,.15); }
	  100% { transform: scale(1); box-shadow: 0 0 0 0 rgba(255,255,255,0); }
	}
	.list-group-item.alchemy-pulse{
	  animation: alchemyPulse .55s ease-out 1 !important;
	}

	/* Subtle shine sweep */
	.common-catmenu .list-group.mb-3 > a.list-group-item::after{
	  content:"";
	  position:absolute;
	  inset:-20% -40%;
	  background: linear-gradient(100deg,
		transparent 30%,
		rgba(255,255,255,.35) 50%,
		transparent 70%);
	  transform: translateX(-120%);
	  opacity:0;
	  pointer-events:none;
	}
	.common-catmenu .list-group.mb-3 > a.list-group-item:hover::after{
	  opacity:1;
	  transform: translateX(120%);
	  transition: transform .6s ease, opacity .2s ease;
	}

	 .mgallery-wrap .mheading_title, .mgallery .mheading_title {
	 border-bottom:none !important;
	 }
	 .mgallery .mheading_title span { display:none; }
	 .mgallery .mheading_title a { font-weight: bold;
    font-size: 0.9em; }
	 
	.carousel, .carousel-inner, .carousel-item{ border:none !important; }
	.carousel .carousel-control-prev,
	.carousel .carousel-control-next{
	  width:48px;
	  opacity:1;
	  transition:opacity .2s ease;
	}
	.carousel:hover .carousel-control-prev,
	.carousel:hover .carousel-control-next{ opacity:1; }
	.carousel .carousel-control-prev span,
	.carousel .carousel-control-next span{
	  color:var(--albedo) !important;
	  font-size:32px;
	  text-shadow:none !important;
	}
	
	.gallery-photo h2 {
	font-size:25px !important;
	font-weight:bold !important;
	}

	/* Banner: enlever padding/colonnes "carton" */
	#carousel-banner-0 .row{ gap:18px; }
	#carousel-banner-0 img{ border:none !important; }

	/* Vidéos: borderless + play rouge discret */
	.mgallery, .mgallery .image, .mgallery .image-col, .mgallery .image-incol{
	  background:transparent !important;
	  border:none !important;
	}
	.mgallery .mgallery-popup i{ color:var(--rubedo) !important; }

	/* =========================================================
	   Catégories / galeries produits: enlever le e-commerce UI
	   ========================================================= */

	/* Sidebar catégories (list-group) -> texte rouge, fond noir, pas de cadres */
	.list-group, .list-group-item{
	  background:#000 !important;
	  border:none !important;
	}
	.list-group-item{
	  color:var(--rubedo) !important;
	  font-family:"Cinzel", serif;
	  letter-spacing:2px;
	  padding:10px 0;
	}
	.list-group-item.active,
	.list-group-item:hover{
	  color:var(--albedo) !important;
	  background:transparent !important;
	}

	/* Supprimer le bloc de controls (compare, sort, limit, view) */
	#display-control{ display:none !important; }

	/* Cards produits: plus de cadres, plus de boutons */
	.product-thumb{
	  background:transparent !important;
	  border:none !important;
	  box-shadow:none !important;
	}
	
	.col-sm h1 {
	font-weight: bold;
    font-size: 30px;
	}
	.col-sm p:first-of-type {
	font-weight:bold;
	}
	
	#button-cart{
  color:#fff !important;              /* texte blanc */
}

.freeship {
font-weight: bold;
    font-size: 1.4em;
    margin-top: -20px;
}
.magnific-popup { max-width:500px; }

.mfp-arrow-left { left:30px; }
.mfp-arrow-right { right:30px; }

	/* CTA Cart rubedo (tu ajusteras le sélecteur exact si besoin) */
	#button-cart, button[formaction*="cart.add"]{
	  background:var(--rubedo) !important;
	  border:none !important;
	  
	  font-family:"Cinzel", serif;
	  letter-spacing:2px;
	  text-transform:uppercase;
	  padding:10px 14px;
	}
	#button-cart{
  color: transparent;      /* sécurité */


    width: 60px;
    padding: 17px 17px;
    height: 62px;
    color: transparent !important;
	
}
.strong { font-weight:bold; }

.form-check-input:checked {
color:#ff0000;
background-color:#ff0000;
}
#content a { color:#ff0000; }
#information-sitemap { font-size:1.2em; }

.table-condensed { color:#373333; }
.form-control { color:white !important; }
legend { font-weight:bold; text-transform:lowercase; }
legend::first-letter { text-transform:uppercase; }

.btn-primary { background: #ff0000;
    font-weight: bold;
    font-size: 1.3em;
	color:white !important;
	}
	
	#account-login #column-right a {
	display: inline-block;
    padding: 5px;
    color: white !important;
    font-weight: bold;
    background: #ff0000 !important;
    margin: 5px 0;
    max-width: 185px;
	}
	
	#form-login a { font-weight:bold; font-size:1.2em; line-height:3em; }
	#account-login h2 { font-weight:bold; }
#content { min-height:1px !important; }
#account-return #column-right { display:none; opacity:0; }
h1 {
text-align:center;
    margin-bottom: 58px;
    font-weight: bold;
    text-align: center;
    font-size: 44px;
}

.table td, .table td a { color:white; font-weight:bold; }

 .text-end a strong { color:white; font-weight:bold; }
 .text-end a strong i { color:#ff0000 !important; }
.btn-danger { background:#ff0000; }

h1::first-letter{
  font-size: 65px;
  line-height: 1;
}

#product-info h1 { text-align:left !important; }
#button-cart::before{
  content:"\f07a";                    /* fa-cart-shopping */
  font-family:"Font Awesome 6 Free";
  font-size:1.2em;
  font-weight:900;                    /* solid */
  color:#fff !important;
  margin-right:8px;
  display:inline-block;
}


	#form-product .form-label, #form-product .form-control, .rating, .btn-group { display:none; }
	.product-thumb .content{ padding-top:10px; }
	.product-thumb .description {
	max-width:241px; 
	margin:0 !important;
	}
	.product-thumb .description p{
	overflow: hidden;
  display: -webkit-box;
  -webkit-line-clamp: 1;   /* ✅ 1 ligne max */
  -webkit-box-orient: vertical; } /* start texte seulement */
	.product-thumb .button-group{ display:none !important; } /* pas add/wishlist/compare */

	/* Titre en blanc + spacing luxe */
	.product-thumb h4 a{
	  color:var(--albedo) !important;
	  font-family:"Cinzel", serif;
	  text-transform:uppercase;
	  letter-spacing:2px;
	  font-size:14px;
	}


.product-thumb .description {
padding: 0 !important;
margin:0 auto;
}
.product-thumb .image { text-align:left !important; }
	/* Prix discret en blanc */
	.product-thumb .price, .product-thumb .price *{
	  color:var(--albedo) !important;
	  font-weight:300 !important;
	}
	.product-thumb .price-tax{ display:none !important; }

	/* Free Shipping (ajout via JS si absent) */
	.free-shipping{
	  display:block;
	  margin-top:4px;
	  color:var(--albedo);
	  font-size:.85rem;
	  opacity:.9;
	  font-family:"Montserrat", sans-serif;
	}

	/* Grille 4 colonnes parfaite desktop */
	#product-list2{ row-gap:22px; }
	@media (min-width: 992px){
	  #product-list2.row-cols-lg-4 > *{ width:25% !important; }
	}

	/* Pagination: rouge vif, plus grand */
	.pagination .page-link{
	  background:transparent !important;
	  border:none !important;
	  color:var(--rubedo) !important;
	  font-size:18px;
	  font-family:"Cinzel", serif;
	  letter-spacing:2px;
	}
	.pagination .page-item.active .page-link{
	  color:var(--albedo) !important;
	}

/* =========================================
   CAROUSEL IMAGE — CROP HORIZONTAL
   ========================================= */

/* le conteneur (col-2 desktop / col-10 mobile) devient une fenêtre */
.carousel-item [class*="col-"]{
  overflow: hidden !important;
}

/* lien = zone crop */
.carousel-item [class*="col-"] > a{
  display: block;
  overflow: hidden !important;
}

/* image : zoom horizontal + décalage */
.carousel-item [class*="col-"] img{
  width: calc(100% + 120px) !important;
  max-width: none !important;

  margin-left: -60px !important;
  margin-right: -60px !important;

  height: auto !important;
  display: block;

  background: transparent !important;
  border: none !important;
}

	/* =========================================
	   MPGALLERY VIDEO THUMB — CROP HORIZONTAL
	   (match: +120px width, -60px margin-left)
	   ========================================= */

	/* La "fenêtre" de crop */
	.mgallery .mgallery-thumb .image,
	.mgallery .mgallery-thumb .image > a{
	  display:block !important;
	  overflow:hidden !important;
	}

	/* Optionnel: enlève tout fond/border qui pourrait créer le contour */
	.mgallery .mgallery-thumb .image,
	.mgallery .mgallery-thumb .image-col,
	.mgallery .mgallery-thumb .image-incol{
	  background: transparent !important;
	  border: none !important;
	}

	/* L'image: on élargit et on décale */
	.mgallery .mgallery-thumb .image img{
	  width: calc(100% + 100px) !important;  
	  max-width: none !important;

	  margin-left: -50px !important;
	  margin-right: -50px !important;

	  height: auto !important;
	  display:block !important;

	  background: transparent !important;
	  border: none !important;
	}


	.mgallery .mgallery-thumb .image img{
	  width: calc(100% + 100px) !important;
	  margin-left: -50px !important;

	  transform: scale(1.03);
	  transition: transform .35s ease, filter .35s ease;
	}

	.mgallery .mgallery-thumb:hover .image img{
	  transform: scale(1.08);
	  filter: contrast(1.05);
	}
	.mgallery-thumb { padding-left:80px; zoom:0.72; }
.mheading_title a { color:white !important; }

	/* =========================================================
	   Page produit: focus image + 1 bouton Cart Rubedo
	   ========================================================= */
	#product-product .btn, #product-product button, #product-product .btn-primary{
	  border-radius:0 !important;
	  box-shadow:none !important;
	}

	/* Cache extras typiques (selon thème/module) */
	#product-product .rating, #product-product .review, #product-product .wishlist,
	#product-product .compare { display:none !important; }


	/* Footer: liens rouges plus petits */
	footer { background:black !important; border-top:none !important; }
	footer h5{ font-size:1.35em; letter-spacing:2px; font-family:"Cinzel", serif; }

#product-category h2 { display:none; }
.white { background:white; }
.white div, .white, .white a, .white h5 { color:black !important; }

/* Brand statements on the storefront home page. */
.home-brand-statements {
  margin: 0 auto 28px;
  text-align: center;
  text-transform: uppercase;
  letter-spacing: 2px;
}
.home-brand-statements .home-brand-primary {
  color: var(--albedo);
  font-family: "Cinzel", serif;
  font-size: clamp(16px, 2vw, 25px);
  font-weight: 600;
  margin-bottom: 5px;
}
.home-brand-statements .home-brand-secondary {
  color: var(--rubedo);
  font-size: clamp(11px, 1.2vw, 15px);
  margin: 0;
}

/* Video captions are intentionally visual-only: the poster remains clickable. */
.mpvideo-carousel .mgallery-caption h5,
.gallery-photo .mgallery-caption h5 {
  display: none !important;
}

/* Center and constrain each series introduction. */
#product-category #content > h2 + .row {
  justify-content: center;
}
#product-category #content > h2 + .row > .col-sm-10 {
  flex: 0 1 860px;
  max-width: 860px;
  margin-inline: auto;
}

/* Responsive YouTube block beside the product price. */
.product-price-video-wrapper {
  display: flex;
  gap: 20px;
  align-items: flex-start;
  justify-content: space-between;
  margin-bottom: 20px;
}
.product-info-left {
  flex: 1;
  min-width: 0;
}
.product-info-video {
  flex: 0 0 280px;
}
.product-video-frame {
  position: relative;
  height: 0;
  padding-bottom: 56.25%;
  overflow: hidden;
}
.product-video-frame iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

.cara-social-icon {
  display: inline-flex;
  width: 31px;
  height: 31px;
  align-items: center;
  justify-content: center;
  border: 1px solid #000;
  border-radius: 50%;
  background: #000;
  color: #fff !important;
  font-family: Arial, sans-serif;
  font-size: 11px;
  font-weight: 700;
}

@media (max-width: 768px) {
  .product-price-video-wrapper {
    flex-direction: column;
  }
  .product-info-video {
    width: 100%;
    flex-basis: auto;
  }
}
