/* Teknoboutik Product Pages — consolidated CSS v1.3.92
 * Order preserved: product-design-v7 -> product-finishing -> product-system.
 */
/* Cacheable legacy product-page compatibility layer. */
body.tkb-product-design-v7 {
				--tkb-orange: #ff9900;
				--tkb-orange-hover: #e68800;
				--tkb-black: #151515;
				--tkb-dark: #272727;
				--tkb-grey: #747a82;
				--tkb-soft: #fbfbfb;
				--tkb-border: #dde1e4;
				--tkb-green: #38a960;
				--tkb-white: #ffffff;
			}
			body.tkb-product-design-v7 *,
			body.tkb-product-design-v7 *::before,
			body.tkb-product-design-v7 *::after {
				box-sizing: border-box;
			}
			/* Fil d'Ariane */
			body.tkb-product-design-v7 .woocommerce-breadcrumb {
				margin: 0 !important;
				padding: 15px 0 20px !important;
				color: #858a91 !important;
				font-size: 12px !important;
				line-height: 1.55 !important;
			}
			body.tkb-product-design-v7 .woocommerce-breadcrumb a {
				color: #62676e !important;
				text-decoration: none !important;
			}
			body.tkb-product-design-v7 .woocommerce-breadcrumb a:hover {
				color: var(--tkb-orange, #ff9900) !important;
			}
			body.tkb-product-design-v7 .woocommerce-breadcrumb.tkbpp-breadcrumb-aligned {
				box-sizing: border-box;
				min-width: 0;
			}
			/* Colonnes principales */
			body.tkb-product-design-v7 .tkb-product-hero-row {
				display: flex !important;
				align-items: flex-start !important;
				gap: clamp(30px, 3.4vw, 46px) !important;
				padding-top: 0 !important;
			}
			body.tkb-product-design-v7
			.tkb-product-hero-row
			> .tkb-product-gallery-column,
			body.tkb-product-design-v7
			.tkb-product-hero-row
			> .tkb-product-info-column {
				align-self: flex-start !important;
				margin-top: 0 !important;
				padding-top: 0 !important;
			}
			body.tkb-product-design-v7
			.tkb-product-hero-row
			> .tkb-product-gallery-column {
				width: 42% !important;
				margin-right: 0 !important;
			}
			body.tkb-product-design-v7
			.tkb-product-hero-row
			> .tkb-product-info-column {
				width: 58% !important;
				margin-right: 0 !important;
			}
			body.tkb-product-design-v7
			.tkb-product-info-column
			> .et_pb_module:first-child,
			body.tkb-product-design-v7
			.tkb-product-info-column
			> .et_pb_wc_title:first-child {
				margin-top: 0 !important;
				padding-top: 0 !important;
			}
			/* Galerie */
			body.tkb-product-design-v7
			.tkb-product-gallery-column
			.woocommerce-product-gallery {
				position: relative;
				float: none !important;
				width: 100% !important;
				max-width: 100% !important;
				margin: 0 auto !important;
			}
			body.tkb-product-design-v7
			.tkb-product-gallery-column
			.et_pb_wc_images {
				margin-bottom: 0 !important;
			}
			body.tkb-product-design-v7:not(.tkbpp-native-product)
			.woocommerce-product-gallery__trigger,
			body.tkb-product-design-v7:not(.tkbpp-native-product)
			.woocommerce-product-gallery .zoomImg {
				display: none !important;
			}
			body.tkb-product-design-v7:not(.tkbpp-native-product)
			.woocommerce-product-gallery__image > a {
				pointer-events: none !important;
				cursor: default !important;
			}
			body.tkb-product-design-v7
			.woocommerce-product-gallery__image img {
				cursor: default !important;
			}
			body.tkb-product-design-v7
			.tkb-product-gallery-column
			.woocommerce-product-gallery__wrapper,
			body.tkb-product-design-v7
			.tkb-product-gallery-column
			.woocommerce-product-gallery .flex-viewport {
				overflow: hidden !important;
				background: #f4f4f4;
				border: 1px solid var(--tkb-border);
				border-radius: 5px !important;
				box-shadow: 0 10px 25px rgba(0, 0, 0, .045);
			}
			/* Le rayon est appliqué à chaque slide pour rester identique
			 * lorsque l'on change de photo dans la galerie. */
			body.tkb-product-design-v7
			.tkb-product-gallery-column
			.woocommerce-product-gallery__image,
			body.tkb-product-design-v7
			.tkb-product-gallery-column
			.woocommerce-product-gallery__image > a,
			body.tkb-product-design-v7
			.tkb-product-gallery-column
			.woocommerce-product-gallery__image img {
				border-radius: 5px !important;
			}
			body.tkb-product-design-v7
			.tkb-product-gallery-column
			.woocommerce-product-gallery__image {
				overflow: hidden !important;
			}
			/* Les miniatures WooCommerce restent dans le DOM pour piloter le slider,
			 * mais sont remplacées visuellement par des pastilles cliquables. */
			body.tkb-product-design-v7
			.tkb-product-gallery-column
			.flex-control-thumbs {
				position: absolute !important;
				width: 1px !important;
				height: 1px !important;
				margin: 0 !important;
				padding: 0 !important;
				overflow: hidden !important;
				opacity: 0 !important;
				clip-path: inset(50%) !important;
				pointer-events: none !important;
			}
			body.tkb-product-design-v7 .tkb-gallery-dots {
				position: absolute;
				left: 13px;
				bottom: 13px;
				z-index: 30;
				display: flex;
				align-items: center;
				justify-content: flex-start;
				gap: 7px;
				min-height: 28px;
				padding: 6px 9px;
				background: rgba(18, 18, 18, .64);
				border: 1px solid rgba(255, 255, 255, .18);
				border-radius: 999px;
				box-shadow: 0 4px 15px rgba(0, 0, 0, .18);
				transform: none;
				backdrop-filter: blur(4px);
			}
			body.tkb-product-design-v7 .tkb-gallery-dot {
				display: block;
				width: 8px;
				height: 8px;
				margin: 0;
				padding: 0;
				background: rgba(255, 255, 255, .66);
				border: 0;
				border-radius: 50%;
				box-shadow: 0 0 0 1px rgba(0, 0, 0, .12);
				cursor: pointer;
				transition: transform .16s ease, background .16s ease;
			}
			body.tkb-product-design-v7 .tkb-gallery-dot:hover,
			body.tkb-product-design-v7 .tkb-gallery-dot:focus-visible {
				background: #fff;
				transform: scale(1.18);
				outline: none;
			}
			body.tkb-product-design-v7 .tkb-gallery-dot.is-active {
				background: var(--tkb-orange, #ff9900);
				box-shadow: 0 0 0 3px rgba(242, 160, 0, .22);
				transform: scale(1.12);
			}
			/* Titre */
			body.tkb-product-design-v7
			.tkb-product-info-column
			.et_pb_wc_title {
				margin-bottom: 14px !important;
			}
			body.tkb-product-design-v7
			.tkb-product-info-column
			h1.product_title,
			body.tkb-product-design-v7
			.tkb-product-info-column
			.et_pb_wc_title h1 {
				margin: 0 !important;
				padding: 0 !important;
				color: var(--tkb-black) !important;
				font-size: 32px !important;
				font-weight: 780 !important;
				line-height: 1.08 !important;
				letter-spacing: -.023em !important;
				overflow-wrap: anywhere;
			}
			body.tkb-product-design-v7 .tkb-title-long {
				font-size: 29px !important;
			}
			body.tkb-product-design-v7 .tkb-title-very-long {
				font-size: 26px !important;
			}
			/* Informations Disconnect */
			body.tkb-product-design-v7 .tkb-product-identity {
				margin: 0 0 19px;
				padding: 15px 17px;
				background: #fcfcfc;
				border: 1px solid #dfe3e6;
				border-left: 3px solid var(--tkb-orange, #ff9900);
				border-radius: 6px;
			}
			body.tkb-product-design-v7 .tkb-product-identity-main,
			body.tkb-product-design-v7 .tkb-product-identity-details {
				display: grid;
				gap: 6px;
			}
			body.tkb-product-design-v7 .tkb-product-identity-details {
				margin-top: 11px;
				padding-top: 10px;
				border-top: 1px solid #e1e1e1;
			}
			body.tkb-product-design-v7 .tkb-product-identity-row {
				display: grid;
				grid-template-columns: 78px minmax(0, 1fr);
				align-items: baseline;
				gap: 9px;
			}
			body.tkb-product-design-v7 .tkb-product-identity-label {
				color: #6f7881;
				font-size: 9px;
				font-weight: 850;
				letter-spacing: .075em;
				text-transform: uppercase;
			}
			body.tkb-product-design-v7 .tkb-product-identity-value {
				color: var(--tkb-dark);
				font-size: 14px;
				font-weight: 680;
				line-height: 1.35;
			}
			body.tkb-product-design-v7
			.tkb-product-identity-row--artist
			.tkb-product-identity-value {
				font-size: 17px;
				font-weight: 800;
			}
			body.tkb-product-design-v7
			.tkb-product-identity-value a {
				color: inherit !important;
				text-decoration: none !important;
				border-bottom: 1px solid rgba(242, 160, 0, .48);
			}
			body.tkb-product-design-v7
			.tkb-product-identity-value a:hover {
				color: var(--tkb-orange-hover, #e68800) !important;
			}
			body.tkb-product-design-v7
			.tkb-product-identity-row--release
			.tkb-product-identity-value {
				color: #5d646b;
				font-weight: 750;
			}
			body.tkb-product-design-v7 .tkb-product-condition {
				margin-top: 10px;
				padding-top: 9px;
				color: #737981;
				border-top: 1px solid #e1e1e1;
				font-size: 10px;
			}
			body.tkb-product-design-v7 .tkb-product-listing-comment {
				display: block;
				margin-top: 9px;
				padding: 9px 10px;
				color: #3f454b;
				background: #fff8eb;
				border: 1px solid #efd7ac;
				border-left: 3px solid var(--tkb-orange, #ff9900);
				border-radius: 6px;
				font-size: 11px;
				line-height: 1.45;
			}
			body.tkb-product-design-v7 .tkb-product-listing-comment__label {
				display: block;
				margin: 0 0 3px;
				color: #915900;
				font-size: 9px;
				font-weight: 850;
				letter-spacing: .065em;
				text-transform: uppercase;
			}
			body.tkb-product-design-v7 .tkb-product-listing-comment__text {
				display: block;
				font-weight: 650;
				overflow-wrap: anywhere;
			}
			body.tkb-product-design-v7 .tkb-track-origins {
				margin-top: 9px;
				padding-top: 9px;
				border-top: 1px solid #e1e4e6;
			}
			body.tkb-product-design-v7 .tkb-track-origins__label {
				display: block;
				margin: 0 0 7px;
				color: #737b83;
				font-size: 9px;
				font-weight: 850;
				letter-spacing: .07em;
				text-transform: uppercase;
			}
			body.tkb-product-design-v7 .tkb-track-origins__list {
				display: grid;
				grid-template-columns: repeat(2, minmax(0, 1fr));
				gap: 6px 10px;
			}
			body.tkb-product-design-v7 .tkb-track-origin {
				display: flex;
				min-width: 0;
				align-items: baseline;
				gap: 6px;
				padding: 5px 7px;
				background: #f7f8f9;
				border: 1px solid #e8eaec;
				border-radius: 5px;
				color: #555d65;
				font-size: 10px;
				line-height: 1.35;
			}
			body.tkb-product-design-v7 .tkb-track-origin strong {
				flex: 0 0 auto;
				color: var(--tkb-orange-hover, #e68800);
				font-size: 9px;
				font-weight: 900;
			}
			body.tkb-product-design-v7 .tkb-track-origin > span {
				min-width: 0;
			}
			body.tkb-product-design-v7 .tkb-internal-release-link {
				color: #2f353a !important;
				font-weight: 750;
				text-decoration: none !important;
				border-bottom: 1px solid rgba(255, 153, 0, .48);
			}
			body.tkb-product-design-v7 .tkb-internal-release-link:hover {
				color: var(--tkb-orange-hover, #e68800) !important;
			}
			@media (max-width: 560px) {
				body.tkb-product-design-v7 .tkb-track-origins__list {
					grid-template-columns: 1fr;
				}
			}
			body.tkb-product-design-v7 .tkb-product-release-notes {
				display: -webkit-box;
				margin-top: 8px;
				padding-top: 8px;
				overflow: hidden;
				color: #687078;
				border-top: 1px solid #e1e4e6;
				font-size: 10px;
				font-weight: 500;
				line-height: 1.45;
				-webkit-box-orient: vertical;
				-webkit-line-clamp: 3;
			}
			body.tkb-product-design-v7 .tkb-country-flag {
				display: inline-block;
				margin-right: 6px;
				font-size: 16px;
				line-height: 1;
				vertical-align: -2px;
			}
			/* Prix et stock */
			body.tkb-product-design-v7 .tkb-price-stock-row {
				display: flex !important;
				align-items: center !important;
				justify-content: space-between !important;
				gap: 16px;
				width: 100%;
				margin: 0 0 13px !important;
			}
			body.tkb-product-design-v7
			.tkb-price-stock-row
			.et_pb_wc_price {
				margin: 0 !important;
			}
			body.tkb-product-design-v7
			.tkb-price-stock-row
			.price {
				display: flex !important;
				flex-wrap: wrap;
				align-items: baseline;
				gap: 8px;
				margin: 0 !important;
				color: var(--tkb-orange, #ff9900) !important;
				font-size: 31px !important;
				font-weight: 700 !important;
				line-height: 1 !important;
				letter-spacing: -.01em;
			}
			/* Prix uniforme sur les produits simples et en promotion.
			 * Le prix actuel reste à gauche, l'ancien prix barré passe à droite. */
			body.tkb-product-design-v7
			.tkb-price-stock-row
			.price > .woocommerce-Price-amount,
			body.tkb-product-design-v7
			.tkb-price-stock-row
			.price ins {
				display: inline-flex !important;
				align-items: center;
				order: 1;
				min-height: 42px;
				padding: 7px 13px;
				color: #a85f00 !important;
				background: #fff8ea !important;
				border: 1px solid #f3cb7d;
				border-radius: 999px;
				font-size: 31px !important;
				font-weight: 700 !important;
				line-height: 1 !important;
				letter-spacing: -.01em;
				text-decoration: none !important;
			}
			body.tkb-product-design-v7
			.tkb-price-stock-row
			.price del {
				order: 2;
				color: #969ba1 !important;
				font-size: 15px !important;
				font-weight: 500 !important;
				line-height: 1 !important;
				opacity: .82;
				text-decoration-thickness: 1.3px;
			}
			body.tkb-product-design-v7
			.tkb-price-stock-row
			.price ins .woocommerce-Price-amount,
			body.tkb-product-design-v7
			.tkb-price-stock-row
			.price ins .woocommerce-Price-currencySymbol {
				min-height: 0 !important;
				padding: 0 !important;
				color: inherit !important;
				background: transparent !important;
				border: 0 !important;
				border-radius: 0 !important;
				font-size: inherit !important;
				font-weight: inherit !important;
			}
			body.tkb-product-design-v7
			.tkb-price-stock-row
			.price del .woocommerce-Price-amount,
			body.tkb-product-design-v7
			.tkb-price-stock-row
			.price del .woocommerce-Price-currencySymbol {
				color: inherit !important;
				font-size: inherit !important;
				font-weight: inherit !important;
			}
			body.tkb-product-design-v7 .tkb-stock-display {
				display: inline-flex !important;
				align-items: center;
				gap: 7px;
				margin-left: auto !important;
				padding: 7px 11px !important;
				color: #307047 !important;
				background: #edf8f1;
				border: 1px solid #cce8d6;
				border-radius: 999px;
				font-size: 11px !important;
				font-weight: 800 !important;
				white-space: nowrap;
			}
			body.tkb-product-design-v7 .tkb-stock-display::before {
				content: "";
				width: 7px;
				height: 7px;
				background: var(--tkb-green);
				border-radius: 50%;
				box-shadow: 0 0 0 3px rgba(56, 169, 96, .13);
			}
			body.tkb-product-design-v7
			.tkb-stock-display.tkb-last-copy {
				color: #a96100 !important;
				background: #fff6e5;
				border-color: #f0d39a;
			}
			body.tkb-product-design-v7
			.tkb-stock-display.tkb-last-copy::before {
				background: var(--tkb-orange, #ff9900);
			}
			body.tkb-product-design-v7 .tkb-original-stock {
				position: absolute !important;
				width: 1px !important;
				height: 1px !important;
				overflow: hidden !important;
				clip-path: inset(50%) !important;
			}
			/* Options merchandising */
			body.tkb-product-design-v7
			form.cart.tkb-purchase-layout-ready {
				display: block !important;
				width: 100% !important;
				margin: 0 !important;
			}
			body.tkb-product-design-v7 .tkb-product-options-area {
				display: block !important;
				width: 100% !important;
				margin: 0 0 14px !important;
			}
			body.tkb-product-design-v7 table.variations {
				width: 100% !important;
				margin: 0 0 14px !important;
				padding: 13px !important;
				background: var(--tkb-soft);
				border: 1px solid var(--tkb-border);
				border-radius: 7px;
			}
			body.tkb-product-design-v7 .variable-items-wrapper {
				display: flex !important;
				flex-wrap: wrap !important;
				gap: 8px !important;
			}
			body.tkb-product-design-v7 .variable-item {
				min-width: 43px !important;
				min-height: 39px !important;
				margin: 0 !important;
				padding: 7px 10px !important;
				background: #fff !important;
				border: 1px solid #d6d8db !important;
				border-radius: 5px !important;
				box-shadow: none !important;
			}
			body.tkb-product-design-v7 .variable-item.selected {
				background: #fff7e6 !important;
				border-color: var(--tkb-orange, #ff9900) !important;
			}
			/* Quantité et panier */
			body.tkb-product-design-v7 .tkb-buy-row {
				display: grid !important;
				grid-template-columns: 116px minmax(0, 1fr) !important;
				gap: 10px !important;
				width: 100% !important;
				margin: 0 !important;
			}
			body.tkb-product-design-v7
			.tkb-buy-row
			> .quantity {
				display: grid !important;
				grid-template-columns: 34px minmax(40px, 1fr) 34px;
				width: 116px !important;
				min-width: 116px !important;
				min-height: 50px;
				margin: 0 !important;
				overflow: hidden;
				background: #fff;
				border: 1px solid #d5d7da;
				border-radius: 6px;
			}
			body.tkb-product-design-v7 .quantity .qty {
				width: 100% !important;
				min-height: 48px !important;
				margin: 0 !important;
				padding: 8px 3px !important;
				background: #fff !important;
				border: 0 !important;
				font-size: 16px !important;
				font-weight: 800 !important;
				text-align: center !important;
				-moz-appearance: textfield;
			}
			body.tkb-product-design-v7
			.quantity
			.qty::-webkit-inner-spin-button,
			body.tkb-product-design-v7
			.quantity
			.qty::-webkit-outer-spin-button {
				-webkit-appearance: none;
			}
			body.tkb-product-design-v7 .tkb-qty-button {
				display: flex;
				align-items: center;
				justify-content: center;
				width: 34px;
				min-height: 48px;
				padding: 0;
				color: #41464c;
				background: #f5f5f5;
				border: 0;
				font-size: 18px;
				cursor: pointer;
			}
			body.tkb-product-design-v7
			.tkb-qty-button:hover:not(:disabled) {
				color: #fff;
				background: var(--tkb-orange, #ff9900);
			}
			body.tkb-product-design-v7 .tkb-qty-button:disabled {
				color: #b3b6ba;
				cursor: not-allowed;
			}
			body.tkb-product-design-v7
			.tkb-buy-row
			.single_add_to_cart_button {
				display: flex !important;
				align-items: center !important;
				justify-content: center !important;
				width: 100% !important;
				min-height: 50px !important;
				margin: 0 !important;
				padding: 12px 18px !important;
				color: #111 !important;
				background: var(--tkb-orange, #ff9900) !important;
				border: 1px solid var(--tkb-orange, #ff9900) !important;
				border-radius: 6px !important;
				font-size: 13px !important;
				font-weight: 900 !important;
				text-transform: uppercase;
				filter: none !important;
				opacity: 1 !important;
			}
			body.tkb-product-design-v7
			.tkb-buy-row
			.single_add_to_cart_button:hover {
				color: #fff !important;
				background: var(--tkb-orange-hover, #e68800) !important;
			}
			/* Catégories et étiquettes */
			body.tkb-product-design-v7 .et_pb_wc_meta {
				display: block !important;
				margin: 14px 0 0 !important;
				padding: 0 !important;
				border: 0 !important;
			}
			body.tkb-product-design-v7 .product_meta {
				display: flex !important;
				flex-direction: column;
				gap: 8px;
				margin: 0 !important;
				padding: 12px 0 0 !important;
				border-top: 1px solid #dedfe1 !important;
				font-size: 0;
			}
			body.tkb-product-design-v7
			.product_meta
			.sku_wrapper {
				display: none !important;
			}
			body.tkb-product-design-v7
			.product_meta
			.posted_in,
			body.tkb-product-design-v7
			.product_meta
			.tagged_as {
				display: flex !important;
				flex-wrap: wrap;
				align-items: center;
				gap: 5px;
				font-size: 0;
			}
			body.tkb-product-design-v7
			.product_meta
			.posted_in::before,
			body.tkb-product-design-v7
			.product_meta
			.tagged_as::before {
				flex: 0 0 72px;
				color: #858a91;
				font-size: 9px;
				font-weight: 850;
				letter-spacing: .07em;
				text-transform: uppercase;
			}
			body.tkb-product-design-v7
			.product_meta
			.posted_in::before {
				content: "Catégories";
			}
			body.tkb-product-design-v7
			.product_meta
			.tagged_as::before {
				content: "Étiquettes";
			}
			/* Les formats et styles sont désormais cliquables dans l'encadré principal.
			 * On garde seulement les catégories en bas pour éviter les doublons. */
			body.tkb-product-design-v7
			.product_meta
			.tagged_as {
				display: none !important;
			}
			body.tkb-product-design-v7 .product_meta {
				gap: 0 !important;
			}
			body.tkb-product-design-v7 .product_meta a {
				display: inline-flex !important;
				align-items: center;
				min-height: 24px;
				padding: 4px 8px;
				color: #51575e !important;
				background: #f5f5f5;
				border: 1px solid #e0e2e4;
				border-radius: 4px;
				font-size: 9px !important;
				font-weight: 720;
				text-decoration: none !important;
			}
			body.tkb-product-design-v7 .product_meta a:hover {
				color: #fff !important;
				background: var(--tkb-orange, #ff9900);
				border-color: var(--tkb-orange, #ff9900);
			}
			/* Suppression des contrôles d'onglets Divi/WooCommerce */
			body.tkb-product-design-v7
			.tkb-original-tabs-wrapper {
				display: none !important;
			}
			/* Sections description et informations */
			body.tkb-product-design-v7 .tkb-product-details-stack {
				display: grid;
				gap: 20px;
				clear: both;
				width: 100%;
				margin: 26px auto 0;
			}
			body.tkb-product-design-v7 .tkb-product-section {
				display: block !important;
				width: 100% !important;
				margin: 0 !important;
				padding: 25px 27px !important;
				background: #fff;
				border: 1px solid var(--tkb-border);
				border-radius: 9px;
				box-shadow: 0 7px 24px rgba(20, 25, 30, .04);
			}
			body.tkb-product-design-v7 .tkb-section-header {
				display: flex;
				align-items: flex-end;
				justify-content: space-between;
				gap: 18px;
				margin: 0 0 20px;
				padding: 0 0 13px;
				border-bottom: 1px solid var(--tkb-border);
			}
			body.tkb-product-design-v7 .tkb-section-title {
				margin: 0 !important;
				padding: 0 !important;
				color: var(--tkb-black);
				font-size: 22px !important;
				font-weight: 800 !important;
				line-height: 1.2;
			}
			body.tkb-product-design-v7 .tkb-section-subtitle {
				margin-top: 4px;
				color: #82878e;
				font-size: 12px;
				line-height: 1.4;
			}
			body.tkb-product-design-v7 .tkb-product-section-body {
				color: #444a51;
				font-size: 15px;
				line-height: 1.75;
			}
			body.tkb-product-design-v7
			.tkb-product-section-body p {
				margin: 0 0 13px;
			}
			body.tkb-product-design-v7
			.tkb-product-section-body p:last-child {
				margin-bottom: 0;
			}
			body.tkb-product-design-v7
			.tkb-product-section-body
			table {
				width: 100%;
				margin: 0 !important;
				border-collapse: collapse;
			}
			body.tkb-product-design-v7
			.tkb-product-section-body
			th,
			body.tkb-product-design-v7
			.tkb-product-section-body
			td {
				padding: 11px 12px !important;
				border-bottom: 1px solid #eceef0 !important;
				text-align: left;
			}
			/* Produits similaires : même carte et même largeur que les sections produit. */
			body.tkb-product-design-v7 .related.products.tkb-related-card,
			body.tkb-product-design-v7 .upsells.products.tkb-related-card {
				clear: both;
				width: 100% !important;
				max-width: none !important;
				margin: 24px 0 0 !important;
				padding: 25px 27px !important;
				background: #fff;
				border: 1px solid var(--tkb-border);
				border-radius: 9px;
				box-shadow: 0 7px 24px rgba(20, 25, 30, .04);
			}
			body.tkb-product-design-v7 .tkb-related-card > h2 {
				margin: 0 0 20px !important;
				padding: 0 0 13px !important;
				color: var(--tkb-black) !important;
				border-bottom: 1px solid var(--tkb-border);
				font-size: 22px !important;
				font-weight: 800 !important;
				line-height: 1.2 !important;
			}
			body.tkb-product-design-v7 .tkb-related-card ul.products {
				margin-bottom: 0 !important;
			}
			body.tkb-product-design-v7 .et_pb_row.tkb-details-row,
			body.tkb-product-design-v7 .et_pb_row.tkb-bottom-content-row {
				padding-top: 10px !important;
				padding-bottom: 10px !important;
			}
			/* Avis tout en bas */
			body.tkb-product-design-v7 .tkb-reviews-bottom {
				clear: both;
				width: 100%;
				margin: 24px auto 0;
				padding: 27px;
				background: #fff;
				border: 1px solid var(--tkb-border);
				border-radius: 9px;
				box-shadow: 0 8px 28px rgba(20, 25, 30, .05);
			}
			body.tkb-product-design-v7
			.tkb-reviews-bottom
			#reviews {
				display: grid;
				grid-template-columns: minmax(0, 1.15fr) minmax(320px, .85fr);
				gap: 30px;
			}
			body.tkb-product-design-v7
			.tkb-reviews-bottom.tkb-no-existing-reviews
			#reviews {
				display: block;
			}
			body.tkb-product-design-v7
			.tkb-reviews-bottom.tkb-no-existing-reviews
			#comments {
				margin-bottom: 21px;
			}
			body.tkb-product-design-v7
			.tkb-reviews-bottom
			#comments,
			body.tkb-product-design-v7
			.tkb-reviews-bottom
			#review_form_wrapper {
				float: none !important;
				width: 100% !important;
			}
			body.tkb-product-design-v7
			.tkb-reviews-bottom
			.woocommerce-Reviews-title,
			body.tkb-product-design-v7
			.tkb-reviews-bottom
			> h2 {
				display: none !important;
			}
			body.tkb-product-design-v7
			.tkb-reviews-bottom
			.commentlist {
				margin: 0 !important;
				padding: 0 !important;
			}
			body.tkb-product-design-v7
			.tkb-reviews-bottom
			.commentlist li {
				margin: 0 0 13px !important;
				padding: 16px !important;
				background: #fafafa;
				border: 1px solid var(--tkb-border);
				border-radius: 7px;
			}
			body.tkb-product-design-v7
			.tkb-reviews-bottom
			.commentlist
			img.avatar {
				display: none !important;
			}
			body.tkb-product-design-v7
			.tkb-reviews-bottom
			.comment-text {
				margin: 0 !important;
				padding: 0 !important;
				border: 0 !important;
			}
			body.tkb-product-design-v7
			.tkb-reviews-bottom
			#review_form_wrapper {
				padding: 19px;
				background: #fafafa;
				border: 1px solid var(--tkb-border);
				border-radius: 8px;
			}
			body.tkb-product-design-v7
			.tkb-reviews-bottom.tkb-no-existing-reviews
			#review_form_wrapper {
				max-width: none;
				margin: 0;
			}
			body.tkb-product-design-v7 #reply-title {
				display: block !important;
				margin: 0 0 16px !important;
				color: var(--tkb-black);
				font-size: 18px !important;
				font-weight: 800 !important;
			}
			body.tkb-product-design-v7 #review_form label {
				display: block;
				margin-bottom: 6px;
				color: #34393e;
				font-size: 12px;
				font-weight: 750;
			}
			body.tkb-product-design-v7
			#review_form
			input[type="text"],
			body.tkb-product-design-v7
			#review_form
			textarea,
			body.tkb-product-design-v7
			#review_form
			select {
				width: 100%;
				padding: 11px 12px;
				background: #fff;
				border: 1px solid #d8dade;
				border-radius: 6px;
				color: #272b30;
				font-size: 14px;
				box-shadow: none;
			}
			body.tkb-product-design-v7
			#review_form
			textarea {
				min-height: 130px;
				resize: vertical;
			}
			body.tkb-product-design-v7
			.comment-form-author,
			body.tkb-product-design-v7
			.comment-form-rating,
			body.tkb-product-design-v7
			.comment-form-comment {
				margin: 0 0 14px;
			}
			body.tkb-product-design-v7
			.comment-form-rating
			.stars {
				margin: 7px 0 0 !important;
				font-size: 21px;
			}
			body.tkb-product-design-v7
			.comment-form-rating
			.stars a {
				color: var(--tkb-orange, #ff9900) !important;
			}
			body.tkb-product-design-v7 .tkb-review-emoji-label {
				display: block;
				margin: 0 0 7px;
				color: #7b8086;
				font-size: 10px;
				font-weight: 650;
			}
			body.tkb-product-design-v7 .tkb-review-emojis {
				display: flex;
				flex-wrap: wrap;
				gap: 6px;
				margin: 0 0 9px;
			}
			body.tkb-product-design-v7 .tkb-review-emojis button {
				display: inline-flex;
				align-items: center;
				justify-content: center;
				width: 34px;
				height: 34px;
				padding: 0;
				background: #fff;
				border: 1px solid #dfe2e5;
				border-radius: 7px;
				box-shadow: none;
				font-size: 18px;
				line-height: 1;
				cursor: pointer;
				transition: transform .15s ease, border-color .15s ease, background .15s ease;
			}
			body.tkb-product-design-v7 .tkb-review-emojis button:hover,
			body.tkb-product-design-v7 .tkb-review-emojis button:focus-visible {
				background: #fff7e8;
				border-color: var(--tkb-orange, #ff9900);
				outline: none;
				transform: translateY(-1px);
			}
			body.tkb-product-design-v7 .tkb-review-counter {
				display: block;
				margin-top: 5px;
				color: #858b92;
				font-size: 10px;
				text-align: right;
			}
			body.tkb-product-design-v7
			.tkb-review-counter.is-valid {
				color: #348154;
			}
			body.tkb-product-design-v7 .tkb-review-submit,
			body.tkb-product-design-v7 #review_form #submit,
			body.tkb-product-design-v7 #review_form .form-submit .submit {
				display: flex !important;
				align-items: center !important;
				justify-content: center !important;
				width: 100% !important;
				min-height: 50px !important;
				margin: 0 !important;
				padding: 12px 18px !important;
				color: #111 !important;
				background: var(--tkb-orange, #ff9900) !important;
				background-image: none !important;
				border: 1px solid var(--tkb-orange, #ff9900) !important;
				border-radius: 6px !important;
				box-shadow: none !important;
				font-size: 13px !important;
				font-weight: 900 !important;
				line-height: 1.2 !important;
				text-align: center !important;
				text-transform: uppercase;
				cursor: pointer;
			}
			body.tkb-product-design-v7 .tkb-review-submit:hover,
			body.tkb-product-design-v7 #review_form #submit:hover,
			body.tkb-product-design-v7 #review_form .form-submit .submit:hover {
				color: #fff !important;
				background: var(--tkb-orange-hover, #e68800) !important;
				border-color: var(--tkb-orange-hover, #e68800) !important;
			}
			body.tkb-product-design-v7
			.tkb-review-moderation-note {
				margin: 9px 0 0;
				color: #888d93;
				font-size: 10px;
				text-align: center;
			}
			body.tkb-product-design-v7
			.tkb-review-honeypot {
				position: absolute !important;
				left: -9999px !important;
				width: 1px !important;
				height: 1px !important;
				overflow: hidden !important;
			}
			/* Override final : le bouton d'avis occupe vraiment toute la largeur,
			 * y compris face aux styles WooCommerce et Divi. */
			body.tkb-product-design-v7
			.tkb-reviews-bottom
			#review_form,
			body.tkb-product-design-v7
			.tkb-reviews-bottom
			#respond,
			body.tkb-product-design-v7
			.tkb-reviews-bottom
			form#commentform {
				float: none !important;
				width: 100% !important;
				max-width: none !important;
			}
			body.tkb-product-design-v7
			.tkb-reviews-bottom
			#review_form
			form#commentform
			.form-submit {
				display: block !important;
				float: none !important;
				width: 100% !important;
				max-width: none !important;
				margin: 14px 0 0 !important;
				padding: 0 !important;
			}
			body.tkb-product-design-v7
			.tkb-reviews-bottom
			#review_form
			form#commentform
			.form-submit
			input[type="submit"],
			body.tkb-product-design-v7
			.tkb-reviews-bottom
			#review_form
			form#commentform
			.form-submit
			button[type="submit"],
			body.tkb-product-design-v7
			.tkb-reviews-bottom
			#review_form
			form#commentform
			input#submit {
				display: flex !important;
				float: none !important;
				align-items: center !important;
				justify-content: center !important;
				width: 100% !important;
				min-width: 100% !important;
				max-width: none !important;
				min-height: 52px !important;
				margin: 0 !important;
				padding: 13px 18px !important;
				color: #111 !important;
				background: var(--tkb-orange, #ff9900) !important;
				background-color: var(--tkb-orange, #ff9900) !important;
				background-image: none !important;
				border: 1px solid var(--tkb-orange, #ff9900) !important;
				border-radius: 6px !important;
				box-shadow: none !important;
				font-family: inherit !important;
				font-size: 13px !important;
				font-weight: 900 !important;
				line-height: 1.2 !important;
				letter-spacing: 0 !important;
				text-align: center !important;
				text-shadow: none !important;
				text-transform: uppercase !important;
				-webkit-appearance: none !important;
				appearance: none !important;
				filter: none !important;
				opacity: 1 !important;
			}
			body.tkb-product-design-v7
			.tkb-reviews-bottom
			#review_form
			form#commentform
			.form-submit
			input[type="submit"]:hover,
			body.tkb-product-design-v7
			.tkb-reviews-bottom
			#review_form
			form#commentform
			.form-submit
			button[type="submit"]:hover,
			body.tkb-product-design-v7
			.tkb-reviews-bottom
			#review_form
			form#commentform
			input#submit:hover {
				color: #fff !important;
				background: var(--tkb-orange-hover, #e68800) !important;
				background-color: var(--tkb-orange-hover, #e68800) !important;
				border-color: var(--tkb-orange-hover, #e68800) !important;
			}
			body.tkb-product-design-v7
			.tkb-reviews-bottom
			#review_form
			form#commentform
			.form-submit
			input[type="submit"]::after,
			body.tkb-product-design-v7
			.tkb-reviews-bottom
			#review_form
			form#commentform
			.form-submit
			button[type="submit"]::after {
				display: none !important;
				content: none !important;
			}
			/* Responsive */
			@media (max-width: 980px) {
				body.tkb-product-design-v7 .tkb-product-hero-row {
					flex-direction: column !important;
					gap: 8px !important;
				}
				body.tkb-product-design-v7
				.tkb-product-hero-row
				> .tkb-product-gallery-column,
				body.tkb-product-design-v7
				.tkb-product-hero-row
				> .tkb-product-info-column {
					width: 100% !important;
				}
				body.tkb-product-design-v7
				.tkb-product-gallery-column {
					margin-bottom: 0 !important;
				}
				body.tkb-product-design-v7
				.tkb-product-info-column {
					margin-top: 0 !important;
				}
				body.tkb-product-design-v7
				.tkb-product-gallery-column
				.woocommerce-product-gallery {
					max-width: 100% !important;
				}
				body.tkb-product-design-v7
				.tkb-reviews-bottom
				#reviews {
					grid-template-columns: 1fr;
				}
			}
			@media (max-width: 700px) {
				body.tkb-product-design-v7 .tkb-product-section,
				body.tkb-product-design-v7 .tkb-reviews-bottom,
				body.tkb-product-design-v7 .related.products.tkb-related-card,
				body.tkb-product-design-v7 .upsells.products.tkb-related-card {
					padding: 19px 16px !important;
				}
				body.tkb-product-design-v7 .tkb-section-header {
					align-items: flex-start;
					flex-direction: column;
					gap: 7px;
				}
			}
			@media (max-width: 600px) {
				body.tkb-product-design-v7 .tkb-product-hero-row {
					gap: 6px !important;
				}
				body.tkb-product-design-v7
				.tkb-product-gallery-column
				.et_pb_wc_images,
				body.tkb-product-design-v7
				.tkb-product-info-column
				.et_pb_wc_title {
					margin-top: 0 !important;
					margin-bottom: 8px !important;
				}
				body.tkb-product-design-v7 .tkb-gallery-dots {
					left: 10px;
					bottom: 10px;
					gap: 6px;
					min-height: 26px;
					padding: 5px 8px;
				}
				body.tkb-product-design-v7 .tkb-gallery-dot {
					width: 7px;
					height: 7px;
				}
				body.tkb-product-design-v7 .et_pb_wc_meta {
					margin-top: 12px !important;
				}
				body.tkb-product-design-v7 .product_meta {
					gap: 12px;
					padding-top: 14px !important;
				}
				body.tkb-product-design-v7
				.product_meta
				.posted_in,
				body.tkb-product-design-v7
				.product_meta
				.tagged_as {
					display: flex !important;
					align-items: flex-start;
					gap: 6px;
				}
				body.tkb-product-design-v7
				.product_meta
				.posted_in::before,
				body.tkb-product-design-v7
				.product_meta
				.tagged_as::before {
					display: none !important;
					content: none !important;
				}
				body.tkb-product-design-v7
				.product_meta
				.posted_in,
				body.tkb-product-design-v7
				.product_meta
				.tagged_as {
					gap: 6px 6px;
				}
				body.tkb-product-design-v7 .product_meta a {
					min-height: 27px;
					padding: 6px 9px;
					border-radius: 999px;
					font-size: 10px !important;
					line-height: 1.2;
				}
				body.tkb-product-design-v7 .tkb-product-details-stack {
					gap: 16px;
					margin-top: 20px;
				}
				body.tkb-product-design-v7 .tkb-reviews-bottom,
				body.tkb-product-design-v7 .related.products.tkb-related-card,
				body.tkb-product-design-v7 .upsells.products.tkb-related-card {
					width: 100% !important;
					max-width: none !important;
					margin-top: 18px !important;
				}
				body.tkb-product-design-v7
				.tkb-reviews-bottom
				#review_form_wrapper {
					width: 100% !important;
					max-width: none !important;
					padding: 16px !important;
				}
				body.tkb-product-design-v7
				.tkb-product-info-column
				h1.product_title,
				body.tkb-product-design-v7
				.tkb-product-info-column
				.et_pb_wc_title h1 {
					font-size: 26px !important;
				}
				body.tkb-product-design-v7
				.tkb-title-long,
				body.tkb-product-design-v7
				.tkb-title-very-long {
					font-size: 23px !important;
				}
				body.tkb-product-design-v7
				.tkb-price-stock-row
				.price,
				body.tkb-product-design-v7
				.tkb-price-stock-row
				.price > .woocommerce-Price-amount,
				body.tkb-product-design-v7
				.tkb-price-stock-row
				.price ins {
					font-size: 28px !important;
				}
				body.tkb-product-design-v7
				.tkb-price-stock-row
				.price del {
					font-size: 14px !important;
				}
				body.tkb-product-design-v7 .tkb-buy-row {
					grid-template-columns: 108px minmax(0, 1fr) !important;
				}
				body.tkb-product-design-v7
				.tkb-buy-row
				> .quantity {
					width: 108px !important;
					min-width: 108px !important;
					grid-template-columns: 32px minmax(36px, 1fr) 32px;
				}
			}
			@media (max-width: 380px) {
				body.tkb-product-design-v7 .tkb-buy-row {
					grid-template-columns: 1fr !important;
				}
				body.tkb-product-design-v7
				.tkb-buy-row
				> .quantity {
					width: 100% !important;
					min-width: 100% !important;
				}
			}
			/* Override final : les étiquettes restent masquées sur toutes les tailles. */
			body.tkb-product-design-v7
			.product_meta
			.tagged_as {
				display: none !important;
			}
			@media (max-width: 700px) {
				body.tkb-product-design-v7 .product_meta {
					gap: 0 !important;
				}
			}
			/* =====================================================
			 * Ajustements V1.2.5 : achat compact et bas de page
			 * ===================================================== */
			/* Drapeaux locaux : image réelle plutôt que lettres FR/DE sous Windows. */
			body.tkb-product-design-v7 .tkb-country-flag {
				display: inline-block;
				width: 18px;
				height: 13px;
				margin: 0 7px 0 0;
				object-fit: cover;
				border: 1px solid rgba(0, 0, 0, .12);
				border-radius: 2px;
				vertical-align: -2px;
			}
			/* État et note : même rythme, sans seconde séparation lourde. */
			body.tkb-product-design-v7 .tkb-product-condition {
				margin-top: 10px;
				padding-top: 9px;
				font-size: 10px;
				line-height: 1.45;
			}
			body.tkb-product-design-v7 .tkb-product-release-notes {
				margin-top: 5px;
				padding-top: 0;
				color: #687078;
				border-top: 0;
				font-size: 10px;
				font-weight: 500;
				line-height: 1.45;
			}
			body.tkb-product-design-v7
			.tkb-product-release-notes
			a.tkb-discogs-link {
				display: inline;
				color: #9b5c00 !important;
				font-weight: 700;
				text-decoration: none !important;
				border-bottom: 1px solid rgba(255, 152, 0, .48);
			}
			body.tkb-product-design-v7
			.tkb-product-release-notes
			a.tkb-discogs-link::after {
				display: none !important;
				content: none !important;
			}
			body.tkb-product-design-v7
			.tkb-product-release-notes
			a.tkb-discogs-link:hover {
				color: var(--tkb-orange-hover, #e68800) !important;
				border-bottom-color: var(--tkb-orange-hover, #e68800);
			}
			body.tkb-product-design-v7
			.tkb-product-release-notes
			.tkb-note-underline {
				text-decoration: underline;
				text-underline-offset: 2px;
			}
			/* Le prix redevient une information forte : orange, sans pastille. */
			body.tkb-product-design-v7
			.tkb-price-stock-row
			.price,
			body.tkb-product-design-v7
			.tkb-price-stock-row
			.price > .woocommerce-Price-amount,
			body.tkb-product-design-v7
			.tkb-price-stock-row
			.price ins {
				min-height: 0 !important;
				padding: 0 !important;
				color: var(--tkb-orange, #ff9900) !important;
				background: transparent !important;
				border: 0 !important;
				border-radius: 0 !important;
				box-shadow: none !important;
				font-size: 30px !important;
				font-weight: 760 !important;
				letter-spacing: -.015em !important;
			}
			body.tkb-product-design-v7
			.tkb-price-stock-row
			.price del {
				color: #969ba1 !important;
				font-size: 13px !important;
				font-weight: 500 !important;
				opacity: .78;
			}
			/* Barre d'achat sur une seule ligne pour les produits simples. */
			body.tkb-product-design-v7 .tkb-purchase-bar--compact {
				display: grid;
				grid-template-columns: max-content 116px minmax(240px, 1fr) max-content;
				align-items: center;
				gap: 10px;
				width: 100%;
				margin: 14px 0 0;
			}
			body.tkb-product-design-v7
			.tkb-purchase-bar--compact
			> .tkb-price-stock-row {
				display: contents !important;
			}
			body.tkb-product-design-v7
			.tkb-purchase-bar--compact
			> .tkb-price-stock-row
			.et_pb_wc_price {
				grid-column: 1;
				margin: 0 !important;
			}
			body.tkb-product-design-v7
			.tkb-purchase-bar--compact
			> .tkb-price-stock-row
			.tkb-stock-display {
				grid-column: 4;
				margin: 0 !important;
			}
			body.tkb-product-design-v7
			.tkb-purchase-bar--compact
			> form.cart.tkb-purchase-layout-ready {
				display: block !important;
				grid-column: 2 / 4;
				width: 100% !important;
				margin: 0 !important;
			}
			body.tkb-product-design-v7
			.tkb-purchase-bar--compact
			.tkb-buy-row {
				grid-template-columns: 116px minmax(0, 1fr) !important;
				gap: 10px !important;
			}
			body.tkb-product-design-v7
			.tkb-purchase-bar--compact
			.tkb-buy-row > .quantity,
			body.tkb-product-design-v7
			.tkb-purchase-bar--compact
			.tkb-buy-row .single_add_to_cart_button {
				min-height: 46px !important;
			}
			body.tkb-product-design-v7
			.tkb-purchase-bar--compact
			.quantity .qty,
			body.tkb-product-design-v7
			.tkb-purchase-bar--compact
			.tkb-qty-button {
				min-height: 44px !important;
			}
			/* Largeur commune et espaces resserrés pour les blocs de bas de page. */
			body.tkb-product-design-v7 .et_pb_row.tkb-details-row,
			body.tkb-product-design-v7 .et_pb_row.tkb-related-row,
			body.tkb-product-design-v7 .et_pb_row.tkb-bottom-content-row,
			body.tkb-product-design-v7 .et_pb_row.tkb-reassurance-row {
				width: 90% !important;
				max-width: 1320px !important;
				margin-left: auto !important;
				margin-right: auto !important;
				padding-top: 8px !important;
				padding-bottom: 8px !important;
			}
			body.tkb-product-design-v7 .et_pb_row.tkb-meta-row {
				padding-bottom: 4px !important;
			}
			body.tkb-product-design-v7 .et_pb_section.tkb-meta-section,
			body.tkb-product-design-v7 .et_pb_section.tkb-reassurance-section,
			body.tkb-product-design-v7 .et_pb_section.tkb-related-section,
			body.tkb-product-design-v7 .et_pb_section.tkb-bottom-content-section {
				padding-top: 6px !important;
				padding-bottom: 6px !important;
			}
			body.tkb-product-design-v7 .related.products.tkb-related-card,
			body.tkb-product-design-v7 .upsells.products.tkb-related-card,
			body.tkb-product-design-v7 .tkb-reviews-bottom {
				width: 100% !important;
				max-width: none !important;
				margin-top: 12px !important;
				margin-bottom: 0 !important;
			}
			body.tkb-product-design-v7 .tkb-product-details-stack:empty {
				display: none !important;
				margin: 0 !important;
			}
			/* Le bouton avis reprend exactement la teinte du panier. */
			body.tkb-product-design-v7
			.tkb-reviews-bottom
			#review_form
			form#commentform
			.form-submit
			input[type="submit"],
			body.tkb-product-design-v7
			.tkb-reviews-bottom
			#review_form
			form#commentform
			.form-submit
			button[type="submit"] {
				background: var(--tkb-orange, #ff9900) !important;
				background-color: var(--tkb-orange, #ff9900) !important;
				border-color: var(--tkb-orange, #ff9900) !important;
			}
			@media (max-width: 980px) {
				body.tkb-product-design-v7 .tkb-purchase-bar--compact {
					grid-template-columns: minmax(0, 1fr) max-content;
					gap: 10px 12px;
				}
				body.tkb-product-design-v7
				.tkb-purchase-bar--compact
				> .tkb-price-stock-row
				.et_pb_wc_price {
					grid-column: 1;
					grid-row: 1;
				}
				body.tkb-product-design-v7
				.tkb-purchase-bar--compact
				> .tkb-price-stock-row
				.tkb-stock-display {
					grid-column: 2;
					grid-row: 1;
				}
				body.tkb-product-design-v7
				.tkb-purchase-bar--compact
				> form.cart.tkb-purchase-layout-ready {
					grid-column: 1 / -1;
					grid-row: 2;
				}
			}
			@media (max-width: 700px) {
				body.tkb-product-design-v7 .et_pb_row.tkb-details-row,
				body.tkb-product-design-v7 .et_pb_row.tkb-related-row,
				body.tkb-product-design-v7 .et_pb_row.tkb-bottom-content-row,
				body.tkb-product-design-v7 .et_pb_row.tkb-reassurance-row {
					width: calc(100% - 24px) !important;
					max-width: none !important;
					padding-top: 5px !important;
					padding-bottom: 5px !important;
				}
				body.tkb-product-design-v7 .related.products.tkb-related-card,
				body.tkb-product-design-v7 .upsells.products.tkb-related-card,
				body.tkb-product-design-v7 .tkb-reviews-bottom {
					margin-top: 10px !important;
				}
			}
			@media (max-width: 600px) {
				body.tkb-product-design-v7
				.tkb-price-stock-row
				.price,
				body.tkb-product-design-v7
				.tkb-price-stock-row
				.price > .woocommerce-Price-amount,
				body.tkb-product-design-v7
				.tkb-price-stock-row
				.price ins {
					font-size: 27px !important;
				}
				body.tkb-product-design-v7
				.tkb-purchase-bar--compact
				.tkb-buy-row {
					grid-template-columns: 108px minmax(0, 1fr) !important;
				}
			}
			@media (max-width: 380px) {
				body.tkb-product-design-v7
				.tkb-purchase-bar--compact
				.tkb-buy-row {
					grid-template-columns: 1fr !important;
				}
				body.tkb-product-design-v7
				.tkb-purchase-bar--compact
				.tkb-buy-row > .quantity {
					width: 100% !important;
					min-width: 100% !important;
				}
			}
			/* =====================================================
			 * Ajustements V1.2.6 : structure Divi réelle
			 * ===================================================== */
			/* Le module Ajouter au panier entier est désormais intégré
			 * dans la barre, afin de conserver son contexte Divi. */
			body.tkb-product-design-v7
			.tkb-purchase-bar--compact
			> .tkb-cart-module {
				grid-column: 2 / 4;
				width: 100% !important;
				max-width: none !important;
				margin: 0 !important;
				padding: 0 !important;
			}
			body.tkb-product-design-v7
			.tkb-purchase-bar--compact
			> .tkb-cart-module
			> .et_pb_module_inner,
			body.tkb-product-design-v7
			.tkb-purchase-bar--compact
			> .tkb-cart-module
			form.cart.tkb-purchase-layout-ready {
				width: 100% !important;
				max-width: none !important;
				margin: 0 !important;
				padding: 0 !important;
			}
			/* Desktop réel : une seule ligne, même lorsque Divi utilise
			 * une colonne de droite relativement étroite. */
			@media (min-width: 768px) {
				body.tkb-product-design-v7 .tkb-purchase-bar--compact {
					display: grid !important;
					grid-template-columns: max-content 116px minmax(190px, 1fr) max-content !important;
					align-items: center !important;
					gap: 10px !important;
				}
				body.tkb-product-design-v7
				.tkb-purchase-bar--compact
				> .tkb-price-stock-row {
					display: contents !important;
				}
				body.tkb-product-design-v7
				.tkb-purchase-bar--compact
				> .tkb-price-stock-row
				.et_pb_wc_price {
					grid-column: 1 !important;
					grid-row: 1 !important;
				}
				body.tkb-product-design-v7
				.tkb-purchase-bar--compact
				> .tkb-cart-module {
					grid-column: 2 / 4 !important;
					grid-row: 1 !important;
				}
				body.tkb-product-design-v7
				.tkb-purchase-bar--compact
				> .tkb-price-stock-row
				.tkb-stock-display {
					grid-column: 4 !important;
					grid-row: 1 !important;
					margin: 0 !important;
				}
			}
			/* Mobile : prix + stock, puis quantité + panier. */
			@media (max-width: 767px) {
				body.tkb-product-design-v7 .tkb-purchase-bar--compact {
					display: grid !important;
					grid-template-columns: minmax(0, 1fr) max-content !important;
					gap: 10px 12px !important;
				}
				body.tkb-product-design-v7
				.tkb-purchase-bar--compact
				> .tkb-price-stock-row {
					display: contents !important;
				}
				body.tkb-product-design-v7
				.tkb-purchase-bar--compact
				> .tkb-price-stock-row
				.et_pb_wc_price {
					grid-column: 1 !important;
					grid-row: 1 !important;
				}
				body.tkb-product-design-v7
				.tkb-purchase-bar--compact
				> .tkb-price-stock-row
				.tkb-stock-display {
					grid-column: 2 !important;
					grid-row: 1 !important;
				}
				body.tkb-product-design-v7
				.tkb-purchase-bar--compact
				> .tkb-cart-module {
					grid-column: 1 / -1 !important;
					grid-row: 2 !important;
				}
			}
			/* Réduction des espaces réellement générés par les rows Divi. */
			body.tkb-product-design-v7 .tkb-product-hero-row {
				margin-bottom: 0 !important;
				padding-bottom: 8px !important;
			}
			body.single-product.tkb-product-design-v7 .tbk-reassurance {
				margin-top: 12px !important;
				margin-bottom: 12px !important;
			}
			body.tkb-product-design-v7 .tkb-empty-details-row {
				display: none !important;
				height: 0 !important;
				min-height: 0 !important;
				margin: 0 !important;
				padding: 0 !important;
			}
			body.tkb-product-design-v7 .tkb-empty-details-section {
				min-height: 0 !important;
				margin: 0 !important;
				padding-top: 0 !important;
				padding-bottom: 0 !important;
			}
			body.tkb-product-design-v7 .tkb-related-module,
			body.tkb-product-design-v7 .tkb-related-module > .et_pb_module_inner {
				width: 100% !important;
				max-width: none !important;
				margin: 0 !important;
				padding: 0 !important;
			}
			body.tkb-product-design-v7 .et_pb_row.tkb-related-row,
			body.tkb-product-design-v7 .et_pb_row.tkb-bottom-content-row,
			body.tkb-product-design-v7 .et_pb_row.tkb-reassurance-row {
				width: 90% !important;
				max-width: 1320px !important;
				margin-top: 0 !important;
				margin-bottom: 0 !important;
				padding-top: 6px !important;
				padding-bottom: 6px !important;
			}
			body.tkb-product-design-v7 .related.products.tkb-related-card,
			body.tkb-product-design-v7 .upsells.products.tkb-related-card,
			body.tkb-product-design-v7 .tkb-reviews-bottom {
				width: 100% !important;
				max-width: none !important;
				margin-top: 10px !important;
				margin-bottom: 0 !important;
			}
			@media (max-width: 700px) {
				body.tkb-product-design-v7 .et_pb_row.tkb-related-row,
				body.tkb-product-design-v7 .et_pb_row.tkb-bottom-content-row,
				body.tkb-product-design-v7 .et_pb_row.tkb-reassurance-row {
					width: calc(100% - 24px) !important;
				}
			}
			/* =====================================================
			 * Ajustements V1.2.7 : ordre UX de la barre d'achat
			 * Prix → disponibilité → quantité → action sur ordinateur.
			 * Prix + disponibilité, puis quantité + action sur mobile.
			 * ===================================================== */
			@media (min-width: 768px) {
				body.tkb-product-design-v7 .tkb-purchase-bar--compact {
					display: grid !important;
					grid-template-columns: max-content max-content 108px minmax(170px, 1fr) !important;
					align-items: center !important;
					column-gap: 10px !important;
					row-gap: 0 !important;
					width: 100% !important;
				}
				body.tkb-product-design-v7
				.tkb-purchase-bar--compact
				> .tkb-price-stock-row {
					display: contents !important;
				}
				body.tkb-product-design-v7
				.tkb-purchase-bar--compact
				> .tkb-price-stock-row
				.et_pb_wc_price {
					grid-column: 1 !important;
					grid-row: 1 !important;
					min-width: 0 !important;
					margin: 0 !important;
				}
				body.tkb-product-design-v7
				.tkb-purchase-bar--compact
				> .tkb-price-stock-row
				.tkb-stock-display {
					grid-column: 2 !important;
					grid-row: 1 !important;
					align-self: center !important;
					min-height: 38px !important;
					margin: 0 !important;
					padding: 6px 9px !important;
					font-size: 10px !important;
					line-height: 1.15 !important;
				}
				body.tkb-product-design-v7
				.tkb-purchase-bar--compact
				> .tkb-cart-module {
					grid-column: 3 / 5 !important;
					grid-row: 1 !important;
					min-width: 0 !important;
				}
				body.tkb-product-design-v7
				.tkb-purchase-bar--compact
				.tkb-buy-row {
					display: grid !important;
					grid-template-columns: 108px minmax(0, 1fr) !important;
					gap: 10px !important;
					min-width: 0 !important;
				}
				body.tkb-product-design-v7
				.tkb-purchase-bar--compact
				.tkb-buy-row > .quantity {
					width: 108px !important;
					min-width: 108px !important;
					grid-template-columns: 32px minmax(36px, 1fr) 32px !important;
				}
				body.tkb-product-design-v7
				.tkb-purchase-bar--compact
				.tkb-buy-row .single_add_to_cart_button {
					min-width: 0 !important;
					padding-left: 12px !important;
					padding-right: 12px !important;
				}
			}
			/* La disposition mobile reste volontairement sur deux lignes :
			 * elle accepte aussi les prix à trois chiffres sans rogner le badge. */
			@media (max-width: 767px) {
				body.tkb-product-design-v7 .tkb-purchase-bar--compact {
					grid-template-columns: minmax(0, 1fr) max-content !important;
					column-gap: 10px !important;
					row-gap: 8px !important;
				}
				body.tkb-product-design-v7
				.tkb-purchase-bar--compact
				> .tkb-price-stock-row
				.et_pb_wc_price {
					min-width: 0 !important;
				}
				body.tkb-product-design-v7
				.tkb-purchase-bar--compact
				> .tkb-price-stock-row
				.tkb-stock-display {
					max-width: max-content !important;
					min-height: 36px !important;
					padding: 6px 9px !important;
					font-size: 10px !important;
				}
				body.tkb-product-design-v7
				.tkb-purchase-bar--compact
				> .tkb-cart-module {
					min-width: 0 !important;
				}
			}
			@media (max-width: 360px) {
				body.tkb-product-design-v7
				.tkb-purchase-bar--compact
				.tkb-price-stock-row
				.price,
				body.tkb-product-design-v7
				.tkb-purchase-bar--compact
				.tkb-price-stock-row
				.price > .woocommerce-Price-amount,
				body.tkb-product-design-v7
				.tkb-purchase-bar--compact
				.tkb-price-stock-row
				.price ins {
					font-size: 25px !important;
				}
				body.tkb-product-design-v7
				.tkb-purchase-bar--compact
				> .tkb-price-stock-row
				.tkb-stock-display {
					gap: 5px !important;
					padding: 5px 7px !important;
					font-size: 9px !important;
				}
			}
			/* =====================================================
			 * Ajustements V1.2.8 : merchandising et variations
			 * ===================================================== */
			/* Les options restent entre le prix/stock et l'achat,
			 * mais sans la grande zone vide générée par les tables Divi. */
			body.tkb-product-design-v7.tkb-family-merch
			.tkb-price-stock-row {
				margin-bottom: 12px !important;
			}
			body.tkb-product-design-v7.tkb-family-merch
			.et_pb_wc_add_to_cart,
			body.tkb-product-design-v7.tkb-family-merch
			.et_pb_wc_add_to_cart > .et_pb_module_inner,
			body.tkb-product-design-v7.tkb-family-merch
			form.cart.tkb-purchase-layout-ready {
				width: 100% !important;
				max-width: none !important;
				margin: 0 !important;
				padding: 0 !important;
			}
			body.tkb-product-design-v7.tkb-family-merch
			form.cart > .tkb-product-options-area {
				min-height: 0 !important;
				margin: 0 0 12px !important;
			}
			body.tkb-product-design-v7.tkb-family-merch
			table.variations,
			body.tkb-product-design-v7.tkb-family-merch
			form.cart table.variations {
				display: block !important;
				width: 100% !important;
				min-height: 0 !important;
				margin: 0 0 12px !important;
				padding: 12px 14px !important;
				background: #fafafa !important;
				border: 1px solid var(--tkb-border) !important;
				border-radius: 8px !important;
				box-shadow: none !important;
			}
			body.tkb-product-design-v7.tkb-family-merch
			table.variations tbody,
			body.tkb-product-design-v7.tkb-family-merch
			table.variations tr {
				display: block !important;
				width: 100% !important;
			}
			body.tkb-product-design-v7.tkb-family-merch
			table.variations tr {
				display: grid !important;
				grid-template-columns: 90px minmax(0, 1fr) !important;
				align-items: center !important;
				gap: 12px !important;
				min-height: 0 !important;
				margin: 0 !important;
				padding: 0 !important;
				border: 0 !important;
			}
			body.tkb-product-design-v7.tkb-family-merch
			table.variations th.label,
			body.tkb-product-design-v7.tkb-family-merch
			table.variations td.value {
				display: block !important;
				width: auto !important;
				min-width: 0 !important;
				margin: 0 !important;
				padding: 0 !important;
				border: 0 !important;
				text-align: left !important;
			}
			body.tkb-product-design-v7.tkb-family-merch
			table.variations th.label label {
				display: block !important;
				margin: 0 !important;
				color: #34393e !important;
				font-size: 13px !important;
				font-weight: 800 !important;
				line-height: 1.25 !important;
			}
			body.tkb-product-design-v7.tkb-family-merch
			table.variations select {
				display: block !important;
				width: 100% !important;
				max-width: none !important;
				min-height: 44px !important;
				margin: 0 !important;
				padding: 9px 38px 9px 12px !important;
				color: #252a2f !important;
				background-color: #fff !important;
				border: 1px solid #d4d8dc !important;
				border-radius: 6px !important;
				font-size: 13px !important;
				font-weight: 600 !important;
				box-shadow: none !important;
			}
			body.tkb-product-design-v7.tkb-family-merch
			table.variations select:focus {
				border-color: var(--tkb-orange, #ff9900) !important;
				outline: 2px solid rgba(255, 152, 0, .14) !important;
				outline-offset: 0 !important;
			}
			body.tkb-product-design-v7.tkb-family-merch
			.reset_variations {
				display: inline-block !important;
				margin: 6px 0 0 !important;
				color: #777 !important;
				font-size: 10px !important;
			}
			body.tkb-product-design-v7.tkb-family-merch
			.single_variation_wrap,
			body.tkb-product-design-v7.tkb-family-merch
			.single_variation {
				width: 100% !important;
				margin: 0 !important;
				padding: 0 !important;
			}
			body.tkb-product-design-v7.tkb-family-merch
			.single_variation:empty,
			body.tkb-product-design-v7.tkb-family-merch
			.woocommerce-variation:empty {
				display: none !important;
			}
			body.tkb-product-design-v7.tkb-family-merch
			.woocommerce-variation-add-to-cart.tkb-buy-row,
			body.tkb-product-design-v7.tkb-family-merch
			form.cart > .tkb-buy-row {
				display: grid !important;
				grid-template-columns: 108px minmax(0, 1fr) !important;
				gap: 10px !important;
				width: 100% !important;
				margin: 0 !important;
			}
			body.tkb-product-design-v7.tkb-family-merch
			.tkb-buy-row > .quantity {
				width: 108px !important;
				min-width: 108px !important;
				grid-template-columns: 32px minmax(36px, 1fr) 32px !important;
			}
			@media (max-width: 600px) {
				body.tkb-product-design-v7.tkb-family-merch
				table.variations tr {
					grid-template-columns: 1fr !important;
					gap: 7px !important;
				}
				body.tkb-product-design-v7.tkb-family-merch
				.woocommerce-variation-add-to-cart.tkb-buy-row,
				body.tkb-product-design-v7.tkb-family-merch
				form.cart > .tkb-buy-row {
					grid-template-columns: 100px minmax(0, 1fr) !important;
				}
				body.tkb-product-design-v7.tkb-family-merch
				.tkb-buy-row > .quantity {
					width: 100px !important;
					min-width: 100px !important;
					grid-template-columns: 30px minmax(34px, 1fr) 30px !important;
				}
			}
			/* Tracklist de secours pour les releases sans audio. */
			body.tkb-product-design-v7 .tkb-static-tracklist {
				width: 100%;
				margin: 12px 0 0 !important;
				overflow: hidden;
				background: #191919;
				border-left: 3px solid var(--tkb-orange, #ff9900);
				border-radius: 6px;
				color: #fff;
				box-shadow: none;
			}
			body.tkb-product-design-v7 .tkb-static-tracklist__header {
				display: flex;
				align-items: center;
				justify-content: space-between;
				gap: 12px;
				min-height: 48px;
				padding: 0 16px;
				border-bottom: 1px solid rgba(255, 255, 255, .10);
			}
			body.tkb-product-design-v7 .tkb-static-tracklist__heading {
				display: inline-flex;
				align-items: center;
				gap: 9px;
				color: var(--tkb-orange, #ff9900);
				font-size: 11px;
				font-weight: 900;
				letter-spacing: .03em;
				text-transform: uppercase;
			}
			body.tkb-product-design-v7 .tkb-static-tracklist__heading::before {
				width: 9px;
				height: 9px;
				border: 2px solid var(--tkb-orange, #ff9900);
				border-radius: 50%;
				content: "";
				box-shadow: inset 0 0 0 2px #191919;
			}
			body.tkb-product-design-v7 .tkb-static-tracklist__count {
				color: #8f959c;
				font-size: 9px;
				font-weight: 600;
			}
			body.tkb-product-design-v7 .tkb-static-tracklist__viewport {
				overflow: hidden;
			}
			body.tkb-product-design-v7 .tkb-static-tracklist__viewport.has-overflow {
				overflow-y: auto;
				scrollbar-color: var(--tkb-orange, #ff9900) #292929;
				scrollbar-width: thin;
			}
			body.tkb-product-design-v7 .tkb-static-tracklist__viewport::-webkit-scrollbar {
				width: 7px;
			}
			body.tkb-product-design-v7 .tkb-static-tracklist__viewport::-webkit-scrollbar-track {
				background: #292929;
			}
			body.tkb-product-design-v7 .tkb-static-tracklist__viewport::-webkit-scrollbar-thumb {
				background: var(--tkb-orange, #ff9900);
				border-radius: 999px;
			}
			body.tkb-product-design-v7 .tkb-static-tracklist__item {
				display: grid;
				grid-template-columns: 28px 34px minmax(0, 1fr);
				align-items: center;
				gap: 8px;
				min-height: 58px;
				margin: 0 14px;
				padding: 8px 0;
				border-bottom: 1px solid rgba(255, 255, 255, .09);
			}
			body.tkb-product-design-v7 .tkb-static-tracklist__item:last-child {
				border-bottom: 0;
			}
			body.tkb-product-design-v7 .tkb-static-tracklist__marker {
				display: block;
				width: 24px;
				height: 24px;
				border: 2px solid var(--tkb-orange, #ff9900);
				border-radius: 50%;
				position: relative;
			}
			body.tkb-product-design-v7 .tkb-static-tracklist__marker::after {
				position: absolute;
				left: 50%;
				top: 50%;
				width: 5px;
				height: 5px;
				background: var(--tkb-orange, #ff9900);
				border-radius: 50%;
				content: "";
				transform: translate(-50%, -50%);
			}
			body.tkb-product-design-v7 .tkb-static-tracklist__position {
				color: #8e949b;
				font-size: 9px;
				font-weight: 650;
				text-transform: uppercase;
			}
			body.tkb-product-design-v7 .tkb-static-tracklist__copy {
				display: flex;
				min-width: 0;
				flex-direction: column;
				gap: 2px;
			}
			body.tkb-product-design-v7 .tkb-static-tracklist__title {
				overflow: hidden;
				color: #fff;
				font-size: 12px;
				font-weight: 700;
				line-height: 1.25;
				text-overflow: ellipsis;
				white-space: nowrap;
			}
			body.tkb-product-design-v7 .tkb-static-tracklist__artist {
				overflow: hidden;
				color: #9aa0a7;
				font-size: 9px;
				font-weight: 500;
				line-height: 1.25;
				text-overflow: ellipsis;
				white-space: nowrap;
			}
			@media (max-width: 600px) {
				body.tkb-product-design-v7 .tkb-static-tracklist__header {
					min-height: 44px;
					padding: 0 13px;
				}
				body.tkb-product-design-v7 .tkb-static-tracklist__item {
					grid-template-columns: 26px 30px minmax(0, 1fr);
					gap: 7px;
					min-height: 56px;
					margin: 0 11px;
				}
			}
			/* =====================================================
			 * V1.3.2 — grille alignée et réassurance produit native
			 * ===================================================== */
			body.tkb-product-design-v7 .et_pb_row.tkb-product-hero-row {
				width: 90% !important;
				max-width: 1320px !important;
				margin-left: auto !important;
				margin-right: auto !important;
			}
			body.tkb-product-design-v7
			.tkb-product-hero-row
			> .tkb-product-gallery-column {
				flex: 0 0 42% !important;
				min-width: 0 !important;
			}
			body.tkb-product-design-v7
			.tkb-product-hero-row
			> .tkb-product-info-column {
				flex: 1 1 0 !important;
				min-width: 0 !important;
				width: auto !important;
			}
			body.tkb-product-design-v7
			.tkb-product-gallery-column
			.woocommerce-product-gallery,
			body.tkb-product-design-v7
			.tkb-product-gallery-column
			.et_pb_wc_images,
			body.tkb-product-design-v7
			.tkb-product-info-column
			> .et_pb_module,
			body.tkb-product-design-v7
			.tkb-product-info-column
			> .et_pb_module
			> .et_pb_module_inner {
				width: 100% !important;
				max-width: none !important;
				margin-left: 0 !important;
				margin-right: 0 !important;
			}
			body.tkb-product-design-v7 .tkbpp-audio-module,
			body.tkb-product-design-v7 .tkbpp-audio-module > .et_pb_module_inner,
			body.tkb-product-design-v7 .tkb-product-info-column .iron-audioplayer,
			body.tkb-product-design-v7 .tkb-product-info-column .srp_player_boxed,
			body.tkb-product-design-v7 .tkb-product-info-column .srp_tracklist,
			body.tkb-product-design-v7 .tkb-product-info-column [data-tkb-audio-player],
			body.tkb-product-design-v7 .tkb-product-info-column .tkb-product-audio,
			body.tkb-product-design-v7 .tkb-product-info-column .tkb-static-tracklist {
				width: 100% !important;
				max-width: none !important;
				margin-left: 0 !important;
				margin-right: 0 !important;
			}
			/* Le snippet global ne doit plus créer ou déplacer de bloc sur une fiche produit. */
			body.single-product.tkb-product-design-v7 .tbk-reassurance-row,
			body.single-product.tkb-product-design-v7 .tkb-reassurance-row,
			body.single-product.tkb-product-design-v7 .tbk-reassurance,
			body.single-product.tkb-product-design-v7 .tkb-reassurance {
				display: none !important;
			}
			body.tkb-product-design-v7 .tkbpp-product-reassurance {
				display: block;
				width: 100%;
				max-width: none;
				margin: 14px 0 0 !important;
				padding: 12px !important;
				background: #fff;
				border: 1px solid var(--tkb-border);
				border-radius: 9px;
				box-shadow: 0 7px 24px rgba(20, 25, 30, .04);
			}
			body.tkb-product-design-v7 .tkbpp-product-reassurance__grid {
				display: grid;
				grid-template-columns: repeat(2, minmax(0, 1fr));
				gap: 8px;
				width: 100%;
			}
			body.tkb-product-design-v7 .tkbpp-product-reassurance__item {
				display: flex !important;
				align-items: center;
				gap: 8px;
				min-width: 0;
				min-height: 57px;
				padding: 9px 10px !important;
				background: #fafafa;
				border: 1px solid #e8ebed;
				border-radius: 7px;
				color: #252b30 !important;
				text-decoration: none !important;
				transition: border-color .16s ease, background .16s ease, transform .16s ease;
			}
			body.tkb-product-design-v7 .tkbpp-product-reassurance__item:hover,
			body.tkb-product-design-v7 .tkbpp-product-reassurance__item:focus-visible {
				background: #fff8ed;
				border-color: rgba(255, 152, 0, .52);
				outline: none;
				transform: translateY(-1px);
			}
			body.tkb-product-design-v7 .tkbpp-product-reassurance__icon {
				display: inline-flex;
				flex: 0 0 31px;
				align-items: center;
				justify-content: center;
				width: 31px;
				height: 31px;
				border-radius: 50%;
				background: rgba(255, 152, 0, .11);
				color: var(--tkb-orange, #ff9900);
			}
			body.tkb-product-design-v7 .tkbpp-product-reassurance__icon svg {
				display: block;
				width: 17px;
				height: 17px;
				fill: none;
				stroke: currentColor;
				stroke-width: 1.8;
				stroke-linecap: round;
				stroke-linejoin: round;
			}
			body.tkb-product-design-v7 .tkbpp-product-reassurance__text {
				display: flex;
				min-width: 0;
				flex-direction: column;
				gap: 2px;
				line-height: 1.2;
			}
			body.tkb-product-design-v7 .tkbpp-product-reassurance__text strong {
				color: #252b30;
				font-size: 11.5px;
				font-weight: 820;
				line-height: 1.2;
			}
			body.tkb-product-design-v7 .tkbpp-product-reassurance__text small {
				color: #777f86;
				font-size: 8.5px;
				font-weight: 550;
				line-height: 1.25;
			}
			/* V1.3.3 : la grille Divi ne limite plus la deuxième colonne à 47,25 %. */
			@media (min-width: 981px) {
				body.tkb-product-design-v7 .et_pb_row.tkb-product-hero-row {
					display: grid !important;
					grid-template-columns: minmax(0, 42%) minmax(0, 1fr) !important;
					column-gap: clamp(30px, 3.4vw, 46px) !important;
					row-gap: 0 !important;
					align-items: start !important;
				}
				body.tkb-product-design-v7
				.tkb-product-hero-row
				> .tkb-product-gallery-column,
				body.tkb-product-design-v7
				.tkb-product-hero-row
				> .tkb-product-info-column {
					width: auto !important;
					min-width: 0 !important;
					max-width: none !important;
					margin: 0 !important;
					padding-right: 0 !important;
					padding-left: 0 !important;
				}
				body.tkb-product-design-v7 .tkb-product-info-column,
				body.tkb-product-design-v7 .tkb-product-info-column > .et_pb_module,
				body.tkb-product-design-v7 .tkb-product-info-column > .et_pb_module > .et_pb_module_inner,
				body.tkb-product-design-v7 .tkb-product-info-column .tkb-product-identity,
				body.tkb-product-design-v7 .tkb-product-info-column .tkb-purchase-bar--compact,
				body.tkb-product-design-v7 .tkb-product-info-column .tkb-player-wrap,
				body.tkb-product-design-v7 .tkb-product-info-column .tkb-static-tracklist {
					width: 100% !important;
					max-width: none !important;
					margin-right: 0 !important;
					margin-left: 0 !important;
				}
			}
			@media (max-width: 980px) {
				body.tkb-product-design-v7 .et_pb_row.tkb-product-hero-row {
					width: calc(100% - 24px) !important;
					max-width: none !important;
				}
				body.tkb-product-design-v7
				.tkb-product-hero-row
				> .tkb-product-gallery-column,
				body.tkb-product-design-v7
				.tkb-product-hero-row
				> .tkb-product-info-column {
					flex: 0 0 100% !important;
					width: 100% !important;
				}
			}
			@media (max-width: 430px) {
				body.tkb-product-design-v7 .tkbpp-product-reassurance {
					padding: 10px !important;
				}
				body.tkb-product-design-v7 .tkbpp-product-reassurance__grid {
					gap: 7px;
				}
				body.tkb-product-design-v7 .tkbpp-product-reassurance__item {
					min-height: 54px;
					padding: 8px !important;
				}
				body.tkb-product-design-v7 .tkbpp-product-reassurance__icon {
					flex-basis: 27px;
					width: 27px;
					height: 27px;
				}
				body.tkb-product-design-v7 .tkbpp-product-reassurance__text strong {
					font-size: 10.5px;
				}
				body.tkb-product-design-v7 .tkbpp-product-reassurance__text small {
					font-size: 8px;
				}
			}
/* ===== product-finishing.css ===== */
/* Cacheable canonical finishing compatibility layer. */
/* =========================================================
 * V1.3.37 — canonical product-page finishing layer.
 * One purchase component for every product family except packs,
 * one hybrid tracklist, and no imported long-description duplicate.
 * ========================================================= */
/* Standard music releases use the structured summary and hybrid tracklist. */
body.tkb-product-design-v7.tkb-family-release:not(.tkbpp-native-product) .woocommerce-Tabs-panel--description,
body.tkb-product-design-v7.tkb-family-release:not(.tkbpp-native-product) #tab-description,
body.tkb-product-design-v7.tkb-family-release:not(.tkbpp-native-product) .tkb-product-details-stack > .woocommerce-Tabs-panel--description {
	display: none !important;
}

/* v1.4.10 — accessibilité strictement limitée à l'identité et à la galerie. */
body.tkb-product-design-v7 .tkb-product-identity-label {
	color: #4b5560 !important;
	font-size: 11px !important;
	line-height: 1.3 !important;
}
body.tkb-product-design-v7 .tkb-gallery-dots {
	gap: 0 !important;
	padding: 2px 5px !important;
}
body.tkb-product-design-v7 .tkb-gallery-dot {
	position: relative !important;
	width: 28px !important;
	height: 28px !important;
	background: transparent !important;
	box-shadow: none !important;
	transform: none !important;
}
body.tkb-product-design-v7 .tkb-gallery-dot::before {
	content: "";
	position: absolute;
	left: 50%;
	top: 50%;
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: rgba(255, 255, 255, .72);
	box-shadow: 0 0 0 1px rgba(0, 0, 0, .12);
	transform: translate(-50%, -50%);
	transition: transform .16s ease, background .16s ease;
}
body.tkb-product-design-v7 .tkb-gallery-dot:hover::before,
body.tkb-product-design-v7 .tkb-gallery-dot:focus-visible::before {
	background: #fff;
	transform: translate(-50%, -50%) scale(1.18);
}
body.tkb-product-design-v7 .tkb-gallery-dot:focus-visible {
	outline: 2px solid #fff !important;
	outline-offset: -2px;
}
body.tkb-product-design-v7 .tkb-gallery-dot.is-active::before {
	background: var(--tkb-orange, #ff9900);
	box-shadow: 0 0 0 3px rgba(242, 160, 0, .22);
	transform: translate(-50%, -50%) scale(1.12);
}
body.tkb-product-design-v7 .tkb-stock-display:empty,
body.tkb-product-design-v7 .tkb-stock-display[hidden] {
	display: none !important;
}
/* The original price/stock source remains in the DOM for WooCommerce updates. */
body.tkb-product-design-v7:not(.tkb-family-pack) .tkb-price-stock-row--source {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow: hidden !important;
	clip: rect(0 0 0 0) !important;
	clip-path: inset(50%) !important;
	white-space: nowrap !important;
	border: 0 !important;
}
body.tkb-product-design-v7:not(.tkb-family-pack):not(.tkbpp-native-product) .single_variation .woocommerce-variation-price,
body.tkb-product-design-v7:not(.tkb-family-pack):not(.tkbpp-native-product) .single_variation .woocommerce-variation-availability {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	overflow: hidden !important;
	clip: rect(0 0 0 0) !important;
	clip-path: inset(50%) !important;
}
/* Price + stock + quantity + cart: same component on vinyl, CD, K7,
 * merchandise, accessories and every standard WooCommerce product. */
body.tkb-product-design-v7:not(.tkb-family-pack) .tkb-universal-purchase-row {
	display: grid !important;
	grid-template-columns: max-content max-content 116px minmax(180px, 1fr) !important;
	align-items: center !important;
	gap: 10px !important;
	width: 100% !important;
	max-width: 100% !important;
	margin: 14px 0 0 !important;
	padding: 12px !important;
	background: #fff !important;
	border: 1px solid #e1e4e7 !important;
	border-radius: 10px !important;
	box-shadow: 0 5px 18px rgba(20, 25, 30, .055) !important;
}
body.tkb-product-design-v7:not(.tkb-family-pack) .tkb-universal-price {
	display: inline-flex !important;
	align-items: baseline !important;
	gap: 6px !important;
	min-width: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	color: #17191b !important;
	font-size: clamp(24px, 2.25vw, 31px) !important;
	font-weight: 800 !important;
	line-height: 1 !important;
	white-space: nowrap !important;
}
body.tkb-product-design-v7:not(.tkb-family-pack) .tkb-universal-price *,
body.tkb-product-design-v7:not(.tkb-family-pack) .tkb-universal-price .woocommerce-Price-amount,
body.tkb-product-design-v7:not(.tkb-family-pack) .tkb-universal-price .woocommerce-Price-currencySymbol,
body.tkb-product-design-v7:not(.tkb-family-pack) .tkb-universal-price bdi,
body.tkb-product-design-v7:not(.tkb-family-pack) .tkb-universal-price ins {
	color: inherit !important;
	font-size: inherit !important;
	font-weight: inherit !important;
	line-height: inherit !important;
	background: transparent !important;
	text-decoration: none !important;
}
body.tkb-product-design-v7:not(.tkb-family-pack) .tkb-universal-price del {
	order: 2 !important;
	margin: 0 0 0 2px !important;
	color: #949aa0 !important;
	font-size: 14px !important;
	font-weight: 600 !important;
	opacity: .85 !important;
}
body.tkb-product-design-v7:not(.tkb-family-pack) .tkb-universal-stock {
	justify-self: start !important;
	align-self: center !important;
	margin: 0 !important;
}
body.tkb-product-design-v7:not(.tkb-family-pack) .tkb-universal-stock.out-of-stock {
	color: #8b3131 !important;
	background: #fff0f0 !important;
	border-color: #efcaca !important;
}
body.tkb-product-design-v7:not(.tkb-family-pack) .tkb-universal-stock.out-of-stock::before {
	background: #c94b4b !important;
	box-shadow: 0 0 0 3px rgba(201, 75, 75, .12) !important;
}
body.tkb-product-design-v7:not(.tkb-family-pack) .tkb-universal-purchase-row > .tkb-buy-row {
	display: contents !important;
}
body.tkb-product-design-v7:not(.tkb-family-pack) .tkb-universal-purchase-row > .tkb-buy-row > .quantity {
	grid-column: 3 !important;
	display: grid !important;
	grid-template-columns: 34px minmax(40px, 1fr) 34px !important;
	width: 116px !important;
	min-width: 116px !important;
	min-height: 48px !important;
	margin: 0 !important;
}
body.tkb-product-design-v7:not(.tkb-family-pack) .tkb-universal-purchase-row > .tkb-buy-row > .single_add_to_cart_button {
	grid-column: 4 !important;
	align-self: stretch !important;
	width: 100% !important;
	min-width: 0 !important;
	min-height: 48px !important;
	margin: 0 !important;
}
/* Variable-product options remain above the universal purchase row. */
body.tkb-product-design-v7:not(.tkb-family-pack) form.cart.tkb-universal-purchase-form,
body.tkb-product-design-v7:not(.tkb-family-pack) .single_variation_wrap {
	width: 100% !important;
	max-width: none !important;
}
/* One visible tracklist only. Native custom-player rows stay callable by the
 * hybrid buttons but are removed from the visual layout. */
body.tkb-product-design-v7 .tkb-native-track-row-source {
	display: none !important;
}
body.tkb-product-design-v7 .tkb-native-tracklist-source {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow: hidden !important;
	clip: rect(0 0 0 0) !important;
	clip-path: inset(50%) !important;
	white-space: nowrap !important;
	border: 0 !important;
}
body.tkb-product-design-v7 .tkb-hybrid-tracklist .tkb-static-tracklist__item {
	grid-template-columns: 18px 42px minmax(0, 1fr) auto !important;
	gap: 10px !important;
	align-items: center !important;
}
body.tkb-product-design-v7 .tkb-static-tracklist__status {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	min-height: 28px !important;
	padding: 5px 9px !important;
	border-radius: 999px !important;
	font-size: 10px !important;
	font-weight: 800 !important;
	line-height: 1 !important;
	white-space: nowrap !important;
}
body.tkb-product-design-v7 button.tkb-static-tracklist__status.is-playable {
	border: 1px solid #f0b24c !important;
	background: #fff7e9 !important;
	color: #a85f00 !important;
	cursor: pointer !important;
}
body.tkb-product-design-v7 button.tkb-static-tracklist__status.is-playable:hover,
body.tkb-product-design-v7 button.tkb-static-tracklist__status.is-playable:focus-visible {
	background: var(--tkb-orange, #ff9900) !important;
	color: #111 !important;
	outline: none !important;
}
body.tkb-product-design-v7 .tkb-static-tracklist__status.is-unavailable {
	border: 1px solid #e1e4e7 !important;
	background: #f5f6f7 !important;
	color: #8b9197 !important;
}
/* V1.3.39 — stock badge must remain visible in the canonical purchase row. */
body.tkb-product-design-v7:not(.tkb-family-pack) .tkb-universal-stock {
	display: inline-flex !important;
	position: relative !important;
	visibility: visible !important;
	opacity: 1 !important;
	width: auto !important;
	height: auto !important;
	clip: auto !important;
	clip-path: none !important;
	overflow: visible !important;
	white-space: nowrap !important;
}
@media (max-width: 899px) {
	body.tkb-product-design-v7:not(.tkb-family-pack) .tkb-universal-purchase-row {
		grid-template-columns: minmax(0, 1fr) max-content !important;
		grid-template-rows: auto auto !important;
		column-gap: 9px !important;
		row-gap: 10px !important;
		padding: 10px !important;
	}
	body.tkb-product-design-v7:not(.tkb-family-pack) .tkb-universal-price {
		grid-column: 1 !important;
		grid-row: 1 !important;
		font-size: clamp(23px, 7vw, 29px) !important;
	}
	body.tkb-product-design-v7:not(.tkb-family-pack) .tkb-universal-stock {
		grid-column: 2 !important;
		grid-row: 1 !important;
		justify-self: end !important;
		max-width: 124px !important;
		padding: 6px 8px !important;
		font-size: 9px !important;
		line-height: 1.15 !important;
		white-space: normal !important;
		text-align: center !important;
	}
	body.tkb-product-design-v7:not(.tkb-family-pack) .tkb-universal-purchase-row > .tkb-buy-row > .quantity {
		grid-column: 1 !important;
		grid-row: 2 !important;
		width: 108px !important;
		min-width: 108px !important;
		grid-template-columns: 32px minmax(36px, 1fr) 32px !important;
	}
	body.tkb-product-design-v7:not(.tkb-family-pack) .tkb-universal-purchase-row > .tkb-buy-row > .single_add_to_cart_button {
		grid-column: 2 !important;
		grid-row: 2 !important;
		width: 100% !important;
	}
	body.tkb-product-design-v7 .tkb-hybrid-tracklist .tkb-static-tracklist__item {
		grid-template-columns: 16px 34px minmax(0, 1fr) !important;
	}
	body.tkb-product-design-v7 .tkb-static-tracklist__status {
		grid-column: 3 !important;
		justify-self: start !important;
		margin-top: 4px !important;
	}
}
@media (max-width: 380px) {
	body.tkb-product-design-v7:not(.tkb-family-pack) .tkb-universal-price {
		font-size: 22px !important;
	}
	body.tkb-product-design-v7:not(.tkb-family-pack) .tkb-universal-stock {
		max-width: 108px !important;
		font-size: 8.5px !important;
	}
}
/* V1.3.40 — compact integrated hybrid tracklist. */
body.tkb-product-design-v7 .tkb-hybrid-player-shell {
	overflow: hidden !important;
}
body.tkb-product-design-v7 .tkb-hybrid-tracklist.is-integrated {
	width: 100% !important;
	margin: 0 !important;
	background: transparent !important;
	border: 0 !important;
	border-top: 1px solid rgba(255, 255, 255, .10) !important;
	border-radius: 0 !important;
	box-shadow: none !important;
}
body.tkb-product-design-v7 .tkb-hybrid-tracklist .tkb-static-tracklist__item {
	grid-template-columns: 32px 38px minmax(0, 1fr) !important;
	gap: 9px !important;
	min-height: 62px !important;
}
body.tkb-product-design-v7 .tkb-static-tracklist__control {
	display: inline-flex !important;
	position: relative !important;
	align-items: center !important;
	justify-content: center !important;
	width: 30px !important;
	min-width: 30px !important;
	height: 30px !important;
	min-height: 30px !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 2px solid var(--tkb-orange, #ff9900) !important;
	border-radius: 50% !important;
	background: transparent !important;
	box-shadow: none !important;
}
body.tkb-product-design-v7 button.tkb-static-tracklist__control.is-playable {
	cursor: pointer !important;
}
body.tkb-product-design-v7 button.tkb-static-tracklist__control.is-playable > span {
	display: block !important;
	width: 0 !important;
	height: 0 !important;
	margin-left: 2px !important;
	border-top: 5px solid transparent !important;
	border-bottom: 5px solid transparent !important;
	border-left: 8px solid var(--tkb-orange, #ff9900) !important;
}
body.tkb-product-design-v7 button.tkb-static-tracklist__control.is-playable:hover,
body.tkb-product-design-v7 button.tkb-static-tracklist__control.is-playable:focus-visible {
	background: var(--tkb-orange, #ff9900) !important;
	outline: none !important;
}
body.tkb-product-design-v7 button.tkb-static-tracklist__control.is-playable:hover > span,
body.tkb-product-design-v7 button.tkb-static-tracklist__control.is-playable:focus-visible > span {
	border-left-color: #111 !important;
}
body.tkb-product-design-v7 .tkb-static-tracklist__control.is-unavailable::after {
	display: block !important;
	width: 6px !important;
	height: 6px !important;
	border-radius: 50% !important;
	background: rgba(255, 152, 0, .34) !important;
	content: "" !important;
}
body.tkb-product-design-v7 .tkb-static-tracklist__status {
	display: none !important;
}
@media (max-width: 600px) {
	body.tkb-product-design-v7 .tkb-hybrid-tracklist .tkb-static-tracklist__item {
		grid-template-columns: 30px 34px minmax(0, 1fr) !important;
		gap: 8px !important;
	}
}
/* V1.3.41 — restore the former dark Teknoboutik tracklist palette. */
body.tkb-product-design-v7 .tkb-hybrid-player-shell {
	background: #191919 !important;
	border-left: 3px solid var(--tkb-orange, #ff9900) !important;
	border-radius: 6px !important;
	box-shadow: none !important;
}
body.tkb-product-design-v7 .tkb-hybrid-tracklist.is-integrated {
	background: #191919 !important;
	color: #fff !important;
	border-top: 1px solid rgba(255, 255, 255, .10) !important;
}
body.tkb-product-design-v7 .tkb-hybrid-tracklist .tkb-static-tracklist__viewport {
	background: #191919 !important;
}
body.tkb-product-design-v7 .tkb-hybrid-tracklist .tkb-static-tracklist__item {
	margin: 0 14px !important;
	border-bottom: 1px solid rgba(255, 255, 255, .09) !important;
}
body.tkb-product-design-v7 .tkb-hybrid-tracklist .tkb-static-tracklist__item:last-child {
	border-bottom: 0 !important;
}
body.tkb-product-design-v7 .tkb-hybrid-tracklist .tkb-static-tracklist__title {
	color: #fff !important;
	font-size: 12px !important;
	font-weight: 700 !important;
}
body.tkb-product-design-v7 .tkb-hybrid-tracklist .tkb-static-tracklist__artist {
	color: #9aa0a7 !important;
	font-size: 9px !important;
}
body.tkb-product-design-v7 .tkb-hybrid-tracklist .tkb-static-tracklist__position {
	color: #8e949b !important;
}
body.tkb-product-design-v7 .tkb-hybrid-tracklist .tkb-static-tracklist__control {
	background: #191919 !important;
	border-color: var(--tkb-orange, #ff9900) !important;
}
body.tkb-product-design-v7 .tkb-hybrid-tracklist .tkb-static-tracklist__control.is-unavailable::after {
	background: rgba(255, 152, 0, .35) !important;
}
@media (max-width: 600px) {
	body.tkb-product-design-v7 .tkb-hybrid-player-shell {
		border-radius: 5px !important;
	}
	body.tkb-product-design-v7 .tkb-hybrid-tracklist .tkb-static-tracklist__item {
		margin: 0 10px !important;
		min-height: 56px !important;
	}
	body.tkb-product-design-v7 .tkb-hybrid-tracklist .tkb-static-tracklist__title {
		font-size: 11px !important;
	}
}
/* V1.3.42 — compact Tracklist heading and spacing cleanup. */
body.tkb-product-design-v7 .tkb-hybrid-player-shell {
	border-left: 0 !important;
}
body.tkb-product-design-v7 .tkb-hybrid-player-shell::before,
body.tkb-product-design-v7 .tkb-hybrid-player-shell::after {
	display: none !important;
	content: none !important;
}
@media (max-width: 1100px) {
	body.tkb-product-design-v7 .tkb-hybrid-player-shell {
		margin-bottom: 24px !important;
	}
	body.tkb-product-design-v7 .tkbpp-product-reassurance,
	body.tkb-product-design-v7 .tkbpp-product-reassurance--mobile-after-audio {
		margin-top: 0 !important;
		clear: both !important;
	}
}
/* V1.3.43 — keep reassurance outside the complete hybrid player. */
body.tkb-product-design-v7 .tkb-hybrid-player-shell,
body.tkb-product-design-v7 .tkb-hybrid-player-shell > .et_pb_module_inner,
body.tkb-product-design-v7 .tkb-hybrid-player-shell > .et_pb_module_inner > :first-child {
	border-left: 0 !important;
}
body.tkb-product-design-v7 .tkb-hybrid-player-shell > .et_pb_module_inner::before,
body.tkb-product-design-v7 .tkb-hybrid-player-shell > .et_pb_module_inner::after,
body.tkb-product-design-v7 .tkb-hybrid-player-shell > .et_pb_module_inner > :first-child::before,
body.tkb-product-design-v7 .tkb-hybrid-player-shell > .et_pb_module_inner > :first-child::after {
	display: none !important;
	content: none !important;
}
@media (max-width: 980px) {
	body.tkb-product-design-v7 .tkb-hybrid-player-shell {
		margin-bottom: 22px !important;
	}
	body.tkb-product-design-v7 .tkb-hybrid-player-shell + .tkbpp-product-reassurance,
	body.tkb-product-design-v7 .tkbpp-product-reassurance--mobile-after-audio {
		margin-top: 0 !important;
		margin-bottom: 18px !important;
	}
}
/* V1.3.44 — compact native Tracklist heading. */
body.tkb-product-design-v7 .tkb-hybrid-player-shell > .tkb-tracklist-native-heading-wrap {
	display: block !important;
	height: 42px !important;
	min-height: 42px !important;
	max-height: 42px !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow: hidden !important;
	background: #191919 !important;
}
body.tkb-product-design-v7 .tkb-hybrid-player-shell .tkb-tracklist-native-heading {
	display: flex !important;
	align-items: center !important;
	width: 100% !important;
	height: 42px !important;
	min-height: 42px !important;
	max-height: 42px !important;
	margin: 0 !important;
	padding: 0 18px !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: #191919 !important;
	box-shadow: none !important;
	overflow: hidden !important;
}
body.tkb-product-design-v7 .tkb-hybrid-player-shell .tkb-tracklist-native-heading *,
body.tkb-product-design-v7 .tkb-hybrid-player-shell .tkb-tracklist-native-label {
	min-height: 0 !important;
	max-height: 42px !important;
	margin-top: 0 !important;
	margin-bottom: 0 !important;
}
body.tkb-product-design-v7 .tkb-hybrid-player-shell .tkb-tracklist-native-heading button,
body.tkb-product-design-v7 .tkb-hybrid-player-shell .tkb-tracklist-native-heading a,
body.tkb-product-design-v7 .tkb-hybrid-player-shell .tkb-tracklist-native-heading [role="button"] {
	display: flex !important;
	align-items: center !important;
	width: 100% !important;
	height: 42px !important;
	min-height: 42px !important;
	max-height: 42px !important;
	margin: 0 !important;
	padding: 0 !important;
}
body.tkb-product-design-v7 .tkb-hybrid-tracklist.is-integrated {
	border-top: 1px solid rgba(255, 255, 255, .08) !important;
}
@media (max-width: 600px) {
	body.tkb-product-design-v7 .tkb-hybrid-player-shell > .tkb-tracklist-native-heading-wrap,
	body.tkb-product-design-v7 .tkb-hybrid-player-shell .tkb-tracklist-native-heading,
	body.tkb-product-design-v7 .tkb-hybrid-player-shell .tkb-tracklist-native-heading button,
	body.tkb-product-design-v7 .tkb-hybrid-player-shell .tkb-tracklist-native-heading a,
	body.tkb-product-design-v7 .tkb-hybrid-player-shell .tkb-tracklist-native-heading [role="button"] {
		height: 38px !important;
		min-height: 38px !important;
		max-height: 38px !important;
	}
	body.tkb-product-design-v7 .tkb-hybrid-player-shell .tkb-tracklist-native-heading {
		padding: 0 14px !important;
	}
}
/* V1.3.45 — remove the redundant hybrid Tracklist heading completely. */
body.tkb-product-design-v7 .tkb-hybrid-player-shell > .tkb-tracklist-native-heading-wrap {
	display: none !important;
	height: 0 !important;
	min-height: 0 !important;
	max-height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	overflow: hidden !important;
}
body.tkb-product-design-v7 .tkb-hybrid-player-shell .tkb-tracklist-native-heading,
body.tkb-product-design-v7 .tkb-hybrid-player-shell .tkb-tracklist-native-label {
	display: none !important;
}
body.tkb-product-design-v7 .tkb-hybrid-tracklist.is-integrated {
	border-top: 0 !important;
}
body.tkb-product-design-v7 .tkb-hybrid-tracklist .tkb-static-tracklist__viewport {
	padding-top: 0 !important;
}
/* V1.3.46 — restore a genuinely compact Tracklist heading. */
body.tkb-product-design-v7 .tkb-hybrid-player-shell > .tkb-tracklist-native-heading-wrap {
	display: block !important;
	height: 30px !important;
	min-height: 30px !important;
	max-height: 30px !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-bottom: 1px solid rgba(255, 255, 255, .08) !important;
	overflow: hidden !important;
	background: #191919 !important;
}
body.tkb-product-design-v7 .tkb-hybrid-player-shell .tkb-tracklist-native-heading,
body.tkb-product-design-v7 .tkb-hybrid-player-shell .tkb-tracklist-native-label {
	display: flex !important;
}
body.tkb-product-design-v7 .tkb-hybrid-player-shell .tkb-tracklist-native-heading {
	align-items: center !important;
	width: 100% !important;
	height: 30px !important;
	min-height: 30px !important;
	max-height: 30px !important;
	margin: 0 !important;
	padding: 0 14px !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: #191919 !important;
	box-shadow: none !important;
	overflow: hidden !important;
}
body.tkb-product-design-v7 .tkb-hybrid-player-shell .tkb-tracklist-native-heading *,
body.tkb-product-design-v7 .tkb-hybrid-player-shell .tkb-tracklist-native-label {
	height: auto !important;
	min-height: 0 !important;
	max-height: 30px !important;
	margin-top: 0 !important;
	margin-bottom: 0 !important;
	font-size: 11px !important;
	line-height: 1 !important;
}
body.tkb-product-design-v7 .tkb-hybrid-player-shell .tkb-tracklist-native-heading button,
body.tkb-product-design-v7 .tkb-hybrid-player-shell .tkb-tracklist-native-heading a,
body.tkb-product-design-v7 .tkb-hybrid-player-shell .tkb-tracklist-native-heading [role="button"] {
	display: flex !important;
	align-items: center !important;
	width: 100% !important;
	height: 30px !important;
	min-height: 30px !important;
	max-height: 30px !important;
	margin: 0 !important;
	padding: 0 !important;
}
body.tkb-product-design-v7 .tkb-hybrid-tracklist.is-integrated {
	border-top: 0 !important;
}
@media (max-width: 600px) {
	body.tkb-product-design-v7 .tkb-hybrid-player-shell > .tkb-tracklist-native-heading-wrap,
	body.tkb-product-design-v7 .tkb-hybrid-player-shell .tkb-tracklist-native-heading,
	body.tkb-product-design-v7 .tkb-hybrid-player-shell .tkb-tracklist-native-heading button,
	body.tkb-product-design-v7 .tkb-hybrid-player-shell .tkb-tracklist-native-heading a,
	body.tkb-product-design-v7 .tkb-hybrid-player-shell .tkb-tracklist-native-heading [role="button"] {
		height: 28px !important;
		min-height: 28px !important;
		max-height: 28px !important;
	}
	body.tkb-product-design-v7 .tkb-hybrid-player-shell .tkb-tracklist-native-heading {
		padding: 0 12px !important;
	}
	body.tkb-product-design-v7 .tkb-hybrid-player-shell .tkb-tracklist-native-heading *,
	body.tkb-product-design-v7 .tkb-hybrid-player-shell .tkb-tracklist-native-label {
		max-height: 28px !important;
		font-size: 10px !important;
	}
}
/* V1.3.47 — slimmer Tracklist heading and full-height orange accent. */
body.tkb-product-design-v7 .tkb-hybrid-player-shell {
	border-left: 3px solid var(--tkb-orange, #ff9900) !important;
	overflow: hidden !important;
}
body.tkb-product-design-v7 .tkb-hybrid-player-shell > .et_pb_module_inner,
body.tkb-product-design-v7 .tkb-hybrid-player-shell > .et_pb_module_inner > :first-child {
	border-left: 0 !important;
}
body.tkb-product-design-v7 .tkb-hybrid-player-shell > .tkb-tracklist-native-heading-wrap,
body.tkb-product-design-v7 .tkb-hybrid-player-shell .tkb-tracklist-native-heading,
body.tkb-product-design-v7 .tkb-hybrid-player-shell .tkb-tracklist-native-heading button,
body.tkb-product-design-v7 .tkb-hybrid-player-shell .tkb-tracklist-native-heading a,
body.tkb-product-design-v7 .tkb-hybrid-player-shell .tkb-tracklist-native-heading [role="button"] {
	height: 22px !important;
	min-height: 22px !important;
	max-height: 22px !important;
}
body.tkb-product-design-v7 .tkb-hybrid-player-shell > .tkb-tracklist-native-heading-wrap {
	border-bottom: 1px solid rgba(255, 255, 255, .13) !important;
}
body.tkb-product-design-v7 .tkb-hybrid-player-shell .tkb-tracklist-native-heading {
	padding: 0 10px !important;
}
body.tkb-product-design-v7 .tkb-hybrid-player-shell .tkb-tracklist-native-heading *,
body.tkb-product-design-v7 .tkb-hybrid-player-shell .tkb-tracklist-native-label {
	max-height: 22px !important;
	font-size: 9px !important;
	line-height: 1 !important;
}
body.tkb-product-design-v7 .tkb-hybrid-tracklist.is-integrated {
	border-top: 0 !important;
}
@media (max-width: 600px) {
	body.tkb-product-design-v7 .tkb-hybrid-player-shell > .tkb-tracklist-native-heading-wrap,
	body.tkb-product-design-v7 .tkb-hybrid-player-shell .tkb-tracklist-native-heading,
	body.tkb-product-design-v7 .tkb-hybrid-player-shell .tkb-tracklist-native-heading button,
	body.tkb-product-design-v7 .tkb-hybrid-player-shell .tkb-tracklist-native-heading a,
	body.tkb-product-design-v7 .tkb-hybrid-player-shell .tkb-tracklist-native-heading [role="button"] {
		height: 20px !important;
		min-height: 20px !important;
		max-height: 20px !important;
	}
	body.tkb-product-design-v7 .tkb-hybrid-player-shell .tkb-tracklist-native-heading {
		padding: 0 9px !important;
	}
	body.tkb-product-design-v7 .tkb-hybrid-player-shell .tkb-tracklist-native-heading *,
	body.tkb-product-design-v7 .tkb-hybrid-player-shell .tkb-tracklist-native-label {
		max-height: 20px !important;
		font-size: 8.5px !important;
	}
}
/* V1.3.48 — ultra-compact Tracklist heading without the orange rail. */
body.tkb-product-design-v7 .tkb-hybrid-player-shell {
	border-left: 0 !important;
}
body.tkb-product-design-v7 .tkb-hybrid-player-shell > .tkb-tracklist-native-heading-wrap,
body.tkb-product-design-v7 .tkb-hybrid-player-shell .tkb-tracklist-native-heading,
body.tkb-product-design-v7 .tkb-hybrid-player-shell .tkb-tracklist-native-heading button,
body.tkb-product-design-v7 .tkb-hybrid-player-shell .tkb-tracklist-native-heading a,
body.tkb-product-design-v7 .tkb-hybrid-player-shell .tkb-tracklist-native-heading [role="button"] {
	height: 12px !important;
	min-height: 12px !important;
	max-height: 12px !important;
}
body.tkb-product-design-v7 .tkb-hybrid-player-shell > .tkb-tracklist-native-heading-wrap {
	border-left: 0 !important;
	box-shadow: none !important;
}
body.tkb-product-design-v7 .tkb-hybrid-player-shell .tkb-tracklist-native-heading {
	padding: 0 8px !important;
	border-left: 0 !important;
	box-shadow: none !important;
}
body.tkb-product-design-v7 .tkb-hybrid-player-shell .tkb-tracklist-native-heading *,
body.tkb-product-design-v7 .tkb-hybrid-player-shell .tkb-tracklist-native-label {
	max-height: 12px !important;
	font-size: 8px !important;
	line-height: 1 !important;
}
body.tkb-product-design-v7 .tkb-hybrid-player-shell .tkb-tracklist-native-heading svg,
body.tkb-product-design-v7 .tkb-hybrid-player-shell .tkb-tracklist-native-heading i {
	max-width: 8px !important;
	max-height: 8px !important;
}
body.tkb-product-design-v7 .tkb-hybrid-tracklist.is-integrated {
	border-left: 3px solid var(--tkb-orange, #ff9900) !important;
}
@media (max-width: 600px) {
	body.tkb-product-design-v7 .tkb-hybrid-player-shell > .tkb-tracklist-native-heading-wrap,
	body.tkb-product-design-v7 .tkb-hybrid-player-shell .tkb-tracklist-native-heading,
	body.tkb-product-design-v7 .tkb-hybrid-player-shell .tkb-tracklist-native-heading button,
	body.tkb-product-design-v7 .tkb-hybrid-player-shell .tkb-tracklist-native-heading a,
	body.tkb-product-design-v7 .tkb-hybrid-player-shell .tkb-tracklist-native-heading [role="button"] {
		height: 11px !important;
		min-height: 11px !important;
		max-height: 11px !important;
	}
	body.tkb-product-design-v7 .tkb-hybrid-player-shell .tkb-tracklist-native-heading {
		padding: 0 7px !important;
	}
	body.tkb-product-design-v7 .tkb-hybrid-player-shell .tkb-tracklist-native-heading *,
	body.tkb-product-design-v7 .tkb-hybrid-player-shell .tkb-tracklist-native-label {
		max-height: 11px !important;
		font-size: 7.5px !important;
	}
}
/* =========================================================
 * V1.3.50 — canonical responsive purchase + single tracklist.
 * This layer deliberately overrides the historical incremental fixes.
 * ========================================================= */
body.tkb-product-design-v7 .tkb-native-player-source,
body.tkb-product-design-v7 .tkb-native-player-heading-source {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	min-width: 0 !important;
	min-height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow: hidden !important;
	clip: rect(0 0 0 0) !important;
	clip-path: inset(50%) !important;
	white-space: nowrap !important;
	border: 0 !important;
	opacity: 0 !important;
	pointer-events: none !important;
}
body.tkb-product-design-v7:not(.tkb-family-pack) .tkb-universal-purchase-row {
	position: relative !important;
	display: grid !important;
	grid-template-columns: minmax(88px, max-content) minmax(104px, max-content) 110px minmax(140px, 1fr) !important;
	align-items: center !important;
	gap: 8px !important;
	width: 100% !important;
	max-width: 100% !important;
	box-sizing: border-box !important;
	margin: 8px 0 8px !important;
	padding: 10px !important;
	overflow: visible !important;
}
body.tkb-product-design-v7:not(.tkb-family-pack) .tkb-universal-price {
	font-size: clamp(20px, 1.75vw, 27px) !important;
	line-height: 1 !important;
}
body.tkb-product-design-v7:not(.tkb-family-pack) .tkb-universal-stock {
	max-width: 132px !important;
	padding: 7px 9px !important;
	font-size: 9px !important;
	line-height: 1.15 !important;
	white-space: normal !important;
	text-align: center !important;
}
body.tkb-product-design-v7:not(.tkb-family-pack) .tkb-universal-purchase-row > .tkb-buy-row > .quantity {
	width: 110px !important;
	min-width: 110px !important;
	grid-template-columns: 32px minmax(38px, 1fr) 32px !important;
}
body.tkb-product-design-v7:not(.tkb-family-pack) .tkb-universal-purchase-row > .tkb-buy-row > .single_add_to_cart_button {
	min-width: 0 !important;
	max-width: 100% !important;
	padding: 8px 12px !important;
	font-size: clamp(10px, 1vw, 12px) !important;
	line-height: 1.15 !important;
	white-space: normal !important;
	text-align: center !important;
	overflow-wrap: anywhere !important;
}
body.tkb-product-design-v7 .tkb-canonical-tracklist {
	position: relative !important;
	display: block !important;
	width: 100% !important;
	max-width: 100% !important;
	margin: 8px 0 0 !important;
	padding: 0 !important;
	background: #181818 !important;
	border: 0 !important;
	border-left: 3px solid var(--tkb-orange, #ff9900) !important;
	border-radius: 7px !important;
	box-shadow: none !important;
	overflow: hidden !important;
}
body.tkb-product-design-v7 .tkb-canonical-tracklist .tkb-canonical-tracklist__header {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	gap: 10px !important;
	height: 25px !important;
	min-height: 25px !important;
	max-height: 25px !important;
	margin: 0 !important;
	padding: 0 12px !important;
	background: #181818 !important;
	border: 0 !important;
	border-bottom: 1px solid rgba(255,255,255,.10) !important;
}
body.tkb-product-design-v7 .tkb-canonical-tracklist .tkb-static-tracklist__heading {
	font-size: 9px !important;
	font-weight: 820 !important;
	line-height: 1 !important;
	letter-spacing: .04em !important;
	color: var(--tkb-orange, #ff9900) !important;
}
body.tkb-product-design-v7 .tkb-canonical-tracklist .tkb-static-tracklist__count {
	font-size: 8px !important;
	font-weight: 600 !important;
	line-height: 1 !important;
	color: #9ca3aa !important;
}
body.tkb-product-design-v7 .tkb-canonical-tracklist .tkb-static-tracklist__viewport {
	background: #181818 !important;
}
body.tkb-product-design-v7 .tkb-canonical-tracklist .tkb-static-tracklist__item {
	display: grid !important;
	grid-template-columns: 38px 34px minmax(0, 1fr) !important;
	align-items: center !important;
	gap: 9px !important;
	min-height: 58px !important;
	margin: 0 14px !important;
	padding: 8px 0 !important;
	border-bottom: 1px solid rgba(255,255,255,.10) !important;
}
body.tkb-product-design-v7 .tkb-canonical-tracklist .tkb-static-tracklist__item:last-child {
	border-bottom: 0 !important;
}
body.tkb-product-design-v7 .tkb-canonical-tracklist .tkb-static-tracklist__control {
	grid-column: 1 !important;
	justify-self: center !important;
}
body.tkb-product-design-v7 .tkb-canonical-tracklist .tkb-static-tracklist__position {
	grid-column: 2 !important;
	font-size: 9px !important;
	color: #b8c0c8 !important;
}
body.tkb-product-design-v7 .tkb-canonical-tracklist .tkb-static-tracklist__copy {
	grid-column: 3 !important;
	min-width: 0 !important;
}
body.tkb-product-design-v7 .tkb-canonical-tracklist .tkb-static-tracklist__title {
	font-size: 12px !important;
	line-height: 1.2 !important;
	color: #fff !important;
}
body.tkb-product-design-v7 .tkb-canonical-tracklist .tkb-static-tracklist__artist {
	font-size: 9px !important;
	line-height: 1.25 !important;
	color: #aeb6be !important;
}
body.tkb-product-design-v7 .tkb-canonical-tracklist + .tkbpp-product-reassurance,
body.tkb-product-design-v7 .tkbpp-product-reassurance--mobile-after-audio {
	margin-top: 10px !important;
	margin-bottom: 10px !important;
}
@media (max-width: 1180px) and (min-width: 601px) {
	body.tkb-product-design-v7:not(.tkb-family-pack) .tkb-universal-purchase-row {
		grid-template-columns: minmax(0, 1fr) max-content !important;
		grid-template-rows: auto auto !important;
		row-gap: 8px !important;
	}
	body.tkb-product-design-v7:not(.tkb-family-pack) .tkb-universal-price {
		grid-column: 1 !important;
		grid-row: 1 !important;
	}
	body.tkb-product-design-v7:not(.tkb-family-pack) .tkb-universal-stock {
		grid-column: 2 !important;
		grid-row: 1 !important;
		justify-self: end !important;
	}
	body.tkb-product-design-v7:not(.tkb-family-pack) .tkb-universal-purchase-row > .tkb-buy-row > .quantity {
		grid-column: 1 !important;
		grid-row: 2 !important;
	}
	body.tkb-product-design-v7:not(.tkb-family-pack) .tkb-universal-purchase-row > .tkb-buy-row > .single_add_to_cart_button {
		grid-column: 2 !important;
		grid-row: 2 !important;
		width: 100% !important;
	}
}
@media (max-width: 600px) {
	body.tkb-product-design-v7:not(.tkb-family-pack) .tkb-universal-purchase-row {
		grid-template-columns: minmax(0, 1fr) minmax(108px, max-content) !important;
		grid-template-rows: auto auto !important;
		column-gap: 7px !important;
		row-gap: 7px !important;
		margin: 5px 0 7px !important;
		padding: 8px !important;
	}
	body.tkb-product-design-v7:not(.tkb-family-pack) .tkb-universal-price {
		grid-column: 1 !important;
		grid-row: 1 !important;
		font-size: clamp(20px, 7vw, 25px) !important;
	}
	body.tkb-product-design-v7:not(.tkb-family-pack) .tkb-universal-stock {
		grid-column: 2 !important;
		grid-row: 1 !important;
		justify-self: end !important;
		max-width: 124px !important;
		padding: 6px 8px !important;
		font-size: 8.5px !important;
	}
	body.tkb-product-design-v7:not(.tkb-family-pack) .tkb-universal-purchase-row > .tkb-buy-row > .quantity {
		grid-column: 1 !important;
		grid-row: 2 !important;
		width: 108px !important;
		min-width: 108px !important;
	}
	body.tkb-product-design-v7:not(.tkb-family-pack) .tkb-universal-purchase-row > .tkb-buy-row > .single_add_to_cart_button {
		grid-column: 2 !important;
		grid-row: 2 !important;
		width: 100% !important;
		min-height: 46px !important;
		padding: 7px 9px !important;
		font-size: 10px !important;
	}
	body.tkb-product-design-v7 .tkb-canonical-tracklist {
		margin-top: 6px !important;
	}
	body.tkb-product-design-v7 .tkb-canonical-tracklist .tkb-canonical-tracklist__header {
		height: 22px !important;
		min-height: 22px !important;
		max-height: 22px !important;
		padding: 0 10px !important;
	}
	body.tkb-product-design-v7 .tkb-canonical-tracklist .tkb-static-tracklist__item {
		grid-template-columns: 36px 30px minmax(0, 1fr) !important;
		min-height: 54px !important;
		margin: 0 10px !important;
		padding: 7px 0 !important;
	}
	body.tkb-product-design-v7 .tkbpp-product-reassurance,
	body.tkb-product-design-v7 .tkbpp-product-reassurance--mobile-after-audio {
		margin-top: 8px !important;
		margin-bottom: 8px !important;
	}
}
/* =========================================================
 * V1.3.51 — custom-player duplicate cleanup and mobile spacing.
 * ========================================================= */
body.tkb-product-design-v7 .tkb-native-player-source,
body.tkb-product-design-v7 .tkb-native-track-row-source,
body.tkb-product-design-v7 .tkb-native-player-heading-source {
	display: block !important;
	position: absolute !important;
	left: -100000px !important;
	top: 0 !important;
	width: 1px !important;
	height: 1px !important;
	min-width: 0 !important;
	min-height: 0 !important;
	max-width: 1px !important;
	max-height: 1px !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow: hidden !important;
	clip: rect(0 0 0 0) !important;
	clip-path: inset(50%) !important;
	white-space: nowrap !important;
	border: 0 !important;
	opacity: 0 !important;
	pointer-events: none !important;
}
body.tkb-product-design-v7:not(.tkb-family-pack)
.tkb-universal-purchase-row > .tkb-buy-row > .single_add_to_cart_button:not(.disabled):not(:disabled),
body.tkb-product-design-v7:not(.tkb-family-pack)
.tkb-universal-purchase-row .single_add_to_cart_button:not(.disabled):not(:disabled) {
	background: var(--tkb-orange, #ff9900) !important;
	background-image: none !important;
	border-color: var(--tkb-orange, #ff9900) !important;
	color: #111 !important;
	opacity: 1 !important;
	filter: none !important;
	box-shadow: none !important;
}
body.tkb-product-design-v7:not(.tkb-family-pack)
.tkb-universal-purchase-row .single_add_to_cart_button:not(.disabled):not(:disabled):hover,
body.tkb-product-design-v7:not(.tkb-family-pack)
.tkb-universal-purchase-row .single_add_to_cart_button:not(.disabled):not(:disabled):focus-visible {
	background: #e88a00 !important;
	border-color: #e88a00 !important;
	color: #111 !important;
}
body.tkb-product-design-v7:not(.tkb-family-pack) .tkb-price-source-host {
	min-height: 0 !important;
	margin-bottom: 0 !important;
	padding-bottom: 0 !important;
}
body.tkb-product-design-v7:not(.tkb-family-pack) .tkb-empty-purchase-source-host {
	height: 0 !important;
	min-height: 0 !important;
	max-height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow: visible !important;
}
@media (max-width: 600px) {
	body.tkb-product-design-v7:not(.tkb-family-pack) .tkb-universal-purchase-row {
		margin-top: 0 !important;
		margin-bottom: 4px !important;
	}
	body.tkb-product-design-v7:not(.tkb-family-pack) .tkb-price-source-host,
	body.tkb-product-design-v7:not(.tkb-family-pack) .tkb-empty-purchase-source-host {
		margin-top: 0 !important;
		margin-bottom: 0 !important;
	}
	body.tkb-product-design-v7 .tkb-canonical-tracklist {
		margin-top: 4px !important;
	}
}
/* V1.3.52 — requested changes only. */
@media (min-width: 981px) {
	body.tkb-product-design-v7:not(.tkb-family-pack) .tkb-universal-purchase-row {
		margin-top: 0 !important;
	}
}
/* V1.3.53 — requested changes only: rounded tracklist and tighter desktop spacing. */
body.tkb-product-design-v7 .tkb-canonical-tracklist {
	border-radius: 10px !important;
	overflow: hidden !important;
	isolation: isolate !important;
	clip-path: inset(0 round 10px) !important;
}
body.tkb-product-design-v7 .tkb-canonical-tracklist .tkb-canonical-tracklist__header {
	border-radius: 10px 10px 0 0 !important;
}
body.tkb-product-design-v7 .tkb-canonical-tracklist .tkb-static-tracklist__viewport {
	border-radius: 0 0 10px 10px !important;
	overflow: hidden auto !important;
}
@media (min-width: 981px) {
	body.tkb-product-design-v7:not(.tkb-family-pack) .tkb-universal-purchase-row {
		margin-top: -10px !important;
	}
}
/* =========================================================
 * V1.3.54 — uniform spacing between product-page blocks only.
 * One shared gap is used on desktop and mobile. No visual styles changed.
 * ========================================================= */
body.tkb-product-design-v7 {
	--tkbpp-product-block-gap: 10px;
}
body.tkb-product-design-v7:not(.tkb-family-pack) .tkb-universal-purchase-row {
	margin-top: var(--tkbpp-product-block-gap) !important;
	margin-bottom: 0 !important;
}
body.tkb-product-design-v7 .tkb-canonical-tracklist {
	margin-top: var(--tkbpp-product-block-gap) !important;
	margin-bottom: 0 !important;
}
body.tkb-product-design-v7 .tkbpp-product-reassurance,
body.tkb-product-design-v7 .tkbpp-product-reassurance--mobile-after-audio,
body.tkb-product-design-v7 .tkb-canonical-tracklist + .tkbpp-product-reassurance {
	margin-top: var(--tkbpp-product-block-gap) !important;
	margin-bottom: 0 !important;
}
body.tkb-product-design-v7 .tkbpp-product-reassurance + .tkbpp-recommendations-root,
body.tkb-product-design-v7 .tkbpp-recommendations-root.tkbpp-recommendations-root--embedded,
body.tkb-product-design-v7 .tkbpp-recommendations-root--inline,
body.tkb-product-design-v7 .tkbpp-recommendations-root--fallback {
	margin-top: var(--tkbpp-product-block-gap) !important;
}
body.tkb-product-design-v7 .tkb-product-details-stack,
body.tkb-product-design-v7 .tkb-reviews-bottom {
	margin-top: var(--tkbpp-product-block-gap) !important;
}
@media (max-width: 980px) {
	body.tkb-product-design-v7 {
		--tkbpp-product-block-gap: 10px;
	}
}
body.tkb-product-design-v7 .tkb-collapsed-native-player-shell {
	display: none !important;
	width: 0 !important;
	height: 0 !important;
	min-width: 0 !important;
	min-height: 0 !important;
	max-width: 0 !important;
	max-height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	overflow: hidden !important;
}
/* =========================================================
 * V1.3.55 — requested spacing and desktop gallery changes only.
 * ========================================================= */
body.tkb-product-design-v7:not(.tkb-family-pack) .tkb-universal-purchase-row {
	margin-top: 6px !important;
}
body.tkb-product-design-v7 .tkb-canonical-tracklist {
	margin-top: 14px !important;
}
body.tkb-product-design-v7
.tkb-product-gallery-column
.woocommerce-product-gallery__wrapper,
body.tkb-product-design-v7
.tkb-product-gallery-column
.woocommerce-product-gallery .flex-viewport,
body.tkb-product-design-v7
.tkb-product-gallery-column
.woocommerce-product-gallery__image,
body.tkb-product-design-v7
.tkb-product-gallery-column
.woocommerce-product-gallery__image > a,
body.tkb-product-design-v7
.tkb-product-gallery-column
.woocommerce-product-gallery__image img {
	border-radius: 10px !important;
}
@media (min-width: 981px) {
	body.tkb-product-design-v7
	.tkb-product-gallery-column
	.woocommerce-product-gallery .flex-viewport,
	body.tkb-product-design-v7
	.tkb-product-gallery-column
	.woocommerce-product-gallery__wrapper {
		cursor: grab !important;
		user-select: none !important;
		-webkit-user-select: none !important;
	}
	body.tkb-product-design-v7
	.tkb-product-gallery-column
	.woocommerce-product-gallery .flex-viewport.is-tkb-gallery-dragging,
	body.tkb-product-design-v7
	.tkb-product-gallery-column
	.woocommerce-product-gallery__wrapper.is-tkb-gallery-dragging {
		cursor: grabbing !important;
	}
	body.tkb-product-design-v7
	.tkb-product-gallery-column
	.woocommerce-product-gallery img {
		-webkit-user-drag: none !important;
		user-drag: none !important;
	}
}
/* =========================================================
 * V1.3.56 — definitive native custom-player de-duplication.
 * The canonical tracklist remains visible; every detected source playlist
 * shell is fully removed from layout while its DOM controls stay callable.
 * ========================================================= */
body.tkb-product-design-v7 .tkb-native-player-shell-source,
body.tkb-product-design-v7 .tkb-native-player-source,
body.tkb-product-design-v7 .tkb-native-player-heading-source,
body.tkb-product-design-v7 .tkb-native-track-row-source,
body.tkb-product-design-v7 .tkb-collapsed-native-player-shell {
	display: none !important;
	visibility: hidden !important;
	position: absolute !important;
	left: -100000px !important;
	top: 0 !important;
	width: 0 !important;
	height: 0 !important;
	min-width: 0 !important;
	min-height: 0 !important;
	max-width: 0 !important;
	max-height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	overflow: hidden !important;
	opacity: 0 !important;
	pointer-events: none !important;
}
/* =========================================================
 * V1.3.58 — uniform major-block rhythm only.
 * Same 12px gap on desktop and mobile between information,
 * purchase, tracklist, reassurance, recommendations and reviews.
 * ========================================================= */
body.tkb-product-design-v7 {
	--tkbpp-product-block-gap: 12px;
}
/* The identity card used to carry its own 19px bottom margin, which was
 * added to the purchase-row margin and produced a visibly larger gap. */
body.tkb-product-design-v7:not(.tkb-family-pack) .tkb-product-identity {
	margin-bottom: 0 !important;
}
/* Invisible WooCommerce source modules must not add hidden vertical space. */
body.tkb-product-design-v7:not(.tkb-family-pack) .tkb-price-source-host,
body.tkb-product-design-v7:not(.tkb-family-pack) .tkb-empty-purchase-source-host {
	min-height: 0 !important;
	margin-top: 0 !important;
	margin-bottom: 0 !important;
	padding-top: 0 !important;
	padding-bottom: 0 !important;
}
body.tkb-product-design-v7:not(.tkb-family-pack) .tkb-universal-purchase-row {
	margin-top: var(--tkbpp-product-block-gap) !important;
	margin-bottom: 0 !important;
}
body.tkb-product-design-v7 .tkb-canonical-tracklist {
	margin-top: var(--tkbpp-product-block-gap) !important;
	margin-bottom: 0 !important;
}
body.tkb-product-design-v7 .tkbpp-product-reassurance,
body.tkb-product-design-v7 .tkbpp-product-reassurance--mobile-after-audio,
body.tkb-product-design-v7 .tkb-canonical-tracklist + .tkbpp-product-reassurance {
	margin-top: var(--tkbpp-product-block-gap) !important;
	margin-bottom: 0 !important;
}
body.tkb-product-design-v7 .tkbpp-recommendations-root,
body.tkb-product-design-v7 .tkbpp-recommendations-root--inline,
body.tkb-product-design-v7 .tkbpp-recommendations-root--fallback,
body.tkb-product-design-v7 .tkbpp-recommendations-root--embedded {
	margin-top: var(--tkbpp-product-block-gap) !important;
	gap: var(--tkbpp-product-block-gap) !important;
}
body.tkb-product-design-v7 .tkb-product-details-stack,
body.tkb-product-design-v7 .tkb-reviews-bottom {
	margin-top: var(--tkbpp-product-block-gap) !important;
}
/* =========================================================
 * V1.3.59 — canonical purchase/tracklist spacing only.
 * The purchase row is now a direct sibling of the information block,
 * so hidden Divi/WooCommerce modules can no longer create a large gap.
 * ========================================================= */
body.tkb-product-design-v7:not(.tkb-family-pack) .tkb-purchase-anchor-host {
	margin-bottom: 0 !important;
}
body.tkb-product-design-v7:not(.tkb-family-pack)
.tkb-purchase-anchor-host + .tkb-universal-purchase-row {
	margin-top: 12px !important;
	margin-bottom: 0 !important;
}
body.tkb-product-design-v7:not(.tkb-family-pack)
.tkb-universal-purchase-row + .tkb-canonical-tracklist {
	margin-top: 12px !important;
	margin-bottom: 0 !important;
}
body.tkb-product-design-v7:not(.tkb-family-pack) .tkb-price-source-host,
body.tkb-product-design-v7:not(.tkb-family-pack) .tkb-empty-purchase-source-host {
	display: none !important;
	height: 0 !important;
	min-height: 0 !important;
	max-height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	overflow: hidden !important;
}
/* =========================================================
 * V1.3.67 — rythme vertical uniforme sur toute la fiche.
 * Une seule valeur de 12 px entre les blocs principaux,
 * du titre jusqu'aux avis, sans modifier leur apparence.
 * ========================================================= */
body.tkb-product-design-v7 {
	--tkbpp-product-block-gap: 12px;
}
/* Titre → informations : l'ancien module Divi gardait 14 px sur desktop
 * et 8 px sur mobile. Le rythme est désormais identique partout. */
body.tkb-product-design-v7 .tkb-product-info-column .et_pb_wc_title {
	margin-bottom: var(--tkbpp-product-block-gap) !important;
}
/* La ligne principale Divi ajoutait encore 8 px sous la zone image / infos.
 * Le premier bloc inférieur porte déjà sa propre marge de 12 px. */
body.tkb-product-design-v7 .tkb-product-hero-row {
	margin-bottom: 0 !important;
	padding-bottom: 0 !important;
}
/* Le conteneur inférieur issu du template Divi ne doit ajouter aucun espace
 * au-dessus des recommandations. */
body.tkb-product-design-v7.tkbpp-structure-v3 .tkbpp-template-lower-row,
body.tkb-product-design-v7.tkbpp-structure-v3 .tkbpp-canonical-lower-row {
	margin-top: 0 !important;
	padding-top: 0 !important;
	padding-bottom: var(--tkbpp-product-block-gap) !important;
}
/* Réassurance / contenu précédent → recommandations, puis même distance
 * entre chacune des trois sections éditoriales. */
body.tkb-product-design-v7 .tkbpp-canonical-lower-column > .tkbpp-recommendations-root,
body.tkb-product-design-v7 .tkbpp-recommendations-root,
body.tkb-product-design-v7 .tkbpp-recommendations-root--embedded {
	margin-top: var(--tkbpp-product-block-gap) !important;
	margin-bottom: 0 !important;
	gap: var(--tkbpp-product-block-gap) !important;
}
body.tkb-product-design-v7 .tkbpp-recommendation-section + .tkbpp-recommendation-section {
	margin-top: 0 !important;
}
/* Dernière recommandation → avis : neutralise les anciennes valeurs de 18/24 px. */
body.tkb-product-design-v7 .tkbpp-canonical-lower-column
> .tkbpp-recommendations-root
+ .tkbpp-server-reviews,
body.tkb-product-design-v7 .tkbpp-recommendations-root + .tkb-reviews-bottom,
body.tkb-product-design-v7 .tkb-reviews-bottom {
	margin-top: var(--tkbpp-product-block-gap) !important;
	margin-bottom: 0 !important;
}
/* ===== product-system.css ===== */
/* ==========================================================
 * TEKNOBOUTIK PRODUCT PAGES — CANONICAL VISUAL SYSTEM V1
 * Lot 3 / v1.3.69
 *
 * One final layer for visual consistency. The structural and functional
 * behaviour remains owned by the lot-2 controllers.
 * ========================================================== */
body.tkb-product-design-v7.tkbpp-visual-system-v1 {
	--tkbpp-ui-gap: 12px;
	--tkbpp-ui-radius: 10px;
	--tkbpp-ui-control-radius: 8px;
	--tkbpp-ui-border: #e1e4e7;
	--tkbpp-ui-soft-border: #e8ebed;
	--tkbpp-ui-surface: #ffffff;
	--tkbpp-ui-soft-surface: #fafafa;
	--tkbpp-ui-text: #17191b;
	--tkbpp-ui-muted: #8c9298;
	--tkbpp-ui-orange: var(--tkb-orange, #ff9900);
	--tkbpp-ui-orange-hover: #e78600;
	--tkbpp-ui-shadow: 0 6px 20px rgba(20, 25, 30, .05);
	--tkbpp-product-block-gap: var(--tkbpp-ui-gap);
}
/* ----------------------------------------------------------
 * Shared surfaces and rhythm
 * ---------------------------------------------------------- */
body.tkb-product-design-v7.tkbpp-visual-system-v1 .tkb-product-identity,
body.tkb-product-design-v7.tkbpp-visual-system-v1 .tkb-universal-purchase-row,
body.tkb-product-design-v7.tkbpp-visual-system-v1 .tkbpp-product-reassurance,
body.tkb-product-design-v7.tkbpp-visual-system-v1 .tkbpp-recommendation-section,
body.tkb-product-design-v7.tkbpp-visual-system-v1 .tkb-reviews-bottom,
body.tkb-product-design-v7.tkbpp-visual-system-v1 .tkbpp-server-reviews > #reviews {
	border-color: var(--tkbpp-ui-border) !important;
	border-radius: var(--tkbpp-ui-radius) !important;
	box-shadow: var(--tkbpp-ui-shadow) !important;
}
body.tkb-product-design-v7.tkbpp-visual-system-v1 .tkb-product-identity {
	margin-bottom: 0 !important;
	border-left-color: var(--tkbpp-ui-orange) !important;
}
body.tkb-product-design-v7.tkbpp-visual-system-v1 .tkb-product-info-column .et_pb_wc_title {
	margin-bottom: var(--tkbpp-ui-gap) !important;
}
body.tkb-product-design-v7.tkbpp-visual-system-v1 .tkb-universal-purchase-row,
body.tkb-product-design-v7.tkbpp-visual-system-v1 .tkb-canonical-tracklist,
body.tkb-product-design-v7.tkbpp-visual-system-v1 .tkbpp-product-reassurance,
body.tkb-product-design-v7.tkbpp-visual-system-v1 .tkbpp-recommendations-root,
body.tkb-product-design-v7.tkbpp-visual-system-v1 .tkb-reviews-bottom,
body.tkb-product-design-v7.tkbpp-visual-system-v1 .tkbpp-server-reviews {
	margin-top: var(--tkbpp-ui-gap) !important;
	margin-bottom: 0 !important;
}
body.tkb-product-design-v7.tkbpp-visual-system-v1 .tkbpp-recommendations-root {
	gap: var(--tkbpp-ui-gap) !important;
}
body.tkb-product-design-v7.tkbpp-visual-system-v1 .tkbpp-recommendation-section + .tkbpp-recommendation-section {
	margin-top: 0 !important;
}
body.tkb-product-design-v7.tkbpp-visual-system-v1 .tkbpp-template-lower-row,
body.tkb-product-design-v7.tkbpp-visual-system-v1 .tkbpp-canonical-lower-row {
	margin-top: 0 !important;
	padding-top: 0 !important;
	padding-bottom: var(--tkbpp-ui-gap) !important;
}
/* Main blocks now share the same outer rounding. Inner controls deliberately
 * use the smaller control radius so the hierarchy remains readable. */
body.tkb-product-design-v7.tkbpp-visual-system-v1 .tkb-canonical-tracklist,
body.tkb-product-design-v7.tkbpp-visual-system-v1 .tkb-canonical-tracklist__header,
body.tkb-product-design-v7.tkbpp-visual-system-v1 .tkb-static-tracklist__viewport,
body.tkb-product-design-v7.tkbpp-visual-system-v1 .tkb-product-gallery-column .woocommerce-product-gallery__wrapper,
body.tkb-product-design-v7.tkbpp-visual-system-v1 .tkb-product-gallery-column .woocommerce-product-gallery .flex-viewport,
body.tkb-product-design-v7.tkbpp-visual-system-v1 .tkb-product-gallery-column .woocommerce-product-gallery__image,
body.tkb-product-design-v7.tkbpp-visual-system-v1 .tkb-product-gallery-column .woocommerce-product-gallery__image > a,
body.tkb-product-design-v7.tkbpp-visual-system-v1 .tkb-product-gallery-column .woocommerce-product-gallery__image img {
	border-radius: var(--tkbpp-ui-radius) !important;
}
body.tkb-product-design-v7.tkbpp-visual-system-v1 .tkb-canonical-tracklist__header {
	border-radius: var(--tkbpp-ui-radius) var(--tkbpp-ui-radius) 0 0 !important;
}
body.tkb-product-design-v7.tkbpp-visual-system-v1 .tkb-static-tracklist__viewport {
	border-radius: 0 0 var(--tkbpp-ui-radius) var(--tkbpp-ui-radius) !important;
}
body.tkb-product-design-v7.tkbpp-visual-system-v1 .tkbpp-product-reassurance__item,
body.tkb-product-design-v7.tkbpp-visual-system-v1 .tkb-reviews-bottom .commentlist li,
body.tkb-product-design-v7.tkbpp-visual-system-v1 .tkb-reviews-bottom #review_form_wrapper,
body.tkb-product-design-v7.tkbpp-visual-system-v1 table.variations {
	border-radius: var(--tkbpp-ui-control-radius) !important;
}
/* ----------------------------------------------------------
 * Canonical price / stock / quantity / cart controls
 * ---------------------------------------------------------- */
body.tkb-product-design-v7.tkbpp-visual-system-v1 .tkb-universal-price,
body.tkb-product-design-v7.tkbpp-visual-system-v1 .tkb-universal-price *,
body.tkb-product-design-v7.tkbpp-visual-system-v1 .tkb-universal-price .woocommerce-Price-amount,
body.tkb-product-design-v7.tkbpp-visual-system-v1 .tkb-universal-price .woocommerce-Price-currencySymbol,
body.tkb-product-design-v7.tkbpp-visual-system-v1 .tkb-universal-price bdi,
body.tkb-product-design-v7.tkbpp-visual-system-v1 .tkb-universal-price ins {
	color: var(--tkbpp-ui-text) !important;
	-webkit-text-fill-color: var(--tkbpp-ui-text) !important;
	text-shadow: none !important;
}
body.tkb-product-design-v7.tkbpp-visual-system-v1 .tkb-universal-price {
	font-size: clamp(27px, 2.2vw, 31px) !important;
	font-weight: 800 !important;
}
body.tkb-product-design-v7.tkbpp-visual-system-v1 .tkb-universal-price del,
body.tkb-product-design-v7.tkbpp-visual-system-v1 .tkb-universal-price del * {
	color: var(--tkbpp-ui-muted) !important;
	-webkit-text-fill-color: var(--tkbpp-ui-muted) !important;
	font-size: 13.5px !important;
	font-weight: 600 !important;
}
body.tkb-product-design-v7.tkbpp-visual-system-v1 .tkb-stock-display,
body.tkb-product-design-v7.tkbpp-visual-system-v1 .tkb-universal-stock {
	min-height: 36px !important;
	margin: 0 !important;
	padding: 6px 9px !important;
	font-size: 10px !important;
	line-height: 1.1 !important;
}
body.tkb-product-design-v7.tkbpp-visual-system-v1 .tkb-buy-row > .quantity,
body.tkb-product-design-v7.tkbpp-visual-system-v1 .tkb-universal-purchase-row .quantity,
body.tkb-product-design-v7.tkbpp-visual-system-v1 .tkb-buy-row .single_add_to_cart_button,
body.tkb-product-design-v7.tkbpp-visual-system-v1 .tkb-universal-purchase-row .single_add_to_cart_button {
	border-radius: var(--tkbpp-ui-control-radius) !important;
}
body.tkb-product-design-v7.tkbpp-visual-system-v1 .tkb-universal-purchase-row {
	gap: var(--tkbpp-ui-gap) !important;
	padding: 12px !important;
	background: var(--tkbpp-ui-surface) !important;
}
body.tkb-product-design-v7.tkbpp-visual-system-v1 .tkb-universal-purchase-row > .tkb-buy-row > .single_add_to_cart_button {
	min-height: 50px !important;
}
/* ----------------------------------------------------------
 * Packs — same purchase component, adapted to the WPC form DOM
 * ---------------------------------------------------------- */
body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack .tkb-bundle-purchase-bar,
body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack .tkb-bundle-purchase-bar--flat {
	box-sizing: border-box !important;
	width: 100% !important;
	max-width: 100% !important;
	margin: var(--tkbpp-ui-gap) 0 0 !important;
	padding: 12px !important;
	background: var(--tkbpp-ui-surface) !important;
	border: 1px solid var(--tkbpp-ui-border) !important;
	border-radius: var(--tkbpp-ui-radius) !important;
	box-shadow: var(--tkbpp-ui-shadow) !important;
}
body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack .tkb-bundle-purchase-bar .et_pb_wc_price,
body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack .tkb-bundle-purchase-bar .et_pb_wc_price > .et_pb_module_inner,
body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack .tkb-bundle-purchase-bar .et_pb_wc_price .price {
	min-width: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
}
body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack .tkb-bundle-purchase-bar .et_pb_wc_price .price {
	display: flex !important;
	flex: 0 1 auto !important;
	flex-wrap: nowrap !important;
	align-items: baseline !important;
	gap: 7px !important;
	color: var(--tkbpp-ui-text) !important;
	font-size: clamp(27px, 2.2vw, 31px) !important;
	font-weight: 800 !important;
	line-height: 1 !important;
	white-space: nowrap !important;
}
body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack .tkb-bundle-purchase-bar .et_pb_wc_price .price ins,
body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack .tkb-bundle-purchase-bar .et_pb_wc_price .price ins *,
body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack .tkb-bundle-purchase-bar .et_pb_wc_price .price > .woocommerce-Price-amount,
body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack .tkb-bundle-purchase-bar .et_pb_wc_price .price > .woocommerce-Price-amount *,
body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack .tkb-bundle-purchase-bar .et_pb_wc_price .price bdi,
body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack .tkb-bundle-purchase-bar .et_pb_wc_price .price .woocommerce-Price-currencySymbol {
	display: inline !important;
	height: auto !important;
	min-height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	color: var(--tkbpp-ui-text) !important;
	-webkit-text-fill-color: var(--tkbpp-ui-text) !important;
	background: transparent !important;
	border: 0 !important;
	border-radius: 0 !important;
	font-size: inherit !important;
	font-weight: inherit !important;
	line-height: inherit !important;
	text-decoration: none !important;
	text-shadow: none !important;
}
body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack .tkb-bundle-purchase-bar .et_pb_wc_price .price del,
body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack .tkb-bundle-purchase-bar .et_pb_wc_price .price del * {
	display: inline !important;
	height: auto !important;
	min-height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	color: var(--tkbpp-ui-muted) !important;
	-webkit-text-fill-color: var(--tkbpp-ui-muted) !important;
	font-size: 13.5px !important;
	font-weight: 600 !important;
	line-height: 1 !important;
	white-space: nowrap !important;
	text-shadow: none !important;
}
body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack .tkb-bundle-purchase-bar .tkb-stock-display {
	flex: 0 0 auto !important;
	min-height: 36px !important;
	margin: 0 !important;
	padding: 6px 9px !important;
	font-size: 9.5px !important;
	line-height: 1.1 !important;
}
body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack .tkb-bundle-purchase-quantity,
body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack .tkb-bundle-button-cell,
body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack .tkb-bundle-purchase-button {
	min-height: 50px !important;
	height: 50px !important;
	margin: 0 !important;
}
body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack .tkb-bundle-purchase-quantity,
body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack .tkb-bundle-purchase-button {
	border-radius: var(--tkbpp-ui-control-radius) !important;
}
body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack .tkb-bundle-button-cell {
	padding: 0 !important;
}
body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack .tkb-bundle-purchase-button {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 100% !important;
	max-width: none !important;
	padding: 12px 16px !important;
	white-space: nowrap !important;
}
@media (min-width: 981px) {
	body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack .tkb-bundle-purchase-bar,
	body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack .tkb-bundle-purchase-bar--flat {
		display: grid !important;
		grid-template-columns: minmax(0, 1fr) auto !important;
		align-items: center !important;
		gap: var(--tkbpp-ui-gap) !important;
		min-height: 74px !important;
	}
	body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack .tkb-bundle-purchase-bar > .tkb-price-stock-row,
	body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack .tkb-bundle-purchase-bar--flat > .tkb-price-stock-row {
		display: flex !important;
		flex: 1 1 auto !important;
		flex-wrap: nowrap !important;
		align-items: center !important;
		justify-content: flex-start !important;
		gap: 9px !important;
		width: auto !important;
		min-width: 0 !important;
		min-height: 50px !important;
		margin: 0 !important;
	}
	body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack .tkb-bundle-purchase-bar > form.tkb-bundle-purchase-form {
		display: block !important;
		flex: none !important;
		width: auto !important;
		min-width: 0 !important;
		max-width: none !important;
		height: 50px !important;
		min-height: 50px !important;
		margin: 0 !important;
		padding: 0 !important;
	}
	body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack .tkb-bundle-purchase-bar form.tkb-bundle-purchase-form > .tkb-buy-row,
	body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack .tkb-bundle-purchase-bar form.tkb-bundle-purchase-form .tkb-bundle-buy-row {
		display: grid !important;
		grid-template-columns: 108px clamp(205px, 20vw, 235px) !important;
		align-items: stretch !important;
		justify-content: end !important;
		gap: var(--tkbpp-ui-gap) !important;
		width: auto !important;
		min-width: 0 !important;
		height: 50px !important;
		min-height: 50px !important;
		margin: 0 !important;
		padding: 0 !important;
	}
	body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack .tkb-bundle-button-cell {
		width: clamp(205px, 20vw, 235px) !important;
		max-width: 235px !important;
	}
}
@media (min-width: 768px) and (max-width: 980px) {
	body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack .tkb-bundle-purchase-bar,
	body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack .tkb-bundle-purchase-bar--flat {
		display: grid !important;
		grid-template-columns: 1fr !important;
		gap: 10px !important;
	}
	body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack .tkb-bundle-purchase-bar > .tkb-price-stock-row,
	body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack .tkb-bundle-purchase-bar--flat > .tkb-price-stock-row {
		display: flex !important;
		flex-wrap: wrap !important;
		align-items: center !important;
		gap: 9px !important;
		width: 100% !important;
		margin: 0 !important;
	}
	body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack .tkb-bundle-purchase-bar > form.tkb-bundle-purchase-form {
		width: min(100%, 390px) !important;
		max-width: 390px !important;
		margin: 0 !important;
	}
	body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack .tkb-bundle-purchase-bar form.tkb-bundle-purchase-form .tkb-bundle-buy-row {
		grid-template-columns: 108px minmax(0, 1fr) !important;
		gap: var(--tkbpp-ui-gap) !important;
	}
}
@media (max-width: 767px) {
	body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack .tkb-bundle-purchase-bar,
	body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack .tkb-bundle-purchase-bar--flat {
		display: grid !important;
		grid-template-columns: 1fr !important;
		gap: 10px !important;
		padding: 10px !important;
	}
	body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack .tkb-bundle-purchase-bar > .tkb-price-stock-row,
	body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack .tkb-bundle-purchase-bar--flat > .tkb-price-stock-row {
		display: flex !important;
		flex-wrap: wrap !important;
		align-items: center !important;
		gap: 8px !important;
		width: 100% !important;
		margin: 0 !important;
	}
	body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack .tkb-bundle-purchase-bar .et_pb_wc_price .price {
		font-size: clamp(25px, 8vw, 28px) !important;
	}
	body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack .tkb-bundle-purchase-bar .et_pb_wc_price .price del,
	body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack .tkb-bundle-purchase-bar .et_pb_wc_price .price del * {
		font-size: 12.5px !important;
	}
	body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack .tkb-bundle-purchase-bar > form.tkb-bundle-purchase-form {
		width: 100% !important;
		max-width: none !important;
		margin: 0 !important;
	}
	body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack .tkb-bundle-purchase-bar form.tkb-bundle-purchase-form .tkb-bundle-buy-row {
		grid-template-columns: 100px minmax(0, 1fr) !important;
		gap: 10px !important;
		width: 100% !important;
	}
}
/* ----------------------------------------------------------
 * Recommendation and review surfaces
 * ---------------------------------------------------------- */
body.tkb-product-design-v7.tkbpp-visual-system-v1 .tkbpp-recommendation-section {
	background: var(--tkbpp-ui-surface) !important;
}
body.tkb-product-design-v7.tkbpp-visual-system-v1 .tkb-reviews-bottom,
body.tkb-product-design-v7.tkbpp-visual-system-v1 .tkbpp-server-reviews > #reviews {
	background: var(--tkbpp-ui-surface) !important;
}
@media (max-width: 600px) {
	body.tkb-product-design-v7.tkbpp-visual-system-v1 {
		--tkbpp-ui-gap: 12px;
	}
	body.tkb-product-design-v7.tkbpp-visual-system-v1 .tkb-universal-purchase-row {
		padding: 10px !important;
	}
	body.tkb-product-design-v7.tkbpp-visual-system-v1 .tkb-universal-price {
		font-size: clamp(23px, 7vw, 28px) !important;
	}
}
/* ==========================================================
 * Lot 3 / v1.3.70 — pack price alignment and responsive buy bar
 *
 * Final canonical layer for packs. It deliberately overrides the historical
 * bundle rules without changing the WPC Bundle markup or purchase behaviour.
 * ========================================================== */
/* Pack purchase bar: one shared horizontal axis from tablet upward. */
@media (min-width: 768px) {
	body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack .tkb-bundle-purchase-bar,
	body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack .tkb-bundle-purchase-bar--flat {
		display: grid !important;
		grid-template-columns: minmax(0, 1fr) 108px clamp(210px, 26vw, 260px) !important;
		grid-template-rows: 50px !important;
		align-items: center !important;
		column-gap: var(--tkbpp-ui-gap) !important;
		row-gap: 0 !important;
		min-height: 74px !important;
	}
	body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack .tkb-bundle-purchase-bar > .tkb-price-stock-row,
	body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack .tkb-bundle-purchase-bar--flat > .tkb-price-stock-row {
		grid-column: 1 !important;
		grid-row: 1 !important;
		display: grid !important;
		grid-template-columns: minmax(0, max-content) max-content !important;
		align-items: center !important;
		justify-content: start !important;
		gap: 10px !important;
		width: 100% !important;
		min-width: 0 !important;
		min-height: 50px !important;
		margin: 0 !important;
	}
	body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack .tkb-bundle-purchase-bar > form.tkb-bundle-purchase-form,
	body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack .tkb-bundle-purchase-bar--flat > form.tkb-bundle-purchase-form,
	body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack .tkb-bundle-purchase-bar form.tkb-bundle-purchase-form > .tkb-buy-row,
	body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack .tkb-bundle-purchase-bar form.tkb-bundle-purchase-form .tkb-bundle-buy-row {
		display: contents !important;
	}
	body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack .tkb-bundle-purchase-quantity {
		grid-column: 2 !important;
		grid-row: 1 !important;
		width: 108px !important;
		min-width: 108px !important;
		max-width: 108px !important;
		align-self: center !important;
	}
	body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack .tkb-bundle-button-cell {
		grid-column: 3 !important;
		grid-row: 1 !important;
		width: 100% !important;
		min-width: 0 !important;
		max-width: none !important;
		align-self: center !important;
	}
	body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack .tkb-bundle-purchase-button {
		width: 100% !important;
		min-width: 0 !important;
		max-width: none !important;
	}
	body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack .tkb-bundle-purchase-bar .et_pb_wc_price,
	body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack .tkb-bundle-purchase-bar .et_pb_wc_price > .et_pb_module_inner,
	body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack .tkb-bundle-purchase-bar .et_pb_wc_price .price {
		min-width: 0 !important;
		max-width: 100% !important;
	}
	body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack .tkb-bundle-purchase-bar .et_pb_wc_price .price {
		display: flex !important;
		flex-wrap: nowrap !important;
		align-items: baseline !important;
		gap: 7px !important;
		overflow: visible !important;
	}
	body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack .tkb-bundle-purchase-bar .et_pb_wc_price .price ins,
	body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack .tkb-bundle-purchase-bar .et_pb_wc_price .price > .woocommerce-Price-amount {
		order: 1 !important;
		flex: 0 0 auto !important;
	}
	body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack .tkb-bundle-purchase-bar .et_pb_wc_price .price del {
		order: 2 !important;
		flex: 0 0 auto !important;
		align-self: baseline !important;
	}
	body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack .tkb-bundle-purchase-bar .tkb-stock-display {
		max-width: 148px !important;
		white-space: nowrap !important;
	}
}
/* Slightly denser tablet / narrow-desktop treatment while preserving one line. */
@media (min-width: 768px) and (max-width: 1100px) {
	body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack .tkb-bundle-purchase-bar,
	body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack .tkb-bundle-purchase-bar--flat {
		grid-template-columns: minmax(0, 1fr) 100px clamp(190px, 25vw, 225px) !important;
		column-gap: 10px !important;
	}
	body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack .tkb-bundle-purchase-quantity {
		width: 100px !important;
		min-width: 100px !important;
		max-width: 100px !important;
	}
	body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack .tkb-bundle-purchase-bar .et_pb_wc_price .price {
		font-size: clamp(24px, 3vw, 29px) !important;
		gap: 5px !important;
	}
	body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack .tkb-bundle-purchase-bar .et_pb_wc_price .price del,
	body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack .tkb-bundle-purchase-bar .et_pb_wc_price .price del * {
		font-size: 11.5px !important;
	}
	body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack .tkb-bundle-purchase-bar .tkb-stock-display {
		max-width: 138px !important;
		padding: 6px 8px !important;
		font-size: 9px !important;
	}
	body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack .tkb-bundle-purchase-button {
		padding-inline: 12px !important;
		font-size: 13px !important;
	}
}
/* Mobile: price + crossed-out price on the left, stock badge opposite;
 * quantity and cart remain together on the following row. */
@media (max-width: 767px) {
	body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack .tkb-bundle-purchase-bar,
	body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack .tkb-bundle-purchase-bar--flat {
		display: grid !important;
		grid-template-columns: minmax(0, 1fr) !important;
		grid-template-rows: auto auto !important;
		gap: 10px !important;
	}
	body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack .tkb-bundle-purchase-bar > .tkb-price-stock-row,
	body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack .tkb-bundle-purchase-bar--flat > .tkb-price-stock-row {
		display: grid !important;
		grid-template-columns: minmax(0, 1fr) max-content !important;
		align-items: center !important;
		gap: 8px !important;
		width: 100% !important;
		min-width: 0 !important;
		margin: 0 !important;
	}
	body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack .tkb-bundle-purchase-bar .et_pb_wc_price,
	body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack .tkb-bundle-purchase-bar .et_pb_wc_price > .et_pb_module_inner,
	body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack .tkb-bundle-purchase-bar .et_pb_wc_price .price {
		min-width: 0 !important;
		max-width: 100% !important;
	}
	body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack .tkb-bundle-purchase-bar .et_pb_wc_price .price {
		display: flex !important;
		flex-wrap: nowrap !important;
		align-items: baseline !important;
		gap: 5px !important;
		font-size: clamp(23px, 7vw, 27px) !important;
		white-space: nowrap !important;
	}
	body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack .tkb-bundle-purchase-bar .et_pb_wc_price .price ins,
	body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack .tkb-bundle-purchase-bar .et_pb_wc_price .price > .woocommerce-Price-amount {
		order: 1 !important;
	}
	body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack .tkb-bundle-purchase-bar .et_pb_wc_price .price del {
		order: 2 !important;
	}
	body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack .tkb-bundle-purchase-bar .et_pb_wc_price .price del,
	body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack .tkb-bundle-purchase-bar .et_pb_wc_price .price del * {
		font-size: 10.5px !important;
	}
	body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack .tkb-bundle-purchase-bar .tkb-stock-display {
		max-width: 132px !important;
		min-height: 34px !important;
		padding: 5px 8px !important;
		font-size: 8.8px !important;
		white-space: nowrap !important;
	}
	body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack .tkb-bundle-purchase-bar > form.tkb-bundle-purchase-form {
		display: block !important;
		width: 100% !important;
		max-width: none !important;
		margin: 0 !important;
	}
	body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack .tkb-bundle-purchase-bar form.tkb-bundle-purchase-form > .tkb-buy-row,
	body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack .tkb-bundle-purchase-bar form.tkb-bundle-purchase-form .tkb-bundle-buy-row {
		display: grid !important;
		grid-template-columns: 100px minmax(0, 1fr) !important;
		align-items: stretch !important;
		gap: 10px !important;
		width: 100% !important;
		margin: 0 !important;
	}
}
/* ----------------------------------------------------------
 * Prices inside the pack reference list
 * ---------------------------------------------------------- */
@media (min-width: 768px) {
	body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack .tkb-bundle-item.tkb-bundle-item-has-audio {
		grid-template-columns: 26px 54px minmax(0, 1fr) 146px !important;
	}
	body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack .tkb-bundle-item .woosb-price,
	body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack .tkb-bundle-item .woosb-product-price,
	body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack .tkb-bundle-item.tkb-bundle-item-has-audio .woosb-price,
	body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack .tkb-bundle-item.tkb-bundle-item-has-audio .woosb-product-price {
		display: grid !important;
		grid-template-columns: 58px 78px !important;
		align-items: baseline !important;
		justify-content: end !important;
		gap: 6px !important;
		width: 146px !important;
		min-width: 146px !important;
		max-width: 146px !important;
		margin: 0 !important;
		padding: 0 !important;
		text-align: right !important;
		white-space: nowrap !important;
		overflow: visible !important;
	}
	body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack .tkb-bundle-item .tkb-bundle-original-price {
		grid-column: 1 !important;
		justify-self: end !important;
		align-self: baseline !important;
	}
	body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack .tkb-bundle-item .tkb-bundle-unit-price {
		grid-column: 2 !important;
		justify-self: end !important;
		align-self: baseline !important;
	}
	body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack .tkb-bundle-item .tkb-bundle-original-price,
	body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack .tkb-bundle-item .tkb-bundle-original-price * {
		font-size: 10px !important;
		line-height: 1 !important;
	}
	body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack .tkb-bundle-item .tkb-bundle-unit-price,
	body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack .tkb-bundle-item .tkb-bundle-unit-price *,
	body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack .tkb-bundle-item .tkb-bundle-unit-price .woocommerce-Price-amount,
	body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack .tkb-bundle-item .tkb-bundle-unit-price .woocommerce-Price-currencySymbol {
		font-size: 16px !important;
		font-weight: 700 !important;
		line-height: 1 !important;
	}
}
@media (max-width: 767px) {
	body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack .tkb-bundle-mobile-footer > .woosb-price,
	body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack .tkb-bundle-mobile-footer > .woosb-product-price {
		display: grid !important;
		grid-template-columns: 45px 66px !important;
		align-items: baseline !important;
		justify-content: end !important;
		gap: 5px !important;
		width: 116px !important;
		min-width: 116px !important;
		max-width: 116px !important;
		height: 36px !important;
		min-height: 36px !important;
		margin: 0 !important;
		padding: 0 !important;
		white-space: nowrap !important;
		overflow: visible !important;
	}
	body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack .tkb-bundle-mobile-footer .tkb-bundle-original-price {
		grid-column: 1 !important;
		justify-self: end !important;
		align-self: baseline !important;
	}
	body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack .tkb-bundle-mobile-footer .tkb-bundle-unit-price {
		grid-column: 2 !important;
		justify-self: end !important;
		align-self: baseline !important;
	}
	body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack .tkb-bundle-mobile-footer .tkb-bundle-original-price,
	body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack .tkb-bundle-mobile-footer .tkb-bundle-original-price *,
	body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack .tkb-bundle-mobile-footer .tkb-bundle-original-price .woocommerce-Price-amount,
	body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack .tkb-bundle-mobile-footer .tkb-bundle-original-price .woocommerce-Price-currencySymbol {
		font-size: 9px !important;
		font-weight: 600 !important;
		line-height: 1 !important;
	}
	body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack .tkb-bundle-mobile-footer .tkb-bundle-unit-price,
	body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack .tkb-bundle-mobile-footer .tkb-bundle-unit-price *,
	body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack .tkb-bundle-mobile-footer .tkb-bundle-unit-price .woocommerce-Price-amount,
	body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack .tkb-bundle-mobile-footer .tkb-bundle-unit-price .woocommerce-Price-currencySymbol {
		display: inline !important;
		font-size: 15px !important;
		font-weight: 700 !important;
		line-height: 1 !important;
	}
}
/* ==========================================================
 * Lot 3 / v1.3.71 — pack mobile purchase bar hardening
 * Keeps price, crossed price and stock on one adaptive row,
 * and guarantees the cart label stays inside its button.
 * ========================================================== */
@media (max-width: 767px) {
	body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack .tkb-bundle-purchase-bar,
	body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack .tkb-bundle-purchase-bar--flat {
		padding: 12px !important;
		gap: 12px !important;
	}
	body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack .tkb-bundle-purchase-bar > .tkb-price-stock-row,
	body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack .tkb-bundle-purchase-bar--flat > .tkb-price-stock-row {
		grid-template-columns: minmax(0, 1fr) auto !important;
		column-gap: 8px !important;
		align-items: center !important;
	}
	body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack .tkb-bundle-purchase-bar .et_pb_wc_price .price {
		gap: 4px !important;
		font-size: clamp(29px, 8.5vw, 34px) !important;
		line-height: 1 !important;
		letter-spacing: -0.6px !important;
	}
	body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack .tkb-bundle-purchase-bar .et_pb_wc_price .price del,
	body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack .tkb-bundle-purchase-bar .et_pb_wc_price .price del * {
		margin: 0 !important;
		font-size: clamp(9px, 2.8vw, 11px) !important;
		line-height: 1 !important;
		letter-spacing: 0 !important;
	}
	body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack .tkb-bundle-purchase-bar .tkb-stock-display {
		width: auto !important;
		min-width: 0 !important;
		max-width: clamp(112px, 36vw, 138px) !important;
		min-height: 32px !important;
		padding: 5px 8px !important;
		font-size: clamp(8px, 2.55vw, 10px) !important;
		line-height: 1.05 !important;
		white-space: nowrap !important;
	}
	body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack .tkb-bundle-purchase-bar .tkb-stock-display::before {
		width: 10px !important;
		height: 10px !important;
		min-width: 10px !important;
		margin-right: 5px !important;
	}
	body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack .tkb-bundle-purchase-bar form.tkb-bundle-purchase-form > .tkb-buy-row,
	body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack .tkb-bundle-purchase-bar form.tkb-bundle-purchase-form .tkb-bundle-buy-row {
		grid-template-columns: clamp(94px, 31vw, 104px) minmax(0, 1fr) !important;
		gap: 10px !important;
	}
	body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack .tkb-bundle-purchase-quantity {
		width: 100% !important;
		min-width: 0 !important;
		max-width: none !important;
	}
	body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack .tkb-bundle-button-cell,
	body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack .tkb-bundle-purchase-button {
		min-width: 0 !important;
		max-width: 100% !important;
	}
	body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack .tkb-bundle-purchase-button {
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
		width: 100% !important;
		padding: 0 8px !important;
		font-size: clamp(11.5px, 3.75vw, 15px) !important;
		line-height: 1.05 !important;
		letter-spacing: 0 !important;
		white-space: nowrap !important;
		overflow: hidden !important;
		text-overflow: clip !important;
	}
}
@media (max-width: 374px) {
	body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack .tkb-bundle-purchase-bar .et_pb_wc_price .price {
		font-size: 28px !important;
	}
	body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack .tkb-bundle-purchase-bar .tkb-stock-display {
		max-width: 108px !important;
		padding-inline: 6px !important;
		font-size: 7.8px !important;
	}
	body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack .tkb-bundle-purchase-button {
		font-size: 11px !important;
		padding-inline: 5px !important;
	}
}
/* ==========================================================
 * Lot 3 / v1.3.72 — mobile pack price/stock balance
 * Prevents the crossed price from colliding with the stock badge.
 * ========================================================== */
@media (max-width: 767px) {
	body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack .tkb-bundle-purchase-bar > .tkb-price-stock-row,
	body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack .tkb-bundle-purchase-bar--flat > .tkb-price-stock-row {
		grid-template-columns: minmax(0, 1fr) minmax(102px, auto) !important;
		column-gap: 6px !important;
	}
	body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack .tkb-bundle-purchase-bar .et_pb_wc_price,
	body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack .tkb-bundle-purchase-bar .et_pb_wc_price > .et_pb_module_inner,
	body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack .tkb-bundle-purchase-bar .et_pb_wc_price .price {
		min-width: 0 !important;
		max-width: 100% !important;
	}
	body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack .tkb-bundle-purchase-bar .et_pb_wc_price .price {
		display: flex !important;
		flex-flow: row nowrap !important;
		align-items: baseline !important;
		gap: 3px !important;
		font-size: clamp(26px, 7.6vw, 31px) !important;
		letter-spacing: -0.45px !important;
		white-space: nowrap !important;
	}
	body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack .tkb-bundle-purchase-bar .et_pb_wc_price .price del {
		flex: 0 1 auto !important;
		min-width: 0 !important;
		max-width: 48px !important;
		overflow: hidden !important;
		text-overflow: clip !important;
		white-space: nowrap !important;
	}
	body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack .tkb-bundle-purchase-bar .et_pb_wc_price .price del,
	body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack .tkb-bundle-purchase-bar .et_pb_wc_price .price del * {
		font-size: clamp(8px, 2.35vw, 10px) !important;
	}
	body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack .tkb-bundle-purchase-bar .tkb-stock-display {
		justify-self: end !important;
		max-width: clamp(102px, 31vw, 124px) !important;
		min-height: 30px !important;
		padding: 4px 7px !important;
		font-size: clamp(7.6px, 2.2vw, 9.3px) !important;
		letter-spacing: -0.05px !important;
	}
	/* Keep the crossed and discounted prices as one compact visual group. */
	body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack .tkb-bundle-mobile-footer > .woosb-price,
	body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack .tkb-bundle-mobile-footer > .woosb-product-price {
		grid-template-columns: max-content max-content !important;
		justify-content: end !important;
		gap: 3px !important;
		width: auto !important;
		min-width: 0 !important;
		max-width: 112px !important;
	}
	body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack .tkb-bundle-mobile-footer .tkb-bundle-original-price,
	body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack .tkb-bundle-mobile-footer .tkb-bundle-unit-price {
		grid-column: auto !important;
		justify-self: auto !important;
	}
}
@media (max-width: 374px) {
	body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack .tkb-bundle-purchase-bar .et_pb_wc_price .price {
		font-size: 25px !important;
	}
	body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack .tkb-bundle-purchase-bar .tkb-stock-display {
		max-width: 100px !important;
		font-size: 7.2px !important;
	}
}
/* ==========================================================
 * V1.3.73 — preserve the native WooCommerce form lifecycle.
 * The canonical purchase row now lives inside form.cart instead of
 * detaching submit and variation controls from their form.
 * ========================================================== */
body.tkb-product-design-v7.tkbpp-visual-system-v1:not(.tkb-family-pack) .tkb-cart-source-host,
body.tkb-product-design-v7.tkbpp-visual-system-v1:not(.tkb-family-pack) .tkb-cart-source-host.tkb-empty-purchase-source-host {
	display: block !important;
	position: relative !important;
	width: 100% !important;
	height: auto !important;
	min-height: 0 !important;
	max-height: none !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	overflow: visible !important;
	opacity: 1 !important;
	visibility: visible !important;
	pointer-events: auto !important;
}
body.tkb-product-design-v7.tkbpp-visual-system-v1:not(.tkb-family-pack) .tkb-cart-source-host > .et_pb_module_inner,
body.tkb-product-design-v7.tkbpp-visual-system-v1:not(.tkb-family-pack) form.cart.tkb-universal-purchase-form {
	display: block !important;
	width: 100% !important;
	max-width: none !important;
	height: auto !important;
	min-height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow: visible !important;
}
body.tkb-product-design-v7.tkbpp-visual-system-v1:not(.tkb-family-pack)
.tkb-universal-purchase-row > .tkb-universal-variation-wrap,
body.tkb-product-design-v7.tkbpp-visual-system-v1:not(.tkb-family-pack)
.tkb-universal-purchase-row > .single_variation_wrap,
body.tkb-product-design-v7.tkbpp-visual-system-v1:not(.tkb-family-pack)
.tkb-universal-purchase-row .tkb-buy-row {
	display: contents !important;
}
body.tkb-product-design-v7.tkbpp-visual-system-v1:not(.tkb-family-pack)
.tkb-universal-purchase-row .tkb-buy-row > .quantity {
	grid-column: 3 !important;
	display: grid !important;
	grid-template-columns: 34px minmax(40px, 1fr) 34px !important;
	width: 116px !important;
	min-width: 116px !important;
	min-height: 48px !important;
	margin: 0 !important;
}
body.tkb-product-design-v7.tkbpp-visual-system-v1:not(.tkb-family-pack)
.tkb-universal-purchase-row .tkb-buy-row > .single_add_to_cart_button {
	grid-column: 4 !important;
	align-self: stretch !important;
	width: 100% !important;
	min-width: 0 !important;
	min-height: 48px !important;
	margin: 0 !important;
}
@media (max-width: 899px) {
	body.tkb-product-design-v7.tkbpp-visual-system-v1:not(.tkb-family-pack)
	.tkb-universal-purchase-row .tkb-buy-row > .quantity {
		grid-column: 1 !important;
		grid-row: 2 !important;
		width: 108px !important;
		min-width: 108px !important;
		grid-template-columns: 32px minmax(36px, 1fr) 32px !important;
	}
	body.tkb-product-design-v7.tkbpp-visual-system-v1:not(.tkb-family-pack)
	.tkb-universal-purchase-row .tkb-buy-row > .single_add_to_cart_button {
		grid-column: 2 !important;
		grid-row: 2 !important;
		width: 100% !important;
	}
}
body.tkb-product-design-v7.tkbpp-visual-system-v1:not(.tkb-family-pack)
.tkb-universal-purchase-row .single_variation {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	min-width: 0 !important;
	min-height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow: hidden !important;
	clip: rect(0 0 0 0) !important;
	clip-path: inset(50%) !important;
	white-space: nowrap !important;
	border: 0 !important;
}
/* ==========================================================
 * v1.3.77 — purchase-bar collision fix, single variation arrow,
 * and adaptive desktop reassurance placement.
 * ========================================================== */
/* Single dropdown arrow on merchandising variations.
 * Some browsers keep the native chevron visible; avoid drawing a second one. */
body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-merch table.variations select {
	background-color: #fff !important;
	background-image: none !important;
	padding-right: 38px !important;
}
body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-merch table.variations select::-ms-expand {
	display: none !important;
}
/* Wide desktop: each purchase element owns its own grid column. The old
 * price sits below the current price, so it never enters the stock badge. */
@media (min-width: 981px) {
	body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack .tkb-bundle-purchase-bar,
	body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack .tkb-bundle-purchase-bar--flat {
		display: grid !important;
		grid-template-columns: minmax(155px, 1fr) max-content 108px minmax(220px, 260px) !important;
		grid-template-rows: minmax(50px, auto) !important;
		align-items: center !important;
		column-gap: 12px !important;
		row-gap: 0 !important;
	}
	body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack .tkb-bundle-purchase-bar > .tkb-price-stock-row,
	body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack .tkb-bundle-purchase-bar--flat > .tkb-price-stock-row,
	body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack .tkb-bundle-purchase-bar > form.tkb-bundle-purchase-form,
	body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack .tkb-bundle-purchase-bar--flat > form.tkb-bundle-purchase-form,
	body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack .tkb-bundle-purchase-bar form.tkb-bundle-purchase-form > .tkb-buy-row,
	body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack .tkb-bundle-purchase-bar form.tkb-bundle-purchase-form .tkb-bundle-buy-row {
		display: contents !important;
	}
	body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack .tkb-bundle-purchase-bar .et_pb_wc_price {
		grid-column: 1 !important;
		grid-row: 1 !important;
		align-self: center !important;
		width: 100% !important;
		min-width: 0 !important;
		max-width: none !important;
	}
	body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack .tkb-bundle-purchase-bar .et_pb_wc_price .price {
		display: grid !important;
		grid-template-columns: max-content !important;
		grid-template-rows: auto auto !important;
		align-content: center !important;
		justify-content: start !important;
		row-gap: 2px !important;
		width: 100% !important;
		min-width: 0 !important;
		font-size: clamp(29px, 2.1vw, 34px) !important;
		line-height: .95 !important;
		overflow: visible !important;
	}
	body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack .tkb-bundle-purchase-bar .et_pb_wc_price .price ins,
	body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack .tkb-bundle-purchase-bar .et_pb_wc_price .price > .woocommerce-Price-amount {
		grid-column: 1 !important;
		grid-row: 1 !important;
		justify-self: start !important;
	}
	body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack .tkb-bundle-purchase-bar .et_pb_wc_price .price del {
		grid-column: 1 !important;
		grid-row: 2 !important;
		justify-self: start !important;
		align-self: start !important;
		max-width: 100% !important;
		margin: 0 !important;
		font-size: 11px !important;
		line-height: 1 !important;
		overflow: visible !important;
	}
	body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack .tkb-bundle-purchase-bar .tkb-stock-display {
		grid-column: 2 !important;
		grid-row: 1 !important;
		justify-self: start !important;
		align-self: center !important;
		width: auto !important;
		min-width: 0 !important;
		max-width: 142px !important;
		white-space: nowrap !important;
	}
	body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack .tkb-bundle-purchase-quantity {
		grid-column: 3 !important;
		grid-row: 1 !important;
		align-self: center !important;
		width: 108px !important;
		min-width: 108px !important;
		max-width: 108px !important;
	}
	body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack .tkb-bundle-button-cell {
		grid-column: 4 !important;
		grid-row: 1 !important;
		align-self: center !important;
		width: 100% !important;
		min-width: 0 !important;
		max-width: none !important;
	}
	body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack .tkb-bundle-purchase-button {
		width: 100% !important;
		min-width: 0 !important;
		max-width: none !important;
	}
	body.tkb-product-design-v7.tkbpp-visual-system-v1 .tkbpp-product-reassurance--desktop-inline {
		width: 100% !important;
		max-width: none !important;
		margin-top: var(--tkbpp-ui-gap) !important;
	}
}
/* Tablet / narrow desktop: keep price and stock together on row one, then
 * quantity and cart on row two. This is preferable to squeezing four items. */
@media (min-width: 768px) and (max-width: 980px) {
	body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack .tkb-bundle-purchase-bar,
	body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack .tkb-bundle-purchase-bar--flat {
		display: grid !important;
		grid-template-columns: 108px minmax(0, 1fr) !important;
		grid-template-rows: auto 50px !important;
		gap: 10px 12px !important;
	}
	body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack .tkb-bundle-purchase-bar > .tkb-price-stock-row,
	body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack .tkb-bundle-purchase-bar--flat > .tkb-price-stock-row {
		grid-column: 1 / -1 !important;
		grid-row: 1 !important;
		display: grid !important;
		grid-template-columns: minmax(0, 1fr) max-content !important;
		align-items: center !important;
		gap: 10px !important;
		width: 100% !important;
	}
	body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack .tkb-bundle-purchase-bar > form.tkb-bundle-purchase-form,
	body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack .tkb-bundle-purchase-bar--flat > form.tkb-bundle-purchase-form,
	body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack .tkb-bundle-purchase-bar form.tkb-bundle-purchase-form > .tkb-buy-row,
	body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack .tkb-bundle-purchase-bar form.tkb-bundle-purchase-form .tkb-bundle-buy-row {
		display: contents !important;
	}
	body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack .tkb-bundle-purchase-quantity {
		grid-column: 1 !important;
		grid-row: 2 !important;
		width: 108px !important;
	}
	body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack .tkb-bundle-button-cell {
		grid-column: 2 !important;
		grid-row: 2 !important;
		width: 100% !important;
		max-width: none !important;
	}
}
/* ==========================================================
 * v1.3.78 — canonical product rhythm and adaptive purchase grid.
 * ========================================================== */
/* Use the actual information-column width rather than the viewport whenever
 * the browser supports container queries. This avoids cramped four-column
 * purchase bars in narrow Divi columns on otherwise wide screens. */
body.tkb-product-design-v7.tkbpp-visual-system-v1 .tkb-product-info-column {
	container-type: inline-size;
	container-name: tkbpp-product-info;
}
/* Remove the residual Divi section/row padding around the custom details
 * cards. The cards themselves keep the shared 12px product rhythm. */
body.tkb-product-design-v7.tkbpp-visual-system-v1 .et_pb_section.tkb-details-section {
	margin-top: 0 !important;
	padding-top: 0 !important;
	padding-bottom: 0 !important;
}
body.tkb-product-design-v7.tkbpp-visual-system-v1 .et_pb_row.tkb-details-row {
	margin-top: 0 !important;
	padding-top: 0 !important;
	padding-bottom: 0 !important;
}
body.tkb-product-design-v7.tkbpp-visual-system-v1 .tkb-details-row .tkb-product-details-stack {
	margin-top: var(--tkbpp-ui-gap) !important;
	margin-bottom: 0 !important;
}
/* Standard products: price, stock, quantity and cart use four balanced
 * columns on a genuinely wide information column. */
@media (min-width: 1241px) {
	body.tkb-product-design-v7.tkbpp-visual-system-v1:not(.tkb-family-pack) .tkb-universal-purchase-row {
		grid-template-columns: minmax(125px, 1.05fr) minmax(92px, .72fr) 116px minmax(210px, 1.7fr) !important;
		column-gap: var(--tkbpp-ui-gap) !important;
		row-gap: 0 !important;
		align-items: center !important;
	}
	body.tkb-product-design-v7.tkbpp-visual-system-v1:not(.tkb-family-pack) .tkb-universal-price {
		grid-column: 1 !important;
		justify-self: start !important;
	}
	body.tkb-product-design-v7.tkbpp-visual-system-v1:not(.tkb-family-pack) .tkb-universal-stock {
		grid-column: 2 !important;
		justify-self: center !important;
		align-self: center !important;
	}
	body.tkb-product-design-v7.tkbpp-visual-system-v1:not(.tkb-family-pack) .tkb-universal-purchase-row .tkb-buy-row > .quantity {
		grid-column: 3 !important;
		justify-self: center !important;
	}
	body.tkb-product-design-v7.tkbpp-visual-system-v1:not(.tkb-family-pack) .tkb-universal-purchase-row .tkb-buy-row > .single_add_to_cart_button {
		grid-column: 4 !important;
		margin-left: 0 !important;
	}
}
/* Viewport fallback for browsers without container queries and for desktop
 * windows where the information column is naturally narrower. */
@media (min-width: 981px) and (max-width: 1240px) {
	body.tkb-product-design-v7.tkbpp-visual-system-v1:not(.tkb-family-pack) .tkb-universal-purchase-row,
	body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack .tkb-bundle-purchase-bar,
	body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack .tkb-bundle-purchase-bar--flat {
		grid-template-columns: minmax(0, 1fr) minmax(108px, max-content) !important;
		grid-template-rows: auto minmax(48px, auto) !important;
		column-gap: var(--tkbpp-ui-gap) !important;
		row-gap: var(--tkbpp-ui-gap) !important;
		align-items: center !important;
	}
	body.tkb-product-design-v7.tkbpp-visual-system-v1:not(.tkb-family-pack) .tkb-universal-price,
	body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack .tkb-bundle-purchase-bar .et_pb_wc_price {
		grid-column: 1 !important;
		grid-row: 1 !important;
		justify-self: start !important;
	}
	body.tkb-product-design-v7.tkbpp-visual-system-v1:not(.tkb-family-pack) .tkb-universal-stock,
	body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack .tkb-bundle-purchase-bar .tkb-stock-display {
		grid-column: 2 !important;
		grid-row: 1 !important;
		justify-self: center !important;
		align-self: center !important;
	}
	body.tkb-product-design-v7.tkbpp-visual-system-v1:not(.tkb-family-pack) .tkb-universal-purchase-row .tkb-buy-row > .quantity,
	body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack .tkb-bundle-purchase-quantity {
		grid-column: 1 !important;
		grid-row: 2 !important;
		justify-self: start !important;
	}
	body.tkb-product-design-v7.tkbpp-visual-system-v1:not(.tkb-family-pack) .tkb-universal-purchase-row .tkb-buy-row > .single_add_to_cart_button,
	body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack .tkb-bundle-button-cell {
		grid-column: 2 !important;
		grid-row: 2 !important;
		width: 100% !important;
		min-width: 0 !important;
		margin-left: 0 !important;
	}
}
/* Actual-column responsive rules. */
@container tkbpp-product-info (max-width: 620px) {
	body.tkb-product-design-v7.tkbpp-visual-system-v1:not(.tkb-family-pack) .tkb-universal-purchase-row,
	body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack .tkb-bundle-purchase-bar,
	body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack .tkb-bundle-purchase-bar--flat {
		grid-template-columns: minmax(0, 1fr) minmax(108px, max-content) !important;
		grid-template-rows: auto minmax(48px, auto) !important;
		column-gap: var(--tkbpp-ui-gap) !important;
		row-gap: var(--tkbpp-ui-gap) !important;
		align-items: center !important;
	}
	body.tkb-product-design-v7.tkbpp-visual-system-v1:not(.tkb-family-pack) .tkb-universal-price,
	body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack .tkb-bundle-purchase-bar .et_pb_wc_price {
		grid-column: 1 !important;
		grid-row: 1 !important;
		justify-self: start !important;
	}
	body.tkb-product-design-v7.tkbpp-visual-system-v1:not(.tkb-family-pack) .tkb-universal-stock,
	body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack .tkb-bundle-purchase-bar .tkb-stock-display {
		grid-column: 2 !important;
		grid-row: 1 !important;
		justify-self: center !important;
		align-self: center !important;
		max-width: 124px !important;
		text-align: center !important;
	}
	body.tkb-product-design-v7.tkbpp-visual-system-v1:not(.tkb-family-pack) .tkb-universal-purchase-row .tkb-buy-row > .quantity,
	body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack .tkb-bundle-purchase-quantity {
		grid-column: 1 !important;
		grid-row: 2 !important;
		justify-self: start !important;
	}
	body.tkb-product-design-v7.tkbpp-visual-system-v1:not(.tkb-family-pack) .tkb-universal-purchase-row .tkb-buy-row > .single_add_to_cart_button,
	body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack .tkb-bundle-button-cell {
		grid-column: 2 !important;
		grid-row: 2 !important;
		width: 100% !important;
		min-width: 0 !important;
		margin-left: 0 !important;
	}
}
/* Pack bar on a genuinely wide information column. */
@media (min-width: 1241px) {
	body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack .tkb-bundle-purchase-bar,
	body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack .tkb-bundle-purchase-bar--flat {
		grid-template-columns: minmax(145px, 1.05fr) minmax(102px, .72fr) 108px minmax(220px, 1.7fr) !important;
		column-gap: var(--tkbpp-ui-gap) !important;
		row-gap: 0 !important;
		align-items: center !important;
	}
	body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack .tkb-bundle-purchase-bar .tkb-stock-display {
		grid-column: 2 !important;
		justify-self: center !important;
		align-self: center !important;
	}
	body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack .tkb-bundle-purchase-quantity {
		grid-column: 3 !important;
		justify-self: center !important;
	}
	body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack .tkb-bundle-button-cell {
		grid-column: 4 !important;
		margin-left: 0 !important;
	}
}
/* Mobile keeps the same visual logic: stock is centred in its available
 * column, and quantity/cart retain the canonical gap. */
@media (max-width: 980px) {
	body.tkb-product-design-v7.tkbpp-visual-system-v1:not(.tkb-family-pack) .tkb-universal-purchase-row,
	body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack .tkb-bundle-purchase-bar,
	body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack .tkb-bundle-purchase-bar--flat {
		column-gap: var(--tkbpp-ui-gap) !important;
		row-gap: var(--tkbpp-ui-gap) !important;
	}
	body.tkb-product-design-v7.tkbpp-visual-system-v1:not(.tkb-family-pack) .tkb-universal-stock,
	body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack .tkb-bundle-purchase-bar .tkb-stock-display {
		justify-self: center !important;
		align-self: center !important;
	}
	body.tkb-product-design-v7.tkbpp-visual-system-v1:not(.tkb-family-pack) .tkb-universal-purchase-row .single_add_to_cart_button,
	body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack .tkb-bundle-purchase-button {
		margin-left: 0 !important;
		max-width: 100% !important;
	}
}
/* Final actual-width override: kept after the wide pack rules so a narrow
 * information column always wins, even on a very wide monitor. */
@container tkbpp-product-info (max-width: 620px) {
	body.tkb-product-design-v7.tkbpp-visual-system-v1:not(.tkb-family-pack) .tkb-universal-purchase-row,
	body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack .tkb-bundle-purchase-bar,
	body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack .tkb-bundle-purchase-bar--flat {
		grid-template-columns: minmax(0, 1fr) minmax(108px, max-content) !important;
		grid-template-rows: auto minmax(48px, auto) !important;
		column-gap: var(--tkbpp-ui-gap) !important;
		row-gap: var(--tkbpp-ui-gap) !important;
	}
	body.tkb-product-design-v7.tkbpp-visual-system-v1:not(.tkb-family-pack) .tkb-universal-price,
	body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack .tkb-bundle-purchase-bar .et_pb_wc_price {
		grid-column: 1 !important;
		grid-row: 1 !important;
		justify-self: start !important;
	}
	body.tkb-product-design-v7.tkbpp-visual-system-v1:not(.tkb-family-pack) .tkb-universal-stock,
	body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack .tkb-bundle-purchase-bar .tkb-stock-display {
		grid-column: 2 !important;
		grid-row: 1 !important;
		justify-self: center !important;
		align-self: center !important;
		max-width: 124px !important;
	}
	body.tkb-product-design-v7.tkbpp-visual-system-v1:not(.tkb-family-pack) .tkb-universal-purchase-row .tkb-buy-row > .quantity,
	body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack .tkb-bundle-purchase-quantity {
		grid-column: 1 !important;
		grid-row: 2 !important;
		justify-self: start !important;
	}
	body.tkb-product-design-v7.tkbpp-visual-system-v1:not(.tkb-family-pack) .tkb-universal-purchase-row .tkb-buy-row > .single_add_to_cart_button,
	body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack .tkb-bundle-button-cell {
		grid-column: 2 !important;
		grid-row: 2 !important;
		width: 100% !important;
		min-width: 0 !important;
		margin-left: 0 !important;
	}
}
/* ==========================================================
 * v1.3.79 — remove the residual Divi gap before product details.
 *
 * The details card already owns the canonical 12px margin. Divi was still
 * adding bottom padding to the hero row/section, which produced the large
 * blank zone visible after short merchandising pages.
 * ========================================================== */
body.tkb-product-design-v7.tkbpp-visual-system-v1 .et_pb_section.tkb-product-hero-section {
	margin-bottom: 0 !important;
	padding-bottom: 0 !important;
}
body.tkb-product-design-v7.tkbpp-visual-system-v1 .et_pb_row.tkb-product-hero-row {
	margin-bottom: 0 !important;
	padding-bottom: 0 !important;
}
body.tkb-product-design-v7.tkbpp-visual-system-v1
.et_pb_section.tkb-product-hero-section + .et_pb_section.tkb-details-section {
	margin-top: 0 !important;
	padding-top: 0 !important;
}
body.tkb-product-design-v7.tkbpp-visual-system-v1
.et_pb_section.tkb-details-section .et_pb_row.tkb-details-row {
	margin-top: 0 !important;
	padding-top: 0 !important;
}
body.tkb-product-design-v7.tkbpp-visual-system-v1
.et_pb_section.tkb-details-section .tkb-product-details-stack {
	margin-top: var(--tkbpp-ui-gap) !important;
}
/* ==========================================================
 * v1.3.80 — definitive canonical spacing before product details.
 *
 * Divi can emit product-specific ID rules with !important on the hero row,
 * the former tabs row and its column.  The JavaScript now also applies
 * inline-important values, while these selectors provide a CSS fallback.
 * ========================================================== */
body.tkb-product-design-v7.tkbpp-visual-system-v1 .et_pb_row.tkb-product-hero-row,
body.tkb-product-design-v7.tkbpp-visual-system-v1 .et_pb_row.tkb-details-row,
body.tkb-product-design-v7.tkbpp-visual-system-v1 .et_pb_row.tkb-details-row > .et_pb_column {
	margin-top: 0 !important;
	margin-bottom: 0 !important;
	padding-top: 0 !important;
	padding-bottom: 0 !important;
}
body.tkb-product-design-v7.tkbpp-visual-system-v1 .et_pb_row.tkb-details-row .tkb-product-details-stack {
	margin: var(--tkbpp-ui-gap) 0 0 !important;
	padding-top: 0 !important;
}
body.tkb-product-design-v7.tkbpp-visual-system-v1 .tkbpp-empty-legacy-reassurance-row,
body.tkb-product-design-v7.tkbpp-visual-system-v1 .tkbpp-empty-legacy-reassurance-section {
	display: none !important;
	width: 0 !important;
	height: 0 !important;
	min-height: 0 !important;
	max-height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	overflow: hidden !important;
}
/* ==========================================================
 * v1.3.82 — canonical lower gap on pack pages.
 *
 * The visible bundle ended before the WPC/Divi wrappers. Their residual
 * bottom margins accumulated with the details margin and produced the large
 * blank strip visible only on packs. The details card owns the sole 12px gap.
 * ========================================================== */
body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack .tkb-bundle-box,
body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack .woosb-wrap,
body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack form.cart.tkb-bundle-form-ready,
body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack .et_pb_wc_add_to_cart,
body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack .tkb-product-info-column,
body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack .tkb-product-hero-row,
body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack .tkb-product-hero-section {
	margin-bottom: 0 !important;
	padding-bottom: 0 !important;
}
body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack .tkb-bundle-box {
	margin-top: 0 !important;
}
body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack .tkb-pack-meta-hidden,
body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack .tkb-bundle-audio-source-host,
body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack .tkb-bundle-empty-audio-origin {
	height: 0 !important;
	min-height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
}
body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack .tkb-details-section,
body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack .tkb-details-row,
body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack .tkb-details-row > .et_pb_column {
	margin-top: 0 !important;
	padding-top: 0 !important;
}
body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack .tkb-details-row .tkb-product-details-stack {
	margin-top: var(--tkbpp-ui-gap, 12px) !important;
}
/* ==========================================================
 * v1.3.83 — pack purchase bar: compact stock, canonical gaps.
 *
 * The pack price, stock badge, quantity and cart button now own four
 * explicit cells on a usable desktop column. On narrower columns the grid
 * falls back to two rows. The bundle content always starts 12px below the
 * purchase card, matching the rest of the product-page rhythm.
 * ========================================================== */
body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack
.tkb-bundle-purchase-bar,
body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack
.tkb-bundle-purchase-bar--flat {
	margin-bottom: var(--tkbpp-ui-gap, 12px) !important;
}
body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack
.tkb-bundle-purchase-bar + .tkb-bundle-box,
body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack
.tkb-bundle-purchase-bar--flat + .tkb-bundle-box,
body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack
.tkb-bundle-purchase-bar + .woosb-wrap,
body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack
.tkb-bundle-purchase-bar--flat + .woosb-wrap {
	margin-top: 0 !important;
}
/* Desktop / sufficiently wide product column: one stable line. */
@container tkbpp-product-info (min-width: 630px) {
	body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack
	.tkb-bundle-purchase-bar,
	body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack
	.tkb-bundle-purchase-bar--flat {
		display: grid !important;
		grid-template-columns: minmax(145px, 1fr) minmax(94px, 112px) 100px minmax(190px, 1.65fr) !important;
		grid-template-rows: minmax(50px, auto) !important;
		align-items: center !important;
		column-gap: var(--tkbpp-ui-gap, 12px) !important;
		row-gap: 0 !important;
	}
	body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack
	.tkb-bundle-purchase-bar > .tkb-price-stock-row,
	body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack
	.tkb-bundle-purchase-bar--flat > .tkb-price-stock-row,
	body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack
	.tkb-bundle-purchase-bar > form.tkb-bundle-purchase-form,
	body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack
	.tkb-bundle-purchase-bar--flat > form.tkb-bundle-purchase-form,
	body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack
	.tkb-bundle-purchase-bar form.tkb-bundle-purchase-form > .tkb-buy-row,
	body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack
	.tkb-bundle-purchase-bar form.tkb-bundle-purchase-form .tkb-bundle-buy-row {
		display: contents !important;
	}
	body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack
	.tkb-bundle-purchase-bar .et_pb_wc_price {
		grid-column: 1 !important;
		grid-row: 1 !important;
		align-self: center !important;
		min-width: 0 !important;
	}
	body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack
	.tkb-bundle-purchase-bar .tkb-stock-display {
		grid-column: 2 !important;
		grid-row: 1 !important;
		justify-self: center !important;
		align-self: center !important;
		width: auto !important;
		min-width: 0 !important;
		max-width: 112px !important;
		height: 34px !important;
		min-height: 34px !important;
		gap: 5px !important;
		margin: 0 !important;
		padding: 5px 7px !important;
		font-size: 9px !important;
		line-height: 1 !important;
		white-space: nowrap !important;
	}
	body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack
	.tkb-bundle-purchase-bar .tkb-stock-display::before {
		flex: 0 0 6px !important;
		width: 6px !important;
		height: 6px !important;
	}
	body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack
	.tkb-bundle-purchase-quantity {
		grid-column: 3 !important;
		grid-row: 1 !important;
		justify-self: stretch !important;
		width: 100px !important;
		min-width: 100px !important;
		max-width: 100px !important;
		margin: 0 !important;
	}
	body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack
	.tkb-bundle-button-cell {
		grid-column: 4 !important;
		grid-row: 1 !important;
		align-self: center !important;
		width: 100% !important;
		min-width: 0 !important;
		margin: 0 !important;
		padding: 0 !important;
	}
	body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack
	.tkb-bundle-purchase-button {
		width: 100% !important;
		min-width: 0 !important;
		max-width: none !important;
		margin: 0 !important;
		padding-right: 12px !important;
		padding-left: 12px !important;
	}
}
/* Narrow product column: keep generous 12px gaps instead of squeezing. */
@container tkbpp-product-info (max-width: 629px) {
	body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack
	.tkb-bundle-purchase-bar,
	body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack
	.tkb-bundle-purchase-bar--flat {
		display: grid !important;
		grid-template-columns: minmax(150px, 1fr) minmax(0, 1.45fr) !important;
		grid-template-rows: auto minmax(50px, auto) !important;
		align-items: center !important;
		column-gap: var(--tkbpp-ui-gap, 12px) !important;
		row-gap: var(--tkbpp-ui-gap, 12px) !important;
	}
	body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack
	.tkb-bundle-purchase-bar > .tkb-price-stock-row,
	body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack
	.tkb-bundle-purchase-bar--flat > .tkb-price-stock-row,
	body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack
	.tkb-bundle-purchase-bar > form.tkb-bundle-purchase-form,
	body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack
	.tkb-bundle-purchase-bar--flat > form.tkb-bundle-purchase-form,
	body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack
	.tkb-bundle-purchase-bar form.tkb-bundle-purchase-form > .tkb-buy-row,
	body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack
	.tkb-bundle-purchase-bar form.tkb-bundle-purchase-form .tkb-bundle-buy-row {
		display: contents !important;
	}
	body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack
	.tkb-bundle-purchase-bar .et_pb_wc_price {
		grid-column: 1 !important;
		grid-row: 1 !important;
		justify-self: start !important;
		min-width: 0 !important;
	}
	body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack
	.tkb-bundle-purchase-bar .tkb-stock-display {
		grid-column: 2 !important;
		grid-row: 1 !important;
		justify-self: start !important;
		align-self: center !important;
		max-width: 112px !important;
		height: 34px !important;
		min-height: 34px !important;
		gap: 5px !important;
		margin: 0 !important;
		padding: 5px 7px !important;
		font-size: 9px !important;
		line-height: 1 !important;
	}
	body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack
	.tkb-bundle-purchase-quantity {
		grid-column: 1 !important;
		grid-row: 2 !important;
		justify-self: start !important;
		width: 100px !important;
		min-width: 100px !important;
		max-width: 100px !important;
		margin: 0 !important;
	}
	body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack
	.tkb-bundle-button-cell {
		grid-column: 2 !important;
		grid-row: 2 !important;
		width: 100% !important;
		min-width: 0 !important;
		margin: 0 !important;
		padding: 0 !important;
	}
}
/* ===== v1.3.85 externalized structural fallback ===== */
body.tkbpp-structure-v3 .related.products,
body.tkbpp-structure-v3 .upsells.products,
body.tkbpp-structure-v3 .et_pb_wc_related_products,
body.tkbpp-structure-v3 .et_pb_wc_upsells,
body.tkbpp-structure-v3 .tkb-related-module {
	display: none !important;
	height: 0 !important;
	min-height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow: hidden !important;
}
body.tkbpp-structure-v3 .tkbpp-server-reviews[hidden] {
	display: none !important;
}
body.tkbpp-structure-v3 > .tkbpp-recommendations-root,
body.tkbpp-structure-v3 > .tkbpp-server-reviews,
body.tkbpp-structure-v3 #page-container > .tkbpp-recommendations-root,
body.tkbpp-structure-v3 #page-container > .tkbpp-server-reviews,
body.tkbpp-structure-v3 #et-boc > .tkbpp-recommendations-root,
body.tkbpp-structure-v3 #et-boc > .tkbpp-server-reviews,
body.tkbpp-structure-v3 footer ~ .tkbpp-recommendations-root,
body.tkbpp-structure-v3 footer ~ .tkbpp-server-reviews {
	display: none !important;
}
body.tkbpp-structure-v3 .tkbpp-server-reviews:not([hidden]) {
	display: block !important;
	width: 100% !important;
}
body.tkbpp-structure-v3 .tkbpp-server-reviews > #reviews {
	width: 100% !important;
}
body.tkbpp-structure-v3 .tkbpp-template-lower-row,
body.tkbpp-structure-v3 .tkbpp-canonical-lower-row {
	clear: both !important;
	display: block !important;
	width: 90% !important;
	max-width: 1320px !important;
	margin: 0 auto !important;
	padding: 0 0 12px !important;
	background: transparent !important;
}
body.tkbpp-structure-v3 .tkbpp-template-lower-column,
body.tkbpp-structure-v3 .tkbpp-canonical-lower-column {
	float: none !important;
	display: block !important;
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
}
body.tkbpp-structure-v3 .tkbpp-template-lower-column > .tkbpp-recommendations-root,
body.tkbpp-structure-v3 .tkbpp-template-lower-column > .tkbpp-server-reviews {
	width: 100% !important;
	max-width: none !important;
}
/* =========================================================
 * V1.3.92 — retour à la barre d’achat pack stable de la v1.3.88.
 *
 * Le prix/stock reste un groupe et la quantité/panier un second groupe :
 * aucune mise à plat en quatre cellules, aucun passage sur deux lignes sur
 * desktop. La priorité est de conserver la barre complète sur une seule ligne.
 * ========================================================= */
@media (min-width: 1181px) {
	body.tkb-product-design-v7.tkbpp-visual-system-v1:not(.tkb-family-pack) .tkb-universal-purchase-row {
		grid-template-columns: max-content minmax(116px, 1fr) 110px minmax(150px, 1fr) !important;
	}
	body.tkb-product-design-v7.tkbpp-visual-system-v1:not(.tkb-family-pack) .tkb-universal-stock {
		grid-column: 2 !important;
		justify-self: center !important;
		align-self: center !important;
	}
}
@media (min-width: 981px) {
	body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack .tkb-bundle-purchase-bar > .tkb-price-stock-row,
	body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack .tkb-bundle-purchase-bar--flat > .tkb-price-stock-row {
		display: grid !important;
		grid-template-columns: max-content minmax(112px, 1fr) !important;
		align-items: center !important;
		gap: 9px !important;
		width: 100% !important;
	}
	body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack .tkb-bundle-purchase-bar .tkb-stock-display {
		justify-self: center !important;
		align-self: center !important;
	}
}
/* =========================================================
 * v1.3.94 — barre d'achat des packs sur petit iPhone.
 *
 * Sur 390 px, le prix élevé et le long badge de stock ne peuvent pas
 * partager proprement la même ligne. Ils sont donc empilés dans le premier
 * groupe, tandis que quantité et panier restent ensemble sur la ligne basse.
 * Cette règle est strictement mobile et ne touche pas le desktop validé.
 * ========================================================= */
@media (max-width: 520px) {
	body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack
	.tkb-bundle-purchase-bar,
	body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack
	.tkb-bundle-purchase-bar--flat {
		display: grid !important;
		grid-template-columns: minmax(0, 1fr) !important;
		grid-template-rows: auto auto !important;
		gap: 12px !important;
		align-items: stretch !important;
		padding: 18px 16px !important;
		overflow: hidden !important;
	}
	body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack
	.tkb-bundle-purchase-bar > .tkb-price-stock-row,
	body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack
	.tkb-bundle-purchase-bar--flat > .tkb-price-stock-row {
		display: grid !important;
		grid-template-columns: minmax(0, 1fr) !important;
		grid-template-rows: auto auto !important;
		gap: 8px !important;
		width: 100% !important;
		min-width: 0 !important;
		margin: 0 !important;
	}
	body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack
	.tkb-bundle-purchase-bar .et_pb_wc_price {
		grid-column: 1 !important;
		grid-row: 1 !important;
		justify-self: start !important;
		width: 100% !important;
		min-width: 0 !important;
		margin: 0 !important;
	}
	body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack
	.tkb-bundle-purchase-bar .tkb-stock-display {
		grid-column: 1 !important;
		grid-row: 2 !important;
		justify-self: start !important;
		align-self: center !important;
		width: max-content !important;
		max-width: 100% !important;
		min-width: 0 !important;
		height: 38px !important;
		min-height: 38px !important;
		margin: 0 !important;
		padding: 7px 12px !important;
		font-size: 11px !important;
		line-height: 1.1 !important;
		white-space: nowrap !important;
		box-sizing: border-box !important;
	}
	body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack
	.tkb-bundle-purchase-bar > form.tkb-bundle-purchase-form,
	body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack
	.tkb-bundle-purchase-bar--flat > form.tkb-bundle-purchase-form {
		display: block !important;
		grid-column: 1 !important;
		grid-row: 2 !important;
		width: 100% !important;
		min-width: 0 !important;
		margin: 0 !important;
	}
	body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack
	.tkb-bundle-purchase-bar form.tkb-bundle-purchase-form > .tkb-buy-row,
	body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack
	.tkb-bundle-purchase-bar form.tkb-bundle-purchase-form .tkb-bundle-buy-row {
		display: grid !important;
		grid-template-columns: minmax(118px, .82fr) minmax(0, 1.35fr) !important;
		grid-template-rows: minmax(58px, auto) !important;
		align-items: stretch !important;
		gap: 10px !important;
		width: 100% !important;
		min-width: 0 !important;
		margin: 0 !important;
	}
	body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack
	.tkb-bundle-purchase-quantity {
		grid-column: 1 !important;
		grid-row: 1 !important;
		width: 100% !important;
		min-width: 0 !important;
		max-width: none !important;
		height: 58px !important;
		margin: 0 !important;
	}
	body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack
	.tkb-bundle-button-cell {
		grid-column: 2 !important;
		grid-row: 1 !important;
		width: 100% !important;
		min-width: 0 !important;
		margin: 0 !important;
		padding: 0 !important;
	}
	body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack
	.tkb-bundle-purchase-button {
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
		width: 100% !important;
		min-width: 0 !important;
		max-width: none !important;
		height: 58px !important;
		margin: 0 !important;
		padding: 8px 10px !important;
		overflow: hidden !important;
		font-size: 13px !important;
		line-height: 1.1 !important;
		text-align: center !important;
		white-space: normal !important;
		box-sizing: border-box !important;
	}
}
@media (max-width: 360px) {
	body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack
	.tkb-bundle-purchase-bar form.tkb-bundle-purchase-form > .tkb-buy-row,
	body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack
	.tkb-bundle-purchase-bar form.tkb-bundle-purchase-form .tkb-bundle-buy-row {
		grid-template-columns: minmax(110px, .78fr) minmax(0, 1.22fr) !important;
		gap: 8px !important;
	}
	body.tkb-product-design-v7.tkbpp-visual-system-v1.tkb-family-pack
	.tkb-bundle-purchase-button {
		font-size: 12px !important;
		padding-right: 7px !important;
		padding-left: 7px !important;
	}
}
/* ==========================================================
 * v1.3.102 — Avis desktop compact, connecté ou visiteur
 * ========================================================== */
@media (min-width: 981px) {
	body.tkb-product-design-v7
	.tkb-reviews-bottom.tkb-no-existing-reviews
	#review_form_wrapper {
		width: auto !important;
		max-width: none !important;
		margin: 18px 28px 28px !important;
		padding: 26px 26px 24px !important;
		border-radius: 10px !important;
	}
	body.tkb-product-design-v7
	.tkb-reviews-bottom.tkb-no-existing-reviews
	#reviews {
		padding-bottom: 28px !important;
	}
	/*
	 * Flex est volontairement utilisé plutôt qu'une grille :
	 * le champ pseudo n'existe pas pour un utilisateur connecté.
	 * La ligne finale reste donc propre dans les deux situations.
	 */
	body.tkb-product-design-v7
	.tkb-reviews-bottom.tkb-no-existing-reviews
	#review_form
	form#commentform {
		display: flex !important;
		flex-wrap: wrap !important;
		align-items: center !important;
		gap: 14px 16px !important;
	}
	body.tkb-product-design-v7
	.tkb-reviews-bottom.tkb-no-existing-reviews
	#review_form
	form#commentform
	> .comment-form-rating,
	body.tkb-product-design-v7
	.tkb-reviews-bottom.tkb-no-existing-reviews
	#review_form
	form#commentform
	> .comment-form-comment,
	body.tkb-product-design-v7
	.tkb-reviews-bottom.tkb-no-existing-reviews
	#review_form
	form#commentform
	> .comment-form-author,
	body.tkb-product-design-v7
	.tkb-reviews-bottom.tkb-no-existing-reviews
	#review_form
	form#commentform
	> .comment-notes,
	body.tkb-product-design-v7
	.tkb-reviews-bottom.tkb-no-existing-reviews
	#review_form
	form#commentform
	> .logged-in-as {
		flex: 0 0 100% !important;
		width: 100% !important;
		min-width: 0 !important;
		margin: 0 !important;
	}
	body.tkb-product-design-v7
	.tkb-reviews-bottom.tkb-no-existing-reviews
	#review_form textarea {
		min-height: 112px !important;
	}
	/* Note à gauche + bouton compact à droite, même sans champ pseudo. */
	body.tkb-product-design-v7
	.tkb-reviews-bottom.tkb-no-existing-reviews
	#review_form
	form#commentform
	> .tkb-review-moderation-note {
		flex: 1 1 420px !important;
		min-width: 0 !important;
		margin: 0 !important;
		padding: 0 !important;
		text-align: left !important;
	}
	body.tkb-product-design-v7
	.tkb-reviews-bottom.tkb-no-existing-reviews
	#review_form
	form#commentform
	> .form-submit {
		flex: 0 0 auto !important;
		width: auto !important;
		min-width: 0 !important;
		max-width: none !important;
		margin: 0 0 0 auto !important;
		padding: 0 !important;
	}
	body.tkb-product-design-v7
	.tkb-reviews-bottom.tkb-no-existing-reviews
	#review_form
	form#commentform
	.form-submit
	input[type="submit"],
	body.tkb-product-design-v7
	.tkb-reviews-bottom.tkb-no-existing-reviews
	#review_form
	form#commentform
	.form-submit
	button[type="submit"],
	body.tkb-product-design-v7
	.tkb-reviews-bottom.tkb-no-existing-reviews
	#review_form
	form#commentform
	input#submit {
		width: auto !important;
		min-width: 220px !important;
		max-width: 280px !important;
		min-height: 44px !important;
		padding: 11px 22px !important;
		white-space: nowrap !important;
	}
}
@media (max-width: 980px) {
	body.tkb-product-design-v7
	.tkb-reviews-bottom
	#review_form
	form#commentform {
		display: block !important;
	}
	body.tkb-product-design-v7
	.tkb-reviews-bottom
	#review_form
	form#commentform
	.form-submit {
		width: 100% !important;
		margin-top: 14px !important;
	}
	body.tkb-product-design-v7
	.tkb-reviews-bottom
	#review_form
	form#commentform
	.form-submit
	input[type="submit"],
	body.tkb-product-design-v7
	.tkb-reviews-bottom
	#review_form
	form#commentform
	.form-submit
	button[type="submit"],
	body.tkb-product-design-v7
	.tkb-reviews-bottom
	#review_form
	form#commentform
	input#submit {
		width: 100% !important;
		min-width: 100% !important;
		max-width: none !important;
	}
}
/* ==========================================================
 * v1.3.105/106 — garde-fou panier pour releases sans audio MP3
 * ----------------------------------------------------------
 * Un module WooCommerce contenant form.cart ne doit jamais être traité
 * comme un ancien player à masquer, même si la fiche garde une tracklist
 * Discogs sans source MP3.
 * ========================================================== */
body.tkb-product-design-v7.tkbpp-visual-system-v1:not(.tkb-family-pack) .tkb-native-player-source:has(form.cart),
body.tkb-product-design-v7.tkbpp-visual-system-v1:not(.tkb-family-pack) .tkb-native-player-shell-source:has(form.cart),
body.tkb-product-design-v7.tkbpp-visual-system-v1:not(.tkb-family-pack) .tkb-collapsed-native-player-shell:has(form.cart),
body.tkb-product-design-v7.tkbpp-visual-system-v1:not(.tkb-family-pack) .et_pb_wc_add_to_cart:has(form.cart),
body.tkb-product-design-v7.tkbpp-visual-system-v1:not(.tkb-family-pack) .tkb-cart-source-host:has(form.cart) {
	display: block !important;
	position: relative !important;
	left: auto !important;
	top: auto !important;
	width: 100% !important;
	height: auto !important;
	min-width: 0 !important;
	min-height: 0 !important;
	max-height: none !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	overflow: visible !important;
	clip: auto !important;
	clip-path: none !important;
	white-space: normal !important;
	opacity: 1 !important;
	visibility: visible !important;
	pointer-events: auto !important;
}
body.tkb-product-design-v7.tkbpp-visual-system-v1:not(.tkb-family-pack) form.cart.tkb-universal-purchase-form,
body.tkb-product-design-v7.tkbpp-visual-system-v1:not(.tkb-family-pack) form.cart.tkb-universal-purchase-form .tkb-universal-purchase-row,
body.tkb-product-design-v7.tkbpp-visual-system-v1:not(.tkb-family-pack) form.cart.tkb-universal-purchase-form .tkb-buy-row,
body.tkb-product-design-v7.tkbpp-visual-system-v1:not(.tkb-family-pack) form.cart.tkb-universal-purchase-form .quantity,
body.tkb-product-design-v7.tkbpp-visual-system-v1:not(.tkb-family-pack) form.cart.tkb-universal-purchase-form .single_add_to_cart_button {
	visibility: visible !important;
	opacity: 1 !important;
	pointer-events: auto !important;
}
/* ==========================================================
 * v1.3.106 — garde-fou final panier simple sans MP3
 * ----------------------------------------------------------
 * Les nettoyages de tracklist ne doivent jamais laisser le module panier
 * dans un état visuellement supprimé sur les releases Discogs sans audio.
 * ========================================================== */
body.tkb-product-design-v7.tkbpp-visual-system-v1:not(.tkb-family-pack) .tkb-cart-source-host,
body.tkb-product-design-v7.tkbpp-visual-system-v1:not(.tkb-family-pack) .et_pb_wc_add_to_cart.tkb-cart-source-host,
body.tkb-product-design-v7.tkbpp-visual-system-v1:not(.tkb-family-pack) form.cart.tkb-universal-purchase-form {
	display: block !important;
	visibility: visible !important;
	opacity: 1 !important;
	pointer-events: auto !important;
	overflow: visible !important;
	clip: auto !important;
	clip-path: none !important;
	position: relative !important;
	left: auto !important;
	height: auto !important;
	max-height: none !important;
}
body.tkb-product-design-v7.tkbpp-visual-system-v1:not(.tkb-family-pack) .tkb-cart-source-host .tkb-universal-purchase-row,
body.tkb-product-design-v7.tkbpp-visual-system-v1:not(.tkb-family-pack) .tkb-cart-source-host .tkb-buy-row,
body.tkb-product-design-v7.tkbpp-visual-system-v1:not(.tkb-family-pack) .tkb-cart-source-host .quantity,
body.tkb-product-design-v7.tkbpp-visual-system-v1:not(.tkb-family-pack) .tkb-cart-source-host .single_add_to_cart_button {
	visibility: visible !important;
	opacity: 1 !important;
	pointer-events: auto !important;
}
/* ==========================================================
 * v1.3.114 — variable products: native Woo hierarchy + stable design
 * ----------------------------------------------------------
 * - White desktop breathing room under the header.
 * - Price, stock, quantity and button stay on the same row.
 * - No native variation field is detached or moved.
 * ========================================================== */
@media (min-width: 981px) {
	body.single-product #main-content {
		padding-top: 24px !important;
		background-color: #ffffff !important;
	}
	body.single-product #main-content > .container,
	body.single-product #main-content .et-l--body,
	body.single-product #main-content .et-l--body > .et_builder_inner_content {
		background-color: #ffffff !important;
	}
}
body.tkb-product-design-v7.tkbpp-visual-system-v1:not(.tkb-family-pack)
form.variations_form.tkb-variable-purchase-form
.single_variation_wrap.tkb-variable-purchase-row {
	display: grid !important;
	grid-template-columns: minmax(145px, 1fr) max-content 116px minmax(180px, 1fr) !important;
	grid-template-rows: minmax(48px, auto) auto !important;
	align-items: center !important;
	column-gap: 10px !important;
	row-gap: 8px !important;
	width: 100% !important;
	max-width: 100% !important;
	min-height: 74px !important;
	margin: 14px 0 0 !important;
	padding: 12px !important;
	background: #ffffff !important;
	border: 1px solid #e1e4e7 !important;
	border-radius: 10px !important;
	box-shadow: 0 5px 18px rgba(20, 25, 30, .055) !important;
	box-sizing: border-box !important;
}
body.tkb-product-design-v7.tkbpp-visual-system-v1:not(.tkb-family-pack)
form.variations_form.tkb-variable-purchase-form
.single_variation_wrap.tkb-variable-purchase-row
> .tkb-universal-price {
	grid-column: 1 !important;
	grid-row: 1 !important;
	align-self: center !important;
	justify-self: start !important;
	margin: 0 !important;
}
body.tkb-product-design-v7.tkbpp-visual-system-v1:not(.tkb-family-pack)
form.variations_form.tkb-variable-purchase-form
.single_variation_wrap.tkb-variable-purchase-row
> .tkb-universal-stock {
	grid-column: 2 !important;
	grid-row: 1 !important;
	align-self: center !important;
	justify-self: start !important;
	margin: 0 !important;
}
body.tkb-product-design-v7.tkbpp-visual-system-v1:not(.tkb-family-pack)
form.variations_form.tkb-variable-purchase-form
.single_variation_wrap.tkb-variable-purchase-row
> .woocommerce-variation-add-to-cart {
	display: contents !important;
}
body.tkb-product-design-v7.tkbpp-visual-system-v1:not(.tkb-family-pack)
form.variations_form.tkb-variable-purchase-form
.single_variation_wrap.tkb-variable-purchase-row
.woocommerce-variation-add-to-cart > .quantity {
	grid-column: 3 !important;
	grid-row: 1 !important;
	align-self: center !important;
	justify-self: stretch !important;
	display: grid !important;
	grid-template-columns: 34px minmax(40px, 1fr) 34px !important;
	width: 116px !important;
	min-width: 116px !important;
	min-height: 48px !important;
	margin: 0 !important;
}
body.tkb-product-design-v7.tkbpp-visual-system-v1:not(.tkb-family-pack)
form.variations_form.tkb-variable-purchase-form
.single_variation_wrap.tkb-variable-purchase-row
.woocommerce-variation-add-to-cart > .single_add_to_cart_button {
	grid-column: 4 !important;
	grid-row: 1 !important;
	align-self: stretch !important;
	justify-self: stretch !important;
	width: 100% !important;
	min-width: 0 !important;
	min-height: 48px !important;
	margin: 0 !important;
}
body.tkb-product-design-v7.tkbpp-visual-system-v1:not(.tkb-family-pack)
form.variations_form.tkb-variable-purchase-form
.single_variation_wrap.tkb-variable-purchase-row
> .tkb-variable-purchase-error {
	grid-column: 1 / -1 !important;
	grid-row: 2 !important;
	width: 100% !important;
	margin: 0 !important;
	padding: 8px 10px !important;
	color: #8b3131 !important;
	background: #fff0f0 !important;
	border: 1px solid #efcaca !important;
	border-radius: 7px !important;
	font-size: 12px !important;
	font-weight: 700 !important;
	line-height: 1.35 !important;
	box-sizing: border-box !important;
}
body.tkb-product-design-v7.tkbpp-visual-system-v1:not(.tkb-family-pack)
form.variations_form.tkb-variable-purchase-form
.single_variation_wrap.tkb-variable-purchase-row
> .tkb-variable-purchase-error[hidden] {
	display: none !important;
}
body.tkb-product-design-v7.tkbpp-visual-system-v1:not(.tkb-family-pack)
form.variations_form.tkb-variable-purchase-form
.single_add_to_cart_button.is-loading {
	position: relative !important;
	cursor: wait !important;
	opacity: .72 !important;
	pointer-events: none !important;
}
body.tkb-product-design-v7.tkbpp-visual-system-v1:not(.tkb-family-pack)
form.variations_form.tkb-variable-purchase-form
.single_add_to_cart_button.disabled,
body.tkb-product-design-v7.tkbpp-visual-system-v1:not(.tkb-family-pack)
form.variations_form.tkb-variable-purchase-form
.single_add_to_cart_button:disabled {
	cursor: not-allowed !important;
	opacity: .55 !important;
}
@media (max-width: 899px) {
	body.tkb-product-design-v7.tkbpp-visual-system-v1:not(.tkb-family-pack)
	form.variations_form.tkb-variable-purchase-form
	.single_variation_wrap.tkb-variable-purchase-row {
		grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
		grid-template-rows: auto auto auto !important;
		gap: 10px !important;
	}
	body.tkb-product-design-v7.tkbpp-visual-system-v1:not(.tkb-family-pack)
	form.variations_form.tkb-variable-purchase-form
	.single_variation_wrap.tkb-variable-purchase-row
	> .tkb-universal-price {
		grid-column: 1 !important;
		grid-row: 1 !important;
	}
	body.tkb-product-design-v7.tkbpp-visual-system-v1:not(.tkb-family-pack)
	form.variations_form.tkb-variable-purchase-form
	.single_variation_wrap.tkb-variable-purchase-row
	> .tkb-universal-stock {
		grid-column: 2 !important;
		grid-row: 1 !important;
		justify-self: end !important;
	}
	body.tkb-product-design-v7.tkbpp-visual-system-v1:not(.tkb-family-pack)
	form.variations_form.tkb-variable-purchase-form
	.single_variation_wrap.tkb-variable-purchase-row
	.woocommerce-variation-add-to-cart > .quantity {
		grid-column: 1 !important;
		grid-row: 2 !important;
		width: 108px !important;
		min-width: 108px !important;
		grid-template-columns: 32px minmax(36px, 1fr) 32px !important;
	}
	body.tkb-product-design-v7.tkbpp-visual-system-v1:not(.tkb-family-pack)
	form.variations_form.tkb-variable-purchase-form
	.single_variation_wrap.tkb-variable-purchase-row
	.woocommerce-variation-add-to-cart > .single_add_to_cart_button {
		grid-column: 2 !important;
		grid-row: 2 !important;
	}
	body.tkb-product-design-v7.tkbpp-visual-system-v1:not(.tkb-family-pack)
	form.variations_form.tkb-variable-purchase-form
	.single_variation_wrap.tkb-variable-purchase-row
	> .tkb-variable-purchase-error {
		grid-row: 3 !important;
	}
}
/* ==========================================================
 * v1.3.115 — suppress duplicate "Voir le panier" link
 * ----------------------------------------------------------
 * The Panier Express and header counter already update through the
 * standard added_to_cart event. Only WooCommerce's injected inline link
 * inside the product purchase card is hidden.
 * ========================================================== */
body.single-product form.cart a.added_to_cart.wc-forward,
body.single-product .tkb-variable-purchase-row a.added_to_cart.wc-forward,
body.single-product .tkb-universal-purchase-row a.added_to_cart.wc-forward,
body.single-product .tkb-buy-row a.added_to_cart.wc-forward {
	display: none !important;
	width: 0 !important;
	height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow: hidden !important;
}
/* ==========================================================
 * v1.3.123 — AJAX simple-product add-to-cart confirmation
 * ========================================================== */
body.tkb-product-design-v7.tkbpp-visual-system-v1:not(.tkb-family-pack)
form.cart.tkb-universal-purchase-form
.single_add_to_cart_button.is-loading {
	cursor: wait !important;
	opacity: .72 !important;
	pointer-events: none !important;
}
body.tkb-product-design-v7.tkbpp-visual-system-v1:not(.tkb-family-pack)
form.cart.tkb-universal-purchase-form
.single_add_to_cart_button.tkb-added-confirmation {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 8px !important;
	background: #f0f0f0 !important;
	border-color: #f0f0f0 !important;
	color: var(--tkb-orange, #ff9900) !important;
}
body.tkb-product-design-v7.tkbpp-visual-system-v1:not(.tkb-family-pack)
form.cart.tkb-universal-purchase-form
.single_add_to_cart_button.tkb-added-confirmation:hover,
body.tkb-product-design-v7.tkbpp-visual-system-v1:not(.tkb-family-pack)
form.cart.tkb-universal-purchase-form
.single_add_to_cart_button.tkb-added-confirmation:focus-visible {
	background: #f0f0f0 !important;
	border-color: #f0f0f0 !important;
	color: var(--tkb-orange, #ff9900) !important;
}
body.tkb-product-design-v7.tkbpp-visual-system-v1:not(.tkb-family-pack)
form.cart.tkb-universal-purchase-form
.tkb-product-cart-check {
	font-size: 18px !important;
	font-weight: 900 !important;
	line-height: 1 !important;
}
body.tkb-product-design-v7.tkbpp-visual-system-v1:not(.tkb-family-pack)
form.cart.tkb-universal-purchase-form
.tkb-simple-purchase-error {
	width: 100% !important;
	margin: 10px 0 0 !important;
	padding: 8px 10px !important;
	color: #8b3131 !important;
	background: #fff0f0 !important;
	border: 1px solid #efcaca !important;
	border-radius: 7px !important;
	font-size: 12px !important;
	font-weight: 700 !important;
	line-height: 1.35 !important;
	box-sizing: border-box !important;
}
body.tkb-product-design-v7.tkbpp-visual-system-v1:not(.tkb-family-pack)
form.cart.tkb-universal-purchase-form
.tkb-simple-purchase-error[hidden] {
	display: none !important;
}
/* ==========================================================
 * v1.3.125 — petit desktop : bloc achat simple rééquilibré
 * ----------------------------------------------------------
 * Sur une colonne produit étroite, le bouton ne doit pas rester
 * coincé dans une colonne dimensionnée par le badge de stock.
 * Ligne 1 : prix + stock. Ligne 2 : quantité + bouton extensible.
 * Portée volontairement limitée aux produits simples hors packs.
 * ========================================================== */
@media (min-width: 768px) and (max-width: 1240px) {
	body.tkb-product-design-v7.tkbpp-visual-system-v1:not(.tkb-family-pack)
	form.cart.tkb-universal-purchase-form:not(.variations_form)
	.tkb-universal-purchase-row {
		grid-template-columns: minmax(145px, max-content) minmax(0, 1fr) !important;
		grid-template-rows: auto minmax(48px, auto) !important;
		column-gap: var(--tkbpp-ui-gap) !important;
		row-gap: var(--tkbpp-ui-gap) !important;
		align-items: center !important;
	}
	body.tkb-product-design-v7.tkbpp-visual-system-v1:not(.tkb-family-pack)
	form.cart.tkb-universal-purchase-form:not(.variations_form)
	.tkb-universal-purchase-row > .tkb-universal-price {
		grid-column: 1 !important;
		grid-row: 1 !important;
		justify-self: start !important;
	}
	body.tkb-product-design-v7.tkbpp-visual-system-v1:not(.tkb-family-pack)
	form.cart.tkb-universal-purchase-form:not(.variations_form)
	.tkb-universal-purchase-row > .tkb-universal-stock {
		grid-column: 2 !important;
		grid-row: 1 !important;
		justify-self: start !important;
		align-self: center !important;
	}
	body.tkb-product-design-v7.tkbpp-visual-system-v1:not(.tkb-family-pack)
	form.cart.tkb-universal-purchase-form:not(.variations_form)
	.tkb-universal-purchase-row .tkb-buy-row > .quantity {
		grid-column: 1 !important;
		grid-row: 2 !important;
		justify-self: start !important;
	}
	body.tkb-product-design-v7.tkbpp-visual-system-v1:not(.tkb-family-pack)
	form.cart.tkb-universal-purchase-form:not(.variations_form)
	.tkb-universal-purchase-row .tkb-buy-row > .single_add_to_cart_button {
		grid-column: 2 !important;
		grid-row: 2 !important;
		justify-self: stretch !important;
		width: 100% !important;
		max-width: none !important;
		margin-left: 0 !important;
		white-space: nowrap !important;
	}
}
/* Même garde-fou lorsque la fenêtre est large mais que la colonne Divi
 * d'informations reste réellement étroite. */
@media (min-width: 768px) {
	@container tkbpp-product-info (max-width: 620px) {
		body.tkb-product-design-v7.tkbpp-visual-system-v1:not(.tkb-family-pack)
		form.cart.tkb-universal-purchase-form:not(.variations_form)
		.tkb-universal-purchase-row {
			grid-template-columns: minmax(145px, max-content) minmax(0, 1fr) !important;
			grid-template-rows: auto minmax(48px, auto) !important;
		}
		body.tkb-product-design-v7.tkbpp-visual-system-v1:not(.tkb-family-pack)
		form.cart.tkb-universal-purchase-form:not(.variations_form)
		.tkb-universal-purchase-row > .tkb-universal-price {
			grid-column: 1 !important;
			grid-row: 1 !important;
			justify-self: start !important;
		}
		body.tkb-product-design-v7.tkbpp-visual-system-v1:not(.tkb-family-pack)
		form.cart.tkb-universal-purchase-form:not(.variations_form)
		.tkb-universal-purchase-row > .tkb-universal-stock {
			grid-column: 2 !important;
			grid-row: 1 !important;
			justify-self: start !important;
		}
		body.tkb-product-design-v7.tkbpp-visual-system-v1:not(.tkb-family-pack)
		form.cart.tkb-universal-purchase-form:not(.variations_form)
		.tkb-universal-purchase-row .tkb-buy-row > .quantity {
			grid-column: 1 !important;
			grid-row: 2 !important;
		}
		body.tkb-product-design-v7.tkbpp-visual-system-v1:not(.tkb-family-pack)
		form.cart.tkb-universal-purchase-form:not(.variations_form)
		.tkb-universal-purchase-row .tkb-buy-row > .single_add_to_cart_button {
			grid-column: 2 !important;
			grid-row: 2 !important;
			width: 100% !important;
			max-width: none !important;
			white-space: nowrap !important;
		}
	}
}
/* =========================================================
 * V1.3.150 - SOLD-OUT SIMPLE PRODUCT STATUS CARD
 * ========================================================= */
body.tkb-product-design-v7:not(.tkb-family-pack)
.tkb-universal-purchase-row.tkb-universal-purchase-row--status-only {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) max-content !important;
	grid-template-rows: auto !important;
	align-items: center !important;
	column-gap: 12px !important;
	row-gap: 0 !important;
	min-height: 64px !important;
}
body.tkb-product-design-v7:not(.tkb-family-pack)
.tkb-universal-purchase-row.tkb-universal-purchase-row--status-only > .tkb-universal-price {
	grid-column: 1 !important;
	grid-row: 1 !important;
	justify-self: start !important;
}
body.tkb-product-design-v7:not(.tkb-family-pack)
.tkb-universal-purchase-row.tkb-universal-purchase-row--status-only > .tkb-universal-stock {
	grid-column: 2 !important;
	grid-row: 1 !important;
	display: inline-flex !important;
	justify-self: end !important;
	visibility: visible !important;
	opacity: 1 !important;
	max-width: none !important;
	white-space: nowrap !important;
}
@media (max-width: 420px) {
	body.tkb-product-design-v7:not(.tkb-family-pack)
	.tkb-universal-purchase-row.tkb-universal-purchase-row--status-only {
		grid-template-columns: minmax(0, 1fr) max-content !important;
		column-gap: 8px !important;
		padding: 10px !important;
	}
	body.tkb-product-design-v7:not(.tkb-family-pack)
	.tkb-universal-purchase-row.tkb-universal-purchase-row--status-only > .tkb-universal-stock {
		max-width: 130px !important;
		white-space: normal !important;
		text-align: center !important;
	}
}
/* =========================================================
 * V1.4.2 — contraste accessible des accents sur fonds clairs
 * ========================================================= */
body.tkb-product-design-v7 .tkb-price-stock-row .price,
body.tkb-product-design-v7 .tkb-price-stock-row .price > .woocommerce-Price-amount,
body.tkb-product-design-v7 .tkb-price-stock-row .price ins,
body.tkb-family-pack .tkb-price-stock-row .price > .woocommerce-Price-amount,
body.tkb-family-pack .tkb-price-stock-row .price ins {
	color: var(--tkb-accent-text, #7a4300) !important;
}
body.tkb-product-design-v7 .woocommerce-breadcrumb a:hover,
body.tkb-product-design-v7 .tkb-product-identity-value a:hover,
body.tkb-product-design-v7 .tkb-internal-release-link:hover,
body.tkb-product-design-v7 .tkb-product-release-notes a.tkb-discogs-link:hover {
	color: var(--tkb-accent-text-hover, #5f3400) !important;
}
body.tkb-product-design-v7 .tkb-track-origin strong,
body.tkb-product-design-v7 .comment-form-rating .stars a,
body.tkb-product-design-v7 .tkbpp-product-reassurance__icon {
	color: var(--tkb-accent-text, #7a4300) !important;
}
body.tkb-product-design-v7.tkbpp-visual-system-v1:not(.tkb-family-pack)
form.cart.tkb-universal-purchase-form .single_add_to_cart_button.tkb-added-confirmation,
body.tkb-product-design-v7.tkbpp-visual-system-v1:not(.tkb-family-pack)
form.cart.tkb-universal-purchase-form .single_add_to_cart_button.tkb-added-confirmation:hover,
body.tkb-product-design-v7.tkbpp-visual-system-v1:not(.tkb-family-pack)
form.cart.tkb-universal-purchase-form .single_add_to_cart_button.tkb-added-confirmation:focus-visible {
	color: var(--tkb-accent-text, #7a4300) !important;
}

/* =========================================================
 * V1.4.5 — variation épuisée : action d'alerte cohérente
 * ---------------------------------------------------------
 * Le sélecteur natif WooCommerce reste la source de vérité. Quand la
 * variation choisie est épuisée, la quantité et le bouton panier natif ne
 * doivent plus occuper de place. Stock Alerts utilise alors une seconde
 * ligne stable : éventuel choix à gauche, action d'alerte à droite.
 * ========================================================= */
body.tkb-product-design-v7.tkbpp-visual-system-v1:not(.tkb-family-pack)
form.variations_form.tkb-variable-purchase-form
.single_variation_wrap.tkb-variable-purchase-row.tkbpp-variation-unavailable,
body.tkb-product-design-v7.tkbpp-visual-system-v1:not(.tkb-family-pack)
form.variations_form.tkb-variable-purchase-form
.single_variation_wrap.tkb-variable-purchase-row.tbksa-purchase-alert-mode {
	grid-template-columns: minmax(145px, 1fr) max-content !important;
	grid-template-rows: minmax(48px, auto) auto auto !important;
}
body.tkb-product-design-v7.tkbpp-visual-system-v1:not(.tkb-family-pack)
form.variations_form.tkb-variable-purchase-form
.tkb-variable-purchase-row.tkbpp-variation-unavailable
.woocommerce-variation-add-to-cart > .quantity,
body.tkb-product-design-v7.tkbpp-visual-system-v1:not(.tkb-family-pack)
form.variations_form.tkb-variable-purchase-form
.tkb-variable-purchase-row.tbksa-purchase-alert-mode
.woocommerce-variation-add-to-cart > .quantity,
body.tkb-product-design-v7.tkbpp-visual-system-v1:not(.tkb-family-pack)
form.variations_form.tkb-variable-purchase-form
.tkb-variable-purchase-row .woocommerce-variation-add-to-cart > .quantity[hidden] {
	display: none !important;
}
body.tkb-product-design-v7.tkbpp-visual-system-v1:not(.tkb-family-pack)
form.variations_form.tkb-variable-purchase-form
.tkb-variable-purchase-row.tkbpp-variation-unavailable > .tkb-universal-stock,
body.tkb-product-design-v7.tkbpp-visual-system-v1:not(.tkb-family-pack)
form.variations_form.tkb-variable-purchase-form
.tkb-variable-purchase-row.tbksa-purchase-alert-mode > .tkb-universal-stock {
	grid-column: 2 !important;
	grid-row: 1 !important;
	display: inline-flex !important;
	width: max-content !important;
	min-width: max-content !important;
	max-width: 100% !important;
	box-sizing: border-box !important;
	overflow: hidden !important;
	white-space: nowrap !important;
	text-overflow: clip !important;
}
body.tkb-product-design-v7.tkbpp-visual-system-v1:not(.tkb-family-pack)
form.variations_form.tkb-variable-purchase-form
.tkb-variable-purchase-row > .tbksa-root.tkbpp-stock-alert-action,
body.tkb-product-design-v7.tkbpp-visual-system-v1:not(.tkb-family-pack)
form.variations_form.tkb-variable-purchase-form
.tkb-variable-purchase-row > [data-tbksa-single-root].tkbpp-stock-alert-action {
	grid-column: 1 / -1 !important;
	grid-row: 2 !important;
	display: grid !important;
	grid-template-columns: minmax(180px, 1fr) max-content !important;
	align-items: end !important;
	gap: 10px !important;
	width: 100% !important;
	max-width: none !important;
	height: auto !important;
	margin: 0 !important;
	box-sizing: border-box !important;
}
body.tkb-product-design-v7.tkbpp-visual-system-v1:not(.tkb-family-pack)
form.variations_form.tkb-variable-purchase-form
.tkb-variable-purchase-row .tkbpp-stock-alert-action [data-tbksa-fallback-wrap] {
	grid-column: 1 !important;
	width: 100% !important;
	min-width: 0 !important;
	margin: 0 !important;
}
body.tkb-product-design-v7.tkbpp-visual-system-v1:not(.tkb-family-pack)
form.variations_form.tkb-variable-purchase-form
.tkb-variable-purchase-row .tkbpp-stock-alert-action [data-tbksa-fallback-wrap][hidden] {
	display: none !important;
}
body.tkb-product-design-v7.tkbpp-visual-system-v1:not(.tkb-family-pack)
form.variations_form.tkb-variable-purchase-form
.tkb-variable-purchase-row .tkbpp-stock-alert-action [data-tbksa-fallback-select] {
	width: 100% !important;
	min-width: 0 !important;
	max-width: none !important;
	height: 48px !important;
	margin: 0 !important;
	box-sizing: border-box !important;
}
body.tkb-product-design-v7.tkbpp-visual-system-v1:not(.tkb-family-pack)
form.variations_form.tkb-variable-purchase-form
.tkb-variable-purchase-row .tkbpp-stock-alert-action .tbksa-product-alert-button {
	grid-column: 2 !important;
	justify-self: end !important;
	width: auto !important;
	min-width: 240px !important;
	max-width: 100% !important;
	height: 48px !important;
	margin: 0 !important;
	white-space: nowrap !important;
	box-sizing: border-box !important;
}
body.tkb-product-design-v7.tkbpp-visual-system-v1:not(.tkb-family-pack)
form.variations_form.tkb-variable-purchase-form
.tkb-variable-purchase-row > .tkb-variable-purchase-error {
	grid-column: 1 / -1 !important;
	grid-row: 3 !important;
}
@media (max-width: 560px) {
	body.tkb-product-design-v7.tkbpp-visual-system-v1:not(.tkb-family-pack)
	form.variations_form.tkb-variable-purchase-form
	.tkb-variable-purchase-row > .tbksa-root.tkbpp-stock-alert-action,
	body.tkb-product-design-v7.tkbpp-visual-system-v1:not(.tkb-family-pack)
	form.variations_form.tkb-variable-purchase-form
	.tkb-variable-purchase-row > [data-tbksa-single-root].tkbpp-stock-alert-action {
		grid-template-columns: minmax(0, 1fr) !important;
		align-items: stretch !important;
	}
	body.tkb-product-design-v7.tkbpp-visual-system-v1:not(.tkb-family-pack)
	form.variations_form.tkb-variable-purchase-form
	.tkb-variable-purchase-row .tkbpp-stock-alert-action .tbksa-product-alert-button {
		grid-column: 1 !important;
		width: 100% !important;
		min-width: 0 !important;
		justify-self: stretch !important;
	}
}
