/* =====================================================================
   Rug Kingdom storefront skin (RugKingdom/hyva, child of Hyva/default). Loaded after styles.css + rk-components.css.
   White, black type, DM Sans + Playfair Display, square black buttons (DENISA system, research/DESIGN-RESEARCH.md).
   Scoped to body.rk-site so nothing can leak.
   ===================================================================== */
@font-face { font-family: "DM Sans"; font-style: normal; font-weight: 100 1000; font-display: swap; src: url("../fonts/dm-sans-latin-wght-normal.woff2") format("woff2"); }
@font-face { font-family: "DM Sans"; font-style: italic; font-weight: 100 1000; font-display: swap; src: url("../fonts/dm-sans-latin-wght-italic.woff2") format("woff2"); }
@font-face { font-family: "Playfair Display"; font-style: normal; font-weight: 400 900; font-display: swap; src: url("../fonts/playfair-display-latin-wght-normal.woff2") format("woff2"); }
@font-face { font-family: "Playfair Display"; font-style: italic; font-weight: 400 900; font-display: swap; src: url("../fonts/playfair-display-latin-wght-italic.woff2") format("woff2"); }
@font-face { font-family: "RK Serif Fallback"; src: local("Georgia"), local("Times New Roman"); size-adjust: 112%; }
@font-face { font-family: "RK Sans Fallback"; src: local("Arial"), local("Helvetica"); size-adjust: 98%; }

body.rk-site {
  --rk-ink: #111; --rk-muted: #5c5c5c; --rk-line: #e6e6e6; --rk-soft: #f5f2ed; --rk-photo: #f7f6f4; --rk-err: #b3261e;
  --rk-sans: "DM Sans", "RK Sans Fallback", "Helvetica Neue", Arial, sans-serif;
  --rk-serif: "Playfair Display", "RK Serif Fallback", Georgia, serif;
  --dn-muted: #5c5c5c; --dn-line: #e6e6e6; --dn-display: var(--rk-serif); --el-font: var(--rk-sans);
  --color-primary: #000; --color-primary-lighter: #222; --color-primary-darker: #000; --color-on-primary: #fff;
  --color-fg: #111; --color-fg-secondary: #5c5c5c; --color-bg: #fff; --color-surface: #fff;
  background: #fff; color: var(--rk-ink); font-family: var(--rk-sans); -webkit-font-smoothing: antialiased;
}
html:root body.rk-site :is(h1, h2, h3, .page-title, .rk-h2) { font-family: var(--rk-serif); font-weight: 400; letter-spacing: 0; }
body.rk-site a { text-underline-offset: 3px; }
body.rk-site :focus-visible { outline: 2px solid #111; outline-offset: 2px; }
body.rk-site .sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
body.rk-site #maincontent, body.rk-site .page-main, body.rk-site .columns, body.rk-site main { background: #fff; }
body.rk-site .page-main { max-width: 90rem; }
@media (max-width: 1023.98px) { body.rk-site .rk-only-desktop { display: none !important; } }
@media (min-width: 1024px) { body.rk-site .rk-only-mobile { display: none !important; } }

/* ---------- Buttons ---------- */
body.rk-site .rk-btn, html body.rk-site .btn-primary {
  display: inline-flex; align-items: center; justify-content: center; gap: .5rem; min-height: 48px; padding: 0 1.75rem;
  background: #000 !important; color: #fff !important; border: 1px solid #000 !important; border-radius: 0 !important;
  font-family: var(--rk-sans); font-size: .8125rem; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; text-decoration: none; cursor: pointer;
  box-shadow: none !important; transition: background .15s;
}
body.rk-site .rk-btn:hover, html body.rk-site .btn-primary:hover { background: #262626 !important; }
html body.rk-site .btn-secondary, html body.rk-site .btn:not(.btn-primary) { border-radius: 0; }
body.rk-site .rk-link { display: inline-flex; align-items: center; min-height: 44px; color: #111; font-size: .8125rem; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; text-decoration: underline; text-underline-offset: 6px; }
body.rk-site .rk-kicker { margin: 0 0 .625rem; font-size: .75rem; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; color: var(--rk-muted); }
body.rk-site .rk-icon-btn { display: inline-flex; align-items: center; justify-content: center; gap: .5rem; min-width: 44px; min-height: 44px; padding: 0 .25rem; background: none; border: 0; color: #111; cursor: pointer; text-decoration: none; }

/* ---------- Announcement + header ---------- */
body.rk-site .rk-announce { background: #000; color: #fff; text-align: center; font-size: .8125rem; letter-spacing: .03em; }
body.rk-site .rk-announce p { margin: 0; padding: .5rem 1rem; }
body.rk-site .rk-announce a { color: #fff; text-decoration: none; display: inline-block; min-height: 24px; line-height: 24px; }
body.rk-site .rk-announce a:hover { text-decoration: underline; }
@media (max-width: 380px) { body.rk-site .rk-announce__more { display: none; } }
body.rk-site .page-header { position: sticky; top: 0; z-index: 40; background: #fff; }
body.rk-site .rk-header { position: relative; background: #fff; border-bottom: 1px solid var(--rk-line); }
body.rk-site .rk-header__bar { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: .5rem; max-width: 90rem; margin: 0 auto; padding: .375rem .5rem; min-height: 3.5rem; }
body.rk-site .rk-header__left { display: flex; align-items: center; gap: .25rem; }
body.rk-site .rk-header__right { display: flex; align-items: center; justify-content: flex-end; gap: .25rem; }
body.rk-site .rk-logo { display: inline-flex; align-items: center; min-height: 44px; }
body.rk-site .rk-logo img { display: block; height: 22px; width: auto; }
@media (min-width: 640px) { body.rk-site .rk-logo img { height: 26px; } }
@media (min-width: 1024px) {
  body.rk-site .rk-header__bar { padding: .75rem 2rem .25rem; min-height: 4.5rem; }
  body.rk-site .rk-logo img { height: 34px; }
}
body.rk-site .rk-search-btn__label, body.rk-site .rk-bag__label { font-size: .75rem; font-weight: 500; letter-spacing: .12em; text-transform: uppercase; }
body.rk-site .rk-bag { position: relative; }
body.rk-site .rk-bag__count { position: absolute; top: 4px; right: 0; min-width: 18px; height: 18px; padding: 0 5px; border-radius: 999px; background: #000; color: #fff; font-size: 11px; line-height: 18px; font-weight: 600; text-align: center; }
@media (min-width: 1024px) { body.rk-site .rk-bag__count { position: static; } }
body.rk-site .rk-nav ul { display: flex; flex-wrap: wrap; justify-content: center; gap: 0 2rem; list-style: none; margin: 0; padding: .25rem 2rem .5rem; }
body.rk-site .rk-nav a { display: inline-flex; align-items: center; min-height: 40px; color: #111; font-size: .75rem; font-weight: 500; letter-spacing: .12em; text-transform: uppercase; text-decoration: none; border-bottom: 1px solid transparent; }
body.rk-site .rk-nav a:hover, body.rk-site .rk-nav a[aria-current="page"] { border-bottom-color: #111; }
body.rk-site .rk-search { position: absolute; left: 0; right: 0; top: 100%; z-index: 30; background: #fff; border-top: 1px solid var(--rk-line); border-bottom: 1px solid var(--rk-line); box-shadow: 0 12px 24px rgba(0,0,0,.06); }
body.rk-site .rk-search form { max-width: 48rem; margin: 0 auto; padding: 1rem; }
body.rk-site .rk-search input[type="search"], body.rk-site .rk-search input[type="text"] { border-radius: 0; border-color: #111; min-height: 48px; font-size: 1rem; }

/* mobile menu */
body.rk-site dialog.rk-mm { margin: 0; padding: 0; border: 0; width: min(88vw, 24rem); max-width: none; height: 100dvh; max-height: none; background: #fff; color: #111; }
body.rk-site dialog.rk-mm::backdrop { background: rgba(0,0,0,.35); }
body.rk-site .rk-mm__panel { display: flex; flex-direction: column; min-height: 100%; }
body.rk-site .rk-mm__top { display: flex; align-items: center; justify-content: space-between; padding: .5rem .5rem .5rem 1.25rem; border-bottom: 1px solid var(--rk-line); }
body.rk-site .rk-mm__top img { height: 20px; width: auto; }
body.rk-site .rk-mm__list, body.rk-site .rk-mm__sub { list-style: none; margin: 0; padding: .5rem 1.25rem; }
body.rk-site .rk-mm__list a { display: flex; align-items: center; justify-content: space-between; min-height: 52px; border-bottom: 1px solid var(--rk-line); color: #111; text-decoration: none; font-family: var(--rk-serif); font-size: 1.25rem; }
body.rk-site .rk-mm__sub { padding-top: 1rem; }
/* Mobile menu top: round rug-type tiles + chips (ported from the Cuckooland menu; RK ink, DM Sans, square chips) */
body.rk-site .rk-mt { padding: 1rem 1.25rem 0; }
body.rk-site .rk-mt__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .875rem .5rem; list-style: none; margin: 0 0 1.25rem; padding: 0; }
body.rk-site .rk-mt__tile { display: flex; flex-direction: column; align-items: center; gap: .375rem; color: var(--rk-ink); text-decoration: none; }
body.rk-site .rk-mt__tile img { display: block; width: 100%; height: auto; aspect-ratio: 1 / 1; object-fit: cover; border-radius: 50%; background: var(--rk-photo); box-shadow: inset 0 0 0 1px rgba(0,0,0,.06); }
body.rk-site .rk-mt__tile span { font-size: .75rem; line-height: 1.2; text-align: center; font-weight: 500; }
body.rk-site .rk-mt__tile:hover span, body.rk-site .rk-mt__tile[aria-current] span { text-decoration: underline; text-underline-offset: 3px; }
body.rk-site .rk-mt__tile:focus-visible { outline: 2px solid var(--rk-ink); outline-offset: 2px; }
body.rk-site .rk-mt__h { margin: 0 0 .5rem; font-size: .6875rem; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--rk-muted); }
body.rk-site .rk-mt__chips { display: flex; flex-wrap: wrap; gap: .5rem; list-style: none; margin: 0 0 1.25rem; padding: 0; }
body.rk-site .rk-mt__chips--scroll { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; margin-inline: -1.25rem; padding: 0 1.25rem .125rem; scroll-padding-inline: 1.25rem; }
body.rk-site .rk-mt__chips--scroll::-webkit-scrollbar { display: none; }
body.rk-site .rk-mt__chips li { flex: none; }
body.rk-site .rk-mt__chip { display: inline-flex; align-items: center; gap: .4rem; min-height: 40px; padding: 0 .875rem; border: 1px solid #c9c9c9; background: #fff; color: var(--rk-ink); font-size: .8125rem; text-decoration: none; white-space: nowrap; }
body.rk-site .rk-mt__chip:hover, body.rk-site .rk-mt__chip:focus-visible, body.rk-site .rk-mt__chip[aria-current] { border-color: var(--rk-ink); }
body.rk-site .rk-mt__dot { width: 14px; height: 14px; border-radius: 50%; box-shadow: inset 0 0 0 1px rgba(0,0,0,.15); flex: none; }
body.rk-site .rk-mt__dot--grey { background: #9a9a98; } body.rk-site .rk-mt__dot--cream { background: #efe8da; } body.rk-site .rk-mt__dot--beige { background: #d6c3a3; }
body.rk-site .rk-mt__dot--green { background: #7d8b6a; } body.rk-site .rk-mt__dot--blue { background: #3d5a80; } body.rk-site .rk-mt__dot--black { background: #222; }
body.rk-site .rk-mt__dot--terracotta { background: #b5583a; } body.rk-site .rk-mt__dot--pink { background: #e3b5b0; }
body.rk-site .rk-mt__dot--multi { background: conic-gradient(#b5583a, #d6b25e, #7d8b6a, #3d5a80, #b5583a); }
body.rk-site .rk-mt__h--list { margin: .25rem 0 0; }
body.rk-site .rk-mt + .rk-mm__list { padding-top: 0; }
body.rk-site .rk-mm__sub a { display: flex; align-items: center; min-height: 44px; color: #111; font-size: .9375rem; text-decoration: none; }
body.rk-site .rk-mm__promise { margin: auto 0 0; padding: 1rem 1.25rem; background: var(--rk-soft); display: flex; align-items: center; gap: .5rem; font-size: .875rem; }

/* ---------- Footer ---------- */
body.rk-site .page-footer, body.rk-site footer.page-footer { background: #000; color: #fff; }
body.rk-site .rk-footer { background: #000; color: #fff; }
body.rk-site .rk-footer a, body.rk-site .rk-footer button { color: #fff; text-decoration: none; }
body.rk-site .rk-footer a:hover, body.rk-site .rk-footer button:hover { text-decoration: underline; }
body.rk-site .rk-footer__inner { max-width: 90rem; margin: 0 auto; padding: 3rem 1.25rem 2rem; display: grid; grid-template-columns: 1fr 1fr; gap: 2rem 1.5rem; }
body.rk-site .rk-footer__brand { grid-column: 1 / -1; }
body.rk-site .rk-footer__brand img { height: 26px; width: auto; }
body.rk-site .rk-footer__tagline { margin: 1rem 0 .75rem; font-family: var(--rk-serif); font-style: italic; font-size: 1.125rem; color: #fff; }
body.rk-site .rk-footer__usp { list-style: none; margin: 0; padding: 0; font-size: .875rem; color: rgba(255,255,255,.82); display: grid; gap: .25rem; }
html:root body.rk-site .rk-footer .rk-footer__h { margin: 0 0 .75rem; font-family: var(--rk-sans) !important; font-size: .75rem !important; font-weight: 600 !important; letter-spacing: .14em !important; text-transform: uppercase; color: #fff; }
body.rk-site .rk-footer__col ul { list-style: none; margin: 0; padding: 0; }
body.rk-site .rk-footer__col a { display: inline-flex; align-items: center; min-height: 32px; font-size: .9375rem; color: rgba(255,255,255,.88); }
body.rk-site .rk-footer__base { max-width: 90rem; margin: 0 auto; padding: 1.25rem 1.25rem 2rem; border-top: 1px solid rgba(255,255,255,.18); display: flex; flex-wrap: wrap; gap: 1rem 2rem; justify-content: space-between; align-items: center; font-size: .8125rem; color: rgba(255,255,255,.75); }
body.rk-site .rk-footer__company { margin: 0; max-width: 52rem; line-height: 1.6; }
body.rk-site .rk-footer__tools { margin: 0; display: flex; align-items: center; gap: 1.25rem; }
body.rk-site .rk-footer__cookie { background: none; border: 0; padding: 0; min-height: 24px; text-decoration: underline; cursor: pointer; font-size: .8125rem; }
body.rk-site .rk-footer__pay { display: inline-flex; gap: .375rem; }
body.rk-site .rk-footer__pay img { height: 24px; width: auto; background: #fff; border-radius: 3px; }
@media (min-width: 900px) {
  body.rk-site .rk-footer__inner { grid-template-columns: 2fr 1fr 1fr 1fr; padding: 4rem 2rem 3rem; }
  body.rk-site .rk-footer__brand { grid-column: auto; }
  body.rk-site .rk-footer__base { padding-inline: 2rem; }
}

/* ---------- Breadcrumbs, titles, messages ---------- */
body.rk-site .breadcrumbs { font-size: .75rem; letter-spacing: .04em; color: var(--rk-muted); }
body.rk-site .breadcrumbs a { color: var(--rk-muted); }
body.rk-site .page-title-wrapper, body.rk-site .page-title { text-align: center; }
body.rk-site .page-title { width: 100%; font-weight: 400 !important; font-size: clamp(2rem, 5vw, 3.5rem) !important; line-height: 1.1 !important; margin: 1rem 0 .5rem; }
body.rk-site .page-title.sr-only { width: 1px; margin: -1px; } /* sr-only titles (checkout) must not get the 100% page-title width: caused 399-414px sideways scroll */
body.rk-site .message { border-radius: 0; }

/* Breadcrumbs: one compact line. Phones show only '‹ Parent' (the BreadcrumbList JSON-LD is separate and untouched); >=768 a one-line trail, current page ellipsised. */
body.rk-site nav.breadcrumbs { background: transparent; box-shadow: none; border: 0; }
body.rk-site nav.breadcrumbs ol.items { flex-wrap: nowrap; white-space: nowrap; overflow: hidden; padding-block: .625rem; row-gap: 0; font-size: .8125rem; line-height: 1.25rem; letter-spacing: .02em; }
body.rk-site nav.breadcrumbs li.item { flex-shrink: 0; min-width: 0; align-items: center; }
body.rk-site nav.breadcrumbs li.item:last-child { flex-shrink: 1; overflow: hidden; }
body.rk-site nav.breadcrumbs li.item:last-child > a, body.rk-site nav.breadcrumbs li.item:last-child > strong { display: block; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
body.rk-site nav.breadcrumbs .separator { padding-inline: .5rem; }
body.rk-site nav.breadcrumbs a:hover { color: var(--rk-ink, #111); text-decoration: underline; }
@media (max-width: 767px) {
  body.rk-site nav.breadcrumbs ol.items { padding-block: 0; }
  body.rk-site nav.breadcrumbs li.item { display: none; }
  body.rk-site nav.breadcrumbs li.item:nth-last-child(2) { display: flex; flex-shrink: 1; overflow: hidden; }
  body.rk-site nav.breadcrumbs li.item:nth-last-child(2) .separator { display: none; }
  body.rk-site nav.breadcrumbs li.item:nth-last-child(2) > a { display: flex; align-items: center; min-height: 40px; min-width: 0; overflow: hidden; text-overflow: ellipsis; }
  body.rk-site nav.breadcrumbs li.item:nth-last-child(2) > a::before { content: '\2039'; content: '\2039' / ''; font-size: 1.25rem; line-height: 1; margin-right: .375rem; position: relative; top: -1px; }
  body.rk-site nav.breadcrumbs ol.items:has(> li.item:only-child) { display: none; }
}

/* Add-to-bag success/notice ('You added…', 'already in your bag…') hidden on shopping pages: the bag drawer opens instead (Ashley, 23:09). Errors and warnings still show. */
body.rk-site:is(.catalog-product-view, .catalog-category-view, .catalogsearch-result-index, .cms-index-index, .cms-page-view) .page.messages .message:is(.success, .notice) { display: none !important; }

/* Page messages: slim toast in site style, overlaid (no push-down / CLS). Success + notice fade after 7s; errors and warnings stay until closed. Checkout keeps its own messages. */
body.rk-site:not(.hyva_checkout-index-index) .page.messages { position: fixed; top: .5rem; left: .75rem; right: .75rem; z-index: 60; height: 0; overflow: visible; pointer-events: none; }
body.rk-site:not(.hyva_checkout-index-index) .page.messages .messages { padding: 0 !important; max-width: none; }
body.rk-site .message { background: #fff; color: var(--rk-ink, #111); border: 1px solid var(--rk-line, #e6e6e6) !important; border-left: 3px solid var(--rk-ink, #111) !important; box-shadow: 0 6px 24px rgba(0,0,0,.12); font-weight: 400; font-size: .875rem; line-height: 1.35; padding: .5rem .5rem .5rem .875rem; margin-bottom: .375rem; gap: .5rem; }
body.rk-site .message.success { border-left-color: #2e7d4f !important; background: #fff; }
body.rk-site .message.info, body.rk-site .message.notice { border-left-color: var(--rk-ink, #111) !important; background: #fff; }
body.rk-site .message.warning { border-left-color: #b7791f !important; background: #fff; }
body.rk-site .message.error { border-left-color: #b42318 !important; background: #fff; }
body.rk-site .message a { font-weight: 500; white-space: nowrap; }
body.rk-site .message button { flex-shrink: 0; display: inline-flex; align-items: center; justify-content: center; width: 32px; height: 32px; }
body.rk-site:not(.hyva_checkout-index-index) .page.messages .message { pointer-events: auto; }
body.rk-site:not(.hyva_checkout-index-index) .page.messages .message.success, body.rk-site:not(.hyva_checkout-index-index) .page.messages .message.notice, body.rk-site:not(.hyva_checkout-index-index) .page.messages .message.info { animation: rkToastIn .25s ease-out, rkToastOut .4s ease-in 7s forwards; }
@keyframes rkToastIn { from { opacity: 0; transform: translateY(-6px); } to { opacity: 1; transform: none; } }
@keyframes rkToastOut { to { opacity: 0; visibility: hidden; transform: translateY(-6px); } }
@media (prefers-reduced-motion: reduce) { body.rk-site:not(.hyva_checkout-index-index) .page.messages .message.success, body.rk-site:not(.hyva_checkout-index-index) .page.messages .message.notice, body.rk-site:not(.hyva_checkout-index-index) .page.messages .message.info { animation: rkToastOut .01s linear 7s forwards; } }
@media (min-width: 768px) { body.rk-site:not(.hyva_checkout-index-index) .page.messages { left: auto; right: 1rem; top: 1rem; width: 26rem; } }

/* ---------- Home ---------- */
body.rk-site.cms-index-index .page-main, body.rk-site.cms-index-index .columns, body.rk-site.cms-index-index .column.main { max-width: none !important; width: 100% !important; padding: 0 !important; margin: 0 !important; }
body.rk-site .rk-home { overflow: hidden; }
body.rk-site .rk-hero { display: grid; grid-template-columns: 1fr; background: var(--rk-soft); }
body.rk-site .rk-hero__media { background: var(--rk-photo); }
body.rk-site .rk-hero__media img { display: block; width: 100%; height: min(70vh, 34rem); object-fit: cover; }
body.rk-site .rk-hero__copy { padding: 2rem 1.25rem 2.5rem; text-align: center; }
body.rk-site .rk-hero__title { font-size: clamp(2.25rem, 7vw, 4.25rem) !important; line-height: 1.05 !important; margin: 0 0 1rem; font-style: italic; }
body.rk-site .rk-hero__lead { margin: 0 auto 1.75rem; max-width: 30rem; color: var(--rk-muted); font-size: 1.0625rem; line-height: 1.6; }
body.rk-site .rk-hero__ctas { display: flex; flex-wrap: wrap; gap: 1rem 1.75rem; justify-content: center; align-items: center; }
@media (min-width: 900px) {
  body.rk-site .rk-hero { grid-template-columns: 1fr 1fr; align-items: center; }
  body.rk-site .rk-hero__media img { height: 44rem; max-height: 82vh; }
  body.rk-site .rk-hero__copy { text-align: left; padding: 3rem 4rem; max-width: 38rem; }
  body.rk-site .rk-hero__lead { margin-left: 0; }
  body.rk-site .rk-hero__ctas { justify-content: flex-start; }
}
body.rk-site .rk-strip { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; list-style: none; margin: 0; padding: 1.25rem; border-bottom: 1px solid var(--rk-line); font-size: .8125rem; text-align: center; }
body.rk-site .rk-strip strong { display: block; font-weight: 600; letter-spacing: .04em; }
body.rk-site .rk-strip span { color: var(--rk-muted); }
@media (min-width: 900px) { body.rk-site .rk-strip { grid-template-columns: repeat(4, 1fr); padding: 1.5rem 2rem; } }
body.rk-site .rk-section { max-width: 90rem; margin: 0 auto; padding: 3rem 1.25rem; }
@media (min-width: 900px) { body.rk-site .rk-section { padding: 4.5rem 2rem; } }
body.rk-site .rk-section__head { display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; margin-bottom: 1.5rem; }
body.rk-site .rk-h2 { font-size: clamp(1.75rem, 4vw, 2.5rem) !important; line-height: 1.15 !important; margin: 0; }
body.rk-site .rk-tiles { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1rem .75rem; list-style: none; margin: 0; padding: 0; }
@media (min-width: 900px) { body.rk-site .rk-tiles { grid-template-columns: repeat(4, 1fr); gap: 2rem 1.5rem; } }
body.rk-site .rk-tile { display: block; color: #111; text-decoration: none; }
body.rk-site .rk-tile__img { display: block; overflow: hidden; background: var(--rk-photo); aspect-ratio: 4 / 5; }
body.rk-site .rk-tile__img img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .6s ease; }
body.rk-site .rk-tile:hover img { transform: scale(1.04); }
body.rk-site .rk-tile__label { display: block; margin-top: .75rem; font-family: var(--rk-serif); font-size: 1.25rem; }
body.rk-site .rk-cards { display: grid; grid-template-columns: repeat(2, 1fr); gap: 2rem 1rem; list-style: none; margin: 0; padding: 0; }
@media (min-width: 900px) { body.rk-site .rk-cards { grid-template-columns: repeat(4, 1fr); gap: 2.5rem 1.5rem; } }
body.rk-site .rk-card a { display: flex; flex-direction: column; gap: .25rem; color: #111; text-decoration: none; }
body.rk-site .rk-card__img { display: block; aspect-ratio: 1 / 1; background: var(--rk-photo); overflow: hidden; margin-bottom: .5rem; }
body.rk-site .rk-card__img img { width: 100%; height: 100%; object-fit: contain; display: block; mix-blend-mode: multiply; transition: transform .5s ease; }
body.rk-site .rk-card a:hover .rk-card__img img { transform: scale(1.03); }
body.rk-site .rk-card__brand { font-size: .6875rem; letter-spacing: .14em; text-transform: uppercase; color: var(--rk-muted); }
body.rk-site .rk-card__name { font-size: .9375rem; line-height: 1.4; }
body.rk-site .rk-card__price { font-size: .9375rem; font-weight: 500; }
body.rk-site .rk-band { background: var(--rk-soft); }
body.rk-site .rk-band__inner { max-width: 90rem; margin: 0 auto; padding: 3.5rem 1.25rem; text-align: center; }
body.rk-site .rk-band__lead { max-width: 36rem; margin: 1rem auto 2rem; color: var(--rk-muted); line-height: 1.6; }
body.rk-site .rk-sizes { display: grid; grid-template-columns: repeat(2, 1fr); gap: .75rem; list-style: none; margin: 0 0 1.5rem; padding: 0; }
@media (min-width: 900px) { body.rk-site .rk-sizes { grid-template-columns: repeat(4, 1fr); gap: 1.25rem; } body.rk-site .rk-band__inner { padding: 5rem 2rem; } }
body.rk-site .rk-sizes a { display: flex; flex-direction: column; align-items: center; gap: .25rem; height: 100%; padding: 1.5rem 1rem; background: #fff; color: #111; text-decoration: none; border: 1px solid transparent; transition: border-color .15s; }
body.rk-site .rk-sizes a:hover { border-color: #111; }
body.rk-site .rk-sizes__shape { display: block; border: 1.5px solid #111; margin-bottom: .75rem; background: repeating-linear-gradient(45deg, transparent 0 5px, rgba(0,0,0,.06) 5px 6px); }
body.rk-site .rk-sizes__shape--runner { width: 22px; height: 64px; }
body.rk-site .rk-sizes__shape--small { width: 40px; height: 56px; }
body.rk-site .rk-sizes__shape--medium { width: 48px; height: 68px; }
body.rk-site .rk-sizes__shape--large { width: 56px; height: 80px; }
body.rk-site .rk-sizes strong { font-family: var(--rk-serif); font-weight: 400; font-size: 1.25rem; }
body.rk-site .rk-sizes__dim { font-size: .875rem; font-weight: 600; }
body.rk-site .rk-sizes__use { font-size: .8125rem; color: var(--rk-muted); line-height: 1.45; }
body.rk-site .rk-rooms { display: grid; grid-template-columns: repeat(2, 1fr); gap: .75rem; list-style: none; margin: 0; padding: 0; }
@media (min-width: 900px) { body.rk-site .rk-rooms { grid-template-columns: repeat(6, 1fr); } }
body.rk-site .rk-rooms a { display: flex; align-items: center; justify-content: center; min-height: 64px; padding: .75rem; border: 1px solid #111; color: #111; text-decoration: none; font-size: .8125rem; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; text-align: center; transition: background .15s, color .15s; }
body.rk-site .rk-rooms a:hover { background: #111; color: #fff; }
body.rk-site .rk-makers { text-align: center; padding: 3rem 1.25rem 4rem; border-top: 1px solid var(--rk-line); }
body.rk-site .rk-makers p { margin: 1rem auto 0; max-width: 48rem; color: var(--rk-muted); letter-spacing: .06em; line-height: 1.8; }

/* ---------- PLP ---------- */
body.rk-site.catalog-category-view .columns, body.rk-site.catalogsearch-result-index .columns { display: block !important; }
body.rk-site.catalog-category-view .sidebar, body.rk-site.catalog-category-view .sidebar-main, body.rk-site.catalogsearch-result-index .sidebar { display: none !important; }
body.rk-site.catalog-category-view .column.main, body.rk-site.catalogsearch-result-index .column.main { width: 100% !important; max-width: none; }
body.rk-site .category-description { max-width: 40rem; margin: 0 auto 1rem; text-align: center; color: var(--rk-muted); line-height: 1.6; }
body.rk-site .el-plp-meta { text-align: center; }
body.rk-site .el-plp-count { text-align: center; margin: 0 0 1rem; font-size: .8125rem; letter-spacing: .08em; text-transform: uppercase; color: var(--rk-muted); }
body.rk-site .rk-colours { display: flex; gap: 1.25rem; overflow-x: auto; scrollbar-width: none; list-style: none; margin: 0 0 1rem; padding: .25rem 0 .5rem; justify-content: flex-start; }
body.rk-site .rk-colours::-webkit-scrollbar { display: none; }
@media (min-width: 1024px) { body.rk-site .rk-colours { justify-content: center; flex-wrap: wrap; } }
body.rk-site .rk-colours a { display: flex; flex-direction: column; align-items: center; gap: .375rem; min-width: 4.5rem; color: #111; text-decoration: none; font-size: .75rem; text-align: center; line-height: 1.25; }
body.rk-site .rk-dot { display: inline-block; width: 12px; height: 12px; border-radius: 999px; background: var(--rk-dot); box-shadow: inset 0 0 0 1px rgba(0,0,0,.18); vertical-align: -1px; margin-right: .375rem; }
body.rk-site .rk-dot--lg { width: 36px; height: 36px; margin: 0; }
body.rk-site .rk-colours a:hover .rk-dot--lg { box-shadow: inset 0 0 0 1px rgba(0,0,0,.18), 0 0 0 2px #fff, 0 0 0 3px #111; }
body.rk-site .dn-quick__label { display: inline-flex; align-items: center; gap: .375rem; min-height: 40px; padding: 0 .25rem; font-size: .75rem; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; white-space: nowrap; }
body.rk-site .dn-quick__n { color: var(--rk-muted); }
body.rk-site .dn-quick { justify-content: center; }
body.rk-site .toolbar-products { font-size: .8125rem; }
body.rk-site .toolbar-products select { border-radius: 0; }
html body.rk-site .product-item .el-plp-photo { background: var(--rk-photo) !important; aspect-ratio: 1 / 1 !important; }
body.rk-site .el-card-brand { margin: 0 0 .125rem; font-size: .6875rem; letter-spacing: .14em; text-transform: uppercase; color: var(--rk-muted); }
body.rk-site .rk-card-sizes { margin: .125rem 0 0; font-size: .8125rem; color: var(--rk-muted); }
body.rk-site .price-label { font-size: .8125rem; color: var(--rk-muted); font-weight: 400; }
body.rk-site .el-plp-empty { text-align: center; padding: 3rem 1rem; }
body.rk-site .el-plp-empty__actions { display: flex; flex-wrap: wrap; gap: .75rem; justify-content: center; margin-top: 1rem; }

/* ---------- PDP ---------- */
body.rk-site .rk-pdp { display: grid; grid-template-columns: 1fr; gap: 1.5rem; padding: 0 0 2rem; }
@media (min-width: 768px) and (max-width: 1023px) { body.rk-site .rk-pdp { grid-template-columns: minmax(0, 58%) minmax(0, 1fr); gap: 2rem; padding-top: 1rem; align-items: start; } body.rk-site .rk-pdp__media { position: sticky; top: 7.5rem; grid-row: 1 / 3; } }
/* P0-3 desktop: gallery 7/12 (≈790 px at 1440) + details below it; buy box 5/12, sticky */
@media (min-width: 1024px) {
  body.rk-site .rk-pdp { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); grid-template-rows: auto 1fr; column-gap: 3rem; row-gap: 2.5rem; padding-top: 1rem; }
  body.rk-site .rk-pdp__media { grid-column: 1; grid-row: 1; }
  body.rk-site .rk-pdp__details { grid-column: 1; grid-row: 2; }
  body.rk-site .rk-pdp__info { grid-column: 2; grid-row: 1 / 3; }
  body.rk-site .rk-pdp__info > .product-info-main { position: sticky; top: 8.5rem; }
}
@media (min-width: 1280px) { body.rk-site .rk-pdp { column-gap: 4rem; } }
body.rk-site .rk-buy__maker { margin-bottom: .5rem; }
body.rk-site .rk-buy__title { margin: 0; font-size: clamp(1.75rem, 3.2vw, 2.5rem) !important; line-height: 1.15 !important; }
body.rk-site .rk-buy__price { display: flex; align-items: baseline; gap: .5rem; margin-top: 1rem; font-size: 1.375rem; }
body.rk-site .rk-buy__price .price { font-size: 1.375rem; font-weight: 500; }
body.rk-site .rk-buy__from { font-size: .875rem; color: var(--rk-muted); }
body.rk-site .rk-buy__price .old-price .price { font-size: 1rem; color: var(--rk-muted); }
body.rk-site .rk-buy__tax { margin: .25rem 0 0; font-size: .8125rem; color: var(--rk-muted); }
body.rk-site .rk-buy__options { margin-top: 1.75rem; }
/* size picker: stacked full-width rows on mobile, 2 equal columns on desktop. cm + ft/in inside the card, price right, tick when selected */
html body.rk-site .dn-opt--size .dn-opt__list { display: grid; grid-template-columns: 1fr; gap: .5rem; }
@media (min-width: 1024px) { html body.rk-site .dn-opt--size .dn-opt__list { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-auto-rows: 1fr; } }
html body.rk-site .dn-opt--size .dn-pill {
  display: grid; grid-template-columns: 1.25rem minmax(0, 1fr) auto; grid-template-areas: "tick label price" "tick sub price";
  align-items: center; column-gap: .75rem; row-gap: .125rem; width: 100%; height: auto; min-height: 3.5rem; padding: .625rem 1rem;
  text-align: left; border: 1px solid #d4d4d4; border-radius: 0; background: #fff; color: #111; cursor: pointer;
  transition: border-color .12s, box-shadow .12s;
}
html body.rk-site .dn-opt--size .dn-pill::before {
  content: ""; grid-area: tick; width: 1.25rem; height: 1.25rem; border: 1px solid #9a9a9a; border-radius: 50%; background: #fff center / .75rem no-repeat;
}
html body.rk-site .dn-opt--size .dn-pill:hover { border-color: #111; }
html body.rk-site .dn-opt--size .dn-pill.is-selected { background: #fff; color: #111; border-color: #111; box-shadow: inset 0 0 0 1px #111; }
html body.rk-site .dn-opt--size .dn-pill.is-selected::before {
  border-color: #111; background-color: #111;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2.5 6.2l2.3 2.3 4.7-4.9' fill='none' stroke='%23fff' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}
html body.rk-site .dn-opt--size .dn-pill__label { grid-area: label; font-size: .9375rem; font-weight: 500; white-space: nowrap; line-height: 1.3; }
html body.rk-site .dn-opt--size .dn-pill__sub { grid-area: sub; font-size: .75rem; color: var(--rk-muted); white-space: nowrap; line-height: 1.3; }
html body.rk-site .dn-opt--size .dn-pill__price { grid-area: price; font-size: .9375rem; font-variant-numeric: tabular-nums; white-space: nowrap; text-align: right; }
html body.rk-site .dn-opt--size .dn-pill:not(:has(.dn-pill__sub)) { grid-template-areas: "tick label price"; }
html body.rk-site .dn-opt--size .dn-pill.is-disabled { color: #8a8a8a; background: #fafafa; border-style: dashed; cursor: not-allowed; }
html body.rk-site .dn-opt--size .dn-pill.is-disabled .dn-pill__label { text-decoration: line-through; }
html body.rk-site .dn-opt--size .dn-pill.is-disabled::before { opacity: .4; }
body.rk-site .rk-buy__atc { margin-top: .5rem; }
body.rk-site .rk-buy__atc #product-addtocart-button { width: 100%; min-height: 56px; font-size: .875rem; }
body.rk-site .rk-buy__atc #product-addtocart-button.is-added { background: #2f5d46 !important; border-color: #2f5d46 !important; }
body.rk-site .rk-buy__express { margin-top: .75rem; }
body.rk-site .rk-buy__ship { display: flex; gap: .75rem; align-items: flex-start; margin: 1rem 0 0; padding: .875rem 1rem; background: var(--rk-soft); font-size: .875rem; line-height: 1.5; }
body.rk-site .rk-buy__ship svg { flex: none; margin-top: 2px; }
body.rk-site .rk-buy__ship strong { display: block; font-weight: 600; }
body.rk-site .rk-buy__oos { margin: 1rem 0 0; padding: .875rem 1rem; border: 1px solid var(--rk-line); font-size: .9375rem; }
body.rk-site .rk-buy__promise { list-style: none; margin: 1rem 0 0; padding: 0; display: grid; gap: .25rem; font-size: .875rem; }
body.rk-site .rk-buy__promise li { display: flex; align-items: center; gap: .75rem; min-height: 32px; }
body.rk-site .rk-buy__promise a { color: #111; text-decoration: underline; }
body.rk-site .rk-acc-group { margin-top: 2rem; border-top: 1px solid var(--rk-line); }
body.rk-site .rk-acc { border-bottom: 1px solid var(--rk-line); }
body.rk-site .rk-acc summary { display: flex; align-items: center; justify-content: space-between; min-height: 56px; cursor: pointer; list-style: none; font-family: var(--rk-serif); font-size: 1.1875rem; }
body.rk-site .rk-acc summary::-webkit-details-marker { display: none; }
body.rk-site .rk-acc summary::after { content: "+"; font-family: var(--rk-sans); font-size: 1.375rem; font-weight: 300; }
body.rk-site .rk-acc[open] summary::after { content: "\2013"; }
body.rk-site .rk-acc__body { padding: 0 0 1.5rem; font-size: .9375rem; line-height: 1.75; color: #222; }
body.rk-site .rk-prose p { margin: 0 0 .875rem; }
body.rk-site .rk-prose a { color: #111; text-decoration: underline; }
body.rk-site .rk-specs { width: 100%; border-collapse: collapse; font-size: .875rem; }
body.rk-site .rk-specs th, body.rk-site .rk-specs td { padding: .625rem 0; border-bottom: 1px solid var(--rk-line); text-align: left; vertical-align: top; }
body.rk-site .rk-specs th { width: 38%; padding-right: 1rem; font-weight: 500; color: var(--rk-muted); }
body.rk-site .rk-specs thead th { color: #111; font-weight: 600; }
body.rk-site .rk-dialog { width: min(40rem, calc(100vw - 2rem)); max-height: 88dvh; padding: 0; border: 0; background: #fff; color: #111; }
body.rk-site .rk-dialog::backdrop { background: rgba(0,0,0,.4); }
body.rk-site .rk-dialog__head { position: sticky; top: 0; display: flex; align-items: center; justify-content: space-between; padding: .75rem .75rem .75rem 1.5rem; background: #fff; border-bottom: 1px solid var(--rk-line); }
body.rk-site .rk-dialog__head h2 { margin: 0; font-size: 1.5rem; }
body.rk-site .rk-dialog__body { padding: 1.25rem 1.5rem 1.5rem; font-size: .9375rem; line-height: 1.65; }
body.rk-site .rk-dialog__body .rk-specs th { width: auto; }
body.rk-site .rk-sticky { position: fixed; left: 0; right: 0; bottom: 0; z-index: 35; background: #fff; border-top: 1px solid var(--rk-line); box-shadow: 0 -6px 20px rgba(0,0,0,.06); transform: translateY(110%); transition: transform .25s ease; }
body.rk-site .rk-sticky.is-on { transform: translateY(0); }
body.rk-site .rk-sticky__inner { display: flex; align-items: center; gap: 1rem; max-width: 90rem; margin: 0 auto; padding: .625rem 1rem calc(.625rem + env(safe-area-inset-bottom, 0px)); }
body.rk-site .rk-sticky__meta { display: none; flex: 1; min-width: 0; }
@media (min-width: 640px) { body.rk-site .rk-sticky__meta { display: block; } }
body.rk-site .rk-sticky__name { margin: 0; font-family: var(--rk-serif); font-size: 1.125rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
body.rk-site .rk-sticky__sum { margin: 0; font-size: .75rem; color: var(--rk-muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
body.rk-site .rk-sticky__price { margin: 0; font-size: 1.0625rem; font-variant-numeric: tabular-nums; white-space: nowrap; }
body.rk-site .rk-sticky__btn { flex: 1; }
@media (min-width: 640px) { body.rk-site .rk-sticky__btn { flex: none; min-width: 14rem; } }
body.rk-site .rk-more { border-top: 1px solid var(--rk-line); }

/* ---------- Bag drawer extras ---------- */
html body.rk-site #cart-drawer .rk-drawer-free dd { font-weight: 600; }

/* ---------- CMS pages ---------- */
body.rk-site.cms-page-view .column.main { max-width: 46rem; margin-inline: auto; line-height: 1.75; font-size: 1rem; padding-bottom: 3rem; }
body.rk-site.cms-page-view .column.main h2 { font-size: 1.625rem !important; margin: 2.25rem 0 .75rem; }
body.rk-site.cms-page-view .column.main h3 { font-size: 1.25rem !important; margin: 1.5rem 0 .5rem; }
body.rk-site.cms-page-view .column.main p, body.rk-site.cms-page-view .column.main li { color: #222; }
body.rk-site.cms-page-view .column.main ul { list-style: disc; padding-left: 1.25rem; margin: 0 0 1rem; }
body.rk-site.cms-page-view .column.main table { width: 100%; border-collapse: collapse; margin: 1rem 0 1.5rem; font-size: .9375rem; }
body.rk-site.cms-page-view .column.main th, body.rk-site.cms-page-view .column.main td { border-bottom: 1px solid var(--rk-line); padding: .625rem .5rem; text-align: left; vertical-align: top; }
body.rk-site.cms-page-view .column.main a { color: #111; text-decoration: underline; }
body.rk-site .rk-lead { font-size: 1.125rem; color: var(--rk-muted); text-align: center; margin: 0 auto 2rem; max-width: 36rem; }
body.rk-site .rk-callout { background: var(--rk-soft); padding: 1.25rem 1.5rem; margin: 1.5rem 0; }

/* ---------- Cookie notice: quiet white bottom bar ---------- */
body.rk-site #el-cookie-bar { position: fixed; inset-inline: 0; bottom: 0; z-index: 60; background: #fff; color: #111; border-top: 1px solid #111; box-shadow: 0 -8px 24px rgba(0,0,0,.08); }
body.rk-site #el-cookie-bar .el-cookie-bar__inner { max-width: 90rem; margin-inline: auto; display: flex; flex-wrap: wrap; align-items: center; gap: .75rem 1.5rem; padding: .875rem 1.25rem calc(.875rem + env(safe-area-inset-bottom, 0px)); }
body.rk-site #el-cookie-bar .el-cookie-bar__copy { flex: 1 1 28rem; font-size: .8125rem; line-height: 1.5; color: #333; }
body.rk-site #el-cookie-bar .el-cookie-bar__title { display: inline; margin: 0 .4rem 0 0; font-family: var(--rk-serif); font-size: 1.0625rem; color: #111; }
body.rk-site #el-cookie-bar .el-cookie-bar__text { display: inline; margin: 0; }
body.rk-site #el-cookie-bar .el-cookie-bar__link { color: #111; text-decoration: underline; }
body.rk-site #el-cookie-bar .el-cookie-bar__short { display: none; }
body.rk-site #el-cookie-bar .el-cookie-bar__actions { display: flex; gap: .5rem; flex: 0 0 auto; }
body.rk-site #el-cookie-bar .el-cookie-btn { min-height: 44px; padding: .5rem 1.25rem; font-size: .75rem; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; border: 1px solid #111; border-radius: 0; cursor: pointer; }
body.rk-site #el-cookie-bar .el-cookie-btn--reject { background: #fff; color: #111; }
body.rk-site #el-cookie-bar .el-cookie-btn--accept { background: #000; color: #fff; }
@media (max-width: 767px) {
  body.rk-site #el-cookie-bar .el-cookie-bar__long { display: none; }
  body.rk-site #el-cookie-bar .el-cookie-bar__short { display: inline; }
  body.rk-site #el-cookie-bar .el-cookie-bar__copy { flex: 1 1 100%; max-height: none; -webkit-mask-image: none; mask-image: none; }
  body.rk-site #el-cookie-bar .el-cookie-bar__actions { width: 100%; }
  body.rk-site #el-cookie-bar .el-cookie-btn { flex: 1; }
}
body.rk-site:has(#el-cookie-bar:not([style*="display: none"])) .rk-sticky { display: none; }

/* square filter buttons (DENISA uses pills; Rug Kingdom is square throughout) */
html body.rk-site .dn-quick__btn, html body.rk-site .dn-quick__chip, html body.rk-site .dn-quick__all, html body.rk-site .dn-quick__active, html body.rk-site .dn-quick__clear { border-radius: 0 !important; }
html body.rk-site .dn-quick__panel { border-radius: 0 !important; }
body.rk-site .toolbar-products .sorter-options, body.rk-site .toolbar-products select { border-radius: 0 !important; border-color: #d4d4d4; }

/* ---------- PLP cards (UX-DEEP-RESEARCH 3.2): 2:3 portrait, trimmed card files, tight gutters ---------- */
html body.rk-site .products-grid > ul { column-gap: .5rem; row-gap: 1.75rem; padding-top: .5rem; }
@media (min-width: 768px) { html body.rk-site .products-grid > ul { column-gap: .75rem; row-gap: 2.5rem; } }
@media (min-width: 1024px) { html body.rk-site .products-grid > ul { column-gap: 1rem; row-gap: 3rem; } }
html body.rk-site .product-item .el-plp-photo { aspect-ratio: 2 / 3 !important; background: #f7f6f4 !important; margin-bottom: .625rem !important; }
html body.rk-site .product-item .el-plp-photo img { object-fit: cover !important; object-position: 50% 70%; }
@media (max-width: 767px) {
  html body.rk-site.catalog-category-view .page-main, html body.rk-site.catalogsearch-result-index .page-main { padding-inline: .75rem !important; }
  html body.rk-site.catalog-category-view .columns, html body.rk-site.catalogsearch-result-index .columns { padding-inline: 0 !important; }
}
html body.rk-site .product-item .product-item-link, html body.rk-site .product-item .product-name { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; font-size: .875rem; }
/* home: bigger style tiles (2 / 3 columns) and product cards (2 / 3) */
@media (min-width: 900px) {
  body.rk-site .rk-tiles { grid-template-columns: repeat(4, 1fr); gap: 2.5rem 1.5rem; }
  body.rk-site .rk-section { max-width: 100rem; }
  body.rk-site .rk-cards { grid-template-columns: repeat(3, 1fr); gap: 3rem 1.75rem; }
}
body.rk-site .rk-card__img { aspect-ratio: 2 / 3; }
body.rk-site .rk-card__img img { object-fit: cover; mix-blend-mode: normal; }
/* PDP: bigger stage */

/* PLP mobile: the sticky filter bar bleeds to the .75rem page padding exactly (was -1rem → 4 px sideways scroll at 390) */
@media (max-width: 767px) { html body.rk-site.catalog-category-view .dn-quick, html body.rk-site.catalogsearch-result-index .dn-quick { margin-inline: -.75rem; padding-inline: .75rem; } }
/* P0-8 search empty state */
body.rk-site .rk-noresults { max-width: 42rem; margin: 1.5rem auto 4rem; text-align: center; }
body.rk-site .rk-noresults__lead { font-family: var(--rk-serif); font-size: 1.5rem; margin: 0 0 .5rem; }
body.rk-site .rk-noresults__hint { color: var(--rk-muted); margin: 0 0 2rem; }
body.rk-site .rk-noresults__h { font-size: .75rem; letter-spacing: .14em; text-transform: uppercase; margin: 1.75rem 0 .75rem; }
body.rk-site .rk-noresults__links { display: flex; flex-wrap: wrap; justify-content: center; gap: .5rem; list-style: none; padding: 0; margin: 0; }
body.rk-site .rk-noresults__links a { display: inline-flex; align-items: center; min-height: 44px; padding: 0 1rem; border: 1px solid var(--rk-line); color: var(--rk-ink); text-decoration: none; font-size: .875rem; }
body.rk-site .rk-noresults__links a:hover { border-color: var(--rk-ink); }
/* P1-5 key spec row (under the ATC) */
body.rk-site .rk-keyspecs { display: grid; grid-template-columns: 1fr 1fr; gap: 0; margin: 1.25rem 0 0; border-top: 1px solid var(--rk-line); }
body.rk-site .rk-keyspecs > div { padding: .7rem .75rem .7rem 0; border-bottom: 1px solid var(--rk-line); min-width: 0; }
body.rk-site .rk-keyspecs dt { font-size: .6875rem; letter-spacing: .12em; text-transform: uppercase; color: var(--rk-muted); margin: 0 0 .15rem; }
body.rk-site .rk-keyspecs dd { margin: 0; font-size: .875rem; color: var(--rk-ink); }
/* P1-3: the sticky add-to-bag bar is a mobile/tablet aid; desktop has the sticky buy box */
@media (min-width: 1024px) { body.rk-site .rk-sticky { display: none !important; } }
/* P1-1 phone card swipe (up to 3 photos, dots); desktop keeps the hover cross-fade */
html body.rk-site .product-item .el-plp-photo { position: relative; overflow: hidden; }
@media (max-width: 767px) {
  html body.rk-site .product-item .rk-swipe { display: flex; width: 100%; height: 100%; overflow-x: auto; overflow-y: hidden; scroll-snap-type: x mandatory; scrollbar-width: none; overscroll-behavior-x: contain; }
  html body.rk-site .product-item .rk-swipe::-webkit-scrollbar { display: none; }
  html body.rk-site .product-item .rk-swipe > img { flex: 0 0 100%; width: 100% !important; height: 100% !important; scroll-snap-align: start; scroll-snap-stop: always; object-fit: cover; background: #f7f6f4; }
  html body.rk-site .product-item .el-plp-photo > span.rk-swipe__dots { position: absolute; left: 0; right: 0; bottom: .5rem; top: auto; width: auto; height: auto; align-items: center; display: flex; justify-content: center; gap: 5px; pointer-events: none; }
  html body.rk-site .product-item .rk-swipe__dot { width: 6px; height: 6px; border-radius: 50%; background: rgba(255,255,255,.9); box-shadow: 0 0 0 1px rgba(17,17,17,.3); }
  html body.rk-site .product-item .rk-swipe__dot.is-on { background: #111; }
  html body.rk-site .product-item .el-plp-photo > picture.dn-card__altpic { display: none; }
}
@media (min-width: 768px) { html body.rk-site .product-item .rk-swipe { display: contents; } html body.rk-site .product-item .rk-swipe__img, html body.rk-site .product-item .el-plp-photo > span.rk-swipe__dots { display: none; } }
/* P1-2 grid view toggle */
body.rk-site .rk-view { display: flex; align-items: center; justify-content: flex-end; gap: .25rem; margin: .25rem 0 0; }
body.rk-site .rk-view__label { font-size: .6875rem; letter-spacing: .12em; text-transform: uppercase; color: var(--rk-muted); margin-right: .25rem; }
body.rk-site .rk-view__btn { display: inline-flex; align-items: center; justify-content: center; min-width: 44px; height: 44px; padding: 0 .5rem; border: 0; background: none; color: #9a9a9a; cursor: pointer; }
body.rk-site .rk-view__btn[aria-pressed="true"] { color: var(--rk-ink); }
body.rk-site .rk-view__btn:focus-visible { outline: 2px solid var(--rk-ink); outline-offset: -2px; }
@media (min-width: 768px) { body.rk-site .rk-view__btn--m { display: none; } }
@media (max-width: 767px) { body.rk-site .rk-view__btn--d { display: none; } html[data-rk-cols-m="1"] body.rk-site .products-grid > ul { grid-template-columns: minmax(0, 1fr) !important; } }
@media (max-width: 1279px) { body.rk-site .rk-view__btn--d { display: none; } }
@media (min-width: 1280px) { html[data-rk-cols-d="3"] body.rk-site .products-grid > ul { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; } }

/* ===== PLP-CRO 3 Oct 2026 (category + search lists): compact head, one sticky Filter/Sort/count/view bar, Filter & sort drawer,
   smaller padded colour row, quick-add + on the photo corner, load more. Markup: Magento_Catalog/templates/product/list.phtml ===== */
body.rk-site:is(.catalog-category-view, .catalogsearch-result-index) .page-title-wrapper,
body.rk-site:is(.catalog-category-view, .catalogsearch-result-index) .page-title { text-align: left; }
html body.rk-site:is(.catalog-category-view, .catalogsearch-result-index) h1.page-title { font-size: 1.75rem !important; line-height: 1.15 !important; margin: 0 0 .25rem !important; }
@media (max-width: 767px) {
  html body.rk-site:is(.catalog-category-view, .catalogsearch-result-index) .page-main > .container:has(> h1.page-title),
  html body.rk-site.catalog-category-view .page-main > .category-view { padding-inline: 0 !important; }
}
@media (min-width: 1024px) { html body.rk-site:is(.catalog-category-view, .catalogsearch-result-index) h1.page-title { font-size: 2.5rem !important; margin: .75rem 0 .5rem !important; } }
html body.rk-site.catalog-category-view .category-description { position: relative; max-width: 46rem; margin: 0 0 .5rem; text-align: left; font-size: .875rem; line-height: 1.5; color: var(--rk-muted); max-height: 3em; overflow: hidden; }
html body.rk-site.catalog-category-view .category-description.is-open { max-height: none; overflow: visible; padding-bottom: 1.5rem; }
html body.rk-site.catalog-category-view .category-description :is([data-element="inner"], [data-content-type], [data-element="main"]) { padding: 0 !important; margin: 0 !important; min-height: 0 !important; }
html body.rk-site.catalog-category-view .category-description p { margin: 0; }
body.rk-site .rk-desc-more { position: absolute; right: 0; bottom: 0; padding: 0 0 0 2.5rem; border: 0; font: inherit; font-weight: 600; color: var(--rk-ink); text-decoration: underline; text-underline-offset: 3px; cursor: pointer;
  background: linear-gradient(90deg, rgba(255,255,255,0), #fff 2rem); min-height: 24px; line-height: 1.5; }
html body.rk-site #product-list { padding-top: 0 !important; }

/* colour row: 44px dots, short one-line labels (full label on desktop), edge padding + fade hint, nothing half-cut at rest */
html body.rk-site .rk-colours { gap: .5rem; margin: 0 -.75rem 0; padding: .125rem .75rem .25rem; scroll-padding-inline: .75rem; justify-content: flex-start;
  -webkit-mask-image: linear-gradient(90deg, #000 calc(100% - 2rem), transparent); mask-image: linear-gradient(90deg, #000 calc(100% - 2rem), transparent); }
html body.rk-site .rk-colours::after { content: ""; flex: 0 0 1.25rem; }
html body.rk-site .rk-colours li { flex: none; }
html body.rk-site .rk-colours a { min-width: 3.25rem; gap: .1875rem; font-size: .6875rem; line-height: 1.2; white-space: nowrap; min-height: 44px; }
html body.rk-site .rk-dot--lg { width: 44px; height: 44px; }
body.rk-site .rk-colours__f { display: none; }
@media (min-width: 1024px) {
  html body.rk-site .rk-colours { margin: 0 0 .5rem; padding: .25rem 0 .5rem; justify-content: flex-start; flex-wrap: wrap; gap: .75rem 1rem; -webkit-mask-image: none; mask-image: none; }
  html body.rk-site .rk-colours::after { display: none; }
  html body.rk-site .rk-colours a { font-size: .75rem; min-width: 4rem; }
  body.rk-site .rk-colours__f { display: inline; }
}

/* the bar */
body.rk-site .rk-plpbar { position: sticky; top: var(--rk-hdr, 97px); z-index: 30; display: flex; align-items: center; gap: .5rem; margin: 0 -.75rem; padding: .375rem .75rem; background: #fff; border-bottom: 1px solid var(--rk-line); min-height: 53px; }
body.rk-site .rk-plpbar.is-stuck { box-shadow: 0 6px 16px -10px rgba(0,0,0,.25); }
body.rk-site .rk-plpbar__sentinel { height: 0; }
body.rk-site .rk-plpbar__filter { flex: none; display: inline-flex; align-items: center; gap: .375rem; height: 40px; padding: 0 .75rem; border: 1px solid #111; background: #111; color: #fff; font: inherit; font-size: .8125rem; font-weight: 500; letter-spacing: .02em; cursor: pointer; }
body.rk-site .rk-plpbar__badge { display: inline-flex; align-items: center; justify-content: center; min-width: 1.125rem; height: 1.125rem; padding: 0 .25rem; border-radius: 999px; background: #fff; color: #111; font-size: .6875rem; font-weight: 700; }
body.rk-site .rk-plpbar__dds { display: none; }
body.rk-site .rk-plpbar__sort { flex: 0 1 auto; min-width: 0; margin: 0; }
html body.rk-site .rk-plpbar__sort select { width: 100%; max-width: 11rem; height: 40px; padding: 0 1.75rem 0 .75rem !important; border: 1px solid #cfcfcf !important; border-radius: 0 !important; background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%23111' stroke-width='1.3'/%3E%3C/svg%3E") no-repeat right .625rem center !important; -webkit-appearance: none; appearance: none; font: inherit; font-size: .8125rem !important; color: #111; text-overflow: ellipsis; cursor: pointer; box-shadow: none !important; }
html body.rk-site .rk-plpbar__count { flex: none; margin: 0 0 0 auto !important; font-size: .8125rem !important; letter-spacing: 0 !important; text-transform: none !important; color: var(--rk-muted) !important; white-space: nowrap; text-align: right; }
html body.rk-site .rk-plpbar .rk-view { flex: none; margin: 0 -.25rem 0 0; gap: 0; }
html body.rk-site .rk-plpbar .rk-view__btn { min-width: 34px; height: 40px; padding: 0 .375rem; }
@media (min-width: 1024px) {
  body.rk-site .rk-plpbar { margin: 0; padding: .625rem 0; gap: .5rem; }
  body.rk-site .rk-plpbar__dds { display: flex; align-items: center; gap: .5rem; flex-wrap: nowrap; }
  body.rk-site .rk-plpbar__dds .dn-quick__btn { height: 40px; border-radius: 0 !important; }
  body.rk-site .rk-plpbar__dds .dn-quick__panel { z-index: 31; }
  html body.rk-site .rk-plpbar__sort { margin-left: auto; }
  html body.rk-site .rk-plpbar__count { margin: 0 .25rem 0 .5rem !important; }
}
/* applied filters: one scrolling row under the bar */
body.rk-site .rk-applied { display: flex; flex-wrap: nowrap; gap: .5rem; align-items: center; overflow-x: auto; scrollbar-width: none; margin: 0 -.75rem; padding: .625rem .75rem 0; }
body.rk-site .rk-applied::-webkit-scrollbar { display: none; }
body.rk-site .rk-applied > * { flex: none; }
html body.rk-site .rk-applied .dn-quick__active, html body.rk-site .rk-ff__applied .dn-quick__active { height: 2.25rem; }
@media (min-width: 1024px) { body.rk-site .rk-applied { margin: 0; padding: .625rem 0 0; flex-wrap: wrap; } }

/* Filter & sort drawer (native dialog): full height, full width on phones, 26rem side sheet on desktop */
html.rk-ff-on, html.rk-ff-on body { overflow: hidden; }
body.rk-site dialog.rk-ff { position: fixed; inset: 0 0 0 auto; margin: 0; width: min(100vw, 26rem); max-width: 100vw; height: 100vh; height: 100dvh; max-height: none; padding: 0; border: 0; background: #fff; color: #111; flex-direction: column; }
body.rk-site dialog.rk-ff[open] { display: flex; }
body.rk-site dialog.rk-ff::backdrop { background: rgba(0,0,0,.45); }
body.rk-site .rk-ff__head { flex: none; display: flex; align-items: center; justify-content: space-between; padding: .5rem .5rem .5rem 1rem; border-bottom: 1px solid var(--rk-line); }
html:root body.rk-site .rk-ff__title { margin: 0; font-size: 1.25rem; }
body.rk-site .rk-ff__x { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; border: 0; background: none; color: #111; cursor: pointer; }
body.rk-site .rk-ff__body { flex: 1; overflow-y: auto; overscroll-behavior: contain; padding: 0 1rem; }
body.rk-site .rk-ff__applied { display: flex; flex-wrap: wrap; gap: .5rem; padding: .875rem 0; border-bottom: 1px solid var(--rk-line); }
body.rk-site .rk-ff__sec { border-bottom: 1px solid var(--rk-line); }
body.rk-site .rk-ff__sec > summary { list-style: none; display: flex; align-items: center; gap: .5rem; min-height: 52px; font-size: .9375rem; font-weight: 600; cursor: pointer; }
body.rk-site .rk-ff__sec > summary::-webkit-details-marker { display: none; }
body.rk-site .rk-ff__sec > summary::after { content: ""; margin-left: auto; width: 7px; height: 7px; border-right: 1.5px solid #111; border-bottom: 1.5px solid #111; transform: translateY(-2px) rotate(45deg); }
body.rk-site .rk-ff__sec[open] > summary::after { transform: translateY(1px) rotate(-135deg); }
body.rk-site .rk-ff__cur { margin-left: auto; font-weight: 400; font-size: .8125rem; color: var(--rk-muted); }
body.rk-site .rk-ff__sec > summary:has(.rk-ff__cur)::after { margin-left: .5rem; }
body.rk-site .rk-ff__opts { display: flex; flex-wrap: wrap; gap: .5rem; padding: 0 0 1rem; }
body.rk-site .rk-ff__opt { display: inline-flex; align-items: center; gap: .25rem; min-height: 40px; padding: 0 .75rem; border: 1px solid #cfcfcf; color: #111; font-size: .8125rem; text-decoration: none; }
body.rk-site .rk-ff__opt:hover { border-color: #111; }
body.rk-site .rk-ff__n { color: var(--rk-muted); font-size: .75rem; }
body.rk-site .rk-ff__opts--list { flex-direction: column; flex-wrap: nowrap; gap: 0; padding-bottom: .5rem; }
body.rk-site .rk-ff__opts--list .rk-ff__opt { border: 0; padding: 0; min-height: 44px; gap: .625rem; }
body.rk-site .rk-ff__opts--list .rk-ff__opt .rk-dot { width: 20px; height: 20px; margin: 0; }
body.rk-site .rk-ff__opts--list .rk-ff__n { margin-left: auto; }
body.rk-site .rk-ff__radio { display: flex; align-items: center; gap: .75rem; min-height: 44px; color: #111; font-size: .875rem; text-decoration: none; }
body.rk-site .rk-ff__radio::before { content: ""; flex: none; width: 18px; height: 18px; border-radius: 50%; box-shadow: inset 0 0 0 1px #8a8a8a; }
body.rk-site .rk-ff__radio[aria-current="true"] { font-weight: 600; }
body.rk-site .rk-ff__radio[aria-current="true"]::before { box-shadow: inset 0 0 0 5px #111; }
body.rk-site .rk-ff__foot { flex: none; display: flex; align-items: center; gap: 1rem; padding: .75rem 1rem calc(.75rem + env(safe-area-inset-bottom, 0px)); border-top: 1px solid var(--rk-line); background: #fff; }
body.rk-site .rk-ff__clear { flex: none; color: #111; font-size: .875rem; text-decoration: underline; min-height: 44px; display: inline-flex; align-items: center; }
body.rk-site .rk-ff__show { flex: 1; height: 48px; border: 0; background: #111; color: #fff; font: inherit; font-size: .8125rem; font-weight: 500; letter-spacing: .12em; text-transform: uppercase; cursor: pointer; }

/* grid starts right under the bar */
html body.rk-site #product-list .products > ul { padding-top: .5rem !important; }
@media (min-width: 1024px) { html body.rk-site #product-list .products > ul { padding-top: 1.25rem !important; } }

/* card: the quick-add layer matches the 2:3 photo (was 1:1, so the + floated mid-photo); size buttons show their real price */
html body.rk-site .product-item { position: relative; }
html body.rk-site .dn-qa { aspect-ratio: 2 / 3; }
html body.rk-site .dn-qa__size { display: inline-flex; flex-direction: column; align-items: center; justify-content: center; height: auto; min-height: 2.75rem; padding: .25rem .5rem; border-radius: 0; line-height: 1.15; }
html body.rk-site .dn-qa__p { font-size: .6875rem; color: var(--rk-muted); }
html body.rk-site .dn-qa__size.is-disabled .dn-qa__p { color: inherit; }
html body.rk-site .dn-qa__panel { max-height: calc(100% - 4rem); overflow-y: auto; }
html body.rk-site .rk-card-sizes { font-size: .75rem; line-height: 1.35; }

/* load more */
body.rk-site .rk-more { max-width: 22rem; margin: 0 auto 1.5rem; text-align: center; }
body.rk-site .rk-more__txt { margin: 0 0 .5rem; font-size: .8125rem; color: var(--rk-muted); }
body.rk-site .rk-more__bar { display: block; height: 2px; margin: 0 auto 1rem; max-width: 12rem; background: #e5e5e5; }
body.rk-site .rk-more__bar > span { display: block; height: 100%; background: #111; }
body.rk-site .rk-more__btn { display: flex; align-items: center; justify-content: center; height: 48px; border: 1px solid #111; color: #111; font-size: .8125rem; font-weight: 500; letter-spacing: .12em; text-transform: uppercase; text-decoration: none; }
body.rk-site .rk-more__btn:hover { background: #111; color: #fff; }
html body.rk-site .dn-qa__h { margin: 0; font-size: .6875rem; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: var(--rk-ink); }
html body.rk-site .dn-qa__open svg { transition: transform .2s ease; }
html body.rk-site .dn-qa.is-open .dn-qa__open svg { transform: rotate(45deg); }
@media (min-width: 1024px) {
  body.rk-site .rk-plpbar__dds .dn-quick__panel { width: 28rem; max-width: 28rem; }
  html body.rk-site:is(.catalog-category-view, .catalogsearch-result-index) h1.page-title { margin-top: .25rem !important; }
}
body.rk-site .rk-plpbar__dds .dn-quick__n { margin-left: .25rem; }
/* PLP-CRO perf: skip style/layout/paint of cards below the first screen until they near the viewport (DOM is ~2.8k nodes) */
html body.rk-site #product-list .products > ul > li:nth-child(n+7) { content-visibility: auto; contain-intrinsic-size: auto 23rem; }
@media (min-width: 768px) { html body.rk-site #product-list .products > ul > li:nth-child(n+7) { contain-intrinsic-size: auto 27rem; } }

/* ===== PLPBTN 3 Oct (Ashley): one full-width CTA per card, same place, aligned to the card bottom =====
   simple = ADD TO BAG, configurable = CHOOSE SIZE (opens the quick size picker as a bottom sheet <dialog>), sold out = NOTIFY ME (grey).
   The floating "+" on the photo is gone. New selectors only (.rk-cta*, .rk-qs*), so the previous templates are unaffected. */
html body.rk-site .product-item .rk-ctarow { margin-top: auto; padding-top: .75rem !important; }
html body.rk-site .product-item .rk-cta { display: flex; width: 100%; min-height: 3rem; align-items: center; justify-content: center; gap: .5rem; padding: 0 .75rem; white-space: nowrap; text-decoration: none; font-size: .8125rem; }
html body.rk-site .product-item .rk-cta > span { overflow: hidden; text-overflow: ellipsis; }
html body.rk-site .product-item .rk-cta svg { flex: none; }
html body.rk-site .product-item a.rk-cta--choose, html body.rk-site .product-item a.rk-cta--choose:hover { color: #fff; }
html body.rk-site .product-item .rk-cta--oos, html body.rk-site .product-item .rk-cta--oos:hover { background: #ececec !important; color: #6b6b6b !important; border: 1px solid #ececec !important; box-shadow: none !important; }
html body.rk-site .dn-qa.rk-qs { position: static; aspect-ratio: auto; z-index: auto; pointer-events: auto; width: 100%; }
html body.rk-site .rk-qs .rk-qs__sheet { position: fixed; inset: auto 0 0 0; margin: 0 auto; width: 100%; max-width: min(32rem, 100%); max-height: 85vh; max-height: 85dvh; overflow-y: auto; padding: 1rem 1rem calc(1rem + env(safe-area-inset-bottom, 0px)); border: 0; border-radius: 0; background: #fff; color: var(--rk-ink, #111); box-shadow: 0 -8px 32px rgba(0,0,0,.18); text-align: left; }
html body.rk-site .rk-qs .rk-qs__sheet:not([open]) { display: none; }
html body.rk-site .rk-qs .rk-qs__sheet[open] { display: grid; gap: .75rem; animation: rkQsUp .22s ease-out; }
html body.rk-site .rk-qs__sheet::backdrop { background: rgba(17,17,17,.45); }
@keyframes rkQsUp { from { transform: translateY(100%); } to { transform: none; } }
@media (prefers-reduced-motion: reduce) { html body.rk-site .rk-qs .rk-qs__sheet[open] { animation: none; } }
html:has(.rk-qs__sheet[open]) { overflow: hidden; }
html body.rk-site .rk-qs__hd { display: flex; align-items: flex-start; justify-content: space-between; gap: .75rem; }
html body.rk-site .rk-qs__name { margin: 0; font-size: 1rem; line-height: 1.3; font-weight: 500; color: var(--rk-ink, #111); }
html body.rk-site .rk-qs__x { flex: none; display: inline-flex; align-items: center; justify-content: center; width: 2.75rem; height: 2.75rem; margin: -.625rem -.625rem 0 0; border: 0; background: transparent; color: #111; cursor: pointer; }
html body.rk-site .rk-qs__sheet .dn-qa__row { display: grid; grid-template-columns: repeat(auto-fill, minmax(6.25rem, 1fr)); gap: .5rem; }
html body.rk-site .rk-qs__sheet .dn-qa__row:has(.dn-qa__chip) { display: flex; flex-wrap: wrap; }
html body.rk-site .rk-qs__sheet .dn-qa__chip { width: 2.75rem; height: 2.75rem; }
html body.rk-site .rk-qs__sheet .dn-qa__size { width: 100%; min-height: 3.25rem; font-size: .875rem; }
html body.rk-site .rk-qs__sheet .dn-qa__size:not(.is-disabled):hover, html body.rk-site .rk-qs__sheet .dn-qa__size:focus-visible { border-color: #111; box-shadow: inset 0 0 0 1px #111; }
html body.rk-site .rk-qs__sheet .dn-qa__p { font-size: .75rem; }
html body.rk-site .rk-qs__pdp { justify-self: center; display: inline-flex; align-items: center; min-height: 2.75rem; font-size: .8125rem; color: var(--rk-ink, #111); text-decoration: underline; text-underline-offset: 3px; }
