/*
 * DHLMS Theme - the shop pages it takes from its parent theme (product set-up, domain step, cart, checkout).
 * The parent's markup, this theme's look: every colour is a DHLMS token (--dh-*), so the pages follow the palette and the
 * light / dark switch. Loaded after dark-site.css (the generated fallback) on body.dh-legacy pages only.
 */
html body.dh-legacy { --dhs-ring: 0 0 0 4px var(--dh-accent-soft); }
html body.dh-legacy .dh-legacy__main { padding: 0 0 96px; }
html body.dh-legacy .dh-legacy__main > .dh-pagehead:first-child { margin-bottom: 40px; }
html body.dh-legacy .dh-legacy__main .container { max-width: var(--dh-max); padding-left: 24px; padding-right: 24px; }
html body.dh-legacy .section-pb-120 { padding-bottom: 72px !important; }

/* ------------------------------------------------------------------ buttons */
html body.dh-legacy .tg-btn, html body.dh-legacy .tg-black-btn, html body.dh-legacy .tg-btn-two {
    align-items: center; background: var(--dh-accent) !important; border: 1px solid var(--dh-accent) !important; border-radius: 999px !important;
    box-shadow: 0 10px 30px -10px color-mix(in srgb, var(--dh-accent) 70%, transparent); color: var(--dh-on-accent) !important; display: inline-flex;
    font-weight: 600; gap: 10px; justify-content: center; padding: 14px 28px; transition: transform .15s ease, box-shadow .2s ease;
}
html body.dh-legacy .tg-btn:hover, html body.dh-legacy .tg-black-btn:hover, html body.dh-legacy .tg-btn-two:hover { box-shadow: 0 14px 36px -10px color-mix(in srgb, var(--dh-accent) 85%, transparent); transform: translateY(-1px); }
html body.dh-legacy .tg-btn::before, html body.dh-legacy .tg-btn::after { display: none !important; }

/* ------------------------------------------------------------------ product set-up: the product */
html body.dh-legacy .product-info-box {
    background: radial-gradient(120% 140% at 0% 0%, var(--dh-accent-soft), transparent 55%), var(--dh-elevated) !important;
    border: 1px solid var(--dh-border) !important; border-radius: 22px !important; box-shadow: var(--dh-shadow); margin-bottom: 32px; padding: 34px 40px !important;
}
html body.dh-legacy .product-info-box::before { background: linear-gradient(180deg, var(--dh-accent), color-mix(in srgb, var(--dh-accent) 30%, var(--dh-text))) !important; width: 3px !important; }
html body.dh-legacy .product-info-box .category-tag { background: var(--dh-accent-soft) !important; border: 1px solid var(--dh-accent-line) !important; color: var(--dh-link) !important; }
html body.dh-legacy .product-info-box .product-name { color: var(--dh-text) !important; font-size: clamp(1.5rem, 2.6vw, 2rem) !important; letter-spacing: -.02em; }
html body.dh-legacy .product-info-box .product-subtitle { color: var(--dh-muted) !important; font-size: 1rem !important; }
@media (max-width: 575px) { html body.dh-legacy .product-info-box { padding: 26px 22px !important; } }

/* billing periods */
html body.dh-legacy .product__price-item {
    background: var(--dh-elevated) !important; border: 1px solid var(--dh-border) !important; border-radius: 20px !important; cursor: pointer;
    min-height: calc(100% - 24px); padding: 28px 28px 24px !important; position: relative; transition: border-color .2s, box-shadow .2s, transform .2s;
}
html body.dh-legacy .product__price-item:hover { border-color: var(--dh-accent-line) !important; box-shadow: var(--dh-shadow); transform: translateY(-2px); }
html body.dh-legacy .product__price-item:has(input:checked) {
    background: linear-gradient(180deg, var(--dh-accent-soft), var(--dh-elevated) 70%) !important; border-color: var(--dh-accent) !important;
    box-shadow: 0 0 0 1px var(--dh-accent), 0 18px 40px -18px color-mix(in srgb, var(--dh-accent) 60%, transparent);
}
html body.dh-legacy .product__price-item input[type="radio"] { border: 2px solid var(--dh-border) !important; margin: 0 !important; position: absolute; right: 24px; top: 26px; }
html body.dh-legacy .product__price-item h3, html body.dh-legacy .product__price-item .price, html body.dh-legacy .product__price-item .intro-price { margin-left: 0 !important; padding-right: 32px; }
html body.dh-legacy .product__price-item input[type="radio"]:checked { border-color: var(--dh-accent) !important; }
html body.dh-legacy .product__price-item input[type="radio"]:checked::before { background: var(--dh-accent) !important; }
html body.dh-legacy .product__price-item .name { color: var(--dh-text) !important; font-size: 1.15rem !important; font-weight: 600; margin-bottom: 10px !important; }
html body.dh-legacy .product__price-item .price { color: var(--dh-text) !important; font-size: 2rem !important; font-weight: 700; letter-spacing: -.02em; margin-bottom: 14px !important; }
html body.dh-legacy .product__price-item .price span { background: var(--dh-accent-soft) !important; border: 1px solid var(--dh-accent-line); color: var(--dh-link) !important; }
html body.dh-legacy .product__price-item .intro-price { color: var(--dh-muted) !important; font-size: .85rem !important; }
html body.dh-legacy .product__price-item .intro-price.text-info { color: var(--dh-link) !important; }
html body.dh-legacy .product__price-item .intro-price.text-warning { color: var(--dh-muted) !important; }

/* configurable options and the product's own fields */
html body.dh-legacy .option-section-label { color: var(--dh-text) !important; }
html body.dh-legacy .option-section-label::before { background: var(--dh-accent) !important; }
html body.dh-legacy .option-section-label::after { background: linear-gradient(90deg, var(--dh-border), transparent) !important; }
html body.dh-legacy .additional_fields__form-box {
    background: var(--dh-elevated) !important; border: 1px solid var(--dh-border) !important; border-radius: 20px !important; box-shadow: none !important;
}
html body.dh-legacy .additional_fields__form-box .title, html body.dh-legacy .additional_fields__form-box label { color: var(--dh-text) !important; }
html body.dh-legacy .additional_fields__form-box .form-check { background: var(--dh-bg) !important; border: 1px solid var(--dh-border) !important; border-radius: 12px !important; }
html body.dh-legacy .additional_fields__form-box .form-check:hover { border-color: var(--dh-accent-line) !important; }
html body.dh-legacy .additional_fields__form-box input, html body.dh-legacy .additional_fields__form-box select, html body.dh-legacy .additional_fields__form-box textarea,
html body.dh-legacy #product_configuration_form .form-control, html body.dh-legacy #product_configuration_form select {
    background: var(--dh-bg) !important; border: 1px solid var(--dh-border) !important; border-radius: 12px !important; color: var(--dh-text) !important;
}
html body.dh-legacy .additional_fields__form-box input:focus, html body.dh-legacy .additional_fields__form-box select:focus, html body.dh-legacy .additional_fields__form-box textarea:focus,
html body.dh-legacy #product_configuration_form .form-control:focus { border-color: var(--dh-accent) !important; box-shadow: var(--dhs-ring) !important; outline: none; }
html body.dh-legacy .additional_fields__form-box .form-check input { accent-color: var(--dh-accent); background: transparent !important; border-radius: 4px !important; }

/* ------------------------------------------------------------------ the domain step (where the licence is installed) */
html body.dh-legacy [class*="domain__search-area"] {
    background: radial-gradient(80% 120% at 50% 0%, var(--dh-accent-soft), transparent 60%), var(--dh-elevated) !important;
    border: 1px solid var(--dh-border); border-radius: 24px; box-shadow: var(--dh-shadow); margin: 0 auto; max-width: 1180px; overflow: hidden;
}
html body.dh-legacy [class*="domain__shape"], html body.dh-legacy [class*="domain__search-area"] .shape { display: none !important; }
html body.dh-legacy .domain__search-form, html body.dh-legacy [class*="domain__search-form"] {
    background: var(--dh-bg) !important; border: 1px solid var(--dh-border) !important; border-radius: 999px !important; box-shadow: none !important;
}
html body.dh-legacy [class*="domain__search-form"]:focus-within { border-color: var(--dh-accent) !important; box-shadow: var(--dhs-ring) !important; }
html body.dh-legacy [class*="domain__search-form"] input { background: transparent !important; border: 0 !important; color: var(--dh-text) !important; }
html body.dh-legacy [class*="domain__search-form"] .tg-btn, html body.dh-legacy [class*="domain__search-form"] button { box-shadow: none; }

/* ------------------------------------------------------------------ cart */
html body.dh-legacy .cart-item, html body.dh-legacy .order-summary-card, html body.dh-legacy .empty-cart {
    background: var(--dh-elevated) !important; border: 1px solid var(--dh-border) !important; border-radius: 20px !important; box-shadow: var(--dh-shadow);
}
html body.dh-legacy .empty-cart { border-style: dashed !important; box-shadow: none; }
html body.dh-legacy .empty-cart i { color: var(--dh-link) !important; opacity: .9; }
html body.dh-legacy .empty-cart h5, html body.dh-legacy .item-product-name, html body.dh-legacy .summary-head h5, html body.dh-legacy .item-price-main, html body.dh-legacy .module-name,
html body.dh-legacy .sum-total-row, html body.dh-legacy .addr-name { color: var(--dh-text) !important; }
html body.dh-legacy .empty-cart p, html body.dh-legacy .item-period, html body.dh-legacy .item-price-period, html body.dh-legacy .module-desc, html body.dh-legacy .item-meta-row,
html body.dh-legacy .s-label, html body.dh-legacy .secure-note, html body.dh-legacy .address-lines { color: var(--dh-muted) !important; }
html body.dh-legacy .item-icon, html body.dh-legacy .module-icon { background: var(--dh-accent-soft) !important; color: var(--dh-link) !important; border-radius: 14px !important; }
html body.dh-legacy .item-type-badge { background: var(--dh-accent-soft) !important; border: 1px solid var(--dh-accent-line) !important; color: var(--dh-link) !important; }
html body.dh-legacy .item-divider, html body.dh-legacy .sum-divider, html body.dh-legacy .coupon-sep { border-color: var(--dh-border) !important; background: var(--dh-border) !important; }
html body.dh-legacy .btn-item-remove, html body.dh-legacy .btn-item-edit, html body.dh-legacy .edit-btn {
    background: transparent !important; border: 1px solid var(--dh-border) !important; border-radius: 999px !important; color: var(--dh-muted) !important;
}
html body.dh-legacy .btn-item-remove:hover { border-color: color-mix(in srgb, var(--bs-danger, red) 50%, var(--dh-border)) !important; color: var(--bs-danger, red) !important; }
html body.dh-legacy .btn-item-edit:hover, html body.dh-legacy .edit-btn:hover { border-color: var(--dh-accent-line) !important; color: var(--dh-text) !important; }
html body.dh-legacy .summary-head { background: linear-gradient(90deg, var(--dh-accent-soft), transparent) !important; border-bottom: 1px solid var(--dh-border) !important; }
html body.dh-legacy .summary-head i, html body.dh-legacy .coupon-label-row i, html body.dh-legacy .billing-block i { color: var(--dh-link) !important; }
html body.dh-legacy .sum-total-row .summary-sum-value, html body.dh-legacy .summary-sum-value { color: var(--dh-link) !important; }
html body.dh-legacy .address-card, html body.dh-legacy .pay-option { background: var(--dh-bg) !important; border: 1px solid var(--dh-border) !important; border-radius: 14px !important; }
html body.dh-legacy .pay-option:has(input:checked) { border-color: var(--dh-accent) !important; box-shadow: var(--dhs-ring); }
html body.dh-legacy .pay-name, html body.dh-legacy .pay-total { color: var(--dh-text) !important; }
html body.dh-legacy .pay-desc { color: var(--dh-muted) !important; }
html body.dh-legacy .coupon-label-row { color: var(--dh-muted) !important; }
html body.dh-legacy .order-summary-card input[type="text"], html body.dh-legacy .order-summary-card .form-control {
    background: var(--dh-bg) !important; border: 1px solid var(--dh-border) !important; border-radius: 12px !important; color: var(--dh-text) !important;
}
html body.dh-legacy .empty-cart-button { border-radius: 999px; }
html body.dh-legacy [class*="domain__search-area"] { padding: 56px 24px !important; }
html body.dh-legacy [class*="domain__inner-wrap"] { padding: 0 !important; }
html body.dh-legacy [class*="domain__search-wrap"] { background: transparent !important; border: 0 !important; box-shadow: none !important; padding: 0 !important; }
html body.dh-legacy [class*="domain__inner-wrap"] { min-height: 0 !important; }
/* the options of an item in the cart: rows inside the card, no boxes of their own (their corners showed at the edges) */
html body.dh-legacy .module-row { background: transparent !important; border-radius: 0 !important; padding-left: 4px !important; padding-right: 4px !important; }
html body.dh-legacy .module-row + .module-row { border-top: 1px dashed color-mix(in srgb, var(--dh-border) 70%, transparent); }
html body.dh-legacy .module-row:hover { background: color-mix(in srgb, var(--dh-text) 3%, transparent) !important; }
html body.dh-legacy .module-icon { background: transparent !important; }
