/* Kratt tyre catalogue storefront: list rows, size search + filters, single tyre page. RehvidTartus24 brand
   (orange #ff9933, ink #1f2429, Woodmart's text and title fonts). Loaded by Storefront::enqueue on shop, product-category
   and product pages only, after the theme's own styles. */

/* Local catalogue rows: reference row structure (rehvid123 information hierarchy), RehvidTartus24 colours and type. */
.products:has(> .rt-tyre-row) { --wd-col-lg:1!important; --wd-col-md:1!important; --wd-col-sm:1!important; gap:16px!important; }
.products .rt-tyre-row { --rt-ink:#1f2429; --rt-ink-2:#4b5259; --rt-ink-3:#6b7178; --rt-line:#dfe3e8; --rt-accent:#ff9933; --rt-accent-dark:#e8821a; --rt-tint:#ffbd78; --rt-green:#2f9e5b; --rt-amber:#d99a00; grid-column:1/-1; position:relative; width:100%; max-width:100%; margin:0; padding:0; display:grid; grid-template-columns:minmax(150px,19%) minmax(0,1fr) minmax(172px,21%) minmax(200px,22%); align-items:stretch; background:#fff; border:2px solid var(--rt-tint); border-radius:3px; text-align:left; color:var(--rt-ink); font-family:var(--wd-text-font); transition:border-color .15s; }
.products .rt-tyre-row:hover,.products .rt-tyre-row:focus-within { border-color:var(--rt-accent); }
:is(.rt-tyre-row,.rt-pdp-hero) * { box-sizing:border-box; }
:is(.rt-tyre-row,.rt-pdp-hero) .rt-sr { position:absolute; width:1px; height:1px; margin:-1px; padding:0; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; border:0; }
:is(.rt-tyre-row,.rt-pdp-hero) svg.rt-i { display:inline-block; flex:none; }
/* Tags: only rendered when a real product tag or featured flag backs them */
:is(.rt-tyre-row,.rt-pdp-hero) .rt-tags { position:absolute; top:0; left:0; z-index:2; display:flex; }
:is(.rt-tyre-row,.rt-pdp-hero) .rt-tag { display:inline-flex; align-items:center; min-height:30px; padding:0 12px; font:600 14px/1 var(--wd-text-font); letter-spacing:.01em; }
:is(.rt-tyre-row,.rt-pdp-hero) .rt-tag-soovitame { background:var(--rt-accent); color:#1a1a1a; }
:is(.rt-tyre-row,.rt-pdp-hero) .rt-tag-populaarne { background:var(--rt-ink); color:#fff; }
/* Photo: large tyre as in the reference. The top is always visible (at least 12px below the row edge);
   the bottom runs past the row's bottom edge and is cut by it. cq units size it from the photo cell (Oskar 23.09 17:19). */
.rt-tyre-row .rt-photo { grid-column:1; grid-row:1; align-self:stretch; display:block; position:relative; overflow:hidden; margin:0; padding:0; min-height:150px; container-type:size; }
.rt-tyre-row .rt-photo img { display:block; position:absolute; left:50%; top:max(12px, calc(100cqh - 65cqw)); transform:translateX(-50%); width:84cqw; max-width:none; height:auto; max-height:none; }
.rt-tyre-row:has(.rt-tags) .rt-photo img { top:max(40px, calc(100cqh - 65cqw)); }
/* With the tyre's own box measured (rt-fit), every TYRE gets the same height (84cqw, narrower if a very wide shot would
   not fit 92cqw), its top stays visible and its bottom is cut by the row edge. Without it, the rule above applies. */
.rt-tyre-row .rt-photo img.rt-fit { --ht:min(84cqw, calc(92cqw * var(--bh) / (var(--bw) * var(--ar)))); width:auto; height:calc(var(--ht) / var(--bh)); top:calc(max(12px, 100cqh - 0.78 * var(--ht)) - var(--by) * var(--ht) / var(--bh)); left:calc(50cqw - (var(--bx) + var(--bw) / 2) * var(--ar) * var(--ht) / var(--bh)); transform:none; }
.rt-tyre-row:has(.rt-tags) .rt-photo img.rt-fit { top:calc(max(40px, 100cqh - 0.78 * var(--ht)) - var(--by) * var(--ht) / var(--bh)); }
/* Identity */
.rt-tyre-row .rt-info { grid-column:2; min-width:0; padding:22px 16px 22px 12px; display:flex; flex-direction:column; justify-content:center; }
:is(.rt-tyre-row,.rt-pdp-hero) .rt-brand { margin:0 0 12px; min-height:26px; display:flex; align-items:center; font:800 15px/1.2 var(--wd-title-font); letter-spacing:.14em; text-transform:uppercase; color:var(--rt-ink); }
/* Logos are trimmed to their artwork and sized to one visual area (about Aplus: 176x28); sizes.json per file. */
:is(.rt-tyre-row,.rt-pdp-hero) .rt-brand-logo img { display:block; width:var(--lw, auto); height:var(--lh, 28px); max-width:none; object-fit:contain; object-position:left center; }
/* Official files for these brands are white-on-transparent (made for dark headers): show them as mono black. */
:is(.rt-tyre-row,.rt-pdp-hero) .rt-brand-logo img[src*="/brand-logos/atlander."],:is(.rt-tyre-row,.rt-pdp-hero) .rt-brand-logo img[src*="/brand-logos/goodride."],:is(.rt-tyre-row,.rt-pdp-hero) .rt-brand-logo img[src*="/brand-logos/gripmax."],:is(.rt-tyre-row,.rt-pdp-hero) .rt-brand-logo img[src*="/brand-logos/vredestein."],:is(.rt-tyre-row,.rt-pdp-hero) .rt-brand-logo img[src*="/brand-logos/arivo."],:is(.rt-tyre-row,.rt-pdp-hero) .rt-brand-logo img[src*="/brand-logos/dynamo."],:is(.rt-tyre-row,.rt-pdp-hero) .rt-brand-logo img[src*="/brand-logos/federal."],:is(.rt-tyre-row,.rt-pdp-hero) .rt-brand-logo img[src*="/brand-logos/goldline."] { filter:brightness(0); }
@media (max-width:600px) { :is(.rt-tyre-row,.rt-pdp-hero) .rt-brand-logo img { width:calc(var(--lw, 140px) * .8); height:calc(var(--lh, 28px) * .8); } }
.rt-tyre-row .rt-model { margin:0 0 8px; font:600 clamp(22px,2.1vw,32px)/1.1 var(--wd-title-font); letter-spacing:-.01em; overflow-wrap:anywhere; }
.rt-tyre-row .rt-model a { color:var(--rt-ink); text-decoration:none; }
.rt-tyre-row .rt-model a:hover { color:var(--rt-accent-dark); }
:is(.rt-tyre-row,.rt-pdp-hero) .rt-class { display:flex; align-items:center; gap:7px; margin:0 0 12px; font:500 15px/1.3 var(--wd-text-font); color:var(--rt-ink); }
:is(.rt-tyre-row,.rt-pdp-hero) .rt-class svg { width:18px; height:18px; color:var(--rt-ink-2); }
/* Spec chips */
:is(.rt-tyre-row,.rt-pdp-hero) .rt-chips { list-style:none; margin:0; padding:0; display:flex; flex-wrap:wrap; gap:8px; }
:is(.rt-tyre-row,.rt-pdp-hero) .rt-chip { position:relative; margin:0; display:inline-flex; align-items:center; gap:6px; min-height:28px; padding:0 9px; border:1px dashed #9aa0a7; border-radius:4px; font:500 14px/1 var(--wd-text-font); color:var(--rt-ink); font-variant-numeric:tabular-nums; white-space:nowrap; }
:is(.rt-tyre-row,.rt-pdp-hero) .rt-chip:hover { border-color:var(--rt-accent-dark); }
:is(.rt-tyre-row,.rt-pdp-hero) .rt-chip-eu { gap:0; padding:0 3px; }
:is(.rt-tyre-row,.rt-pdp-hero) .rt-eu { position:relative; display:inline-flex; align-items:center; gap:5px; min-height:26px; padding:0 8px; }
:is(.rt-tyre-row,.rt-pdp-hero) .rt-eu + .rt-eu { border-left:1px solid var(--rt-line); }
:is(.rt-tyre-row,.rt-pdp-hero) .rt-eu svg { width:18px; height:18px; color:var(--rt-ink-2); }
:is(.rt-tyre-row,.rt-pdp-hero) .rt-eu b { font-weight:600; }
/* A little colour, only where it carries meaning: EU grades on the label's own green-to-red scale (text contrast
   checked per grade), warm/cool season icons, the free-delivery truck in the brand orange. Everything else stays neutral. */
:is(.rt-tyre-row,.rt-pdp-hero) .rt-eu b.rt-grade { display:inline-grid; place-items:center; min-width:20px; height:20px; padding:0 5px; border-radius:4px; font-weight:700; font-size:12.5px; line-height:1; color:#14181c; }
:is(.rt-tyre-row,.rt-pdp-hero) .rt-eu b.rt-grade-a { background:#0f7d34; color:#fff; }
:is(.rt-tyre-row,.rt-pdp-hero) .rt-eu b.rt-grade-b { background:#7ab648; }
:is(.rt-tyre-row,.rt-pdp-hero) .rt-eu b.rt-grade-c { background:#c8d62b; }
:is(.rt-tyre-row,.rt-pdp-hero) .rt-eu b.rt-grade-d { background:#f5c400; }
:is(.rt-tyre-row,.rt-pdp-hero) .rt-eu b.rt-grade-e { background:#f08a24; }
:is(.rt-tyre-row,.rt-pdp-hero) .rt-eu b.rt-grade-f { background:#e8542a; }
:is(.rt-tyre-row,.rt-pdp-hero) .rt-eu b.rt-grade-g { background:#c8102e; color:#fff; }
:is(.rt-tyre-row,.rt-pdp-hero) .rt-class svg:is(.rt-i-sun,.rt-i-alloy,.rt-i-steel,.rt-i-moto,.rt-i-moto-front,.rt-i-moto-rear) { color:#b86e0a; }
:is(.rt-tyre-row,.rt-pdp-hero) .rt-class svg.rt-i-snow,:is(.rt-tyre-row,.rt-pdp-hero) .rt-eu svg.rt-i-snow,:is(.rt-tyre-row,.rt-pdp-hero) .rt-eu svg.rt-i-snowgrip,:is(.rt-tyre-row,.rt-pdp-hero) .rt-eu svg.rt-i-icegrip { color:#2b7bbd; }
:is(.rt-tyre-row,.rt-pdp-hero) .rt-delivery svg.rt-i-truck { color:#c96a10; }
/* Tooltips carry the meaning; the chip stays compact */
:is(.rt-tyre-row,.rt-pdp-hero) [data-tip] { cursor:help; }
@media (hover:hover) {
  :is(.rt-tyre-row,.rt-pdp-hero) [data-tip]::after { content:attr(data-tip); display:none; position:absolute; left:0; bottom:calc(100% + 9px); z-index:6; width:max-content; max-width:300px; padding:7px 10px; border-radius:4px; background:var(--rt-ink); color:#fff; font:400 12.5px/1.4 var(--wd-text-font); letter-spacing:0; white-space:normal; text-transform:none; pointer-events:none; }
  :is(.rt-tyre-row,.rt-pdp-hero) [data-tip]::before { content:""; display:none; position:absolute; left:12px; bottom:calc(100% + 4px); z-index:6; border:5px solid transparent; border-top-color:var(--rt-ink); pointer-events:none; }
  :is(.rt-tyre-row,.rt-pdp-hero) [data-tip]:hover::after,:is(.rt-tyre-row,.rt-pdp-hero) [data-tip]:hover::before { display:block; }
}
/* Delivery */
.rt-tyre-row .rt-delivery { grid-column:3; align-self:center; padding:16px 10px 16px 4px; display:flex; flex-direction:column; gap:10px; font:400 13.5px/1.35 var(--wd-text-font); color:var(--rt-ink); }
.rt-tyre-row .rt-delivery p { margin:0; display:grid; grid-template-columns:24px minmax(0,1fr); gap:7px; align-items:start; }
.rt-tyre-row .rt-delivery svg { width:24px; height:22px; color:var(--rt-ink-2); }
.rt-tyre-row .rt-delivery b { font-weight:600; }
.rt-tyre-row .rt-delivery-rule { display:inline; }
.rt-tyre-row .rt-delivery p > span { text-wrap:balance; }
.rt-tyre-row .rt-delivery-note { color:var(--rt-ink-2); font-size:13px; }
/* Availability, price, quantity, buy */
.rt-tyre-row .rt-purchase { grid-column:4; align-self:stretch; margin:18px 0; padding:0 18px; border-left:1px solid var(--rt-line); display:flex; flex-direction:column; justify-content:center; gap:12px; min-width:0; container-type:inline-size; }
.rt-tyre-row .rt-top { display:flex; flex-direction:column; align-items:flex-start; gap:8px; }
.rt-tyre-row .rt-row-actions { display:flex; justify-content:flex-end; gap:8px; grid-column:1/-1; }
.rt-row-actions .wd-action-btn { margin:0; }
.rt-row-actions .wd-action-btn > a { display:inline-flex; align-items:center; justify-content:center; width:44px; height:44px; border:1px solid var(--rt-line); border-radius:3px; color:var(--rt-ink-2); background:#fff; }
.rt-row-actions .wd-action-btn > a:hover { color:var(--rt-ink); border-color:var(--rt-accent); }
.rt-row-actions .wd-action-btn > a:focus-visible { outline:2px solid var(--rt-ink); outline-offset:2px; }
:is(.rt-tyre-row,.rt-pdp-hero) .rt-stock { margin:0; display:flex; flex-wrap:wrap; align-items:baseline; gap:0 5px; max-width:120px; font:400 13px/1.3 var(--wd-text-font); color:var(--rt-ink-2); }
:is(.rt-tyre-row,.rt-pdp-hero) .rt-stock b { font-weight:600; font-size:14px; color:var(--rt-ink); font-variant-numeric:tabular-nums; }
:is(.rt-tyre-row,.rt-pdp-hero) .rt-stock .rt-bar { display:block; flex-basis:100%; width:64px; height:4px; margin-top:5px; border-radius:2px; background:#e6e9ed; overflow:hidden; }
:is(.rt-tyre-row,.rt-pdp-hero) .rt-stock .rt-bar i { display:block; height:100%; width:100%; border-radius:2px; background:var(--rt-green); }
:is(.rt-tyre-row,.rt-pdp-hero) .rt-stock-low .rt-bar i { width:45%; background:var(--rt-amber); }
:is(.rt-tyre-row,.rt-pdp-hero) .rt-stock-back .rt-bar i { width:25%; background:var(--rt-ink-3); }
:is(.rt-tyre-row,.rt-pdp-hero) .rt-stock-out .rt-bar i { width:0; }
:is(.rt-tyre-row,.rt-pdp-hero) .rt-stock-out { color:var(--rt-ink-3); }
:is(.rt-tyre-row,.rt-pdp-hero) .rt-price { margin:0; display:flex; flex-wrap:wrap; align-items:flex-start; gap:0 4px; font:700 28px/1 var(--wd-title-font); letter-spacing:-.02em; color:var(--rt-ink); font-variant-numeric:tabular-nums; white-space:nowrap; }
:is(.rt-tyre-row,.rt-pdp-hero) .rt-price del { flex-basis:100%; margin:0 0 4px; font:500 13px/1 var(--wd-text-font); letter-spacing:0; color:var(--rt-ink-3); }
:is(.rt-tyre-row,.rt-pdp-hero) .rt-unit { display:flex; flex-direction:column; align-items:flex-start; gap:3px; padding-top:2px; line-height:1; }
:is(.rt-tyre-row,.rt-pdp-hero) .rt-cur { font:600 15px/1 var(--wd-text-font); letter-spacing:0; }
:is(.rt-tyre-row,.rt-pdp-hero) .rt-per { font:500 12px/1 var(--wd-text-font); letter-spacing:0; color:var(--rt-ink-2); }
:is(.rt-tyre-row,.rt-pdp-hero) .rt-price-html .amount { font:inherit; color:inherit; }
@container (min-width:230px) { .rt-tyre-row .rt-top { flex-direction:row; justify-content:space-between; align-items:flex-end; gap:12px; } .rt-tyre-row .rt-price { font-size:32px; } }
:is(.rt-tyre-row,.rt-pdp-hero) .rt-buy { display:flex; align-items:stretch; gap:8px; margin:0; }
:is(.rt-tyre-row,.rt-pdp-hero) .rt-buy .quantity { display:block; flex:0 0 64px; width:64px; height:48px; margin:0; }
:is(.rt-tyre-row,.rt-pdp-hero) .rt-buy .quantity .minus,:is(.rt-tyre-row,.rt-pdp-hero) .rt-buy .quantity .plus { display:none; }
:is(.rt-tyre-row,.rt-pdp-hero) .rt-buy .quantity input.qty { display:block; width:100%; max-width:none; height:48px; margin:0; padding:0 6px; border:1px solid #8b9198; border-radius:3px; background:#fff; color:var(--rt-ink); font:600 16px/1 var(--wd-text-font); text-align:center; box-shadow:none; -moz-appearance:textfield; appearance:textfield; }
:is(.rt-tyre-row,.rt-pdp-hero) .rt-buy .quantity input.qty::-webkit-outer-spin-button,:is(.rt-tyre-row,.rt-pdp-hero) .rt-buy .quantity input.qty::-webkit-inner-spin-button { -webkit-appearance:none; margin:0; }
:is(.rt-tyre-row,.rt-pdp-hero) .rt-buy .quantity input.qty:focus { border-color:var(--rt-accent-dark); }
:is(.rt-tyre-row,.rt-pdp-hero) .rt-buy .quantity input.qty[readonly] { background:#f3f4f6; color:var(--rt-ink-2); border-color:#c3c8cd; }
:is(.rt-tyre-row,.rt-pdp-hero) .rt-buy button,:is(.rt-tyre-row,.rt-pdp-hero) .rt-details { flex:1 1 auto; display:inline-flex; align-items:center; justify-content:center; min-height:48px; margin:0; padding:0 14px; border:0; border-radius:3px; background:var(--rt-accent); color:#1a1a1a; font:700 15px/1 var(--wd-text-font); letter-spacing:.02em; text-transform:none; text-decoration:none; box-shadow:none; cursor:pointer; transition:background .15s; }
:is(.rt-tyre-row,.rt-pdp-hero) .rt-buy button:hover { background:var(--rt-accent-dark); color:#1a1a1a; }
:is(.rt-tyre-row,.rt-pdp-hero) .rt-details { flex:none; width:100%; background:#fff; border:1.5px solid var(--rt-ink); color:var(--rt-ink); }
:is(.rt-tyre-row,.rt-pdp-hero) .rt-details:hover { background:#f3f4f6; color:var(--rt-ink); }
:is(.rt-tyre-row,.rt-pdp-hero) a:focus-visible,:is(.rt-tyre-row,.rt-pdp-hero) button:focus-visible,:is(.rt-tyre-row,.rt-pdp-hero) input:focus-visible { outline:2px solid var(--rt-ink); outline-offset:2px; }
/* The size search + filter bar replaces the shop sidebar's filter widgets, so list, grid and empty results take the full width like the reference (accepted locally 24.09; check the sidebar's other content on staging). */
@media (min-width:1025px) {
  :has(> .wd-content-area .rt-filters) > .wd-sidebar { display:none; }
  .wd-content-area:has(.rt-filters) { --wd-col-lg:12!important; }
}
/* Tablet: desktop order kept, delivery moves under the identity block */
@media (min-width:601px) and (max-width:1024px) {
  .products .rt-tyre-row { grid-template-columns:minmax(170px,26%) minmax(0,1fr) minmax(200px,27%); grid-template-rows:auto auto; }
  .rt-tyre-row .rt-photo { grid-row:1/3; }
  .rt-tyre-row .rt-info { grid-row:1; padding-bottom:10px; }
  .rt-tyre-row .rt-delivery { grid-column:2; grid-row:2; align-self:start; padding:0 16px 20px 12px; flex-direction:row; flex-wrap:wrap; gap:6px 18px; }
  .rt-tyre-row .rt-delivery p { display:flex; align-items:center; gap:7px; }
  .rt-tyre-row .rt-purchase { grid-column:3; grid-row:1/3; }
}
/* Phone: one DOM node, restacked. Photo + identity on top, delivery band, then stock / price / quantity / buy */
@media (max-width:600px) {
  .products .rt-tyre-row { grid-template-columns:minmax(112px,31%) minmax(0,1fr); }
  .rt-tyre-row .rt-photo { grid-column:1; grid-row:1; align-self:stretch; min-height:120px; }
  .rt-tyre-row .rt-info { grid-column:2; grid-row:1; padding:18px 16px 14px 10px; justify-content:flex-start; }
  .rt-tyre-row .rt-tags { flex-direction:column; align-items:flex-start; }
  .rt-tyre-row .rt-tag { min-height:26px; padding:0 10px; font-size:13px; }
  .rt-tyre-row .rt-delivery { grid-column:1/-1; grid-row:2; align-self:auto; margin:0 14px; padding:12px 0; border-top:1px solid var(--rt-line); flex-direction:row; flex-wrap:wrap; align-items:center; gap:8px 22px; }
  .rt-tyre-row .rt-delivery p { display:flex; align-items:center; gap:8px; }
  .rt-tyre-row .rt-delivery-rule { display:inline; }
  .rt-tyre-row .rt-purchase { grid-column:1/-1; grid-row:3; align-self:auto; margin:0 14px; padding:12px 0 14px; border-left:0; border-top:1px solid var(--rt-line); container-type:normal; display:grid; grid-template-columns:minmax(0,1fr) auto; grid-template-areas:"stock price" "buy price"; align-items:end; gap:10px 16px; }
  .rt-tyre-row .rt-purchase .rt-top { display:contents; }
  .rt-tyre-row .rt-purchase .rt-stock { grid-area:stock; }
  .rt-tyre-row .rt-purchase .rt-price { grid-area:price; align-self:end; font-size:28px; }
  .rt-tyre-row .rt-purchase .rt-buy,.rt-tyre-row .rt-purchase .rt-details { grid-area:buy; justify-self:start; width:100%; max-width:280px; }
}
@media (max-width:600px) {
  .rt-tyre-row .rt-tag { min-height:24px; padding:0 9px; font-size:12.5px; }
  .rt-tyre-row .rt-brand { font-size:13px; letter-spacing:.12em; margin-bottom:8px; min-height:0; }
  .rt-tyre-row .rt-model { font-size:21px; margin-bottom:6px; }
  .rt-tyre-row .rt-class { font-size:14px; margin-bottom:10px; }
  .rt-tyre-row .rt-class svg,.rt-tyre-row .rt-eu svg { width:16px; height:16px; }
  .rt-tyre-row .rt-chip { min-height:26px; padding:0 7px; font-size:13px; }
  .rt-tyre-row .rt-chip-eu { flex-wrap:wrap; max-width:100%; padding:2px 4px; gap:2px 4px; white-space:normal; }
  .rt-tyre-row .rt-eu { padding:0 4px; min-height:22px; white-space:nowrap; }
  .rt-tyre-row .rt-eu + .rt-eu { border-left:0; }
  .rt-tyre-row .rt-delivery { font-size:13px; gap:6px 16px; }
  .rt-tyre-row .rt-delivery-note { font-size:12.5px; }
  .rt-tyre-row .rt-purchase { gap:10px 12px; }
  .rt-tyre-row .rt-purchase .rt-price { font-size:26px; }
  .rt-tyre-row .rt-buy .quantity { flex-basis:60px; width:60px; height:44px; }
  .rt-tyre-row .rt-buy .quantity input.qty { height:44px; }
  .rt-tyre-row .rt-buy button,.rt-tyre-row .rt-details { min-height:44px; }
}
/* Local catalogue: compact search by size + filters above the rows (WooCommerce filter_* / min_price args). 36px controls,
   14px text; the size reads as one field, "Laius / Profiil R Diameeter". With JavaScript each select becomes a small listbox
   (.rt-cb / .rt-lb); without it the native selects are shown and the price boxes, which need the script, are hidden. */
.rt-filters { --rf-ink:#1f2429; --rf-ink-2:#4b5259; --rf-ink-3:#5f656c; --rf-line:#cdd3d9; --rf-line-2:#e1e5e9; --rf-hover:#a9b0b7; --rf-accent:#ff9933; --rf-accent-dark:#e8821a; --rf-soft:#fff3e5; position:relative; z-index:5; margin:0 0 16px; padding:12px 16px 14px; border:1px solid var(--rf-line-2); border-radius:3px; background:#f6f7f8; font-family:var(--wd-text-font); color:var(--rf-ink); }
.rt-category-nav { display:flex; flex-wrap:wrap; gap:8px; margin:0 0 16px; }
.rt-category-nav a { display:inline-flex; align-items:center; justify-content:center; min-height:44px; padding:10px 18px; border:1px solid #cdd3d9; border-radius:3px; background:#fff; color:#1f2429; font-size:14px; font-weight:600; text-decoration:none; }
.rt-category-nav a:hover { border-color:#ff9933; background:#fff3e5; color:#1f2429; }
.rt-category-nav a[aria-current=page] { background:#ff9933; border-color:#ff9933; color:#1f2429; }
.rt-category-nav a:focus-visible { outline:2px solid #1f2429; outline-offset:3px; }
@media (max-width:480px) { .rt-category-nav { gap:6px; } .rt-category-nav a { flex:1 1 auto; padding:9px 12px; font-size:13px; } }
.rt-filters *,.rt-filters *::before,.rt-filters *::after { box-sizing:border-box; }
.rt-filters .rt-sr { position:absolute; width:1px; height:1px; margin:-1px; padding:0; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; border:0; }
.rt-filters-row { display:flex; flex-wrap:wrap; align-items:flex-end; gap:12px; }
.rt-field { display:flex; flex-direction:column; gap:5px; min-width:0; margin:0; }
.rt-filters .rt-label { display:block; margin:0; padding:0; font:500 12px/16px var(--wd-text-font); color:var(--rf-ink-3); letter-spacing:0; text-transform:none; }
.rt-sel { position:relative; min-width:0; }
.rt-filters select,.rt-filters input[type=number],.rt-filters .rt-cb { display:block; width:100%; min-width:0; height:36px; margin:0; padding:0 28px 0 10px; border:1px solid var(--rf-line); border-radius:3px; background-color:#fff; color:var(--rf-ink); font:500 14px/1.2 var(--wd-text-font); letter-spacing:0; box-shadow:none; }
.rt-filters select { -webkit-appearance:none; appearance:none; background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%234b5259' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat right 10px center / 10px 7px; cursor:pointer; }
.rt-filters input[type=number] { padding:0 10px; text-align:left; -moz-appearance:textfield; appearance:textfield; }
.rt-filters input[type=number]::-webkit-inner-spin-button,.rt-filters input[type=number]::-webkit-outer-spin-button { -webkit-appearance:none; margin:0; }
.rt-filters input::placeholder { color:var(--rf-ink-3); font-weight:400; opacity:1; }
.rt-filters select:hover,.rt-filters input[type=number]:hover,.rt-filters .rt-cb:hover { border-color:var(--rf-hover); }
.rt-filters select:focus,.rt-filters input[type=number]:focus { border-color:var(--rf-ink-2); }
/* Custom listbox: the native select stays in the form as the value, hidden once the script has built the combobox */
.rt-filters.rt-js .rt-sel > select { display:none; }
.rt-filters .rt-cb { position:relative; display:flex; align-items:center; white-space:nowrap; cursor:pointer; -webkit-user-select:none; user-select:none; -webkit-tap-highlight-color:transparent; }
.rt-cb-value { overflow:hidden; text-overflow:ellipsis; }
.rt-filters .rt-cb.is-empty { color:var(--rf-ink-3); font-weight:400; }
.rt-filters .rt-cb::after { content:""; position:absolute; top:50%; right:10px; width:10px; height:7px; margin-top:-3px; background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%234b5259' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat center / 10px 7px; }
.rt-filters .rt-cb[aria-expanded="true"] { border-color:var(--rf-ink-2); }
.rt-filters .rt-cb[aria-expanded="true"]::after { transform:rotate(180deg); }
.rt-lb { position:absolute; z-index:40; top:calc(100% + 4px); left:0; min-width:max(100%,104px); max-width:calc(100vw - 32px); max-height:min(288px,55vh); overflow-y:auto; overscroll-behavior:contain; margin:0; padding:4px; border:1px solid var(--rf-line); border-radius:4px; background:#fff; box-shadow:0 10px 28px rgba(31,36,41,.16); outline:none; }
.rt-lb[hidden],.rt-opt[hidden] { display:none; }
.rt-lb.is-right { left:auto; right:0; }
.rt-opt { position:relative; min-height:30px; padding:5px 14px 5px 28px; border-radius:2px; font:400 14px/20px var(--wd-text-font); color:var(--rf-ink); white-space:nowrap; cursor:pointer; -webkit-tap-highlight-color:transparent; }
.rt-opt.is-active { background:var(--rf-soft); }
.rt-opt[aria-selected="true"] { font-weight:600; }
.rt-opt[aria-selected="true"]::before { content:""; position:absolute; top:50%; left:11px; width:9px; height:5px; margin-top:-4px; border:solid var(--rf-accent-dark); border-width:0 0 2px 2px; transform:rotate(-45deg); }
.rt-opt-any { color:var(--rf-ink-2); }
/* Size: one field, three parts */
.rt-size { display:flex; align-items:center; width:320px; max-width:100%; height:36px; border:1px solid var(--rf-line); border-radius:3px; background:#fff; }
.rt-size:hover { border-color:var(--rf-hover); }
.rt-size:focus-within { border-color:var(--rf-ink-2); }
.rt-size .rt-sel { flex:1 1 0; }
.rt-size .rt-sel-diameeter { flex-grow:1.3; }
.rt-filters .rt-size select,.rt-filters .rt-size .rt-cb { height:34px; padding-right:24px; border:0; border-radius:2px; background-color:transparent; }
.rt-filters .rt-size select { background-position:right 8px center; }
.rt-filters .rt-size .rt-cb::after { right:8px; }
.rt-size .rt-sep { flex:none; width:14px; font:600 14px/1 var(--wd-text-font); color:var(--rf-ink-3); text-align:center; }
.rt-field-season { flex:0 0 164px; }
.rt-field-vehicle { flex:0 0 100px; }
.rt-field-brand { flex:0 0 168px; }
.rt-field-rim { flex:0 0 132px; }
.rt-price { display:flex; align-items:center; gap:6px; color:var(--rf-ink-3); }
.rt-filters .rt-price input[type=number] { width:78px; }
.rt-filters:not(.rt-js) .rt-field-price { display:none; }
.rt-filters .rt-submit { flex:0 0 auto; height:36px; margin:0 0 0 auto; padding:0 18px; border:0; border-radius:3px; background:var(--rf-accent); color:#1a1a1a; font:700 14px/1 var(--wd-text-font); letter-spacing:0; text-transform:none; white-space:nowrap; box-shadow:none; cursor:pointer; }
.rt-filters .rt-submit:hover { background:var(--rf-accent-dark); color:#1a1a1a; }
.rt-filters-active { display:flex; flex-wrap:wrap; align-items:center; gap:6px 8px; margin-top:12px; padding-top:10px; border-top:1px solid var(--rf-line-2); }
.rt-filters .rt-active-chip { display:inline-flex; align-items:center; gap:7px; height:26px; padding:0 9px 0 11px; border:1px solid #d3d8dd; border-radius:13px; background:#fff; color:var(--rf-ink); font:500 12.5px/1 var(--wd-text-font); text-decoration:none; white-space:nowrap; }
.rt-filters .rt-active-chip span { font-size:15px; line-height:1; color:var(--rf-ink-3); }
.rt-filters .rt-active-chip:hover { border-color:var(--rf-accent-dark); color:var(--rf-ink); }
.rt-filters .rt-filters-clear { margin-left:4px; font:500 12.5px/1.2 var(--wd-text-font); color:var(--rf-ink-2); text-decoration:underline; text-underline-offset:2px; }
.rt-filters a:focus-visible,.rt-filters button:focus-visible,.rt-filters select:focus-visible,.rt-filters input:focus-visible,.rt-filters .rt-cb:focus-visible { outline:2px solid var(--rf-ink); outline-offset:2px; }
.rt-filters .rt-size select:focus-visible,.rt-filters .rt-size .rt-cb:focus-visible { outline-offset:-2px; }
body:has(.rt-filters) .wd-show-sidebar-btn,body:has(.rt-filters) .wd-active-filters { display:none; }
@media (pointer:coarse) {
  .rt-opt { min-height:40px; padding-top:10px; padding-bottom:10px; }
  .rt-filters .rt-active-chip { position:relative; height:32px; border-radius:16px; }
  /* Touch: the tap target reaches 44px although the control is drawn smaller (R-MOB-014) */
  .rt-filters .rt-cb::before { content:""; position:absolute; top:-3px; right:0; bottom:-3px; left:0; }
  .rt-filters .rt-active-chip::after { content:""; position:absolute; top:-6px; right:0; bottom:-6px; left:0; }
}
@media (max-width:600px) {
  .rt-filters { padding:12px 12px 14px; }
  .rt-filters-row { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px 10px; }
  .rt-field-size,.rt-field-price,.rt-filters .rt-submit { grid-column:1/-1; }
  /* Hooaeg and Sõiduk share a row; Tootja (long names) takes the next one whole, so no half-row is left empty */
  .rt-field-vehicle ~ .rt-field-brand { grid-column:1/-1; }
  .rt-size { width:100%; height:40px; }
  .rt-filters select,.rt-filters input[type=number],.rt-filters .rt-cb { height:40px; }
  .rt-filters .rt-size select,.rt-filters .rt-size .rt-cb { height:38px; }
  .rt-filters .rt-price input[type=number] { flex:1 1 0; width:0; }
  .rt-filters .rt-submit { width:100%; height:44px; margin:2px 0 0; }
}

/* Local catalogue: single tyre page in the layout of the client's model (rehvid123 product page, Keijo 24.09), in
   RehvidTartus24's brand and built from the list rows' parts (shared rules above use :is(.rt-tyre-row,.rt-pdp-hero)).
   Proportions measured on the reference at 1440: photo column 51 %, gap 6 %, summary 43 %; photo box 645x520 with the tyre
   about 80 % of its width, top visible, bottom cut by the box; summary centred on the photo; tabs under the photo only;
   the other offers in the same size as list rows. Stacked at 1024 px and below, like the reference at 834 and 390. */
.rt-pdp { --rt-ink:#1f2429; --rt-ink-2:#4b5259; --rt-ink-3:#6b7178; --rt-line:#dfe3e8; --rt-accent:#ff9933; --rt-accent-dark:#e8821a; --rt-tint:#ffbd78; --rt-green:#2f9e5b; --rt-amber:#d99a00; --rt-panel:#f6f7f8; color:var(--rt-ink); font-family:var(--wd-text-font); }
.rt-pdp *,.rt-pdp *::before,.rt-pdp *::after { box-sizing:border-box; }
.rt-pdp-crumbs { margin:18px 0 14px; }
.rt-pdp-crumbs .woocommerce-breadcrumb { margin:0; font-size:13px; }
.rt-pdp-hero { display:grid; grid-template-columns:minmax(0,51fr) minmax(0,43fr); column-gap:6%; align-items:start; margin:0 0 48px; }
.rt-pdp-media { position:relative; min-width:0; }
.rt-pdp-media .rt-tags { z-index:3; }
/* Photo box 645:520 as on the reference. With the tyre's own box measured (rt-fit, shared with the rows), every tyre is shown
   80 % of the box wide with its top 24 px below the box edge, and at least 62 % of its height visible; the rest is cut by the
   box bottom. Without the measurement the image is placed the same way by its frame. */
.rt-pdp-photo { display:block; position:relative; overflow:hidden; aspect-ratio:645/520; container-type:size; --tw:80cqw; --vis:.62; }
.rt-pdp-photo img { display:block; position:absolute; left:50%; top:24px; transform:translateX(-50%); width:var(--tw); max-width:none; height:auto; max-height:none; }
.rt-pdp-photo img.rt-fit { --ht:min(calc(var(--tw) * var(--bh) / (var(--bw) * var(--ar))), calc((100cqh - 24px) / var(--vis))); width:auto; height:calc(var(--ht) / var(--bh)); top:calc(24px - var(--by) * var(--ht) / var(--bh)); left:calc(50cqw - (var(--bx) + var(--bw) / 2) * var(--ar) * var(--ht) / var(--bh)); transform:none; }
.rt-pdp-photo:focus-visible { outline:2px solid var(--rt-ink); outline-offset:2px; }
.rt-pdp-nophoto img { top:0; width:60cqw; opacity:.5; }
.rt-pdp-thumbs { list-style:none; display:flex; flex-wrap:wrap; gap:8px; margin:12px 0 0; padding:0; }
.rt-pdp-thumbs li { margin:0; }
.rt-pdp-thumbs a { display:block; width:72px; height:72px; padding:4px; border:1px solid var(--rt-line); border-radius:3px; background:#fff; }
.rt-pdp-thumbs a:hover { border-color:var(--rt-ink-3); }
.rt-pdp-thumbs img { display:block; width:100%; height:100%; object-fit:contain; }
/* Identity and buy box */
.rt-pdp-summary { min-width:0; align-self:center; padding:24px 0; }
.rt-pdp-hero .rt-brand { margin:0 0 12px; }
.rt-pdp-title { margin:0 0 16px; padding:0; font:600 clamp(30px,2.8vw,40px)/1.08 var(--wd-title-font); letter-spacing:-.01em; color:var(--rt-ink); text-transform:none; overflow-wrap:anywhere; }
.rt-pdp-hero .rt-chips { margin:0 0 18px; }
.rt-pdp-hero .rt-class { margin:0 0 12px; font-size:16px; }
.rt-pdp-sku { margin:0 0 20px; font:400 14px/1.4 var(--wd-text-font); color:var(--rt-ink-2); }
.rt-pdp-sku span { color:var(--rt-ink); font-variant-numeric:tabular-nums; }
.rt-pdp-buy { display:flex; flex-direction:column; align-items:flex-start; gap:16px; margin:0 0 24px; padding-top:20px; border-top:1px solid var(--rt-line); }
.rt-pdp-pricing { display:flex; flex-direction:column; align-items:flex-start; gap:12px; }
.rt-pdp-hero .rt-price { font-size:32px; }
.rt-pdp-hero .rt-per { white-space:nowrap; }
.rt-pdp-hero .rt-stock { max-width:none; font-size:14px; }
.rt-pdp-hero .rt-stock .rt-bar { max-width:88px; }
.rt-pdp-hero form.rt-buy { width:100%; max-width:240px; margin:0; padding:0; }
.rt-pdp-hero .rt-buy button { flex:1 1 auto; min-width:150px; font-size:16px; }
.rt-pdp-cart-default { width:100%; }
.rt-pdp-actions { display:flex; flex-wrap:wrap; align-items:center; gap:4px 24px; margin:0 0 12px; }
.rt-pdp-actions .wd-action-btn { margin:0; }
.rt-pdp-actions .wd-action-btn > a { min-height:44px; font-size:14px; }
.rt-pdp-share { margin:0 0 24px; }
.rt-pdp-share .product-share { justify-content:flex-start; margin:0; }
.rt-pdp-share .wd-social-icon { min-width:44px; min-height:44px; }
.rt-pdp-actions a:focus-visible,.rt-pdp-share a:focus-visible { outline:2px solid var(--rt-ink); outline-offset:3px; }
.rt-pdp-delivery { list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:12px; font:400 15px/1.35 var(--wd-text-font); color:var(--rt-ink); }
.rt-pdp-delivery li { display:grid; grid-template-columns:26px minmax(0,1fr); gap:10px; align-items:center; margin:0; }
.rt-pdp-delivery svg { width:24px; height:22px; color:var(--rt-ink-2); }
.rt-pdp-delivery svg.rt-i-truck { color:#c96a10; }
.rt-pdp-delivery b { font-weight:600; }
.rt-pdp-where,.rt-pdp-delivery .rt-delivery-note { color:var(--rt-ink-2); }
/* Tabs under the photo column only, as on the reference; the column beside them stays empty. Without JavaScript the tab list
   stays hidden and every panel is shown one after another. */
.rt-pdp-lower { display:grid; grid-template-columns:minmax(0,51fr) minmax(0,43fr); column-gap:6%; margin:0 0 64px; }
.rt-pdp-tabs { min-width:0; }
.rt-tablist { display:flex; flex-wrap:wrap; gap:6px; }
.rt-tablist[hidden],.rt-pdp .rt-panel[hidden] { display:none; }
.rt-tablist [role=tab] { -webkit-appearance:none; appearance:none; margin:0; padding:0 22px; min-height:52px; border:0; border-top:2px solid transparent; border-radius:0; background:#eceef0; color:var(--rt-ink-2); font:500 15px/1 var(--wd-text-font); letter-spacing:0; text-transform:none; box-shadow:none; cursor:pointer; }
.rt-tablist [role=tab]:hover { color:var(--rt-ink); background:#e4e7ea; }
.rt-tablist [role=tab][aria-selected=true] { background:var(--rt-panel); color:var(--rt-ink); font-weight:600; border-top-color:var(--rt-accent); }
.rt-tablist [role=tab]:focus-visible,.rt-pdp .rt-panel:focus-visible { outline:2px solid var(--rt-ink); outline-offset:-2px; }
.rt-pdp .rt-panel { margin:0; padding:34px 40px 40px; background:var(--rt-panel); }
.rt-pdp .rt-panel + .rt-panel { margin-top:16px; }
.rt-pdp .rt-tabs-on .rt-panel + .rt-panel { margin-top:0; }
.rt-pdp .rt-panel-h { margin:0 0 16px; padding:0; font:700 14px/1.3 var(--wd-text-font); letter-spacing:.06em; text-transform:uppercase; color:var(--rt-ink); }
.rt-pdp .rt-panel-h ~ .rt-panel-h { margin-top:34px; }
.rt-spec { width:100%; margin:0; border:0; border-collapse:collapse; font:400 15px/1.4 var(--wd-text-font); color:var(--rt-ink); }
.rt-spec th,.rt-spec td { padding:11px 0; border:0; border-bottom:1px solid var(--rt-line); background:none; vertical-align:top; text-transform:none; letter-spacing:0; }
.rt-spec th { width:50%; padding-right:16px; text-align:left; font-weight:400; color:var(--rt-ink-2); }
.rt-spec td { text-align:right; font-weight:600; font-variant-numeric:tabular-nums; }
/* EU label data drawn as the label's own scales: every class shown, the product's class full colour and ringed. */
.rt-label { display:grid; gap:16px; }
.rt-scale { display:grid; grid-template-columns:minmax(170px,40%) minmax(0,1fr); align-items:center; gap:12px; margin:0; }
.rt-scale-name,.rt-scale-grip p { display:flex; align-items:center; gap:9px; margin:0; font:500 15px/1.3 var(--wd-text-font); color:var(--rt-ink); }
.rt-scale svg { width:20px; height:20px; flex:none; color:var(--rt-ink-2); }
.rt-scale-grip svg { color:#2b7bbd; }
.rt-scale-steps { display:flex; align-items:center; gap:4px; margin:0; padding:0; }
.rt-scale-steps i { display:grid; place-items:center; width:30px; height:26px; margin:0; border-radius:3px; font:700 13px/1 var(--wd-text-font); font-style:normal; color:#14181c; }
.rt-scale-grades i { opacity:.3; }
.rt-scale-grades i.is-on { opacity:1; width:42px; box-shadow:0 0 0 2px #fff,0 0 0 3.5px var(--rt-ink); }
.rt-scale-steps .rt-grade-a { background:#0f7d34; color:#fff; }
.rt-scale-steps .rt-grade-b { background:#7ab648; }
.rt-scale-steps .rt-grade-c { background:#c8d62b; }
.rt-scale-steps .rt-grade-d { background:#f5c400; }
.rt-scale-steps .rt-grade-e { background:#f08a24; }
.rt-scale-steps .rt-grade-f { background:#e8542a; }
.rt-scale-steps .rt-grade-g { background:#c8102e; color:#fff; }
.rt-scale-noise { display:flex; align-items:center; gap:14px; margin:0; font:400 15px/1 var(--wd-text-font); }
.rt-scale-noise b { font-weight:700; font-variant-numeric:tabular-nums; }
.rt-scale-abc { display:inline-flex; }
.rt-scale-abc i { background:#e6e9ed; color:var(--rt-ink-3); }
.rt-scale-abc i.is-on { background:var(--rt-ink); color:#fff; }
.rt-scale-grip { display:flex; flex-wrap:wrap; gap:10px 26px; }
.rt-pdp-text { font:400 15px/1.6 var(--wd-text-font); color:var(--rt-ink-2); max-width:68ch; }
.rt-pdp-text p { margin:0 0 12px; }
.rt-pdp-text > :last-child { margin-bottom:0; }
/* Other offers in the same size: the list rows themselves, then the way into the full list */
.rt-pdp-others { margin:0 0 64px; }
.rt-pdp-others-h { margin:0 0 28px; padding:0; text-align:center; font:700 clamp(24px,2.4vw,34px)/1.15 var(--wd-title-font); letter-spacing:.01em; text-transform:uppercase; color:var(--rt-ink); }
.rt-pdp .rt-pdp-rows { display:grid; grid-template-columns:minmax(0,1fr); gap:12px; margin:0; }
.rt-pdp-more { display:flex; flex-wrap:wrap; justify-content:center; gap:10px; margin:24px 0 0; }
.rt-pdp-more a { display:inline-flex; align-items:center; justify-content:center; min-height:48px; padding:0 22px; border:1px solid #c3c8cd; border-radius:3px; background:#fff; color:var(--rt-ink); font:600 14px/1.2 var(--wd-text-font); letter-spacing:.04em; text-transform:uppercase; text-decoration:none; }
.rt-pdp-more a:hover { border-color:var(--rt-ink); color:var(--rt-ink); }
.rt-pdp-more a:focus-visible { outline:2px solid var(--rt-ink); outline-offset:2px; }
@media (max-width:1024px) {
  .rt-pdp-hero,.rt-pdp-lower { grid-template-columns:minmax(0,1fr); }
  .rt-pdp-hero { align-items:start; margin-bottom:36px; }
  .rt-pdp-photo { aspect-ratio:auto; height:300px; --tw:min(86cqw, 470px); --vis:.42; }
  .rt-pdp-summary { padding:18px 0 0; }
  .rt-pdp-title { font-size:30px; }
  .rt-pdp-pricing { flex-direction:row; flex-wrap:wrap; align-items:flex-end; gap:12px 24px; }
  .rt-pdp-hero form.rt-buy { max-width:340px; }
  .rt-pdp .rt-panel { padding:26px 22px 30px; }
  .rt-pdp-lower { margin-bottom:48px; }
}
@media (max-width:600px) {
  .rt-pdp-crumbs { margin:12px 0 10px; }
  .rt-pdp-photo { height:270px; }
  .rt-pdp-title { font-size:26px; margin-bottom:12px; }
  .rt-pdp-hero .rt-chips { gap:6px; }
  .rt-pdp-hero .rt-chip { min-height:28px; padding:0 8px; font-size:14px; }
  .rt-pdp-hero .rt-chip-eu { flex-wrap:wrap; max-width:100%; padding:2px 4px; gap:2px 4px; white-space:normal; }
  .rt-pdp-hero .rt-eu { padding:0 5px; white-space:nowrap; }
  .rt-pdp-hero .rt-eu + .rt-eu { border-left:0; }
  .rt-pdp-hero .rt-class { font-size:15px; }
  .rt-pdp-hero .rt-price { font-size:30px; }
  /* Keep the purchase controls clear of the 60px floating chat launcher. */
  .rt-pdp-hero form.rt-buy { width:calc(100% - 72px); max-width:none; }
  .rt-pdp-hero .rt-buy button { min-width:0; }
  .rt-pdp-hero .rt-buy .quantity { flex-basis:64px; width:64px; }
  .rt-pdp-delivery { font-size:14.5px; }
  .rt-tablist { gap:4px; }
  .rt-tablist [role=tab] { flex:1 1 auto; min-height:46px; padding:0 14px; font-size:14px; }
  .rt-pdp .rt-panel { padding:22px 16px 26px; }
  .rt-scale { grid-template-columns:minmax(0,1fr); gap:8px; }
  .rt-spec { font-size:14.5px; }
  .rt-spec th { width:52%; }
  .rt-pdp-others-h { margin-bottom:18px; }
  .rt-pdp-more a { width:100%; }
}

/* Plate search ("Auto numbri järgi"): two tabs over the searches like the reference's "Mõõtude järgi / Auto järgi",
   the plate panel in the filter bar's own look (grey panel, 36 px controls, 14 px text, 12 px labels), a plate field
   drawn like an Estonian number plate, and the register's sizes as links with live stock counts. Without JavaScript the
   tab list stays hidden and both searches show one after the other. */
.rt-search { margin:0 0 16px; }
.rt-search .rt-filters { margin:0; }
.rt-search-tabs { display:flex; gap:4px; }
.rt-search-tabs[hidden],.rt-search [role=tabpanel][hidden] { display:none; }
.rt-search-tabs [role=tab] { -webkit-appearance:none; appearance:none; margin:0; padding:0 16px; min-height:38px; border:1px solid #e1e5e9; border-bottom:0; border-radius:3px 3px 0 0; background:#fff; color:#4b5259; font:500 14px/1 var(--wd-text-font); letter-spacing:0; text-transform:none; box-shadow:none; cursor:pointer; }
.rt-search-tabs [role=tab]:hover { color:#1f2429; }
.rt-search-tabs [role=tab][aria-selected=true] { background:#f6f7f8; color:#1f2429; font-weight:600; box-shadow:inset 0 2px 0 #ff9933; }
.rt-search-tabs [role=tab]:focus-visible { outline:2px solid #1f2429; outline-offset:-2px; }
.rt-search-tabs-on .rt-filters,.rt-search-tabs-on .rt-plate { border-top-left-radius:0; }
.rt-search:not(.rt-search-tabs-on) .rt-plate { margin-top:12px; }
.rt-plate { position:relative; margin:0; padding:12px 16px 14px; border:1px solid #e1e5e9; border-radius:3px; background:#f6f7f8; font-family:var(--wd-text-font); color:#1f2429; }
.rt-plate *,.rt-plate *::before,.rt-plate *::after { box-sizing:border-box; }
.rt-plate-row { display:flex; flex-wrap:wrap; align-items:flex-end; gap:12px 14px; }
.rt-plate .rt-label { display:block; margin:0 0 4px; font:500 12px/16px var(--wd-text-font); color:#5f656c; letter-spacing:0; text-transform:none; }
.rt-plate-field { display:flex; align-items:stretch; width:220px; height:36px; border:1px solid #cdd3d9; border-radius:3px; background:#fff; overflow:hidden; }
.rt-plate-field:focus-within { border-color:#4b5259; }
.rt-plate-eu { display:grid; place-items:center; flex:0 0 30px; background:#003399; color:#fff; font:700 10px/1 var(--wd-text-font); letter-spacing:.04em; }
.rt-plate-field input { flex:1 1 auto; min-width:0; height:100%; margin:0; padding:0 10px; border:0; border-radius:0; background:none; box-shadow:none; color:#1f2429; font:700 17px/1 var(--wd-text-font); letter-spacing:.12em; text-transform:uppercase; }
.rt-plate-field input::placeholder { color:#737980; font-weight:500; opacity:1; }
.rt-plate-field input:focus { outline:none; }
.rt-plate .rt-plate-submit { flex:0 0 auto; height:36px; margin:0; padding:0 18px; border:0; border-radius:3px; background:#ff9933; color:#1a1a1a; font:700 14px/1 var(--wd-text-font); letter-spacing:0; text-transform:none; white-space:nowrap; box-shadow:none; cursor:pointer; }
.rt-plate .rt-plate-submit:hover { background:#e8821a; }
.rt-plate .rt-plate-submit:disabled { opacity:.7; cursor:progress; }
.rt-plate .rt-plate-submit:focus-visible,.rt-plate-size:focus-visible { outline:2px solid #1f2429; outline-offset:2px; }
.rt-plate-note { margin:8px 0 0; font:400 12px/1.4 var(--wd-text-font); color:#5f656c; }
.rt-plate-hp { position:absolute; left:-9999px; top:auto; width:1px; height:1px; overflow:hidden; }
.rt-plate-out:empty { display:none; }
.rt-plate-out { margin:12px 0 0; padding:12px 0 0; border-top:1px solid #e1e5e9; }
.rt-plate-h { margin:0 0 8px; font:600 13px/1.3 var(--wd-text-font); color:#1f2429; }
.rt-plate-warn { margin:0 0 8px; font:400 13px/1.4 var(--wd-text-font); color:#7a5200; }
.rt-plate-axle { margin:10px 0 6px; font:600 12px/1.3 var(--wd-text-font); letter-spacing:.06em; text-transform:uppercase; color:#4b5259; }
.rt-plate-sizes { list-style:none; margin:0; padding:0; display:flex; flex-wrap:wrap; gap:8px; }
.rt-plate-sizes li { margin:0; }
.rt-plate-size { display:inline-flex; align-items:baseline; flex-wrap:wrap; gap:4px 10px; min-height:36px; padding:9px 12px; border:1px solid #cdd3d9; border-radius:3px; background:#fff; color:#1f2429; font:400 13px/1.2 var(--wd-text-font); text-decoration:none; }
a.rt-plate-size:hover { border-color:#e8821a; color:#1f2429; }
.rt-plate-size b { font:700 15px/1 var(--wd-text-font); font-variant-numeric:tabular-nums; }
.rt-plate-var { color:#4b5259; }
.rt-plate-count { font-weight:600; color:#1f2429; }
.rt-plate-size.is-empty { background:transparent; color:#5f656c; }
.rt-plate-size.is-empty b { color:#4b5259; }
.rt-plate-size.is-empty .rt-plate-count { font-weight:400; color:#5f656c; }
.rt-plate-msg { margin:0; font:400 14px/1.4 var(--wd-text-font); color:#1f2429; }
.rt-plate-hint { margin:0 0 10px; font:400 13px/1.4 var(--wd-text-font); color:#1f2429; }
.rt-plate-rim { margin:12px 0 6px; font:600 12px/1.3 var(--wd-text-font); color:#4b5259; }
:is(.rt-plate-h, .rt-plate-hint, .rt-plate-warn, .rt-plate-axle) + .rt-plate-rim { margin-top:0; }
/* While a plate answer lists sizes, the whole list below waits until a size is chosen (or the size tab is back):
   the answer is the next step, not the 12,000 tyres under it. CSS only, so it holds with and without JavaScript. */
.wd-content-area:has(#rt-panel-plate:not([hidden]) .rt-plate-res) :is(.rt-search ~ .products, .woocommerce-pagination, .wd-loop-footer, .woocommerce-result-count, .woocommerce-ordering, .wd-products-per-page, .wd-products-shop-view) { display:none; }
@media (max-width:600px) {
  .rt-search-tabs [role=tab] { flex:1 1 0; min-height:44px; padding:0 10px; }
  .rt-plate-row { flex-direction:column; align-items:stretch; }
  .rt-plate-field { width:100%; height:44px; }
  .rt-plate .rt-plate-submit { width:100%; height:44px; }
  .rt-plate-sizes { flex-direction:column; }
  .rt-plate-size { display:flex; min-height:44px; }
}

/* A failed photo is a centered placeholder, never fitted as a real tyre. */
.rt-tyre-row .rt-photo img[data-rt24-fallback],.rt-pdp-photo img[data-rt24-fallback] { width:60%; height:60%; max-width:none; object-fit:contain; left:50%; top:50%; transform:translate(-50%,-50%); }
