/*
 * WooCommerce — Soft 3D Clay styling for Mediasac (catalogue / devis)
 * @package mediasac
 */

.woocommerce-active .site-main { max-width: var(--maxw); margin: 0 auto; padding: clamp(10px,1.8vw,20px) clamp(18px,4vw,40px) 0; }
.woocommerce .woocommerce-result-count { color: var(--muted); font-weight: 700; }
.woocommerce .woocommerce-ordering select { width: auto; display: inline-block; }

.shop-hero { text-align: center; padding: clamp(24px,4vw,48px) 0 clamp(16px,2vw,24px); }
.shop-hero h1, .woocommerce-products-header__title { font-size: clamp(2rem,4.6vw,3.2rem); font-weight: 900; color: var(--ink); }

.woocommerce-notices-wrapper:empty { display: none; }
.woocommerce .woocommerce-message, .woocommerce .woocommerce-info, .woocommerce .woocommerce-error {
	border: 0; border-radius: var(--r-sm); box-shadow: var(--sh-soft); background: #fff; padding: 1rem 1.4rem; margin: 0 0 1.5rem; color: var(--ink); font-weight: 700;
}
.woocommerce .woocommerce-message::before, .woocommerce .woocommerce-info::before { color: var(--primary-d); }

/* ---- Product grid ---- */
.woocommerce ul.products, .woocommerce-page ul.products {
	display: grid !important; grid-template-columns: repeat(3, 1fr); gap: clamp(18px, 2.4vw, 28px); margin: 1.5rem 0 0; padding: 0; list-style: none;
}
.woocommerce ul.products li.product, .woocommerce-page ul.products li.product {
	width: auto !important; margin: 0 !important; float: none !important; text-align: left;
	background: #fff; border-radius: var(--r-lg); overflow: hidden; display: flex; flex-direction: column;
	box-shadow: 0 8px 0 0 var(--gray-d), 0 16px 30px rgba(22,48,61,.1);
	transition: transform .12s ease-out, box-shadow .12s ease-out;
}
.woocommerce ul.products li.product:hover { transform: translateY(-6px); box-shadow: 0 14px 0 0 var(--gray-d), 0 24px 40px rgba(22,48,61,.14); }
.woocommerce ul.products li.product a img { border-radius: 0; margin: 0; aspect-ratio: 1/1; object-fit: contain; width: 100%; background: #fff; padding: 7%; box-sizing: border-box; }
.woocommerce ul.products li.product .product-inner { padding: 1.2rem 1.3rem 1.4rem; display: flex; flex-direction: column; gap: .4rem; flex: 1; }
.woocommerce ul.products li.product .woocommerce-loop-product__title { font-size: 1.05rem !important; font-weight: 800; padding: 0 !important; color: var(--ink); line-height: 1.3; }
.woocommerce ul.products li.product .price { color: var(--primary-d) !important; font-weight: 900; font-size: 1.05rem; margin: 0; }
.woocommerce ul.products li.product .price .woocommerce-Price-amount { color: var(--primary-d); }
.woocommerce ul.products li.product .price del { color: var(--muted); font-weight: 600; }
.product-loop-meta { font-size: .78rem; color: var(--muted); font-weight: 700; }

.woocommerce ul.products li.product .button, .woocommerce a.button.devis-loop-btn {
	margin-top: auto; display: inline-flex; align-items: center; justify-content: center; gap: .4rem; width: 100%;
	white-space: nowrap; font-size: .95rem;
	background: var(--top-light), var(--primary) !important; color: #fff !important; border: 0;
	border-radius: var(--r-sm) !important; font-family: "Nunito", sans-serif; font-weight: 800; padding: .8rem 1rem !important;
	box-shadow: inset 0 1px 0 rgba(255,255,255,.5), 0 5px 0 0 var(--primary-d), 0 10px 18px rgba(18,118,110,.24);
	transition: transform .1s ease-out, box-shadow .1s ease-out;
}
.woocommerce ul.products li.product .button:hover { transform: translateY(2px); box-shadow: inset 0 1px 0 rgba(255,255,255,.5), 0 3px 0 0 var(--primary-d), 0 6px 12px rgba(18,118,110,.2); }
.woocommerce ul.products li.product .button:active { transform: translateY(5px); box-shadow: 0 0 0 0 var(--primary-d), 0 3px 6px rgba(18,118,110,.16); }

/* onsale */
.woocommerce span.onsale, .woocommerce ul.products li.product .onsale {
	background: var(--top-light), var(--coral); color: #fff; border-radius: var(--r-pill); min-height: auto; min-width: auto;
	padding: .3rem .9rem; font-weight: 800; font-size: .76rem; top: 1rem; left: 1rem; right: auto; margin: 0; line-height: 1.3;
	box-shadow: inset 0 1px 0 rgba(255,255,255,.5), 0 3px 0 0 var(--coral-d);
}

/* ---- Single product ---- */
.woocommerce div.product { display: grid; grid-template-columns: minmax(0, 460px) 1fr; align-items: start; gap: clamp(28px, 5vw, 56px); margin-top: 1.5rem; }
.woocommerce div.product .woocommerce-product-gallery { width: 100% !important; float: none !important; margin: 0 !important; max-width: 460px; position: relative; }
/* Image fills the whole square clay frame (product renders are 1:1). */
.woocommerce div.product .woocommerce-product-gallery__wrapper {
	border-radius: var(--r-lg); overflow: hidden; background: #fff;
	box-shadow: 0 10px 0 0 var(--gray-d), 0 20px 36px rgba(22,48,61,.14);
	aspect-ratio: 1 / 1; margin: 0; padding: 0; position: relative;
}
.woocommerce div.product .woocommerce-product-gallery__wrapper > a,
.woocommerce div.product .woocommerce-product-gallery__image,
.woocommerce div.product .woocommerce-product-gallery__image > a { width: 100%; height: 100%; margin: 0; display: block; position: relative; }
.woocommerce div.product div.images img,
.woocommerce div.product .woocommerce-product-gallery img { width: 100% !important; height: 100% !important; object-fit: contain; background: #fff; border-radius: var(--r-lg); margin: 0; display: block; }
/* desktop: magnify cursor over the image + a little breathing room so the bag is never clipped */
.woocommerce div.product .woocommerce-product-gallery__image img { cursor: zoom-in; padding: 5%; box-sizing: border-box; }
/* let clicks pass THROUGH the hover-zoom overlay to the image link → clicking the
   image (not only the magnifier icon) opens the lightbox. */
.woocommerce div.product .woocommerce-product-gallery img.zoomImg { border-radius: 0; pointer-events: none; }
/* lightbox / zoom cue button, top-right of the frame */
.woocommerce div.product .woocommerce-product-gallery__trigger {
	display: flex !important; align-items: center; justify-content: center;
	position: absolute; top: 14px; right: 14px; z-index: 6;
	width: 2.6rem; height: 2.6rem; border-radius: 50%; background: #fff; font-size: 0;
	box-shadow: 0 4px 0 0 var(--gray-d), 0 8px 14px rgba(22,48,61,.14); text-indent: 0;
}
.woocommerce div.product .woocommerce-product-gallery__trigger::after {
	content: ""; width: 1.05rem; height: 1.05rem; border: 2.5px solid var(--primary-d);
	border-radius: 50%; position: relative;
}
.woocommerce div.product .woocommerce-product-gallery__trigger::before {
	content: ""; position: absolute; bottom: 12px; right: 11px; width: 2px; height: 8px;
	background: var(--primary-d); border-radius: 2px; transform: rotate(-45deg); z-index: 1;
}
.woocommerce div.product .summary { margin: 0 !important; width: 100% !important; float: none !important; }
.woocommerce div.product .product_title { font-size: clamp(1.7rem, 3.2vw, 2.3rem); font-weight: 900; margin-bottom: .6rem; color: var(--ink); }
.woocommerce div.product p.price, .woocommerce div.product span.price {
	display: inline-block; color: var(--primary-d); font-weight: 900; font-size: 2rem; line-height: 1.1;
	background: #E3F5F3; padding: .55rem 1.1rem; border-radius: var(--r-md); margin: .2rem 0 1.1rem;
	box-shadow: inset 0 1px 0 rgba(255,255,255,.7), 0 4px 0 0 #BDE9E5;
}
.woocommerce div.product p.price .price-suffix { display: block; font-size: .8rem; font-weight: 700; color: var(--muted); margin-top: .15rem; }
.woocommerce div.product .woocommerce-product-details__short-description { color: var(--body); font-size: 1.05rem; font-weight: 600; }
.woocommerce div.product .woocommerce-product-details__short-description p { margin-bottom: .6rem; }
/* no default bullets in the short description */
.woocommerce div.product .woocommerce-product-details__short-description ul,
.woocommerce div.product .woocommerce-product-details__short-description ol { list-style: none; padding-left: 0; margin: .4rem 0; }
.woocommerce div.product .woocommerce-product-details__short-description li { margin-bottom: .3rem; }
/* the price suffix note only belongs on the main product price */
.woocommerce ul.products .price-suffix, .woocommerce .related .price-suffix, .woocommerce .up-sells .price-suffix { display: none !important; }

.woocommerce div.product form.cart, .single-product .single_add_to_cart_button, .woocommerce div.product .stock { display: none !important; }

/* Devis panel */
.devis-panel { margin: 1.4rem 0; background: #fff; border-radius: var(--r-lg); padding: 1.6rem; box-shadow: var(--sh-card); }
.devis-panel h3 { font-size: 1.3rem; font-weight: 800; margin-bottom: .4rem; color: var(--ink); }
.devis-panel p.devis-sub { color: var(--muted); margin-bottom: 1rem; font-weight: 600; }
.devis-reassure { display: flex; flex-wrap: wrap; gap: .6rem 1.2rem; margin-top: 1rem; }
.devis-reassure span { display: inline-flex; align-items: center; gap: .4rem; font-size: .85rem; font-weight: 800; color: var(--ink); }
.devis-reassure svg { width: 1.05rem; height: 1.05rem; color: var(--green-d); }

.product-services { margin-top: 1.2rem; display: grid; grid-template-columns: repeat(3, 1fr); gap: .8rem; }
.product-service { display: flex; align-items: center; gap: .6rem; background: #fff; border-radius: var(--r-sm); padding: .85rem; font-weight: 800; font-size: .85rem; color: var(--ink); box-shadow: 0 4px 0 0 var(--gray-d), 0 8px 14px rgba(22,48,61,.08); }
.product-service svg { width: 1.4rem; height: 1.4rem; color: var(--primary-d); flex: none; }

.woocommerce div.product .product_meta { font-size: .85rem; color: var(--muted); margin-top: 1.2rem; font-weight: 600; }
.woocommerce div.product .product_meta a { color: var(--primary-d); }

/* Tabs */
.woocommerce div.product .woocommerce-tabs { grid-column: 1 / -1; margin-top: 1rem; }
.woocommerce div.product .woocommerce-tabs ul.tabs { padding: 0; margin: 0 0 1.5rem; display: flex; flex-wrap: wrap; justify-content: center; gap: .5rem; list-style: none; }
.woocommerce div.product .woocommerce-tabs ul.tabs li { list-style: none; }
.woocommerce div.product .woocommerce-tabs ul.tabs::before { display: none; }
.woocommerce div.product .woocommerce-tabs ul.tabs li { background: #fff; border: 0; border-radius: var(--r-pill); box-shadow: 0 4px 0 0 var(--gray-d); padding: 0; }
.woocommerce div.product .woocommerce-tabs ul.tabs li::before, .woocommerce div.product .woocommerce-tabs ul.tabs li::after { display: none; }
.woocommerce div.product .woocommerce-tabs ul.tabs li a { color: var(--ink); font-weight: 800; padding: .6rem 1.3rem; }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active { background: var(--top-light), var(--primary); box-shadow: 0 4px 0 0 var(--primary-d); }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a { color: #fff; }
.woocommerce div.product .woocommerce-Tabs-panel { background: #fff; border-radius: var(--r-lg); padding: 1.8rem; box-shadow: var(--sh-card); }
.woocommerce div.product .woocommerce-Tabs-panel h2 { font-size: 1.4rem; }
/* Description tab: drop the default disc bullets, use a clean custom marker. */
.woocommerce div.product .woocommerce-Tabs-panel ul, .woocommerce div.product .wc-tab ul { list-style: none; padding-left: 0; margin: .6rem 0 1.2rem; }
.woocommerce div.product .woocommerce-Tabs-panel ul li, .woocommerce div.product .wc-tab ul li { position: relative; padding-left: 1.35rem; margin-bottom: .4rem; }
.woocommerce div.product .woocommerce-Tabs-panel ul li::before, .woocommerce div.product .wc-tab ul li::before { content: ""; position: absolute; left: 2px; top: .62em; width: 7px; height: 7px; border-radius: 50%; background: var(--primary); }
.woocommerce div.product .woocommerce-Tabs-panel table { width: 100%; border-collapse: separate; border-spacing: 0; }
.woocommerce div.product .woocommerce-Tabs-panel th, .woocommerce div.product .woocommerce-Tabs-panel td { padding: .6rem .9rem; border-bottom: 1px solid #EEF0F6; text-align: left; }

/* Related */
.woocommerce .related.products, .woocommerce .up-sells { grid-column: 1 / -1; margin-top: clamp(36px,5vw,64px); }
.woocommerce .related.products > h2, .woocommerce .up-sells > h2 { font-size: clamp(1.5rem,3vw,2rem); font-weight: 900; margin-bottom: 1.4rem; text-align: center; }

.woocommerce .woocommerce-breadcrumb { margin-bottom: 1.2rem; font-size: .86rem; color: var(--muted); font-weight: 600; }
.woocommerce .woocommerce-breadcrumb a { color: var(--primary-d); }
.woocommerce .star-rating span::before, .woocommerce p.stars a::before { color: var(--yellow-d); }

.single-devis-band { grid-column: 1 / -1; margin-top: clamp(28px,4vw,48px); }
.single-devis-band .devis-panel { max-width: 820px; margin: 0 auto; }

/* Devis form layout */
.ms-hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.devis-row { display: grid; grid-template-columns: 1fr 1fr; gap: 0 1rem; }
.devis-product-tag { display: inline-flex; align-items: center; gap: .5rem; background: #E3F5F3; color: var(--primary-d); font-weight: 800; padding: .5rem 1rem; border-radius: var(--r-pill); margin-bottom: 1rem; font-size: .9rem; }
.devis-product-tag svg { width: 1.1rem; height: 1.1rem; }
.devis-error { background: #FEE2E2; color: var(--coral-d); padding: .9rem 1.2rem; border-radius: var(--r-sm); font-weight: 700; margin-bottom: 1rem; }
.devis-success { text-align: center; padding: clamp(1.6rem, 4vw, 2.6rem); }
.devis-success .clay-orb { margin: 0 auto 1rem; }
.devis-success h3 { font-size: 1.5rem; }
.devis-success p { color: var(--muted); max-width: 42ch; margin: 0 auto; font-weight: 600; }

@media (max-width: 1024px) {
	.woocommerce ul.products, .woocommerce-page ul.products { grid-template-columns: repeat(2, 1fr); }
	.woocommerce div.product { grid-template-columns: 1fr; justify-items: center; }
	.woocommerce div.product .woocommerce-product-gallery { margin: 0 auto !important; }
	.woocommerce div.product .summary { width: 100% !important; max-width: 560px; }
	.product-services { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 680px) {
	.woocommerce ul.products, .woocommerce-page ul.products { grid-template-columns: repeat(2, 1fr); gap: 14px; }
	.woocommerce ul.products li.product .product-inner { padding: .9rem 1rem 1.1rem; }
	.devis-row { grid-template-columns: 1fr; }
	.product-services { grid-template-columns: 1fr; }
	.woocommerce div.product .woocommerce-product-gallery { max-width: 320px; }
	.woocommerce div.product p.price, .woocommerce div.product span.price { font-size: 1.7rem; }
}
@media (max-width: 460px) {
	.woocommerce ul.products, .woocommerce-page ul.products { grid-template-columns: 1fr; }
}
@media (max-width: 420px) { .woocommerce ul.products, .woocommerce-page ul.products { grid-template-columns: 1fr; } }

/* Hide plugin clutter not used in the devis flow */
.single-product .summary [class*="yith-wcwl"], .woocommerce ul.products li.product [class*="yith-wcwl"] { display: none !important; }
.single-product .woocommerce-product-details__short-description .maxbutton, .single-product .summary .maxbutton-demande-de-devis { display: none !important; }

/* ============================================================
   Category / shop archive — styled clay header + SEO moved down
   ============================================================ */
.cat-hero { margin: .5rem 0 2rem; }
.cat-hero-card {
	background: var(--top-light), #fff; border-radius: var(--r-lg);
	padding: clamp(1.6rem, 4vw, 2.8rem); text-align: center; max-width: 860px; margin: 0 auto;
	box-shadow: 0 8px 0 0 var(--gray-d), 0 16px 30px rgba(22,48,61,.10);
}
.cat-hero-card .eyebrow { margin-bottom: 1rem; }
.cat-hero-title { font-size: clamp(1.9rem, 4.4vw, 2.9rem); font-weight: 900; color: var(--ink); margin: .1rem 0 .5rem; line-height: 1.08; }
.cat-hero-sub { color: var(--muted); font-weight: 600; max-width: 62ch; margin: 0 auto 1.2rem; font-size: 1.05rem; }
.cat-chips { display: flex; flex-wrap: wrap; justify-content: center; gap: .5rem; }
.cat-chip { display: inline-flex; align-items: center; gap: .4rem; font-size: .84rem; font-weight: 800; color: var(--primary-d); background: #E3F5F3; padding: .5em 1em; border-radius: var(--r-pill); box-shadow: inset 0 1px 0 rgba(255,255,255,.7); }
.cat-chip svg { width: 1.1em; height: 1.1em; }

.cat-seo { margin: 3rem 0 0; }
.cat-seo-card { max-width: 920px; margin: 0 auto; padding: clamp(1.5rem, 3.5vw, 2.6rem); background: #fff; border-radius: var(--r-lg); box-shadow: var(--sh-soft); }
.cat-seo-h { font-size: 1.35rem; font-weight: 800; color: var(--ink); margin: 0 0 1rem; }

/* ---- Multi-image product gallery (flexslider slider active) ---- */
.woocommerce div.product .flex-viewport {
	border-radius: var(--r-lg); overflow: hidden; background: #fff; position: relative;
	box-shadow: 0 10px 0 0 var(--gray-d), 0 20px 36px rgba(22,48,61,.14); aspect-ratio: 1/1;
}
.woocommerce div.product .flex-viewport .woocommerce-product-gallery__wrapper {
	aspect-ratio: auto; border-radius: 0; box-shadow: none; background: none; height: 100%; margin: 0;
}
.woocommerce div.product .flex-control-thumbs {
	display: flex; flex-wrap: wrap; gap: .6rem; margin: .9rem 0 0; padding: 0; list-style: none;
}
.woocommerce div.product .flex-control-thumbs li { width: 64px; margin: 0; }
.woocommerce div.product .flex-control-thumbs img {
	border-radius: var(--r-sm); cursor: pointer; opacity: .55; aspect-ratio: 1/1; object-fit: contain;
	width: 100%; height: auto; background: #fff; padding: 6%; box-sizing: border-box; box-shadow: 0 3px 0 0 var(--gray-d); transition: opacity .12s;
}
.woocommerce div.product .flex-control-thumbs img.flex-active,
.woocommerce div.product .flex-control-thumbs img:hover { opacity: 1; }

/* ---- Degressive price block (single product) — prices shown immediately ---- */
.ms-price-block { margin: .2rem 0 1.3rem; }
.ms-price-head { display: flex; align-items: center; gap: .75rem; flex-wrap: wrap; margin-bottom: 1rem; }
.ms-price-badge {
	display: inline-flex; align-items: center; background: var(--primary-d); color: #fff;
	font-weight: 800; font-size: .78rem; letter-spacing: .01em; padding: .42rem .85rem; border-radius: var(--r-pill);
	box-shadow: inset 0 1px 0 rgba(255,255,255,.22), 0 3px 0 0 rgba(18,118,110,.35);
}
.ms-price-main { font-size: 1.55rem; font-weight: 800; color: var(--ink); line-height: 1.1; }
.ms-price-main strong { color: var(--primary-d); font-weight: 900; font-size: 2rem; }
.ms-price-main .ht { font-size: 1rem; font-weight: 700; color: var(--muted); }

.ms-price-grid-card { background: #fff; border-radius: var(--r-lg); padding: 1.1rem 1.2rem 1rem; box-shadow: var(--sh-card); }
.ms-price-grid-title {
	font-size: .78rem; font-weight: 800; letter-spacing: .05em; text-transform: uppercase;
	color: var(--muted); margin-bottom: .85rem;
}
.ms-price-tiles { display: grid; grid-template-columns: repeat(4, 1fr); gap: .55rem; }
.ms-tile {
	background: #E3F5F3; border: 2px solid transparent; border-radius: var(--r-md);
	padding: .7rem .45rem; text-align: center; display: flex; flex-direction: column; gap: .18rem;
}
.ms-tile.is-ref { background: #fff; border-color: var(--primary); box-shadow: 0 3px 0 0 var(--gray-d); }
.ms-tile-qty { font-size: .76rem; font-weight: 700; color: var(--muted); }
.ms-tile-price { font-size: 1.15rem; font-weight: 900; color: var(--ink); font-variant-numeric: tabular-nums; }
.ms-tile-ref { font-size: .7rem; font-weight: 700; color: var(--muted); text-transform: none; }
.ms-tile-off { font-size: .82rem; font-weight: 800; color: var(--primary-d); }
.ms-price-note { margin: .85rem 0 0; font-size: .78rem; line-height: 1.4; color: var(--muted); font-weight: 600; }

@media (max-width: 560px) {
	.ms-price-tiles { grid-template-columns: repeat(2, 1fr); }
	.ms-price-main { font-size: 1.35rem; }
	.ms-price-main strong { font-size: 1.7rem; }
}

/* Origine impression — single product */
.ms-origin { display: inline-flex; align-items: center; gap: .55rem; margin: -.2rem 0 1rem; padding: .42rem .85rem; border-radius: 999px; background: #fff; box-shadow: var(--sh-card); font-size: .9rem; font-weight: 700; color: var(--ink); }
.ms-origin strong { font-weight: 900; color: var(--primary-d); }
.ms-origin-flag { display: inline-flex; width: 22px; height: 15px; border-radius: 3px; overflow: hidden; box-shadow: 0 0 0 1px rgba(0,0,0,.08); }
.ms-origin-flag i { flex: 1; }
.ms-origin-flag i:nth-child(1) { background: #0055A4; }
.ms-origin-flag i:nth-child(2) { background: #fff; }
.ms-origin-flag i:nth-child(3) { background: #EF4135; }
.ms-price-ft { font-weight: 800; color: var(--primary-d); white-space: nowrap; }

/* TOTEBAGEXPRESS packs */
.ms-tbx-badge { background: var(--ink); }
.ms-tbx-allin { font-weight: 800; color: var(--primary-d); }
.ms-tbx-main { display: flex; justify-content: space-between; align-items: flex-end; gap: 1rem; flex-wrap: wrap; padding-bottom: .9rem; margin-bottom: .9rem; border-bottom: 2px solid #EEF0F6; }
.ms-tbx-qty { display: block; font-size: .85rem; font-weight: 800; color: var(--muted); text-transform: uppercase; letter-spacing: .04em; }
.ms-tbx-total { display: block; font-size: 2.1rem; font-weight: 900; color: var(--primary-d); line-height: 1.1; }
.ms-tbx-total small { font-size: 1rem; color: var(--muted); font-weight: 700; }
.ms-tbx-unit { font-size: 1rem; font-weight: 700; color: var(--ink); }
.ms-tbx-unit strong { font-weight: 900; }
.ms-tbx-packs { display: grid; grid-template-columns: repeat(auto-fill, minmax(84px, 1fr)); gap: .5rem; }
.ms-tbx-pack { display: flex; flex-direction: column; align-items: center; gap: .1rem; padding: .55rem .3rem; border-radius: 14px; background: var(--bg); border: 2px solid transparent; text-decoration: none; color: var(--ink); transition: transform .15s; }
.ms-tbx-pack:hover { transform: translateY(-2px); border-color: var(--primary); }
.ms-tbx-pack .q { font-size: .75rem; font-weight: 800; color: var(--muted); }
.ms-tbx-pack .p { font-size: 1.05rem; font-weight: 900; font-variant-numeric: tabular-nums; }
.ms-tbx-pack .u { font-size: .65rem; font-weight: 700; color: var(--muted); }
.ms-tbx-pack.is-current { background: #fff; border-color: var(--primary); box-shadow: 0 3px 0 0 var(--gray-d); }
.ms-tbx-loop { display: block; font-size: .78rem; font-weight: 700; color: var(--muted); }
.ms-tbx-fields { border: 0; padding: 0; margin: 0 0 1.1rem; }
.ms-tbx-fields legend { font-weight: 800; color: var(--ink); margin-bottom: .5rem; font-size: .95rem; }
.ms-choice { display: flex; align-items: flex-start; gap: .6rem; font-weight: 700; margin-bottom: .55rem; cursor: pointer; }
.ms-choice input { width: auto; margin-top: .25rem; accent-color: var(--primary); }
.ms-choice small { color: var(--muted); font-weight: 600; }
.ms-logo-file { margin: 0 0 .8rem 1.7rem; }
.ms-logo-file input[type=file] { padding: .6rem; background: #fff; }
.ms-help { display: block; margin-top: .35rem; color: var(--muted); font-size: .8rem; font-weight: 600; }
.main-navigation .mega-tbx { display: block; margin-bottom: .6rem; padding: .6rem .8rem; border-radius: 14px; background: var(--ink); color: #fff; text-decoration: none; transition: background .15s, transform .15s; }
.main-navigation .mega-tbx:hover, .main-navigation .mega-tbx:focus-visible { background: var(--primary-d); color: #fff; transform: translateY(-1px); }
.mega-tbx strong { display: block; font-weight: 900; letter-spacing: .02em; }
.mega-tbx span { display: block; font-size: .78rem; font-weight: 600; opacity: .85; }

/* TBX : 7 packs sur une ligne (desktop), 4 + 3 sur mobile */
.ms-tbx-packs { grid-template-columns: repeat(7, minmax(0, 1fr)); gap: .4rem; }
.ms-tbx-pack { padding: .5rem .15rem; }
.ms-tbx-pack .p { font-size: .95rem; white-space: nowrap; }
@media (max-width: 640px) { .ms-tbx-packs { grid-template-columns: repeat(4, minmax(0, 1fr)); } }

/* Mention stock sous la grille de prix */
.ms-price-stock { margin: .35rem 0 0; font-size: .74rem; line-height: 1.4; color: var(--muted); font-style: italic; }
