/* ---- Règle TVA UK : mentions GBP (style minimal, le design viendra plus tard) ---- */
.apose-uk-vat-note { display: block; margin-top: .7em; padding: .6em .8em; background: #f1f2f4; border-radius: 4px; color: #4a5361; font-size: 13px; font-weight: 400; line-height: 1.45; }
.apose-uk-vat-tipwrap { position: relative; display: inline-block; }
.apose-uk-vat-tip { margin-left: .15em; padding: 0 .25em; border: 0; background: none; color: inherit; font: inherit; line-height: 1; cursor: help; }
.apose-uk-vat-tip__bubble {
	position: absolute; bottom: calc(100% + 6px); left: 50%; z-index: 30;
	width: max-content; max-width: 240px; padding: .5em .7em;
	transform: translateX(-50%); border-radius: 4px;
	background: #222; color: #fff; font-size: 12px; font-weight: 400; line-height: 1.4; text-align: left; white-space: normal;
	opacity: 0; visibility: hidden; pointer-events: none; transition: opacity .15s;
}
.apose-uk-vat-tipwrap:hover .apose-uk-vat-tip__bubble,
.apose-uk-vat-tip:focus-visible + .apose-uk-vat-tip__bubble,
.apose-uk-vat-tip[aria-expanded="true"] + .apose-uk-vat-tip__bubble { opacity: 1; visibility: visible; }
.apose-uk-vat-mention td { font-size: .85em; opacity: .85; }

/* ---- Popup Livraison + Langue [apose_livraison] (style minimal) ---- */
.apose-prefs { position: relative; display: inline-block; font-size: 14px; line-height: 1.2; }
.apose-prefs__toggle { display: inline-flex; align-items: center; gap: .4em; padding: .35em .2em; cursor: pointer; list-style: none; white-space: nowrap; }
.apose-prefs__toggle::-webkit-details-marker { display: none; }
.apose-prefs__toggle::after { content: ""; border: 4px solid transparent; border-top-color: currentColor; margin-top: 4px; }
.apose-prefs[open] .apose-prefs__toggle::after { border-top-color: transparent; border-bottom-color: currentColor; margin-top: -4px; }
.apose-prefs__flag { display: inline-block; width: 18px; height: auto; vertical-align: middle; }
.apose-prefs__panel {
	position: absolute; top: calc(100% + 6px); right: 0; z-index: 60;
	width: 260px; max-width: calc(100vw - 30px); padding: 1em;
	background: #fff; color: #222; border: 1px solid rgba(0,0,0,.12); border-radius: 4px; box-shadow: 0 6px 20px rgba(0,0,0,.1);
	text-align: left; white-space: normal;
}
.apose-prefs__label { display: block; margin: 0 0 .35em; padding: 0; font-size: 12px; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; }
.apose-prefs__panel select { width: 100%; margin-bottom: .6em; }
.apose-prefs__note { margin: 0 0 .8em; font-size: 12px; line-height: 1.4; }
.apose-prefs__note[hidden] { display: none; }
.apose-prefs__langs { margin: .4em 0 1em; padding: 0; border: 0; }
.apose-prefs__langs label { display: flex; align-items: center; gap: .5em; margin: .3em 0; cursor: pointer; }
.apose-prefs__submit { width: 100%; }

/* ---- Fiche produit : fiche technique, réassurance, étiquettes (style minimal) ---- */
.apose-spec__label { margin: 1em 0 .3em; font-size: .95em; }
.apose-spec__label:first-child { margin-top: 0; }
.apose-spec__list { margin: 0; padding-left: 1.1em; }
.apose-spec__list li { margin: .15em 0; }
.apose-spec__row { margin: 0 0 .5em; }
.apose-spec__row:last-child { margin-bottom: 0; }
.apose-spec__text { margin-top: .8em; }
.apose-reassurance { list-style: none; margin: 1.2em 0 0; padding: 0; font-size: .9em; }
.apose-reassurance li::before { content: "✓"; margin-right: .5em; }
.apose-badges { display: flex; flex-wrap: wrap; gap: .4em; margin-bottom: .5em; }
.apose-badge { display: inline-block; padding: .2em .6em; border: 1px solid currentColor; border-radius: 2px; font-size: 11px; letter-spacing: .08em; text-transform: uppercase; line-height: 1.4; }

/* ---- Filtres boutique [apose_filtres] (style minimal) ---- */
.apose-filters__group { margin: 0 0 1.4em; padding: 0; border: 0; }
.apose-filters__title { display: block; margin-bottom: .5em; padding: 0; font-weight: 600; }
details.apose-filters__group > .apose-filters__title { cursor: pointer; }
.apose-filters__sub { margin: .6em 0 .2em; font-size: .85em; opacity: .7; }
.apose-filters__list { list-style: none; margin: 0; padding: 0; }
.apose-filters__list li { margin: .2em 0; }
.apose-filters__list label { display: flex; align-items: center; gap: .45em; cursor: pointer; }
.apose-filters__count { font-size: .85em; opacity: .6; }
.apose-filters__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 1em; }
.apose-filters__clear { font-size: .9em; }
.apose-filters-mobile { flex-basis: 100%; width: 100%; margin-bottom: 1.5em; border: 1px solid rgba(0,0,0,.12); }
.apose-filters-mobile__toggle { padding: .8em 1em; font-weight: 600; cursor: pointer; }
.apose-filters-mobile .apose-filters { padding: 0 1em 1em; }
@media (min-width: 1000px) { .apose-filters-mobile { display: none; } }
details.apose-filters__group > .apose-filters__title { display: flex; justify-content: space-between; align-items: center; margin-left: 0; padding: 0; font-size: inherit; list-style: none; }
details.apose-filters__group > .apose-filters__title::-webkit-details-marker { display: none; }
details.apose-filters__group > .apose-filters__title::after { content: "+"; font-weight: 400; }
details.apose-filters__group[open] > .apose-filters__title::after { content: "−"; }
.apose-filters .apose-filters__group { margin-inline: 0; padding: 0; min-inline-size: 0; }
.apose-filters .apose-filters__title { margin: 0 0 .5em; padding: 0; font-size: 15px; line-height: 1.4; }
