/*
Theme Name: MultiSite Twenty Five Child
Theme URI: https://example.com/
Author: PEREZ Nicolas
Author URI: https://www.perez-nicolas.fr
Description: A child theme for TT2.
Requires at least: 5.8
Tested up to: 5.9
Requires PHP: 5.6
Version: 0.2
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: twentytwentyfive-child
Template: twentytwentyfive
Tags: one-column, custom-colors, custom-menu, custom-logo, editor-style, featured-images, full-site-editing, block-patterns, rtl-language-support, sticky-post, threaded-comments

Twenty Twenty-Two Child WordPress Theme, (C) 2021 WordPress.org
Twenty Twenty-Two Child is distributed under the terms of the GNU GPL.
*/
.bbb_deals_slider_container .btn-affiliate {
    width:100px;
}

@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@200&display=swap');

	html, body{height: 100%}
	body{display: grid;background: #fff;font-family: 'Manrope', sans-serif}
	.mydiv{margin-top: 50px;margin-bottom: 50px}
	.cross{font-size:10px}
	.padding-0{padding-right: 5px;padding-left: 5px}
	.img-style{
        margin-left: -11px;
        box-shadow: 1px 1px 5px 1px rgba(0, 0, 0, 0.1);
        border-radius: 5px;
        max-width: 100% !important;
        max-height: 150px !important;
    }
	.m-t-20{margin-top: 20px}
	.bbb_background{background-color: #E0E0E0 !important}
	.ribbon{width: 150px;height: 150px;overflow: hidden;position: absolute}
	.ribbon span{position: absolute;display: block;width: 34px;border-radius: 50%;padding: 8px 0;background-color: #3498db;box-shadow: 0 5px 10px rgba(0, 0, 0, .1);color: #fff;font: 100 18px/1 'Lato', sans-serif;text-shadow: 0 1px 1px rgba(0, 0, 0, .2);text-transform: uppercase;text-align: center}
	.ribbon-top-right{top: -10px;right: -10px}
	.ribbon-top-right::before, .ribbon-top-right::after{border-top-color: transparent;border-right-color: transparent}
	.ribbon-top-right::before{top: 0;left: 17px}
	.ribbon-top-right::after{bottom: 17px;right: 0}
	.sold_stars i{color: orange}
	.ribbon-top-right span{right: 17px;top: 17px}div{display: block;position: relative;-webkit-box-sizing: border-box;-moz-box-sizing: border-box;box-sizing: border-box}
	.bbb_deals_featured{width: 100%}
	.bbb_deals{
        width: 100%;
        margin-right: 7%;
        padding-top: 80px;
        padding-left: 25px;
        padding-right: 25px;
        padding-bottom: 34px;
        border-radius: 5px;
        margin-top: 0px
    }
	.bbb_deals_title{position: absolute;top: 10px;left: 22px;font-size: 18px;font-weight: 500;color: #000000}
	.bbb_deals_slider_container{width: 100%}.bbb_deals_item{width: 100% !important}
	.bbb_deals_image{width: 100%}
	.bbb_deals_image img{width: 100%}
	.bbb_deals_content{margin-top: 33px}
	.bbb_deals_item_category a{font-size: 14px;font-weight: 400;color: rgba(0, 0, 0, 0.5)}
	.bbb_deals_item_price_a{font-size: 14px;font-weight: 400;color: rgba(0, 0, 0, 0.6)}
	.bbb_deals_item_price_a strike{color: red}
	.bbb_deals_item_name{font-size: 24px;font-weight: 400;color: #000000}
	.bbb_deals_item_price{font-size: 24px;font-weight: 500;color: #6d6e73}
	.available{margin-top: 19px}
	.available_title{font-size: 16px;color: rgba(0, 0, 0, 0.5);font-weight: 400}
	
	.available_title span{font-weight: 700}
	
	@media only screen and (max-width: 991px){
		.bbb_deals{width: 100%;margin-right: 0px}
	}
	
	@media only screen and (max-width: 575px){
		.bbb_deals{padding-left: 15px;padding-right: 15px}
		.bbb_deals_title{left: 15px;font-size: 16px}
		.bbb_deals_slider_nav_container{right: 5px}
		.bbb_deals_item_name, .bbb_deals_item_price{font-size: 17px}
	}

.bbb_deals_item_name {
    font-size:17px;
}

.bbb_deals_info_line {
    font-size:14px;
}

.affiliate-btn {
    text-align:center;
    margin-top:25px;
}

img.btn-affiliate {
    width: 100px;
}

.brand-products-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:20px;
}
@media (max-width: 980px){
  .brand-products-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width: 600px){
  .brand-products-grid{ grid-template-columns:1fr; }
}
.brand-product-card{
  border:1px solid rgba(0,0,0,.08);
  border-radius:14px;
  overflow:hidden;
  background:#fff;
}
.brand-product-thumb img{
  display:block;
  width:100%;
  height:auto;
}
.brand-product-body{
  padding:14px;
}
.brand-product-title{
  margin:0 0 8px;
  font-size:1.05rem;
}
.brand-product-excerpt{
  margin:0 0 12px;
  opacity:.85;
  line-height:1.4;
  background-color:red;
}
.brand-product-cta{
  display:inline-block;
  padding:10px 12px;
  border-radius:10px;
  border:1px solid rgba(0,0,0,.12);
  text-decoration:none;
}

/* =========================================================
   AFFILIATION CARDS — Twenty Twenty-Five
   Objectifs :
   - cards de même hauteur
   - titres/descriptions clampés
   - CTAs alignés en bas
   - images uniformes SANS changer le design (image centrée, pas de cadre)
   ========================================================= */

/* === Grid === */
.aff-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:24px;
}

@media (max-width: 980px){
  .aff-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); }
}

@media (max-width: 600px){
  .aff-grid{ grid-template-columns:1fr; }
}

/* === Card === */
.aff-card{
  display:flex;
  flex-direction:column;
  background:#f5f5f5;
  border:1px solid #e5e5e5;
  border-radius:22px;
  padding:28px 22px;
  padding-bottom:5px;
  text-align:center;
  box-shadow:0 10px 30px rgba(0,0,0,.08);
  transition:transform .18s ease, box-shadow .18s ease;
  height:100%; /* important : uniformise dans la grille */
}

.aff-card:hover{
  transform:translateY(-4px);
  box-shadow:0 18px 40px rgba(0,0,0,.12);
}

/* === Image (taille uniforme, design inchangé) === */
.aff-card__media{
  height:180px;            /* ajuste 160–200 si besoin */
  display:flex;
  align-items:center;
  justify-content:center;
  margin-bottom:18px;
}

.aff-card__media img{
  max-height:180px;        /* même valeur que height ci-dessus */
  max-width:180px;         /* garde l'aspect centré, non “plein cadre” */
  width:auto;
  height:auto;
  object-fit:contain;
  display:block;
}

/* Responsive image (optionnel mais recommandé) */
@media (max-width: 600px){
  .aff-card__media{ height:160px; }
  .aff-card__media img{ max-height:160px; max-width:160px; }
}

/* === Title (2 lignes max) === */
.aff-card__title{
  font-size:1.5rem;
  font-weight:600;
  margin:12px 0 10px;
  line-height:1.25;

  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}

.aff-card__title a{
  text-decoration:none;
  color:#222;
}

.aff-card__title a:hover{
  text-decoration:underline;
}

/* === Description (3 lignes max + prend l’espace restant) === */
.aff-card__desc{
  font-size:1.05rem;
  line-height:1.6;
  color:#555;
  margin:10px 0 24px;

  display:-webkit-box;
  -webkit-line-clamp:3;
  -webkit-box-orient:vertical;
  overflow:hidden;

  flex-grow:1; /* remplit l'espace : boutons restent en bas */
}

/* === CTA container (aligné en bas) === */
.aff-card__ctas{
  display:flex;
  justify-content:center;
  gap:14px;
  flex-wrap:wrap;
  margin-top:auto; /* pousse les boutons en bas */
}

/* === Buttons === */
.aff-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:12px 20px;
  border-radius:14px;
  font-size:1rem;
  font-weight:500;
  text-decoration:none;
  transition:transform .15s ease, box-shadow .15s ease, background-color .15s ease, filter .15s ease;
  white-space:nowrap;
}

/* Primary button (black) */
.aff-btn--primary{
  background:linear-gradient(145deg,#222,#111);
  color:#fff;
  border:none;
  box-shadow:0 4px 14px rgba(0,0,0,.2);
}

.aff-btn--primary:hover{
  transform:translateY(-1px);
  box-shadow:0 8px 18px rgba(0,0,0,.3);
  filter:brightness(1.04);
}

/* Secondary button (outlined) */
.aff-btn--ghost{
  background:#fff;
  color:#222;
  border:1px solid #ccc;
}

.aff-btn--ghost:hover{
  background:#f0f0f0;
}

/* === Premium meta lines (Marque + Techno) === */
.aff-metaLine{
  display:flex;
  justify-content:center;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
  margin:2px 0;
}

.aff-metaLine--brand{
  margin-top:2px;
}

.aff-metaLine--tech{
  margin-top:2px;
  margin-bottom:10px; /* espace avant description */
}

/* Links */
.aff-metaLink{
  font-size:.78rem;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:#222;
  opacity:.72;
  text-decoration:none;
  transition:opacity .15s ease, text-decoration-color .15s ease;
}

.aff-metaLink:hover{
  opacity:1;
  text-decoration:underline;
  text-underline-offset:3px;
}

/* Separator "•" */
.aff-metaSep{
  font-size:.75rem;
  opacity:.45;
  margin:0 2px;
}

.brand-cat-cards{
  display:grid;
  gap:24px;
}
.brand-cat-cards--cols-1{grid-template-columns:1fr;}
.brand-cat-cards--cols-2{grid-template-columns:repeat(2,1fr);}
.brand-cat-cards--cols-3{grid-template-columns:repeat(3,1fr);}
.brand-cat-cards--cols-4{grid-template-columns:repeat(4,1fr);}

@media (max-width: 900px){
  .brand-cat-cards--cols-3,
  .brand-cat-cards--cols-4{grid-template-columns:repeat(2,1fr);}
}
@media (max-width: 600px){
  .brand-cat-cards{grid-template-columns:1fr;}
}

.brand-cat-card{
  display:block;
  background:#fff;
  border-radius:14px;
  overflow:hidden;
  text-decoration:none;
  box-shadow:0 8px 24px rgba(0,0,0,.06);
  transition:transform .15s ease, box-shadow .15s ease;
}
.brand-cat-card:hover{
  transform:translateY(-3px);
  box-shadow:0 12px 30px rgba(0,0,0,.10);
}
.brand-cat-card__img{
  width:100%;
  height:auto;
  display:block;
}
.brand-cat-card__img--placeholder{
  aspect-ratio: 16/9;
  background: #f3f4f6;
}
.brand-cat-card__body{
  padding:16px 18px;
}
.brand-cat-card__title{
  margin:0 0 6px;
  font-size:1.1rem;
}
.brand-cat-card__cta{
  font-weight:600;
}

.aff-grid{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:24px;
}
@media(max-width:1024px){ .aff-grid{ grid-template-columns:repeat(2, 1fr); } }
@media(max-width:600px){ .aff-grid{ grid-template-columns:1fr; } }