/* ==========================================================================
   Boutique Pro Raids — un univers graphique par raid
   Chaque bloc porte une classe .prb-b-<raid> qui définit ses variables.
   ========================================================================== */

/* ---------- Identités ---------- */
.prb-b-pro-raids {
	--page: #f7f8fa; --page-ink: #29292a;
	--band: #29292a; --band-ink: #fff; --title: #fff;
	--card: #fff; --card-ink: #29292a; --muted: #6d6d70; --line: #e4e4e7;
	--accent: #e16e3d; --accent-ink: #fff; --kicker: #e16e3d;
	--ft: "Oswald", sans-serif; --ft-w: 600; --ft-tt: uppercase; --ft-ls: .02em;
	--fb: "Poppins", sans-serif;
	--fk: "Oswald", sans-serif; --fk-w: 500; --fk-ls: .28em;
	--r: 4px; --btn-r: 2px;
	--hero-ov: linear-gradient(180deg, rgba(20, 20, 21, .55), rgba(20, 20, 21, .8));
	--chip: #29292a; --chip-ink: #fff;
}
.prb-b-205-trophee {
	--page: #fff; --page-ink: #2b2a2a;
	--band: #0c0d4b; --band-ink: #fff; --title: #fff;
	--card: #fff; --card-ink: #0c0d4b; --muted: #55577a; --line: #e3e4ef;
	--accent: #fcb21f; --accent-ink: #0c0d4b; --kicker: #fcb21f;
	--ft: "Poppins", sans-serif; --ft-w: 800; --ft-tt: uppercase; --ft-ls: 0;
	--fb: "Poppins", sans-serif;
	--fk: "Poppins", sans-serif; --fk-w: 700; --fk-ls: .14em;
	--r: 16px; --btn-r: 999px;
	--hero-ov: linear-gradient(180deg, rgba(12, 13, 75, .45), rgba(12, 13, 75, .88));
	--chip: #fcb21f; --chip-ink: #0c0d4b;
}
.prb-b-crazy-dust {
	--page: #f4e0ae; --page-ink: #161616;
	--band: #253812; --band-ink: #f4e0ae; --title: #e16e3d;
	--card: #f4e0ae; --card-ink: #161616; --muted: #5d5338; --line: rgba(37, 56, 18, .25);
	--accent: #e16e3d; --accent-ink: #fff; --kicker: #f4e0ae;
	--ft: "Allerta Stencil", sans-serif; --ft-w: 400; --ft-tt: uppercase; --ft-ls: .01em;
	--fb: "Poppins", sans-serif;
	--fk: "Poppins", sans-serif; --fk-w: 800; --fk-ls: .12em;
	--r: 10px; --btn-r: 999px;
	--hero-ov: linear-gradient(180deg, rgba(37, 56, 18, .35), rgba(37, 56, 18, .88));
	--chip: #253812; --chip-ink: #f4e0ae;
}
.prb-b-jeep-sand-tour {
	--page: #0a0a0a; --page-ink: #e9e9e9;
	--band: #0a0a0a; --band-ink: #f5f5f5; --title: #f5f5f5;
	--card: #151515; --card-ink: #f5f5f5; --muted: #9c9c9c; --line: #2a2a2a;
	--accent: #c56535; --accent-ink: #f5f5f5; --kicker: #c56535;
	--ft: "Bebas Neue", sans-serif; --ft-w: 400; --ft-tt: uppercase; --ft-ls: .01em;
	--fb: "Inter", sans-serif;
	--fk: "JetBrains Mono", monospace; --fk-w: 500; --fk-ls: .32em;
	--r: 0; --btn-r: 0;
	--hero-ov: linear-gradient(180deg, rgba(10, 10, 10, .5), rgba(10, 10, 10, .92));
	--chip: #0a0a0a; --chip-ink: #f5f5f5;
}
.prb-b-green-maroc {
	--page: #f6f3e8; --page-ink: #1f2a1f;
	--band: #f6f3e8; --band-ink: #1f2a1f; --title: #ee8213;
	--card: #fff; --card-ink: #1f2a1f; --muted: #5f6b5f; --line: #e6e0cc;
	--accent: #00a850; --accent-ink: #fff; --kicker: #d7261e;
	--ft: "Fredoka", sans-serif; --ft-w: 700; --ft-tt: none; --ft-ls: 0;
	--fb: "Inter", sans-serif;
	--fk: "Fredoka", sans-serif; --fk-w: 600; --fk-ls: .12em;
	--r: 24px; --btn-r: 999px;
	--hero-ov: linear-gradient(180deg, rgba(0, 0, 0, .25), rgba(20, 30, 20, .7));
	--chip: #fff; --chip-ink: #1f2a1f;
}

/* ---------- Base ---------- */
body.prb-shop { background: var(--page); color: var(--page-ink); }
.prb-main { display: block; overflow: hidden; }
.prb-shop .prb-kicker {
	margin: 0 0 12px; color: var(--kicker);
	font: var(--fk-w) 13px/1.4 var(--fk); letter-spacing: var(--fk-ls); text-transform: uppercase;
}

/* ---------- Bandeaux (hero) ---------- */
.prb-hero {
	position: relative; isolation: isolate;
	padding: 170px 24px 86px; text-align: center; color: #fff;
	background: var(--hero-ov), var(--prb-hero) center / cover no-repeat, var(--band);
}
.prb-hero__inner { max-width: 900px; margin: 0 auto; }
.prb-hero__logo { display: block; max-height: 130px; max-width: min(380px, 80%); width: auto; margin: 0 auto 26px; filter: drop-shadow(0 6px 18px rgba(0, 0, 0, .35)); }
.prb-hero__title {
	margin: 0 0 16px; color: #fff;
	font: var(--ft-w) clamp(42px, 6.4vw, 88px)/.98 var(--ft); text-transform: var(--ft-tt); letter-spacing: var(--ft-ls);
}
.prb-hero__tagline { max-width: 620px; margin: 0 auto; font: 400 18px/1.6 var(--fb); color: rgba(255, 255, 255, .88); }
.prb-hero--small { padding: 140px 24px 34px; }
.prb-hero--small .prb-hero__logo { max-height: 74px; margin-bottom: 12px; }
.prb-hero--small .prb-kicker { margin: 0; }
.prb-hero--hub { padding: 190px 24px 96px; }
.prb-hero--hub .prb-hero__title { font-size: clamp(48px, 8vw, 120px); }

/* ---------- Pastilles des univers (chacune dans le style de son raid) ---------- */
.prb-universes { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; margin: 34px 0 0; }
.prb-chip {
	display: inline-flex; align-items: center; gap: 12px; min-height: 54px; padding: 8px 20px 8px 12px;
	background: var(--chip); color: var(--chip-ink) !important; text-decoration: none !important;
	border-radius: var(--btn-r); border: 1px solid rgba(255, 255, 255, .14);
	font: var(--ft-w) 17px/1 var(--ft); text-transform: var(--ft-tt); letter-spacing: var(--ft-ls);
	transition: transform .2s ease, box-shadow .2s ease;
}
.prb-chip img { height: 34px; width: auto; max-width: 96px; object-fit: contain; }
.prb-chip:hover { transform: translateY(-3px); box-shadow: 0 10px 24px rgba(0, 0, 0, .3); }
.prb-chip.is-current { outline: 3px solid var(--accent); outline-offset: 2px; }
.prb-b-jeep-sand-tour.prb-chip { border-color: #333; }
.prb-b-pro-raids.prb-chip img { height: 26px; }

/* ---------- Bandes d'univers ---------- */
.prb-band { position: relative; padding: 84px 24px 96px; background: var(--band); color: var(--band-ink); }
.prb-band > * { max-width: 1240px; margin-left: auto; margin-right: auto; }
.prb-band__head { display: flex; align-items: center; gap: 36px; margin-bottom: 44px; }
.prb-band__logo { flex: 0 0 auto; max-height: 112px; max-width: 230px; width: auto; object-fit: contain; }
.prb-band__text { flex: 1 1 auto; }
.prb-band__title {
	margin: 0 0 8px; color: var(--title);
	font: var(--ft-w) clamp(34px, 4vw, 54px)/1 var(--ft); text-transform: var(--ft-tt); letter-spacing: var(--ft-ls);
}
.prb-band__tagline { margin: 0; font: 400 16px/1.6 var(--fb); opacity: .85; }
.prb-band--archive { padding-top: 64px; }
.prb-band .woocommerce { max-width: 1240px; margin: 0 auto; }

.prb-btn, .prb-shop .prb-btn:visited {
	flex: 0 0 auto; display: inline-block; padding: 15px 26px;
	background: var(--accent); color: var(--accent-ink) !important; border-radius: var(--btn-r);
	font: var(--fk-w) 13px/1 var(--fk); letter-spacing: .14em; text-transform: uppercase; text-decoration: none !important;
	transition: filter .2s ease, transform .2s ease;
}
.prb-btn:hover { filter: brightness(1.08); transform: translateY(-2px); }

/* ---------- Grille d'articles ---------- */
.prb-shop ul.products,
.prb-shop .woocommerce ul.products {
	display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 26px; max-width: 1240px; margin: 0 auto !important; padding: 0;
}
.prb-shop ul.products::before, .prb-shop ul.products::after { display: none !important; }
.prb-shop ul.products li.product {
	position: relative; display: flex; flex-direction: column;
	width: auto !important; margin: 0 !important; float: none !important; padding: 0 0 22px !important;
	background: var(--card); color: var(--card-ink); border-radius: var(--r); overflow: hidden; text-align: left;
	transition: transform .25s ease, box-shadow .25s ease;
}
.prb-shop ul.products li.product:hover { transform: translateY(-6px); box-shadow: 0 18px 40px rgba(0, 0, 0, .22); }
.prb-shop ul.products li.product a.woocommerce-LoopProduct-link { display: flex; flex-direction: column; flex: 1 1 auto; color: inherit; text-decoration: none; }
.prb-shop ul.products li.product a img {
	width: 100%; aspect-ratio: 1; object-fit: cover; margin: 0 0 18px !important; border-radius: 0;
	transition: transform .5s ease;
}
.prb-shop ul.products li.product:hover a img { transform: scale(1.04); }
.prb-card__brand {
	display: block; padding: 0 20px; margin-bottom: 6px; color: var(--accent);
	font: var(--fk-w) 11px/1.3 var(--fk); letter-spacing: var(--fk-ls); text-transform: uppercase;
}
.prb-shop ul.products li.product .woocommerce-loop-product__title {
	padding: 0 20px !important; margin: 0 0 10px !important; color: var(--card-ink);
	font: var(--ft-w) 21px/1.15 var(--ft) !important; text-transform: var(--ft-tt); letter-spacing: var(--ft-ls);
}
.prb-shop ul.products li.product .price {
	display: block; padding: 0 20px; margin: auto 0 16px !important; color: var(--card-ink) !important;
	font: 700 18px/1 var(--fb) !important;
}
.prb-shop ul.products li.product .button {
	align-self: flex-start; margin: 0 20px !important; padding: 12px 18px !important;
	background: var(--accent) !important; color: var(--accent-ink) !important; border: 0 !important; border-radius: var(--btn-r) !important;
	font: var(--fk-w) 12px/1 var(--fk) !important; letter-spacing: .12em !important; text-transform: uppercase;
}
.prb-shop ul.products li.product .button:hover { filter: brightness(1.08); }
.prb-shop ul.products li.product .added_to_cart { padding: 10px 20px 0; color: var(--accent); font: 500 13px var(--fb); }

/* Détails propres à chaque univers */
li.prb-b-205-trophee.product { border-top: 6px solid #fcb21f; }
.prb-b-205-trophee .woocommerce-loop-product__title { font-size: 18px !important; }
li.prb-b-crazy-dust.product { outline: 2px dashed rgba(37, 56, 18, .4); outline-offset: -9px; transform: rotate(-.4deg); }
li.prb-b-crazy-dust.product:nth-child(2n) { transform: rotate(.5deg); }
li.prb-b-crazy-dust.product:hover { transform: rotate(0) translateY(-6px) !important; }
li.prb-b-jeep-sand-tour.product { border: 1px solid #2a2a2a; }
li.prb-b-jeep-sand-tour.product:hover { border-color: #c56535; box-shadow: none !important; }
.prb-b-jeep-sand-tour .woocommerce-loop-product__title { font-size: 26px !important; }
li.prb-b-green-maroc.product { box-shadow: 0 6px 20px rgba(31, 42, 31, .08); }
.prb-b-green-maroc .woocommerce-loop-product__title { color: #1f2a1f !important; }
li.prb-b-pro-raids.product { border-bottom: 3px solid transparent; }
li.prb-b-pro-raids.product:hover { border-bottom-color: #e16e3d; }

/* Bande tricolore 205 et pointillés Green Maroc */
.prb-tri {
	position: absolute; left: 0; right: 0; bottom: 0; height: 14px; max-width: none !important;
	background: linear-gradient(105deg, #fcb21f 0 80%, #2094f7 80% 86.6%, #0c0d4b 86.6% 93.3%, #ba0702 93.3%);
}
.prb-dots, .prb-b-green-maroc.prb-band::before {
	content: ""; position: absolute; left: 0; right: 0; bottom: 18px; height: 14px; max-width: none !important;
	background: radial-gradient(circle, #f2a51f 4px, transparent 4.6px) 0 50% / 26px 14px repeat-x;
}
.prb-b-green-maroc.prb-band::before { top: 26px; bottom: auto; opacity: .7; }
.prb-b-green-maroc .prb-band__title { color: #ee8213; }
.prb-b-green-maroc .prb-band__title::after { content: ""; }
.prb-b-crazy-dust.prb-band {
	background: radial-gradient(circle at 15% 20%, rgba(244, 224, 174, .07), transparent 40%),
		radial-gradient(circle at 85% 80%, rgba(225, 110, 61, .10), transparent 45%), #253812;
}
.prb-b-jeep-sand-tour.prb-band { border-top: 1px solid #1f1f1f; }
.prb-b-jeep-sand-tour .prb-band__title { font-size: clamp(44px, 5vw, 72px); }
.prb-b-pro-raids.prb-band .prb-band__title::after {
	content: ""; display: block; width: 64px; height: 4px; margin-top: 14px; background: #e16e3d;
}

/* ---------- Bas de page catégorie ---------- */
.prb-others { padding: 64px 24px 80px; text-align: center; background: #29292a; }
.prb-others__title { margin: 0; color: #fff; font: 600 15px/1 "Oswald", sans-serif; letter-spacing: .28em; text-transform: uppercase; }
.prb-others__all { display: inline-block; margin-top: 28px; color: #e16e3d !important; font: 500 15px "Poppins", sans-serif; }
.prb-empty { text-align: center; font: 400 17px var(--fb); }

/* ---------- Fiche produit ---------- */
.prb-shop.single-product .site-main, .prb-shop.single-product #primary { max-width: 1240px; margin: 0 auto; padding: 56px 24px 80px; }
.prb-shop.single-product div.product { color: var(--page-ink); font-family: var(--fb); }
.prb-shop.single-product div.product .woocommerce-product-gallery img { border-radius: var(--r); }
.prb-shop.single-product div.product .product_title {
	margin: 0 0 14px; color: var(--page-ink);
	font: var(--ft-w) clamp(34px, 3.6vw, 52px)/1.02 var(--ft); text-transform: var(--ft-tt); letter-spacing: var(--ft-ls);
}
.prb-b-green-maroc.single-product div.product .product_title { color: #ee8213; }
.prb-b-crazy-dust.single-product div.product .product_title { color: #253812; }
.prb-b-205-trophee.single-product div.product .product_title { color: #0c0d4b; }
.prb-shop.single-product div.product p.price, .prb-shop.single-product div.product span.price {
	color: var(--accent) !important; font: 700 28px/1 var(--fb);
}
.prb-b-205-trophee.single-product div.product p.price { color: #ba0702 !important; }
.prb-b-jeep-sand-tour.single-product div.product p.price { color: #c56535 !important; }
.prb-shop.single-product div.product .woocommerce-product-details__short-description { font-size: 17px; line-height: 1.6; }
.prb-shop.single-product div.product form.cart .button,
.prb-shop .woocommerce a.button.alt, .prb-shop .woocommerce button.button.alt, .prb-shop .woocommerce .checkout-button {
	padding: 16px 30px !important; background: var(--accent) !important; color: var(--accent-ink) !important;
	border: 0 !important; border-radius: var(--btn-r) !important;
	font: var(--fk-w) 13px/1 var(--fk) !important; letter-spacing: .14em !important; text-transform: uppercase;
}
.prb-shop.single-product div.product form.cart .qty {
	min-height: 48px; border: 1px solid var(--line); border-radius: var(--btn-r); background: transparent; color: inherit;
}
.prb-shop.single-product div.product .product_meta { margin-top: 24px; padding-top: 18px; border-top: 1px solid var(--line); font-size: 13px; color: var(--muted); }
.prb-shop.single-product div.product .product_meta a { color: var(--accent); }
.prb-shop.single-product .woocommerce-tabs ul.tabs { padding: 0 !important; border-bottom: 1px solid var(--line); }
.prb-shop.single-product .woocommerce-tabs ul.tabs::before { display: none; }
.prb-shop.single-product .woocommerce-tabs ul.tabs li {
	background: transparent !important; border: 0 !important; border-radius: 0 !important; margin: 0 22px 0 0 !important; padding: 0 !important;
}
.prb-shop.single-product .woocommerce-tabs ul.tabs li::before, .prb-shop.single-product .woocommerce-tabs ul.tabs li::after { display: none !important; }
.prb-shop.single-product .woocommerce-tabs ul.tabs li a {
	padding: 12px 0 !important; color: var(--muted) !important;
	font: var(--fk-w) 12px/1 var(--fk); letter-spacing: .16em; text-transform: uppercase;
}
.prb-shop.single-product .woocommerce-tabs ul.tabs li.active a { color: var(--page-ink) !important; box-shadow: inset 0 -3px 0 var(--accent); }
.prb-shop.single-product .woocommerce-tabs .panel h2, .prb-shop.single-product .related > h2 {
	color: var(--page-ink); font: var(--ft-w) 28px/1.1 var(--ft); text-transform: var(--ft-tt);
}
.prb-shop.single-product table.shop_attributes, .prb-shop.single-product table.shop_attributes th, .prb-shop.single-product table.shop_attributes td {
	border-color: var(--line) !important; color: inherit; background: transparent !important;
}
.prb-shop.single-product .related { margin-top: 64px; }
.prb-back { clear: both; padding-top: 28px; font: 500 15px var(--fb); }
.prb-back a { color: var(--accent); }

/* Messages WooCommerce */
.prb-shop .woocommerce-message, .prb-shop .woocommerce-info { border-top-color: var(--accent); }
.prb-shop .woocommerce-message::before, .prb-shop .woocommerce-info::before { color: var(--accent); }
.prb-shop .woocommerce-message .button { background: var(--accent) !important; color: var(--accent-ink) !important; border-radius: var(--btn-r); }

/* ---------- Responsive ---------- */
@media (max-width: 1024px) {
	.prb-shop ul.products, .prb-shop .woocommerce ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.prb-band__head { flex-wrap: wrap; gap: 22px; }
	.prb-band__head .prb-btn { order: 3; }
}
@media (max-width: 767px) {
	.prb-hero { padding: 150px 18px 60px; }
	.prb-hero--hub { padding: 150px 18px 64px; }
	.prb-hero--small { padding: 120px 18px 26px; }
	.prb-hero__logo { max-height: 96px; }
	.prb-hero__tagline { font-size: 16px; }
	.prb-band { padding: 60px 16px 72px; }
	.prb-band__head { flex-direction: column; align-items: flex-start; }
	.prb-band__logo { max-height: 84px; max-width: 190px; }
	.prb-shop ul.products, .prb-shop .woocommerce ul.products { gap: 14px; }
	.prb-shop ul.products li.product { padding-bottom: 16px !important; }
	.prb-card__brand, .prb-shop ul.products li.product .woocommerce-loop-product__title, .prb-shop ul.products li.product .price { padding: 0 12px !important; }
	.prb-shop ul.products li.product .woocommerce-loop-product__title { font-size: 17px !important; }
	.prb-b-jeep-sand-tour .woocommerce-loop-product__title { font-size: 21px !important; }
	.prb-shop ul.products li.product .button { align-self: stretch; margin: 0 12px !important; padding: 11px 6px !important; font-size: 10.5px !important; letter-spacing: .04em !important; text-align: center; white-space: nowrap; }
	.prb-chip { min-height: 46px; padding: 6px 14px 6px 8px; font-size: 14px; }
	.prb-chip img { height: 26px; }
	.prb-shop.single-product .site-main, .prb-shop.single-product #primary { padding: 32px 16px 56px; }
}
