/* Kinky Beds: DENISA drawer / PLP card / quick filters / quick add / bag rules (filtered from denisa-restyle.css + denisa.css, .dn-site -> .kb-site, KB palette). */
:root{--el-font:"Jost",ui-sans-serif,system-ui,sans-serif;--dn-display:"Cormorant Garamond",Georgia,serif;--dn-muted:#6b6470;}
html:root body.kb-site :is(h1, h2, h3, .font-display, .page-title, .dn-h2, .el-plp-title, .dn-pdp-title) {
  font-family: var(--dn-display) !important; font-weight: 400 !important; letter-spacing: 0 !important;
}
html:root body.kb-site .el-plp-title { font-size: 1rem !important; line-height: 1.35 !important; }
html body.kb-site #header #menu-cart-icon.el-bag-chip,
html body.kb-site #header a.el-bag-chip {
  background: transparent !important; color: #18151a !important; border: 1px solid #18151a !important; box-shadow: none !important;
}
html body.kb-site #header #menu-cart-icon.el-bag-chip svg { color: #18151a !important; stroke: #18151a !important; }
@media (max-width: 1023px) {
  html body.kb-site #header #menu-cart-icon.el-bag-chip { border: 0 !important; }
}
html body.kb-site #header .el-bag-chip .el-bag-count { background: #18151a !important; color: #fff !important; }
html body.kb-site .btn-primary:not(.el-buy):not(.el-place-cta),
html body.kb-site .dn-btn {
  background: #18151a !important; border-color: #18151a !important; color: #fff !important; border-radius: 0 !important;
  text-transform: uppercase; letter-spacing: .1em; font-size: .8125rem; font-weight: 600; min-height: 48px; padding-inline: 1.75rem;
}
html body.kb-site .btn-primary:not(.el-buy):not(.el-place-cta):hover { background: #222 !important; }
html body.kb-site .el-buy { border-radius: 0 !important; letter-spacing: .1em; text-transform: uppercase; }
html body.kb-site .el-plp-assure li, html body.kb-site .el-card-cond { display: none; }
html body.kb-site .dn-plp-choose { border: 1px solid #18151a !important; color: #18151a !important; background: #fff !important; border-radius: 0 !important; text-transform: uppercase; letter-spacing: .1em; font-size: .75rem; font-weight: 600; min-height: 44px; }
html body.kb-site .dn-plp-choose:hover { background: #18151a !important; color: #fff !important; }
html body.kb-site .product-item, html body.kb-site .el-card { background: #fff !important; border-color: transparent !important; box-shadow: none !important; }
html body.kb-site #cart-drawer, html body.kb-site #cart-drawer > div, html body.kb-site .el-bag { background: #fff !important; }
html body.kb-site .el-ship-countdown { display: none !important; }
html body.kb-site .el-ship-countdown--checkoutcard { display: none !important; }
html body.kb-site .dn-qty { display: inline-flex; align-items: center; border: 1px solid #d4d4d4; height: 2.25rem; }
html body.kb-site .dn-qty__btn { width: 2.25rem; height: 100%; display: inline-flex; align-items: center; justify-content: center; color: #18151a; background: #fff; border: 0; cursor: pointer; }
html body.kb-site .dn-qty__btn:disabled { color: #c4c4c4; cursor: default; }
html body#html-body.kb-site .dn-qty button.dn-qty__btn { color: #18151a !important; background: #fff !important; border: 0 !important; box-shadow: none !important; padding: 0 !important; min-height: 0 !important; }
html body#html-body.kb-site .dn-qty button.dn-qty__btn:disabled { color: #c4c4c4 !important; }
html body#html-body.kb-site .dn-qty button.dn-qty__btn svg { stroke: currentColor !important; color: inherit !important; }
html body.kb-site .dn-qty__val, html body.kb-site .dn-qty__input { min-width: 2rem; width: 2.25rem; text-align: center; font-size: .875rem; border: 0 !important; padding: 0 !important; background: transparent; box-shadow: none !important; -moz-appearance: textfield; }
html body.kb-site .dn-qty__input::-webkit-outer-spin-button, html body.kb-site .dn-qty__input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
html body.kb-site dialog#cart-drawer#cart-drawer {
  background: #fff !important; color: #18151a !important; padding: 0 !important; width: min(440px, 100%) !important; max-width: 100% !important; /* KB fix 2 Oct: 100%, not 100vw (100vw includes a classic scrollbar, which pushed the drawer ~15px off the left edge) */
  box-shadow: -10px 0 40px rgba(0,0,0,.12) !important; font-family: var(--el-font);
}
html body.kb-site dialog#cart-drawer::backdrop { background: rgba(0,0,0,.35); }
html body.kb-site #cart-drawer .dn-drawer__head { display: flex; align-items: center; justify-content: space-between; padding: 1rem 1.25rem; border-bottom: 1px solid var(--dn-line); }
html body.kb-site #cart-drawer .dn-drawer__title { margin: 0; font-family: var(--dn-display) !important; font-size: 1.5rem !important; font-weight: 400 !important; color: #18151a !important; letter-spacing: 0 !important; }
html body.kb-site #cart-drawer .dn-drawer__count { font-family: var(--el-font); font-size: .875rem; color: var(--dn-muted); margin-left: .25rem; vertical-align: middle; }
html body.kb-site #cart-drawer .dn-drawer__close { width: 44px; height: 44px; display: inline-flex; align-items: center; justify-content: center; color: #18151a !important; background: transparent !important; border: 0 !important; margin-right: -.5rem; }
html body.kb-site #cart-drawer .dn-drawer__items { flex: 1 1 auto; overflow-y: auto; overscroll-behavior: contain; margin: 0; padding: 0 1.25rem; list-style: none; }
html body.kb-site #cart-drawer .dn-line { display: flex !important; gap: 1rem; padding: 1.25rem 0 !important; border-bottom: 1px solid var(--dn-line) !important; }
html body.kb-site #cart-drawer .dn-line:last-child { border-bottom: 0 !important; }
html body.kb-site #cart-drawer .dn-line__img { flex: 0 0 5.5rem; display: block; }
html body.kb-site #cart-drawer .dn-line__img img { width: 5.5rem !important; height: 8.25rem !important; object-fit: cover !important; border: 0 !important; background: #f4efe8 !important; display: block; }
html body.kb-site #cart-drawer .dn-line__body { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; gap: .5rem; }
html body.kb-site #cart-drawer .dn-line__top { display: flex; justify-content: space-between; gap: .75rem; align-items: flex-start; }
html body.kb-site #cart-drawer .dn-line__name { margin: 0; font-size: .9375rem; font-weight: 400; line-height: 1.35; color: #18151a; }
html body.kb-site #cart-drawer .dn-line__price, html body.kb-site #cart-drawer .dn-line__price .price { font-size: .9375rem !important; font-weight: 500 !important; color: #18151a !important; white-space: nowrap; }
html body.kb-site #cart-drawer .dn-line__opts { margin: 0; font-size: .8125rem; color: var(--dn-muted); display: grid; gap: .125rem; }
html body.kb-site #cart-drawer .dn-line__opts > div { display: flex; gap: .3rem; }
html body.kb-site #cart-drawer .dn-line__opts dt::after { content: ":"; }
html body.kb-site #cart-drawer .dn-line__opts dd { margin: 0; color: #18151a; font-weight: 400; }
html body.kb-site #cart-drawer .dn-line__actions { margin-top: auto; display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
html body.kb-site #cart-drawer .dn-line__remove { background: none !important; border: 0 !important; padding: .5rem 0 !important; font-size: .8125rem !important; color: var(--dn-muted) !important; text-decoration: underline; text-underline-offset: 3px; text-transform: none !important; letter-spacing: 0 !important; min-height: 0 !important; }
html body.kb-site #cart-drawer .dn-line__remove:hover { color: #18151a !important; }
html body.kb-site #cart-drawer .dn-line__msg { font-size: .8125rem; color: var(--dn-err); background: none; padding: 0; }
html body.kb-site #cart-drawer .dn-drawer__foot { border-top: 1px solid var(--dn-line); padding: 1rem 1.25rem calc(1.25rem + env(safe-area-inset-bottom, 0px)); background: #fff; }
html body.kb-site #cart-drawer .dn-drawer__row { display: flex; justify-content: space-between; align-items: baseline; margin: 0 0 .375rem; font-size: .875rem; color: #18151a; }
html body.kb-site #cart-drawer .dn-drawer__row--sub { font-size: 1rem; font-weight: 500; }
html body.kb-site #cart-drawer .dn-drawer__row--sub dd .price { font-weight: 500 !important; font-size: 1rem !important; }
html body.kb-site #cart-drawer .el-bag-delivery dd { color: #18151a !important; font-weight: 400 !important; }
html body.kb-site #cart-drawer .dn-drawer__note { margin: 0 0 1rem; font-size: .75rem; color: var(--dn-muted); }
html body.kb-site #cart-drawer .dn-drawer__ctas { display: grid; gap: .625rem; }
html body.kb-site #cart-drawer .dn-drawer__btn,
html body.kb-site .dn-drawer__btn {
  display: flex; align-items: center; justify-content: center; min-height: 3.25rem; width: 100%; padding: 0 1rem;
  font-family: var(--el-font); font-size: .8125rem; font-weight: 500; letter-spacing: .12em; text-transform: uppercase; text-decoration: none; border-radius: 0;
}
html body.kb-site #cart-drawer .dn-drawer__btn--primary { background: #18151a !important; color: #fff !important; border: 1px solid #18151a !important; }
html body.kb-site #cart-drawer .dn-drawer__btn--primary:hover { background: #262626 !important; }
html body.kb-site #cart-drawer .dn-drawer__btn--secondary { background: #fff !important; color: #18151a !important; border: 1px solid #18151a !important; }
html body.kb-site #cart-drawer .dn-drawer__assure { list-style: none; margin: 1rem 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: .375rem 1.25rem; justify-content: center; font-size: .75rem; color: #222; }
html body.kb-site #cart-drawer .dn-drawer__assure li { display: inline-flex; gap: .375rem; align-items: center; }
html body.kb-site #cart-drawer .dn-drawer__empty { flex: 1 1 auto; display: flex; flex-direction: column; justify-content: center; align-items: center; text-align: center; padding: 2rem 1.5rem; }
html body.kb-site #cart-drawer .dn-drawer__empty-title { font-family: var(--dn-display); font-size: 1.5rem; margin: 0 0 .5rem; }
html body.kb-site #cart-drawer .dn-drawer__empty-copy { font-size: .875rem; color: var(--dn-muted); margin: 0 0 1.5rem; }
html body.kb-site #cart-drawer .dn-drawer__empty-ctas { display: grid; gap: .625rem; width: 100%; max-width: 20rem; }
@media (min-width: 1024px) {
  html body.kb-site #header #menu-cart-icon.el-bag-chip, html body.kb-site #header a.el-bag-chip { border: 0 !important; padding-inline: .5rem !important; }
}
html body.kb-site .product-item.card { padding: 0 !important; border: 0 !important; border-radius: 0 !important; box-shadow: none !important; background: #fff !important; }
html body.kb-site .product-item .el-plp-photo { position: relative; display: block; width: 100%; margin: 0 0 .75rem !important; overflow: hidden; background: #f4efe8 !important; aspect-ratio: 1 / 1 !important; }
html body.kb-site .products.wrapper .el-plp-photo img.product-image-photo, html body.kb-site .products-grid .el-plp-photo img.product-image-photo, html body.kb-site .product-item .el-plp-photo img.product-image-photo { width: 100% !important; height: 100% !important; object-fit: cover !important; aspect-ratio: auto !important; }
html body.kb-site .product-item .el-plp-photo img { width: 100% !important; height: 100% !important; object-fit: cover !important; mix-blend-mode: normal !important; background: transparent !important; border-radius: 0 !important; }
html body.kb-site .product-item .el-plp-photo picture, html body.kb-site .product-item .el-plp-photo > span { display: block; width: 100%; height: 100%; }
html body.kb-site .product-item .dn-card__alt { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0; transition: opacity .35s ease; pointer-events: none; }
@media (hover: hover) and (pointer: fine) {
  html body.kb-site .product-item:hover .dn-card__alt, html body.kb-site .product-item .el-plp-photo:focus-visible .dn-card__alt { opacity: 1; }
}
html body.kb-site .product-item .el-card-text { padding: 0 !important; gap: 0 !important; }
html body.kb-site .product-item .el-plp-title { margin: 0 !important; font-family: var(--el-font) !important; font-size: .875rem !important; font-weight: 400 !important; line-height: 1.4 !important; }
html body.kb-site .product-item .el-plp-title a { color: #18151a !important; }
html body.kb-site .product-item .el-card-price, html body.kb-site .product-item .el-card-price .price { padding-top: .25rem !important; font-size: .875rem !important; font-weight: 500 !important; color: #18151a !important; }
html body.kb-site .product-item .el-card-price .price-label { font-size: .8125rem !important; font-weight: 400 !important; color: var(--dn-muted) !important; }
html body.kb-site .product-item .el-plp-actions .dn-plp-choose { display: none !important; }
html body.kb-site .product-item .el-plp-actions { padding-top: 0 !important; }
html body.kb-site .product-item .el-card-sold { font-size: .8125rem; color: var(--dn-muted); }
html body.kb-site .el-plp-meta { display: flex; align-items: center; justify-content: space-between; }
html body.kb-site .el-plp-count { font-size: .8125rem !important; color: var(--dn-muted) !important; font-weight: 400 !important; }
html body.kb-site .el-plp-filterbar, html body.kb-site .el-filter-bar, html body.kb-site #filters-content, html body.kb-site .sidebar .block-filter, html body.kb-site .sidebar-main, html body.kb-site .sidebar-main * { background-color: #fff !important; box-shadow: none !important; }
html body.kb-site .sidebar-main .border, html body.kb-site .sidebar-main [class*="border"] { border-color: var(--dn-line) !important; border-radius: 0 !important; }
html body.kb-site .sidebar-main :is(h2, h3, .filter-options-title, button) { font-family: var(--el-font) !important; letter-spacing: .08em !important; font-size: .75rem !important; text-transform: uppercase !important; color: #18151a !important; }
html body.kb-site .dn-quick { display: flex; flex-wrap: wrap; gap: .5rem; align-items: center; margin: .75rem 0 .25rem; position: relative; z-index: 15; }
html body.kb-site .dn-quick__dd { position: relative; }
html body.kb-site .dn-quick__btn { list-style: none; cursor: pointer; display: inline-flex; align-items: center; gap: .375rem; height: 2.25rem; padding: 0 .875rem; border: 1px solid #cfcfcf; border-radius: 999px; font-size: .8125rem; color: #18151a; background: #fff; user-select: none; }
html body.kb-site .dn-quick__btn::-webkit-details-marker { display: none; }
html body.kb-site .dn-quick__btn::after { content: ""; width: 6px; height: 6px; border-right: 1px solid #18151a; border-bottom: 1px solid #18151a; transform: translateY(-2px) rotate(45deg); }
html body.kb-site .dn-quick__dd[open] .dn-quick__btn { border-color: #18151a; }
html body.kb-site .dn-quick__dd[open] .dn-quick__btn::after { transform: translateY(1px) rotate(-135deg); }
html body.kb-site .dn-quick__panel { position: absolute; top: calc(100% + .375rem); left: 0; min-width: 14rem; max-width: min(22rem, 90vw); display: flex; flex-wrap: wrap; gap: .375rem; padding: .75rem; background: #fff; border: 1px solid #18151a; box-shadow: 0 10px 30px rgba(0,0,0,.08); }
@media (min-width: 640px) {
  html body.kb-site .dn-quick__panel--price { left: auto; right: 0; }
}
@media (max-width: 639px) {
  html body.kb-site .dn-quick__dd { position: static; }
  html body.kb-site .dn-quick__panel { left: 0; right: 0; max-width: none; }
}
html body.kb-site .dn-quick__chip { display: inline-flex; align-items: center; height: 2.25rem; padding: 0 .875rem; border: 1px solid #cfcfcf; border-radius: 999px; font-size: .8125rem; color: #18151a; text-decoration: none; }
html body.kb-site .dn-quick__chip:hover { border-color: #18151a; }
html body.kb-site .dn-quick__active { display: inline-flex; align-items: center; gap: .375rem; height: 2.25rem; padding: 0 .875rem; border-radius: 999px; background: #18151a; color: #fff !important; font-size: .8125rem; text-decoration: none; }
html body.kb-site .dn-quick__clear { font-size: .8125rem; color: #18151a; text-decoration: underline; text-underline-offset: 3px; padding: 0 .25rem; }
html body.kb-site .toolbar-products select, html body.kb-site .toolbar select { border-radius: 0 !important; border-color: #cfcfcf !important; background-color: #fff !important; font-size: .8125rem !important; }
html body.kb-site .el-plp-filter-btn, html body.kb-site button[aria-controls="filters-content"] { border-radius: 0 !important; }
html body.kb-site.checkout-cart-index .el-cart-item { padding: 0 !important; background: #fff !important; border: 0 !important; box-shadow: none !important; gap: 1rem !important; }
html body.kb-site.checkout-cart-index .el-cart-items li { border-color: var(--dn-line) !important; }
html body.kb-site.checkout-cart-index .el-cart-item__media { width: 6.5rem !important; flex: 0 0 6.5rem !important; background: #f4efe8 !important; border: 0 !important; aspect-ratio: 1 / 1; overflow: hidden; }
@media (min-width: 768px) {
  html body.kb-site.checkout-cart-index .el-cart-item__media { width: 8rem !important; flex-basis: 8rem !important; }
}
html body.kb-site.checkout-cart-index .el-cart-item__media img { width: 100% !important; height: 100% !important; object-fit: cover !important; mix-blend-mode: normal !important; }
html body.kb-site.checkout-cart-index .el-cart-item__name, html body.kb-site.checkout-cart-index .el-cart-item__name a { font-family: var(--el-font) !important; font-size: .9375rem !important; font-weight: 400 !important; color: #18151a !important; letter-spacing: 0 !important; }
html body.kb-site.checkout-cart-index .el-cart-item__price, html body.kb-site.checkout-cart-index .el-cart-item__price .price { font-weight: 500 !important; font-size: .9375rem !important; color: #18151a !important; }
html body.kb-site.checkout-cart-index .dn-bagline__qty { margin-top: .75rem; }
html body.kb-site.checkout-cart-index .el-cart-remove, html body.kb-site.checkout-cart-index .item-actions .btn { background: none !important; border: 0 !important; color: var(--dn-muted) !important; font-size: .8125rem !important; text-decoration: underline; text-underline-offset: 3px; padding: .25rem 0 !important; min-height: 0 !important; box-shadow: none !important; }
html body.kb-site.checkout-cart-index .item-actions .btn.p-2:not(.el-cart-remove) { display: none !important; }
html body.kb-site.checkout-cart-index .actions-toolbar.cart.actions { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
html body.kb-site.checkout-cart-index .el-cart-summary { background: #f4efe8 !important; border: 0 !important; border-radius: 0 !important; box-shadow: none !important; padding: 1.5rem !important; }
html body.kb-site.checkout-cart-index .el-cart-summary h2 { font-family: var(--dn-display) !important; font-weight: 400 !important; font-size: 1.5rem !important; }
html body.kb-site.checkout-cart-index .el-cart-summary * { border-color: rgba(0,0,0,.1) !important; }
html body.kb-site.checkout-cart-index .el-cart-summary .text-xl { font-size: 1.125rem !important; font-weight: 500 !important; }
html body.kb-site.checkout-cart-index .el-cart-assure, html body.kb-site.checkout-cart-index .el-cart-assure * { color: #222 !important; background: transparent !important; border-color: transparent !important; }
html body.kb-site.checkout-cart-index .el-cart-assure { font-size: .8125rem !important; }
html body.kb-site.checkout-cart-index .el-cart-assure svg { color: #18151a !important; }
html body.kb-site .dn-quick__all { display: none; }
@media (max-width: 1023px) {
  html body.kb-site .dn-quick__all { display: inline-flex; background: #18151a; color: #fff; border-color: #18151a; }
  html body.kb-site .dn-quick__all::after { display: none; }
  html body.kb-site .dn-quick { position: sticky; top: 57px; z-index: 20; background: #fff; margin: 0 -1rem .5rem; padding: .5rem 1rem; flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; }
  html body.kb-site .dn-quick::-webkit-scrollbar { display: none; }
  html body.kb-site .dn-quick__dd, html body.kb-site .dn-quick__btn, html body.kb-site .dn-quick__active, html body.kb-site .dn-quick__clear { flex: none; }
  html body.kb-site .dn-quick__panel { position: fixed !important; top: auto; left: .75rem !important; right: .75rem !important; margin-top: .375rem; }
}
html body.kb-site .dn-card__swatches { display: flex; align-items: center; gap: .3rem; margin: .375rem 0 0; }
html body.kb-site .dn-card__dot { width: 10px; height: 10px; border-radius: 50%; background: var(--dn-chip); box-shadow: inset 0 0 0 1px rgba(0,0,0,.08); }
html body.kb-site .dn-card__dot.is-light { box-shadow: inset 0 0 0 1px #bdbdbd; }
html body.kb-site .dn-card__count { font-size: .75rem; color: #5c5c5c; margin-left: .25rem; }
html body.kb-site form.product-item { position: relative; }
html body.kb-site .dn-qa { position: absolute; left: 0; right: 0; top: 0; aspect-ratio: 1 / 1; z-index: 5; pointer-events: none; }
html body.kb-site .dn-qa > * { pointer-events: auto; }
html body.kb-site .dn-qa__open { position: absolute; right: .5rem; bottom: .5rem; display: inline-flex; align-items: center; justify-content: center; gap: .375rem; width: 2.5rem; height: 2.5rem; border-radius: 999px; background: #fff; color: #18151a; border: 0; box-shadow: 0 2px 10px rgba(0,0,0,.12); cursor: pointer; }
html body.kb-site .dn-qa__open-label { display: none; }
@media (hover: hover) and (min-width: 1024px) {
  html body.kb-site .dn-qa__open { width: auto; height: 2.5rem; padding: 0 1rem; left: .5rem; right: .5rem; border-radius: 0; box-shadow: none; opacity: 0; transition: opacity .2s; font-size: .75rem; letter-spacing: .12em; text-transform: uppercase; font-weight: 500; }
  html body.kb-site .dn-qa__open-label { display: inline; }
  html body.kb-site form.product-item:hover .dn-qa__open, html body.kb-site .dn-qa__open:focus-visible, html body.kb-site .dn-qa.is-open .dn-qa__open { opacity: 1; }
}
html body.kb-site .dn-qa__panel { position: absolute; left: .5rem; right: .5rem; bottom: 3.5rem; background: #fff; padding: .75rem; box-shadow: 0 6px 24px rgba(0,0,0,.16); display: grid; gap: .5rem; }
html body.kb-site .dn-qa__panel[hidden] { display: none; }
html body.kb-site .dn-qa__row { display: flex; flex-wrap: wrap; gap: .375rem; }
html body.kb-site .dn-qa__size { min-width: 2.5rem; height: 2.25rem; padding: 0 .625rem; border: 1px solid #cfcfcf; border-radius: 999px; background: #fff; color: #18151a; font-size: .8125rem; cursor: pointer; }
html body.kb-site .dn-qa__size:hover { border-color: #18151a; }
html body.kb-site .dn-qa__size.is-disabled { color: #a0a0a0; text-decoration: line-through; border-color: #e5e5e5; cursor: not-allowed; }
html body.kb-site .dn-qa__add { width: 100%; background: #18151a; color: #fff; border-color: #18151a; border-radius: 0; text-transform: uppercase; letter-spacing: .12em; font-size: .75rem; }
html body.kb-site .dn-qa__chip { width: 1.75rem; height: 1.75rem; border-radius: 50%; border: 0; background: var(--dn-chip); box-shadow: inset 0 0 0 1px rgba(0,0,0,.1); cursor: pointer; }
html body.kb-site .dn-qa__chip.is-light { box-shadow: inset 0 0 0 1px #bdbdbd; }
html body.kb-site .dn-qa__chip[aria-pressed="true"] { box-shadow: 0 0 0 2px #fff, 0 0 0 3px #18151a; }
html body.kb-site .dn-qa__msg { margin: 0; font-size: .75rem; color: #18151a; min-height: 1em; }
html body.kb-site .dn-qa__msg:empty { display: none; }
html body.kb-site .dn-qa.is-busy .dn-qa__panel { opacity: .6; pointer-events: none; }
/* DENISA PDP option pickers (colour chips + size pills, 'Please select'), KB palette */
html body.kb-site .dn-opts { margin: 0 0 1.25rem; }
html body.kb-site .dn-opt { border: 0; margin: 0 0 1.25rem; padding: 0; min-width: 0; }
html body.kb-site .dn-opt__head { display: flex; gap: .375rem; align-items: baseline; padding: 0; margin: 0 0 .625rem; font-size: .875rem; color: #18151a; }
html body.kb-site .dn-opt__name { font-weight: 500; }
html body.kb-site .dn-opt__value { color: #5c5c5c; }
html body.kb-site .dn-opt__list { display: flex; flex-wrap: wrap; gap: .5rem; }
html body.kb-site .dn-opt__input { position: absolute; opacity: 0; width: 1px; height: 1px; pointer-events: none; }
html body.kb-site .dn-pill {
  position: relative; display: inline-flex; align-items: center; justify-content: center;
  min-width: 3.25rem; height: 2.75rem; padding: 0 1rem; border: 1px solid #cfcfcf; border-radius: 999px;
  background: #fff; color: #18151a; font-size: .875rem; font-weight: 400; cursor: pointer; user-select: none;
  transition: border-color .15s ease, background-color .15s ease, color .15s ease;
}
html body.kb-site .dn-pill:hover { border-color: #18151a; }
html body.kb-site .dn-pill.is-selected { background: #18151a; border-color: #18151a; color: #fff; }
html body.kb-site .dn-pill.is-disabled {
  color: #9a9a9a; border-color: #e6e6e6; cursor: not-allowed; overflow: hidden;
  background: #fff linear-gradient(to top left, transparent calc(50% - .5px), #c4c4c4 calc(50% - .5px), #c4c4c4 calc(50% + .5px), transparent calc(50% + .5px));
}
html body.kb-site .dn-pill.is-disabled .dn-pill__label { text-decoration: line-through; }
html body.kb-site .dn-pill:has(.dn-opt__input:focus-visible),
html body.kb-site .dn-chip:has(.dn-opt__input:focus-visible) { outline: 2px solid #18151a; outline-offset: 2px; }
html body.kb-site .dn-chip {
  position: relative; display: inline-flex; align-items: center; justify-content: center;
  width: 2.75rem; height: 2.75rem; border-radius: 999px; cursor: pointer; border: 1px solid transparent;
  transition: border-color .15s ease;
}
html body.kb-site .dn-chip:hover { border-color: #9a9a9a; }
html body.kb-site .dn-chip.is-selected { border-color: #18151a; }
html body.kb-site .dn-chip__dot { width: 2.125rem; height: 2.125rem; border-radius: 999px; background: var(--dn-chip, #ccc); box-shadow: inset 0 0 0 1px rgba(0,0,0,.08); }
html body.kb-site .dn-chip__dot.is-light { box-shadow: inset 0 0 0 1px rgba(0,0,0,.22); }
html body.kb-site .dn-chip.is-disabled { cursor: not-allowed; opacity: .45; }
html body.kb-site .dn-chip.is-disabled::after {
  content: ""; position: absolute; left: 50%; top: 4px; bottom: 4px; width: 1px; background: #18151a; transform: rotate(45deg);
}
html body.kb-site .dn-opt.has-error .dn-pill:not(.is-disabled) { border-color: #b3261e; }
html body.kb-site .dn-opt__err { margin: .5rem 0 0; font-size: .8125rem; color: #b3261e; font-weight: 500; }
/* Tap targets (UK pre-launch pass): 44px min on bag Remove and qty stepper */
html body#html-body.kb-site.checkout-cart-index .el-cart-items .item-actions button.el-cart-remove, html body#html-body.kb-site .el-cart-remove { min-height: 44px !important; display: inline-flex !important; align-items: center; }
html body#html-body.kb-site .dn-qty input { min-height: 44px !important; height: 44px !important; }
html body#html-body.kb-site .dn-qty { min-height: 44px; }
html body#html-body.kb-site .dn-qty button.dn-qty__btn { min-width: 44px; min-height: 44px !important; }

/* KB fix 2 Oct 17:30 (Ashley: bag thumbnails touch the edge): the drawer is anchored to the right edge and never wider than the
   visible viewport; the item list, head and foot keep 20px side padding plus any safe-area inset. */
html body.kb-site dialog#cart-drawer#cart-drawer { margin-inline: auto 0 !important; inset-inline-end: 0; box-sizing: border-box; }
html body.kb-site #cart-drawer .dn-drawer__items { padding-inline: max(1.25rem, env(safe-area-inset-left, 0px)) max(1.25rem, env(safe-area-inset-right, 0px)); }
/* KB fix 2 Oct 17:40: at 360px the footer grid track grew to the newsletter row's min-content (356px in a 328px container), giving
   every page a 16px sideways scroll (scrollWidth 376). Grid items may shrink; the email field flexes down instead. */
html body.kb-site footer .kb-container.grid > * { min-width: 0; }
html body.kb-site footer #kb-newsletter { min-width: 0 !important; width: 0; flex: 1 1 auto; }
