/* Draisap order form — the store's own stylesheet (the legacy all.css is gone; nothing is layered). */
/* The order form is shared by every site theme. Draisap defines the --dr-* tokens the form
   draws with; on any other theme (Serepok) map them onto that theme's own tokens so cards,
   chips and buttons keep their surfaces, and follow its dark mode. Draisap sets .dr-body on
   <body>, so this block never touches Draisap itself. */
body:not(.dr-body) {
    --dr-surface: var(--mtd-surface, #ffffff);
    --dr-surface-2: var(--mtd-surface-soft, #f7f9fc);
    --dr-soft: var(--mtd-surface-soft, #f7f9fc);
    --dr-line: var(--mtd-line, #dce4ef);
    --dr-line-soft: var(--mtd-soft-line, #edf1f7);
    --dr-line-card: var(--mtd-line, #dce4ef);
    --dr-ink: var(--mtd-ink, #141922);
    --dr-ink-2: var(--mtd-text, #2e3645);
    --dr-ink-3: var(--mtd-muted, #7a8596);
    --dr-accent: var(--mtd-primary, var(--primary, #1262ff));
    --dr-accent-hover: var(--primary-accented, var(--mtd-primary-hover, #0f4fd6));
    --dr-accent-rgb: 18, 98, 255;
    --dr-accent-tint: color-mix(in srgb, var(--dr-accent) 12%, var(--dr-surface));
    --dr-on-accent: var(--text-inverted, #ffffff);
    --dr-ok: var(--mtd-success, #27b85a);
    --dr-ok-tint: var(--mtd-success-soft, #e9f8ef);
    --dr-warn: var(--mtd-warning, #f59f00);
    --dr-warn-tint: var(--mtd-warning-soft, #fff5df);
    --dr-bad: var(--mtd-danger, #e5484d);
    --dr-bad-tint: var(--mtd-danger-soft, #fff0f1);
    --dr-shadow-card: var(--mtd-shadow, 0 16px 38px rgba(20, 25, 34, .08));
    --dr-shadow-pop: var(--mtd-shadow-strong, 0 22px 60px rgba(20, 25, 34, .12));
    --dr-control-line: var(--mtd-line, #dce4ef);
    --dr-shadow-knob: 0 1px 3px rgba(20, 25, 34, .25);
    --dr-teal: var(--secondary, #0f766e); --dr-teal-tint: #d9f4f0;
    --dr-violet: var(--notice, #6d28d9); --dr-violet-tint: #ede9fe;
    --dr-amber: var(--warning, #b45309); --dr-amber-tint: #fff1d6;
    --dr-radius-card: 16px;
    --dr-radius-control: 12px;
}
body.dark-mode:not(.dr-body) {
    --dr-accent-rgb: 96, 150, 255;
    --dr-accent-tint: color-mix(in srgb, var(--dr-accent) 22%, var(--dr-surface));
    --dr-ok-tint: rgba(39, 184, 90, .18);
    --dr-warn-tint: rgba(245, 159, 0, .18);
    --dr-bad-tint: rgba(229, 72, 77, .18);
    --dr-teal-tint: #173b37;
    --dr-violet-tint: #2e2450;
    --dr-amber-tint: #3f2f17;
}
/* Rules that used to live in draisap.css (the theme's store & checkout section). The order form is
   shared by every site theme, so its rules live here, after the tokens bridge. */
#order-standard-checkout { padding: 6px 0 20px; }
#order-standard-checkout > .row { display: flex; flex-wrap: wrap; gap: 20px; margin: 0; }
#order-standard-checkout .cart-sidebar { flex: 0 0 260px; max-width: 260px; padding: 0; }
#order-standard-checkout .cart-sidebar.sidebar-collapsed { flex: 0 0 56px; max-width: 56px; }
#order-standard-checkout .cart-body, #order-standard-checkout .secondary-cart-body { flex: 1 1 380px; min-width: 0; padding: 0; }
#order-standard-checkout .secondary-cart-sidebar { flex: 0 0 300px; max-width: 300px; padding: 0; }
@media (max-width: 1023px) {
    #order-standard-checkout .cart-sidebar, #order-standard-checkout .cart-sidebar.sidebar-collapsed, #order-standard-checkout .secondary-cart-sidebar { flex: 1 1 100%; max-width: none; }
}
#order-standard-checkout .card-sidebar, #order-standard-checkout .panel-sidebar { padding: 12px; }
#order-standard-checkout .card-sidebar .card-header, #order-standard-checkout .panel-sidebar .panel-heading { margin: 0 0 4px; padding: 6px 8px 10px; border: 0; background: transparent; }
#order-standard-checkout .card-sidebar .panel-title { display: flex; align-items: center; gap: 10px; margin: 0; font-size: 13px; font-weight: 800; }
#order-standard-checkout .card-sidebar .panel-title i:first-child { display: inline-flex; align-items: center; justify-content: center; width: 32px; height: 32px; border-radius: 10px; background: var(--dr-accent-tint); color: var(--dr-accent); font-size: 13px; }
#order-standard-checkout .card-sidebar .card-minimize { margin-left: auto; color: var(--dr-ink-3); font-size: 11px; }
#order-standard-checkout .card-sidebar .list-group { display: grid; gap: 2px; margin: 0; }
#order-standard-checkout .card-sidebar .list-group-item { display: flex; align-items: center; gap: 10px; padding: 9px 10px; border: 0; border-radius: 10px; background: transparent; color: var(--dr-ink-2); font-size: 13px; font-weight: 600; }
#order-standard-checkout .card-sidebar .list-group-item:hover, #order-standard-checkout .card-sidebar .list-group-item.active { background: var(--dr-accent-tint); color: var(--dr-accent); }
#order-standard-checkout .card-sidebar .card-body { padding: 4px 8px 8px; }
#order-standard-checkout .header-lined { margin: 0 0 18px; padding: 0 0 14px; border-bottom: 1px solid var(--dr-line-soft); }
#order-standard-checkout .header-lined h1 { margin: 0 0 4px; font-size: 26px !important; letter-spacing: -.02em; }
#order-standard-checkout .header-lined p { margin: 0; color: var(--dr-ink-2); }
#order-standard-checkout .sub-heading, #order-standard-checkout .sub-heading-borderless { position: relative; height: auto !important; margin: 26px 0 12px !important; padding: 0 0 8px; border: 0 !important; border-bottom: 1px solid var(--dr-line-soft) !important; text-align: left !important; }
#order-standard-checkout .sub-heading span, #order-standard-checkout .sub-heading-borderless span, #order-standard-checkout .sub-heading span.primary-bg-color { position: static !important; top: auto !important; display: inline-block; padding: 0 !important; background: transparent !important; font-size: 12px !important; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; color: var(--dr-ink-3) !important; }
#order-standard-checkout .sub-heading::before { display: none; }
#order-standard-checkout .products .row { row-gap: 18px; }
#order-standard-checkout .product { display: flex; flex-direction: column; height: 100%; padding: 0; border: 1px solid var(--dr-line-card); border-radius: var(--dr-radius-card); background: var(--dr-surface); box-shadow: var(--dr-shadow-card); overflow: hidden; }
#order-standard-checkout .product header { padding: 16px 20px; border-bottom: 1px solid var(--dr-line-soft); background: var(--dr-soft); font-size: 16px; font-weight: 800; }
#order-standard-checkout .product header .qty { float: right; font-size: 12px; color: var(--dr-ink-2); font-weight: 600; }
#order-standard-checkout .product-desc { flex: 1; padding: 16px 20px; color: var(--dr-ink-2); font-size: 13.5px; }
#order-standard-checkout .product-desc ul { margin: 10px 0 0; padding: 0; list-style: none; }
#order-standard-checkout .product-desc li { padding: 5px 0; border-bottom: 1px dashed var(--dr-line-soft); }
#order-standard-checkout .product-desc li .feature-value { font-weight: 700; color: var(--dr-ink); }
#order-standard-checkout .product footer { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 14px 20px; border-top: 1px solid var(--dr-line-soft); }
#order-standard-checkout .product-pricing { color: var(--dr-ink-2); font-size: 12.5px; line-height: 1.4; }
#order-standard-checkout .product-pricing .price { font-size: 22px; font-weight: 800; color: var(--dr-ink); letter-spacing: -.02em; }
#order-standard-checkout .btn-order-now { border-color: var(--dr-accent); background: var(--dr-accent); color: var(--dr-on-accent); box-shadow: 0 6px 16px rgba(var(--dr-accent-rgb), .25); }
#order-standard-checkout .btn-order-now:hover { filter: brightness(1.06); background: var(--dr-accent); }
#order-standard-checkout .prepend-icon { position: relative; }
#order-standard-checkout .prepend-icon .field-icon { position: absolute; top: 0; left: 0; display: flex; align-items: center; justify-content: center; width: 42px; height: 42px; color: var(--dr-ink-3); pointer-events: none; }
#order-standard-checkout .prepend-icon .field { padding-left: 42px; }
#order-standard-checkout .field-error-msg { color: var(--dr-bad); font-size: 12px; margin-top: 4px; }
#order-standard-checkout .item { display: flex; align-items: center; gap: 12px; padding: 14px 0; border-bottom: 1px solid var(--dr-line-soft); }
#order-standard-checkout .item-title { font-weight: 800; }
#order-standard-checkout .item-group { color: var(--dr-ink-2); font-size: 12.5px; }
#order-standard-checkout .item-price { margin-left: auto; text-align: right; font-weight: 700; font-variant-numeric: tabular-nums; }
#order-standard-checkout .item-price .cycle { display: block; color: var(--dr-ink-2); font-size: 12px; font-weight: 500; }
#order-standard-checkout .btn-remove-from-cart { color: var(--dr-bad); }
#order-standard-checkout .btn.primary-bg-color, #order-standard-checkout .badge.primary-bg-color { background: var(--dr-accent) !important; color: var(--dr-on-accent); }
#order-standard-checkout .checkout-security-msg { margin-top: 18px; }
#order-standard-checkout .summary-container, #order-standard-checkout .view-cart-tabs, #order-standard-checkout .order-summary { border: 1px solid var(--dr-line-card); border-radius: var(--dr-radius-card); background: var(--dr-surface); }
#order-standard-checkout .btn-block { width: 100%; }
#order-standard-checkout .form-control, #order-standard-checkout .custom-select, #order-standard-checkout input.field { background: var(--dr-surface) !important; color: var(--dr-ink) !important; border-color: var(--dr-line) !important; box-shadow: none; }
#order-standard-checkout .form-control:focus, #order-standard-checkout input.field:focus { border-color: var(--dr-accent) !important; box-shadow: 0 0 0 3px rgba(var(--dr-accent-rgb), .18); }
#order-standard-checkout .form-control::placeholder { color: var(--dr-ink-3); }
#order-standard-checkout .summary-container { border: 0 !important; border-radius: 0 !important; background: transparent !important; box-shadow: none !important; padding: 8px 18px 18px; }
#order-standard-checkout .order-summary .body, #order-standard-checkout .order-summary .subtotal, #order-standard-checkout .order-summary .recurring-totals, #order-standard-checkout .order-summary .total-due-today { background: transparent !important; color: var(--dr-ink); }
#order-standard-checkout .nav-tabs { display: flex; margin: 0; padding: 0 8px; border: 0; border-bottom: 1px solid var(--dr-line-soft); background: var(--dr-soft); }
#order-standard-checkout .nav-tabs .nav-item { margin: 0; }
#order-standard-checkout .nav-tabs .nav-link { position: relative; margin: 0; padding: 12px 12px; border: 0 !important; border-radius: 0; background: transparent !important; color: var(--dr-ink-3); font-size: 11.5px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
#order-standard-checkout .nav-tabs .nav-link.active { color: var(--dr-accent); }
#order-standard-checkout .nav-tabs .nav-link.active::after { content: ""; position: absolute; left: 12px; right: 12px; bottom: -1px; height: 2px; border-radius: 2px; background: var(--dr-accent); }
#order-standard-checkout .tab-content { padding: 18px; border: 0; border-radius: 0; background: var(--dr-surface); }
#order-standard-checkout .tab-content .btn-block { margin-top: 10px; }
#order-standard-checkout .tab-content .btn-default, #order-standard-checkout .btn-default { border: 1px solid var(--dr-line); background: var(--dr-surface); color: var(--dr-ink-2); font-weight: 700; border-radius: var(--dr-radius-control); }
#order-standard-checkout .btn-default:hover { border-color: var(--dr-accent); color: var(--dr-accent); background: var(--dr-accent-tint); }
#order-standard-checkout .order-summary .subtotal, #order-standard-checkout .order-summary .recurring-totals { padding: 10px 0; border-bottom: 1px solid var(--dr-line-soft); font-size: 13.5px; font-weight: 600; }
#order-standard-checkout .order-summary .recurring-totals { color: var(--dr-ink-2); font-weight: 500; }
#order-standard-checkout .order-summary .total-due-today { padding: 16px 0 6px; border-top: 0; text-align: right; }
#order-standard-checkout .order-summary .total-due-today .amt { display: block; font-size: 26px; font-weight: 800; letter-spacing: -.02em; color: var(--dr-ink); }
#order-standard-checkout .order-summary .total-due-today .text-secondary { color: var(--dr-ink-3); font-size: 12px; }
#order-standard-checkout .btn-success { border-color: var(--dr-accent); background: var(--dr-accent); color: var(--dr-on-accent); }
#order-standard-checkout .btn-success:hover { background: var(--dr-accent); filter: brightness(1.06); }
#order-standard-checkout .header-lined h1.font-size-36 { font-size: 26px !important; }
#order-standard-checkout .cart-sidebar.sidebar-collapsed .card-sidebar { padding: 8px; }
#order-standard-checkout .cart-sidebar.sidebar-collapsed .panel-title { font-size: 0; justify-content: center; }
#order-standard-checkout .cart-sidebar.sidebar-collapsed .panel-title i:first-child { margin: 0; }
#order-standard-checkout .cart-sidebar.sidebar-collapsed .list-group-item, #order-standard-checkout .cart-sidebar.sidebar-collapsed .card-minimize { display: none; }
@media (max-width: 767px) {
    #order-standard-checkout .cart-body > .sidebar-collapsed, #order-standard-checkout .secondary-cart-body > .sidebar-collapsed { display: grid; gap: 10px; margin-bottom: 16px; }
    #order-standard-checkout .cart-body > .sidebar-collapsed .panel, #order-standard-checkout .secondary-cart-body > .sidebar-collapsed .panel { margin: 0; padding: 0; border: 0; background: transparent; box-shadow: none; }
    #order-standard-checkout .cart-body > .sidebar-collapsed .panel-heading, #order-standard-checkout .secondary-cart-body > .sidebar-collapsed .panel-heading { padding: 0 0 6px !important; border: 0; background: transparent !important; }
    #order-standard-checkout .cart-body > .sidebar-collapsed .panel-title, #order-standard-checkout .secondary-cart-body > .sidebar-collapsed .panel-title { margin: 0; color: var(--dr-ink-3); font-size: 11.5px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
    #order-standard-checkout .cart-body > .sidebar-collapsed .panel-body, #order-standard-checkout .secondary-cart-body > .sidebar-collapsed .panel-body { padding: 0; }
}
html[data-theme="dark"] #order-standard-checkout .product header, body.dark-mode #order-standard-checkout .product header { background: var(--dr-soft); }
#order-standard-checkout .order-summary > h2 { text-align: left !important; border: 0; border-bottom: 1px solid var(--dr-line-soft); border-radius: 0; }
#order-standard-checkout .apply-credit-container, #order-standard-checkout .alert { border-radius: var(--dr-radius-control, 12px); }
#order-standard-checkout .apply-credit-container { padding: 14px 18px; background: var(--dr-soft); border: 1px solid var(--dr-line-soft); }
@media (max-width: 640px) {
    #order-standard-checkout .header-lined h1 { font-size: 22px !important; }
    #order-standard-checkout .product header { font-size: 15px; }
    #order-standard-checkout .cart-body > .pull-right, #order-standard-checkout .secondary-cart-body > .pull-right, #order-standard-checkout #btnAlreadyRegistered { float: none !important; width: 100%; margin: 0 0 12px; }
    #order-standard-checkout #btnAlreadyRegistered, #order-standard-checkout #btnNewUserSignup { display: flex; width: 100%; }
    #order-standard-checkout #btnNewUserSignup.w-hidden { display: none; }
#order-standard-checkout .dr-note.w-hidden { display: none; }
}
#order-standard-checkout .dr-hero--store { margin: 0 0 20px; }
#order-standard-checkout .dr-hero--store h1 { font-size: 26px !important; margin: 0; }
#order-standard-checkout .dr-card.dr-sidecard { margin-bottom: 16px; padding: 12px; }
#order-standard-checkout .dr-sidecard__head { display: flex; align-items: center; gap: 10px; padding: 6px 8px 10px; margin: 0; font-size: 13px; font-weight: 800; color: var(--dr-ink); }
#order-standard-checkout .dr-sidecard__head .badge { margin-left: auto; }
#order-standard-checkout .dr-sidecard__list { display: grid; gap: 2px; margin: 0; padding: 0; }
#order-standard-checkout .dr-sidecard__link.list-group-item { display: flex; align-items: center; gap: 10px; padding: 9px 10px; border: 0; border-radius: 10px; background: transparent; color: var(--dr-ink-2); font-size: 13px; font-weight: 600; text-decoration: none; }
#order-standard-checkout .dr-sidecard__link.list-group-item i { width: 16px; text-align: center; color: var(--dr-ink-3); font-size: 12px; }
#order-standard-checkout .dr-sidecard__link.list-group-item:hover, #order-standard-checkout .dr-sidecard__link.list-group-item.active { background: var(--dr-accent-tint); color: var(--dr-accent); }
#order-standard-checkout .dr-sidecard__link.list-group-item:hover i, #order-standard-checkout .dr-sidecard__link.list-group-item.active i { color: inherit; }
#order-standard-checkout .dr-sidecard__link .badge { margin-left: auto; }
#order-standard-checkout .dr-sidecard__body { padding: 4px 8px 8px; }
#order-standard-checkout .dr-sidecard__foot { padding: 8px; border: 0; background: transparent; }
/* mobile selects (replace the collapsed panels) */
#order-standard-checkout .dr-store-selects { display: none; }
#order-standard-checkout .dr-store-select { margin-bottom: 14px; }
#order-standard-checkout .dr-store-select__label { display: flex; align-items: center; gap: 8px; margin: 0 0 6px; color: var(--dr-ink-3); font-size: 11.5px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
#order-standard-checkout .dr-store-select__label i { color: var(--dr-accent); }
#order-standard-checkout .dr-store-select__foot { margin-top: 8px; }
@media (max-width: 767px) {
  #order-standard-checkout .cart-sidebar { display: none; }
  #order-standard-checkout .dr-store-selects { display: grid; gap: 0; margin: 0 0 6px; }
  #order-standard-checkout .dr-store-selects .dr-store-select { margin-bottom: 12px; }
}
/* product cards */
#order-standard-checkout .dr-product header { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
#order-standard-checkout .dr-product header .qty { float: none; font-size: 11px; }
#order-standard-checkout .dr-product .btn-order-now { white-space: nowrap; }
/* order confirmation */
#order-standard-checkout .dr-order-done { display: grid; justify-items: center; gap: 12px; padding: 34px 24px; text-align: center; }
#order-standard-checkout .dr-order-done__badge { display: grid; width: 60px; height: 60px; place-items: center; border-radius: 20px; background: var(--dr-ok-tint, rgba(22, 163, 74, .12)); color: var(--dr-ok, #16a34a); font-size: 24px; }
#order-standard-checkout .dr-order-done__number { display: grid; gap: 2px; }
#order-standard-checkout .dr-order-done__number small { color: var(--dr-ink-3); font-size: 11.5px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
#order-standard-checkout .dr-order-done__number span { color: var(--dr-ink); font-size: 28px; font-weight: 800; letter-spacing: -.02em; }
#order-standard-checkout .dr-order-done__note { margin: 0; max-width: 520px; color: var(--dr-ink-2); }
#order-standard-checkout .dr-order-done__actions { margin-top: 18px; }
#order-standard-checkout .alert.order-confirmation { display: none; }
/* configure product */
#order-standard-checkout .product-info { margin: 0 0 16px; padding: 16px 18px !important; border: 1px solid var(--dr-line-card) !important; border-radius: var(--dr-radius-card) !important; background: var(--dr-surface) !important; color: var(--dr-ink); box-shadow: var(--dr-shadow-card); }
#order-standard-checkout .product-info .product-title, #order-standard-checkout .product-info h2, #order-standard-checkout .product-info h3 { margin: 0; font-size: 16px; font-weight: 800; color: var(--dr-ink); }
#order-standard-checkout .product-info .product-description { margin: 6px 0 0; color: var(--dr-ink-2); font-size: 13px; }
#order-standard-checkout .alert { border: 1px solid transparent; border-radius: var(--dr-radius-control, 12px); }
#order-standard-checkout .btn-checkout, #order-standard-checkout #btnCompleteProductConfig { border-color: var(--dr-accent) !important; background: var(--dr-accent) !important; color: var(--dr-on-accent) !important; box-shadow: 0 6px 16px rgba(var(--dr-accent-rgb), .25); }
/* checkout: payment boxes follow the theme surface in both modes */
#order-standard-checkout .cc-input-container, #order-standard-checkout .apply-credit-container, #order-standard-checkout .existing-cards, #order-standard-checkout #existingCardInfo, #order-standard-checkout .checkout-security-msg, #order-standard-checkout .payment-methods .panel, #order-standard-checkout .panel-default, #order-standard-checkout .card.card-body { background: var(--dr-soft) !important; color: var(--dr-ink); border: 1px solid var(--dr-line-soft) !important; border-radius: var(--dr-radius-control, 12px) !important; }
#order-standard-checkout .cc-input-container .form-control { background: var(--dr-surface) !important; }
#order-standard-checkout .payment-methods, #order-standard-checkout #paymentGatewaysContainer { text-align: left; }
#order-standard-checkout .payment-methods .radio, #order-standard-checkout .payment-methods label { color: var(--dr-ink); }
#order-standard-checkout .cc-details, #order-standard-checkout .cc-input-container label, #order-standard-checkout .form-text, #order-standard-checkout .help-block { color: var(--dr-ink-2); }
/* product cards: all.css targets ".products .product" (higher specificity than the theme rules), so restate them here with the theme tokens — both light and dark */
#order-standard-checkout .products { margin: 0; }
#order-standard-checkout .products .product header span { margin: 0; color: var(--dr-ink); font-size: 16px; }
#order-standard-checkout .products .product header .qty { float: none; font-size: 11px; font-style: normal; color: var(--dr-ink-2); font-weight: 600; }
#order-standard-checkout .products .product div.product-desc { float: none; width: auto; flex: 1; padding: 16px 20px; color: var(--dr-ink-2); font-size: 13.5px; }
#order-standard-checkout .products .product div.product-desc ul { margin: 0; padding: 0; list-style: none; }
#order-standard-checkout .products .product div.product-desc ul:empty { display: none; }
#order-standard-checkout .products .product div.product-desc li { padding: 5px 0; border-bottom: 1px dashed var(--dr-line-soft); }
#order-standard-checkout .products .product span.feature-value { font-weight: 700; color: var(--dr-ink); }
#order-standard-checkout .products .product div.product-pricing { margin: 0; color: var(--dr-ink-2); line-height: 1.4; }
#order-standard-checkout .products .product div.product-pricing span.price { font-size: 22px; font-weight: 800; color: var(--dr-ink); letter-spacing: -.02em; }
#order-standard-checkout .products .product div.product-pricing br:last-child, #order-standard-checkout .products .product div.product-pricing br + br { display: none; }
#order-standard-checkout .products .product select { width: 100%; }
/* promo code + tax estimate: plain cards instead of the tabbed box */
#order-standard-checkout .dr-cart-promo, #order-standard-checkout .dr-cart-tax { margin: 20px 0 0; padding: 20px; text-align: left; }
#order-standard-checkout .dr-cart-promo .dr-card__head, #order-standard-checkout .dr-cart-tax .dr-card__head { margin-bottom: 14px; }
#order-standard-checkout .dr-cart-promo .dr-card__title, #order-standard-checkout .dr-cart-tax .dr-card__title { margin: 0; font-size: 15px; font-weight: 800; }
#order-standard-checkout .dr-cart-promo__form { margin: 0; }
#order-standard-checkout .dr-cart-promo .dr-input-row .form-control { min-height: 42px; }
#order-standard-checkout .dr-cart-promo .dr-input-row .btn { min-height: 42px; white-space: nowrap; }
#order-standard-checkout .dr-cart-promo__applied { display: flex; align-items: center; gap: 12px; padding: 12px 14px; border-radius: 12px; background: var(--dr-ok-tint); }
#order-standard-checkout .dr-cart-promo__badge { display: inline-flex; align-items: center; justify-content: center; width: 34px; height: 34px; border-radius: 10px; background: var(--dr-surface); color: var(--dr-ok); flex: none; }
#order-standard-checkout .dr-cart-promo__copy { flex: 1; min-width: 0; }
#order-standard-checkout .dr-cart-promo__copy strong { display: block; color: var(--dr-ink); }
#order-standard-checkout .dr-cart-promo__copy small { display: block; color: var(--dr-ink-2); }
#order-standard-checkout .dr-cart-tax .dr-fields { margin: 0; }
#order-standard-checkout .dr-cart-tax .dr-card__foot { margin: 18px -20px -20px; }
/* order summary actions: Checkout is the only button; Continue shopping is a quiet text link with room below it */
#order-standard-checkout .order-summary .btn-checkout { width: 100%; margin: 14px 0 0; margin-top: 12px; border-color: var(--dr-accent) !important; background: var(--dr-accent) !important; color: var(--dr-on-accent) !important; border-radius: var(--dr-radius-control) !important; box-shadow: 0 6px 16px rgba(var(--dr-accent-rgb), .25); }
#order-standard-checkout .order-summary .btn-continue-shopping { display: block; width: 100%; margin: 6px 0 4px; padding: 10px 0; border: 0 !important; border-radius: 0; background: transparent !important; box-shadow: none !important; color: var(--dr-ink-2) !important; font-size: 13px; font-weight: 700; text-align: center; text-decoration: none; }
#order-standard-checkout .order-summary .btn-continue-shopping:hover { color: var(--dr-accent) !important; }
#order-standard-checkout .order-summary .text-right > br { display: none; }

/* ===== Typed products: images, badges, variants, gallery ===== */
.dr-product--has-image { padding-top: 0; }
.dr-product__image { display: block; margin: -1px -1px 14px; aspect-ratio: 16 / 9; overflow: hidden; border-radius: 16px 16px 0 0; background: var(--dr-soft); }
.dr-product__image img { width: 100%; height: 100%; object-fit: cover; display: block; }
.dr-product__badges { display: flex; flex-wrap: wrap; gap: 6px; margin: 4px 0 10px; }
.dr-product__benefits { list-style: none; margin: 0 0 12px; padding: 0; display: grid; gap: 6px; font-size: 13.5px; }
.dr-product__benefits li i { color: var(--dr-ok); margin-right: 6px; }
.dr-store-product { display: grid; gap: 22px; margin-bottom: 20px; }
.dr-store-product--gallery { grid-template-columns: minmax(0, 320px) minmax(0, 1fr); }
@media (max-width: 767px) { .dr-store-product--gallery { grid-template-columns: 1fr; } }
.dr-store-gallery__main { position: relative; aspect-ratio: 1 / 1; overflow: hidden; border-radius: 16px; background: var(--dr-soft); }
.dr-store-gallery__main img { width: 100%; height: 100%; object-fit: cover; display: block; }
.dr-store-gallery__thumbs { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 10px; }
.dr-store-gallery__thumb.is-active { border-color: var(--dr-accent); }
.dr-store-gallery__thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.dr-store-facts { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 10px 18px; margin: 12px 0 0; font-size: 13px; }
.dr-store-facts dt { color: var(--dr-ink-3); font-size: 11.5px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.dr-store-facts dd { margin: 2px 0 0; color: var(--dr-ink); font-weight: 600; }
.dr-store-options { margin-bottom: 20px; }
.dr-store-options__state { margin: -4px 0 12px; font-size: 13px; font-weight: 600; }
.dr-store-options__state.is-ok { color: var(--dr-ok); }
.dr-store-options__state.is-warn { color: var(--dr-warn, #b06a00); }
.dr-store-options__state.is-bad { color: var(--dr-bad); }
.dr-store-options .dr-switch-row { margin-top: 4px; }
.dr-cart-extras { display: flex; flex-wrap: wrap; gap: 6px 14px; margin-top: 4px; color: var(--dr-ink-2); }
.dr-cart-extras i { color: var(--dr-accent); margin-right: 4px; }

/* ===== Checkout shipping ===== */
.dr-ship { margin-bottom: 8px; }
.dr-ship.is-busy { opacity: .6; pointer-events: none; }
.dr-ship__pane { margin-top: 14px; }
.dr-ship__pane[hidden] { display: none; }
.dr-ship .dr-switch-row { padding: 6px 0 0; }
.dr-ship-methods { margin-bottom: 8px; }
.dr-ship-methods__list .dr-choice { align-items: center; }
.dr-ship-method__price { margin-left: auto; padding-right: 12px; font-weight: 800; color: var(--dr-ink); white-space: nowrap; }
.dr-ship-method .dr-choice__copy small { display: block; }

/* ---- Storefront v2: card media/gallery, quick view, product page ---- */
/* catalog grid: max 3 per row on a 6-track grid; a lone last card spans the row, two leftovers split it 50/50 */
#order-standard-checkout .dr-store-grid { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 20px; }
#order-standard-checkout .dr-store-grid .store-product-column { min-width: 0; grid-column: span 2; }
#order-standard-checkout .dr-store-grid .store-product-column.is-half { grid-column: span 3; }
#order-standard-checkout .dr-store-grid .store-product-column.is-wide { grid-column: span 6; }
#order-standard-checkout .dr-store-grid .is-wide .dr-product { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); grid-template-rows: auto 1fr auto; }
#order-standard-checkout .dr-store-grid .is-wide .dr-product__media { grid-row: 1 / span 3; height: 100%; border-radius: var(--dr-radius-card) 0 0 var(--dr-radius-card); display: flex; flex-direction: column; }
#order-standard-checkout .dr-store-grid .is-wide .dr-product__image { flex: 1; aspect-ratio: auto; min-height: 280px; }
#order-standard-checkout .dr-store-grid .is-wide .products .product header, #order-standard-checkout .dr-store-grid .is-wide .dr-product > header { border-radius: 0 var(--dr-radius-card) 0 0; }
@media (max-width: 1100px) {
    #order-standard-checkout .dr-store-grid .store-product-column, #order-standard-checkout .dr-store-grid .store-product-column.is-half, #order-standard-checkout .dr-store-grid .store-product-column.is-wide { grid-column: span 3; }
    #order-standard-checkout .dr-store-grid .store-product-column:nth-child(2n+1):last-child { grid-column: span 6; }
    #order-standard-checkout .dr-store-grid .is-wide .dr-product, #order-standard-checkout .dr-store-grid .is-wide .dr-product__media, #order-standard-checkout .dr-store-grid .is-wide .dr-product__image { display: flex; flex-direction: column; height: auto; grid-row: auto; border-radius: var(--dr-radius-card) var(--dr-radius-card) 0 0; aspect-ratio: 4 / 3; min-height: 0; }
    #order-standard-checkout .dr-store-grid .is-wide .dr-product { aspect-ratio: auto; border-radius: var(--dr-radius-card); }
    #order-standard-checkout .dr-store-grid .is-wide .dr-product__media { aspect-ratio: auto; }
    #order-standard-checkout .dr-store-grid .store-product-column:nth-child(2n+1):last-child .dr-product { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); grid-template-rows: auto 1fr auto; }
    #order-standard-checkout .dr-store-grid .store-product-column:nth-child(2n+1):last-child .dr-product__media { grid-row: 1 / span 3; height: 100%; border-radius: var(--dr-radius-card) 0 0 var(--dr-radius-card); display: flex; flex-direction: column; }
    #order-standard-checkout .dr-store-grid .store-product-column:nth-child(2n+1):last-child .dr-product__image { flex: 1; aspect-ratio: auto; min-height: 240px; }
    /* Wide Cards template: every product stays a full-width horizontal card down to phone width */
    #order-standard-checkout .dr-store-grid--wide .store-product-column.is-wide { grid-column: span 6; }
    #order-standard-checkout .dr-store-grid--wide .is-wide .dr-product { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); grid-template-rows: auto 1fr auto; aspect-ratio: auto; border-radius: var(--dr-radius-card); }
    #order-standard-checkout .dr-store-grid--wide .is-wide .dr-product__media { grid-row: 1 / span 3; height: 100%; aspect-ratio: auto; border-radius: var(--dr-radius-card) 0 0 var(--dr-radius-card); display: flex; flex-direction: column; }
    #order-standard-checkout .dr-store-grid--wide .is-wide .dr-product__image { flex: 1; aspect-ratio: auto; min-height: 240px; }
}
@media (max-width: 680px) {
    #order-standard-checkout .dr-store-grid { grid-template-columns: minmax(0, 1fr); }
    #order-standard-checkout .dr-store-grid .store-product-column, #order-standard-checkout .dr-store-grid .store-product-column.is-half, #order-standard-checkout .dr-store-grid .store-product-column.is-wide, #order-standard-checkout .dr-store-grid .store-product-column:nth-child(2n+1):last-child { grid-column: auto; }
    #order-standard-checkout .dr-store-grid .store-product-column:nth-child(2n+1):last-child .dr-product, #order-standard-checkout .dr-store-grid .is-wide .dr-product { display: flex; flex-direction: column; }
    #order-standard-checkout .dr-store-grid .store-product-column:nth-child(2n+1):last-child .dr-product__media, #order-standard-checkout .dr-store-grid .is-wide .dr-product__media { grid-row: auto; height: auto; border-radius: var(--dr-radius-card) var(--dr-radius-card) 0 0; }
    #order-standard-checkout .dr-store-grid .store-product-column:nth-child(2n+1):last-child .dr-product__image, #order-standard-checkout .dr-store-grid .is-wide .dr-product__image { aspect-ratio: 4 / 3; min-height: 0; flex: none; }
}
/* Rows of product cards always fill the width (owner, November 6, 2026: "Make the single card full width, 2 cards
   fill up width, so it looks professional."). Worked out here rather than in the templates, so every product list
   follows it alike (the store's front page, a category, search results, memberships, related products, and the
   wishlist as cards are taken off it): rows of three, and what is left over fills the last row. A card on its own
   spans the row as a wide card, its picture beside the details; two share it half and half; four make two rows of
   two rather than three and a lone one. Tablets (two a row) and phones (one) keep their rules above, and the Wide
   Cards store style (every card wide) is left as it is. */
@media (min-width: 1101px) {
    #order-standard-checkout .dr-store-grid:not(.dr-store-grid--wide) .store-product-column:nth-child(3n+1):nth-last-child(2),
    #order-standard-checkout .dr-store-grid:not(.dr-store-grid--wide) .store-product-column:nth-child(3n+1):nth-last-child(2) + .store-product-column,
    #order-standard-checkout .dr-store-grid:not(.dr-store-grid--wide) .store-product-column:nth-child(3n+1):nth-last-child(4),
    #order-standard-checkout .dr-store-grid:not(.dr-store-grid--wide) .store-product-column:nth-child(3n+1):nth-last-child(4) ~ .store-product-column { grid-column: span 3; }
    #order-standard-checkout .dr-store-grid:not(.dr-store-grid--wide) .store-product-column:nth-child(3n+1):nth-last-child(2) .dr-product__image,
    #order-standard-checkout .dr-store-grid:not(.dr-store-grid--wide) .store-product-column:nth-child(3n+1):nth-last-child(2) + .store-product-column .dr-product__image,
    #order-standard-checkout .dr-store-grid:not(.dr-store-grid--wide) .store-product-column:nth-child(3n+1):nth-last-child(4) .dr-product__image,
    #order-standard-checkout .dr-store-grid:not(.dr-store-grid--wide) .store-product-column:nth-child(3n+1):nth-last-child(4) ~ .store-product-column .dr-product__image { aspect-ratio: 3 / 2; }
    #order-standard-checkout .dr-store-grid:not(.dr-store-grid--wide) .store-product-column:only-child { grid-column: span 6; }
    #order-standard-checkout .dr-store-grid:not(.dr-store-grid--wide) .store-product-column:only-child .dr-product { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); grid-template-rows: auto 1fr auto; }
    #order-standard-checkout .dr-store-grid:not(.dr-store-grid--wide) .store-product-column:only-child .dr-product__media { grid-row: 1 / span 3; height: 100%; border-radius: var(--dr-radius-card) 0 0 var(--dr-radius-card); display: flex; flex-direction: column; }
    #order-standard-checkout .dr-store-grid:not(.dr-store-grid--wide) .store-product-column:only-child .dr-product__image { flex: 1; aspect-ratio: auto; min-height: 280px; }
    #order-standard-checkout .dr-store-grid:not(.dr-store-grid--wide) .store-product-column:only-child .dr-product > header { border-radius: 0 var(--dr-radius-card) 0 0; }
}
#order-standard-checkout .products .product { margin: 0; display: flex; flex-direction: column; height: 100%; padding: 0; border: 1px solid var(--dr-line-card); border-radius: var(--dr-radius-card); background: var(--dr-surface); color: var(--dr-ink); box-shadow: var(--dr-shadow-card); overflow: hidden; }
#order-standard-checkout .dr-product__media { position: relative; border-radius: var(--dr-radius-card) var(--dr-radius-card) 0 0; overflow: hidden; background: var(--dr-soft); }
#order-standard-checkout .dr-product__image { display: block; margin: 0; aspect-ratio: 4 / 3; overflow: hidden; border-radius: 0; background: var(--dr-soft); }
#order-standard-checkout .dr-product__image img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .3s ease; }
#order-standard-checkout .dr-product:hover .dr-product__image img { transform: scale(1.03); }
#order-standard-checkout .dr-product__image--empty { display: flex; align-items: center; justify-content: center; color: var(--dr-accent); font-size: 44px; background: var(--dr-accent-tint); }
#order-standard-checkout .dr-product__quick { position: absolute; top: 12px; right: 12px; display: inline-flex; align-items: center; gap: 6px; padding: 7px 12px; border: 1px solid var(--dr-line); border-radius: 999px; background: var(--dr-surface); color: var(--dr-ink); font-size: 12.5px; font-weight: 700; box-shadow: var(--dr-shadow-pop); opacity: 0; transform: translateY(-4px); transition: opacity .15s ease, transform .15s ease; cursor: pointer; }
#order-standard-checkout .dr-product:hover .dr-product__quick, #order-standard-checkout .dr-product__quick:focus-visible { opacity: 1; transform: none; }
#order-standard-checkout .dr-product__quick:hover { color: var(--dr-accent); border-color: rgba(var(--dr-accent-rgb), .45); }
#order-standard-checkout .dr-product__thumbs { display: flex; gap: 6px; padding: 8px 12px; background: var(--dr-surface); border-top: 1px solid var(--dr-line-soft); overflow-x: auto; }
#order-standard-checkout .dr-product__thumb { flex: none; width: 44px; height: 44px; padding: 0; border: 2px solid transparent; border-radius: 9px; overflow: hidden; background: var(--dr-soft); cursor: pointer; }
#order-standard-checkout .dr-product__thumb.is-active { border-color: var(--dr-accent); }
#order-standard-checkout .dr-product__thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
#order-standard-checkout .products .product header { border-radius: 0; margin: 0; padding: 16px 20px; border-bottom: 1px solid var(--dr-line-soft); background: var(--dr-soft); font-size: 16px; font-weight: 800; }
#order-standard-checkout .dr-product__name a { color: var(--dr-ink); }
#order-standard-checkout .dr-product__name a:hover { color: var(--dr-accent); }
#order-standard-checkout .dr-product__facts { display: flex; flex-wrap: wrap; gap: 6px 14px; margin-top: 10px; font-size: 12.5px; color: var(--dr-ink-2); }
#order-standard-checkout .dr-product__facts i { color: var(--dr-accent); margin-right: 3px; }
#order-standard-checkout .products .product footer { flex-wrap: wrap; float: none; width: auto; margin: 0; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 14px 20px; border-top: 1px solid var(--dr-line-soft); font-size: 12.5px; text-align: left; }
#order-standard-checkout .dr-product__actions { display: flex; align-items: center; gap: 8px; margin-left: auto; }
/* A card in a row of three squeezed "View details" onto two lines. A button keeps its words on one line; in a narrow
   card the buttons share the footer's whole width, side by side when they fit and one under the other, equally
   wide, when they don't (the words of some languages are longer). */
#order-standard-checkout .dr-product__actions { flex-wrap: wrap; justify-content: flex-end; }
#order-standard-checkout .dr-product__actions .btn { white-space: nowrap; }
#order-standard-checkout .dr-store-grid .store-product-column { container-type: inline-size; }
@container (max-width: 340px) {
    #order-standard-checkout .dr-product__actions { width: 100%; margin-left: 0; }
    #order-standard-checkout .dr-product__actions .btn { flex: 1 1 auto; justify-content: center; }
}
#order-standard-checkout .dr-price { display: grid; gap: 0; line-height: 1.25; }
#order-standard-checkout .dr-price .price { font-size: 22px; font-weight: 800; color: var(--dr-ink); letter-spacing: -.02em; }
#order-standard-checkout .dr-price__eyebrow, #order-standard-checkout .dr-price__cycle, #order-standard-checkout .dr-price__setup { font-size: 12px; color: var(--dr-ink-2); }
@media (max-width: 480px) { #order-standard-checkout .dr-product__actions { width: 100%; margin-left: 0; } #order-standard-checkout .dr-product__actions .btn { flex: 1; } #order-standard-checkout .dr-product__quick { opacity: 1; transform: none; } }
@media (hover: none) { #order-standard-checkout .dr-product__quick { opacity: 1; transform: none; } }

/* quick view */
.dr-quick .modal-dialog { max-width: 940px; margin: 5vh auto; }
.dr-quick .modal-content { padding: 0; overflow: hidden; }
.dr-quick__close { position: absolute; top: 14px; right: 14px; z-index: 3; display: inline-flex; align-items: center; justify-content: center; width: 34px; height: 34px; padding: 0; border: 1px solid var(--dr-line); border-radius: 999px; background: var(--dr-surface); color: var(--dr-ink-2); cursor: pointer; }
.dr-quick__close:hover { color: var(--dr-ink); border-color: var(--dr-accent); }
.dr-quick__grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: stretch; }
.dr-quick__media { padding: 22px; background: var(--dr-soft); border-right: 1px solid var(--dr-line-soft); }
.dr-quick__media .dr-store-gallery { position: sticky; top: 22px; }
.dr-quick__media .dr-store-gallery__main { aspect-ratio: 1 / 1; display: flex; align-items: center; justify-content: center; border-radius: 14px; background: var(--dr-surface); }
.dr-quick__media .dr-store-gallery__thumbs { gap: 8px; margin-top: 10px; }
.dr-quick__media .dr-store-gallery__thumb { width: 54px; height: 54px; padding: 0; border: 2px solid transparent; border-radius: 10px; overflow: hidden; background: var(--dr-surface); }
.dr-quick__placeholder { display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; border-radius: 14px; color: var(--dr-accent); font-size: 56px; background: var(--dr-accent-tint); }
.dr-quick__panel { display: flex; flex-direction: column; min-width: 0; max-height: min(78vh, 760px); }
.dr-quick__copy { flex: 1; min-height: 0; overflow-y: auto; display: grid; align-content: start; gap: 10px; padding: 24px 24px 20px; }
.dr-quick__copy > .dr-hero__eyebrow { margin: 0; padding-right: 40px; }
.dr-quick__title { margin: 0; font-size: 22px; font-weight: 800; letter-spacing: -.01em; line-height: 1.25; }
.dr-quick__rating { gap: 6px; }
.dr-quick__rating span:last-child { color: var(--dr-ink-3); }
.dr-quick__meta { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; }
.dr-quick__meta:empty { display: none; }
.dr-quick__meta .dr-product__badges { display: inline-flex; flex-wrap: wrap; gap: 6px; margin: 0; }
.dr-quick__price { padding: 2px 0 2px; }
.dr-quick__price .price { font-size: 26px; font-weight: 800; letter-spacing: -.02em; color: var(--dr-ink); }
.dr-quick__price small { display: block; font-size: 12px; color: var(--dr-ink-2); }
.dr-quick__desc { display: -webkit-box; -webkit-line-clamp: 5; -webkit-box-orient: vertical; overflow: hidden; color: var(--dr-ink-2); font-size: 13.5px; line-height: 1.7; }
.dr-quick__desc.is-open { display: block; }
.dr-quick__desc p:last-child { margin-bottom: 0; }
.dr-quick__more { justify-self: start; margin-top: -4px; color: var(--dr-accent); font-size: 13px; font-weight: 700; }
.dr-quick__features { list-style: none; margin: 0; padding: 0; display: grid; gap: 2px; font-size: 13px; color: var(--dr-ink-2); }
.dr-quick__features li { padding: 6px 0; border-bottom: 1px dashed var(--dr-line-soft); }
.dr-quick__features li:last-child { border-bottom: 0; }
.dr-quick__features .feature-value { font-weight: 700; color: var(--dr-ink); }
.dr-quick__facts { list-style: none; margin: 4px 0 0; padding: 14px 0 0; border-top: 1px solid var(--dr-line-soft); display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px 16px; }
.dr-quick__facts li { display: flex; align-items: flex-start; gap: 10px; min-width: 0; }
.dr-quick__facts li > i { flex: none; display: inline-flex; align-items: center; justify-content: center; width: 30px; height: 30px; border-radius: 9px; background: var(--dr-accent-tint); color: var(--dr-accent); font-size: 13px; }
.dr-quick__facts li > span { min-width: 0; }
.dr-quick__facts small { display: block; color: var(--dr-ink-3); font-size: 11px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.dr-quick__facts strong { display: block; color: var(--dr-ink); font-size: 13.5px; font-weight: 700; overflow-wrap: anywhere; }
.dr-quick__foot { flex: none; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 10px; padding: 16px 24px; border-top: 1px solid var(--dr-line-soft); background: var(--dr-soft); }
.dr-quick__foot .btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 46px; }
.dr-quick__foot .btn[hidden] { display: none; }
.dr-quick__foot:has(.btn[hidden]) { grid-template-columns: minmax(0, 1fr); }
@media (max-width: 720px) {
    .dr-quick .modal-dialog { margin: 3vh auto; }
    .dr-quick__grid { grid-template-columns: minmax(0, 1fr); }
    .dr-quick__media { padding: 16px; border-right: 0; border-bottom: 1px solid var(--dr-line-soft); }
    .dr-quick__media .dr-store-gallery { position: static; }
    .dr-quick__panel { max-height: none; }
    .dr-quick__copy { padding: 18px; }
    .dr-quick__facts { grid-template-columns: minmax(0, 1fr); }
    .dr-quick__foot { padding: 14px 18px; }
}

/* product page */
#order-standard-checkout .dr-pdp__grid { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); gap: 28px; }
#order-standard-checkout .dr-pdp__grid--no-media { grid-template-columns: 200px minmax(0, 1fr); }
#order-standard-checkout .dr-pdp__placeholder { display: flex; align-items: center; justify-content: center; aspect-ratio: 1 / 1; border-radius: 16px; background: var(--dr-accent-tint); color: var(--dr-accent); font-size: 64px; }
#order-standard-checkout .dr-pdp__copy { min-width: 0; display: grid; align-content: start; gap: 14px; }
#order-standard-checkout .dr-pdp__copy .dr-price .price { font-size: 30px; }
#order-standard-checkout .dr-pdp__lead { color: var(--dr-ink-2); font-size: 15px; }
#order-standard-checkout .dr-pdp__lead p:last-child { margin-bottom: 0; }
/* The swatch rows never fill the column, so the availability notice moves into the
   space beside them and animates whenever the chosen combination changes. */
#order-standard-checkout .dr-pdp__attrs {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, auto);
    align-items: center;
    gap: 10px 18px;
}
#order-standard-checkout .dr-pdp__attrs > [data-pdp-attr] { grid-column: 1; }
#order-standard-checkout .dr-pdp__attrs dt { font-size: 11.5px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--dr-ink-3); }
#order-standard-checkout .dr-pdp__attrs dd { margin: 4px 0 0; display: flex; flex-wrap: wrap; gap: 6px; }
#order-standard-checkout .dr-chip { display: inline-flex; align-items: center; gap: 6px; padding: 4px 10px; border: 1px solid var(--dr-line); border-radius: 999px; font-size: 12.5px; font-weight: 600; color: var(--dr-ink); background: var(--dr-surface); }
#order-standard-checkout .dr-pdp__actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 6px; }
#order-standard-checkout .dr-store-facts--page { grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 14px 20px; margin: 0; }
#order-standard-checkout .dr-store-facts--page div { padding: 12px 14px; border: 1px solid var(--dr-line-soft); border-radius: 12px; background: var(--dr-soft); }
#order-standard-checkout .dr-store-facts--page dd i { color: var(--dr-accent); margin-right: 4px; }
#order-standard-checkout .dr-pdp__body { color: var(--dr-ink-2); font-size: 14.5px; line-height: 1.7; }
#order-standard-checkout .dr-pdp__body p:last-child { margin-bottom: 0; }
#order-standard-checkout .dr-related { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 12px; }
#order-standard-checkout .dr-related__item { display: flex; align-items: center; gap: 12px; padding: 10px 12px; border: 1px solid var(--dr-line-card); border-radius: 14px; color: var(--dr-ink); background: var(--dr-surface); }
#order-standard-checkout .dr-related__item:hover { border-color: rgba(var(--dr-accent-rgb), .45); color: var(--dr-ink); }
#order-standard-checkout .dr-related__media { flex: none; display: flex; align-items: center; justify-content: center; width: 56px; height: 56px; border-radius: 12px; overflow: hidden; background: var(--dr-accent-tint); color: var(--dr-accent); font-size: 20px; }
#order-standard-checkout .dr-related__media img { width: 100%; height: 100%; object-fit: cover; display: block; }
#order-standard-checkout .dr-related__copy { flex: 1; min-width: 0; display: grid; }
#order-standard-checkout .dr-related__copy strong { font-size: 14px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
#order-standard-checkout .dr-related__copy small { color: var(--dr-ink-2); font-size: 12.5px; }
@media (max-width: 860px) { #order-standard-checkout .dr-pdp__grid, #order-standard-checkout .dr-pdp__grid--no-media { grid-template-columns: 1fr; } #order-standard-checkout .dr-pdp__placeholder { max-width: 220px; } }
#order-standard-checkout .dr-pdp .dr-store-gallery__main img, .dr-quick .dr-store-gallery__main img { object-fit: contain; }
#order-standard-checkout .dr-pdp .dr-store-gallery__main, .dr-quick .dr-store-gallery__main { background: var(--dr-soft); }
#order-standard-checkout .dr-price__any { font-size: 18px !important; }
#order-standard-checkout .dr-pdp__notes { display: grid; gap: 18px; }
#order-standard-checkout .dr-pdp__note + .dr-pdp__note { padding-top: 18px; border-top: 1px dashed var(--dr-line-soft); }
#order-standard-checkout .dr-pdp__subhead { margin: 0 0 6px; font-size: 13px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; color: var(--dr-ink-3); }
.dr-cart-needs { display: inline-flex; align-items: center; gap: 6px; margin: 6px 0 2px; padding: 4px 10px; border-radius: 999px; background: var(--dr-warn-tint, rgba(176,106,0,.12)); color: var(--dr-warn, #b06a00); font-size: 12.5px; font-weight: 700; }
.dr-cart-needs:hover { color: var(--dr-warn, #b06a00); text-decoration: underline; }

/* ---- store gallery: zoom, nav, lightbox ---- */
.dr-gal { position: relative; overflow: hidden; cursor: zoom-in; }
.dr-gal img[data-store-gallery-main] { transition: transform .08s linear; will-change: transform; }
.dr-store-gallery.is-zoom-off .dr-gal { cursor: pointer; }
.dr-gal__btn.is-off { opacity: .8; }
.dr-store-gallery.is-video .dr-gal { cursor: default; }
.dr-store-gallery__video { width: 100%; height: 100%; object-fit: contain; display: block; background: #000; }
.dr-gal__tools { position: absolute; top: 12px; right: 12px; display: flex; gap: 6px; z-index: 3; }
.dr-gal__btn, .dr-gal__nav { display: inline-flex; align-items: center; justify-content: center; width: 36px; height: 36px; padding: 0; border: 1px solid var(--dr-line); border-radius: 999px; background: var(--dr-surface); color: var(--dr-ink); box-shadow: var(--dr-shadow-pop); cursor: pointer; opacity: 0; transform: translateY(-4px); transition: opacity .15s ease, transform .15s ease, color .15s ease; }
.dr-gal:hover .dr-gal__btn, .dr-gal:hover .dr-gal__nav, .dr-gal__btn:focus-visible, .dr-gal__nav:focus-visible, .dr-gal__btn.is-on { opacity: 1; transform: none; }
.dr-gal__btn:hover, .dr-gal__nav:hover { color: var(--dr-accent); }
.dr-gal__btn.is-on { background: var(--dr-accent); color: #fff; border-color: var(--dr-accent); }
.dr-gal__nav { position: absolute; top: 50%; z-index: 3; margin-top: -18px; }
.dr-gal__nav--prev { left: 12px; } .dr-gal__nav--next { right: 12px; }
.dr-gal__counter { position: absolute; left: 12px; bottom: 12px; z-index: 3; padding: 3px 9px; border-radius: 999px; background: rgba(20,19,26,.65); color: #fff; font-size: 11.5px; font-weight: 700; letter-spacing: .04em; }
.dr-gal__hint { position: absolute; right: 12px; bottom: 12px; z-index: 3; padding: 3px 9px; border-radius: 999px; background: rgba(20,19,26,.65); color: #fff; font-size: 11.5px; font-weight: 600; opacity: 0; transition: opacity .15s ease; pointer-events: none; }
.dr-gal:hover .dr-gal__hint { opacity: 1; }
.dr-store-gallery.is-zoom-off .dr-gal__hint, .dr-store-gallery.is-video .dr-gal__hint { display: none; }
.dr-store-gallery__thumb { position: relative; width: 64px; height: 64px; padding: 0; border: 2px solid transparent; border-radius: 10px; overflow: hidden; background: var(--dr-soft); cursor: pointer; }
.dr-store-gallery__badge { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; color: #fff; font-size: 14px; background: rgba(20,19,26,.35); }
@media (hover: none) { .dr-gal__btn, .dr-gal__nav { opacity: 1; transform: none; } .dr-gal__hint { display: none; } }

.dr-lightbox { position: fixed; inset: 0; z-index: 1500; display: none; }
.dr-lightbox.is-open { display: block; }
body.dr-lightbox-open { overflow: hidden; }
.dr-lightbox__backdrop { position: absolute; inset: 0; background: rgba(12, 11, 16, .96); backdrop-filter: blur(8px); }
.dr-lightbox__panel { position: absolute; inset: 0; display: grid; grid-template-rows: auto minmax(0, 1fr) auto; color: #fff; }
.dr-lightbox__bar { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 14px; padding: 14px 18px; }
.dr-lightbox__counter { font-size: 13px; font-weight: 700; letter-spacing: .06em; color: rgba(255,255,255,.75); min-width: 56px; }
.dr-lightbox__caption { font-size: 13.5px; color: rgba(255,255,255,.85); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.dr-lightbox__tools { display: flex; gap: 8px; }
.dr-lightbox__btn { width: 40px; height: 40px; border: 1px solid rgba(255,255,255,.18); border-radius: 999px; background: rgba(255,255,255,.08); color: #fff; cursor: pointer; display: inline-flex; align-items: center; justify-content: center; font-size: 15px; transition: background .15s ease; }
.dr-lightbox__btn:hover { background: rgba(255,255,255,.18); }
.dr-lightbox__btn[hidden] { display: none; }
.dr-lightbox__stage { position: relative; display: flex; align-items: center; justify-content: center; padding: 0 72px; min-height: 0; }
.dr-lightbox__media { position: relative; width: 100%; height: 100%; display: flex; align-items: center; justify-content: center; overflow: hidden; }
.dr-lightbox__img { max-width: 100%; max-height: 100%; object-fit: contain; border-radius: 12px; box-shadow: 0 30px 80px rgba(0,0,0,.5); cursor: zoom-in; transition: transform .15s ease-out; user-select: none; }
.dr-lightbox.is-zoomed .dr-lightbox__img { cursor: zoom-out; border-radius: 0; }
.dr-lightbox__video { max-width: 100%; max-height: 100%; border-radius: 12px; background: #000; }
.dr-lightbox__nav { position: absolute; top: 50%; margin-top: -24px; width: 48px; height: 48px; border: 1px solid rgba(255,255,255,.18); border-radius: 999px; background: rgba(255,255,255,.08); color: #fff; cursor: pointer; display: none; align-items: center; justify-content: center; font-size: 16px; z-index: 2; }
.dr-lightbox.has-many .dr-lightbox__nav { display: inline-flex; }
.dr-lightbox__nav:hover { background: rgba(255,255,255,.2); }
.dr-lightbox__nav--prev { left: 14px; } .dr-lightbox__nav--next { right: 14px; }
.dr-lightbox__thumbs { display: flex; justify-content: center; gap: 8px; padding: 12px 18px 16px; overflow-x: auto; }
.dr-lightbox__thumbs:empty { padding: 10px; }
.dr-lightbox__thumb { flex: none; width: 56px; height: 56px; padding: 0; border: 2px solid transparent; border-radius: 10px; overflow: hidden; background: rgba(255,255,255,.08); cursor: pointer; opacity: .6; transition: opacity .15s ease, border-color .15s ease; position: relative; }
.dr-lightbox__thumb.is-active, .dr-lightbox__thumb:hover { opacity: 1; }
.dr-lightbox__thumb.is-active { border-color: #fff; }
.dr-lightbox__thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.dr-lightbox__play { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; color: #fff; }
@media (max-width: 640px) { .dr-lightbox__stage { padding: 0 8px; } .dr-lightbox__nav { width: 40px; height: 40px; margin-top: -20px; } .dr-lightbox__caption { display: none; } }
#order-standard-checkout .dr-chip--pick { cursor: pointer; transition: border-color .15s ease, background .15s ease, color .15s ease; }
#order-standard-checkout .dr-chip--pick:hover { border-color: rgba(var(--dr-accent-rgb), .5); }
#order-standard-checkout .dr-chip--pick[aria-pressed="true"] { background: var(--dr-accent); border-color: var(--dr-accent); color: #fff; }
#order-standard-checkout .dr-chip--pick.is-unavailable { opacity: .45; text-decoration: line-through; }
#order-standard-checkout .dr-pdp__picked { font-weight: 600; text-transform: none; letter-spacing: 0; color: var(--dr-ink-2); }
#order-standard-checkout .dr-pdp__attrs .dr-store-options__state {
    grid-column: 2;
    grid-row: 1 / -1;
    align-self: center;
    justify-self: end;
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 0;
    padding: 11px 15px;
    max-width: 230px;
    border: 1px solid var(--dr-line-soft);
    border-radius: 12px;
    background: var(--dr-soft);
    color: var(--dr-ink);
    line-height: 1.35;
}

#order-standard-checkout .dr-pdp__attrs .dr-store-options__state::before {
    content: '';
    flex: 0 0 auto;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--dr-ink-3);
    color: var(--dr-ink-3);
}

#order-standard-checkout .dr-pdp__attrs .dr-store-options__state.is-ok::before { background: var(--dr-ok); color: var(--dr-ok); }
#order-standard-checkout .dr-pdp__attrs .dr-store-options__state.is-warn::before { background: var(--dr-warn); color: var(--dr-warn); }
#order-standard-checkout .dr-pdp__attrs .dr-store-options__state.is-bad::before { background: var(--dr-bad); color: var(--dr-bad); }

#order-standard-checkout .dr-pdp__attrs .dr-store-options__state.is-ok::before,
#order-standard-checkout .dr-pdp__attrs .dr-store-options__state.is-warn::before {
    animation: dr-state-pulse 2.4s ease-out infinite;
}

#order-standard-checkout .dr-pdp__attrs .dr-store-options__state.is-updated {
    animation: dr-state-in .3s cubic-bezier(.2, .7, .3, 1);
}

@keyframes dr-state-in {
    from { opacity: 0; transform: translateY(-5px) scale(.97); }
    to { opacity: 1; transform: none; }
}

@keyframes dr-state-pulse {
    0% { box-shadow: 0 0 0 0 currentColor; }
    70% { box-shadow: 0 0 0 7px transparent; }
    100% { box-shadow: 0 0 0 0 transparent; }
}

@media (prefers-reduced-motion: reduce) {
    #order-standard-checkout .dr-pdp__attrs .dr-store-options__state,
    #order-standard-checkout .dr-pdp__attrs .dr-store-options__state::before { animation: none !important; }
}

@media (max-width: 640px) {
    #order-standard-checkout .dr-pdp__attrs { grid-template-columns: minmax(0, 1fr); }
    #order-standard-checkout .dr-pdp__attrs .dr-store-options__state {
        grid-column: 1;
        grid-row: auto;
        justify-self: stretch;
        max-width: none;
    }
}

/* store date picker (replaces native type=date) */
.dr-date { position: relative; }
.dr-date__native { position: absolute; left: 0; bottom: 0; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
#order-standard-checkout .dr-date__btn { display: flex; align-items: center; gap: 10px; width: 100%; text-align: left; cursor: pointer; color: var(--dr-ink-3, #7a7f8c); font-weight: 600; }
#order-standard-checkout .dr-date.has-value .dr-date__btn { color: var(--dr-ink, #1a1c22); }
#order-standard-checkout .dr-date.is-open .dr-date__btn, #order-standard-checkout .dr-date__btn:focus-visible { border-color: var(--dr-accent); box-shadow: 0 0 0 3px rgba(var(--dr-accent-rgb, 79, 86, 217), .18); outline: 0; }
#order-standard-checkout .dr-date.is-invalid .dr-date__btn { border-color: var(--dr-bad, #d64545); }
.dr-date__btn > .far { color: var(--dr-ink-3, #7a7f8c); }
.dr-date__text { flex: 1 1 auto; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.dr-date__caret { font-size: 11px; color: var(--dr-ink-3, #7a7f8c); transition: transform .15s ease; }
.dr-date.is-open .dr-date__caret { transform: rotate(180deg); }
.dr-date__pop { position: absolute; z-index: 60; top: calc(100% + 8px); left: 0; width: 308px; max-width: calc(100vw - 32px); padding: 12px; border: 1px solid var(--dr-line, #e3e4ea); border-radius: var(--dr-radius-card, 16px); background: var(--dr-surface, #fff); box-shadow: var(--dr-shadow-pop, 0 18px 44px rgba(16, 20, 40, .16)); }
.dr-date__pop[hidden] { display: none; }
.dr-date__pop::before { content: ""; position: absolute; top: -7px; left: 22px; width: 12px; height: 12px; background: var(--dr-surface, #fff); border-left: 1px solid var(--dr-line, #e3e4ea); border-top: 1px solid var(--dr-line, #e3e4ea); transform: rotate(45deg); }
.dr-date__head { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-bottom: 8px; }
.dr-date__month { font-size: 14px; font-weight: 800; color: var(--dr-ink, #1a1c22); text-transform: capitalize; }
#order-standard-checkout .dr-date__nav { width: 34px; height: 34px; display: inline-flex; align-items: center; justify-content: center; padding: 0; border: 1px solid var(--dr-line, #e3e4ea); border-radius: 10px; background: var(--dr-surface, #fff); color: var(--dr-ink-2, #4a4f5c); cursor: pointer; }
#order-standard-checkout .dr-date__nav:hover:not(:disabled) { border-color: var(--dr-accent); color: var(--dr-accent); }
#order-standard-checkout .dr-date__nav:disabled { opacity: .35; cursor: default; }
.dr-date__week, .dr-date__grid { display: grid; grid-template-columns: repeat(7, 1fr); gap: 2px; }
.dr-date__week span { text-align: center; font-size: 10.5px; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; color: var(--dr-ink-3, #7a7f8c); padding: 4px 0 6px; }
#order-standard-checkout .dr-date__day { height: 36px; padding: 0; border: 0; border-radius: 10px; background: transparent; color: var(--dr-ink, #1a1c22); font: inherit; font-size: 13.5px; font-weight: 600; cursor: pointer; }
#order-standard-checkout .dr-date__day:hover:not(:disabled) { background: var(--dr-surface-2, #f3f4f8); }
#order-standard-checkout .dr-date__day:focus-visible { outline: 2px solid var(--dr-accent); outline-offset: -2px; }
#order-standard-checkout .dr-date__day.is-outside { color: var(--dr-ink-3, #7a7f8c); opacity: .6; }
#order-standard-checkout .dr-date__day.is-today { box-shadow: inset 0 0 0 1.5px var(--dr-accent); color: var(--dr-accent); }
#order-standard-checkout .dr-date__day.is-selected { background: var(--dr-accent); color: var(--dr-on-accent, #fff); box-shadow: none; }
#order-standard-checkout .dr-date__day:disabled { color: var(--dr-ink-3, #7a7f8c); opacity: .3; cursor: default; text-decoration: line-through; }
.dr-date__foot { display: flex; justify-content: space-between; gap: 8px; margin-top: 8px; padding-top: 8px; border-top: 1px solid var(--dr-line-soft, #eef0f4); }
#order-standard-checkout .dr-date__link { padding: 6px 10px; border: 0; border-radius: 8px; background: transparent; color: var(--dr-accent); font: inherit; font-size: 12.5px; font-weight: 800; cursor: pointer; }
#order-standard-checkout .dr-date__link:hover { background: var(--dr-accent-tint, #ecebff); }
#order-standard-checkout .dr-date__link[data-clear] { margin-left: auto; color: var(--dr-ink-3, #7a7f8c); }
/* configure page: options live in their own card; legacy help alert uses the theme icon only */
#order-standard-checkout .dr-store-options { margin: 0 0 20px; padding: 18px 20px 6px; border: 1px solid var(--dr-line-card, var(--dr-line)); border-radius: var(--dr-radius-card, 16px); background: var(--dr-surface); box-shadow: var(--dr-shadow-card, none); }
#order-standard-checkout .dr-store-options .sub-heading { margin-top: 0; }
#order-standard-checkout .dr-store-options .form-group > label { font-size: 12px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; color: var(--dr-ink-3, #7a7f8c); }
#order-standard-checkout .alert.info-text-sm { text-align: left; }
#order-standard-checkout .alert > i.fas:first-child, #order-standard-checkout .alert > i.far:first-child { display: none; }

/* ---- product page (PDP): breadcrumb, buy column, quantity, trust strip, tabs, sticky bar, recently viewed ---- */
#order-standard-checkout .dr-crumbs { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 0 0 16px; color: var(--dr-ink-3); font-size: 12.5px; font-weight: 600; }
#order-standard-checkout .dr-crumbs a { color: var(--dr-ink-2); text-decoration: none; }
#order-standard-checkout .dr-crumbs a:hover { color: var(--dr-accent); }
#order-standard-checkout .dr-crumbs i { font-size: 9px; opacity: .7; }
#order-standard-checkout .dr-crumbs [aria-current] { color: var(--dr-ink); }
#order-standard-checkout .dr-pdp__grid { grid-template-columns: minmax(0, 11fr) minmax(0, 9fr); gap: 32px; align-items: start; }
#order-standard-checkout .dr-pdp__buy { gap: 16px; }
#order-standard-checkout .dr-pdp__head { display: grid; gap: 4px; }
#order-standard-checkout .dr-pdp__eyebrow { display: inline-flex; align-items: center; gap: 6px; color: var(--dr-ink-3); font-size: 11.5px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
#order-standard-checkout .dr-pdp__eyebrow i { color: var(--dr-accent); }
#order-standard-checkout .dr-pdp__title { margin: 0; font-size: 28px; font-weight: 800; letter-spacing: -.02em; line-height: 1.15; color: var(--dr-ink); }
#order-standard-checkout .dr-pdp__sku { color: var(--dr-ink-3); font-size: 12px; font-weight: 600; }
#order-standard-checkout .dr-pdp__copy .dr-price .price { font-size: 32px; }
#order-standard-checkout .dr-pdp__summary { margin: 0; color: var(--dr-ink-2); font-size: 14.5px; line-height: 1.65; }
#order-standard-checkout .dr-pdp__summary a { color: var(--dr-accent); font-weight: 700; text-decoration: none; white-space: nowrap; }
#order-standard-checkout .dr-pdp__summary a:hover { text-decoration: underline; }
#order-standard-checkout .dr-pdp__buyrow { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; padding-top: 4px; }
#order-standard-checkout .dr-pdp__add { flex: 1 1 200px; justify-content: center; min-height: 48px; font-size: 15px; }
#order-standard-checkout .dr-pdp__actions .btn-default, #order-standard-checkout .dr-pdp__buyrow .btn-default { min-height: 48px; }
#order-standard-checkout .dr-qty { display: inline-flex; align-items: center; height: 48px; border: 1px solid var(--dr-line); border-radius: 999px; background: var(--dr-surface); overflow: hidden; }
#order-standard-checkout .dr-qty__label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
#order-standard-checkout .dr-qty__btn { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 100%; padding: 0; border: 0; background: transparent; color: var(--dr-ink-2); font-size: 12px; cursor: pointer; }
#order-standard-checkout .dr-qty__btn:hover { color: var(--dr-accent); background: var(--dr-accent-tint); }
#order-standard-checkout .dr-qty__input { width: 48px; height: 100%; padding: 0; border: 0; border-left: 1px solid var(--dr-line-soft); border-right: 1px solid var(--dr-line-soft); border-radius: 0; background: transparent; color: var(--dr-ink); font-size: 15px; font-weight: 800; text-align: center; -moz-appearance: textfield; appearance: textfield; }
#order-standard-checkout .dr-qty__input::-webkit-outer-spin-button, #order-standard-checkout .dr-qty__input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
#order-standard-checkout .dr-qty__input:focus { outline: none; box-shadow: inset 0 0 0 2px var(--dr-accent-tint); }
#order-standard-checkout .dr-pdp__iconbtn { display: inline-flex; align-items: center; justify-content: center; width: 48px; height: 48px; padding: 0; border: 1px solid var(--dr-line); border-radius: 999px; background: var(--dr-surface); color: var(--dr-ink-2); font-size: 15px; cursor: pointer; transition: color .15s ease, border-color .15s ease, background .15s ease; }
#order-standard-checkout .dr-pdp__iconbtn:hover { color: var(--dr-accent); border-color: var(--dr-accent); background: var(--dr-accent-tint); }
#order-standard-checkout .dr-pdp__toast { margin: -6px 0 0; color: var(--dr-ok, #1f8f5f); font-size: 12.5px; font-weight: 700; }
#order-standard-checkout .dr-trust { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 8px 14px; margin: 4px 0 0; padding: 14px 0 0; border-top: 1px solid var(--dr-line-soft); list-style: none; }
#order-standard-checkout .dr-trust li { display: flex; align-items: center; gap: 10px; color: var(--dr-ink-2); font-size: 12.5px; font-weight: 600; line-height: 1.3; }
#order-standard-checkout .dr-trust i { flex: none; display: inline-flex; align-items: center; justify-content: center; width: 30px; height: 30px; border-radius: 9px; color: var(--dr-accent); background: var(--dr-accent-tint); font-size: 12px; }
#order-standard-checkout .dr-pdp-tabs { padding-top: 0; }
#order-standard-checkout .dr-tabs { display: flex; flex-wrap: wrap; gap: 4px; margin: 0 -22px 20px; padding: 6px 16px 0; border-bottom: 1px solid var(--dr-line-soft); }
#order-standard-checkout .dr-tab { position: relative; display: inline-flex; align-items: center; gap: 8px; min-height: 46px; padding: 0 14px; border: 0; background: transparent; color: var(--dr-ink-2); font-size: 13.5px; font-weight: 700; cursor: pointer; transition: color .15s ease; }
#order-standard-checkout .dr-tab i { font-size: 12px; color: var(--dr-ink-3); }
#order-standard-checkout .dr-tab:hover { color: var(--dr-ink); }
#order-standard-checkout .dr-tab.is-active { color: var(--dr-accent); }
#order-standard-checkout .dr-tab.is-active i { color: var(--dr-accent); }
#order-standard-checkout .dr-tab.is-active::after { content: ""; position: absolute; left: 10px; right: 10px; bottom: -1px; height: 2px; border-radius: 2px; background: var(--dr-accent); }
#order-standard-checkout .dr-tabpane[hidden] { display: none; }
#order-standard-checkout .dr-tabpane .dr-store-facts--page { margin: 0; }
#order-standard-checkout .dr-product__benefits--cols { columns: 2; column-gap: 28px; margin-top: 16px; }
#order-standard-checkout .dr-pdp__shipping { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 14px; margin: 0; padding: 0; list-style: none; }
#order-standard-checkout .dr-pdp__shipping li { display: flex; align-items: center; gap: 12px; padding: 14px; border: 1px solid var(--dr-line-soft); border-radius: 14px; background: var(--dr-soft); }
#order-standard-checkout .dr-pdp__shipping li > span:last-child { display: grid; gap: 2px; min-width: 0; }
#order-standard-checkout .dr-pdp__shipping strong { color: var(--dr-ink); font-size: 14px; }
#order-standard-checkout .dr-pdp__shipping small { color: var(--dr-ink-2); font-size: 12.5px; }
#order-standard-checkout .dr-pdp__shipicon { flex: none; display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 40px; border-radius: 12px; color: var(--dr-accent); background: var(--dr-accent-tint); font-size: 15px; }
#order-standard-checkout .dr-card__lead { margin: 2px 0 0; color: var(--dr-ink-2); font-size: 13px; }
#order-standard-checkout .dr-card__tool { align-self: center; }
#order-standard-checkout .dr-store-grid--related .store-product-column { grid-column: span 2; }
#order-standard-checkout .dr-recent { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 12px; }
#order-standard-checkout .dr-recent__item { display: flex; align-items: center; gap: 12px; padding: 10px 12px; border: 1px solid var(--dr-line-soft); border-radius: 14px; color: var(--dr-ink); text-decoration: none; transition: border-color .15s ease; }
#order-standard-checkout .dr-recent__item:hover { border-color: rgba(var(--dr-accent-rgb), .45); color: var(--dr-ink); }
#order-standard-checkout .dr-recent__media { flex: none; display: flex; align-items: center; justify-content: center; width: 52px; height: 52px; border-radius: 12px; overflow: hidden; background: var(--dr-soft); color: var(--dr-accent); }
#order-standard-checkout .dr-recent__media img { width: 100%; height: 100%; object-fit: cover; display: block; }
#order-standard-checkout .dr-recent__copy { display: grid; min-width: 0; }
#order-standard-checkout .dr-recent__copy strong { font-size: 13.5px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
#order-standard-checkout .dr-recent__copy small { color: var(--dr-ink-2); font-size: 12.5px; }
.dr-pdp-sticky { position: fixed; left: 0; right: 0; bottom: 0; z-index: 900; padding: 10px 16px; background: var(--dr-surface); border-top: 1px solid var(--dr-line); box-shadow: 0 -10px 30px rgba(20, 19, 26, .12); animation: dr-sticky-in .2s ease both; }
.dr-pdp-sticky[hidden] { display: none; }
.dr-pdp-sticky__inner { display: flex; align-items: center; gap: 14px; max-width: 1180px; margin: 0 auto; }
.dr-pdp-sticky__thumb { flex: none; width: 48px; height: 48px; border-radius: 12px; object-fit: cover; background: var(--dr-soft); display: flex; align-items: center; justify-content: center; color: var(--dr-accent); }
.dr-pdp-sticky__copy { flex: 1 1 auto; min-width: 0; display: grid; gap: 2px; }
.dr-pdp-sticky__copy strong { color: var(--dr-ink); font-size: 14px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.dr-pdp-sticky__copy span { color: var(--dr-ink-2); font-size: 13px; font-weight: 700; }
.dr-pdp-sticky__add { flex: none; min-height: 44px; }
@keyframes dr-sticky-in { from { transform: translateY(100%); } to { transform: none; } }
@media (max-width: 860px) {
    /* one column again: the two-column grid above came after the first small-screen rule and won on phones */
    #order-standard-checkout .dr-pdp__grid, #order-standard-checkout .dr-pdp__grid--no-media { grid-template-columns: minmax(0, 1fr); }
    #order-standard-checkout .dr-pdp__title { font-size: 24px; }
    #order-standard-checkout .dr-tabs { margin: 0 -16px 16px; padding: 0 8px; overflow-x: auto; flex-wrap: nowrap; }
    #order-standard-checkout .dr-tab { flex: none; }
    #order-standard-checkout .dr-product__benefits--cols { columns: 1; }
    #order-standard-checkout .dr-store-grid--related .store-product-column { grid-column: auto; }
}
/* Store cards: the description is a teaser (three lines) - the product page carries the whole text. */
#order-standard-checkout .products .product div.product-desc > p { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; margin: 0 0 8px; }
#order-standard-checkout .dr-store-grid .is-half .dr-product__image { aspect-ratio: 3 / 2; }
#order-standard-checkout .dr-pdp__buynow { min-height: 48px; }
#order-standard-checkout .dr-pdp__iconbtn.is-on { color: var(--dr-bad, #d64545); border-color: var(--dr-bad, #d64545); background: var(--dr-bad-tint, rgba(214, 69, 69, .1)); }
#order-standard-checkout .dr-pdp__ask { margin: -4px 0 0; font-size: 13px; }
#order-standard-checkout .dr-pdp__ask a { display: inline-flex; align-items: center; gap: 6px; color: var(--dr-ink-2); font-weight: 600; text-decoration: none; }
#order-standard-checkout .dr-pdp__ask a:hover { color: var(--dr-accent); }
#order-standard-checkout span.dr-recent__item { position: relative; padding-right: 40px; }
#order-standard-checkout .dr-recent__link { display: flex; align-items: center; gap: 12px; min-width: 0; flex: 1 1 auto; color: inherit; text-decoration: none; }
#order-standard-checkout .dr-recent__remove { position: absolute; top: 50%; right: 8px; display: inline-flex; align-items: center; justify-content: center; width: 28px; height: 28px; margin-top: -14px; padding: 0; border: 0; border-radius: 999px; background: transparent; color: var(--dr-ink-3); cursor: pointer; }
#order-standard-checkout .dr-recent__remove:hover { color: var(--dr-bad, #d64545); background: var(--dr-soft); }
#order-standard-checkout .dr-pdp__add { flex: 1 1 calc(100% - 190px); }
#order-standard-checkout .dr-pdp__buynow { flex: 1 1 200px; justify-content: center; margin-left: auto; }
#order-standard-checkout .account-select-container div.account.active,
.product-recommendations .product-recommendation,
#order-standard-checkout #calcTaxes .form-control { background: var(--dr-surface); color: var(--dr-ink); }


/* ==========================================================================
   Wishlist hearts, ratings and customer reviews (1.6.0)
   ========================================================================== */
.dr-stars { --dr-stars: 0%; position: relative; display: inline-block; font-size: 14px; line-height: 1; letter-spacing: 1px; color: var(--dr-line); white-space: nowrap; }
.dr-stars::before { content: "\2605\2605\2605\2605\2605"; }
.dr-stars::after { content: "\2605\2605\2605\2605\2605"; position: absolute; left: 0; top: 0; width: var(--dr-stars); overflow: hidden; color: #f5a623; }
.dr-stars--lg { font-size: 22px; letter-spacing: 2px; }
.dr-rating { display: inline-flex; align-items: center; gap: 8px; color: var(--dr-ink-2); font-size: 13px; text-decoration: none; }
.dr-rating strong { color: var(--dr-ink); font-weight: 800; }
.dr-rating:hover { color: var(--dr-accent); text-decoration: none; }
.dr-rating.is-empty { color: var(--dr-ink-3); }

#order-standard-checkout .dr-product__rating { margin: 2px 0 0; font-size: 12.5px; }
#order-standard-checkout .dr-product__rating small { font-size: 12px; color: var(--dr-ink-3); }
#order-standard-checkout .dr-product__wish { position: absolute; top: 12px; left: 12px; display: inline-flex; align-items: center; justify-content: center; width: 36px; height: 36px; padding: 0; border: 1px solid var(--dr-line); border-radius: 999px; background: var(--dr-surface); color: var(--dr-ink-2); font-size: 14px; box-shadow: var(--dr-shadow-pop); cursor: pointer; transition: color .15s ease, border-color .15s ease, background .15s ease, transform .15s ease; z-index: 2; }
#order-standard-checkout .dr-product__wish:hover { color: var(--dr-bad, #d64545); border-color: var(--dr-bad, #d64545); transform: scale(1.06); }
#order-standard-checkout .dr-product__wish.is-on { color: #fff; background: var(--dr-bad, #d64545); border-color: var(--dr-bad, #d64545); }
#order-standard-checkout .dr-pdp__rating { margin-top: 8px; }
#order-standard-checkout .dr-pdp__rating .dr-stars { font-size: 16px; }

#order-standard-checkout .dr-note { display: flex; gap: 10px; margin: 0 0 16px; padding: 12px 14px; border-radius: 12px; background: var(--dr-soft); color: var(--dr-ink-2); font-size: 13.5px; line-height: 1.6; }
#order-standard-checkout .dr-note > i { color: var(--dr-accent); margin-top: 3px; }
#order-standard-checkout .dr-note--info { background: var(--dr-accent-tint); }
#order-standard-checkout .dr-note--ok { background: var(--dr-ok-tint); color: var(--dr-ok); }
#order-standard-checkout .dr-note--ok > i { color: var(--dr-ok); }
#order-standard-checkout .dr-note--bad { background: var(--dr-bad-tint); color: var(--dr-bad); }
#order-standard-checkout .dr-note--bad > i { color: var(--dr-bad); }
#order-standard-checkout .dr-note a { color: inherit; font-weight: 700; text-decoration: underline; }
#order-standard-checkout .dr-wish-note { margin-bottom: 18px; }

/* Reviews card */
#order-standard-checkout .dr-reviews__body { display: grid; grid-template-columns: 260px minmax(0, 1fr); gap: 28px; padding: 22px 24px 24px; }
#order-standard-checkout .dr-reviews__summary { display: flex; flex-direction: column; gap: 18px; }
#order-standard-checkout .dr-reviews__score { display: flex; flex-direction: column; align-items: flex-start; gap: 4px; padding: 18px 20px; border-radius: 16px; background: var(--dr-soft); }
#order-standard-checkout .dr-reviews__score strong { font-size: 40px; line-height: 1; font-weight: 800; color: var(--dr-ink); letter-spacing: -.02em; }
#order-standard-checkout .dr-reviews__score small { color: var(--dr-ink-3); font-size: 12.5px; }
#order-standard-checkout .dr-reviews__bars { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
#order-standard-checkout .dr-reviews__bars li { display: grid; grid-template-columns: 34px minmax(0, 1fr) 28px; align-items: center; gap: 10px; font-size: 12.5px; color: var(--dr-ink-2); }
#order-standard-checkout .dr-reviews__bars li > span:first-child { display: inline-flex; align-items: center; gap: 4px; font-weight: 700; color: var(--dr-ink); }
#order-standard-checkout .dr-reviews__bars li > span:first-child i { color: #f5a623; font-size: 11px; }
#order-standard-checkout .dr-reviews__bar { display: block; height: 8px; border-radius: 999px; background: var(--dr-soft); overflow: hidden; }
#order-standard-checkout .dr-reviews__bar b { display: block; height: 100%; border-radius: 999px; background: #f5a623; }
#order-standard-checkout .dr-reviews__bars small { text-align: right; color: var(--dr-ink-3); }
#order-standard-checkout .dr-reviews__list { display: flex; flex-direction: column; gap: 16px; min-width: 0; }
#order-standard-checkout .dr-reviews__hint { margin: 0; padding: 12px 14px; border-radius: 12px; background: var(--dr-soft); color: var(--dr-ink-2); font-size: 13px; }
#order-standard-checkout .dr-review { padding: 0 0 16px; border-bottom: 1px solid var(--dr-line); }
#order-standard-checkout .dr-review:last-child { padding-bottom: 0; border-bottom: 0; }
#order-standard-checkout .dr-review__head { display: flex; align-items: center; gap: 12px; }
#order-standard-checkout .dr-review__head > div { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 10px; min-width: 0; flex: 1; }
#order-standard-checkout .dr-review__head > div strong { color: var(--dr-ink); font-size: 14px; }
#order-standard-checkout .dr-review__head > div small { color: var(--dr-ink-3); font-size: 12px; }
#order-standard-checkout .dr-review__avatar { flex: 0 0 auto; display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 40px; border-radius: 999px; background: var(--dr-accent-tint); color: var(--dr-accent); font-weight: 800; font-size: 15px; }
#order-standard-checkout .dr-review__title { margin: 12px 0 4px; font-size: 15px; font-weight: 800; color: var(--dr-ink); }
#order-standard-checkout .dr-review__body { margin: 8px 0 0; color: var(--dr-ink-2); font-size: 14px; line-height: 1.7; }
#order-standard-checkout .dr-review__title + .dr-review__body { margin-top: 0; }
#order-standard-checkout .dr-review__reply { margin: 12px 0 0 20px; padding: 12px 16px; border-left: 3px solid var(--dr-accent); border-radius: 0 12px 12px 0; background: var(--dr-soft); }
#order-standard-checkout .dr-review__reply strong { display: flex; align-items: center; gap: 6px; font-size: 12.5px; color: var(--dr-ink); }
#order-standard-checkout .dr-review__reply p { margin: 6px 0 0; font-size: 13.5px; color: var(--dr-ink-2); line-height: 1.6; }
#order-standard-checkout .dr-empty--compact { padding: 26px 16px; }

/* Write-a-review form */
#order-standard-checkout .dr-review-form { display: grid; gap: 16px; padding: 18px 20px; border: 1px solid var(--dr-line); border-radius: 16px; background: var(--dr-surface); }
#order-standard-checkout .dr-review-form fieldset { margin: 0; padding: 0; border: 0; min-width: 0; }
#order-standard-checkout .dr-review-form legend, #order-standard-checkout .dr-review-form .dr-field > label { display: block; margin: 0 0 6px; padding: 0; border: 0; font-size: 13px; font-weight: 700; color: var(--dr-ink); }
#order-standard-checkout .dr-review-form .dr-field { margin: 0; }
#order-standard-checkout .dr-review-form .dr-field .form-control { width: 100%; }
#order-standard-checkout .dr-review-form__actions { display: flex; justify-content: flex-end; gap: 10px; }
#order-standard-checkout .dr-starpick { display: inline-flex; flex-direction: row-reverse; gap: 2px; }
#order-standard-checkout .dr-starpick input { position: absolute; opacity: 0; width: 1px; height: 1px; pointer-events: none; }
#order-standard-checkout .dr-starpick label { margin: 0; padding: 4px; font-size: 26px; line-height: 1; color: var(--dr-line); cursor: pointer; transition: color .1s ease, transform .1s ease; }
#order-standard-checkout .dr-starpick label:hover { transform: scale(1.12); }
#order-standard-checkout .dr-starpick label:hover, #order-standard-checkout .dr-starpick label:hover ~ label, #order-standard-checkout .dr-starpick input:checked ~ label { color: #f5a623; }
#order-standard-checkout .dr-starpick input:focus-visible + label { outline: 2px solid var(--dr-accent); outline-offset: 2px; border-radius: 6px; }

@media (max-width: 860px) {
    #order-standard-checkout .dr-reviews__body { grid-template-columns: minmax(0, 1fr); gap: 20px; padding: 18px; }
}
#order-standard-checkout .dr-reviews__body { border-top: 1px solid var(--dr-line-soft); }
#order-standard-checkout .dr-product__rating { display: flex; margin: 0 0 8px; }
#order-standard-checkout .dr-reviews__hint i { color: var(--dr-accent); margin-right: 4px; }


/* ==========================================================================
   View cart (1.6.0): the order form's own cart rows, summary and confirm modals.
   ========================================================================== */
#order-standard-checkout .dr-cart-layout { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: 20px; align-items: start; }
#order-standard-checkout .dr-cart-main { min-width: 0; }
#order-standard-checkout .dr-cart-side { position: sticky; top: 88px; min-width: 0; }
#order-standard-checkout .dr-cart-main > .dr-card, #order-standard-checkout .dr-cart-main > .dr-cart-promo, #order-standard-checkout .dr-cart-main > .dr-cart-tax { margin: 0 0 20px; }
#order-standard-checkout .dr-cart-main > .dr-card:last-child { margin-bottom: 0; }
#order-standard-checkout .dr-note__list { margin: 6px 0 0; padding-left: 18px; }

#order-standard-checkout .dr-cart { margin: 0; }
#order-standard-checkout .dr-cart__cols { display: grid; grid-template-columns: minmax(0, 1fr) 132px 150px 40px; gap: 16px; padding: 10px 20px; border-top: 1px solid var(--dr-line-soft); border-bottom: 1px solid var(--dr-line-soft); background: var(--dr-soft); color: var(--dr-ink-3); font-size: 11.5px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
#order-standard-checkout .dr-cart__cols-qty { text-align: center; }
#order-standard-checkout .dr-cart__cols-price { text-align: right; }
#order-standard-checkout .dr-cart__list { display: block; }
#order-standard-checkout .dr-cart__row { display: grid; grid-template-columns: 72px minmax(0, 1fr) 132px 150px 40px; gap: 16px; align-items: center; padding: 16px 20px; border-bottom: 1px solid var(--dr-line-soft); }
#order-standard-checkout .dr-cart__row:last-child { border-bottom: 0; }
#order-standard-checkout .dr-cart__row--addon { padding-top: 12px; padding-bottom: 12px; background: var(--dr-soft); }
#order-standard-checkout .dr-cart__media { display: flex; align-items: center; justify-content: center; width: 72px; height: 72px; border: 1px solid var(--dr-line-soft); border-radius: 14px; background: var(--dr-soft); color: var(--dr-ink-3); font-size: 22px; overflow: hidden; text-decoration: none; }
#order-standard-checkout .dr-cart__media img { width: 100%; height: 100%; object-fit: cover; }
#order-standard-checkout .dr-cart__media--addon { width: 72px; height: 48px; border-radius: 12px; font-size: 16px; background: var(--dr-surface); }
#order-standard-checkout .dr-cart__info { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
#order-standard-checkout .dr-cart__name { font-size: 15px; font-weight: 800; color: var(--dr-ink); line-height: 1.3; }
#order-standard-checkout .dr-cart__name a { color: inherit; text-decoration: none; }
#order-standard-checkout .dr-cart__name a:hover { color: var(--dr-accent); }
#order-standard-checkout .dr-cart__group { color: var(--dr-ink-3); font-size: 12.5px; }
#order-standard-checkout .dr-cart__extras { display: flex; flex-wrap: wrap; gap: 6px 14px; color: var(--dr-ink-2); font-size: 12.5px; }
#order-standard-checkout .dr-cart__extras i { color: var(--dr-accent); margin-right: 2px; }
#order-standard-checkout .dr-cart__options { margin: 2px 0 0; padding: 0; list-style: none; color: var(--dr-ink-2); font-size: 12.5px; }
#order-standard-checkout .dr-cart__options li::before { content: "\00b7"; margin-right: 6px; color: var(--dr-ink-3); }
#order-standard-checkout .dr-cart__needs { display: inline-flex; align-items: center; gap: 6px; width: fit-content; margin-top: 2px; padding: 4px 10px; border-radius: 999px; background: var(--dr-warn-tint); color: var(--dr-warn); font-size: 12px; font-weight: 700; text-decoration: none; }
#order-standard-checkout .dr-cart__links { margin-top: 2px; font-size: 12.5px; }
#order-standard-checkout .dr-cart__links a { color: var(--dr-ink-3); font-weight: 700; text-decoration: none; }
#order-standard-checkout .dr-cart__links a:hover { color: var(--dr-accent); }
#order-standard-checkout .dr-cart__credit { display: block; margin-top: 4px; color: var(--dr-ok); font-size: 12.5px; font-weight: 700; }
#order-standard-checkout .dr-cart__credit small { display: block; color: var(--dr-ink-3); font-weight: 500; }
#order-standard-checkout .dr-cart__qty { display: flex; justify-content: center; }
#order-standard-checkout .dr-cart__qty-static { display: inline-flex; align-items: center; justify-content: center; min-width: 40px; height: 40px; padding: 0 12px; border-radius: 999px; background: var(--dr-soft); color: var(--dr-ink); font-weight: 800; }
#order-standard-checkout .dr-qty--sm { height: 40px; }
#order-standard-checkout .dr-qty--sm .dr-qty__btn { width: 36px; }
#order-standard-checkout .dr-qty--sm .dr-qty__input { width: 46px; font-size: 14px; }
#order-standard-checkout .dr-cart__price { display: flex; flex-direction: column; align-items: flex-end; gap: 2px; text-align: right; }
#order-standard-checkout .dr-cart__price strong { color: var(--dr-ink); font-size: 16px; font-weight: 800; letter-spacing: -.01em; white-space: nowrap; }
#order-standard-checkout .dr-cart__price small { color: var(--dr-ink-3); font-size: 12px; }
#order-standard-checkout .dr-cart__remove { display: inline-flex; align-items: center; justify-content: center; width: 36px; height: 36px; padding: 0; border: 1px solid transparent; border-radius: 999px; background: transparent; color: var(--dr-ink-3); font-size: 14px; cursor: pointer; transition: color .15s ease, background .15s ease, border-color .15s ease; justify-self: end; }
#order-standard-checkout .dr-cart__remove:hover { color: var(--dr-bad); border-color: var(--dr-bad); background: var(--dr-bad-tint); }
#order-standard-checkout .dr-cart__remove--none { pointer-events: none; }
#order-standard-checkout .dr-cart__empty { color: var(--dr-bad); }
#order-standard-checkout .dr-cart__empty:hover { border-color: var(--dr-bad); background: var(--dr-bad-tint); color: var(--dr-bad); }
#order-standard-checkout .dr-cart__updating { margin: 0; padding: 10px 20px; border-top: 1px solid var(--dr-line-soft); color: var(--dr-ink-3); font-size: 12.5px; }
#order-standard-checkout .dr-cart .dr-empty { padding: 44px 20px; }

/* order summary */
#order-standard-checkout .dr-osum { margin: 0; }
#order-standard-checkout .dr-osum__loader { color: var(--dr-ink-3); }
#order-standard-checkout .dr-osum__body { padding: 4px 20px 20px; }
#order-standard-checkout .dr-osum__lines { margin: 0; }
#order-standard-checkout .dr-osum__lines > div { display: flex; justify-content: space-between; gap: 12px; padding: 10px 0; border-bottom: 1px solid var(--dr-line-soft); font-size: 13.5px; }
#order-standard-checkout .dr-osum__lines dt { margin: 0; color: var(--dr-ink-2); font-weight: 600; }
#order-standard-checkout .dr-osum__lines dd { margin: 0; color: var(--dr-ink); font-weight: 800; text-align: right; white-space: nowrap; }
#order-standard-checkout .dr-osum__discount dd { color: var(--dr-ok); }
#order-standard-checkout .dr-osum__recurring dd { font-weight: 600; color: var(--dr-ink-2); white-space: normal; }
#order-standard-checkout .dr-osum__recurring .cost { font-weight: 800; color: var(--dr-ink); }
#order-standard-checkout .dr-osum__total { display: flex; flex-direction: column; align-items: flex-end; gap: 2px; padding: 18px 0 16px; text-align: right; }
#order-standard-checkout .dr-osum__total-label { color: var(--dr-ink-3); font-size: 12px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
#order-standard-checkout .dr-osum__total .amt { font-size: 30px; font-weight: 800; letter-spacing: -.02em; color: var(--dr-ink); line-height: 1.1; }
#order-standard-checkout .dr-osum__express { margin: 0 0 6px; }
#order-standard-checkout .dr-osum__or { display: flex; align-items: center; gap: 10px; margin: 10px 0; color: var(--dr-ink-3); font-size: 11.5px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
#order-standard-checkout .dr-osum__or::before, #order-standard-checkout .dr-osum__or::after { content: ""; flex: 1; height: 1px; background: var(--dr-line-soft); }
#order-standard-checkout .dr-osum__checkout { display: flex; align-items: center; justify-content: center; gap: 8px; width: 100%; min-height: 50px; font-size: 15px; }
#order-standard-checkout .dr-osum__checkout.disabled { opacity: .5; pointer-events: none; }
#order-standard-checkout .dr-osum__continue { display: flex; align-items: center; justify-content: center; gap: 6px; margin: 12px 0 0; color: var(--dr-ink-2); font-size: 13px; font-weight: 700; text-decoration: none; }
#order-standard-checkout .dr-osum__continue:hover { color: var(--dr-accent); }
#order-standard-checkout .dr-osum__secure { display: block; margin: 14px 0 0; color: var(--dr-ink-3); font-size: 12px; line-height: 1.5; text-align: center; }
#order-standard-checkout .dr-osum__secure i { color: var(--dr-ok); margin-right: 4px; }

/* confirm modals */
#order-standard-checkout .dr-modal__confirm { display: flex; flex-direction: column; align-items: center; gap: 8px; padding: 28px 22px 18px; text-align: center; }
#order-standard-checkout .dr-modal__confirm p { margin: 0; color: var(--dr-ink-2); font-size: 13.5px; }
#order-standard-checkout .dr-modal__icon { display: inline-flex; align-items: center; justify-content: center; width: 52px; height: 52px; border-radius: 16px; background: var(--dr-accent-tint); color: var(--dr-accent); font-size: 20px; }
#order-standard-checkout .dr-modal__icon--bad { background: var(--dr-bad-tint); color: var(--dr-bad); }
#order-standard-checkout .dr-modal .modal-footer { justify-content: center; }
#order-standard-checkout .btn-danger { border-color: var(--dr-bad); background: var(--dr-bad); color: #fff; }
#order-standard-checkout .btn-danger:hover { filter: brightness(1.06); }

@media (max-width: 1100px) {
    #order-standard-checkout .dr-cart-layout { grid-template-columns: minmax(0, 1fr); }
    #order-standard-checkout .dr-cart-side { position: static; }
}
@media (max-width: 720px) {
    #order-standard-checkout .dr-cart__cols { display: none; }
    #order-standard-checkout .dr-cart__row { grid-template-columns: 56px minmax(0, 1fr) 36px; grid-template-areas: "media info remove" "qty qty qty" "price price price"; gap: 10px 14px; }
    #order-standard-checkout .dr-cart__media { grid-area: media; width: 56px; height: 56px; }
    #order-standard-checkout .dr-cart__media--addon { width: 56px; height: 40px; }
    #order-standard-checkout .dr-cart__info { grid-area: info; }
    #order-standard-checkout .dr-cart__remove { grid-area: remove; }
    #order-standard-checkout .dr-cart__qty { grid-area: qty; justify-content: flex-start; }
    #order-standard-checkout .dr-cart__price { grid-area: price; flex-direction: row; align-items: baseline; justify-content: space-between; }
}

/* ==========================================================================
   Rules the remaining legacy-markup templates (configure product, checkout,
   renewals, complete, recommendations) still need, in the theme's tokens.
   ========================================================================== */
.w-hidden { display: none; }
#order-standard-checkout .dr-note.w-hidden { display: none; }
#order-standard-checkout .field-container { margin: 0 0 22px; }
#order-standard-checkout .field-help-text { display: block; margin: 6px 0 0; color: var(--dr-ink-3); font-size: 12px; }
#order-standard-checkout .info-text-sm { color: var(--dr-ink-3); font-size: 12.5px; text-align: center; }
#order-standard-checkout .checkout-error-feedback { margin: 14px 0; }
#order-standard-checkout .form-control-qty { width: 80px; text-align: center; }
#order-standard-checkout .font-size-36 { font-size: 30px; } #order-standard-checkout .font-size-30 { font-size: 24px; } #order-standard-checkout .font-size-24 { font-size: 20px; }
#order-standard-checkout .font-size-22 { font-size: 18px; } #order-standard-checkout .font-size-18 { font-size: 16px; } #order-standard-checkout .font-size-14 { font-size: 14px; } #order-standard-checkout .font-size-12 { font-size: 12px; }
#order-standard-checkout .sub-heading, #order-standard-checkout .sub-heading-borderless { display: flex; align-items: center; gap: 14px; margin: 22px 0 16px; color: var(--dr-ink-3); font-size: 11.5px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
#order-standard-checkout .sub-heading::before, #order-standard-checkout .sub-heading::after { content: ""; flex: 1; height: 1px; background: var(--dr-line-soft); }
#order-standard-checkout .sub-heading span, #order-standard-checkout .sub-heading-borderless span { padding: 0; position: static; font-size: inherit; color: inherit; }
/* "Or" between the sign-in form and the sign-in-with buttons: centred like the buttons around it, a line on each side
   (it was a left-aligned heading with a line under it). */
#order-standard-checkout .sub-heading-borderless { justify-content: center; padding: 0 !important; border-bottom: 0 !important; text-align: center !important; }
#order-standard-checkout .sub-heading-borderless::before, #order-standard-checkout .sub-heading-borderless::after { content: ""; flex: 1; height: 1px; background: var(--dr-line); }
#order-standard-checkout .order-confirmation { text-align: center; }
#order-standard-checkout .order-confirmation span { font-size: 1.3em; }
#order-standard-checkout .order-confirmation-addon-output { margin: 14px 0; text-align: center; }
#order-standard-checkout .error-heading, .error-heading { margin: 26px 0; color: var(--dr-ink); font-size: 1.3em; font-weight: 800; text-align: center; }
#order-standard-checkout .order-summary .loader { position: relative; top: 10px; height: 0; padding-right: 10px; text-align: right; color: var(--dr-ink-3); }
#order-standard-checkout .express-checkout-buttons .separator { padding: 6px; text-align: center; color: var(--dr-ink-3); font-size: 12px; font-weight: 800; }
#order-standard-checkout .panel-addon { margin: 0 0 14px; border: 1px solid var(--dr-line); border-radius: var(--dr-radius-card); background: var(--dr-surface); font-size: 13px; text-align: center; overflow: hidden; cursor: pointer; transition: border-color .15s ease, box-shadow .15s ease; }
#order-standard-checkout .panel-addon:hover { border-color: rgba(var(--dr-accent-rgb), .45); }
#order-standard-checkout .panel-addon .panel-body { padding: 14px; }
#order-standard-checkout .panel-addon .panel-body label { font-size: 13.5px; font-weight: 800; color: var(--dr-ink); }
#order-standard-checkout .panel-addon .panel-price { padding: 6px; background: var(--dr-soft); color: var(--dr-ink); font-weight: 800; }
#order-standard-checkout .panel-addon .panel-add { display: block; padding: 8px; background: var(--dr-accent-tint); color: var(--dr-accent); font-weight: 800; }
#order-standard-checkout .panel-addon-selected { border-color: var(--dr-accent); box-shadow: 0 0 0 3px rgba(var(--dr-accent-rgb), .15); }
#order-standard-checkout .panel-addon-selected .panel-add { background: var(--dr-accent); color: var(--dr-on-accent); }
#order-standard-checkout .modal-remove-item .modal-footer { padding-bottom: 14px; }
/* service renewals */
.service-renewals-quick-filter { margin: 0 0 12px; }
.form-control.service-renewals-filter { width: 100%; max-width: 320px; }
.service-renewals { margin: 12px 0; border: 1px solid var(--dr-line); border-radius: var(--dr-radius-card); background: var(--dr-surface); overflow: hidden; }
.service-renewals .service-renewal { margin: 0; padding: 16px 18px; border-bottom: 1px solid var(--dr-line-soft); }
.service-renewals .service-renewal:last-child { border-bottom: 0; }
.service-renewals .service-renewal h3 { margin: 0; font-size: 15px; font-weight: 800; color: var(--dr-ink); }
.service-renewals .service-renewal .label { border-radius: 999px; }
.service-renewals .div-renewal-period-label { margin-right: 10px; color: var(--dr-ink-2); font-size: 13px; }
.service-renewals .div-renewal-ineligible { font-weight: 700; color: var(--dr-ink-3); }
.service-renewals .div-renewal-ineligible i { margin-right: 4px; }
.addon-renewals { margin-top: 12px; }
.addon-renewals > div { border: 1px solid var(--dr-line-soft); border-radius: 12px; background: var(--dr-soft); overflow: hidden; }
.addon-renewals .service-renewal { padding: 12px 14px; border-bottom: 1px solid var(--dr-line-soft); }
.addon-renewals div > .service-renewal:last-child { border-bottom: 0; }
/* recommendations (modal + complete page) */
#recommendationsModal .modal-header { background: transparent; border-bottom: 0; padding: 18px 22px 0; }
#recommendationsModal .modal-footer { justify-content: center; border: 0; }
#recommendationsModal .product-added-panel { margin: 0 0 12px; border: 1px solid var(--dr-line-soft); border-radius: 12px; background: var(--dr-soft); }
#recommendationsModal .product-added-panel .panel-body { display: flex; flex-flow: row wrap; justify-content: space-between; padding: 12px 14px; }
#recommendationsModal .product-added-panel .panel-body > span:first-child { flex-basis: 100%; margin-bottom: 6px; }
#recommendationsModal .product-added-panel .panel-body > div { display: flex; flex-direction: column; }
#recommendationsModal .product-added-panel .product-name, #recommendationsModal .product-added-panel .price { font-weight: 800; color: var(--dr-ink); }
#recommendationsModal .product-added-panel .product-price, #recommendationsModal .product-added-panel .product-cycle { text-align: right; }
.product-recommendations-container { max-height: 600px; overflow-y: auto; margin: 16px 0 20px; }
.product-recommendations { margin: 0 auto; max-width: 575px; }
.product-recommendations .product-recommendation { margin: 0 0 10px; border: 1px solid var(--dr-line); border-radius: 14px; background: var(--dr-surface); overflow: hidden; }
.product-recommendations .product-recommendation .header { display: flex; align-items: center; gap: 12px; padding: 12px 14px; border-bottom: 0; overflow: hidden; cursor: pointer; }
.product-recommendations .product-recommendation .header.header-static { cursor: default; }
.product-recommendations .product-recommendation .cta { margin-left: auto; padding: 0; text-align: right; display: flex; flex-direction: column; align-items: flex-end; gap: 6px; }
.product-recommendations .product-recommendation .headline { margin: 0; font-size: 14px; font-weight: 800; color: var(--dr-ink); }
.product-recommendations .product-recommendation .tagline { color: var(--dr-ink-3); font-size: 12.5px; }
.product-recommendations .product-recommendation .body { display: none; padding: 12px 14px; border-top: 1px solid var(--dr-line-soft); background: var(--dr-soft); font-size: 13px; color: var(--dr-ink-2); }
.product-recommendations .product-recommendation .price { padding: 0; font-size: 14px; font-weight: 800; color: var(--dr-ink); display: flex; flex-direction: column; align-items: flex-end; }
.product-recommendations .product-recommendation .btn-add { padding: 0; border-radius: 999px; background: var(--dr-accent); color: var(--dr-on-accent); font-size: 12.5px; font-weight: 700; overflow: hidden; }
.product-recommendations .product-recommendation .arrow { display: inline-block; padding: 5px 10px; background: rgba(0, 0, 0, .12); }
.product-recommendations .product-recommendation .text { display: inline-block; padding: 5px 10px; }
.product-recommendations .product-recommendation .expander { width: 22px; font-size: 16px; color: var(--dr-accent); text-align: center; line-height: 1; transition: transform .2s ease; }
.product-recommendations .product-recommendation .expander .fa-square { font-size: .7em; }
.product-recommendations .product-recommendation .rotate { transition: transform .2s ease; }
.product-recommendations .product-recommendation .rotate.down { transform: rotate(90deg); }


/* ==========================================================================
   Configure product (1.6.0): compact product card, option cards, addon tiles,
   and the live order summary on the right.
   ========================================================================== */
#order-standard-checkout .dr-configure .product-info { padding: 20px !important; }
#order-standard-checkout .dr-conf-product { display: grid; grid-template-columns: 220px minmax(0, 1fr); gap: 22px; align-items: start; }
#order-standard-checkout .dr-conf-product__media { min-width: 0; }
#order-standard-checkout .dr-conf-product__media .dr-store-gallery__main { aspect-ratio: 1 / 1; border-radius: 14px; }
#order-standard-checkout .dr-conf-product__media .dr-store-gallery__thumbs { gap: 6px; margin-top: 8px; }
#order-standard-checkout .dr-conf-product__media .dr-store-gallery__thumb { width: 48px; height: 48px; padding: 0; border: 2px solid transparent; border-radius: 10px; overflow: hidden; background: var(--dr-soft); }
#order-standard-checkout .dr-conf-product__placeholder { display: flex; align-items: center; justify-content: center; aspect-ratio: 1 / 1; border-radius: 14px; background: var(--dr-accent-tint); color: var(--dr-accent); font-size: 40px; }
#order-standard-checkout .dr-conf-product__copy { display: flex; flex-direction: column; gap: 8px; min-width: 0; }
#order-standard-checkout .dr-conf-product__copy .dr-hero__eyebrow { margin: 0; }
#order-standard-checkout .product-info .dr-conf-product__title { margin: 0; font-size: 22px; font-weight: 800; letter-spacing: -.01em; line-height: 1.2; color: var(--dr-ink); }
#order-standard-checkout .dr-conf-product__desc { display: -webkit-box; -webkit-line-clamp: 4; -webkit-box-orient: vertical; overflow: hidden; color: var(--dr-ink-2); font-size: 13.5px; line-height: 1.7; }
#order-standard-checkout .dr-conf-product__desc.is-open { display: block; -webkit-line-clamp: unset; }
#order-standard-checkout .dr-conf-product__desc > :last-child { margin-bottom: 0; }
#order-standard-checkout .dr-conf-product__more { align-self: flex-start; margin: -4px 0 0; padding: 0; border: 0; background: transparent; color: var(--dr-accent); font-size: 13px; font-weight: 700; cursor: pointer; }
#order-standard-checkout .dr-conf-product__benefits { margin: 0; }
#order-standard-checkout .dr-conf-product__trust { margin-top: 6px; }
#order-standard-checkout .dr-conf-product__note { margin: 0; color: var(--dr-ink-2); font-size: 13px; }
#order-standard-checkout .dr-configure .dr-card { margin: 0 0 20px; }
#order-standard-checkout .dr-configure .dr-card__head { margin-bottom: 16px; }
#order-standard-checkout .dr-configure .dr-store-options__state { margin: 12px 0 0; }
#order-standard-checkout .dr-configure .dr-switch-row { margin-top: 10px; padding-bottom: 0; }
#order-standard-checkout .dr-qty--field { height: 42px; }
#order-standard-checkout .dr-conf-qtyrow { display: flex; align-items: center; gap: 10px; color: var(--dr-ink-2); font-size: 13.5px; }
#order-standard-checkout .dr-conf-qtyrow .form-control-qty { width: 90px; }
#order-standard-checkout .dr-field--wide { grid-column: 1 / -1; }
#order-standard-checkout .dr-choice:hover { border-color: rgba(var(--dr-accent-rgb), .45); }
#order-standard-checkout .dr-choice > .iradio_square-blue, #order-standard-checkout .dr-choice > .icheckbox_square-blue { display: none; }
/* Serepok's dark mode gives every span the text colour, which showed the tick on choices nobody had
   picked (every payment method looked chosen). An unpicked choice's tick stays hidden, as in light mode. */
body.dark-mode .dr-choice:not(:has(input:checked)) .dr-choice__state { color: transparent; }
/* The card step's messages come as a list (the form's checks): centred lines like the box's other messages, without
   bullets left at the box's edge. */
#order-standard-checkout .gateway-errors li { list-style: none; margin: 0; padding: 0; }
#order-standard-checkout .dr-conf-help { margin-bottom: 0; }
#order-standard-checkout .dr-note a { color: var(--dr-accent); }

/* addon tiles (the checkbox and .panel-add are driven by scripts.js / iCheck) */
#order-standard-checkout .dr-addons { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 14px; }
#order-standard-checkout .dr-addon { display: flex; flex-direction: column; margin: 0; text-align: left; font-size: 13.5px; }
#order-standard-checkout .dr-addon .dr-addon__body { flex: 1; padding: 16px 18px 12px; }
#order-standard-checkout .dr-addon__title { display: flex; align-items: center; gap: 10px; margin: 0 0 6px; font-size: 14.5px; font-weight: 800; color: var(--dr-ink); cursor: pointer; }
#order-standard-checkout .dr-addon__title input { margin: 0; width: 16px; height: 16px; accent-color: var(--dr-accent); }
#order-standard-checkout .dr-addon__desc { color: var(--dr-ink-2); font-size: 13px; line-height: 1.6; }
#order-standard-checkout .dr-addon .dr-addon__price { padding: 10px 18px; background: var(--dr-soft); color: var(--dr-ink); font-weight: 800; }
#order-standard-checkout .dr-addon .dr-addon__add { padding: 10px 18px; }

/* live summary (ordersummary.tpl fills #producttotal) */
#order-standard-checkout .dr-osum__product { padding: 8px 0 4px; }
#order-standard-checkout .dr-osum__product strong { display: block; color: var(--dr-ink); font-size: 14.5px; font-weight: 800; }
#order-standard-checkout .dr-osum__product small { color: var(--dr-ink-3); font-size: 12.5px; }
#order-standard-checkout .dr-osum__lines > div.dr-osum__sub { padding: 6px 0 6px 12px; font-size: 12.5px; border-bottom: 1px dashed var(--dr-line-soft); }
#order-standard-checkout .dr-osum__lines > div.dr-osum__sub dt { font-weight: 500; }
#order-standard-checkout .dr-osum__lines > div.dr-osum__sub dd { font-weight: 700; }
#order-standard-checkout .dr-osum__lines > div.dr-osum__group { padding: 12px 0 4px; border-bottom: 0; }
#order-standard-checkout .dr-osum__lines > div.dr-osum__group dt { color: var(--dr-ink-3); font-size: 11.5px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
#order-standard-checkout .dr-osum__lines dt small { display: block; color: var(--dr-ink-3); font-size: 11.5px; font-weight: 500; }
#order-standard-checkout .dr-osum__remove { display: inline-flex; align-items: center; justify-content: center; width: 24px; height: 24px; margin-left: 4px; border-radius: 999px; color: var(--dr-ink-3); vertical-align: middle; }
#order-standard-checkout .dr-osum__remove:hover { color: var(--dr-bad); background: var(--dr-bad-tint); }
#order-standard-checkout .dr-osum__foot { padding: 0 20px 20px; }
#order-standard-checkout .dr-osum__foot .dr-osum__checkout { gap: 8px; }
#order-standard-checkout #orderSummary { margin-top: 0 !important; }

@media (max-width: 720px) {
    #order-standard-checkout .dr-conf-product { grid-template-columns: minmax(0, 1fr); }
    #order-standard-checkout .dr-conf-product__media { max-width: 220px; }
}

/* iCheck wrappers (scripts.js still drives payment methods, addons and configurable options through iCheck) */
.icheckbox_square-blue, .iradio_square-blue { position: relative; display: inline-block; flex: none; width: 18px; height: 18px; margin: 0 8px 0 0; border: 2px solid var(--dr-line); border-radius: 5px; background: var(--dr-surface); vertical-align: middle; cursor: pointer; transition: border-color .15s ease, background .15s ease; }
.iradio_square-blue { border-radius: 999px; }
.icheckbox_square-blue.hover, .iradio_square-blue.hover { border-color: var(--dr-accent); }
.icheckbox_square-blue.checked, .iradio_square-blue.checked { border-color: var(--dr-accent); background: var(--dr-accent); }
.icheckbox_square-blue.checked::after { content: ""; position: absolute; left: 4px; top: 1px; width: 5px; height: 9px; border: solid #fff; border-width: 0 2px 2px 0; transform: rotate(45deg); }
.iradio_square-blue.checked::after { content: ""; position: absolute; inset: 3px; border-radius: 999px; background: #fff; }
.icheckbox_square-blue.disabled, .iradio_square-blue.disabled { opacity: .5; cursor: not-allowed; }
#order-standard-checkout .marketing-email-optin h4 { margin: 0 0 4px; font-size: 15px; font-weight: 800; color: var(--dr-ink); }
#order-standard-checkout .marketing-email-optin p { color: var(--dr-ink-2); font-size: 13.5px; }
#order-standard-checkout .marketing-email-optin .dr-switch-row { padding: 6px 0 0; }
#order-standard-checkout #inputNoStoreContainer { line-height: normal !important; }
#order-standard-checkout .cc-input-container ul, #order-standard-checkout .cc-input-container li { list-style: none; margin: 0; padding: 0; }

/* ==========================================================================
   Payment details (1.6.0): gateway choices, saved cards, the new-card form.
   ========================================================================== */
#order-standard-checkout .dr-gateways { margin: 0 0 16px; }
#order-standard-checkout .dr-gateways__lead { margin: 0 0 10px; color: var(--dr-ink-2); font-size: 13px; }
#order-standard-checkout .dr-gateways__list { grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); }
#order-standard-checkout .dr-gateway strong { font-size: 14px; }
#order-standard-checkout .dr-credit__lead { margin: 0 0 10px; color: var(--dr-ink-2); font-size: 13.5px; }

#order-standard-checkout .cc-input-container { padding: 20px; }
#order-standard-checkout .cc-input-container > :last-child { margin-bottom: 0; }
#order-standard-checkout .dr-paycard__title { display: flex; align-items: center; gap: 8px; margin: 0 0 14px; font-size: 14px; font-weight: 800; color: var(--dr-ink); }
#order-standard-checkout .dr-paycard__title i { color: var(--dr-accent); }
#order-standard-checkout .dr-paycard__choice { margin: 0 0 16px; }
#order-standard-checkout #newCardInfo, #order-standard-checkout #existingCardInfo, #order-standard-checkout #newCardSaveSettings { margin: 0; }
#order-standard-checkout #newCardSaveSettings { margin-top: 16px; }
#order-standard-checkout .dr-fields--card { grid-template-columns: minmax(0, 2fr) minmax(0, 1fr) minmax(0, 1fr); }
#order-standard-checkout .dr-field__optional { color: var(--dr-ink-3); font-weight: 600; }
#order-standard-checkout .dr-inputbtn { display: flex; align-items: stretch; gap: 8px; }
#order-standard-checkout .dr-inputbtn .form-control { flex: 1; min-width: 0; }
#order-standard-checkout .dr-inputbtn__btn { flex: none; display: inline-flex; align-items: center; justify-content: center; width: 42px; border: 1px solid var(--dr-line); border-radius: var(--dr-radius-control, 12px); background: var(--dr-surface); color: var(--dr-ink-3); font-size: 14px; cursor: pointer; }
#order-standard-checkout .dr-inputbtn__btn:hover { color: var(--dr-accent); border-color: var(--dr-accent); background: var(--dr-accent-tint); }
#order-standard-checkout .field-error-msg { display: none; margin-top: 6px; color: var(--dr-bad); font-size: 12px; }
#order-standard-checkout .has-error .field-error-msg, #order-standard-checkout .field-error-msg.is-visible { display: block; }

/* saved cards: one row per card */
#order-standard-checkout .existing-cc-grid { display: grid; gap: 8px; margin: 0 0 16px; }
#order-standard-checkout .existing-cc-grid:empty { display: none; }
#order-standard-checkout .dr-savedcard { margin: 0; }
#order-standard-checkout .dr-savedcard__copy { min-width: 0; }
#order-standard-checkout .dr-savedcard__expiry { margin-left: auto; padding-left: 8px; color: var(--dr-ink-3); font-size: 12.5px; white-space: nowrap; }
#order-standard-checkout .dr-savedcard.is-expired { opacity: .55; cursor: not-allowed; }
#order-standard-checkout .dr-savedcard.w-hidden { display: none; }
#order-standard-checkout .cvv-input .dr-fields { max-width: 340px; }

@media (max-width: 640px) {
    #order-standard-checkout .dr-fields--card { grid-template-columns: minmax(0, 1fr); }
}

/* w-hidden is the order form's "hidden" flag: it must beat the component rules above
   (which are id-scoped) while still losing to jQuery's inline display on slideDown. */
#order-standard-checkout .w-hidden, .w-hidden { display: none; }

/* ==========================================================================
   Catalogue sidebar (1.6.0): the category tree and the filter panel.
   ========================================================================== */
#order-standard-checkout .dr-cattree, #order-standard-checkout .dr-filters { padding: 0; overflow: hidden; }
#order-standard-checkout .dr-cattree .dr-sidecard__head, #order-standard-checkout .dr-filters .dr-sidecard__head { margin: 0; padding: 14px 16px; border-bottom: 1px solid var(--dr-line-soft); }
#order-standard-checkout .dr-tree__total { margin-left: auto; padding: 2px 9px; border-radius: 999px; background: var(--dr-soft); color: var(--dr-ink-3); font-size: 11.5px; font-weight: 800; }
#order-standard-checkout .dr-tree { display: block; padding: 8px; }
#order-standard-checkout .dr-tree__branch + .dr-tree__branch { margin-top: 2px; }
#order-standard-checkout .dr-tree__row { display: flex; align-items: center; gap: 10px; width: 100%; margin: 0; padding: 9px 10px; border: 0; border-radius: 10px; background: transparent; color: var(--dr-ink-2); font-size: 13.5px; text-align: left; text-decoration: none; cursor: pointer; }
#order-standard-checkout .dr-tree__row:hover { background: var(--dr-soft); color: var(--dr-ink); }
#order-standard-checkout .dr-tree__parent { font-weight: 800; color: var(--dr-ink); }
#order-standard-checkout .dr-tree__icon { display: inline-flex; align-items: center; justify-content: center; width: 26px; height: 26px; border-radius: 8px; background: var(--dr-accent-tint); color: var(--dr-accent); font-size: 12px; flex: none; }
#order-standard-checkout .dr-tree__label { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
#order-standard-checkout .dr-tree__count { flex: none; color: var(--dr-ink-3); font-size: 12px; font-weight: 700; }
#order-standard-checkout .dr-tree__caret { flex: none; color: var(--dr-ink-3); font-size: 11px; transition: transform .16s ease; }
#order-standard-checkout .dr-tree__branch.is-open > .dr-tree__parent .dr-tree__caret { transform: rotate(180deg); }
#order-standard-checkout .dr-tree__kids { display: none; padding: 2px 0 6px 18px; }
#order-standard-checkout .dr-tree__branch.is-open > .dr-tree__kids { display: block; }
#order-standard-checkout .dr-tree__child { padding-left: 8px; }
#order-standard-checkout .dr-tree__check { flex: none; display: inline-flex; align-items: center; justify-content: center; width: 18px; height: 18px; border: 2px solid var(--dr-line); border-radius: 5px; color: transparent; font-size: 9px; }
#order-standard-checkout .dr-tree__child.is-current { background: var(--dr-accent-tint); color: var(--dr-accent); font-weight: 800; }
#order-standard-checkout .dr-tree__child.is-current .dr-tree__check { border-color: var(--dr-accent); background: var(--dr-accent); color: var(--dr-on-accent); }
#order-standard-checkout .dr-tree__child.is-current .dr-tree__count { color: inherit; }

#order-standard-checkout .dr-filters__body { display: grid; gap: 16px; padding: 16px; }
#order-standard-checkout .dr-filters__reset { margin-left: auto; padding: 4px 10px; border: 1px solid var(--dr-line); border-radius: 999px; background: var(--dr-surface); color: var(--dr-ink-2); font-size: 11.5px; font-weight: 700; cursor: pointer; }
#order-standard-checkout .dr-filters__reset:hover { color: var(--dr-accent); border-color: var(--dr-accent); }
#order-standard-checkout [data-filter-facets] { display: grid; gap: 16px; }
#order-standard-checkout [data-filter-facets]:empty { display: none; }
#order-standard-checkout .dr-filter { display: grid; gap: 8px; }
#order-standard-checkout .dr-filter__label { color: var(--dr-ink-3); font-size: 11.5px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
#order-standard-checkout .dr-filters .form-control { min-height: 40px; }
#order-standard-checkout .dr-filters .dr-switch-row { padding: 0; }
#order-standard-checkout .dr-filters__count { margin: 0; padding-top: 4px; border-top: 1px solid var(--dr-line-soft); color: var(--dr-ink-3); font-size: 12.5px; }
#order-standard-checkout .dr-facet__list { display: grid; gap: 2px; max-height: 190px; overflow-y: auto; }
#order-standard-checkout .dr-facet__row { display: flex; align-items: center; gap: 10px; margin: 0; padding: 6px 6px; border-radius: 8px; color: var(--dr-ink-2); font-size: 13px; font-weight: 600; cursor: pointer; }
#order-standard-checkout .dr-facet__row:hover { background: var(--dr-soft); }
#order-standard-checkout .dr-facet__row input { flex: none; width: 16px; height: 16px; margin: 0; accent-color: var(--dr-accent); }
#order-standard-checkout .dr-facet__row span { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
#order-standard-checkout .dr-facet__row small { color: var(--dr-ink-3); font-size: 11.5px; }

/* two-handle price range */
#order-standard-checkout .dr-range { position: relative; height: 26px; }
#order-standard-checkout .dr-range__track { position: absolute; left: 0; right: 0; top: 11px; height: 4px; border-radius: 999px; background: var(--dr-line); }
#order-standard-checkout .dr-range__fill { position: absolute; top: 0; bottom: 0; border-radius: 999px; background: var(--dr-accent); }
#order-standard-checkout .dr-range__input { position: absolute; left: 0; top: 0; width: 100%; height: 26px; margin: 0; padding: 0; background: none; border: 0; appearance: none; -webkit-appearance: none; pointer-events: none; }
#order-standard-checkout .dr-range__input::-webkit-slider-thumb { -webkit-appearance: none; pointer-events: auto; width: 16px; height: 16px; border: 2px solid var(--dr-surface); border-radius: 999px; background: var(--dr-accent); box-shadow: 0 1px 4px rgba(20,19,26,.35); cursor: pointer; }
#order-standard-checkout .dr-range__input::-moz-range-thumb { pointer-events: auto; width: 16px; height: 16px; border: 2px solid var(--dr-surface); border-radius: 999px; background: var(--dr-accent); cursor: pointer; }
#order-standard-checkout .dr-range__input::-webkit-slider-runnable-track { background: transparent; }
#order-standard-checkout .dr-range__input::-moz-range-track { background: transparent; }
#order-standard-checkout .dr-range__values { display: flex; justify-content: space-between; color: var(--dr-ink); font-size: 12.5px; font-weight: 800; }
#order-standard-checkout .store-product-column[hidden] { display: none; }

/* The chosen variant, summarised under the option fields: price, availability, SKU. */
#order-standard-checkout .dr-varstate { display: flex; align-items: center; gap: 12px; margin: 16px 0 0; padding: 12px 14px; border: 1px solid transparent; border-radius: 12px; background: var(--dr-soft); }
#order-standard-checkout .dr-varstate__dot { flex: none; width: 9px; height: 9px; border-radius: 999px; background: var(--dr-ink-3); }
#order-standard-checkout .dr-varstate__copy { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 10px; min-width: 0; }
#order-standard-checkout .dr-varstate__copy strong { color: var(--dr-ink); font-size: 15px; font-weight: 800; letter-spacing: -.01em; }
#order-standard-checkout .dr-varstate__copy strong:empty { display: none; }
#order-standard-checkout .dr-varstate__copy > span { color: var(--dr-ink-2); font-size: 13px; font-weight: 700; }
#order-standard-checkout .dr-varstate__sku { margin-left: auto; color: var(--dr-ink-3); font-size: 12px; font-weight: 600; white-space: nowrap; }
#order-standard-checkout .dr-varstate__sku i { margin-right: 2px; }
#order-standard-checkout .dr-varstate.is-ok { border-color: color-mix(in srgb, var(--dr-ok) 28%, transparent); background: var(--dr-ok-tint); }
#order-standard-checkout .dr-varstate.is-ok .dr-varstate__dot { background: var(--dr-ok); }
#order-standard-checkout .dr-varstate.is-warn { border-color: color-mix(in srgb, var(--dr-warn) 28%, transparent); background: var(--dr-warn-tint); }
#order-standard-checkout .dr-varstate.is-warn .dr-varstate__dot { background: var(--dr-warn); }
#order-standard-checkout .dr-varstate.is-bad { border-color: color-mix(in srgb, var(--dr-bad) 28%, transparent); background: var(--dr-bad-tint); }
#order-standard-checkout .dr-varstate.is-bad .dr-varstate__dot { background: var(--dr-bad); }
#order-standard-checkout .dr-varstate.is-bad .dr-varstate__copy > span { color: var(--dr-bad); }

/* ------------------------------------------------------------------ *
 * Field-level validation
 *
 * A list of messages above the button tells a customer something is wrong but not
 * where: on a page with two selects and a date, "please choose an option for every
 * attribute" still leaves them hunting. Every error the order form raises now names
 * the field it came from, and the field says so itself.
 * ------------------------------------------------------------------ */
#order-standard-checkout .is-invalid,
#order-standard-checkout .form-control.is-invalid,
#order-standard-checkout select.is-invalid,
#order-standard-checkout input.is-invalid,
.dr-body .is-invalid.form-control {
    border-color: var(--dr-bad) !important;
    background-color: var(--dr-bad-tint);
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--dr-bad) 14%, transparent);
}
#order-standard-checkout .is-invalid:focus,
.dr-body .is-invalid.form-control:focus {
    border-color: var(--dr-bad) !important;
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--dr-bad) 24%, transparent);
}
#order-standard-checkout .dr-field.is-invalid-field > label { color: var(--dr-bad); }
#order-standard-checkout .dr-qty.is-invalid,
#order-standard-checkout .dr-choice.is-invalid,
#order-standard-checkout .dr-choices.is-invalid {
    border-color: var(--dr-bad) !important;
    background-color: var(--dr-bad-tint);
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--dr-bad) 14%, transparent);
}
#order-standard-checkout .dr-field__error {
    display: flex;
    align-items: center;
    gap: 6px;
    margin: 6px 0 0;
    color: var(--dr-bad);
    font-size: 12px;
    font-weight: 600;
}

/* ------------------------------------------------------------------ *
 * Compare
 *
 * A shortlist made visible: a toggle on every card and on the product page, a tray at
 * the foot of the window while the shortlist has anything in it, and a table that reads
 * down the rows rather than across the columns -- the first column stays put so the row's
 * name is still there when the fourth product scrolls into view.
 * ------------------------------------------------------------------ */
/* Beside the heart, not opposite it: the two things you can do to a card without leaving
   the page belong together in one corner. */
#order-standard-checkout .dr-product__compare {
    position: absolute;
    top: 12px;
    left: 56px;
    z-index: 2;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    padding: 0;
    border: 1px solid var(--dr-line);
    border-radius: 999px;
    background: var(--dr-surface);
    color: var(--dr-ink-2);
    font-size: 13px;
    box-shadow: var(--dr-shadow-pop);
    cursor: pointer;
    transition: color .15s ease, border-color .15s ease, background .15s ease, transform .15s ease;
}
#order-standard-checkout .dr-product__compare:hover { transform: scale(1.06); }
#order-standard-checkout .dr-product__compare:hover { color: var(--dr-accent); border-color: rgba(var(--dr-accent-rgb), .45); }
#order-standard-checkout .dr-product__compare.is-on { color: var(--dr-on-accent); background: var(--dr-accent); border-color: var(--dr-accent); }
#order-standard-checkout .dr-pdp__iconbtn.is-on { color: var(--dr-on-accent); background: var(--dr-accent); border-color: var(--dr-accent); }

/* The tray */
.dr-comparebar {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 1040;
    padding: 12px 16px calc(12px + env(safe-area-inset-bottom));
    border-top: 1px solid var(--dr-line);
    background: var(--dr-surface);
    box-shadow: 0 -10px 30px rgba(0, 0, 0, .12);
}
.dr-comparebar[hidden] { display: none; }
body.dr-has-comparebar { padding-bottom: 96px; }
.dr-comparebar__inner {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px 16px;
    max-width: 1180px;
    margin: 0 auto;
}
.dr-comparebar__title { display: inline-flex; align-items: center; gap: 8px; color: var(--dr-ink); font-size: 13px; font-weight: 800; }
.dr-comparebar__title i { color: var(--dr-accent); }
.dr-comparebar__items { display: flex; flex: 1; flex-wrap: wrap; gap: 8px; min-width: 0; }
.dr-comparebar__item {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    max-width: 220px;
    padding: 5px 6px 5px 5px;
    border: 1px solid var(--dr-line-soft);
    border-radius: 999px;
    background: var(--dr-soft);
    color: var(--dr-ink-2);
    font-size: 12.5px;
    font-weight: 600;
}
.dr-comparebar__item img { width: 26px; height: 26px; object-fit: cover; border-radius: 999px; }
.dr-comparebar__item > i { width: 26px; text-align: center; color: var(--dr-ink-3); }
.dr-comparebar__item > span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.dr-comparebar__item button { display: inline-flex; align-items: center; justify-content: center; width: 20px; height: 20px; padding: 0; border: 0; border-radius: 999px; background: transparent; color: var(--dr-ink-3); font-size: 11px; }
.dr-comparebar__item button:hover { color: var(--dr-bad); background: var(--dr-bad-tint); }
.dr-comparebar__actions { display: flex; align-items: center; gap: 8px; }
.dr-comparebar__actions .disabled { pointer-events: none; opacity: .5; }
.dr-comparebar__note { flex: 1 0 100%; margin: 0; color: var(--dr-warn); font-size: 12px; font-weight: 600; }

/* The table */
#order-standard-checkout .dr-compare .dr-card__actions { display: flex; align-items: center; gap: 14px; margin-left: auto; }
#order-standard-checkout .dr-compare__scroll { overflow-x: auto; }
/* Fixed layout with a width the columns are counted into: every product gets the same
   width whatever it happens to be called, and a fifth column would scroll rather than
   squeeze the other four. */
#order-standard-checkout .dr-compare__table {
    width: max(100%, calc(200px + var(--dr-compare-cols, 2) * 240px));
    table-layout: fixed;
    border-collapse: collapse;
}
#order-standard-checkout .dr-compare__table th,
#order-standard-checkout .dr-compare__table td {
    padding: 12px 14px;
    border-bottom: 1px solid var(--dr-line-soft);
    text-align: left;
    vertical-align: middle;
    font-size: 13.5px;
}
#order-standard-checkout .dr-compare__table tbody th {
    position: sticky;
    left: 0;
    z-index: 1;
    min-width: 180px;
    background: var(--dr-surface);
    color: var(--dr-ink-2);
    font-size: 12.5px;
    font-weight: 700;
}
#order-standard-checkout .dr-compare__table tbody th i { width: 16px; margin-right: 6px; color: var(--dr-ink-3); }
#order-standard-checkout .dr-compare__table tbody tr:hover td,
#order-standard-checkout .dr-compare__table tbody tr:hover th { background: var(--dr-soft); }
#order-standard-checkout .dr-compare__corner { position: sticky; left: 0; z-index: 2; width: 200px; background: var(--dr-surface); color: var(--dr-ink-3); font-size: 11px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; vertical-align: bottom; }
#order-standard-checkout .dr-compare__head { position: relative; padding-bottom: 18px; vertical-align: top; }
#order-standard-checkout .dr-compare__remove { position: absolute; top: 6px; right: 8px; display: inline-flex; align-items: center; justify-content: center; width: 26px; height: 26px; padding: 0; border: 0; border-radius: 999px; background: transparent; color: var(--dr-ink-3); font-size: 12px; }
#order-standard-checkout .dr-compare__remove:hover { color: var(--dr-bad); background: var(--dr-bad-tint); }
#order-standard-checkout .dr-compare__media { display: block; width: 116px; height: 116px; margin: 4px 0 10px; border-radius: 12px; background: var(--dr-soft); overflow: hidden; }
#order-standard-checkout .dr-compare__media img { width: 100%; height: 100%; object-fit: cover; }
#order-standard-checkout .dr-compare__placeholder { display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; color: var(--dr-accent); font-size: 30px; background: var(--dr-accent-tint); }
#order-standard-checkout .dr-compare__name { display: block; margin-bottom: 6px; color: var(--dr-ink); font-size: 14.5px; font-weight: 700; line-height: 1.35; }
#order-standard-checkout .dr-compare__name:hover { color: var(--dr-accent); }
#order-standard-checkout .dr-compare__head .dr-rating { margin-bottom: 6px; }
#order-standard-checkout .dr-compare__head .dr-price { align-items: flex-start; margin: 0 0 10px; }
#order-standard-checkout .dr-compare__add { width: 100%; }
#order-standard-checkout .dr-compare__none { color: var(--dr-ink-3); }
#order-standard-checkout .dr-compare.is-diff-only tr[data-compare-same] { display: none; }

@media (max-width: 767px) {
    #order-standard-checkout .dr-compare .dr-card__actions { flex-wrap: wrap; width: 100%; margin: 10px 0 0; }
    #order-standard-checkout .dr-compare__table { width: max(100%, calc(140px + var(--dr-compare-cols, 2) * 190px)); }
    #order-standard-checkout .dr-compare__table tbody th { min-width: 0; }
    #order-standard-checkout .dr-compare__corner { width: 140px; }
    #order-standard-checkout .dr-compare__media { width: 84px; height: 84px; }
    .dr-comparebar__title { flex: 1 0 100%; }
}

/* --------------------------------------------------------------------------
   Storefront (/store)
   The store's front door: a promo strip, category tiles, a featured row and a
   row per product type. Tokens only, so it follows light and dark.
   -------------------------------------------------------------------------- */
.dr-storefront__promo {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 28px;
    padding: clamp(26px, 4vw, 44px);
    border: 1px solid var(--dr-line);
    border-radius: var(--dr-radius-card);
    background: var(--dr-surface-2);
    background-size: cover;
    background-position: center;
    overflow: hidden;
}

.dr-storefront__promo.has-image::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, var(--dr-surface) 4%, rgba(0, 0, 0, 0) 78%);
}

.dr-storefront__promo-copy { position: relative; max-width: 54ch; }
.dr-storefront__promo-copy h1 { margin: 4px 0 10px; font-size: clamp(26px, 3.4vw, 38px); font-weight: 800; letter-spacing: -.02em; }
.dr-storefront__promo-copy p { margin: 0 0 18px; color: var(--dr-ink-2); font-size: 15px; line-height: 1.6; }

.dr-storefront__search {
    position: relative;
    flex: 0 1 320px;
    min-width: 240px;
}

.dr-storefront__search i {
    position: absolute;
    top: 50%;
    left: 16px;
    transform: translateY(-50%);
    color: var(--dr-ink-3);
    pointer-events: none;
}

.dr-storefront__search input {
    width: 100%;
    height: 48px;
    padding: 0 16px 0 44px;
    border: 1px solid var(--dr-line);
    border-radius: var(--dr-radius-pill);
    background: var(--dr-surface);
    color: var(--dr-ink);
    font-size: 15px;
}

.dr-storefront__search input:focus {
    outline: none;
    border-color: var(--dr-accent);
    box-shadow: 0 0 0 3px var(--dr-accent-tint);
}

.dr-storefront__section { margin-bottom: 34px; }
.dr-storefront__section:last-of-type { margin-bottom: 0; }

.dr-storefront__section-head {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 16px;
}

.dr-storefront__section-head h2 { margin: 0; font-size: 21px; font-weight: 800; letter-spacing: -.01em; }
.dr-storefront__section-head p { margin: 4px 0 0; color: var(--dr-ink-2); font-size: 14px; }

/* Category cards fill their row as well: as many as fit side by side (at least 210px each), and the cards of a
   shorter last row share it. A category on its own lies across the row: icon, name and line, and its count. */
.dr-storefront__cats {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
}

.dr-storefront__cats > .dr-storefront__cat { flex: 1 1 210px; min-width: 0; }
.dr-storefront__cats > .dr-storefront__cat:only-child { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; column-gap: 16px; row-gap: 2px; align-items: center; }
.dr-storefront__cats > .dr-storefront__cat:only-child > .dr-card__icon { grid-row: 1 / span 2; }
.dr-storefront__cats > .dr-storefront__cat:only-child > strong { grid-column: 2; align-self: end; }
.dr-storefront__cats > .dr-storefront__cat:only-child > small { grid-column: 2; align-self: start; }
.dr-storefront__cats > .dr-storefront__cat:only-child > .dr-storefront__count { grid-column: 3; grid-row: 1 / span 2; margin: 0; padding: 0 0 0 8px; }

.dr-storefront__cat {
    display: flex;
    flex-direction: column;
    gap: 6px;
    padding: 20px;
    color: inherit;
    text-decoration: none !important;
    transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}

.dr-storefront__cat:hover,
.dr-storefront__cat:focus {
    transform: translateY(-2px);
    border-color: var(--dr-accent);
    color: inherit;
}

.dr-storefront__cat strong { font-size: 15.5px; font-weight: 800; }
.dr-storefront__cat small { color: var(--dr-ink-2); font-size: 13px; line-height: 1.5; }
.dr-storefront__count { margin-top: auto; padding-top: 8px; color: var(--dr-ink-3); font-size: 12.5px; font-weight: 700; }

.dr-storefront__empty { margin-top: 8px; }

@media (max-width: 640px) {
    .dr-storefront__promo { padding: 22px; }
    .dr-storefront__promo.has-image::before { background: linear-gradient(0deg, var(--dr-surface) 30%, rgba(0, 0, 0, .1) 100%); }
    .dr-storefront__search { flex: 1 1 100%; }
}

/* --------------------------------------------------------------------------
   Breadcrumb inside the order form
   The client theme aligns its breadcrumb for its own page layout - serepok pushes
   it to the end of the row - but in the order form the hero beneath it starts at
   the left, so anywhere else reads as misplaced.
   -------------------------------------------------------------------------- */
#order-standard-checkout .mtd-breadcrumb,
#order-standard-checkout nav[aria-label="Breadcrumb"] {
    justify-content: flex-start;
    margin: 0 0 16px;
}

#order-standard-checkout .mtd-breadcrumb > ol,
#order-standard-checkout .dr-crumbs {
    justify-content: flex-start;
    margin: 0;
}

/* Two destinations that are not product rows: giving and membership. */
.dr-storefront__ways {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr));
    gap: 16px;
}

.dr-storefront__way {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 20px 22px;
    color: inherit;
    text-decoration: none !important;
    transition: transform .18s ease, border-color .18s ease;
}

.dr-storefront__way:hover,
.dr-storefront__way:focus { transform: translateY(-2px); border-color: var(--dr-accent); color: inherit; }
.dr-storefront__way strong { display: block; font-size: 15.5px; font-weight: 800; }
.dr-storefront__way small { display: block; margin-top: 3px; color: var(--dr-ink-2); font-size: 13px; line-height: 1.5; }
.dr-storefront__way-go { margin-left: auto; color: var(--dr-ink-3); }

/* Give the recommendation title and category action their own space on phones. */
@media (max-width: 760px) {
    #order-standard-checkout .dr-card--related .dr-card__head {
        grid-template-columns: auto minmax(0, 1fr);
        align-items: start;
    }
    #order-standard-checkout .dr-card--related .dr-card__tool {
        grid-column: 1 / -1;
        justify-self: start;
        max-width: 100%;
        white-space: normal;
    }
}

/* Keep the account switch from narrowing the introduction on phones. */
@media (max-width: 640px) {
    #order-standard-checkout .already-registered { display: flex; flex-direction: column; gap: 8px; }
    #order-standard-checkout .already-registered > .pull-right {
        float: none !important;
        order: 1;
        width: 100%;
    }
    #order-standard-checkout .already-registered > p { width: 100%; margin: 0; }
    /* Preserve the native hidden flag; inline jQuery show() can still reveal it. */
    #order-standard-checkout #btnAlreadyRegistered.w-hidden { display: none; }
}
