/* RFS PDP Tabs v0.2.1 (RFS orange theme) — loaded only on product pages where the plugin is active. */
body.rfs-pdp-tabs-active {
	--rfs-orange: #fb5607;      /* RFS theme colour (logo): bars, icons, borders */
	--rfs-orange-dark: #c2410c; /* readable orange for small text on white (5.2:1) */
	--rfs-ink: #1a1a1a;         /* headings and table headers (RFS secondary black) */
	--rfs-body: #555;
	--rfs-mute: #6b6b6b;
	--rfs-line: #ececec;
	--rfs-tint: #fff4ec;
	--rfs-soft: #fafafa;
	--rfs-ok: #1d7a46;
	--rfs-ok-bg: #e8f5ee;
	--rfs-no: #b42318;
	--rfs-no-bg: #fdecea;
	--rfs-tp: #00b67a;
	--rfs-r: 6px;
}

/* ---------- Panel content ---------- */
.rfs-pdp { color: var(--rfs-body); font-size: 15px; line-height: 1.6; }
.rfs-pdp *, .rfs-pdp *::before, .rfs-pdp *::after { box-sizing: border-box; }
.rfs-pdp p { margin: 0 0 12px; }
.rfs-pdp a { color: var(--rfs-ink); text-decoration: underline; text-decoration-color: var(--rfs-orange); text-decoration-thickness: 2px; text-underline-offset: 3px; }
.rfs-pdp a:hover { color: var(--rfs-orange-dark); }
.rfs-pdp ul, .rfs-pdp ol { margin: 0; padding: 0; list-style: none; }
.rfs-pdp ul li, .rfs-pdp ol li { margin: 0; }
.rfs-pdp ul li::marker, .rfs-pdp ol li::marker { content: none; }
.rfs-pdp h3.rfs-pdp__title { font-size: 22px; font-weight: 600; line-height: 1.25; color: var(--rfs-ink); margin: 0 0 6px; }
.rfs-pdp h4 { font-size: 16px; font-weight: 600; line-height: 1.3; color: var(--rfs-ink); margin: 0 0 10px; }
.rfs-pdp__lede { max-width: 70ch; margin-bottom: 20px !important; }
.rfs-pdp__small { font-size: 13px; color: var(--rfs-mute); }
.rfs-pdp__more { margin-top: 16px !important; font-weight: 600; }
.rfs-pdp__pill { display: inline-block; font-weight: 600; font-size: 14px; color: var(--rfs-ink); background: var(--rfs-tint); border: 1px solid var(--rfs-line); border-radius: 999px; padding: 2px 12px; }
.rfs-pdp__pill.is-solid { background: var(--rfs-ink); border-color: var(--rfs-ink); color: #fff; }

/* Size guide */
.rfs-pdp__chips { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 16px; }
.rfs-pdp__chips[hidden] { display: none; }
.rfs-pdp button.rfs-pdp__chip { font: inherit; font-size: 14px; font-weight: 600; line-height: 1.2; padding: 7px 16px; border-radius: 999px; border: 1px solid var(--rfs-ink); background: #fff; color: var(--rfs-ink); cursor: pointer; text-transform: none; letter-spacing: 0; min-height: 0; }
.rfs-pdp button.rfs-pdp__chip[aria-pressed="true"] { background: var(--rfs-ink); color: #fff; }
.rfs-pdp button.rfs-pdp__chip:focus-visible { outline: 2px solid var(--rfs-orange); outline-offset: 2px; }
.rfs-pdp__chart + .rfs-pdp__chart { margin-top: 28px; }
.rfs-pdp__chart[hidden] { display: none; }
.rfs-pdp.has-chips .rfs-pdp__chart-title { display: none; }
.rfs-pdp__offer { font-size: 14px; color: var(--rfs-ink); }
.rfs-pdp__tablebox { overflow-x: auto; -webkit-overflow-scrolling: touch; border: 1px solid var(--rfs-line); border-radius: var(--rfs-r); }
.rfs-pdp__tablebox:focus-visible { outline: 2px solid var(--rfs-orange); outline-offset: 2px; }
.rfs-pdp table.rfs-pdp__table { border-collapse: collapse; width: 100%; min-width: 480px; margin: 0; font-size: 14px; font-variant-numeric: tabular-nums; border: 0; }
.rfs-pdp__table th, .rfs-pdp__table td { padding: 10px 12px; text-align: center; border: 0; border-bottom: 1px solid var(--rfs-line); white-space: nowrap; background: #fff; color: var(--rfs-ink); }
body.rfs-pdp-tabs-active .rfs-pdp table.rfs-pdp__table thead th { color: #fff !important; background: var(--rfs-ink) !important; font-weight: 600; }
body.rfs-pdp-tabs-active .rfs-pdp table.rfs-pdp__table thead th.is-off { color: #bdbdbd !important; background: #4a4a4a !important; }
body.rfs-pdp-tabs-active .rfs-pdp table.rfs-pdp__table tbody th { color: var(--rfs-ink) !important; }
.rfs-pdp__table tbody th { text-align: left; background: var(--rfs-tint); font-weight: 600; position: sticky; left: 0; z-index: 1; }
.rfs-pdp__table thead th:first-child { text-align: left; position: sticky; left: 0; z-index: 2; }
.rfs-pdp__table tr:last-child th, .rfs-pdp__table tr:last-child td { border-bottom: 0; }
.rfs-pdp__table td.is-off { color: #a9b1bd; background: repeating-linear-gradient(135deg, #fff 0 6px, #f4f5f7 6px 12px); }
.rfs-pdp__legend { display: flex; align-items: center; gap: 6px; margin: 8px 0 0 !important; font-size: 12px; color: var(--rfs-mute); }
.rfs-pdp__legend span { width: 12px; height: 12px; border: 1px solid #c6cfdd; background: repeating-linear-gradient(135deg, #fff 0 3px, #e3e6eb 3px 6px); }
.rfs-pdp__tip { margin-top: 14px !important; background: var(--rfs-tint); border-left: 3px solid var(--rfs-orange); border-radius: 0 var(--rfs-r) var(--rfs-r) 0; padding: 10px 14px; font-size: 14px; color: var(--rfs-ink); }

/* Shared note */
.rfs-pdp__alert { border: 1px solid #fbd0b5; background: var(--rfs-tint); border-left: 4px solid var(--rfs-orange); border-radius: var(--rfs-r); padding: 12px 14px; margin-bottom: 18px; font-size: 14px; color: var(--rfs-ink); }
.rfs-pdp__alert strong { color: var(--rfs-orange-dark); }
.rfs-pdp h4.rfs-pdp__sub { font-size: 15px; margin: 22px 0 10px; }

/* Delivery (RFS): UK hero, destination cards, icon path */
.rfs-del__hero { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px 24px; background: var(--rfs-ink); color: #fff; border-radius: 10px; padding: 18px 22px; margin: 6px 0 4px; border-left: 6px solid var(--rfs-orange); }
.rfs-del__hero-main { display: flex; align-items: baseline; flex-wrap: wrap; gap: 4px 12px; }
.rfs-del__eyebrow { width: 100%; font-size: 12px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: var(--rfs-orange); }
.rfs-del__big { font-size: 40px; font-weight: 700; line-height: 1; color: #fff; font-variant-numeric: tabular-nums; }
.rfs-del__unit { font-size: 16px; color: #e8e8e8; }
.rfs-pdp p.rfs-del__hero-note { margin: 0; font-size: 13px; color: #cfcfcf; max-width: 30ch; }
.rfs-del__cards { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
.rfs-del__cards li { display: flex; flex-direction: column; gap: 4px; padding: 12px 14px; border: 1px solid var(--rfs-line); border-top: 3px solid var(--rfs-orange); border-radius: var(--rfs-r); background: #fff; }
.rfs-del__cards li.is-other { border-top-color: #cfcfcf; background: var(--rfs-soft); }
.rfs-del__card-name { font-size: 13px; font-weight: 600; color: var(--rfs-mute); }
.rfs-del__card-days { font-size: 14px; color: var(--rfs-ink); }
.rfs-del__card-days strong { font-size: 20px; font-weight: 700; color: var(--rfs-ink); margin-right: 2px; font-variant-numeric: tabular-nums; }
.rfs-del__path { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; margin: 0 0 16px !important; position: relative; }
.rfs-del__path li { display: flex; flex-direction: column; align-items: flex-start; gap: 8px; padding-right: 16px; position: relative; }
.rfs-del__path li:not(:last-child)::after { content: ""; position: absolute; top: 21px; left: 48px; right: 4px; height: 2px; background: var(--rfs-orange); }
.rfs-del__ic { width: 42px; height: 42px; border-radius: 50%; border: 2px solid var(--rfs-orange); background: #fff; color: var(--rfs-orange-dark); display: grid; place-items: center; position: relative; z-index: 1; }
.rfs-del__ic svg { width: 20px; height: 20px; fill: none !important; }
.rfs-del__path strong { color: var(--rfs-ink); }
.rfs-del__path p { margin: 2px 0 0; font-size: 14px; }

/* Returns (RFS): contact strip, numbered path, quick-answers table */
.rfs-ret__first { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px 18px; padding: 14px 16px; border-radius: 10px; background: var(--rfs-tint); border: 1px solid #fbd0b5; margin: 6px 0 16px; }
.rfs-ret__first p { margin: 0 !important; max-width: 60ch; color: var(--rfs-ink); }
.rfs-pdp a.rfs-ret__mail { display: inline-block; padding: 8px 14px; border-radius: 999px; background: var(--rfs-ink); color: #fff !important; text-decoration: none; font-size: 14px; font-weight: 600; overflow-wrap: anywhere; }
.rfs-pdp a.rfs-ret__mail:hover { background: var(--rfs-orange-dark); color: #fff !important; }
.rfs-ret__path { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; margin: 0 0 18px !important; }
.rfs-ret__path li { display: grid; grid-template-columns: 30px 1fr; gap: 10px; align-items: start; }
.rfs-ret__n { width: 30px; height: 30px; border-radius: 50%; background: var(--rfs-orange); color: #fff; display: grid; place-items: center; font-weight: 700; font-size: 14px; }
.rfs-ret__path strong { color: var(--rfs-ink); }
.rfs-ret__path p { margin: 2px 0 0; font-size: 14px; overflow-wrap: anywhere; }
.rfs-ret__tablebox { border: 1px solid var(--rfs-line); border-radius: var(--rfs-r); overflow: hidden; }
.rfs-pdp table.rfs-ret__table { width: 100%; border-collapse: collapse; margin: 0; border: 0; font-size: 14px; }
body.rfs-pdp-tabs-active .rfs-pdp table.rfs-ret__table thead th { background: var(--rfs-ink) !important; color: #fff !important; font-weight: 600; text-align: left; padding: 10px 14px; border: 0; }
.rfs-ret__table tbody th, .rfs-ret__table td { padding: 11px 14px; text-align: left; vertical-align: top; border: 0; border-top: 1px solid var(--rfs-line); background: #fff; color: var(--rfs-ink); font-weight: 400; }
.rfs-ret__table tbody th { width: 46%; font-weight: 500; }
.rfs-ret__table tr.is-yes td:nth-child(2) { color: var(--rfs-ok); font-weight: 600; }
.rfs-ret__table tr.is-no td:nth-child(2) { color: var(--rfs-no); font-weight: 600; }
.rfs-ret__table tr.is-no th, .rfs-ret__table tr.is-no td { background: #fffafa; }
.rfs-ret__badge { display: inline-grid; place-items: center; width: 20px; height: 20px; border-radius: 50%; margin-right: 7px; font-size: 11px; }
.rfs-ret__table tr.is-yes .rfs-ret__badge { background: var(--rfs-ok-bg); }
.rfs-ret__table tr.is-no .rfs-ret__badge { background: var(--rfs-no-bg); }
.rfs-ret__refund { display: flex; flex-wrap: wrap; gap: 4px 12px; align-items: baseline; padding: 12px 16px; margin: 14px 0; border-radius: var(--rfs-r); background: var(--rfs-soft); border-left: 4px solid var(--rfs-orange); font-size: 14px; color: var(--rfs-ink); }
.rfs-ret__refund strong { text-transform: uppercase; letter-spacing: .06em; font-size: 12px; color: var(--rfs-orange-dark); }

/* Care */
.rfs-pdp__material { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; margin-bottom: 18px !important; }
.rfs-pdp__care { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 10px; }
.rfs-pdp__care li { display: grid; justify-items: center; text-align: center; gap: 8px; padding: 14px 6px; border: 1px solid var(--rfs-line); border-radius: var(--rfs-r); font-size: 13px; font-weight: 600; color: var(--rfs-ink); }
.rfs-pdp__care-ic { width: 52px; height: 52px; border-radius: 50%; background: var(--rfs-tint); color: var(--rfs-orange-dark); display: grid; place-items: center; }
.rfs-pdp__care-ic svg, .rfs-pdp__care-ic svg * { fill: none !important; stroke: currentColor; }

/* ---------- Description: KFK heading scale (Minimog panel) ---------- */
body.rfs-pdp-tabs-active .tab-content-description h2 { font-size: 20px !important; line-height: 1.3; font-weight: 600; margin: 0 0 12px; }
body.rfs-pdp-tabs-active .tab-content-description h3 { font-size: 18px !important; line-height: 1.35; font-weight: 600; margin: 22px 0 8px; color: var(--rfs-ink); }
body.rfs-pdp-tabs-active .tab-content-description h4,
body.rfs-pdp-tabs-active .tab-content-description h5 { font-size: 16px !important; line-height: 1.35; font-weight: 600; margin: 14px 0 6px; color: var(--rfs-ink); }
body.rfs-pdp-tabs-active .tab-content-description :is(h2, h3, h4, h5) :is(strong, b, span) { font-size: inherit !important; font-weight: inherit; }

/* ---------- "Size guide" bar under the size options ---------- */
.rfs-pdp-sizebar { margin: 4px 0 14px; padding: 0; list-style: none; }
.rfs-pdp-sizebar-row > td { padding: 0 0 10px !important; border: 0 !important; }
.rfs-pdp-sizebar a { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 4px 8px; width: 100%; box-sizing: border-box; padding: 9px 14px; border: 1px solid var(--rfs-orange, #fb5607); border-radius: 6px; background: var(--rfs-tint, #fff4ec); color: var(--rfs-orange-dark, #c2410c); font-size: 14px; font-weight: 500; line-height: 1.35; text-decoration: none; text-transform: none; letter-spacing: 0; }
.rfs-pdp-sizebar a span { text-decoration: underline; text-underline-offset: 3px; }
.rfs-pdp-sizebar a:hover { background: #ffe8d9; color: var(--rfs-orange-dark, #c2410c); }
.rfs-pdp-sizebar a:focus-visible { outline: 2px solid var(--rfs-orange, #fb5607); outline-offset: 2px; }
.rfs-pdp-sizebar svg { flex: 0 0 auto; }

/* ---------- Trust block under Add to basket (compact list, Katie 2026-10-18) ---------- */
.rfs-tb { margin: 14px 0 12px; border: 1px solid var(--rfs-line, #ececec); border-top: 3px solid var(--rfs-orange, #fb5607); border-radius: 6px; overflow: hidden; background: #fff; font-size: 14px; line-height: 1.3; text-align: left; }
.rfs-tb *, .rfs-tb *::before, .rfs-tb *::after { box-sizing: border-box; }
.rfs-tb .rfs-tb__row { display: flex; align-items: center; gap: 10px; min-height: 48px; margin: 0; padding: 7px 12px; border-top: 1px solid var(--rfs-line, #ececec); color: var(--rfs-ink, #1a1a1a); text-decoration: none !important; text-transform: none; letter-spacing: 0; background: #fff; }
.rfs-tb .rfs-tb__row:first-child { border-top: 0; }
.rfs-tb a.rfs-tb__row::before, .rfs-tb a.rfs-tb__row::after { display: none !important; content: none !important; }
.rfs-tb a.rfs-tb__row:hover { background: var(--rfs-tint, #fff4ec); color: var(--rfs-ink, #1a1a1a); }
.rfs-tb a.rfs-tb__row:focus-visible { outline: 2px solid var(--rfs-orange, #fb5607); outline-offset: -2px; }
.rfs-tb .rfs-tb__ic { flex: 0 0 30px; width: 30px; height: 30px; border-radius: 50%; display: flex; align-items: center; justify-content: center; background: var(--rfs-orange, #fb5607); color: #fff; }
.rfs-tb .rfs-tb__ic svg { width: 16px; height: 16px; fill: none !important; }
.rfs-tb .rfs-tb__txt { flex: 1 1 auto; min-width: 0; }
.rfs-tb .rfs-tb__t { display: block; font-size: 14px; line-height: 1.25; font-weight: 600; color: var(--rfs-ink, #1a1a1a); }
.rfs-tb .rfs-tb__tp { color: var(--rfs-tp, #00b67a); font-weight: 700; }
.rfs-tb .rfs-tb__s { display: block; margin-top: 1px; font-size: 12.5px; line-height: 1.3; font-weight: 400; color: var(--rfs-body, #555); }
.rfs-tb .rfs-tb__end { flex: 0 0 auto; display: flex; align-items: center; color: var(--rfs-ink, #1a1a1a); }
.rfs-tb .rfs-tb__end svg { width: 16px; height: 16px; fill: none !important; }
.rfs-tb .rfs-tb__end img { display: block; width: auto; height: 16px; max-width: 140px; }
.rfs-tb .rfs-tb__row[hidden] { display: none !important; }
@media (max-width: 340px) { .rfs-tb .rfs-tb__end img { height: 13px; } }
/* The block carries the secure-checkout message, so the theme badge is not shown twice. */
body.rfs-tb-hide-theme .product-trust-badge { display: none !important; }

/* ---------- Phone: vertical tab selector (kept from v0.1.6, approved) ---------- */
@media (max-width: 767px) {
	.rfs-pdp-tabs-enabled .minimog-tabs__header-inner { overflow: visible !important; }
	.rfs-pdp-tabs-enabled .minimog-tabs__header { border: 1px solid #e1e1e1; display: block !important; width: 100%; }
	.rfs-pdp-tabs-enabled .minimog-tabs__header .tab-title {
		align-items: center; background: #fff; border: 0 !important; border-bottom: 1px solid #e1e1e1 !important; box-shadow: none !important; color: #222;
		display: flex !important; font-weight: 700; justify-content: space-between; margin: 0 !important; min-height: 46px; padding: 0.7rem 0.9rem !important;
		position: relative !important; text-transform: uppercase; transform: none !important; width: 100%;
	}
	.rfs-pdp-tabs-enabled .minimog-tabs__header .tab-title:last-child { border-bottom: 0 !important; }
	.rfs-pdp-tabs-enabled .minimog-tabs__header .tab-title::before { content: none !important; display: none !important; }
	.rfs-pdp-tabs-enabled .minimog-tabs__header .tab-title::after {
		background: none !important; border: 0 !important; color: #111; content: '+' !important; font-size: 1.25rem; font-weight: 700; height: auto !important;
		left: auto !important; line-height: 1; margin: 0 0 0 auto !important; position: static !important; right: auto !important; top: auto !important; transform: none !important; width: auto !important;
	}
	.rfs-pdp-tabs-enabled .minimog-tabs__header .tab-title.active {
		background: #fff4ec; border: 0 !important; border-bottom: 1px solid #e1e1e1 !important; border-left: 4px solid #fb5607 !important; color: #111; padding-left: calc(0.9rem - 4px) !important;
	}
	.rfs-pdp-tabs-enabled .minimog-tabs__header .tab-title.active::after { content: '−' !important; color: #c2410c !important; }
	.rfs-pdp-tabs-enabled .minimog-tabs__header .tab-title .tab-title__text { color: #111 !important; flex: 1; margin: 0 !important; padding: 0 !important; }
	.rfs-pdp-tabs-enabled .minimog-tabs__header .tab-title.active .tab-title__text { color: #c2410c !important; }
	.rfs-pdp-tabs-enabled .minimog-tabs__header-inner .ps__rail-x,
	.rfs-pdp-tabs-enabled .minimog-tabs__header-inner .ps__rail-y { display: none !important; }

	body.rfs-pdp-tabs-active .tab-content-description h2 { font-size: 19px !important; }
	.rfs-pdp h3.rfs-pdp__title { font-size: 19px; }
	.rfs-del__big { font-size: 34px; }
	.rfs-del__cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.rfs-del__path, .rfs-ret__path { grid-template-columns: 1fr; gap: 14px; }
	.rfs-del__path li { flex-direction: row; align-items: center; gap: 12px; }
	.rfs-del__path li:not(:last-child)::after { top: 44px; left: 20px; right: auto; width: 2px; height: calc(100% - 30px); }
	/* Quick answers: each row becomes a small card on phones. */
	.rfs-ret__table thead { display: none; }
	.rfs-ret__table, .rfs-ret__table tbody, .rfs-ret__table tr, .rfs-ret__table th, .rfs-ret__table td { display: block; width: 100% !important; }
	.rfs-ret__table tr { border-top: 1px solid var(--rfs-line); padding: 10px 14px; }
	.rfs-ret__table tr:first-child { border-top: 0; }
	.rfs-ret__table tbody th, .rfs-ret__table td { border: 0; padding: 2px 0; background: transparent !important; }
	.rfs-ret__table tbody th { font-weight: 600; margin-bottom: 4px; }
	.rfs-ret__table td::before { content: attr(data-label) ": "; color: var(--rfs-mute); font-weight: 400; font-size: 13px; }
	.rfs-pdp__care { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 359px) {
	.rfs-pdp__care { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
