/* css/d2/shop.css -- owner D2-SHOP. The shop pages in Design 2 (DESIGN-2 7.2-7.5): deals, search, product, basket,
   categories, lists, shop mode, chain, my shops, favourites, household. Linked by those pages only, under the look row;
   every rule sits under body.rf. Built on css/refined/d2.css (the kit: tokens, d2-* components); colours are its tokens.
   No backdrop-filter, no blur, no gradient text, no image shadows (DESIGN-2 rule 7).

   1. Page frame   2. Shared parts (rows, filters, panels, the trunk's pieces in D2)   3. Deals   4. Search
   5. Product   6. Basket, shop mode   7. Categories   8. Lists, favourites, household, my shops, chain   9. Night, motion */


/* the green of a word that says "cheapest" / "cheaper" on a surface (never a price): the saving ink by day, a light green
   by night (the saving pill keeps its own pastel, unchanged in both) */
body.rf{--d2s-good:#1B673C}
@media (prefers-color-scheme: dark){body.rf:not(:where([data-theme="light"] *)){--d2s-good:#8FE3AE}}
body.rf:where([data-theme="dark"] *){--d2s-good:#8FE3AE}


/* a line that claims cheapest IS its proof link (CTO-NOTES 1): the muted store line as it was, underlined on hover/focus, 44 px
   tall from padding (inline: the padding grows the hit area, not the line box), above a row's or card's stretched name link */
body.rf .d2-proof.d2-proof--line{position:relative;z-index:2;display:inline;min-height:0;margin:0;padding:2px 0 26px;font:inherit;color:var(--d2-muted);text-decoration:none}
body.rf .d2-proof.d2-proof--line:is(:hover,:focus-visible){text-decoration:underline}
/* rule 8 on these pages: a plain text link that stands alone in its line (the shops line, "Provjerite online", "Dodaj stavku
   bez marke", "Pošalji e-poštom", the deal tile's name) gets a 44 px hit area from padding, the line box unchanged; "Sve ›" 44 wide */
body.rf main p>a:only-child:not([class]),body.rf .d2-deal__name a{display:inline-block;margin-block:-14px;padding-block:14px}
body.rf .d2-sec__a{min-width:44px;justify-content:flex-end}


/* ---- 1. Page frame ------------------------------------------------------------------------------------------- */
body.rf .d2s-page{display:grid;gap:18px;padding-block:22px 8px}
body.rf .d2s-page>*{min-width:0}
body.rf .d2s-head{display:grid;justify-items:start;gap:0}
body.rf .d2s-head .d2-h1{margin:0}
body.rf .d2s-lead{max-width:62ch;margin:10px 0 0;font-size:15px;line-height:1.5;color:var(--d2-ink-2)}
body.rf .d2s-fine,body.rf .d2s-page .fine{margin:0;font-size:12.5px;font-weight:500;line-height:1.45;color:var(--d2-muted)}
body.rf .d2s-count{margin:0;font-size:12.5px;font-weight:600;color:var(--d2-muted);font-variant-numeric:tabular-nums}
body.rf .d2s-sec{display:grid;gap:10px;margin-top:var(--d2-gap)}
body.rf .d2s-sec .d2-sec__h{margin:0}
/* a white surface (lists of rows, empty states): r22, the one shadow token; night: the inset hairline */
body.rf .d2s-panel{margin:0;padding:4px 16px;border-radius:var(--d2-r-card);background:var(--d2-surface);box-shadow:var(--d2-shadow)}
body.rf .d2s-panel:has(>.d2-empty){padding:0}
body.rf .d2s-how{margin-top:6px}
@media (min-width:1024px){body.rf .d2s-page{padding-top:40px;gap:22px}}


/* ---- 2. Shared parts ------------------------------------------------------------------------------------------ */
/* product rows: unit price and the "akcija" badge under the store line */
body.rf .d2s-row .d2-row__main{gap:1px}
body.rf .d2s-row__extra{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;margin-top:2px;font-size:12.5px;color:var(--d2-muted);font-variant-numeric:tabular-nums}
body.rf .d2s-tag{display:inline-flex;align-items:center;height:22px;padding:0 8px;border-radius:999px;background:var(--d2-save-bg);color:var(--d2-save-ink);font-size:12px;font-weight:800}
body.rf .d2s-orig{display:block;font-size:12.5px;font-weight:500;color:var(--d2-muted)}
body.rf .d2-row .d2-price{flex:none}
body.rf .d2-row .d2-add{margin-left:2px}

/* filter chips (deals, search sort): the label above, the chips wrap */
body.rf .d2s-filters{display:grid;gap:6px}
body.rf .d2s-filter__l{margin:0;font-size:12.5px;font-weight:600;color:var(--d2-muted)}
body.rf .d2s-filter .d2-chips{margin:0}

/* the trunk's own pieces kept on these pages (shops line, notices, show-more, pager), in D2 */
body.rf .d2s-page .shops-line,body.rf .shops-line{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;padding:12px 16px;border-radius:var(--d2-r-sm);
  background:var(--d2-surface);box-shadow:var(--d2-shadow)}
body.rf .shops-line .fine{margin:0;font-size:13.5px;font-weight:500;color:var(--d2-ink-2)}
body.rf .shops-line form{margin:0}
body.rf .shops-line .btn{min-height:44px;border-radius:999px;font-weight:800}
body.rf .shops-line a{color:var(--d2-accent);font-weight:700}

/* the deals-page card keeps the trunk's classes (the filter's .deal-card[data-chain], the row-on test's
   article.card.deal-card.deal-card--rf): it is drawn as the kit's product card (.d2-card) here, its trunk look reset */
body.rf .deal-card--rf:has(>.d2-card__in){position:relative;display:flex;flex:1;min-width:0;gap:0;align-items:stretch;padding:6px;border:0;
  border-radius:var(--d2-r-ring);background:var(--d2-tray);box-shadow:var(--d2-edge);content-visibility:visible;contain-intrinsic-size:none}
body.rf .deal-card--rf:has(>.d2-card__in):hover{border:0}
body.rf .deal-card--rf:has(>.d2-card__in):active{background:var(--d2-tray)}
body.rf .deal-card--rf>.d2-card__in .d2-card__name a::after{content:"";position:absolute;inset:0;z-index:1;border-radius:var(--d2-r-ring)}
body.rf .deal-card--rf>.d2-card__in .d2-card__name a:focus-visible{outline:0}
body.rf .deal-card--rf>.d2-card__in .d2-card__name a:focus-visible::after{outline:3px solid var(--d2-focus);outline-offset:2px}
body.rf .deal-card--rf>.d2-card__in .d2-low30{margin:6px 0 0;padding:0 4px;font-size:13.5px}
body.rf .d2s-deals__tile.deal-card{display:block;padding:0;border:0;background:none;box-shadow:none;content-visibility:visible;contain-intrinsic-size:none}
body.rf .d2s-proofs{display:flex;flex-wrap:wrap;gap:0 12px;margin:0 0 0 4px}
body.rf .d2s-proofs .d2-proof{position:relative;z-index:2;margin:0}


/* ---- 3. Deals (7.2) ------------------------------------------------------------------------------------------- */
body.rf .d2s-deals__list{display:grid;gap:var(--d2-card-gap)}
body.rf .d2s-deals__list[hidden]{display:none}
body.rf .d2s-deals__tile{margin-bottom:var(--d2-card-gap)}
body.rf .d2s-deals__tile[hidden]{display:none}
body.rf .deal-card--rf[hidden]{display:none}
body.rf .d2-grid>li:has(>.deal-card[hidden]){display:none}
@media (min-width:720px){
  /* the tile beside the page's first cards: visual left, the text right */
  body.rf .d2s-deals__tile .d2-deal{flex-direction:row;align-items:center;gap:12px;padding:16px 20px 34px}
  body.rf .d2s-deals__tile .d2-deal__vis{padding:8px 0 0}
  body.rf .d2s-deals__tile .d2-deal__b{flex:1;max-width:520px;padding:0}
}
@media (min-width:1024px){
  body.rf .d2s-deals__tile .d2-deal{padding:22px 40px 40px}
  body.rf .d2s-filters{grid-template-columns:auto 1fr}
}


/* ---- 4. Search, no results (7.3) ------------------------------------------------------------------------------ */
body.rf .d2s-search{grid-template-columns:minmax(0,1fr)}
body.rf .d2s-search__main{display:grid;gap:16px;min-width:0}
body.rf .d2s-search__main>.d2-tray{order:-1}
body.rf .d2s-search .d2-h1{font-size:28px;line-height:1.08;overflow-wrap:anywhere}
body.rf .d2s-search__count{margin-top:8px}
body.rf .d2s-search__count b{font-weight:700;color:var(--d2-ink-2)}
body.rf .d2s-search__aside{display:grid;gap:12px;align-content:start}
body.rf .d2s-h3{margin:0 0 2px;font-size:17px;font-weight:800;letter-spacing:-.02em;color:var(--d2-ink)}
body.rf .d2s-search__aside .d2-chips{margin-top:4px}
body.rf .d2s-explore{padding-top:18px}
body.rf .d2s-explore+.d2s-page{padding-top:14px}
@media (min-width:1024px){
  body.rf .d2s-search{grid-template-columns:minmax(0,1fr) 340px;column-gap:40px;align-items:start}
  body.rf .d2s-search .d2-h1{font-size:40px}
  body.rf .d2s-search__aside{position:sticky;top:90px}
  body.rf .d2s-search__cats{grid-column:1 / -1}
}
/* the trunk's pager and "how results are ordered" kept as they are, in D2 */
body.rf .d2s-page~.show-more,body.rf .page>.show-more{margin-top:18px}
body.rf .pager{margin:0}
body.rf .pager .btn,body.rf .pager a{min-height:44px;border-radius:999px;font-weight:800}
body.rf .d2s-pop .d2-chips{margin-top:2px}
body.rf .show-more{border:0;border-radius:var(--d2-r-sm);background:var(--d2-surface);box-shadow:var(--d2-shadow)}
body.rf .show-more__summary{min-height:48px;padding:12px 16px;font-weight:700;color:var(--d2-ink)}
body.rf .show-more__body{padding:0 16px 14px}
body.rf .d2s-search--none .d2s-search__aside{order:2}
body.rf .d2s-page~p{margin:12px 0 0;font-size:13.5px;color:var(--d2-ink-2)}
body.rf .d2s-page~p a{color:var(--d2-accent);font-weight:700;text-underline-offset:3px}


/* ---- 2b. The trunk's components kept on the shop pages, in D2 (buttons, panels, notes, crumbs, the proof) ------ */
body.rf .btn{min-height:48px;border-radius:999px;font-weight:800;font-size:14.5px;box-shadow:none}
body.rf .btn--primary{background:var(--d2-cta);border-color:var(--d2-cta);color:#fff}
body.rf .btn--secondary{background:var(--d2-surface);border:0;color:var(--d2-ink);box-shadow:inset 0 0 0 1px var(--d2-line),0 1px 0 var(--d2-line)}
body.rf .btn--ghost{min-height:44px;background:none;border:0;color:var(--d2-accent)}
body.rf .btn--sm{min-height:44px;padding-inline:16px}
body.rf .icon-btn--primary{width:44px;height:44px;background:var(--d2-cta);color:#fff;border:0}
body.rf .panel{border:0;border-radius:var(--d2-r-card);background:var(--d2-surface);box-shadow:var(--d2-shadow)}
body.rf .callout{border:0;border-radius:var(--d2-r-card);background:var(--d2-surface);box-shadow:var(--d2-shadow)}
body.rf .callout__icon{background:var(--d2-tray);color:var(--d2-ink)}
body.rf .notice{border-radius:var(--d2-r-sm)}
body.rf .crumbs{font-size:12.5px;font-weight:500;color:var(--d2-muted)}
body.rf .crumbs a{color:var(--d2-ink-2)}
body.rf .section-head__title,body.rf .section-title{font-size:21px;font-weight:800;letter-spacing:-.025em;color:var(--d2-ink)}
body.rf .section-head__link{color:var(--d2-accent);font-weight:700}
body.rf .page-title{font-weight:800;letter-spacing:-.035em;line-height:1.02;color:var(--d2-ink)}
body.rf .verdict{border:0;border-radius:var(--d2-r-sm);background:var(--d2-tray);color:var(--d2-ink-2)}
body.rf .verdict--true{background:var(--d2-save-bg);color:var(--d2-save-ink)}
body.rf .verdict__link,body.rf .d2s-pdp .verdict__link{display:inline-flex;align-items:center;min-height:44px;color:var(--d2-accent);font-size:13.5px;font-weight:700;
  text-decoration:underline;text-underline-offset:3px;text-decoration-color:color-mix(in srgb,currentColor 45%,transparent)}
body.rf .proof{border:0;border-radius:var(--d2-r-card) var(--d2-r-card) 0 0;background:var(--d2-surface);box-shadow:var(--d2-edge);
  padding-bottom:12px;-webkit-mask:var(--d2-zig-b);mask:var(--d2-zig-b)}
body.rf .proof__summary{min-height:56px;padding:16px 20px;font-size:17px;font-weight:800;letter-spacing:-.02em;color:var(--d2-ink)}
body.rf .proof__body{padding:0 20px 20px}
body.rf .sources__title{font-size:17px;font-weight:800}
body.rf .mono{font-family:var(--sans);font-variant-numeric:tabular-nums}
body.rf .chart__step{stroke:var(--d2-ink)}
body.rf .chart__dot{background:var(--d2-cta)}
body.rf .chain-card{border:0;border-radius:var(--d2-r-card);background:var(--d2-surface);box-shadow:var(--d2-shadow)}
body.rf .chain-card.is-best{box-shadow:inset 0 0 0 2px var(--d2-save-ink),var(--d2-shadow)}
body.rf .chain-card__amt{font-weight:800;color:var(--d2-ink);font-variant-numeric:tabular-nums}
body.rf .chain-card__amt .rf-cur{font-size:.6em}
body.rf .chain-card__save .marker,body.rf .chain-card__save mark{background:var(--d2-save-bg);color:var(--d2-save-ink);border-radius:999px;padding:2px 8px;font-weight:800}
body.rf .chain-card__save .marker *,body.rf .chain-card__save mark *{color:var(--d2-save-ink);background:none}
body.rf .tabs .tab{min-height:44px;border-radius:999px}
body.rf .tabs .tab[aria-current="true"]{background:var(--d2-dark);color:var(--d2-on-dark)}
body.rf .link-list a,body.rf .link-row{min-height:52px}
body.rf .kv-list{font-variant-numeric:tabular-nums}


/* ---- 5. Product (7.4) ------------------------------------------------------------------------------------------ */
body.rf .d2s-pdp{display:grid;grid-template-columns:minmax(0,1fr);grid-template-areas:"head" "main" "side";gap:18px;padding-block:14px 8px}
body.rf .d2s-pdp>*{min-width:0}
body.rf .d2s-pdp__head{grid-area:head;display:grid;justify-items:center;text-align:center}
body.rf .d2s-pdp__head .crumbs{justify-self:start;text-align:left}
body.rf .d2s-pdp__hero{display:flex;justify-content:center;margin:10px 0 14px}
body.rf .d2s-pdp__name{margin:0;max-width:22ch;font-size:28px;font-weight:800;line-height:1.08;letter-spacing:-.03em;color:var(--d2-ink);text-wrap:balance;overflow-wrap:anywhere}
body.rf .d2s-pdp__orig{margin:6px 0 0;font-size:12.5px;color:var(--d2-muted)}
body.rf .d2s-pdp__sub{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:6px;margin:10px 0 0;font-size:14px;color:var(--d2-muted)}
body.rf .d2s-pdp__sub span:empty{display:none}
body.rf .d2s-pill{display:inline-flex;align-items:center;height:28px;padding:0 12px;border-radius:999px;background:var(--d2-surface);box-shadow:0 1px 0 var(--d2-line);
  font-size:13px;font-weight:700;color:var(--d2-ink-2)}
body.rf .d2s-pdp__main{grid-area:main;display:grid;gap:12px;align-content:start}
body.rf .d2s-pdp__price{display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:18px 20px 16px;border-radius:var(--d2-r-card);background:var(--d2-surface);box-shadow:var(--d2-shadow)}
body.rf .d2s-pdp__label{margin:0 0 4px;font-size:12.5px;font-weight:600;color:var(--d2-muted)}
body.rf .d2s-pdp__at{margin:6px 0 0;font-size:15px;font-weight:600;color:var(--d2-ink-2)}
body.rf .d2s-pdp__at b{font-weight:800;color:var(--d2-ink)}
body.rf .d2s-pdp__unit{margin:0;font-size:12.5px;font-weight:500;color:var(--d2-muted);font-variant-numeric:tabular-nums}
body.rf .d2s-pdp__save{margin:10px 0 0}
body.rf .d2s-pdp__price .d2-low30{margin-top:6px}
body.rf .d2s-pdp__price .verdict{margin-top:10px;width:100%}
body.rf .d2s-pdp__price .shops-line{width:100%;padding:0;box-shadow:none;margin-top:4px}
body.rf .d2s-pdp__price>.d2s-fine{margin-top:4px}
body.rf .d2s-pdp__price>a:not(.verdict__link):not(.d2-proof){display:inline-flex;align-items:center;min-height:44px;color:var(--d2-accent);font-size:13.5px;font-weight:700}
body.rf .d2s-pdp__stats{display:grid;grid-template-columns:1fr 1fr;gap:8px;width:100%;margin:10px 0 0;padding:10px 0 0;border-top:1px dashed var(--d2-line)}
body.rf .d2s-pdp__stats dt{font-size:12.5px;font-weight:600;color:var(--d2-muted)}
body.rf .d2s-pdp__stats dd{margin:0;font-size:15px;font-weight:800;font-variant-numeric:tabular-nums}
body.rf .d2s-pdp__stats small{display:block;font-size:12.5px;font-weight:500;color:var(--d2-muted)}
body.rf .d2s-pdp__actions{display:grid;gap:8px}
body.rf .d2s-pdp__actions .pdp-add{margin:0}
body.rf .d2s-pdp__actions .alert-cta__note{margin:0;font-size:12.5px;color:var(--d2-muted)}
body.rf .d2s-pdp__side{grid-area:side;display:grid;gap:18px;align-content:start}
body.rf .d2s-pdp__side>.d2s-sec{margin-top:0}
body.rf .d2s-pdp__end{display:flex;flex-wrap:wrap;gap:8px}
/* the chain comparison: chip, the bar of the gap to the cheapest, price */
body.rf .d2s-cmp{list-style:none}
body.rf .d2s-cmp__row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;min-height:60px;padding:8px 0;border-top:1px solid var(--d2-line)}
body.rf .d2s-cmp__row:first-child{border-top:0}
body.rf .d2s-chain{display:inline-flex;align-items:center;justify-content:center;min-width:76px;height:32px;padding:0 12px;border-radius:999px;background:var(--d2-tray);
  font-size:13px;font-weight:800;color:var(--d2-ink)}
body.rf .d2s-cmp__row--best .d2s-chain{background:var(--d2-dark);color:var(--d2-on-dark)}
body.rf .d2s-cmp__mid{display:grid;gap:4px;min-width:0}
body.rf .d2s-cmp__bar{display:block;width:100%;height:6px}
body.rf .d2s-cmp__track{fill:var(--d2-tray)}
body.rf .d2s-cmp__fill{fill:var(--d2-ink-2)}
body.rf .d2s-cmp__row--best .d2s-cmp__fill{fill:var(--d2-save-ink)}
body.rf .d2s-cmp__note{font-size:12.5px;font-weight:600;color:var(--d2-muted);font-variant-numeric:tabular-nums}
body.rf .d2s-cmp__unit{display:block}
/* the 30-day chart (DESIGN-2 section 6) */
body.rf .rf-chart.panel{padding:16px 18px 14px;border-radius:var(--d2-r-card)}
body.rf .rf-chart__title{font-size:15px;font-weight:800;color:var(--d2-ink)}
body.rf .rf-chart__plot{height:120px}
body.rf .rf-chart__area{fill:var(--d2-visnja);fill-opacity:.08;stroke:none}
body.rf .rf-chart__base{stroke:var(--d2-line);stroke-width:1;vector-effect:non-scaling-stroke}
body.rf .rf-chart__line{stroke:var(--d2-ink);stroke-width:2}
body.rf .rf-chart__low{stroke:var(--d2-muted)}
body.rf .rf-chart__dot{width:12px;height:12px;background:var(--d2-cta);box-shadow:0 0 0 3px var(--d2-surface)}
body.rf .rf-chart__now{position:absolute;right:0;translate:0 -150%;font-size:12px;font-weight:600;color:var(--d2-ink);font-variant-numeric:tabular-nums}
body.rf .rf-chart__axis,body.rf .rf-chart__lab{font-size:12px;font-weight:600;color:var(--d2-muted)}
body.rf .rf-chart__axis{border-top:0}
@media (min-width:1024px){
  body.rf .d2s-pdp{grid-template-columns:400px minmax(0,1fr);grid-template-areas:"head side" "main side";column-gap:48px;padding-top:32px}
  body.rf .d2s-pdp__head,body.rf .d2s-pdp__main{position:relative}
  body.rf .d2s-pdp__side{grid-row:1 / span 2}
}
body.rf .chain-card.is-best .chain-card__amt{color:var(--d2-ink)}
body.rf .d2s-pdp__end.pdp-end{margin:0;padding:0}
/* the blocks the app adds under the kit page (favourite, store and day prices, nutrition, related, online, notes) */
body.rf .d2s-pdp~*{margin-top:22px}
body.rf .d2s-pdp~.section>.btn,body.rf .d2s-pdp~p>.btn{min-width:0}
body.rf .d2s-pdp~.fine,body.rf .d2s-pdp~p.fine,body.rf .d2s-pdp~section .fine{font-size:13.5px;color:var(--d2-ink-2)}
body.rf .d2s-pdp~section .fine a,body.rf .d2s-pdp~p a,body.rf .pdp-tap{display:inline-flex;align-items:center;min-height:44px;color:var(--d2-accent);font-weight:700;text-underline-offset:3px}
@media (min-width:1024px){body.rf .d2s-pdp~*{margin-left:448px}}


/* ---- 6. Basket (7.5) ------------------------------------------------------------------------------------------- */
body.rf .d2s-basket__grid{display:grid;gap:18px;align-items:start}
body.rf .d2s-basket__main{display:grid;gap:14px;min-width:0}
body.rf .d2s-basket__add .search{min-height:52px;border:0;border-radius:var(--d2-r-field);background:var(--d2-surface);box-shadow:var(--d2-edge)}
body.rf .d2s-split{margin:0;padding:12px 16px;border-radius:var(--d2-r-sm);background:var(--d2-save-bg);color:var(--d2-save-ink);font-size:14px;font-weight:700}
body.rf .d2s-split b,body.rf .d2s-split strong{font-weight:800}
/* one receipt card per store: white, the zigzag foot; stacked on phones, side by side from 720 px */
body.rf .d2s-basket__stores{display:grid;gap:14px}
body.rf .d2s-basket__stores[hidden],body.rf .d2s-basket__main>[hidden]{display:none}
body.rf .d2s-store .basket-group{padding:16px 16px 26px;border:0;border-radius:var(--d2-r-card) var(--d2-r-card) 0 0;background:var(--d2-surface);box-shadow:var(--d2-edge);
  -webkit-mask:var(--d2-zig-b);mask:var(--d2-zig-b)}
body.rf .d2s-store .basket-group__head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 0 10px;border-bottom:1px dashed var(--d2-line)}
body.rf .d2s-store .basket-group__store{display:flex;align-items:center;gap:10px;margin:0;font-size:17px;font-weight:800;letter-spacing:-.02em}
body.rf .d2s-store .basket-group__sub{font-size:19px;font-weight:800;font-variant-numeric:tabular-nums}
body.rf .d2s-store .basket-group__sub .rf-cur,body.rf .d2s-total__value .rf-cur{font-size:.6em}
body.rf .d2s-store .basket-group__near{margin:8px 0 0;font-size:12.5px;color:var(--d2-muted)}
body.rf .d2s-store .basket-rows{margin:0;padding:0;list-style:none}
body.rf .d2s-cart{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:4px 12px;padding:12px 0;border-top:1px solid var(--d2-line);content-visibility:visible}
body.rf .d2s-cart:first-child{border-top:0}
body.rf .d2s-cart__vis{display:flex;align-self:center}
body.rf .d2s-cart .basket-row__main{display:grid;gap:2px;min-width:0}
body.rf .d2s-cart .basket-row__name{margin:0;font-size:15px;font-weight:700;line-height:1.3}
body.rf .d2s-cart .basket-row__name a{color:var(--d2-ink);text-decoration:none;display:inline-flex;align-items:center;min-height:44px}
body.rf .d2s-cart .basket-row__meta{margin:0;font-size:12.5px;color:var(--d2-muted)}
body.rf .d2s-cart .basket-row__alt{margin:2px 0 0;font-size:12.5px;font-weight:700;color:var(--d2s-good)}
body.rf .d2s-cart .basket-row__qty{display:flex;align-items:center;gap:6px;margin-top:6px}
body.rf .d2s-cart .stepper{display:inline-flex;align-items:center;height:44px;border:0;border-radius:999px;background:var(--d2-tray);box-shadow:var(--d2-edge)}
body.rf .d2s-cart .stepper__btn{width:44px;height:44px;border:0;border-radius:50%;background:none;color:var(--d2-ink)}
body.rf .d2s-cart .stepper__val{min-width:2.4em;text-align:center;font-weight:800;font-variant-numeric:tabular-nums}
body.rf .d2s-cart .basket-row__remove{width:44px;height:44px;border:0;border-radius:50%;background:none;color:var(--d2-muted)}
body.rf .d2s-cart .basket-row__price{display:grid;justify-items:end;gap:2px;margin:0;padding-top:2px;white-space:nowrap}
body.rf .d2s-cart .basket-row__price small{font-size:12.5px;font-weight:500;color:var(--d2-muted);letter-spacing:0;word-spacing:0}
/* the total: THE receipt */
body.rf .d2s-basket__aside{display:grid;gap:10px}
body.rf .d2s-basket__aside[hidden]{display:none}
body.rf .d2s-total{display:grid;gap:4px;padding:20px 20px 34px}
body.rf .d2s-total__label{margin:0;font-size:13.5px;font-weight:600;color:var(--d2-muted)}
body.rf .d2s-total__value{margin:0 0 6px;font-size:32px;font-weight:800;letter-spacing:-.03em;line-height:1.05;font-variant-numeric:tabular-nums}
body.rf .d2s-total__save{margin:4px 0 0}
body.rf .d2s-total .d2-low30{margin-top:6px}
body.rf .d2s-total__call{margin:6px 0 4px}
body.rf .d2s-total .d2-btn{margin-top:10px}
body.rf .d2s-basket__acts{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
body.rf .d2s-basket__empty{display:grid;gap:16px}
body.rf .d2s-basket__empty[hidden]{display:none}
@media (min-width:720px){body.rf .d2s-basket__stores:has(>.d2s-store+.d2s-store){grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}}
@media (min-width:1024px){
  body.rf .d2s-basket__grid{grid-template-columns:minmax(0,1fr) 360px;column-gap:32px}
  body.rf .d2s-basket__aside{position:sticky;top:90px}
}
/* the app's own blocks under the basket (the plain list's end point, the share box, the coming line) */
body.rf .d2s-basket~*{margin-top:22px}
body.rf .d2s-cart__line{font-size:19px;font-weight:800;letter-spacing:-.02em;color:var(--d2-ink);font-variant-numeric:tabular-nums}


/* ---- 7. Categories, category (7.3) ---------------------------------------------------------------------------- */
body.rf .d2s-head+.d2-tray{margin:16px 0 0}
body.rf .page>.crumbs{margin-top:16px}
body.rf .page>.d2s-head{margin-top:14px}
body.rf .page>.section>.d2-cats{margin-top:6px}
body.rf .d2s-cathead{display:flex;align-items:center;gap:16px;margin:8px 0 2px}
body.rf .d2s-cathead__disc{width:88px;height:88px;flex:none}
body.rf .d2s-cathead__disc .icon{width:40px;height:40px}
body.rf .d2s-cathead .d2-h1{font-size:32px}
body.rf .d2s-cathead .d2s-lead{margin-top:4px}
body.rf .page-head:has(.d2s-cathead) .fine{margin-top:8px;font-size:12.5px;color:var(--d2-muted)}
body.rf .layout-catalog__main{gap:14px}
body.rf .layout-catalog .panel:has(>.product-list){padding:4px 16px}
body.rf .product-list:has(>.d2-row){margin:0;padding:0;list-style:none}
body.rf .panel:has(>.d2-empty){padding:0}
/* the folded filters (R1-RF-PAGES' disclosure), in D2: a white r16 bar that opens onto the form */
body.rf .rf-filters__summary{min-height:44px;font-weight:800}
body.rf .rf-filters .filter-form{box-shadow:none;background:none}
/* the trunk's form controls on these pages: 52 px fields r16 in the tray ring (7.8) */
body.rf .field__label{font-size:13.5px;font-weight:700;color:var(--d2-ink)}
body.rf .field__control{min-height:52px;border:0;border-radius:var(--d2-r-sm);background:var(--d2-surface);color:var(--d2-ink);
  box-shadow:0 0 0 6px var(--d2-tray);font-weight:500;margin:6px 0}
body.rf .field__control:focus-visible{outline:3px solid var(--d2-focus);outline-offset:8px}
body.rf .field+.field,body.rf .field{margin-block:10px}
body.rf .checkbox,body.rf .check{min-height:44px}
body.rf .filter-form .panel__title{font-size:17px;font-weight:800}
body.rf .kv-list__k{font-family:var(--sans);font-size:12.5px;font-weight:700;background:var(--d2-tray);color:var(--d2-ink)}
body.rf .card-grid:has(>.deal-card--rf>.d2-card__in){display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--d2-card-gap)}
@media (min-width:1024px){body.rf .card-grid:has(>.deal-card--rf>.d2-card__in){grid-template-columns:repeat(4,minmax(0,1fr))}}
body.rf .card-grid>.deal-card--rf{min-width:0}
body.rf .d2s-pdp~.section,body.rf .d2s-pdp~section,body.rf .d2s-pdp~p.section,body.rf .d2s-basket~.section,body.rf .d2s-page~.section{padding-block:0;margin-top:18px}
body.rf .d2s-pdp~.section>.stack,body.rf .d2s-pdp~.section.stack{gap:10px}
