/* Invoice Booked: shop pages (category, product, basket, checkout, help, account, search) in the trade-paperwork look.
   Loaded after fp-shop.css; palette and fonts follow through the tokens re-pointed in ivb.css. The ledger layer at
   the end of this sheet sets the shape: ruled-paper head bands, carbon navy buy box, stamp red actions with white text. */

body.iv-site:not(.iv-front){background:var(--page)}
body.iv-site:not(.iv-front) h1,body.iv-site:not(.iv-front) h2,body.iv-site:not(.iv-front) h3{font-family:var(--display);font-weight:700;letter-spacing:-.01em}
body.iv-site:not(.iv-front) .fp-wrap{max-width:var(--iv-max)}

/* no mascots on this shop: their empty frames go too */
.fp-cathead-blob,.fp-accdash-art,.fp-acc-peek,.fp-arthead-art,.fp-getcard-art,.fp-fill-pet,.fp-side-price-m,.fph-pair,.fp-loading-pug,.fp-askcard-m,.fp-empty-m{display:none!important}

/* ---------------- head bands: paper with a halftone pink disc and a blue block overprinting at the edge ---------------- */
.fp-cathead,.fp-arthead{background:var(--page)!important;color:var(--ink);border-bottom:3px solid var(--ink);position:relative;overflow:hidden;isolation:isolate}
.fp-cathead::before,.fp-arthead::before{display:none!important}
.fp-cathead::after,.fp-arthead::after{content:"";position:absolute;right:0;top:0;bottom:0;width:38%;background:linear-gradient(115deg,transparent 0 30%,var(--brand-l) 30%);pointer-events:none;z-index:-1}
.fp-arthead::after{width:28%}
.fp-cathead-in,.fp-arthead-in{position:relative;z-index:1;padding-top:30px!important}
.fp-cathead h1,.fp-arthead h1{color:var(--ink)!important;text-shadow:none!important;font-weight:700!important}
.fp-cathead .crumbs li,.fp-arthead .crumbs li,.fp-cathead .crumbs [aria-current],.fp-arthead .crumbs [aria-current]{color:var(--mute)!important}
.fp-cathead .crumbs a,.fp-arthead .crumbs a{color:var(--ink)!important;text-decoration-color:var(--pink)!important}
.fp-cathead .fp-answer,.fp-cathead-lede,.fp-cathead-lede p,.fp-arthead-sum,.fp-arthead-meta,.fp-arthead p{color:var(--ink2)!important}
.fp-arthead-meta .fp-ui{color:var(--pink-d)!important}
.fp-eyebrow{display:inline-block;color:var(--brand)!important;background:none;padding:0;letter-spacing:.08em;font-family:var(--display)!important;font-weight:700!important;text-transform:uppercase;letter-spacing:.05em;font-size:12.5px!important;box-shadow:var(--sh-s)}
.fp-fact{background:var(--card)!important;color:var(--ink)!important;border:1px solid var(--line)!important;border-radius:var(--r)!important;box-shadow:var(--sh-s)}
.fp-fact .fp-ui{color:var(--pink-d)!important}
.fp-fact--price{background:var(--acc-l)!important;font-family:var(--display)!important;font-weight:700!important;box-shadow:var(--sh-s)}
/* category head art: real product photos as loose sheets, taped down */
.iv-cathead-art{position:relative;align-self:center;justify-self:end;width:360px;height:250px;margin:10px 0 24px;background:none!important}
.iv-cat-string{display:none}
.iv-cat-ph{position:absolute;width:150px;background:var(--card);border:1px solid var(--line);padding:6px;box-shadow:var(--sh-s);margin:0}
.iv-cat-ph img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:cover}
.iv-cat-ph .iv-peg{display:none}
.iv-cat-ph--1{left:0;top:40px;transform:none}
.iv-cat-ph--2{left:110px;top:58px;transform:none;z-index:2;box-shadow:var(--sh-s)}
.iv-cat-ph--3{right:0;top:36px;transform:none;box-shadow:var(--sh-s)}
@media (max-width:1023px){.iv-cathead-art{display:none}}

/* chips + anchor bars */
.fp-chip{border:1px solid var(--line)!important;background:var(--card)!important;color:var(--ink)!important;border-radius:var(--r)!important;font-family:var(--body)!important;font-weight:700!important}
.fp-chip.is-on,.fp-chip:hover{background:var(--ink)!important;color:#fff!important}
.fp-chip small{opacity:.85}
.fp-anchors{background:var(--brand-d)!important;border-bottom:0}
.fp-anchors a{font-family:var(--display)!important;font-weight:780!important;color:#e9e7df!important}
.fp-anchors a.is-on,.fp-anchors a:hover{color:#fff!important;border-bottom-color:var(--yel)!important}

/* section heads */
.fp-sec-h h2{color:var(--ink)!important;text-shadow:none!important}
.fp-link{color:var(--pink-d)!important;font-family:var(--display);font-weight:780}

/* product cards: loose sheets with a misregistered colour offset and a stamp price */
.fp-pcard{background:var(--card)!important;border:1px solid var(--line)!important;border-radius:var(--r)!important;box-shadow:var(--sh-s)!important;overflow:hidden;transition:transform .15s,box-shadow .15s}
.fp-pgrid>:nth-child(3n+2).fp-pcard,.fp-pgrid>:nth-child(3n+2) .fp-pcard{box-shadow:var(--sh-s)!important}
.fp-pgrid>:nth-child(3n).fp-pcard,.fp-pgrid>:nth-child(3n) .fp-pcard{box-shadow:var(--sh-s)!important}
.fp-pcard:hover{transform:translate(-2px,-2px);box-shadow:var(--sh-s)!important}
.fp-pcard img{border-radius:0!important}
.fp-from{background:var(--acc)!important;color:var(--ink)!important;font-family:var(--display)!important;font-weight:700!important;border:1px solid var(--line)!important;border-radius:var(--r)!important;transform:none}
.fp-pcard-t{font-family:var(--display)!important;font-weight:700!important;color:var(--ink)!important}
.fp-pcard-hint{color:var(--mute)!important}
.fp-fill{border:2px dashed var(--ink)!important;box-shadow:none!important;border-radius:var(--r)!important}
.fp-fill--navy{background:var(--brand-d)!important;color:#fff!important}.fp-fill--navy span{color:#d3dcea!important}.fp-fill--navy .fp-ui,.fp-fill--navy em{color:#ffe08a!important}
.fp-fill--sky{background:var(--brand-l)!important;color:var(--ink)!important}.fp-fill--sky b,.fp-fill--sky>span{color:var(--ink)!important}.fp-fill--sky .fp-ui,.fp-fill--sky em{color:var(--brand-d)!important}
.fp-fill--red{background:var(--acc-l)!important;color:var(--ink)!important}.fp-fill--red span{color:var(--ink2)!important}.fp-fill--red .fp-ui,.fp-fill--red em{color:var(--acc-d)!important}

/* buttons on shop pages */
.fp-btn{border-radius:var(--r)!important;font-family:var(--display)!important;font-weight:700!important;border:1px solid var(--line)!important;box-shadow:var(--sh-s)!important;transition:transform .12s,box-shadow .12s}
.fp-btn:hover{transform:translate(-1px,-1px);box-shadow:var(--sh-s)!important}
.fp-btn--red,.single_add_to_cart_button,.checkout-button,#place_order,.woocommerce a.button.alt,.woocommerce button.button.alt{background:var(--pink)!important;border:0!important;color:var(--ink)!important;font-family:var(--display)!important;font-weight:700!important;border-radius:var(--r)!important;box-shadow:var(--sh-s)!important}
.single_add_to_cart_button:hover,.checkout-button:hover,#place_order:hover{transform:translate(-1px,-1px);box-shadow:var(--sh-s)!important;background:var(--pink)!important;color:var(--ink)!important}
.fp-btn--line{background:var(--card)!important;color:var(--ink)!important}

/* ---------------- product page ---------------- */
.fp-buy{background:var(--card)!important;border:1px solid var(--line)!important;border-radius:var(--r)!important;box-shadow:var(--sh-s)!important;overflow:hidden}
.fp-buy-fam{font-family:var(--display)!important;font-weight:700!important;color:var(--pink-d)!important}
.fp-buy-head{background:var(--brand)!important;position:relative}
.fp-buy-head::after{display:none!important}
.fp-buy-head>*{position:relative;z-index:1}
.fp-buy-head h1,.fp-buy-head .product_title{color:#fff!important;text-shadow:none!important;font-weight:700!important}
.fp-buy-head .fp-buy-fam{color:var(--yel)!important}
.fp-buy-head .fp-answer,.fp-buy-head .fp-buy-short,.fp-buy-head .fp-buy-short p{color:#e7edf7!important}
.fp-buy-head .pdp-more{color:var(--yel)!important}
.fp-buy-head .pdp-price{background:var(--acc-l)!important;color:var(--ink)!important;border:1px solid var(--line);border-radius:var(--r)!important;box-shadow:var(--sh-s)}
.fp-buy-head .pdp-price small{color:var(--ink)!important}
.fp-buy-head .pdp-price__amt{color:var(--ink)!important}
.pdp-price__amt,.fp-total-p{font-family:var(--display)!important;font-weight:700!important}
.fp-total-p{color:var(--pink-d)!important}
.iv-ptrust{display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important;padding:0!important;margin:16px 0 0!important;list-style:none}
.iv-ptrust li{display:flex!important;align-items:flex-start;gap:9px;padding:10px 11px!important;border:1px solid var(--line);border-left-width:5px;border-radius:var(--r);background:var(--page);font-size:14px;line-height:1.3;margin:0!important;color:var(--ink)}
.iv-ptrust .fp-ui{width:28px;height:28px;padding:5px;border-radius:var(--r);background:var(--pink);color:var(--ink);flex:none}
.iv-ptrust .t2 .fp-ui{background:var(--blue-l)}.iv-ptrust .t3 .fp-ui{background:var(--acc-l)}.iv-ptrust .t4 .fp-ui{background:var(--pink-t)}
.iv-ptrust b{font-family:var(--display);font-weight:700}
.iv-days{display:flex;align-items:flex-start;gap:8px;margin:12px 0 0;font-size:14.5px;line-height:1.4;color:var(--mute)}
.iv-days .fp-ui{width:18px;height:18px;color:var(--pink-d);flex:none;margin-top:1px}
.fp-gal-stage{border:1px solid var(--line)!important;background:var(--card)!important;border-radius:var(--r)!important;box-shadow:var(--sh-s)!important;overflow:hidden}
.fp-gal-thumbs button{border:1px solid var(--line)!important;border-radius:var(--r)!important;overflow:hidden}
.fp-gal-thumbs button.is-on{box-shadow:var(--sh-s)!important}
.fp-getcard{background:var(--card)!important;border:1px solid var(--line)!important;border-radius:var(--r)!important;box-shadow:var(--sh-s)!important}
.fp-getcard .fp-ui{color:var(--pink-d)!important}
/* how big is it */
.iv-pscale{background:var(--dots),var(--card)!important;border:1px solid var(--line)!important;border-radius:var(--r)!important;box-shadow:var(--sh-s)!important}
.iv-pscale .fp-scale-stage{border-bottom:3px solid var(--ink)!important}
.iv-pscale .fp-scale-rect{background:var(--pink)!important;border:1px solid var(--line)!important;border-radius:2px!important;}
.iv-pscale .fp-scale-lbl{background:var(--card)!important;color:var(--ink)!important;font:700 13px/1 var(--display)!important;padding:5px 9px!important;border:1px solid var(--line)!important;border-radius:var(--r)!important;box-shadow:none!important}
/* configurator */
.ib-cfg .ib-opt,.ib-cfg label,.ib-cfg legend{font-family:var(--body)}
.fp-mbar{background:var(--card)!important;border-top:3px solid var(--ink)!important;box-shadow:0 -4px 0 var(--pink)}
.fp-mbar-p b{font-family:var(--display)!important;font-weight:700!important;color:var(--pink-d)!important}

/* specs + questions */
.fp-specs dt,.fp-specs th{font-family:var(--display)!important;font-weight:700!important;color:var(--ink)!important}
.fp-faq details,.ib-faq details,#faq details{background:var(--card);border:1px solid var(--line)!important;border-radius:var(--r)!important;margin-bottom:10px!important;overflow:hidden}
.fp-faq summary,#faq details summary{font-family:var(--display)!important;font-weight:700!important;color:var(--ink)!important}
.fp-faq details[open] summary,#faq details[open]>summary{background:var(--acc-l)!important;color:var(--ink)!important}

/* basket + checkout */
.fp-freebar{background:var(--card)!important;border:1px solid var(--line)!important;border-radius:var(--r)!important;box-shadow:var(--sh-s)!important}
.fp-freebar-track i{background:var(--pink)!important}
.fp-askcard{background:var(--card)!important;border:1px solid var(--line)!important;border-radius:var(--r)!important;box-shadow:var(--sh-s)!important}
.fp-steps li{background:var(--card)!important;border:1px solid var(--line);border-radius:var(--r)!important;color:var(--mute)!important}
.fp-steps li.is-on{color:var(--ink)!important;box-shadow:var(--sh-s)}
.fp-steps b{background:var(--ink)!important;color:#fff!important;border-radius:var(--r)!important}
.fp-steps li.is-on b{background:var(--pink)!important;color:var(--ink)!important}
.fp-arthead--slim::after,.fp-arthead--slim::before{display:none}
.fp-buybox .ib-price,.fp-buybox .ib-amt,.fp-buybox .ib-total .amount{font-family:var(--display)!important;font-weight:700!important;color:var(--pink-d)!important}
.fp-side-price{background:var(--ink)!important;border-radius:var(--r)!important;box-shadow:var(--sh-s)}
.fp-side-price::before{display:none!important}
.woocommerce-cart-form,.cart_totals,.woocommerce-checkout-review-order,#customer_details>div{border-radius:var(--r)}
.woocommerce-message,.woocommerce-info,.woocommerce-error{border-radius:var(--r)!important;border:1px solid var(--line)!important}
@media (max-width:759px){.fp-cathead::after,.fp-arthead::after{display:none}.iv-ptrust{grid-template-columns:1fr!important}}

.woocommerce-checkout .woocommerce-shipping-fields{margin-bottom:28px}.woocommerce-checkout .woocommerce-additional-fields>h3{margin-top:12px}
/* the ask card is light here (engine styles it navy), so its text must be dark */
.fp-askcard,.fp-askcard h2{color:var(--ink)!important}.fp-askcard p{color:var(--muted)!important}.fp-askcard .fp-btn--line{color:var(--ink)!important;border-color:var(--ink)!important}.fp-askcard .fp-btn--line:hover{background:rgba(26,23,48,.06)!important}

/* ======================= Invoice Booked ledger layer (5 Nov 2026) ======================= */
body.iv-site:not(.iv-front) h1,body.iv-site:not(.iv-front) h2{font-weight:800;letter-spacing:-.02em}
/* head bands: ruled ledger paper with a red margin line, the NCR colours along the bottom */
.fp-cathead,.fp-arthead{background:#fff repeating-linear-gradient(180deg,transparent 0 31px,#e3e8f2 31px 32px)!important;border-bottom:0!important}
.fp-cathead::after,.fp-arthead::after{left:0;right:auto;width:auto;inset:auto 0 0 0;height:5px;background:linear-gradient(90deg,#fff 0 25%,#ffd84d 25% 50%,#ff9ab6 50% 75%,#7dbdf0 75%);box-shadow:0 -1px 0 var(--line)}
.fp-cathead::before,.fp-arthead::before{content:""!important;display:block!important;position:absolute;top:0;bottom:0;left:max(calc((100% - var(--iv-max)) / 2 + 8px),8px);border-left:2px solid rgba(179,18,46,.35);pointer-events:none}
.fp-eyebrow{font:500 12.5px/1.2 var(--mono)!important;color:var(--acc-d)!important;letter-spacing:.06em}
.fp-fact--price{background:#ffd84d!important;border-color:#e2bd2c!important}
/* category art: real photos as NCR sheets fanned white, yellow, pink */
.iv-cat-ph{border-radius:3px;padding:7px}
.iv-cat-ph--1{background:#fff0a1;transform:rotate(-5deg)}
.iv-cat-ph--2{background:#fff;transform:rotate(1deg)}
.iv-cat-ph--3{background:#ffc9d6;transform:rotate(5deg)}
/* actions: stamp red with white text */
.fp-btn--red,.single_add_to_cart_button,.checkout-button,#place_order,.woocommerce a.button.alt,.woocommerce button.button.alt{background:var(--acc)!important;color:#fff!important}
.single_add_to_cart_button:hover,.checkout-button:hover,#place_order:hover,.fp-btn--red:hover{background:var(--acc-d)!important;color:#fff!important;transform:none}
.fp-from{background:var(--acc)!important;color:#fff!important;font-family:var(--mono)!important;font-weight:500!important;border:0!important}
.fp-chip.is-on,.fp-chip:hover{background:var(--brand)!important}
.fp-anchors{background:var(--brand)!important}
.fp-anchors a.is-on,.fp-anchors a:hover{border-bottom-color:#ffd84d!important}
.fp-pcard:hover{transform:translateY(-2px);box-shadow:var(--sh-h)!important}
.fp-pcard-t{font-weight:750!important}
/* product page: navy buy head, yellow price slip */
.fp-buy-head{background:var(--brand)!important;border-bottom:5px solid transparent;border-image:linear-gradient(90deg,#fff 0 25%,#ffd84d 25% 50%,#ff9ab6 50% 75%,#7dbdf0 75%) 1}
.fp-buy-head .fp-buy-fam{color:#ffd84d!important;font:500 12.5px/1.2 var(--mono)!important;letter-spacing:.05em;text-transform:uppercase}
.fp-buy-head .pdp-price{background:#fff0a1!important;border:0!important;box-shadow:none!important;border-radius:3px!important}
.fp-buy-head .pdp-price__amt{font-family:var(--display)!important;font-weight:800!important}
.iv-ptrust li{border-left-color:#ffd84d}
.iv-ptrust li.t2{border-left-color:#ff9ab6}.iv-ptrust li.t3{border-left-color:#7dbdf0}.iv-ptrust li.t4{border-left-color:var(--brand)}
.iv-ptrust .fp-ui,.iv-ptrust li:nth-child(n) .fp-ui{background:var(--brand)!important;color:#fff!important}
.fp-total-p,.fp-buybox .ib-price,.fp-buybox .ib-amt,.fp-buybox .ib-total .amount,.fp-mbar-p b{color:var(--acc-d)!important}
.fp-mbar{border-top:3px solid var(--brand)!important;box-shadow:0 -4px 0 #ffd84d}
.fp-steps li.is-on b{background:var(--acc)!important;color:#fff!important}
.fp-freebar-track i{background:var(--acc)!important}
.fp-faq details[open] summary,#faq details[open]>summary{background:#fff6cc!important}
.fp-side-price{background:var(--brand)!important}
/* QA 5 Nov (owner): the buy panel is ONE card: one 1px border and 6px radius on .pdp-buy, nothing inside steps out.
   The navy head and the options block have no radius or side borders of their own; the NCR stripe is a full-width
   band at the bottom of the head (its white segment edged so it reads on white). */
html body.iv-site .pdp-buy.fp-buy{border:1px solid var(--line)!important;border-radius:6px!important;overflow:hidden!important;box-shadow:var(--sh-s)!important}
html body.iv-site .pdp-buy .fp-buy-head{border-radius:0!important;margin:0!important;border:0!important;border-image:none!important;position:relative;padding-bottom:26px!important}
html body.iv-site .pdp-buy .fp-buy-head::after{content:""!important;display:block!important;position:absolute!important;inset:auto 0 0 0!important;width:auto!important;height:6px!important;transform:none!important;border-radius:0!important;opacity:1!important;background:linear-gradient(90deg,#fff 0 25%,#ffd84d 25% 50%,#ff9ab6 50% 75%,#7dbdf0 75%)!important;box-shadow:none;z-index:1}
html body.iv-site .pdp-buy .buybox{border:0!important;border-radius:0!important;margin:0!important;box-shadow:none!important}
html body.iv-site .pdp-buy .fp-trust,html body.iv-site .pdp-buy .iv-days{margin-left:24px!important;margin-right:24px!important}
html body.iv-site .pdp-buy .iv-days{margin-bottom:22px!important}
html body.iv-site .fp-gal-stage,html body.iv-site .fp-getcard,html body.iv-site .fp-gal-thumbs button{border-radius:6px!important}
@media (max-width:759px){html body.iv-site .pdp-buy .fp-trust,html body.iv-site .pdp-buy .iv-days{margin-left:14px!important;margin-right:14px!important}}

@media (max-width:759px){.fp-cathead::before,.fp-arthead::before{display:none!important}}
/* QA 5 Nov pixel pass: one radius family (6px cards, 4px controls) instead of the engine's 14-20px; overview columns
   flow without holes (paragraphs may break between columns, headings stay with their text); live size table and
   category body images sized to their card; chips wrap on wide screens instead of being cut mid-word. */
html body.iv-site .fp-info,html body.iv-site #related .fp-pcard,html body.iv-site .fp-pcard,html body.iv-site .fp-faq details,html body.iv-site .fp-qa,html body.iv-site .rv-sec-empty,html body.iv-site .bs-card,html body.iv-site .woocommerce-cart-form,html body.iv-site .cart_totals,html body.iv-site .fp-askcard,html body.iv-site .fp-freebar{border-radius:6px!important}
html body.iv-site .fp-info table,html body.iv-site #prices table{border-radius:4px!important}
html body.iv-site .fp-prose--cols>p,html body.iv-site .fp-prose--cols>ul,html body.iv-site .fp-prose--cols>ol{break-inside:auto}
html body.iv-site .fp-prose--cols>table,html body.iv-site .fp-prose--cols>figure{break-inside:avoid}
html body.iv-site .fp-prose--cols{column-fill:balance}
html body.iv-site #prices table{width:100%!important;max-width:none!important}
html body.iv-site .fp-cathead + * img,html body.iv-site #guide img,html body.iv-site .fp-catbody img,html body.iv-site .fp-cat-guide img{max-width:min(100%,560px)!important;height:auto!important}
@media (min-width:1024px){html body.iv-site .fp-chips{flex-wrap:wrap!important;overflow:visible!important;-webkit-mask-image:none!important;mask-image:none!important}}
html body.iv-site .fp-cathead-in{padding-top:18px!important}
.bs-trust .fp-ui,.bs-trust li:nth-child(n) .fp-ui{background:var(--brand)!important;color:#fff!important}
/* QA 5 Nov: basket totals + checkout order box match every other card (1px line, 6px radius, soft shadow, no
   offset slab under the box); the "deliver to a different address" toggle matches the other form headings. */
html body.iv-site .cart_totals,html body.iv-site .cart-collaterals>*,html body.iv-site .checkout-review{border:1px solid var(--line)!important;border-top:4px solid var(--brand)!important;border-radius:6px!important;box-shadow:var(--sh-s)!important}
html body.iv-site #ship-to-different-address,html body.iv-site #ship-to-different-address span{font-size:18px!important;font-weight:700!important}
html body.iv-site .woocommerce-billing-fields h3,html body.iv-site .woocommerce-additional-fields h3,html body.iv-site .checkout-review h3,html body.iv-site .cart_totals h2{font-size:21px!important}
/* QA 5 Nov: speed cards stack below 400px so "Standard" and the day counts never touch the card edge */
@media (max-width:399px){html body.iv-site .ib-svcs{grid-template-columns:1fr!important;display:grid!important}html body.iv-site .ib-svcopt{min-width:0}}
