/* ==========================================================================
   CMS9 · Тема "Default" — SHOP-шар (картка товару + кошик/оформлення)
   Переклад монохромного Claude-Design макета (sec-product / sec-cart /
   sec-thankyou / sec-cartmodal) у storefront-стиль.
   Продовження theme.css: ті самі токени (--accent/--radius/--surface/--line…),
   namespace .dt-* . Завантажується ПІСЛЯ theme.css і final.min.css, тому
   переважує goodlook-базу за порядком; де goodlook специфічніший — піднімаємо
   вагу через обгортку .dt-prod / .dt-cart (а не !important).
   Дані/хуки НЕ чіпаються — тут лише візуал.
   ========================================================================== */

/* ==========================================================================
   PRODUCT PAGE
   ========================================================================== */
.dt-prod { display: flex; gap: 28px; padding: 8px 0 8px; align-items: flex-start; }
.dt-prod__gallery { width: 300px; flex: none; }
.dt-prod__info { flex: 1; min-width: 0; }
.dt-prod__aside { width: 250px; flex: none; display: flex; flex-direction: column; gap: 14px; }

/* ---- gallery (wraps goodlook .product-photo) --------------------------- */
.dt-prod__gallery .product-photo__row { margin: 0; }
.dt-prod__gallery .product-photo__item {
  position: relative; display: block; height: 300px; border-radius: var(--radius);
  overflow: hidden; background: var(--surface); border: 1px solid var(--line);
}
.dt-prod__gallery .product-photo__item--no-photo { display: flex; align-items: center; justify-content: center; }
.dt-prod__gallery .product-photo__img { width: 100%; height: 100%; object-fit: contain; }
.dt-prod__gallery .product-photo__labels {
  position: absolute; top: 12px; left: 12px; z-index: 2;
  display: flex; flex-direction: column; gap: 6px; align-items: flex-start;
}
.dt-prod__gallery .product-photo__label {
  display: inline-block; background: var(--accent); color: #fff; font-style: normal;
  font-size: 10px; font-weight: 600; letter-spacing: .12em; border-radius: var(--pill);
  padding: 4px 12px; text-transform: uppercase;
}
.dt-prod__gallery .product-photo__label--hot { background: #5f5f5f; }
.dt-prod__gallery .product-photo__label--discount,
.dt-prod__gallery .product-photo__label--action { background: var(--accent); }

/* thumbs strip below main photo */
.dt-prod__gallery .thumbs-slider { position: relative; margin-top: 10px; padding: 0 22px; }
.dt-prod__gallery .thumbs-slider__list { display: flex; gap: 8px; list-style: none; margin: 0; padding: 0; }
.dt-prod__gallery .thumbs-slider__item { flex: 1; min-width: 0; }
.dt-prod__gallery .thumbs-slider__photo {
  display: block; height: 64px; border-radius: 8px; overflow: hidden;
  background: var(--surface); border: 1.5px solid transparent;
}
.dt-prod__gallery .thumbs-slider__photo:hover,
.dt-prod__gallery .thumbs-slider__item [data-product-photo-thumb-active] { border-color: var(--accent); }
.dt-prod__gallery .thumbs-slider__imagebox,
.dt-prod__gallery .thumbs-slider__img { width: 100%; height: 100%; display: block; }
.dt-prod__gallery .thumbs-slider__img { object-fit: cover; }
.dt-prod__gallery .thumbs-slider__arrow {
  position: absolute; top: 50%; transform: translateY(-50%); width: 18px; height: 100%;
  display: flex; align-items: center; justify-content: center; cursor: pointer; color: var(--muted-2);
}
.dt-prod__gallery .thumbs-slider__arrow--prev { left: 0; }
.dt-prod__gallery .thumbs-slider__arrow--next { right: 0; }
.dt-prod__gallery .thumbs-slider__icon svg,
.dt-prod__gallery .thumbs-slider__icon .svg-icon { width: 12px; height: 12px; fill: currentColor; }
/* share render-point row */
.dt-prod__gallery .product-photo__row:last-child { margin-top: 14px; }

/* ---- info column ------------------------------------------------------- */
.dt-prod__brand { font-size: 12px; font-weight: 500; letter-spacing: .04em; color: var(--muted); }
.dt-prod__brand:hover { color: var(--accent); }
.dt-prod__title { font-size: 24px; font-weight: 600; line-height: 1.25; margin: 8px 0 0; }

.dt-prod__meta { display: flex; align-items: center; gap: 16px; margin-top: 10px; font-size: 12px; flex-wrap: wrap; }
.dt-prod__meta .k { color: var(--muted-2); }
.dt-prod__meta .v { color: var(--ink); }
.dt-prod__stars { display: inline-flex; align-items: center; gap: 8px; }
.dt-prod__stars-ico { letter-spacing: 1.5px; color: var(--ink); font-size: 13px; line-height: 1; }
.dt-prod__stars-ico .empty { color: #d9d9d9; }
.dt-prod__stars .votes { color: var(--muted-2); font-size: 11.5px; }

/* purchase block (wraps goodlook .product-purchase) --------------------- */
.dt-prod__info .product-purchase { margin-top: 18px; }
.dt-prod__info .product-purchase__row { margin: 0; }
.dt-prod__info .product-purchase__row--flex { display: block; }
.dt-prod__info .product-purchase__label { display: none; }

/* price */
.dt-prod__info .product-price { display: flex; align-items: baseline; gap: 14px; flex-wrap: wrap; margin-top: 4px; }
.dt-prod__info .product-price__old { order: 1; }
.dt-prod__info .product-price__old-value,
.dt-prod__info .product-price__old-cur { font-size: 15px; color: #bbb; text-decoration: line-through; }
.dt-prod__info .product-price__main { order: 2; display: flex; align-items: baseline; }
.dt-prod__info .product-price__main-value,
.dt-prod__info .product-price__main-cur { font-size: 34px; font-weight: 700; letter-spacing: -.01em; }
.dt-prod__info .product-price__main-coins { font-size: 20px; font-weight: 700; }
.dt-prod__info .product-price__addition { order: 3; width: 100%; font-size: 12px; color: var(--ink-2); margin-top: 2px; }

/* variants select restyle */
.dt-prod__info .variants-select { margin-top: 16px; }
.dt-prod__info .variants-select__field {
  border: 1px solid var(--line); border-radius: var(--pill); padding: 11px 40px 11px 18px;
  font: 400 12.5px var(--font); color: var(--ink); background: #fff; cursor: pointer; outline: none;
  -webkit-appearance: none; appearance: none; min-width: 220px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 24 24' fill='none' stroke='%23999' stroke-width='3'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  background-repeat: no-repeat; background-position: right 16px center;
}

/* buy row: qty stepper + add-to-cart + 1-click + actions all inline */
.dt-prod__info .product-purchase__row--flex:has(.product-buy) { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; margin-top: 18px; }
.dt-prod__info .product-purchase__col--basis-300 { flex: none; }

/* quantity stepper */
.dt-prod__info .form-input[data-form-quantity] {
  display: inline-flex; align-items: center; border: 1px solid #ddd; border-radius: var(--pill);
  overflow: hidden; font-size: 14px; padding: 0;
}
.dt-prod__info .form-input__control--quantity {
  width: 54px; text-align: center; border: 0; padding: 12px 4px; font: 500 14px var(--font);
  background: transparent; outline: none; -moz-appearance: textfield;
}
.dt-prod__info .form-input__control--quantity::-webkit-outer-spin-button,
.dt-prod__info .form-input__control--quantity::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }

/* add to cart button (goodlook .btn-primary inside buy form) */
.dt-prod__info .product-buy { display: inline-block; }
.dt-prod__info .product-buy__flex-container { display: inline-flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.dt-prod__info .product-buy__item { margin: 0; }
.dt-prod__info .product-buy .btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 9px;
  background: var(--accent); color: #fff; border: 1px solid var(--accent); border-radius: var(--pill);
  padding: 13px 30px; font-size: 13.5px; font-weight: 600; white-space: nowrap; cursor: pointer; line-height: 1;
}
.dt-prod__info .product-buy .btn:hover { opacity: .9; color: #fff; }
.dt-prod__info .product-buy .btn-default { background: transparent; color: var(--ink); border-color: var(--ink); }
.dt-prod__info .product-buy .btn--disabled { background: var(--surface); color: var(--muted-2); border-color: var(--line); }
.dt-prod__info .product-buy .btn__icon .svg-icon,
.dt-prod__info .product-buy .btn__icon svg { width: 15px; height: 15px; fill: currentColor; }
.dt-prod__info .product-buy--wrap .product-buy__flex-container { flex-direction: column; align-items: flex-start; gap: 6px; }

/* render-point "buy in 1 click" & product actions — pill / round buttons */
.dt-prod__info .one-click-order__btn,
.dt-prod__info .render-point [data-modal] .btn,
.dt-prod__info .btn-buy-one-click {
  display: inline-flex; align-items: center; justify-content: center;
  border: 1px solid var(--ink); color: var(--ink); background: #fff; border-radius: var(--pill);
  padding: 12px 22px; font-size: 12.5px; font-weight: 500; white-space: nowrap; cursor: pointer; line-height: 1;
}
.dt-prod__info .product-actions__list { display: inline-flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.dt-prod__info .product-actions__item {
  display: inline-flex; align-items: center; justify-content: center;
  min-width: 46px; height: 46px; border-radius: 50%; border: 1px solid #ddd; color: var(--ink);
  padding: 0 12px; font-size: 12px; cursor: pointer;
}
.dt-prod__info .product-actions__item:hover { border-color: var(--accent); }
.dt-prod__info .product-actions__item .svg-icon,
.dt-prod__info .product-actions__item svg { width: 17px; height: 17px; fill: none; stroke: currentColor; }
.dt-prod__info .product-actions__link { color: var(--ink); font-size: 0; }
.dt-prod__info .product-actions__item .link { font-size: 12px; }

/* system_bonus points badge */
.dt-prod__info .product-intro__bonus,
.dt-prod__info .system-bonus { display: inline-flex; margin-top: 16px; font-size: 11.5px; align-items: stretch; }
.dt-prod__info .product-intro__bonus [class*="label"],
.dt-prod__info .system-bonus__label {
  background: var(--accent); color: #fff; padding: 9px 16px; font-weight: 500; border-radius: 8px 0 0 8px;
}
.dt-prod__info .product-intro__bonus [class*="value"],
.dt-prod__info .system-bonus__value {
  border: 1px solid #ddd; border-left: none; padding: 9px 16px; font-weight: 700; border-radius: 0 8px 8px 0;
}

.dt-prod__short { font-size: 13px; font-weight: 300; color: var(--ink-2); line-height: 1.8; margin-top: 18px; }
.dt-prod__archived { font-size: 14px; color: var(--accent); font-weight: 500; margin-top: 18px; }

/* ---- aside boxes ------------------------------------------------------- */
.dt-prod__box { border: 1px solid var(--line); border-radius: var(--radius); padding: 16px; }
.dt-prod__box-head {
  font-size: 11px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase;
  display: flex; align-items: center; gap: 8px;
}
.dt-prod__box-head svg { width: 15px; height: 15px; }
.dt-prod__box-list { display: flex; flex-direction: column; gap: 8px; margin-top: 12px; font-size: 11.5px; font-weight: 300; color: var(--ink-2); }
.dt-prod__loyalty { background: var(--accent); color: #fff; border-radius: var(--radius); padding: 18px; text-align: center; }
.dt-prod__loyalty-t { font-size: 16px; font-weight: 700; letter-spacing: .04em; }
.dt-prod__loyalty-s { font-size: 12px; font-weight: 300; opacity: .8; margin-top: 4px; }

/* ==========================================================================
   PRODUCT TABS (wraps goodlook .intro-tab) + full info + reviews
   ========================================================================== */
.dt-tabs { margin-top: 36px; }
.dt-tabs .intro-tab__list {
  display: flex; gap: 26px; border-bottom: 1px solid var(--line); list-style: none; margin: 0; padding: 0;
  flex-wrap: wrap;
}
.dt-tabs .intro-tab__item { border: 0; }
.dt-tabs .intro-tab__button {
  display: inline-flex; align-items: center; padding: 0 0 12px; font-size: 13.5px; font-weight: 500;
  color: var(--ink); position: relative; border: 0; background: none; cursor: pointer;
}
.dt-tabs .intro-tab__button .intro-tab__icon { display: none; }
.dt-tabs .intro-tab__button.is-active::after {
  content: ""; position: absolute; left: 0; right: 0; bottom: -1px; height: 2px; background: var(--accent);
}
.dt-tabs .intro-tab__content { display: none; padding-top: 20px; }
.dt-tabs .intro-tab__content.is-active { display: block; }
.dt-tabs .typo { font-size: 13.5px; font-weight: 300; color: var(--ink-2); line-height: 1.85; max-width: 860px; }

/* properties table restyle */
.dt-tabs .properties__list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 0 40px; max-width: 860px; }
.dt-tabs .properties__item {
  display: flex; justify-content: space-between; gap: 16px; padding: 11px 0;
  border-bottom: 1px dotted var(--line); font-size: 12.5px;
}
.dt-tabs .properties__key { color: var(--muted-2); font-weight: 300; display: flex; align-items: center; gap: 6px; }
.dt-tabs .properties__val { font-weight: 500; text-align: right; }

/* shipping / payment inside tab */
.dt-tabs .product-shipping__row { margin-top: 18px; max-width: 860px; }
.dt-tabs .product-shipping__header { display: flex; align-items: center; gap: 10px; font-size: 14px; font-weight: 600; }
.dt-tabs .product-shipping__icon svg, .dt-tabs .product-shipping__icon .svg-icon { width: 16px; height: 16px; fill: currentColor; }
.dt-tabs .product-shipping__list { list-style: none; margin: 10px 0 0; padding: 0; display: flex; flex-direction: column; gap: 8px; font-size: 12.5px; color: var(--ink-2); }

/* full info (kits/accessories) */
.dt-fullinfo { margin-top: 12px; }
.dt-fullinfo .product-fullinfo__item { margin-top: 28px; }
.dt-fullinfo .product-fullinfo__title { font-size: 20px; font-weight: 600; margin-bottom: 16px; }

/* reviews block (comments module lives in tab; give it breathing room) */
.dt-tabs [data-comments] { max-width: 860px; }

/* similar / viewed widget wrappers — widgets already emit dt-cards */
.dt-prod-similar { margin-top: 36px; }
.dt-prod-similar__title { font-size: 20px; font-weight: 600; margin-bottom: 16px; }

/* ==========================================================================
   CART / CHECKOUT PAGE
   ========================================================================== */
.dt-cart { padding: 8px 0 40px; }
.dt-cart__layout { display: flex; gap: 32px; align-items: flex-start; }
.dt-checkout { flex: 1; min-width: 0; }
.dt-cart__aside { width: 360px; flex: none; }

/* step indicator */
.dt-steps { display: flex; align-items: center; gap: 10px; font-size: 11.5px; margin-bottom: 18px; flex-wrap: wrap; }
.dt-steps__item { display: flex; align-items: center; gap: 7px; color: var(--ink); }
.dt-steps__item--muted { color: var(--muted-2); }
.dt-steps__item--current { font-weight: 600; }
.dt-steps__num {
  width: 22px; height: 22px; border-radius: 50%; background: var(--accent); color: #fff;
  display: inline-flex; align-items: center; justify-content: center; font-size: 10px; flex: none;
}
.dt-steps__num--todo { background: #fff; color: var(--muted-2); border: 1px solid #ddd; }
.dt-steps__bar { width: 22px; height: 1px; background: #ddd; }

.dt-cart__title { font-size: 24px; font-weight: 600; padding-bottom: 14px; border-bottom: 2px solid var(--accent); display: inline-block; }
.dt-cart__signin { font-size: 12px; font-weight: 300; color: var(--muted-2); margin-top: 16px; }
.dt-cart__signin a { color: var(--ink); font-weight: 500; border-bottom: 1px solid var(--ink); }
.dt-cart__note { display: flex; align-items: center; gap: 8px; font-size: 11px; color: var(--muted-2); font-weight: 300; margin-top: 12px; }
.dt-cart__note svg { width: 13px; height: 13px; flex: none; }

/* --- checkout form: restyle goodlook .frame-content / .form / inputs --- */
.dt-checkout .frame-content { margin-top: 22px; }
.dt-checkout .frame-content__title { font-size: 11.5px; font-weight: 600; margin-bottom: 12px; }
.dt-checkout .frame-content__body { padding: 0; border: 0; }
.dt-checkout .form { display: flex; flex-direction: column; gap: 16px; max-width: 520px; }
.dt-checkout .form__field { display: block; margin: 0; }
.dt-checkout .form__label { font-size: 11.5px; font-weight: 500; margin-bottom: 6px; color: var(--ink); }
.dt-checkout .form__label--required::after { content: " *"; color: var(--accent); }
.dt-checkout .form-control,
.dt-checkout input[type="text"],
.dt-checkout input[type="email"],
.dt-checkout input[type="tel"],
.dt-checkout textarea {
  width: 100%; border: 1px solid #ddd; border-radius: var(--pill); padding: 12px 18px;
  font: 300 12.5px var(--font); color: var(--ink); background: #fff; outline: none;
}
.dt-checkout textarea { border-radius: 16px; min-height: 84px; resize: vertical; }
.dt-checkout .form-control:focus,
.dt-checkout input:focus, .dt-checkout textarea:focus { border-color: var(--accent); border-width: 1.5px; }
.dt-checkout .form-control::placeholder, .dt-checkout textarea::placeholder { color: #bbb; }
.dt-checkout .form__info { font-size: 11px; margin-top: 5px; color: var(--muted-2); }
.dt-checkout .form__info--error { color: #c0392b; }
.dt-checkout .message--error { background: #fdecea; color: #c0392b; border-radius: 10px; padding: 12px 16px; font-size: 12.5px; }
.dt-checkout .message--info { background: var(--surface); color: var(--ink-2); border-radius: 10px; padding: 12px 16px; font-size: 12px; }

/* delivery radio cards */
.dt-checkout .cart-delivery { display: flex; flex-direction: column; gap: 12px; max-width: 520px; }
.dt-checkout .cart-delivery__row { margin: 0; }
.dt-checkout .cart-delivery .radiogroup { position: relative; }
.dt-checkout .cart-delivery .radiogroup__input { position: absolute; opacity: 0; pointer-events: none; }
.dt-checkout .cart-delivery .radiogroup__label {
  display: block; border: 1px solid var(--line); border-radius: var(--radius); padding: 16px 18px; cursor: pointer; margin: 0;
}
.dt-checkout .cart-delivery .radiogroup__input:checked + .radiogroup__label { border: 1.5px solid var(--accent); }
.dt-checkout .cart-delivery .radiogroup__content { display: block; }
.dt-checkout .cart-delivery .delivery-radio { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; }
.dt-checkout .cart-delivery .radiogroup__radio {
  width: 18px; height: 18px; border-radius: 50%; border: 1.5px solid #ccc; flex: none;
  display: inline-block; position: relative; margin-right: 11px; vertical-align: -3px;
}
.dt-checkout .cart-delivery .radiogroup__input:checked + .radiogroup__label .radiogroup__radio { border-color: var(--accent); }
.dt-checkout .cart-delivery .radiogroup__input:checked + .radiogroup__label .radiogroup__radio::after {
  content: ""; position: absolute; inset: 3px; border-radius: 50%; background: var(--accent);
}
.dt-checkout .cart-delivery .delivery-radio__title { font-size: 13.5px; font-weight: 500; }
.dt-checkout .cart-delivery .delivery-radio__add-info { font-size: 11.5px; color: var(--muted-2); white-space: nowrap; }
.dt-checkout .cart-delivery .delivery-radio__price--accent { color: var(--accent); font-weight: 600; }
.dt-checkout .cart-delivery .delivery-radio__spoiler { margin: 12px 0 0 29px; }
.dt-checkout .cart-delivery .delivery-radio__spoiler.hidden { display: none; }
.dt-checkout .cart-payments { padding-top: 6px; }
.dt-checkout .cart-payments .form-control { max-width: 320px; }

/* confirm agreement + submit */
.dt-checkout .form__confirm { display: flex; align-items: center; gap: 9px; font-size: 12.5px; color: var(--ink-2); cursor: pointer; }
.dt-checkout .form__checkbox { width: 16px; height: 16px; accent-color: var(--accent); flex: none; }
.dt-checkout .form__checkbox-link { color: var(--ink); border-bottom: 1px solid var(--ink); }
.dt-checkout .btn-primary,
.dt-checkout input[type="submit"].btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 10px;
  background: var(--accent); color: #fff; border: 0; border-radius: var(--pill);
  padding: 15px 34px; font-size: 13.5px; font-weight: 500; white-space: nowrap; cursor: pointer; margin-top: 12px;
}
.dt-checkout .btn-primary:hover { opacity: .9; color: #fff; }
.dt-checkout .btn-primary[disabled], .dt-checkout input[type="submit"][disabled] { opacity: .45; cursor: not-allowed; }
.dt-checkout .btn-default {
  display: inline-flex; align-items: center; justify-content: center; border: 1px solid var(--line);
  background: #fff; color: var(--ink); border-radius: var(--pill); padding: 10px 18px; font-size: 12px; cursor: pointer;
}

/* ==========================================================================
   ORDER SUMMARY (wraps goodlook .cart-summary) — right aside + modal
   ========================================================================== */
.dt-summary__title { font-size: 24px; font-weight: 600; padding-bottom: 14px; border-bottom: 2px solid var(--accent); display: inline-block; }
.dt-summary__box { border: 1px solid var(--line); border-radius: var(--radius); padding: 18px; margin-top: 16px; }

.dt-summary__box .cart-summary { border: 0; }
.dt-summary__box .cart-prod-table__row {
  display: flex; align-items: center; gap: 12px; padding-bottom: 16px; border-bottom: 1px solid var(--line-2); margin-bottom: 16px;
}
.dt-summary__box .cart-prod-table__delete { order: -1; color: #bbb; font-size: 0; flex: none; }
.dt-summary__box .cart-prod-table__delete .svg-icon,
.dt-summary__box .cart-prod-table__delete svg { width: 14px; height: 14px; fill: currentColor; }
.dt-summary__box .cart-prod-table__info { display: flex; align-items: center; gap: 12px; flex: 1; min-width: 0; flex-wrap: wrap; }
.dt-summary__box .cart-prod-table__products-wrapper { display: flex; align-items: center; gap: 12px; flex: 1; min-width: 0; }
.dt-summary__box .cart-product { display: flex; align-items: center; gap: 12px; }
.dt-summary__box .cart-product__photo { width: 52px; height: 52px; border-radius: 8px; overflow: hidden; background: var(--surface-2); flex: none; }
.dt-summary__box .cart-product__photo .product-photo__img { width: 100%; height: 100%; object-fit: contain; }
.dt-summary__box .cart-product__title { font-size: 11.5px; font-weight: 400; line-height: 1.4; }
.dt-summary__box .cart-product__title a { color: var(--ink); }
.dt-summary__box .cart-product__row { font-size: 10.5px; color: var(--muted-2); margin-top: 2px; }
.dt-summary__box .cart-product__price .cart-price__item--old { color: #bbb; text-decoration: line-through; margin-right: 6px; }
.dt-summary__box .cart-prod-table__purchase { display: flex; align-items: center; gap: 12px; flex: none; margin-left: auto; }
.dt-summary__box .cart-prod-table__quantity .form-input {
  display: inline-flex; align-items: center; border: 1px solid #ddd; border-radius: var(--pill); overflow: hidden;
}
.dt-summary__box .cart-prod-table__quantity .form-input__control--quantity {
  width: 40px; text-align: center; border: 0; padding: 5px 2px; font: 500 12px var(--font); background: transparent; outline: none; -moz-appearance: textfield;
}
.dt-summary__box .cart-prod-table__quantity .form-input__control--quantity::-webkit-inner-spin-button,
.dt-summary__box .cart-prod-table__quantity .form-input__control--quantity::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
.dt-summary__box .cart-prod-table__price { font-size: 13px; font-weight: 600; white-space: nowrap; }
.dt-summary__box .cart-prod-table__icon { display: none; }

/* subtotal + coupon + total */
.dt-summary__box .cart-subtotal { display: flex; flex-direction: column; gap: 8px; margin-top: 4px; }
.dt-summary__box .cart-subtotal__row { display: flex; justify-content: space-between; font-size: 12.5px; color: var(--ink-2); }
.dt-summary__box .cart-subtotal__row--borderless { display: block; }
.dt-summary__box .cart-price__item--discount { color: var(--accent); }
.dt-summary__box .cart-total {
  display: flex; justify-content: space-between; align-items: baseline; margin-top: 14px; padding-top: 14px; border-top: 1px solid #eee;
}
.dt-summary__box .cart-total__label { font-size: 14px; font-weight: 600; }
.dt-summary__box .cart-total__value .cart-price__item { font-size: 22px; font-weight: 700; }

/* discount / gift-card drop-down as a pill */
.dt-summary__box .discount-drop-down { margin-top: 16px; }
.dt-summary__box .discount-drop-down__title { font-size: 12px; color: var(--ink-2); display: flex; align-items: center; gap: 8px; }
.dt-summary__box .discount-drop-down__link { color: var(--ink); border-bottom: 1px dashed #aaa; }
.dt-summary__box .discount-drop-down__body { margin-top: 10px; }
.dt-summary__box .discount-drop-down__body.is-hidden { display: none; }
.dt-summary__box .input-group { display: flex; background: var(--surface); border-radius: var(--pill); padding: 4px 4px 4px 18px; align-items: center; }
.dt-summary__box .input-group .form-control { flex: 1; border: 0; background: transparent; font: 300 12px var(--font); outline: none; }
.dt-summary__box .input-group .btn { background: var(--accent); color: #fff; border: 0; border-radius: var(--pill); padding: 9px 18px; font-size: 11.5px; font-weight: 500; white-space: nowrap; cursor: pointer; }

/* empty cart */
.dt-cart__empty { padding: 40px 0; }
.dt-cart__empty-title { font-size: 24px; font-weight: 600; }
.dt-cart__empty-text { font-size: 13px; font-weight: 300; color: var(--ink-2); margin: 12px 0 20px; }

/* ==========================================================================
   CART MODAL (wraps goodlook .modal + cart_summary)
   ========================================================================== */
.dt-cartmodal .modal__header, .dt-cartmodal .modal__title { font-size: 22px; font-weight: 600; }
.dt-cartmodal .modal__content { padding: 18px 4px 0; }
.dt-cartmodal .modal__footer { margin-top: 8px; }
.dt-cartmodal .modal__row--flex { display: flex; gap: 12px; }
.dt-cartmodal .modal__row--flex .btn { flex: 1; text-align: center; border-radius: var(--pill); padding: 12px; font-size: 13px; font-weight: 500; }
.dt-cartmodal .modal__row--flex .btn-default { border: 1px solid #ddd; background: #fff; color: var(--ink); }
.dt-cartmodal .modal__row--flex .btn-primary { background: var(--accent); color: #fff; border: 0; }
/* reuse the summary look inside the modal */
.dt-cartmodal .cart-prod-table__row { display: flex; align-items: center; gap: 12px; padding-bottom: 16px; border-bottom: 1px solid var(--line-2); margin-bottom: 12px; }
.dt-cartmodal .cart-product { display: flex; align-items: center; gap: 12px; }
.dt-cartmodal .cart-product__photo { width: 56px; height: 56px; border-radius: 8px; overflow: hidden; background: var(--surface-2); flex: none; }
.dt-cartmodal .cart-total { display: flex; justify-content: space-between; align-items: baseline; padding: 14px 0; }
.dt-cartmodal .cart-total__value .cart-price__item { font-size: 22px; font-weight: 700; }

/* ==========================================================================
   RESPONSIVE
   ========================================================================== */
@media (max-width: 1100px) {
  .dt-prod { flex-wrap: wrap; }
  .dt-prod__aside { width: 100%; flex-direction: row; flex-wrap: wrap; }
  .dt-prod__aside > * { flex: 1; min-width: 200px; }
}
@media (max-width: 900px) {
  .dt-prod { flex-direction: column; }
  .dt-prod__gallery, .dt-prod__info { width: 100%; }
  .dt-cart__layout { flex-direction: column; }
  .dt-cart__aside { width: 100%; }
}
@media (max-width: 640px) {
  .dt-tabs .properties__list { grid-template-columns: 1fr; }
  .dt-prod__info .product-buy__flex-container,
  .dt-prod__info .product-purchase__row--flex:has(.product-buy) { gap: 8px; }
}

/* ---- product polish overrides (beat goodlook base) ---------------------- */
.dt-prod .product-price, .dt-prod .product-price__main { color: var(--ink); font-size: 0; }
.dt-prod .product-price__main { font-size: 32px; font-weight: 700; line-height: 1; }
.dt-prod .product-price__old { font-size: 15px; color: #bbb; text-decoration: line-through; font-weight: 400; }
.dt-prod .product-price__main-cur, .dt-prod .product-price__old-cur { padding-left: 4px; }

/* ---- checkout: delivery/payment radio cards (goodlook markup → dt) ------- */
.dt-checkout .frame-content { margin-top: 18px; }
.dt-checkout .frame-content__title { font-size: 12px; font-weight: 600; letter-spacing: .02em; margin-bottom: 10px; }
.dt-checkout .cart-delivery { display: flex; flex-direction: column; gap: 9px; }
.dt-checkout .radiogroup__input { position: absolute; opacity: 0; pointer-events: none; }
.dt-checkout .radiogroup__label { display: flex; gap: 11px; align-items: flex-start; border: 1px solid var(--line); border-radius: var(--radius); padding: 13px 16px; cursor: pointer; transition: border-color .15s; }
.dt-checkout .radiogroup__input:checked + .radiogroup__label { border-color: var(--accent); box-shadow: inset 0 0 0 1px var(--accent); }
.dt-checkout .radiogroup__radio { width: 17px; height: 17px; border-radius: 50%; border: 1.5px solid #ccc; flex: none; margin-top: 1px; position: relative; }
.dt-checkout .radiogroup__input:checked + .radiogroup__label .radiogroup__radio { border-color: var(--accent); }
.dt-checkout .radiogroup__input:checked + .radiogroup__label .radiogroup__radio::after { content: ""; position: absolute; inset: 3px; border-radius: 50%; background: var(--accent); }
.dt-checkout .radiogroup__content { flex: 1; min-width: 0; }
.dt-checkout .delivery-radio { display: flex; justify-content: space-between; gap: 12px; align-items: flex-start; }
.dt-checkout .delivery-radio__info { display: flex; align-items: center; gap: 7px; flex-wrap: wrap; }
.dt-checkout .delivery-radio__title { font-size: 12.5px; font-weight: 500; }
.dt-checkout .delivery-radio__add-info { font-size: 10.5px; color: var(--muted); text-align: right; white-space: nowrap; }
.dt-checkout .delivery-radio__price { font-size: 12px; font-weight: 600; color: var(--ink); }
.dt-checkout .delivery-radio__price--accent { color: var(--accent); }
.dt-checkout .delivery-radio__spoiler { flex-basis: 100%; margin-top: 10px; }
.dt-checkout .delivery-radio__spoiler.hidden { display: none; }
.dt-checkout .cart-payments, .dt-checkout .NP_2 { margin-top: 12px; font-size: 12px; color: var(--ink-2); }
.dt-checkout .cart-payments select, .dt-checkout .NP_2 select, .dt-checkout select.card { border: 1px solid var(--line); border-radius: var(--pill); padding: 9px 16px; font: 400 12px var(--font); color: var(--ink); background: #fff; outline: none; cursor: pointer; }
.dt-checkout .tooltip__icon-wrapper { width: 15px; height: 15px; display: inline-flex; color: var(--muted-2); }
.dt-checkout .tooltip__message { display: none; }
.dt-checkout .tooltip:hover .tooltip__message { display: block; position: absolute; background: #fff; border: 1px solid var(--line); border-radius: 8px; padding: 8px 12px; font-size: 11px; max-width: 240px; z-index: 20; box-shadow: var(--shadow-pop); }

/* ==========================================================================
   PRODUCT POLISH (appended) — buy-row wishlist/compare icons + aside similar
   list. Scoped to .dt-prod__info / .dt-prod__aside so nothing else is touched.
   ========================================================================== */

/* --- buy-row wishlist / compare round buttons ----------------------------
   The sprite <use xlink:href=…#svg-icon__heart / #svg-icon__compare> paints
   nothing under the dt icon rules (fill:none;stroke:currentColor on a fill-based
   sprite symbol), so the control shows as an empty circle. Hide the broken sprite
   and draw a dt line-icon via CSS mask on the round wrapper. Targeted by the
   wrappers' own data-* hooks (product page only) — module output is NOT changed. */
.dt-prod__info .product-actions__item[data-ajax-inject^="wishlist-btn"] .product-actions__icon,
.dt-prod__info .product-actions__item[data-ajax-inject^="wishlist-btn"] svg,
.dt-prod__info .product-actions__item[data-compare-scope] .product-actions__icon,
.dt-prod__info .product-actions__item[data-compare-scope] svg { display: none; }

.dt-prod__info .product-actions__item[data-ajax-inject^="wishlist-btn"]::before,
.dt-prod__info .product-actions__item[data-compare-scope]::before {
  content: ""; width: 17px; height: 17px; flex: none; background: currentColor;
  -webkit-mask: center / contain no-repeat; mask: center / contain no-repeat;
}
.dt-prod__info .product-actions__item[data-ajax-inject^="wishlist-btn"]::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 20.5C7 16.5 3.5 13.2 3.5 9.4 3.5 6.6 5.6 4.5 8.2 4.5c1.5 0 3 .8 3.8 2 .8-1.2 2.3-2 3.8-2 2.6 0 4.7 2.1 4.7 4.9 0 3.8-3.5 7.1-8.5 11.1z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 20.5C7 16.5 3.5 13.2 3.5 9.4 3.5 6.6 5.6 4.5 8.2 4.5c1.5 0 3 .8 3.8 2 .8-1.2 2.3-2 3.8-2 2.6 0 4.7 2.1 4.7 4.9 0 3.8-3.5 7.1-8.5 11.1z'/%3E%3C/svg%3E");
}
.dt-prod__info .product-actions__item[data-compare-scope]::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 4v15'/%3E%3Cpath d='M8 19h8'/%3E%3Cpath d='M5 7h14'/%3E%3Cpath d='M5 7l-2.5 5.5a2.9 2.9 0 0 0 5 0L5 7z'/%3E%3Cpath d='M19 7l-2.5 5.5a2.9 2.9 0 0 0 5 0L19 7z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 4v15'/%3E%3Cpath d='M8 19h8'/%3E%3Cpath d='M5 7h14'/%3E%3Cpath d='M5 7l-2.5 5.5a2.9 2.9 0 0 0 5 0L5 7z'/%3E%3Cpath d='M19 7l-2.5 5.5a2.9 2.9 0 0 0 5 0L19 7z'/%3E%3C/svg%3E");
}

/* --- aside "Similar products" mini-list (wraps products_similar_sidebar) --- */
.dt-prod__aside .dt-prod__similar { padding: 16px; }
.dt-prod__similar .content__sidebar-item,
.dt-prod__similar .widget-sidebar { margin: 0; }
.dt-prod__similar .widget-sidebar__header { margin: 0 0 12px; }
.dt-prod__similar .widget-sidebar__title { font-size: 11px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; margin: 0; }
.dt-prod__similar .widget-sidebar__inner { display: flex; flex-direction: column; gap: 12px; }
.dt-prod__similar .widget-sidebar__item { margin: 0; }
.dt-prod__similar .product-thumb {
  display: grid; grid-template-columns: 44px 1fr; grid-template-areas: "photo title" "photo price";
  gap: 0 10px; align-items: center;
}
.dt-prod__similar .product-thumb__photo { grid-area: photo; width: 44px; height: 44px; border-radius: 8px; overflow: hidden; background: var(--surface-2); }
.dt-prod__similar .product-thumb__photo .product-photo,
.dt-prod__similar .product-thumb__photo .product-photo__item { display: block; width: 100%; height: 100%; padding: 0; border: 0; }
.dt-prod__similar .product-thumb__photo .product-photo__img { width: 100%; height: 100%; object-fit: contain; }
.dt-prod__similar .product-thumb__title { grid-area: title; align-self: end; margin: 0; font-size: 11px; font-weight: 400; line-height: 1.35; }
.dt-prod__similar .product-thumb__title a { color: var(--ink); }
.dt-prod__similar .product-thumb__price { grid-area: price; align-self: start; margin-top: 2px; }
.dt-prod__similar .product-thumb__price .product-price__main-value,
.dt-prod__similar .product-thumb__price .product-price__main-cur { font-size: 12.5px; font-weight: 600; }
.dt-prod__similar .product-thumb__price .product-price__old,
.dt-prod__similar .product-thumb__price .product-price__addition { display: none; }
