/* Tijara Shop – widget Bundles. Toutes les couleurs passent par des variables --tjs-*. */

.tjs { container: tjs / inline-size; }
.tjs, .tjs-after {
	--tjs-acc: #111; --tjs-acc-t: #fff; --tjs-tint: #f3f3f3; --tjs-btn: #111; --tjs-btn-t: #fff;
	--tjs-bd: #d4d4d8; --tjs-sel-bg: #f3f3f3; --tjs-title: #111; --tjs-price: #111; --tjs-cmp: #71717a;
	--tjs-badge: #111; --tjs-badge-t: #fff; --tjs-save: #15803d; --tjs-save-bg: #dcfce7;
	--tjs-lock-bg: #3f3f46; --tjs-lock-icon: #fff; --tjs-prog-fill: #111; --tjs-prog-icon: #fff;
	--tjs-prog-track: #e4e4e7; --tjs-prog-bg: #fafafa; --tjs-prog-text: #111;
	--tjs-trust-text: #52525b; --tjs-trust-icon: #52525b; --tjs-stock: #b91c1c;
	--tjs-chk: #111; --tjs-chk-rad: 4px; --tjs-up-bd: #c4c4cc; --tjs-up-bg: #fff; --tjs-up-bs: dashed; --tjs-add-bg: #ededed; --tjs-add-text: #111; --tjs-add-bs: none;
	--tjs-rad: 10px; --tjs-gap: 12px; --tjs-pad: 14px; --tjs-fs: 14px;
	font-size: var(--tjs-fs);
	line-height: 1.35;
	width: 100%;
	flex-basis: 100%;
}
.tjs { margin: 0 0 16px; color: #111; }
.tjs *, .tjs *::before, .tjs *::after, .tjs-after * { box-sizing: border-box; }
.tjs [hidden], .tjs-after [hidden], .tjs-btn-price [hidden] { display: none !important; }

/* Le palier fixe la quantité ; avec « une variante par article », le sélecteur natif est remplacé. */
form.cart.tjs-active .quantity { display: none !important; }
form.cart.tjs-per-unit table.variations,
form.cart.tjs-per-unit .variations,
form.cart.tjs-per-unit .reset_variations { display: none !important; }

/* Bouton natif. */
form.cart.tjs-btn-styled .single_add_to_cart_button {
	background: var(--tjs-btn) !important; color: var(--tjs-btn-t) !important; border-color: var(--tjs-btn) !important;
	border-radius: var(--tjs-rad) !important;
}
/* Bouton sur toute la largeur : beaucoup de thèmes alignent bouton et contenu sur une ligne (flex). */
form.cart.tjs-btn-full,
form.cart.tjs-btn-full .woocommerce-variation-add-to-cart { flex-wrap: wrap !important; }
form.cart.tjs-btn-full .single_add_to_cart_button { flex: 1 1 100% !important; width: 100% !important; max-width: none !important; margin-left: 0 !important; margin-right: 0 !important; float: none !important; }
form.cart.tjs-active .tjs-after { flex: 1 1 100%; width: 100%; clear: both; }
form.cart.tjs-active .single_add_to_cart_button { display: inline-flex; align-items: center; justify-content: center; gap: 10px; flex-wrap: wrap; }
.tjs-btn-price { display: inline-flex; align-items: baseline; gap: 8px; font-weight: 700; }
.tjs-btn-price del { font-weight: 400; opacity: .75; font-size: .9em; }

/* Titre et compte à rebours. */
.tjs__heading { display: flex; align-items: center; gap: 10px; margin: 0 0 10px; font-weight: 700; font-size: .85em; letter-spacing: .06em; text-transform: uppercase; }
.tjs__heading::before, .tjs__heading::after { content: ""; flex: 1; height: 1px; background: var(--tjs-bd); }
.tjs__timer { margin: 0 0 12px; padding: 8px 12px; border-radius: var(--tjs-rad); background: var(--tjs-tint); text-align: center; font-size: .93em; }
.tjs__clock { font-variant-numeric: tabular-nums; }

/* Paliers. */
.tjs-tiers { display: flex; flex-direction: column; gap: var(--tjs-gap); }
.tjs--grid .tjs-tiers { display: grid; grid-template-columns: repeat(var(--tjs-cols), minmax(0, 1fr)); }
.tjs-tier { position: relative; border: 1.5px solid var(--tjs-bd); border-radius: var(--tjs-rad); background: #fff; transition: border-color .15s, background-color .15s; }
.tjs-tier.is-selected { border-color: var(--tjs-acc); background: var(--tjs-sel-bg); }
.tjs-tier__head { display: flex; align-items: center; gap: 12px; margin: 0; padding: var(--tjs-pad); cursor: pointer; color: #111; }
.tjs-tier__radio { position: absolute; opacity: 0; width: 1px; height: 1px; pointer-events: none; }
.tjs-tier__dot { flex: none; width: 18px; height: 18px; border-radius: 50%; border: 2px solid #a1a1aa; background: #fff; }
.tjs-tier.is-selected .tjs-tier__dot { border-color: var(--tjs-acc); background: var(--tjs-acc); box-shadow: inset 0 0 0 3px #fff; }
.tjs-tier__radio:focus-visible ~ .tjs-tier__dot { outline: 2px solid var(--tjs-acc); outline-offset: 2px; }
.tjs-tier__thumb { position: relative; flex: none; display: flex; }
.tjs-tier__thumb img { width: 48px; height: 48px; object-fit: cover; border-radius: 8px; display: block; }
.tjs-tier__qty { position: absolute; bottom: -5px; right: -6px; min-width: 22px; height: 20px; padding: 0 5px; border-radius: 999px; background: #111; color: #fff; font-size: 11px; font-weight: 700; display: flex; align-items: center; justify-content: center; box-shadow: 0 0 0 2px #fff; }
.tjs-tier__info { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.tjs-tier__title { font-weight: 700; font-size: 1.05em; color: var(--tjs-title); }
.tjs-tier__sub { font-size: .86em; color: #52525b; }
.tjs-tier__prices { display: flex; flex-direction: column; align-items: flex-end; text-align: right; }
.tjs-tier__price { font-weight: 700; font-size: 1.12em; white-space: nowrap; color: var(--tjs-price); }
.tjs-tier__cmp { font-size: .86em; color: var(--tjs-cmp); white-space: nowrap; }
.tjs-tier__badge { position: absolute; top: -10px; right: 12px; padding: 2px 9px; border-radius: 999px; background: var(--tjs-badge); color: var(--tjs-badge-t); font-size: .72em; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; white-space: nowrap; }

/* Badges : sticker (ovale incliné), bandeau (haut de carte), ruban d'angle. */
/* Sticker : ovale incliné, police Fraunces (licence OFL, embarquée : aucun appel externe), étincelles en masque SVG. */
@font-face { font-family: "TjsSticker"; font-weight: 500; font-display: swap; src: url("fonts/fraunces-500.woff2") format("woff2"); }
@font-face { font-family: "TjsSticker"; font-weight: 900; font-display: swap; src: url("fonts/fraunces-900.woff2") format("woff2"); }
.tjs-tier.tjs-b-sticker.has-badge { margin-top: 14px; }
.tjs--grid .tjs-tiers:has(.tjs-b-sticker.has-badge) { padding-top: 12px; }
.tjs--grid .tjs-tier.tjs-b-sticker.has-badge { margin-top: 0; }
.tjs-tier.tjs-b-sticker.has-badge .tjs-tier__head { padding-top: calc(var(--tjs-pad) + 8px); }
.tjs-tier.tjs-b-sticker .tjs-tier__badge { z-index: 2; top: -24px; right: -9px; display: flex; flex-direction: column; justify-content: center; width: 92px; height: 48px; padding: 0; border-radius: 50%; white-space: nowrap; text-transform: none; letter-spacing: -.01em; font-family: "TjsSticker", Georgia, "Times New Roman", serif; font-size: 13.3px; line-height: .98; transform: rotate(-6deg); box-shadow: 0 3px 0 color-mix(in srgb, var(--tjs-badge) 62%, #000); }
.tjs-tier.tjs-b-sticker .tjs-tier__badge::before { content: ""; position: absolute; inset: 0; background: var(--tjs-badge-t); -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 132 68'%3E%3Cpath d='M113 12C113.91 24.09 113.91 24.09 126 25C113.91 25.91 113.91 25.91 113 38C112.09 25.91 112.09 25.91 100 25C112.09 24.09 112.09 24.09 113 12ZM108.76 20.76C113.00 24.28 113.00 24.28 117.24 20.76C113.72 25.00 113.72 25.00 117.24 29.24C113.00 25.72 113.00 25.72 108.76 29.24C112.28 25.00 112.28 25.00 108.76 20.76ZM11 29.5C12.17 34.83 12.17 34.83 17.5 36C12.17 37.17 12.17 37.17 11 42.5C9.83 37.17 9.83 37.17 4.5 36C9.83 34.83 9.83 34.83 11 29.5ZM45 4C45.60 6.40 45.60 6.40 48 7C45.60 7.60 45.60 7.60 45 10C44.40 7.60 44.40 7.60 42 7C44.40 6.40 44.40 6.40 45 4ZM91 2.8C91.64 5.36 91.64 5.36 94.2 6C91.64 6.64 91.64 6.64 91 9.2C90.36 6.64 90.36 6.64 87.8 6C90.36 5.36 90.36 5.36 91 2.8ZM124 44.6C124.48 46.52 124.48 46.52 126.4 47C124.48 47.48 124.48 47.48 124 49.4C123.52 47.48 123.52 47.48 121.6 47C123.52 46.52 123.52 46.52 124 44.6ZM72 58.2C72.56 60.44 72.56 60.44 74.8 61C72.56 61.56 72.56 61.56 72 63.8C71.44 61.56 71.44 61.56 69.2 61C71.44 60.44 71.44 60.44 72 58.2ZM25 13C25.40 14.60 25.40 14.60 27 15C25.40 15.40 25.40 15.40 25 17C24.60 15.40 24.60 15.40 23 15C24.60 14.60 24.60 14.60 25 13Z'/%3E%3C/svg%3E") center / 100% 100% no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 132 68'%3E%3Cpath d='M113 12C113.91 24.09 113.91 24.09 126 25C113.91 25.91 113.91 25.91 113 38C112.09 25.91 112.09 25.91 100 25C112.09 24.09 112.09 24.09 113 12ZM108.76 20.76C113.00 24.28 113.00 24.28 117.24 20.76C113.72 25.00 113.72 25.00 117.24 29.24C113.00 25.72 113.00 25.72 108.76 29.24C112.28 25.00 112.28 25.00 108.76 20.76ZM11 29.5C12.17 34.83 12.17 34.83 17.5 36C12.17 37.17 12.17 37.17 11 42.5C9.83 37.17 9.83 37.17 4.5 36C9.83 34.83 9.83 34.83 11 29.5ZM45 4C45.60 6.40 45.60 6.40 48 7C45.60 7.60 45.60 7.60 45 10C44.40 7.60 44.40 7.60 42 7C44.40 6.40 44.40 6.40 45 4ZM91 2.8C91.64 5.36 91.64 5.36 94.2 6C91.64 6.64 91.64 6.64 91 9.2C90.36 6.64 90.36 6.64 87.8 6C90.36 5.36 90.36 5.36 91 2.8ZM124 44.6C124.48 46.52 124.48 46.52 126.4 47C124.48 47.48 124.48 47.48 124 49.4C123.52 47.48 123.52 47.48 121.6 47C123.52 46.52 123.52 46.52 124 44.6ZM72 58.2C72.56 60.44 72.56 60.44 74.8 61C72.56 61.56 72.56 61.56 72 63.8C71.44 61.56 71.44 61.56 69.2 61C71.44 60.44 71.44 60.44 72 58.2ZM25 13C25.40 14.60 25.40 14.60 27 15C25.40 15.40 25.40 15.40 25 17C24.60 15.40 24.60 15.40 23 15C24.60 14.60 24.60 14.60 25 13Z'/%3E%3C/svg%3E") center / 100% 100% no-repeat; pointer-events: none; }
.tjs-stk__l1 { position: relative; margin-left: 16px; font-weight: 500; }
.tjs-stk__l2 { position: relative; margin-left: 24px; font-weight: 900; }
.tjs-stk__one { position: relative; margin: 0 18px 0 15px; text-align: center; font-weight: 900; }
.tjs-tier.tjs-b-bar.has-badge { padding-top: 25px; }
.tjs-tier.tjs-b-bar .tjs-tier__badge { top: 0; left: 0; right: 0; padding: 4px 10px; border-radius: max(0px, calc(var(--tjs-rad) - 2px)) max(0px, calc(var(--tjs-rad) - 2px)) 0 0; text-align: center; overflow: hidden; text-overflow: ellipsis; }
.tjs--grid .tjs-tier.tjs-b-bar.has-badge .tjs-tier__dot { top: 35px; }
.tjs-tier.tjs-b-ribbon.has-badge { overflow: hidden; }
.tjs-tier.tjs-b-ribbon.has-badge .tjs-tier__head { padding-right: calc(var(--tjs-pad) + 52px); }
.tjs-tier.tjs-b-ribbon .tjs-tier__badge { top: -1.5px; right: -1.5px; width: 76px; height: 76px; padding: 0; background: none; border-radius: 0 var(--tjs-rad) 0 0; overflow: hidden; pointer-events: none; }
.tjs-tier.tjs-b-ribbon .tjs-tier__badge > span { position: absolute; top: 24px; right: -35px; width: 136px; padding: 4px 0; line-height: 1.1; white-space: nowrap; transform: rotate(45deg); background: var(--tjs-badge); color: var(--tjs-badge-t); font-size: 8.5px; letter-spacing: 0; text-align: center; box-shadow: 0 2px 4px rgba(0, 0, 0, .18); }

/* Variantes des articles du lot, cadeaux et produits complémentaires. */
.tjs-vsel { display: flex; gap: 6px; flex-wrap: wrap; margin-top: 4px; }
.tjs-vsel select { flex: 1 1 90px; max-width: 150px; min-width: 0; padding: 5px 8px; border: 1px solid #d4d4d8; border-radius: 6px; background: #fff; color: #111; font-size: .9em; font-weight: 400; }
.tjs-vsel.is-unavailable select, .is-unavailable > .tjs-vsel select, .is-unavailable .tjs-item__info .tjs-vsel select { border-color: #dc2626; }
.tjs-vlabel { display: block; font-size: .86em; font-weight: 400; color: #71717a; }
.tjs-gift .tjs-vsel { justify-content: center; width: 100%; }
.tjs-gift .tjs-vsel select { max-width: 100%; font-size: .9em; }
.tjs-upw { display: flex; flex-direction: column; gap: 6px; }
.tjs-upw__vars { padding-left: 38px; }
.tjs-upw__vars .tjs-vsel { margin-top: 0; }

.tjs--grid .tjs-tier__head { flex-direction: column; text-align: center; gap: 6px; padding-top: calc(var(--tjs-pad) + 12px); }
.tjs--grid .tjs-tier__dot { position: absolute; top: 10px; left: 10px; }
.tjs--grid .tjs-tier__prices { align-items: center; text-align: center; }
/* Côte à côte repasse en liste quand le widget est étroit (largeur du widget, pas de l'écran). */
@container tjs (max-width: 420px) {
	.tjs--grid .tjs-tiers { display: flex; }
	.tjs--grid .tjs-tier__head { flex-direction: row; text-align: left; gap: 12px; padding-top: var(--tjs-pad); }
	.tjs--grid .tjs-tier__dot { position: static; }
	.tjs--grid .tjs-tier__prices { align-items: flex-end; text-align: right; }
}

.tjs-tier__body { display: none; flex-direction: column; gap: 8px; padding: 0 var(--tjs-pad) var(--tjs-pad) calc(var(--tjs-pad) + 30px); }
.tjs--grid .tjs-tier__body { padding-left: var(--tjs-pad); }
.tjs-tier.is-selected .tjs-tier__body { display: flex; }
.tjs-tier.is-selected .tjs-tier__body:not(:has(> *:not(:empty))) { display: none; }
.tjs-tier__slot:empty, .tjs-units:empty { display: none; }

/* Variantes par article et articles du lot. */
.tjs-units { display: flex; flex-direction: column; gap: 6px; }
.tjs-unit { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; }
.tjs-unit__n { font-size: .78em; font-weight: 700; color: #71717a; min-width: 22px; }
.tjs-unit select, .tjs-item select { flex: 1 1 90px; max-width: 150px; min-width: 0; padding: 5px 8px; border: 1px solid #d4d4d8; border-radius: 6px; background: #fff; font-size: .9em; }
.tjs-unit.is-unavailable select, .tjs-item.is-unavailable select, .tjs-inl.is-unavailable select { border-color: #dc2626; }
.tjs-item { display: flex; align-items: center; gap: 10px; }
.tjs-item__img { width: 36px; height: 36px; border-radius: 6px; object-fit: cover; flex: none; }
.tjs-item__info { flex: 1; display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.tjs-item__name { font-weight: 600; font-size: .93em; }
.tjs-item__attrs { display: flex; gap: 6px; flex-wrap: wrap; }

/* Cadeaux en ligne dans un palier. */
.tjs-inl { display: flex; align-items: center; gap: 10px; padding: 6px 8px; border-radius: 6px; background: #fff; border: 1px dashed #c4c4cc; font-size: .88em; }
.tjs-inl__img { width: 28px; height: 28px; flex: none; display: flex; align-items: center; justify-content: center; color: #3f3f46; }
.tjs-inl__img img { width: 28px; height: 28px; border-radius: 4px; object-fit: cover; }
.tjs-inl__n { flex: 1; display: flex; flex-direction: column; font-weight: 600; }
.tjs-inl__p { white-space: nowrap; }
.tjs-inl__p strong { color: var(--tjs-save); }
.tjs-inl__p del { color: #71717a; font-size: .9em; }

/* Progression. */
.tjs-prog { margin-top: 12px; padding: 10px 12px; border-radius: var(--tjs-rad); background: var(--tjs-prog-bg); color: var(--tjs-prog-text); border: 1px solid var(--tjs-prog-track); font-size: .9em; }
.tjs-prog__t { display: flex; align-items: center; gap: 6px; font-weight: 600; }
/* Barre à jalons : chaque cadeau est placé au prorata des articles qui le débloquent. */
.tjs-prog__row { position: relative; height: 34px; margin-top: 8px; }
.tjs-prog__bar { position: absolute; left: 0; right: 0; top: 50%; height: 8px; margin-top: -4px; border-radius: 999px; background: var(--tjs-prog-track); overflow: hidden; }
.tjs-prog__marks { position: absolute; inset: 0 17px; }
.tjs-prog__marks .tjs-prog__gift { position: absolute; top: 1px; margin-left: -16px; } /* Pas de transform : l'animation l'utilise. */
.tjs-prog__bar i { display: block; height: 100%; width: 0; border-radius: 999px; background-color: var(--tjs-prog-fill); background-image: linear-gradient(45deg, rgba(255,255,255,.28) 25%, transparent 25%, transparent 50%, rgba(255,255,255,.28) 50%, rgba(255,255,255,.28) 75%, transparent 75%); background-size: 16px 16px; animation: tjsStripes 1s linear infinite; transition: width .7s cubic-bezier(.22,1,.36,1); }
.tjs-prog__gift { z-index: 1; width: 32px; height: 32px; border-radius: 50%; flex: none; display: flex; align-items: center; justify-content: center; background: #fff; border: 2px solid var(--tjs-prog-fill); color: var(--tjs-prog-fill); animation: tjsPulse 1.8s ease-out infinite; }
.tjs-prog__gift.is-done { background: var(--tjs-prog-fill); color: var(--tjs-prog-icon); animation: tjsPop .45s cubic-bezier(.34,1.56,.64,1); }
@keyframes tjsStripes { to { background-position: 16px 0; } }
@keyframes tjsPulse { 0% { box-shadow: 0 0 0 0 color-mix(in srgb, var(--tjs-prog-fill) 45%, transparent); } 70% { box-shadow: 0 0 0 8px transparent; } 100% { box-shadow: 0 0 0 0 transparent; } }
@keyframes tjsPop { 0% { transform: scale(.6); } 100% { transform: scale(1); } }

/* Grille des cadeaux. */
.tjs-gifts { margin-top: 16px; }
.tjs-gifts__h { text-align: center; font-size: .85em; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; margin-bottom: 12px; }
.tjs-gifts__grid { display: grid; grid-template-columns: repeat(var(--tjs-gcols, 2), minmax(0, 1fr)); gap: 8px; }
.tjs-gift { position: relative; display: flex; flex-direction: column; align-items: center; gap: 4px; padding: 16px 6px 10px; border: 1.5px solid var(--tjs-acc); border-radius: var(--tjs-rad); background: var(--tjs-tint); text-align: center; font-size: .85em; }
.tjs-gift__tag { position: absolute; top: -9px; padding: 1px 8px; border-radius: 999px; background: var(--tjs-acc); color: var(--tjs-acc-t); font-size: .8em; font-weight: 700; white-space: nowrap; }
.tjs-gift__media { width: 48px; height: 48px; border-radius: 8px; display: flex; align-items: center; justify-content: center; overflow: hidden; background: #fff; color: #3f3f46; }
.tjs-gift__media img { width: 48px; height: 48px; object-fit: cover; }
.tjs-gift__lock { background: var(--tjs-lock-bg); color: var(--tjs-lock-icon); }
.tjs-gift__name { font-weight: 700; }
.tjs-gift__price { display: flex; gap: 6px; align-items: baseline; }
.tjs-gift__price strong { color: var(--tjs-save); }
.tjs-gift__price del { color: #71717a; }
.tjs-gift__state { font-size: .92em; color: #52525b; }
.tjs-gift.is-locked { border-color: var(--tjs-bd); background: #fafafa; }
.tjs-gift.is-locked .tjs-gift__tag { background: var(--tjs-lock-bg); color: var(--tjs-lock-icon); }

/* Produits complémentaires et personnalisation. */
.tjs-upsells { display: flex; flex-direction: column; gap: 8px; margin-top: 12px; }
.tjs-up { position: relative; display: flex; align-items: center; gap: 10px; margin: 0; padding: 8px 10px; border: 1.5px var(--tjs-up-bs) var(--tjs-up-bd); border-radius: var(--tjs-rad); background: var(--tjs-up-bg); cursor: pointer; }
.tjs-up.is-checked { border-color: var(--tjs-chk); background: var(--tjs-sel-bg); }
.tjs-upsells--after { margin-top: 12px; }

/* Cases à cocher (upsells, produit du palier, personnalisation). */
.tjs-up input, .tjs-addon__row input { position: absolute; opacity: 0; width: 1px; height: 1px; pointer-events: none; }
.tjs-chk { position: relative; width: 18px; height: 18px; flex: none; border-radius: var(--tjs-chk-rad); border: 2px solid #a1a1aa; background: #fff; }
input:checked + .tjs-chk { background: var(--tjs-chk); border-color: var(--tjs-chk); }
input:checked + .tjs-chk::after { content: ""; position: absolute; left: 4.5px; top: 1px; width: 5px; height: 9px; border: solid #fff; border-width: 0 2px 2px 0; transform: rotate(45deg); }
input:focus-visible + .tjs-chk { outline: 2px solid var(--tjs-chk); outline-offset: 2px; }

/* Produit complémentaire en bandeau sous un palier. */
.tjs-addon { border-top: 1px var(--tjs-add-bs) color-mix(in srgb, var(--tjs-add-text) 22%, transparent); background: var(--tjs-add-bg); color: var(--tjs-add-text); border-radius: 0 0 max(0px, calc(var(--tjs-rad) - 2px)) max(0px, calc(var(--tjs-rad) - 2px)); }
.tjs-addon__row { display: flex; align-items: center; gap: 10px; margin: 0; padding: 10px var(--tjs-pad); cursor: pointer; }
.tjs-addon__img { width: 34px; height: 34px; border-radius: 6px; object-fit: cover; flex: none; }
.tjs-addon__t { flex: 1; min-width: 0; font-weight: 700; font-size: .93em; }
.tjs-addon__p { display: flex; flex-direction: column; align-items: flex-end; font-weight: 700; font-size: .93em; white-space: nowrap; color: var(--tjs-price); }
.tjs-addon__p del { font-size: .85em; font-weight: 400; color: var(--tjs-cmp); }
.tjs-addon__vars { padding: 0 var(--tjs-pad) 10px calc(var(--tjs-pad) + 28px); }
.tjs-tier:not(.is-selected) .tjs-addon__vars { display: none; }
.tjs--grid .tjs-tier { display: flex; flex-direction: column; }
.tjs--grid .tjs-addon { margin-top: auto; }
.tjs--grid .tjs-addon__row { flex-direction: column; gap: 6px; text-align: center; }
.tjs--grid .tjs-addon__p { flex-direction: row; gap: 6px; align-items: baseline; }
.tjs--grid .tjs-tier.tjs-b-ribbon.has-badge .tjs-tier__head { padding-right: var(--tjs-pad); }
.tjs--grid .tjs-addon__vars { padding-left: var(--tjs-pad); }

/* Variantes unité par unité. */
.tjs-mpick { display: flex; flex-direction: column; gap: 6px; }
.tjs-mpick__row { display: flex; align-items: center; gap: 8px; }
.tjs-mpick__row .tjs-vsel { flex: 1; margin-top: 0; }
.tjs-mpick__row.is-unavailable select { border-color: #dc2626; }
.tjs-up__img { width: 36px; height: 36px; border-radius: 6px; object-fit: cover; flex: none; }
.tjs-up__t { flex: 1; font-weight: 600; font-size: .93em; }
.tjs-up__p { display: flex; flex-direction: column; align-items: flex-end; font-weight: 700; font-size: .93em; white-space: nowrap; }
.tjs-up__p del { font-size: .85em; font-weight: 400; color: #71717a; }
.tjs-perso { margin-top: 10px; }
.tjs-up__p small { font-size: .78em; font-weight: 500; color: #71717a; }
.tjs-perso__input { width: 100%; margin-top: 6px; padding: 10px 12px; border: 1px solid #d4d4d8; border-radius: 6px; }

/* Économies, stock, erreurs. */
.tjs-sum { margin-top: 14px; padding: 12px 14px; border-radius: var(--tjs-rad); background: #fafafa; border: 1px solid #e4e4e7; display: flex; flex-direction: column; gap: 4px; }
.tjs-sum__r { display: flex; justify-content: space-between; align-items: baseline; font-size: .93em; color: #52525b; }
.tjs-sum__r.is-big { color: #111; font-size: 1.05em; }
.tjs-sum__save { align-self: flex-start; margin-top: 4px; padding: 3px 10px; border-radius: 999px; background: var(--tjs-save-bg); color: var(--tjs-save); font-weight: 700; font-size: .88em; }
.tjs-stock { margin-top: 12px; color: var(--tjs-stock); font-weight: 600; font-size: .93em; }
.tjs-error { margin: 10px 0 0; color: #b91c1c; font-size: .93em; }

/* Sous le bouton. */
.tjs-after { margin-top: 8px; }
.tjs-saveline { display: flex; align-items: center; justify-content: center; gap: 6px; color: var(--tjs-save); font-weight: 600; font-size: .9em; text-align: center; }
.tjs-trust { display: flex; justify-content: center; flex-wrap: wrap; gap: 6px 14px; margin-top: 10px; font-size: .8em; color: var(--tjs-trust-text); }
.tjs-trust span { display: inline-flex; align-items: center; gap: 5px; }
.tjs-trust svg { color: var(--tjs-trust-icon); }

/* Rappel d'upgrade dans le panier. */
.tjs-upgrade { display: flex; flex-direction: column; gap: 8px; margin: 0 0 16px; padding: 14px; border: 1.5px solid var(--tjs-acc, #111); border-radius: var(--tjs-rad, 10px); background: var(--tjs-sel-bg, #f3f3f3); }
.tjs-upgrade__s { font-size: .92em; }
.tjs-upgrade__b { align-self: flex-start; padding: 10px 16px; border-radius: var(--tjs-rad, 10px); background: var(--tjs-btn, #111); color: var(--tjs-btn-t, #fff) !important; font-weight: 700; text-decoration: none !important; }

/* Boutons de paiement express sur fiche produit : ils achèteraient le produit seul, hors offre. */
body.single-product.tjs-has-offer #wc-stripe-payment-request-wrapper,
body.single-product.tjs-has-offer #wc-stripe-payment-request-button-separator,
body.single-product.tjs-has-offer #wc-stripe-express-checkout-element,
body.single-product.tjs-has-offer #wc-stripe-express-checkout-button-separator,
body.single-product.tjs-has-offer .wcpay-payment-request-wrapper,
body.single-product.tjs-has-offer #wcpay-payment-request-wrapper,
body.single-product.tjs-has-offer #wcpay-express-checkout-element,
body.single-product.tjs-has-offer #wcpay-express-checkout-wrapper,
body.single-product.tjs-has-offer #wcpay-payment-request-button-separator,
body.single-product.tjs-has-offer #ppc-button-ppcp-gateway,
body.single-product.tjs-has-offer .ppc-button-wrapper,
body.single-product.tjs-has-offer .wc-block-components-express-payment { display: none !important; }

@media (prefers-reduced-motion: reduce) {
	.tjs-prog__bar i, .tjs-prog__gift, .tjs-prog__gift.is-done { animation: none; transition: none; }
}
@media (max-width: 480px) {
	.tjs-tier__head { gap: 10px; }
	.tjs-tier__body { padding-left: var(--tjs-pad); }
}
