/* Fabric product page (Panthera Royal and onwards). Builds on product.css. */
.fb [data-cloth-only] { display: none; }
.fb[data-cloth="linen"] [data-cloth-only="linen"], .fb[data-cloth="velvet"] [data-cloth-only="velvet"], .fb[data-cloth="silk"] [data-cloth-only="silk"] { display: revert; }
.fb[data-cloth="linen"] .fb-cs[data-cloth-only="linen"], .fb[data-cloth="velvet"] .fb-cs[data-cloth-only="velvet"], .fb[data-cloth="silk"] .fb-cs[data-cloth-only="silk"] { display: grid; }

/* Gallery: pinked-edge swatch on the first slide */
.fb-gallery [data-fb-slide][hidden], .fb-gallery [data-fb-thumb][hidden] { display: none; }
.fb-slide--swatch { background: radial-gradient(120% 90% at 50% 40%, #3a2e2b, #1a1211); display: grid; place-items: center; }
.fb-pinked { display: block; width: 78%; aspect-ratio: 1; filter: drop-shadow(0 1.4rem 1.6rem rgba(0, 0, 0, .55)); transform: rotate(-2.5deg); }
.fb-pinked img { width: 100%; height: 100%; object-fit: cover;
  --t: 1.6%;
  clip-path: polygon(var(--zig));
}
.fb-pinked--sm { width: 100%; transform: rotate(-1.5deg); }

/* Buy panel */
.fb-group { border: 0; margin: 1.4rem 0 0; padding: 0; min-width: 0; }
.fb-group__k { display: flex; justify-content: space-between; align-items: baseline; gap: 1rem; flex-wrap: wrap; padding: 0; margin-bottom: .6rem; font-size: .72rem; letter-spacing: .14em; text-transform: uppercase; color: var(--muted); width: 100%; }
.fb-group__k small { letter-spacing: 0; text-transform: none; font-size: .78rem; color: rgba(233, 228, 222, .55); }
.fb-howmuch { letter-spacing: 0; text-transform: none; font-size: .82rem; color: var(--cream); text-decoration: none; }
.fb-cloths { display: grid; grid-template-columns: repeat(3, 1fr); gap: .55rem; }
.fb-cloth { position: relative; cursor: pointer; }
.fb-cloth input { position: absolute; opacity: 0; pointer-events: none; }
.fb-cloth__in { display: flex; flex-direction: column; gap: .2rem; height: 100%; padding: .7rem .75rem .8rem; border: 1px solid var(--line); border-radius: .8rem; transition: border-color .3s var(--ease), background-color .3s var(--ease); }
.fb-cloth:hover .fb-cloth__in { border-color: var(--line-strong); }
.fb-cloth input:checked + .fb-cloth__in { border-color: var(--cream); background: rgba(233, 228, 222, .06); }
.fb-cloth input:focus-visible + .fb-cloth__in { outline: 1px solid var(--cream); outline-offset: 3px; }
.fb-cloth__tex { width: 2.1rem; height: 2.1rem; border-radius: .45rem; margin-bottom: .35rem; }
.fb-cloth__name { font-family: var(--serif); font-size: 1.2rem; line-height: 1.1; display: flex; flex-wrap: wrap; gap: .35rem; align-items: center; }
.fb-cloth__tag { font-family: var(--sans); font-size: .62rem; letter-spacing: .08em; text-transform: uppercase; padding: .12rem .4rem; border-radius: 100em; background: rgba(214, 180, 106, .2); color: #e8cf98; }
.fb-cloth__price { font-size: .86rem; }
.fb-cloth__price small { color: var(--muted); font-size: .74rem; }
.fb-cloth__note { font-size: .74rem; color: var(--muted); line-height: 1.35; }
/* Cloth textures, drawn in CSS so they load instantly */
.fb-tex--linen { background:
  repeating-linear-gradient(0deg, rgba(255, 255, 255, .07) 0 1px, transparent 1px 3px),
  repeating-linear-gradient(90deg, rgba(0, 0, 0, .12) 0 1px, transparent 1px 2.5px),
  linear-gradient(135deg, #c9b99e, #a8977a); }
.fb-tex--velvet { background: radial-gradient(120% 90% at 30% 20%, #3c5480, #16223f 60%, #0b1226); box-shadow: inset 0 0 .6rem rgba(255, 255, 255, .08); }
.fb-tex--silk { background: linear-gradient(115deg, #2b2340 0%, #5b4a7a 30%, #d7c48f 46%, #3a2f55 58%, #1c1630 100%); }

.fb-price { display: flex; align-items: baseline; gap: .6rem; margin-top: 1.5rem; }
.fb-per { color: var(--muted); font-size: .9rem; }
.fb-seg { display: inline-flex; flex-wrap: wrap; gap: .4rem; }
.fb-seg button { display: inline-flex; flex-direction: column; align-items: flex-start; gap: .1rem; padding: .55rem .9rem; border-radius: .7rem; border: 1px solid var(--line); background: none; color: var(--cream); font: inherit; font-size: .9rem; cursor: pointer; transition: border-color .3s, background-color .3s; }
.fb-seg button small { font-size: .72rem; color: var(--muted); }
.fb-seg button[aria-pressed="true"] { border-color: var(--cream); background: rgba(233, 228, 222, .08); }
.fb-seg--lg button { padding: .75rem 1.1rem; }
.fb-buyrow__in { display: flex; align-items: center; justify-content: space-between; gap: 1rem; flex-wrap: wrap; }
.fb-stepper .icon-btn { border: 1px solid var(--line-strong); background: none; color: var(--cream); cursor: pointer; }
.fb-total { display: flex; flex-direction: column; align-items: flex-end; font-size: .82rem; color: var(--muted); }
.fb-total strong { font-family: var(--serif); font-weight: 400; font-size: 1.7rem; color: var(--cream); line-height: 1.1; }
.fb-silknote { margin-top: 1rem; font-size: .9rem; color: #e8cf98; }
.fb-ctas { display: grid; gap: .6rem; margin-top: 1.4rem; }
.fb-ctas [hidden] { display: none !important; }
.fb-samplebtn { display: inline-flex; align-items: center; justify-content: center; gap: .7rem; }
.fb-samplebtn__swatch { width: 1.4rem; height: 1.4rem; border-radius: .25rem; background: var(--fb-tile) center / 300% no-repeat; box-shadow: 0 0 0 1px rgba(233, 228, 222, .35); position: relative; z-index: 1; }
.fb-trust { list-style: none; margin: 1.2rem 0 0; padding: 1rem 0 0; border-top: 1px solid var(--line); display: grid; grid-template-columns: 1fr 1fr; gap: .6rem 1rem; font-size: .8rem; color: var(--muted); }
.fb-trust li { display: flex; align-items: center; gap: .5rem; }
.fb-trust svg { width: 1.15rem; height: 1.15rem; flex: none; color: var(--cream); }
.fb .pd-nav__price { gap: .5rem; }

/* 01 Scale */
.fb-scale__grid { display: grid; grid-template-columns: 1.6fr 1fr; gap: clamp(1.5rem, 4vw, 3.5rem); align-items: start; }
.fb-scale__stage { background: #e9e1d6; overflow: hidden; border-radius: var(--radius-lg); }
.fb-room { display: block; width: 100%; height: auto; }
.fb-room__wall { fill: #e9e1d6; }
.fb-room__floor { fill: #b9a68f; }
.fb-room__pole { fill: #6b5a3e; }
.fb-room__leg { fill: #2a201e; }
.fb-room__person { fill: rgba(29, 21, 20, .2); }
.fb-room__dim path { stroke: #1d1514; stroke-width: .8; fill: none; }
.fb-room__dim text { font: 7px var(--sans); fill: #1d1514; }
.fb-sh { fill: url(#fbShadeV); pointer-events: none; }
.fb-sh--dark { fill: rgba(0, 0, 0, .35); }
.fb[data-cloth="velvet"] .fb-sh { fill: url(#fbPile); }
.fb[data-cloth="silk"] .fb-sh { fill: url(#fbSheen); }
.fb-room [data-fb-pat] image { transition: none; }
.fb-scale__side h3 { font-size: clamp(1.6rem, 2.6vw, 2.2rem); margin-bottom: .8rem; }
.fb-scale__side > p { color: var(--muted); margin-bottom: 1.4rem; }
.fb-scale__facts { margin: 1.6rem 0 0; display: grid; gap: .1rem; }
.fb-scale__facts div { display: flex; justify-content: space-between; gap: 1rem; padding: .7rem 0; border-bottom: 1px solid var(--line); }
.fb-scale__facts dt { color: var(--muted); font-size: .86rem; }
.fb-scale__facts dd { margin: 0; text-align: right; }
.fb-tile-true { display: grid; grid-template-columns: 6.5rem 1fr; gap: 1rem; align-items: center; margin-top: 1.6rem; }
.fb-tile-true__img { display: block; aspect-ratio: 1; background: var(--fb-tile) center / cover; border-radius: .6rem; }
.fb-tile-true p { font-size: .84rem; }

/* 02 Calculator */
.fb-calc__grid { display: grid; grid-template-columns: 1.3fr 1fr; gap: clamp(1.5rem, 4vw, 3.5rem); }
.fb-tabs { display: flex; flex-wrap: wrap; gap: .4rem; margin-bottom: 1.6rem; }
.fb-tabs button { padding: .6rem 1rem; border-radius: 100em; border: 1px solid var(--line); background: none; color: var(--cream); font: inherit; font-size: .9rem; cursor: pointer; }
.fb-tabs button[aria-selected="true"] { background: var(--cream); color: var(--brown); border-color: var(--cream); }
.fb-calc__fields { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem 1.2rem; }
.fb-field { display: flex; flex-direction: column; gap: .4rem; }
.fb-field--full { grid-column: 1 / -1; }
.fb-field label, .fb-field .fb-field__k { font-size: .72rem; letter-spacing: .14em; text-transform: uppercase; color: var(--muted); }
.fb-field input, .fb-field select { font: inherit; color: var(--cream); background: rgba(233, 228, 222, .04); border: 1px solid var(--line); border-radius: .7rem; padding: .8rem .9rem; width: 100%; }
.fb-field select option { color: #1d1514; }
.fb-field__unit { position: relative; }
.fb-field__unit input { padding-right: 3rem; }
.fb-field__unit span { position: absolute; right: .9rem; top: 50%; transform: translateY(-50%); color: var(--muted); font-size: .85rem; pointer-events: none; }
.fb-check { display: flex; align-items: center; gap: .6rem; font-size: .9rem; cursor: pointer; }
.fb-calc__out { padding: clamp(1.4rem, 3vw, 2.2rem); border-radius: var(--radius-lg); background: rgba(233, 228, 222, .05); border: 1px solid var(--line); align-self: start; }
.fb-calc__k { font-size: .72rem; letter-spacing: .14em; text-transform: uppercase; color: var(--muted); }
.fb-calc__big { font-family: var(--serif); font-size: clamp(4rem, 9vw, 6.5rem); line-height: 1; margin: .3rem 0 .6rem; }
.fb-calc__big small { font-size: .35em; color: var(--muted); }
.fb-calc__how { color: var(--muted); font-size: .9rem; min-height: 3em; }
.fb-calc__order { margin: 1.2rem 0; padding-top: 1.2rem; border-top: 1px solid var(--line); }
.fb-calc__small { margin-top: 1rem; font-size: .8rem; color: var(--muted); }

/* 03 Performance */
.fb-perf__grid { display: grid; grid-template-columns: 1fr 1.1fr; gap: clamp(1.5rem, 4vw, 3.5rem); align-items: start; }
.fb-rub h3 { font-size: clamp(1.6rem, 2.6vw, 2.2rem); margin-bottom: .6rem; }
.fb-rub__meter { position: relative; margin: 2.4rem 0 1rem; }
.fb-rub__bar { position: relative; height: 2.6rem; border-radius: .6rem; overflow: hidden; background: linear-gradient(90deg, rgba(143, 168, 178, .12), rgba(143, 168, 178, .7)); }
.fb-rub__bar span { position: absolute; top: 0; bottom: 0; left: calc(var(--a) * 1%); width: calc((var(--b) - var(--a)) * 1%); display: flex; align-items: center; justify-content: center; text-align: center; font-size: .62rem; letter-spacing: .04em; line-height: 1.1; padding: 0 .2rem; border-right: 1px solid rgba(29, 21, 20, .5); color: var(--cream); }
.fb-rub__needle { position: absolute; top: -.6rem; bottom: 0; left: calc(var(--v, 40) * 1%); width: 2px; background: var(--cream); transition: left 1s var(--ease); }
.fb-rub__needle span { position: absolute; bottom: 100%; left: 50%; transform: translateX(-50%); white-space: nowrap; font-size: .8rem; padding: .25rem .55rem; border-radius: 100em; background: var(--cream); color: var(--brown); margin-bottom: .3rem; }
.fb-rub__needle.is-none { opacity: 0; }
.fb-rub__ticks { display: flex; justify-content: space-between; margin-top: .5rem; font-size: .7rem; color: var(--muted); }
.fb-rub__verdict { font-family: var(--serif); font-size: 1.35rem; line-height: 1.3; margin-top: 1.6rem; }
.fb-usage { display: grid; border-top: 1px solid var(--line); }
.fb-usage__row { display: grid; grid-template-columns: 1fr auto; gap: 1rem; align-items: center; padding: .9rem 0; border-bottom: 1px solid var(--line); }
.fb-usage__k { display: flex; flex-direction: column; }
.fb-usage__k small { color: var(--muted); font-size: .8rem; }
.fb-u { display: inline-flex; align-items: center; gap: .45rem; font-size: .82rem; }
.fb-u::before { content: ""; width: .8rem; height: .8rem; border-radius: 50%; border: 1px solid currentColor; }
.fb-u--y::before { background: #a9c3a0; border-color: #a9c3a0; }
.fb-u--s::before { background: linear-gradient(90deg, #d8b45a 50%, transparent 50%); border-color: #d8b45a; }
.fb-u--n { color: var(--muted); }

/* 04 Spec */
.fb-spec__swatch { display: grid; place-items: center; padding: clamp(1rem, 4vw, 3rem); background: radial-gradient(120% 90% at 50% 40%, #3a2e2b, #1a1211); border-radius: var(--radius-lg); }
.fb-spec__swatch figcaption { margin-top: 1.4rem; font-size: .82rem; color: var(--muted); text-align: center; }

/* 05 Cloth */
.fb-cs { grid-template-columns: 1fr 1fr; gap: clamp(1.5rem, 4vw, 3.5rem); align-items: center; }
.fb-cs__media img, .fb-cs__media video { width: 100%; height: 100%; object-fit: cover; display: block; }
.fb-cs__media { aspect-ratio: 10 / 11; }
.fb-cs__video { aspect-ratio: 9 / 16; max-height: 82vh; justify-self: center; width: min(100%, 26rem); position: relative; }
.fb-cs__sound { position: absolute; left: 1rem; bottom: 1rem; z-index: 2; padding: .5rem .9rem; border-radius: 100em; border: 1px solid rgba(255, 255, 255, .5); background: rgba(0, 0, 0, .35); color: #fff; font: inherit; font-size: .8rem; cursor: pointer; backdrop-filter: blur(6px); }
.fb-cs__text h3 { font-size: clamp(2rem, 3.4vw, 3rem); margin: .4rem 0 1rem; }
.fb-cs__text > p { color: var(--muted); max-width: 34rem; }
.fb-stats { list-style: none; margin: 2rem 0 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(8.5rem, 1fr)); gap: 1.2rem 1.5rem; }
.fb-stats li { display: flex; flex-direction: column; border-top: 1px solid var(--line); padding-top: .8rem; }
.fb-stats strong { font-family: var(--serif); font-weight: 400; font-size: clamp(2rem, 3.2vw, 2.8rem); line-height: 1; }
.fb-stats span { font-size: .82rem; color: var(--muted); margin-top: .35rem; }

/* 06 Pattern + loupe */
.fb-pattern__grid { display: grid; grid-template-columns: 1fr 1.1fr; gap: clamp(1.5rem, 4vw, 3.5rem); align-items: center; }
.fb-pattern__text h3 { font-size: clamp(2rem, 3.4vw, 3rem); margin: .4rem 0 1rem; }
.fb-pattern__text p + p { margin-top: 1rem; }
.fb-pattern__text p:not(.case__kicker) { color: var(--muted); }
.fb-pattern__zoom { position: relative; aspect-ratio: 1; overflow: hidden; cursor: none; touch-action: pan-y; }
.fb-pattern__zoom img { width: 100%; height: 100%; object-fit: cover; }
.fb-loupe { position: absolute; width: 11rem; height: 11rem; border-radius: 50%; pointer-events: none; opacity: 0; transform: translate(-50%, -50%); box-shadow: 0 0 0 1px rgba(233, 228, 222, .8), 0 1rem 2rem rgba(0, 0, 0, .5); background-repeat: no-repeat; transition: opacity .3s; }
.fb-pattern__zoom.is-on .fb-loupe { opacity: 1; }
.fb-sub { font-size: clamp(1.6rem, 2.6vw, 2.2rem); margin: clamp(2.5rem, 6vw, 4.5rem) 0 1.4rem; }

/* 07 Seen in */
.fb-seen__grid { display: grid; grid-template-columns: repeat(4, 1fr); grid-auto-rows: minmax(9rem, 16vw); gap: .8rem; }
.fb-seen__f img { width: 100%; height: 100%; object-fit: cover; }
.fb-seen__f.is--tall { grid-row: span 2; }
.fb-seen__f:nth-child(2) { grid-column: span 2; }
.fb-seen__f:nth-child(5) { grid-column: span 2; }

/* 08 Have it made */
.fb-made__intro { max-width: 40rem; color: var(--muted); margin-bottom: 1.8rem; }
.fb-made__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: clamp(1rem, 2.5vw, 2rem); }
.fb-made__card figure { aspect-ratio: 4 / 5; margin-bottom: 1rem; }
.fb-made__card figure img { width: 100%; height: 100%; object-fit: cover; }
.fb-made__card h3 { font-size: 1.7rem; margin-bottom: .4rem; }
.fb-made__card p { color: var(--muted); font-size: .92rem; margin-bottom: 1rem; }

/* 09 Colourways */
.fb-cw__grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 1.4rem 1rem; }
.fb-cw__img { position: relative; display: block; aspect-ratio: 1; border-radius: var(--radius); overflow: hidden; }
.fb-cw__img img { width: 100%; height: 100%; object-fit: cover; transition: transform 1s var(--ease); }
.fb-cw__img:hover img { transform: scale(1.06); }
.fb-cw.is-current .fb-cw__img { box-shadow: 0 0 0 1px var(--cream); }
.fb-cw__here { position: absolute; left: .6rem; top: .6rem; font-size: .7rem; padding: .25rem .55rem; border-radius: 100em; background: var(--cream); color: var(--brown); }
.fb-cw__info { padding-top: .7rem; }
.fb-cw__info h3 { font-size: 1.35rem; }
.fb-cw__info p { font-size: .8rem; color: var(--muted); }
.fb-cw__add { margin-top: .4rem; background: none; border: 0; padding: 0; color: var(--cream); font: inherit; font-size: .82rem; cursor: pointer; text-decoration: underline; text-underline-offset: .25em; text-decoration-color: rgba(233, 228, 222, .4); }

/* Sample band */
.fb-band__in { display: grid; grid-template-columns: 1fr 1.3fr; gap: clamp(1.5rem, 4vw, 3.5rem); align-items: center; padding: clamp(1.5rem, 4vw, 3.5rem); border-radius: var(--radius-lg); background: linear-gradient(135deg, #2a201e, #1a1211); }
.fb-band__swatches { position: relative; height: clamp(12rem, 22vw, 17rem); }
.fb-band__s { position: absolute; width: 52%; aspect-ratio: 1; border-radius: .5rem; box-shadow: 0 1.2rem 2rem rgba(0, 0, 0, .5); background-blend-mode: soft-light; }
.fb-band__s::after { content: ""; position: absolute; inset: 0; border-radius: inherit; background: var(--fb-tile) center / 160%; mix-blend-mode: normal; opacity: .9; }
.fb-band__s.fb-tex--linen { left: 0; top: 12%; transform: rotate(-9deg); }
.fb-band__s.fb-tex--linen::after { opacity: .82; mix-blend-mode: multiply; }
.fb-band__s.fb-tex--velvet { left: 24%; top: 0; transform: rotate(3deg); z-index: 2; }
.fb-band__s.fb-tex--silk { left: 46%; top: 18%; transform: rotate(12deg); z-index: 1; }
.fb-band__s.fb-tex--silk::after { mix-blend-mode: luminosity; opacity: .75; }
.fb-band__text h2 { font-size: clamp(2.2rem, 4vw, 3.4rem); margin: .4rem 0 1rem; }
.fb-band__text p:not(.case__kicker) { color: var(--muted); max-width: 34rem; margin-bottom: 1.4rem; }

/* Mobile bar with two buttons */
.fb-mbar { gap: .5rem; }

/* Toast */
.fb-toast { position: fixed; left: 50%; bottom: 5.2rem; transform: translate(-50%, 1rem); z-index: 150; padding: .7rem 1.1rem; border-radius: 100em; background: var(--cream); color: var(--brown); font-size: .88rem; opacity: 0; pointer-events: none; transition: opacity .3s, transform .5s var(--ease); }
.fb-toast.is-on { opacity: 1; transform: translate(-50%, 0); }

@media (max-width: 1000px) {
  .fb-scale__grid, .fb-calc__grid, .fb-perf__grid, .fb-pattern__grid, .fb-band__in { grid-template-columns: 1fr; }
  .fb[data-cloth] .fb-cs { grid-template-columns: 1fr; }
  .fb-cw__grid { grid-template-columns: repeat(3, 1fr); }
  .fb-seen__grid { grid-template-columns: repeat(2, 1fr); grid-auto-rows: 40vw; }
  .fb-seen__f:nth-child(n) { grid-column: auto; grid-row: auto; }
  .fb-made__grid { grid-template-columns: 1fr; }
  .fb-made__card { display: grid; grid-template-columns: 8rem 1fr; gap: 0 1rem; align-items: start; }
  .fb-made__card figure { grid-row: span 3; margin: 0; }
}
@media (max-width: 640px) {
  .fb-cloths { grid-template-columns: 1fr; }
  .fb-cloth__in { display: grid; grid-template-columns: 2.1rem 1fr auto; gap: 0 .8rem; align-items: center; }
  .fb-cloth__tex { grid-row: span 2; margin: 0; }
  .fb-cloth__price { grid-row: span 2; text-align: right; }
  .fb-trust { grid-template-columns: 1fr; }
  .fb-calc__fields { grid-template-columns: 1fr; }
  .fb-cw__grid { grid-template-columns: repeat(2, 1fr); }
  .fb-rub__bar span { font-size: 0; }
  .fb-mbar .btn { padding-inline: .9rem; }
}

/* ---------- Tear sheet (print only) ---------- */
.fb-sheet { display: none; }
@page { size: A4; margin: 0; }
@media print {
  html.is-fb-printing, html.is-fb-printing body { background: #fff !important; color: #1d1514 !important; height: auto !important; overflow: visible !important; }
  html.is-fb-printing body > *:not(.fb-sheet) { display: none !important; }
  html.is-fb-printing .fb-sheet.is-print { display: flex !important; }
}
.fb-sheet.is-standalone { display: flex; }
.fb-sheet { flex-direction: column; width: 210mm; height: 297mm; padding: 14mm 14mm 10mm; box-sizing: border-box; background: #fff; color: #1d1514; font-family: var(--sans); font-size: 8.6pt; line-height: 1.4; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
.fb-sheet__head { display: flex; align-items: baseline; gap: 6mm; padding-bottom: 4mm; border-bottom: .3mm solid #1d1514; }
.fb-sheet__brand { font-family: var(--serif); font-size: 17pt; letter-spacing: .02em; }
.fb-sheet__kind { font-size: 7pt; letter-spacing: .2em; text-transform: uppercase; color: #6b5d58; }
.fb-sheet__for { margin-left: auto; font-size: 8pt; color: #6b5d58; }
.fb-sheet__top { display: grid; grid-template-columns: 88mm 1fr; gap: 8mm; margin-top: 7mm; }
.fb-sheet__swatch { aspect-ratio: 1; filter: drop-shadow(0 1.5mm 2mm rgba(0, 0, 0, .25)); }
.fb-sheet__swatch img { width: 100%; height: 100%; object-fit: cover; clip-path: polygon(var(--zig)); }
.fb-sheet__coll { font-size: 7pt; letter-spacing: .2em; text-transform: uppercase; color: #6b5d58; }
.fb-sheet__title { font-family: var(--serif); font-weight: 300; font-size: 34pt; line-height: 1; margin: 2mm 0 1mm; }
.fb-sheet__title em { font-style: italic; }
.fb-sheet__desc { font-size: 9pt; }
.fb-sheet__lead { margin: 3mm 0 4mm; color: #4a3e3a; }
.fb-sheet__dl { margin: 0; display: grid; }
.fb-sheet__dl div { display: grid; grid-template-columns: 22mm 1fr; gap: 3mm; padding: 1.3mm 0; border-top: .2mm solid #d8cfc8; }
.fb-sheet__dl dt { color: #6b5d58; font-size: 7.4pt; letter-spacing: .06em; text-transform: uppercase; padding-top: .3mm; }
.fb-sheet__dl dd { margin: 0; }
.fb-sheet__bottom { display: grid; grid-template-columns: 60mm 1fr 1fr; gap: 6mm; margin-top: 8mm; flex: 1; min-height: 0; }
.fb-sheet__pin { border: .35mm dashed #a89b94; border-radius: 2mm; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; gap: 1mm; color: #8a7d77; font-size: 8pt; letter-spacing: .14em; text-transform: uppercase; min-height: 60mm; }
.fb-sheet__pin small { letter-spacing: 0; text-transform: none; font-size: 7.4pt; }
.fb-sheet__h { font-size: 7pt; letter-spacing: .2em; text-transform: uppercase; color: #6b5d58; margin-bottom: 2mm; }
.fb-sheet__use ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 1.6mm; }
.fb-sheet__use li { display: flex; align-items: center; gap: 2mm; }
.fb-sheet__use li::before, .fb-sheet__key i { content: ""; display: inline-block; width: 3mm; height: 3mm; border-radius: 50%; border: .25mm solid #1d1514; flex: none; }
.fb-sheet__use li.is-y::before, .fb-sheet__key i.is-y { background: #7f9a6b; border-color: #7f9a6b; }
.fb-sheet__use li.is-s::before, .fb-sheet__key i.is-s { background: linear-gradient(90deg, #c9a24a 50%, #fff 50%); border-color: #c9a24a; }
.fb-sheet__use li.is-n { color: #9a8f8a; }
.fb-sheet__key { margin-top: 3mm; font-size: 7pt; color: #6b5d58; display: flex; align-items: center; gap: 1.5mm; }
.fb-sheet__key i { margin-left: 2mm; }
.fb-sheet__imgs { display: grid; grid-template-rows: 1fr 1fr; gap: 3mm; min-height: 0; }
.fb-sheet__imgs img { width: 100%; height: 100%; object-fit: cover; border-radius: 1.5mm; min-height: 0; }
.fb-sheet__foot { display: flex; justify-content: space-between; gap: 4mm; margin-top: 6mm; padding-top: 3mm; border-top: .2mm solid #d8cfc8; font-size: 7pt; color: #6b5d58; }

/* Pinking-shear edge: a zigzag polygon, set once in :root */
:root { --zig: 0.00% 1.40%, 1.39% 0.00%, 2.78% 1.40%, 4.17% 0.00%, 5.56% 1.40%, 6.94% 0.00%, 8.33% 1.40%, 9.72% 0.00%, 11.11% 1.40%, 12.50% 0.00%, 13.89% 1.40%, 15.28% 0.00%, 16.67% 1.40%, 18.06% 0.00%, 19.44% 1.40%, 20.83% 0.00%, 22.22% 1.40%, 23.61% 0.00%, 25.00% 1.40%, 26.39% 0.00%, 27.78% 1.40%, 29.17% 0.00%, 30.56% 1.40%, 31.94% 0.00%, 33.33% 1.40%, 34.72% 0.00%, 36.11% 1.40%, 37.50% 0.00%, 38.89% 1.40%, 40.28% 0.00%, 41.67% 1.40%, 43.06% 0.00%, 44.44% 1.40%, 45.83% 0.00%, 47.22% 1.40%, 48.61% 0.00%, 50.00% 1.40%, 51.39% 0.00%, 52.78% 1.40%, 54.17% 0.00%, 55.56% 1.40%, 56.94% 0.00%, 58.33% 1.40%, 59.72% 0.00%, 61.11% 1.40%, 62.50% 0.00%, 63.89% 1.40%, 65.28% 0.00%, 66.67% 1.40%, 68.06% 0.00%, 69.44% 1.40%, 70.83% 0.00%, 72.22% 1.40%, 73.61% 0.00%, 75.00% 1.40%, 76.39% 0.00%, 77.78% 1.40%, 79.17% 0.00%, 80.56% 1.40%, 81.94% 0.00%, 83.33% 1.40%, 84.72% 0.00%, 86.11% 1.40%, 87.50% 0.00%, 88.89% 1.40%, 90.28% 0.00%, 91.67% 1.40%, 93.06% 0.00%, 94.44% 1.40%, 95.83% 0.00%, 97.22% 1.40%, 98.61% 0.00%, 100.00% 1.40%, 98.60% 1.40%, 100.00% 1.39%, 98.60% 2.78%, 100.00% 4.17%, 98.60% 5.56%, 100.00% 6.94%, 98.60% 8.33%, 100.00% 9.72%, 98.60% 11.11%, 100.00% 12.50%, 98.60% 13.89%, 100.00% 15.28%, 98.60% 16.67%, 100.00% 18.06%, 98.60% 19.44%, 100.00% 20.83%, 98.60% 22.22%, 100.00% 23.61%, 98.60% 25.00%, 100.00% 26.39%, 98.60% 27.78%, 100.00% 29.17%, 98.60% 30.56%, 100.00% 31.94%, 98.60% 33.33%, 100.00% 34.72%, 98.60% 36.11%, 100.00% 37.50%, 98.60% 38.89%, 100.00% 40.28%, 98.60% 41.67%, 100.00% 43.06%, 98.60% 44.44%, 100.00% 45.83%, 98.60% 47.22%, 100.00% 48.61%, 98.60% 50.00%, 100.00% 51.39%, 98.60% 52.78%, 100.00% 54.17%, 98.60% 55.56%, 100.00% 56.94%, 98.60% 58.33%, 100.00% 59.72%, 98.60% 61.11%, 100.00% 62.50%, 98.60% 63.89%, 100.00% 65.28%, 98.60% 66.67%, 100.00% 68.06%, 98.60% 69.44%, 100.00% 70.83%, 98.60% 72.22%, 100.00% 73.61%, 98.60% 75.00%, 100.00% 76.39%, 98.60% 77.78%, 100.00% 79.17%, 98.60% 80.56%, 100.00% 81.94%, 98.60% 83.33%, 100.00% 84.72%, 98.60% 86.11%, 100.00% 87.50%, 98.60% 88.89%, 100.00% 90.28%, 98.60% 91.67%, 100.00% 93.06%, 98.60% 94.44%, 100.00% 95.83%, 98.60% 97.22%, 100.00% 98.61%, 98.60% 100.00%, 98.60% 98.60%, 98.61% 100.00%, 97.22% 98.60%, 95.83% 100.00%, 94.44% 98.60%, 93.06% 100.00%, 91.67% 98.60%, 90.28% 100.00%, 88.89% 98.60%, 87.50% 100.00%, 86.11% 98.60%, 84.72% 100.00%, 83.33% 98.60%, 81.94% 100.00%, 80.56% 98.60%, 79.17% 100.00%, 77.78% 98.60%, 76.39% 100.00%, 75.00% 98.60%, 73.61% 100.00%, 72.22% 98.60%, 70.83% 100.00%, 69.44% 98.60%, 68.06% 100.00%, 66.67% 98.60%, 65.28% 100.00%, 63.89% 98.60%, 62.50% 100.00%, 61.11% 98.60%, 59.72% 100.00%, 58.33% 98.60%, 56.94% 100.00%, 55.56% 98.60%, 54.17% 100.00%, 52.78% 98.60%, 51.39% 100.00%, 50.00% 98.60%, 48.61% 100.00%, 47.22% 98.60%, 45.83% 100.00%, 44.44% 98.60%, 43.06% 100.00%, 41.67% 98.60%, 40.28% 100.00%, 38.89% 98.60%, 37.50% 100.00%, 36.11% 98.60%, 34.72% 100.00%, 33.33% 98.60%, 31.94% 100.00%, 30.56% 98.60%, 29.17% 100.00%, 27.78% 98.60%, 26.39% 100.00%, 25.00% 98.60%, 23.61% 100.00%, 22.22% 98.60%, 20.83% 100.00%, 19.44% 98.60%, 18.06% 100.00%, 16.67% 98.60%, 15.28% 100.00%, 13.89% 98.60%, 12.50% 100.00%, 11.11% 98.60%, 9.72% 100.00%, 8.33% 98.60%, 6.94% 100.00%, 5.56% 98.60%, 4.17% 100.00%, 2.78% 98.60%, 1.39% 100.00%, 0.00% 98.60%, 1.40% 98.60%, 0.00% 98.61%, 1.40% 97.22%, 0.00% 95.83%, 1.40% 94.44%, 0.00% 93.06%, 1.40% 91.67%, 0.00% 90.28%, 1.40% 88.89%, 0.00% 87.50%, 1.40% 86.11%, 0.00% 84.72%, 1.40% 83.33%, 0.00% 81.94%, 1.40% 80.56%, 0.00% 79.17%, 1.40% 77.78%, 0.00% 76.39%, 1.40% 75.00%, 0.00% 73.61%, 1.40% 72.22%, 0.00% 70.83%, 1.40% 69.44%, 0.00% 68.06%, 1.40% 66.67%, 0.00% 65.28%, 1.40% 63.89%, 0.00% 62.50%, 1.40% 61.11%, 0.00% 59.72%, 1.40% 58.33%, 0.00% 56.94%, 1.40% 55.56%, 0.00% 54.17%, 1.40% 52.78%, 0.00% 51.39%, 1.40% 50.00%, 0.00% 48.61%, 1.40% 47.22%, 0.00% 45.83%, 1.40% 44.44%, 0.00% 43.06%, 1.40% 41.67%, 0.00% 40.28%, 1.40% 38.89%, 0.00% 37.50%, 1.40% 36.11%, 0.00% 34.72%, 1.40% 33.33%, 0.00% 31.94%, 1.40% 30.56%, 0.00% 29.17%, 1.40% 27.78%, 0.00% 26.39%, 1.40% 25.00%, 0.00% 23.61%, 1.40% 22.22%, 0.00% 20.83%, 1.40% 19.44%, 0.00% 18.06%, 1.40% 16.67%, 0.00% 15.28%, 1.40% 13.89%, 0.00% 12.50%, 1.40% 11.11%, 0.00% 9.72%, 1.40% 8.33%, 0.00% 6.94%, 1.40% 5.56%, 0.00% 4.17%, 1.40% 2.78%, 0.00% 1.39%; }

/* Audit (v32): "seen in" photos as one even row of portrait tiles, rather than thin strips */
.fb-seen__grid { grid-template-columns: repeat(5, minmax(0, 1fr)); grid-auto-rows: auto; }
.fb-seen__grid > .fb-seen__f, .fb-seen__f:nth-child(n) { grid-column: auto; grid-row: auto; aspect-ratio: 3 / 4; }
@media (max-width: 991px) {
  .fb-seen__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .fb-seen__f:nth-child(5) { grid-column: span 2; aspect-ratio: 3 / 2; }
}
@media (max-width: 991px) { .fb-made__card { grid-template-columns: 8rem minmax(0, 1fr); } .fb-made__card .btn { white-space: normal; } }
.fb-toast.is-on { pointer-events: auto; }
.fb-toast button { margin-left: .5rem; padding: 0; border: 0; background: none; font: inherit; font-weight: 600; color: inherit; text-decoration: underline; text-underline-offset: .2em; cursor: pointer; }

/* Sample landing pages (Google Shopping): the sample leads */
.pd-samplecall { display: flex; align-items: center; justify-content: space-between; gap: .9rem 1.2rem; flex-wrap: wrap; margin: .9rem 0 1.1rem; padding: .9rem 1rem; border: 1px solid var(--line); border-radius: var(--radius); background: rgba(233, 228, 222, .04); }
.pd-samplecall p { margin: 0; font-size: .92rem; line-height: 1.45; color: var(--muted); }
.pd-samplecall strong { display: block; color: var(--cream); font-weight: 500; font-size: 1rem; }

/* Custom colour option in the buy panel (flat £50 per pattern) */
.fb-cc { display: grid; grid-template-columns: auto 1fr; gap: .8rem; align-items: start; margin-top: 1.2rem; padding: .95rem 1rem; border: 1px solid var(--line); border-radius: var(--radius); cursor: pointer; transition: border-color .3s var(--ease), background-color .3s var(--ease); }
.fb-cc:hover { border-color: var(--line-strong); }
.fb-cc input { position: absolute; opacity: 0; pointer-events: none; }
.fb-cc__box { width: 1.15rem; height: 1.15rem; margin-top: .15rem; border: 1px solid var(--line-strong); border-radius: .3rem; display: grid; place-items: center; transition: background-color .25s var(--ease), border-color .25s var(--ease); }
.fb-cc__box::after { content: ""; width: .55rem; height: .3rem; border-left: 1.5px solid var(--brown, #1d1514); border-bottom: 1.5px solid var(--brown, #1d1514); transform: rotate(-45deg) translate(1px, -1px); opacity: 0; }
.fb-cc input:checked ~ .fb-cc__box { background: var(--cream); border-color: var(--cream); }
.fb-cc input:checked ~ .fb-cc__box::after { opacity: 1; }
.fb-cc input:focus-visible ~ .fb-cc__box { outline: 2px solid var(--cream); outline-offset: 2px; }
.fb-cc:has(input:checked) { border-color: rgba(233, 228, 222, .45); background: rgba(233, 228, 222, .04); }
.fb-cc__t strong { display: block; font-weight: 500; font-size: .95rem; }
.fb-cc__t em { font-style: normal; color: var(--muted); font-weight: 400; margin-left: .25rem; }
.fb-cc__t small { display: block; margin-top: .3rem; font-size: .8rem; line-height: 1.5; color: var(--muted); }
.fb-cc[hidden] { display: none; }
.fb-usage__row--rub strong { font-family: var(--serif); font-weight: 300; font-size: 1.3rem; }
/* v118: the scale elevation, after Oliver's mockup: a pale wall drawn in centimetres, labels in the house sans, the repeat in the house serif */
.fb-scale__grid:has(.fb-room--el) { grid-template-columns: 1fr; gap: clamp(1.4rem, 3vw, 2.4rem); }
.fb-scale__grid:has(.fb-room--el) .fb-scale__stage { background: #f8f7f4; border: 1px solid #e4e1db; }
.fb-scale__grid:has(.fb-room--el) .fb-scale__side { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.25fr); column-gap: clamp(1.5rem, 5vw, 4.5rem); align-items: start; }
.fb-scale__grid:has(.fb-room--el) .fb-scale__side > h3 { grid-column: 1; grid-row: 1; }
.fb-scale__grid:has(.fb-room--el) .fb-scale__side > p { grid-column: 1; grid-row: 2; }
.fb-scale__grid:has(.fb-room--el) .fb-scale__side > .fb-seg { grid-column: 2; grid-row: 1; align-self: end; }
.fb-scale__grid:has(.fb-room--el) .fb-scale__side > .fb-scale__facts { grid-column: 2; grid-row: 2; }
.fb-el__wall { fill: #f8f7f4; }
.fb-el__grid path { stroke: #ebe8e3; stroke-width: .3; fill: none; }
.fb-el__ceil { stroke: #cfcbc4; stroke-width: .35; }
.fb-el__floor { stroke: #1d1514; stroke-width: .45; }
.fb-el__pole { stroke: #1d1514; stroke-width: 1.1; stroke-linecap: round; }
.fb-el__plinth { fill: #1d1514; }
.fb-el__fig { fill: #1d1514; transition: fill .4s ease; }
.fb-ln { fill: none; stroke: rgba(29, 21, 20, .55); stroke-width: .3; pointer-events: none; }
.fb-el__dim path, .fb-el__bar { stroke: #1d1514; stroke-width: .3; fill: none; }
.fb-el__k { font-family: var(--sans); font-size: 4.1px; letter-spacing: .55px; fill: #1d1514; }
.fb-el__big { font-family: var(--serif); font-weight: 400; font-size: 62px; font-variant-numeric: lining-nums; letter-spacing: -1px; fill: #1d1514; }
@media (max-width: 991px) {
  .fb-scale__grid:has(.fb-room--el) .fb-scale__stage { overflow-x: auto; -webkit-overflow-scrolling: touch; }
  .fb-room--el { min-width: 720px; }
  .fb-scale__grid:has(.fb-room--el) .fb-scale__side { grid-template-columns: 1fr; }
  .fb-scale__grid:has(.fb-room--el) .fb-scale__side > * { grid-column: 1 !important; grid-row: auto !important; }
}
/* v122: a short pattern introduction under the first gallery (previewed on Panthera Cobalt) */
.fb-intro { margin-top: clamp(1.4rem, 2.4vw, 2.2rem); padding-top: clamp(1.2rem, 2vw, 1.8rem); border-top: 1px solid var(--line, rgba(233, 228, 222, .14)); max-width: 36rem; }
.fb-intro__k { font-size: .74rem; letter-spacing: .16em; text-transform: uppercase; color: var(--muted, rgba(233, 228, 222, .62)); margin: 0 0 .7rem; }
.fb-intro__lead { font-family: var(--serif); font-size: clamp(1.35rem, 1.1rem + .9vw, 1.8rem); line-height: 1.25; margin: 0 0 .8rem; text-wrap: balance; }
.fb-intro__t { color: rgba(233, 228, 222, .78); margin: 0 0 1rem; line-height: 1.65; }
.fb-intro__more { font-size: .9rem; }
/* v122: suitability notes per cloth, the upholstery design tip and the wall-panel enquiry */
.fb-usage-col { min-width: 0; }
.fb-usage__k small:empty, .fb-usage__k small span:empty { display: none; }
.fb-u--s { white-space: normal; text-align: right; line-height: 1.3; }
.fb-tip { margin-top: 1.4rem; padding: 1.1rem 1.25rem; border: 1px solid var(--line, rgba(233, 228, 222, .14)); border-radius: var(--radius, 12px); }
.fb-tip__k { font-size: .74rem; letter-spacing: .16em; text-transform: uppercase; color: var(--muted, rgba(233, 228, 222, .62)); margin: 0 0 .45rem; }
.fb-tip p:last-child { margin: 0; }
.fb-usage__ask { margin: 1.1rem 0 0; color: rgba(233, 228, 222, .78); font-size: .95rem; }
.fb-calc.is-noest .fb-calc__order { display: none; }
/* v130: clearer sofa and chair seams, defined curtain folds */
.fb-room--el .fb-ln--k { stroke: #1d1514; stroke-width: .5; stroke-linejoin: round; }
.fb-el__folds path { stroke: rgba(0, 0, 0, .3); stroke-width: .35; fill: none; }
.fb-el__folds path.is-lt { stroke: rgba(255, 255, 255, .28); stroke-width: .5; }

/* phones: the scale drawing is wider than the screen, so say it can be swiped */
@media (max-width: 767px) { .fb-scale__grid { position: relative; } .fb-scale__stage + .fb-scale__side::before { content: "Swipe the drawing to see the sofa and armchair \2192"; display: block; margin: .2rem 0 1rem; font-size: .75rem; letter-spacing: .04em; color: var(--muted); } }
