@font-face {
  font-family: DeviceDenShop;
  src: url("legacy-shop-regular.woff2") format("woff2");
  font-weight: 400;
  font-display: swap;
}
@font-face {
  font-family: DeviceDenShop;
  src: url("legacy-shop-bold.woff2") format("woff2");
  font-weight: 700;
  font-display: swap;
}
/* Shared shopping surfaces. The header and footer own their own layout. */
:is(#product-info, #product-category, #product-search, #checkout-cart, #checkout-checkout, #account-login, #account-register, main.dd-quote) {
  --shop-field: var(--dd-page);
  --shop-soft: color-mix(in srgb, var(--dd-panel) 68%, var(--dd-page));
  --shop-radius: 16px;
  color: var(--dd-ink);
  margin-block-end: clamp(40px, 6vw, 92px);
}
:is(#product-info, #product-category, #product-search, #checkout-cart, #checkout-checkout, #account-login, #account-register) {
  .breadcrumb {
    display: flex;
    align-items: baseline;
    flex-wrap: wrap;
    gap: 0;
    padding: 0;
    margin: clamp(18px, 2.6vw, 38px) 0 clamp(20px, 3vw, 44px);
    background: none;
    border: 0;
    font-size: .83rem;
  }
  .breadcrumb-item { min-width: 0; overflow-wrap: anywhere; }
  .breadcrumb-item::after { display: none; }
  .breadcrumb a { color: var(--dd-quiet); text-decoration: none; }
  .breadcrumb a:hover { color: var(--dd-action); text-decoration: underline; }
  #content, .row > * { min-width: 0; }
  h1 {
    margin: 0 0 clamp(24px, 3.1vw, 48px);
    font-size: clamp(2.15rem, 4.4vw, 4.6rem);
    font-weight: 680;
    letter-spacing: -.055em;
    line-height: 1.04;
    overflow-wrap: anywhere;
  }
  h2, legend { font-size: clamp(1.35rem, 2.2vw, 2.15rem); line-height: 1.16; letter-spacing: -.035em; font-weight: 650; }
  h3 { letter-spacing: -.025em; }
  .form-control, .form-select {
    min-height: 44px;
    color: var(--dd-ink);
    background-color: var(--shop-field);
    border-color: var(--dd-line);
    border-radius: 9px;
    font-size: 1rem;
  }
  .form-check-input { border-color: var(--dd-quiet); }
  .btn { border-radius: 9px; font-weight: 620; }
  .btn-primary {
    --bs-btn-color: var(--dd-on-action);
    --bs-btn-bg: var(--dd-action);
    --bs-btn-border-color: var(--dd-action);
    --bs-btn-hover-bg: color-mix(in srgb, var(--dd-action) 85%, var(--dd-ink));
    --bs-btn-hover-color: var(--dd-on-action);
    --bs-btn-hover-border-color: var(--bs-btn-hover-bg);
    min-height: 44px;
    background-image: none;
    text-shadow: none;
  }
  .btn-light, .input-group-text {
    color: var(--dd-ink);
    background: var(--shop-soft);
    border-color: var(--dd-line);
    text-shadow: none;
  }
  .list-group { border-radius: 10px; }
  .list-group-item {
    padding: .8rem 1rem;
    color: var(--dd-ink);
    background: var(--shop-field);
    border-color: var(--dd-line);
    font-size: .9rem;
  }
  .list-group-item.active, .list-group-item:hover { color: var(--dd-action); background: var(--shop-soft); }
  .dd-quote-panel {
    padding: clamp(21px, 3.4vw, 45px);
    margin-top: clamp(32px, 4vw, 58px);
    border: 1px solid var(--dd-line);
    border-inline-start: 4px solid var(--dd-action);
    border-radius: 0 var(--shop-radius) var(--shop-radius) 0;
    background: var(--shop-soft);
  }
}

/* Gallery, offer and technical documentation. */
#product-info .dd-product-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.13fr) minmax(0, .87fr);
  gap: clamp(22px, 5vw, 80px);
  margin-inline: 0;
  align-items: start;
}
#product-info .dd-product-layout > * { width: auto; padding: 0; }
#product-info .dd-product-media {
  display: grid;
  align-content: center;
  min-height: clamp(280px, 32vw, 510px);
  padding: clamp(16px, 3.4vw, 50px);
  border: 1px solid var(--dd-line);
  border-radius: var(--shop-radius);
  background: var(--shop-soft);
}
#product-info .dd-product-media .image > a { display: grid; place-items: center; }
#product-info .dd-product-media .image > a img {
  max-height: 400px;
  border: 0;
  border-radius: 6px;
  object-fit: contain;
}
#product-info .image > div { display: flex; flex-wrap: wrap; gap: 8px; }
#product-info .image > div img { width: 70px; height: 70px; object-fit: contain; }
.dd-media-empty {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: .7rem;
  color: var(--dd-quiet);
  font-size: .78rem;
}
.dd-media-empty i { font-size: 1.65rem; opacity: .75; }
#product-info .dd-product-summary h1 { margin-bottom: 1.1rem; font-size: clamp(2.1rem, 3.5vw, 3.9rem); }
#product-info .dd-product-facts { padding-block: 14px; border-block: 1px solid var(--dd-line); line-height: 1.8; }
#product-info .dd-copy { min-width: 32px; min-height: 32px; }
#product-info .dd-product-price { margin: 1.4rem 0; }
#product-info .dd-product-price h2 { margin: 0; font-size: clamp(1.9rem, 3vw, 3rem); }
#product-info .dd-product-price li:not(:has(h2)), #product-info .rating { color: var(--dd-quiet); font-size: .86rem; }
#product-info .dd-product-summary > form .btn { color: var(--dd-quiet); }
#product-info #product { margin-top: 16px; }
#product-info #input-quantity { flex: 0 1 64px; min-width: 40px; text-align: center; }
#product-info #button-cart { flex: 1; }
#product-info .dd-product-quote { justify-content: center; width: 100%; }
#product-info #form-product:has(#button-cart) .dd-product-quote { color: var(--dd-action); background: var(--shop-soft); }
#product-info .nav-tabs { margin-top: clamp(30px, 5vw, 72px); gap: .3rem .9rem; border-color: var(--dd-line); }
#product-info .nav-tabs .nav-link { padding: .8rem 0; border: 0; color: var(--dd-quiet); background: transparent; }
#product-info .nav-tabs .nav-link.active { color: var(--dd-action); box-shadow: inset 0 -3px var(--dd-action); font-weight: 650; }
#product-info .tab-content { padding-block: clamp(18px, 2.6vw, 36px); overflow-wrap: anywhere; }
#product-info .tab-content img { max-width: 100%; height: auto; }

/* Catalog controls, product cards and search results. */
:is(#product-category, #product-search) {
  .dd-list-controls, #display-control { align-items: end; margin-block: 1.25rem .5rem; }
  #compare-total { color: var(--dd-ink); border: 1px solid var(--dd-line); background: var(--shop-soft); }
  #product-list { --bs-gutter-x: 14px; --bs-gutter-y: 14px; margin-bottom: 1.2rem; }
  #product-list > .col { margin-bottom: 0 !important; }
  .product-thumb {
    height: 100%;
    margin: 0;
    display: flex;
    flex-direction: column;
    border: 1px solid var(--dd-line);
    border-radius: 13px;
    background: var(--dd-page);
  }
  .product-thumb .image { overflow: hidden; background: var(--shop-soft); border-radius: 12px 12px 0 0; }
  .product-thumb .image > a {
    display: grid;
    place-items: center;
    aspect-ratio: 4 / 3;
    padding: 14px;
    color: var(--dd-quiet);
    text-decoration: none;
  }
  .product-thumb .image img { max-width: 100%; max-height: 100%; object-fit: contain; }
  .product-thumb .content { flex: 1; display: flex; flex-direction: column; min-width: 0; }
  .product-thumb .description { flex: 1; min-height: 0; padding: clamp(14px, 1.45vw, 22px); }
  .product-thumb h4 { margin: 0 0 .55rem; overflow-wrap: anywhere; font-size: clamp(1.08rem, 1.35vw, 1.35rem); line-height: 1.18; letter-spacing: -.025em; }
  .product-thumb h4 a { color: var(--dd-ink); text-decoration: none; }
  .product-thumb h4 a:hover { color: var(--dd-action); text-decoration: underline; }
  .product-thumb .description p { margin-bottom: .75rem; color: var(--dd-quiet); line-height: 1.4; font-size: .86rem; overflow-wrap: anywhere; }
  .price-new { color: var(--dd-ink); font-size: 1.27rem; font-weight: 700; }
  .price-tax, .price-old { color: var(--dd-quiet); font-size: .78rem; }
  .product-thumb .button {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto auto;
    align-items: stretch;
    gap: 2px;
    padding: 8px;
    border: 0;
    background: none;
  }
  .product-thumb .button > :is(button, a) {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: auto;
    min-width: 34px;
    min-height: 40px;
    gap: .35rem;
    padding: .35rem;
    border: 0;
    border-radius: 7px;
    background: transparent;
    color: var(--dd-quiet);
    font: inherit;
    font-size: .85rem;
    text-transform: none;
  }
  .product-thumb .button > :first-child { background: var(--dd-action); color: var(--dd-on-action); font-weight: 650; }
  .product-thumb .button > :hover { box-shadow: inset 0 0 0 2px currentColor; }
  .input-group:has(#input-sort, #input-limit) { display: grid; gap: .25rem; }
  .input-group:has(#input-sort, #input-limit) > * { width: 100%; border-radius: 8px !important; }
  .input-group:has(#input-sort, #input-limit) label { padding: 0; border: 0; color: var(--dd-quiet); background: none; font-size: .8rem; }
}
#product-search h2 { margin-block: clamp(25px, 3.6vw, 54px) 1.2rem; }
#product-search :is(.form-check, #button-search) { margin-top: .6rem; }

/* Basket, checkout and customer accounts. */
:is(#checkout-cart, #checkout-checkout) .table {
  --bs-table-bg: var(--dd-page);
  --bs-table-color: var(--dd-ink);
  --bs-table-border-color: var(--dd-line);
  margin: 0;
  border-color: var(--dd-line);
}
:is(#checkout-cart, #checkout-checkout) .table > :not(caption) > * > * { vertical-align: middle; padding: .9rem; border-inline-width: 0; }
:is(#checkout-cart, #checkout-checkout) .table th { color: var(--dd-quiet); background: var(--shop-soft); font-weight: 550; font-size: .85rem; }
:is(#checkout-cart, #checkout-checkout) .table-responsive { margin-bottom: 1.3rem; border: 1px solid var(--dd-line); border-radius: 12px; }
:is(#checkout-cart, #checkout-checkout) .table tfoot tr:last-child { font-weight: 700; }
#checkout-cart #output-cart .input-group { width: min(150px, 100%); min-width: 104px; }
#checkout-cart #output-cart .form-control { min-width: 34px; padding-inline: .4rem; text-align: center; }
#checkout-cart .accordion { margin-bottom: 1.5rem; --bs-accordion-border-color: var(--dd-line); --bs-accordion-bg: var(--dd-page); }
#checkout-checkout #content > .row { --bs-gutter-x: clamp(20px, 4vw, 60px); }
:is(#checkout-register, #account-register) fieldset { margin-bottom: 1.6rem; }
:is(#checkout-register, #account-register) legend { margin-bottom: 1.1rem; padding-bottom: .6rem; border-bottom: 1px solid var(--dd-line); }
#checkout-checkout #content > .row > .col { align-self: start; }
#checkout-checkout :is(#checkout-payment-method, #checkout-shipping-method) .input-group { flex-wrap: wrap; }
#account-login #content > .row { --bs-gutter-x: 18px; }
#account-login #content .border.rounded {
  padding: clamp(20px, 2.6vw, 38px) !important;
  border-color: var(--dd-line) !important;
  border-radius: var(--shop-radius) !important;
}
#account-login #content .col:first-child > .border { background: var(--shop-soft); }
#account-login #content h2 { margin-bottom: .85rem; }

/* The quotation extension uses its own palette. Bind it to the shop switch. */
main.dd-quote {
  --dq-ink: var(--dd-ink);
  --dq-accent: var(--dd-action);
  --dq-line: var(--dd-line);
  --dq-paper: var(--dd-page);
  --dq-panel: var(--dd-panel);
  max-width: 1440px;
  width: 100%;
  padding-inline: clamp(16px, 3vw, 44px);
}
[data-bs-theme="dark"] main.dd-quote { --dq-error: #ffb9b1; }
main.dd-quote nav { color: var(--dd-quiet); font-size: .83rem; }
main.dd-quote .dd-quote-layout { gap: clamp(20px, 4vw, 64px); }
main.dd-quote .dd-quote-layout > * { padding: clamp(22px, 3.5vw, 52px); border-radius: var(--shop-radius); min-width: 0; }
main.dd-quote .dd-quote-layout aside { background: var(--shop-soft); border-top: 4px solid var(--dd-action); }
main.dd-quote h1 { margin: 1rem 0; font-size: clamp(2.35rem, 4.6vw, 4.7rem); letter-spacing: -.055em; line-height: 1; overflow-wrap: anywhere; }
main.dd-quote h2 { font-size: clamp(1.6rem, 2.6vw, 2.5rem); letter-spacing: -.035em; }
main.dd-quote form { gap: 1rem; }
main.dd-quote input:not([type="checkbox"]), main.dd-quote textarea { min-width: 0; min-height: 46px; }
main.dd-quote input[type="file"] { border-style: dashed; background: var(--shop-soft); font-size: .9rem; }
main.dd-quote .dd-quote-consent, main.dd-quote form small { color: var(--dd-quiet); font-size: .86rem; }
main.dd-quote button[type="submit"] { min-height: 48px; background: var(--dd-action); color: var(--dd-on-action); }

@media (min-width: 768px) {
  :is(#product-search, #product-category) .product-list .product-thumb {
    display: grid;
    grid-template-columns: minmax(140px, 24%) minmax(0, 1fr);
  }
  :is(#product-search, #product-category) .product-list .product-thumb .image { border-radius: 12px 0 0 12px; }
}
@media (max-width: 767px) {
  #product-info .dd-product-layout { grid-template-columns: minmax(0, 1fr); }
  #product-info .dd-product-media { min-height: 180px; }
  #product-info .dd-product-media .image > a img { max-height: 300px; }
  #product-info #form-product .input-group { flex-wrap: wrap; }
  #account-login #content > .row { flex-direction: column; }
  #checkout-cart #output-cart table, #checkout-cart #output-cart tbody, #checkout-cart #output-cart tfoot { display: block; }
  #checkout-cart #output-cart thead {
    position: absolute;
    width: 1px;
    height: 1px;
    clip-path: inset(50%);
    overflow: hidden;
  }
  #checkout-cart #output-cart tbody tr {
    display: grid;
    grid-template-columns: minmax(0,1fr) minmax(0,1fr);
    gap: 10px;
    padding: 16px;
    border-bottom: 1px solid var(--dd-line);
  }
  #checkout-cart #output-cart tbody td { padding: 0; border: 0; white-space: normal; overflow-wrap: anywhere; }
  #checkout-cart #output-cart tbody td:first-child { grid-column: 1 / -1; text-align: start !important; }
  #checkout-cart #output-cart tbody td:first-child img { max-width: 68px; }
  #checkout-cart #output-cart tbody td:nth-child(2), #checkout-cart #output-cart tbody td:nth-child(3) { grid-column: 1 / -1; }
  #checkout-cart #output-cart tbody td:nth-last-child(2) { text-align: start !important; }
  #checkout-cart #output-cart tbody td:nth-last-child(2)::before, #checkout-cart #output-cart tbody td:last-child::before {
    display: block;
    font-size: .75rem;
    color: var(--dd-quiet);
  }
  #checkout-cart #output-cart tbody td:nth-last-child(2)::before { content: "За единицу"; }
  #checkout-cart #output-cart tbody td:last-child::before { content: "Всего"; }
  #checkout-cart #output-cart tfoot tr { display: flex; justify-content: space-between; }
  #checkout-cart #output-cart tfoot td { border: 0; }
  #checkout-checkout #checkout-register .input-group { flex-wrap: wrap; }
  #account-register #form-register > .text-end { text-align: start !important; }
  #account-register #form-register > .text-end .form-check { display: block; }
}
/* DeviceDen catalog k12, product p11, search ui1, purchase p3, account a3 and saved pages sn2. */
.container:is(#product-category, #product-info, #product-search, #product-compare, [id^="checkout-"], [id^="account-"]) {
  --shop-field: var(--dd-page);
  --shop-soft: color-mix(in srgb, var(--dd-page) 35%, var(--dd-panel));
  --shop-radius: 16px;
  color: var(--dd-ink);
  font: 16px/1.65 DeviceDenShop, "Open Sans", Arial, sans-serif;
  padding-inline: clamp(16px, 2.3vw, 40px);
  padding-block-end: clamp(40px, 5vw, 64px);
  margin-bottom: 0;
}
.container:is(#product-category, #product-info, #product-search, #product-compare, [id^="checkout-"], [id^="account-"]) :is(button,input,select,textarea) { font-family: inherit; }
.container:is(#product-category, #product-search, #product-compare, [id^="checkout-"], [id^="account-"]) h1 {
  margin: 0 0 15px;
  font: 700 clamp(1.9rem, 3.1vw, 2.875rem)/1.18 DeviceDenShop, Arial, sans-serif;
  letter-spacing: -.04em;
}
.container:is([id^="account-"], [id^="checkout-"], #product-compare) {
  .row > *, #content { min-width: 0; }
  .breadcrumb { margin: 0; padding: 22px 0; background: transparent; border: 0; font-size: .83rem; }
  .breadcrumb-item::after { display: none; }
  .breadcrumb a { color: var(--dd-quiet); text-decoration: none; }
  fieldset legend, h2 { font-size: clamp(1.2rem, 2vw, 1.6rem); line-height: 1.25; font-weight: 700; }
  .form-select, .form-control { border-color: var(--dd-line); min-height: 44px; color: var(--dd-ink); background-color: var(--dd-page); }
  .table { color: var(--dd-ink); --bs-table-bg: var(--dd-page); --bs-table-border-color: var(--dd-line); }
  .table img { max-width: 100%; object-fit: contain; }
  .list-group-item { border-color: var(--dd-line); color: var(--dd-ink); background: var(--dd-page); }
  .btn-primary { color: var(--dd-on-action); background: var(--dd-action); border-color: var(--dd-action); }
}
#dd-main:has(> .container:is([id^="account-"],[id^="checkout-"])) { background: var(--shop-page-tint, #f5f7fa); }
[data-bs-theme="dark"] #dd-main { --shop-page-tint: #122331; }
.shop-eyebrow {
  display: block;
  margin: 0 0 8px;
  color: var(--dd-action);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .11em;
  text-transform: uppercase;
}
.shop-heading { display: flex; align-items: center; justify-content: space-between; gap: 22px; margin-bottom: 27px; }
.shop-heading > div { min-width: 0; }
.shop-heading p:not(.shop-eyebrow), .shop-purchase-heading > p:last-child { margin: 0; color: var(--dd-quiet); }
.shop-heading > a { flex: none; color: var(--dd-action); text-underline-offset: 4px; }
.shop-pro-strip {
  display: flex; align-items: center; justify-content: space-between; gap: 22px;
  margin: 25px 0 32px; padding: 22px 27px; color: white; background: #102e46; border-radius: 12px;
}
.shop-pro-strip strong, .shop-pro-strip span { display: block; }
.shop-pro-strip span { color: #cddde8; font-size: .87rem; }
.shop-pro-strip a { color: white; text-underline-offset: 4px; }
#product-category .dd-departments h2 { margin: 0 0 14px; font-size: 1.45rem; }
#product-category .dd-category-children { display: grid; grid-template-columns: repeat(auto-fit,minmax(min(180px,100%),1fr)); gap: 10px; }
#product-category .dd-category-children a {
  display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 65px;
  padding: 12px 15px; border: 1px solid var(--dd-line); border-radius: 10px; color: var(--dd-ink);
  background: linear-gradient(120deg,var(--shop-soft),var(--dd-page)); text-decoration: none; font-weight: 700;
}
#product-category .dd-category-children a:hover { border-color: var(--dd-action); }
:is(#product-category,#product-search) :is(.dd-list-controls,#display-control) {
  padding: 12px 5px; margin: 15px 0; border-radius: 10px; background: var(--shop-soft);
}
:is(#product-category,#product-search) :is(.dd-list-controls,#display-control) .mb-3 { margin-bottom: 0 !important; }
:is(#product-category,#product-search) .product-thumb { position: relative; }
:is(#product-category,#product-search) .product-thumb .image { background: var(--dd-page); }
:is(#product-category,#product-search) .product-thumb .button > :nth-child(2) {
  position: absolute; top: 8px; right: 8px; background: var(--dd-page); border: 1px solid var(--dd-line); border-radius: 50%;
}
:is(#product-category,#product-search) .product-thumb .button { grid-template-columns: minmax(0,1fr) auto; }
.dd-card-specs { font-size: .82rem; }
#product-search .shop-search-box { margin: 0 0 34px; padding: clamp(18px, 3vw, 34px); border: 1px solid var(--dd-line); border-radius: 20px; background: var(--dd-panel); }
#product-search .shop-search-box h1 { font-size: clamp(26px,3vw,36px); margin-bottom: 8px; }
.shop-query-row { display: flex; gap: 12px; }
#product-search .shop-query-row :is(input,button) { min-height: 46px; margin: 0; }
.shop-query-row button { flex: none; }
.shop-search-options { margin-top: 12px; font-size: .9rem; }
.shop-search-options label:not(.form-check-label) { margin-top: 12px; }
#product-info .pdp-heading h1 { max-width: 1100px; margin: 0 0 12px; font-size: clamp(25px, 2.5vw, 32px); line-height: 1.26; letter-spacing: -.025em; }
.pdp-meta { display: flex; align-items: center; flex-wrap: wrap; gap: 8px 22px; margin-bottom: 28px; color: var(--dd-quiet); font-size: .875rem; }
.pdp-meta .dd-copy, [data-shop-password] { border: 0; padding: 0; background: transparent; color: var(--dd-action); text-decoration: underline; }
#product-info .dd-product-layout { grid-template-columns: minmax(0,1.1fr) minmax(0,.83fr) minmax(278px,.95fr); gap: clamp(15px,2.35vw,34px); }
#product-info .dd-product-media { min-height: 360px; padding: 25px; background: var(--dd-page); }
#product-info .pdp-purchase { padding: clamp(16px,1.7vw,25px); border: 1px solid var(--dd-line); border-radius: 16px; background: var(--shop-soft); }
#product-info .pdp-summary { padding-block: 8px; }
.pdp-summary h2, #product-info .pdp-side-help h2 { font-size: 22px; line-height: 1.28; }
.pdp-short-specs { margin: 0 0 12px; }
.pdp-short-specs > div { display: grid; gap: 2px; padding: 7px 0; border-bottom: 1px solid var(--dd-line); }
.pdp-short-specs dt { color: var(--dd-quiet); font-size: .82rem; font-weight: 400; }
.pdp-short-specs dd { margin: 0; overflow-wrap: anywhere; color: var(--dd-ink); font-weight: 700; }
.dd-card-specs > div { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; }
.dd-card-specs dd { max-width: 56%; text-align: end; font-weight: 400; }
.pdp-summary form { margin-top: 20px; }
#product-info .pdp-summary form button { border: 0; background: transparent; padding: 7px; color: var(--dd-action); font-size: .8rem; }
.pdp-stock { padding: 0 0 14px; font-size: .85rem; font-weight: 700; border-bottom: 1px solid var(--dd-line); }
.pdp-price-label, .pdp-qty-label { margin: 14px 0 3px; color: var(--dd-quiet); font-size: .8rem; }
#product-info .dd-product-price { margin: 0 0 1rem; }
#product-info .pdp-purchase .price-new { font-size: clamp(25px,2.3vw,35px); }
#product-info .pdp-purchase #form-product .input-group { flex-wrap: wrap; }
#product-info .pdp-qty-label { flex: 0 0 100%; margin-bottom: 6px; }
#product-info .pdp-step { min-width: 30px; padding-inline: 5px; border: 1px solid var(--dd-line); color: var(--dd-ink); background: var(--dd-page); }
#product-info #input-quantity { flex: 0 1 43px; min-width: 33px; padding-inline: 2px; appearance: textfield; }
#product-info #input-quantity::-webkit-inner-spin-button { appearance: none; }
#product-info #button-cart { margin-left: 7px; border-radius: 8px; white-space: normal; font-size: .96rem; }
#product-info .dd-product-quote { padding: 12px; margin: 0; background: var(--dd-page); color: var(--dd-action); font-size: .89rem; }
.pdp-purchase-note { margin: 18px 0 0; color: var(--dd-quiet); font-size: .79rem; }
.pdp-details-grid { display: grid; grid-template-columns: minmax(0,2.2fr) minmax(250px,.8fr); align-items: start; gap: 34px; margin-top: 28px; }
.pdp-section { padding: 26px 0; border-bottom: 1px solid var(--dd-line); overflow-wrap: anywhere; }
.pdp-section img { max-width: 100%; height: auto; }
.pdp-section summary { cursor: pointer; font-size: 1.3rem; font-weight: 700; }
.pdp-section[open] summary { margin-bottom: 20px; }
.pdp-side-help { padding: 26px; color: white; background: #102e46; border-radius: 12px; }
#product-info .pdp-side-help h2 { color: white; }
.pdp-side-help .shop-eyebrow { color: #aacfe9; }
.pdp-side-help .btn { padding: 10px 16px; }
.shop-purchase-heading { margin: 14px 0 30px; }
.shop-purchase-heading > p:last-child { max-width: 720px; }
.container:is([id^="checkout-"],[id^="account-"]) .shop-purchase-heading h1 { font-size: clamp(29px,3.2vw,42px); }
#checkout-cart #shopping-cart, #account-register #form-register, #checkout-checkout #content > .row > div > div,
.container[id^="account-"] #content > :is(.table-responsive,form:not(#form-register)) {
  padding: clamp(16px, 2.2vw,32px); border: 1px solid var(--dd-line); border-radius: 16px; background: var(--dd-page);
}
#checkout-cart #shopping-cart h1 { font-size: 1.6rem; letter-spacing: -.025em; }
#checkout-cart .shop-purchase-heading h1 { margin-bottom: 12px; }
#checkout-cart #shopping-cart h2 { font-size: 1.25rem; }
#checkout-checkout #content > .row { --bs-gutter-x: 20px; }
#checkout-checkout #content > .row > div > div { margin-bottom: 16px; }
#checkout-checkout .form-control, #account-register .form-control { max-width: 100%; }
.shop-login-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px; }
.shop-login-card,.shop-member-card { padding: clamp(20px,3.1vw,40px); border-radius: 22px; border: 1px solid var(--dd-line); }
.shop-login-card { background: var(--dd-page); }
.shop-member-card { display: flex; flex-direction: column; align-items: start; background: #102e46; color: #fff; }
#account-login .shop-member-card h2 { font-size: clamp(29px,3vw,40px); color: white; margin-bottom: 18px; }
.shop-member-card ul { padding-left: 1.2rem; margin: 0 0 19px; }
.shop-member-card li { padding-block: 6px; }
.shop-member-card li span { display: block; color: #d2e1ed; font-size: .86rem; }
.shop-member-card > a:last-child { margin-top: 15px; color: #c4e8ff; }
.shop-member-card .shop-eyebrow { color: #abcee7; }
#account-login .shop-login-card .btn { width: 100%; margin-top: .8rem; }
.shop-login-help { margin: 25px 0 0; font-size: .86rem; color: var(--dd-quiet); }
:is(#account-login,#account-register,#account-account) > .row > #column-right { display: none; }
.shop-account-grid,.shop-wishlist-grid { display: grid; grid-template-columns: repeat(auto-fill,minmax(min(240px,100%),1fr)); gap: 18px; margin: 20px 0; }
.shop-account-grid > a,.shop-wishlist-card { position: relative; padding: clamp(16px,2vw,25px); border: 1px solid var(--dd-line); border-radius: 14px; background: var(--dd-page); color: var(--dd-ink); text-decoration: none; }
.shop-account-grid h2,.shop-wishlist-card h2 { padding-right: 12px; font-size: 1.2rem; }
.shop-account-grid p,.shop-wishlist-card p { margin: 0; color: var(--dd-quiet); font-size: .9rem; }
.shop-account-grid > a > span { position: absolute; right: 12px; top: 12px; color: var(--dd-action); }
.shop-more { padding: 18px 0; }
.shop-more summary { margin-bottom: 12px; font-weight: 700; }
.shop-wishlist-card img { width: 100%; height: 160px; object-fit: contain; }
.shop-wishlist-card .btn-danger { background: transparent; color: var(--dd-quiet); border-color: transparent; }
.shop-wish-price { font-size: 1.16rem; font-weight: 700; margin: 16px 0; }
.shop-compare-scroll { overflow-x: auto; border: 1px solid var(--dd-line); border-radius: 12px; }
.shop-compare-scroll .table { margin-bottom: 0; }
.shop-compare-scroll td { min-width: 140px; padding: 13px; vertical-align: middle; }
.shop-compare-scroll tbody td:first-child { position: sticky; left: 0; max-width: 180px; color: var(--dd-ink); background: var(--dd-panel); }
.shop-differences { margin-bottom: .8rem; }
@media(max-width:1023px) {
  #product-info .dd-product-layout { grid-template-columns: repeat(2,minmax(0,1fr)); }
  #product-info .pdp-summary { grid-column: 1 / -1; grid-row: 2; }
  .pdp-details-grid { grid-template-columns: minmax(0,1fr); }
}
@media(max-width:700px) {
  #product-info .dd-product-layout,.shop-login-grid { grid-template-columns: minmax(0,1fr); }
  #product-info .pdp-summary { grid-row: 3; }
  #product-info .dd-product-media { min-height: 200px; }
  .shop-pro-strip,.shop-heading { flex-direction: column; align-items: start; gap: 12px; }
  .shop-heading > a { white-space: normal; }
  .shop-pro-strip { padding: 18px; }
  .shop-query-row { flex-wrap: wrap; }
  .shop-query-row button { width: 100%; }
  .pdp-details-grid { gap: 18px; }
  .shop-compare-scroll tbody td:first-child { min-width: 105px; max-width: 120px; }
}

/* Native form rows sit within cards that already supply their side padding. */
:is(#account-forgotten,#account-register,#checkout-register) form fieldset .row { margin-inline:0; }
:is(#account-forgotten,#account-register,#checkout-register) form fieldset .row > :first-child { padding-inline-start:0; }
:is(#account-forgotten,#account-register,#checkout-register) form fieldset .row > :last-child { padding-inline-end:0; }
@media(max-width:991px) {
  :is(#account-forgotten,#account-register,#checkout-register) form fieldset .row > :is(.col-form-label,[class*="col-sm-"]) { width:100%; padding-inline:0; }
}

/* Keep the login greeting intact on narrow phones (320–360 px). */
@media(max-width:360px) {
  #account-login .shop-login-card h1 { font-size:1.6rem; }
}

/* Avoid isolated last letters in legal headings on small phones. */
@media(max-width:360px) {
  .dd-information .dlaw-hero h1 { font-size:26px; }
}

/* Explicit contrast against the dark sitemap hero. */
.map-page .map-hero h1 { color:#fff; }
