/* bk-speed2 (6 Oct 2026): 155 overridden/unused rule(s)/declaration(s) removed (cascade-safe). Original: var/clbak/bk-speed2-20261006/pre/css/rk.css */
/* =====================================================================
   Rug Kingdom storefront skin (Cuckooland/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: "Lato"; font-style: normal; font-weight: 400; font-display: swap; src: url("../fonts/lato-400.woff2") format("woff2"); }
@font-face { font-family: "Lato"; font-style: normal; font-weight: 700; font-display: swap; src: url("../fonts/lato-700.woff2") format("woff2"); }
@font-face { font-family: "Lato"; font-style: normal; font-weight: 300; font-display: swap; src: url("../fonts/lato-300.woff2") format("woff2"); }
@font-face { font-family: "Lato"; font-style: normal; font-weight: 900; font-display: swap; src: url("../fonts/lato-900.woff2") format("woff2"); }
@font-face { font-family: "Cinzel"; font-style: normal; font-weight: 400 700; font-display: swap; src: url("../fonts/cinzel-latin-wght.woff2") format("woff2"); }
@font-face { font-family: "CL Sans Fallback"; src: local("Arial"), local("Helvetica"); size-adjust: 97%; ascent-override: 98%; }
@font-face { font-family: "CL Serif Fallback"; src: local("Georgia"), local("Times New Roman"); size-adjust: 118%; }

body.rk-site {
  --rk-ink: #222; --rk-muted: #595959; --rk-line: #e2e2e2; --rk-soft: #f3f3f3; --rk-photo: #fff; --rk-err: #b3261e;
  --cl-teal: #30474b; --cl-pink: #c91b72; --cl-pink-dark: #a8155e; --cl-green: #0b7a43; --cl-green-dark: #08623a; /* Cuckooland CTA green #14ad60 darkened to pass WCAG AA with white text */ --cl-grey: #ebebeb; --cl-blue: #005a96;
  --rk-sans: "Lato", "CL Sans Fallback", "Helvetica Neue", Arial, sans-serif;
  --rk-serif: "Lato", "CL Sans Fallback", "Helvetica Neue", Arial, sans-serif;
  --cl-display: "Cinzel", "CL Serif Fallback", Georgia, serif;
  --dn-muted: #5c5c5c; --dn-line: #e6e6e6; --dn-display: var(--rk-serif); --el-font: var(--rk-sans);
  --color-primary: #c91b72; --color-primary-lighter: #d6378a; --color-primary-darker: #a8155e; --color-on-primary: #fff;
  --color-fg: #222; --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; color: var(--cl-teal); }
body.rk-site a { text-underline-offset: 3px; }
body.rk-site :focus-visible { outline: 2px solid #30474b; 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; }

/* ---------- 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;
   color: #fff !important; border: 1px solid #000 !important; 
  font-family: var(--rk-sans);    text-transform: uppercase; text-decoration: none; cursor: pointer;
  box-shadow: none !important; transition: background .15s;
}

html body.rk-site .btn-secondary, html body.rk-site .btn:not(.btn-primary) { border-radius: 0; }

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-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;  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; } }

/* 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 {  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__sub { padding-top: 1rem; }
body.rk-site .rk-mm__sub a { display: flex; align-items: center; min-height: 44px; color: #111; font-size: .9375rem; text-decoration: none; }

/* ---------- Footer ---------- */
body.rk-site .page-footer, body.rk-site footer.page-footer {  color: #fff; }

/* ---------- 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 .message { border-radius: 0; }

/* ---------- 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; }

/* ---------- 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 .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__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;  }

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__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-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 ---------- */

/* ---------- 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: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 {   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) */

/* 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) */

/* 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; } }
