/*
 * Diana Cart order form (ui/o/diana_cart).
 * Builds on the Diana theme tokens in ui/d/css/diana.css.
 * The stock standard_cart stylesheet is still loaded and targets #order-standard_cart,
 * so rules that collide with it are prefixed with that id.
 */

#order-standard_cart.diana-cart {
    max-width: 1320px; margin: 0 auto; padding: 4px 32px 40px;
    font-family: var(--diana-font); font-size: 1rem; color: var(--diana-text);
}
/* Store pages: .diana-store-main (diana.css) already sets the width and side padding */
.diana-store-main #order-standard_cart.diana-cart,
.diana-store-main #order-standard_cart:not(.diana-cart) { max-width: none; padding: 0; }
.diana-cart h1, .diana-cart h2, .diana-cart h3 { font-family: var(--diana-font); color: var(--diana-heading); }
.diana-cart [hidden] { display: none !important; }

/* Buttons that only the cart needs */
.diana-cart .diana-btn-primary { background: var(--diana-primary); color: #fff; }
.diana-cart .diana-btn-primary:hover { background: #08679a; color: #fff; }
.diana-cart .diana-btn-danger { background: var(--diana-red); color: #fff; }
.diana-cart .diana-btn-danger:hover { background: #b91c1c; color: #fff; }
.diana-cart .diana-btn:focus { outline: 0; }
.diana-cart .diana-btn:focus-visible { box-shadow: 0 0 0 3px rgba(40, 170, 225, .3); }

/* ---------- Progress steps ---------- */
.diana-cart-steps { display: flex; align-items: center; gap: 6px; list-style: none; margin: 0; padding: 0; }
.diana-cart-steps li { display: flex; align-items: center; gap: 8px; font-size: .86rem; font-weight: 600; color: var(--diana-muted); white-space: nowrap; }
.diana-cart-steps li + li::before { content: ""; width: 28px; height: 2px; margin-right: 2px; border-radius: 2px; background: var(--diana-border-strong); }
.diana-cart-steps-dot {
    display: inline-flex; align-items: center; justify-content: center;
    width: 26px; height: 26px; border-radius: 50%;
    background: var(--diana-surface); border: 1px solid var(--diana-border-strong); font-size: .78rem; color: var(--diana-muted);
}
.diana-cart-steps li.is-current { color: var(--diana-heading); }
.diana-cart-steps li.is-current .diana-cart-steps-dot { background: var(--diana-dark); border-color: var(--diana-dark); color: #fff; box-shadow: 0 0 0 4px rgba(0, 55, 76, .12); }
.diana-cart-steps li.is-done { color: var(--diana-green); }
.diana-cart-steps li.is-done .diana-cart-steps-dot { background: var(--diana-green); border-color: var(--diana-green); color: #fff; font-size: .7rem; }
.diana-cart-steps li.is-done + li::before { background: var(--diana-green); }

/* ---------- Page heads ---------- */
.diana-cart-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px 24px; flex-wrap: wrap; margin: 6px 0 22px; }
.diana-cart-kicker { display: inline-flex; align-items: center; gap: 8px; margin-bottom: 8px; font-size: .78rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--diana-primary); }
.diana-cart-head h1 { font-size: 2rem; font-weight: 800; letter-spacing: -.03em; margin: 0 0 6px; }
.diana-cart-head p { margin: 0; color: var(--diana-muted); font-size: .98rem; max-width: 640px; }
.diana-cart-head-actions { display: flex; gap: 10px; flex-wrap: wrap; }
.diana-cart-alert { border-radius: 14px; margin-bottom: 20px; }
.diana-cart-alert ul { margin: 6px 0 0; padding-left: 20px; }
.diana-cart-alert p:last-child { margin-bottom: 0; }

/* ---------- Domain search (domainregister.tpl) ---------- */
.diana-dc-hero {
    position: relative; z-index: 2; text-align: center;
    padding: 24px 32px 28px; margin: 4px 0 24px;
    border-radius: 22px; border: 1px solid var(--diana-border-strong);
    background:
        radial-gradient(520px 340px at 0% 0%, rgba(255, 255, 255, .85) 0%, rgba(255, 255, 255, 0) 70%),
        radial-gradient(420px 300px at 100% 100%, rgba(40, 170, 225, .12) 0%, rgba(40, 170, 225, 0) 70%),
        linear-gradient(155deg, #eaf6fc 0%, #d9eff9 50%, #c8e7f5 100%);
}
.diana-dc-hero-top { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; margin-bottom: 16px; }
.diana-dc-hero .diana-auth-chip { margin: 0; padding: 8px 14px; font-size: .88rem; }
.diana-dc-hero h1 { font-size: 2.5rem; font-weight: 800; letter-spacing: -.035em; line-height: 1.08; margin: 8px 0 10px; }
.diana-dc-hero > p { max-width: 640px; margin: 0 auto 24px; color: var(--diana-text-2); font-size: 1.02rem; line-height: 1.6; }
.diana-dc-search-wrap { max-width: 800px; margin: 0 auto; }
.diana-dc-search {
    display: flex; align-items: center; gap: 10px;
    padding: 7px 7px 7px 18px; border-radius: 16px; background: var(--diana-surface);
    border: 1px solid var(--diana-border-strong); box-shadow: 0 18px 40px -22px rgba(0, 38, 54, .4);
    transition: border-color .15s, box-shadow .15s;
}
.diana-dc-search:focus-within { border-color: var(--diana-primary); box-shadow: 0 0 0 4px rgba(40, 170, 225, .14), 0 18px 40px -22px rgba(0, 38, 54, .4); }
.diana-dc-search-icon { color: var(--diana-faint); font-size: 1.05rem; }
#order-standard_cart .diana-dc-search .form-control {
    flex: 1 1 auto; min-width: 0; height: 52px; padding: 0 4px;
    border: 0; border-radius: 0; background: transparent; box-shadow: none;
    font-size: 1.08rem; color: var(--diana-text);
}
#order-standard_cart .diana-dc-search .form-control::placeholder { color: var(--diana-faint); }
#order-standard_cart .diana-dc-search .diana-dc-search-btn {
    flex: 0 0 auto; width: auto; height: 52px; padding: 0 28px; border-radius: 12px;
    background: var(--diana-dark); color: #fff; font-size: 1rem;
}
#order-standard_cart .diana-dc-search .diana-dc-search-btn:hover { background: #002a3a; }
#order-standard_cart .diana-dc-search .diana-dc-search-btn.disabled { opacity: .7; }
.diana-dc-search { flex-wrap: wrap; }
#order-standard_cart .diana-dc-search > .form-control { flex: 1 1 0; width: auto; }
.diana-dc-opt-btn {
    display: inline-flex; align-items: center; gap: 7px; flex: 0 0 auto; height: 40px; padding: 0 13px;
    border: 1px solid var(--diana-border); border-radius: 10px; background: var(--diana-surface-2);
    color: var(--diana-text-3); font-family: inherit; font-size: .85rem; font-weight: 600; cursor: pointer;
}
.diana-dc-opt-btn:hover, .diana-dc-opt-btn.is-open { border-color: var(--diana-border-strong); color: var(--diana-heading); }
.diana-dc-opt-btn.is-open { background: var(--diana-primary-soft); }
.diana-dc-opt-btn:focus { outline: 0; }
.diana-dc-opt-btn:focus-visible { box-shadow: 0 0 0 3px rgba(40, 170, 225, .3); }
.diana-dc-search-options {
    display: flex; align-items: center; flex-wrap: wrap; gap: 8px 10px;
    flex: 1 0 100%; margin: 2px 0 0; padding: 10px 4px 3px 0; border-top: 1px dashed var(--diana-border);
}
.diana-dc-search-options[hidden] { display: none; }
.diana-dc-options-note { margin-left: auto; color: var(--diana-faint); font-size: .8rem; }

/* Single / bulk switch */
.diana-dc-modes {
    display: inline-flex; gap: 4px; margin: 0 auto 14px; padding: 4px; border-radius: 999px;
    background: rgba(255, 255, 255, .7); border: 1px solid var(--diana-border);
}
.diana-dc-mode {
    display: inline-flex; align-items: center; gap: 7px; height: 36px; padding: 0 16px; border: 0; border-radius: 999px;
    background: transparent; color: var(--diana-text-3); font-family: inherit; font-size: .88rem; font-weight: 600; cursor: pointer;
    transition: background .15s, color .15s;
}
.diana-dc-mode:hover { color: var(--diana-heading); }
.diana-dc-mode.is-active { background: var(--diana-dark); color: #fff; box-shadow: 0 6px 14px -8px rgba(0, 38, 54, .5); }
.diana-dc-mode:focus { outline: 0; }
.diana-dc-mode:focus-visible { box-shadow: 0 0 0 3px rgba(40, 170, 225, .35); }
.diana-dc-search-wrap[hidden] { display: none; }

/* Bulk search box */
.diana-dc-bulk {
    padding: 12px; border-radius: 16px; background: var(--diana-surface); text-align: left;
    border: 1px solid var(--diana-border-strong); box-shadow: 0 18px 40px -22px rgba(0, 38, 54, .4);
    transition: border-color .15s, box-shadow .15s;
}
.diana-dc-bulk:focus-within { border-color: var(--diana-primary); box-shadow: 0 0 0 4px rgba(40, 170, 225, .14), 0 18px 40px -22px rgba(0, 38, 54, .4); }
#order-standard_cart .diana-dc-bulk textarea.form-control {
    width: 100%; min-height: 128px; padding: 6px 8px; border: 0; border-radius: 0; background: transparent; box-shadow: none;
    resize: vertical; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: .95rem; line-height: 1.6; color: var(--diana-text);
}
#order-standard_cart .diana-dc-bulk textarea.form-control::placeholder { color: var(--diana-faint); font-family: var(--diana-font); }
.diana-dc-bulk-foot { display: flex; align-items: center; justify-content: space-between; gap: 10px 16px; flex-wrap: wrap; padding-top: 10px; border-top: 1px dashed var(--diana-border); }
.diana-dc-bulk-hint { color: var(--diana-muted); font-size: .84rem; }
.diana-dc-bulk-hint b { color: var(--diana-heading); }
.diana-dc-bulk-hint.is-over b:first-child { color: var(--diana-red); }
#order-standard_cart .diana-dc-bulk-btn { height: 46px; padding: 0 24px; border-radius: 12px; background: var(--diana-dark); color: #fff; font-size: .95rem; }
#order-standard_cart .diana-dc-bulk-btn:hover { background: #002a3a; }
#order-standard_cart .diana-dc-bulk-btn:disabled { opacity: .7; }
.diana-dc-bulk-error { margin: 10px 0 0; padding: 9px 12px; border-radius: 10px; background: var(--diana-red-soft); color: var(--diana-red); font-size: .86rem; font-weight: 600; }

/* Popular extension chips under the search */
.diana-dc-quick { display: flex; justify-content: center; flex-wrap: wrap; gap: 8px; margin-top: 16px; }
.diana-dc-quick-tld {
    display: inline-flex; align-items: baseline; gap: 6px; height: 34px; padding: 0 13px; border-radius: 999px;
    border: 1px solid var(--diana-border); background: rgba(255, 255, 255, .75);
    font-family: inherit; font-size: .84rem; color: var(--diana-text-3); cursor: pointer; line-height: 32px;
    transition: border-color .15s, transform .15s;
}
.diana-dc-quick-tld strong { font-weight: 800; color: var(--diana-primary); }
.diana-dc-quick-tld:hover { border-color: var(--diana-border-accent); transform: translateY(-1px); }
.diana-dc-quick-tld:focus { outline: 0; }
.diana-dc-quick-tld:focus-visible { box-shadow: 0 0 0 3px rgba(40, 170, 225, .3); }
.diana-dc-search-options .btn-group { position: relative; }
#order-standard_cart .diana-dc-search-options .multiselect.dropdown-toggle {
    height: 38px; margin: 0; padding: 0 14px; border: 1px solid var(--diana-border); border-radius: 10px;
    background: var(--diana-surface); color: var(--diana-text-3); font-size: .85rem; font-weight: 600; box-shadow: none;
}
#order-standard_cart .diana-dc-search-options .multiselect.dropdown-toggle:hover { border-color: var(--diana-border-strong); background: var(--diana-surface-2); }
#order-standard_cart .diana-dc-search-options .diana-check { margin: 0 0 0 4px !important; font-size: .85rem; font-weight: 600 !important; color: var(--diana-text-3); }
#order-standard_cart .diana-dc-search-options .diana-check input { width: 16px; height: 16px; margin: 0; }
/* AI search filter menus (bootstrap-multiselect), register page and product domain step */
#order-standard_cart :is(.diana-dc-search-options, .diana-pdom-opts) .multiselect-container {
    z-index: 1010; min-width: 190px; margin-top: 6px; padding: 6px; text-align: left;
    background: var(--diana-surface); border: 1px solid var(--diana-border); border-radius: 12px;
    box-shadow: 0 22px 44px -18px rgba(0, 38, 54, .38);
    scrollbar-width: thin;
}
#order-standard_cart :is(.diana-dc-search-options, .diana-pdom-opts) .multiselect-container > li > a { display: block; padding: 0; color: inherit; text-decoration: none; outline: 0; }
#order-standard_cart :is(.diana-dc-search-options, .diana-pdom-opts) .multiselect-container > li > a > label {
    display: flex; align-items: center; gap: 10px; width: 100%; height: auto; margin: 0; padding: 8px 10px; border-radius: 8px;
    font-size: .92rem; font-weight: 500; line-height: 1.3; color: var(--diana-text); cursor: pointer; transition: background .12s;
}
#order-standard_cart :is(.diana-dc-search-options, .diana-pdom-opts) .multiselect-container > li > a > label > input {
    flex: 0 0 auto; width: 16px; height: 16px; margin: 0; accent-color: var(--diana-primary); cursor: pointer;
}
#order-standard_cart :is(.diana-dc-search-options, .diana-pdom-opts) .multiselect-container > li > a:hover label,
#order-standard_cart :is(.diana-dc-search-options, .diana-pdom-opts) .multiselect-container > li > a:focus-visible label { background: var(--diana-tint); }
#order-standard_cart :is(.diana-dc-search-options, .diana-pdom-opts) .multiselect-container > li.active label { font-weight: 700; color: var(--diana-heading); }
#order-standard_cart :is(.diana-dc-search-options, .diana-pdom-opts) .multiselect-container > li.disabled label { cursor: default; opacity: .75; }
#order-standard_cart :is(.diana-dc-search-options, .diana-pdom-opts) .multiselect-item.filter { padding: 2px 2px 6px; margin-bottom: 4px; border-bottom: 1px solid var(--diana-border); }
#order-standard_cart :is(.diana-dc-search-options, .diana-pdom-opts) .multiselect-item.filter .input-group { margin: 0; }
#order-standard_cart :is(.diana-dc-search-options, .diana-pdom-opts) .multiselect-item.filter .input-group-addon { display: none; }
#order-standard_cart :is(.diana-dc-search-options, .diana-pdom-opts) .multiselect-item.filter .multiselect-search {
    width: 100%; height: 34px; padding: 0 10px; border: 1px solid var(--diana-border); border-radius: 8px;
    background: var(--diana-surface-2); font-size: .88rem; color: var(--diana-text); box-shadow: none;
}
#order-standard_cart :is(.diana-dc-search-options, .diana-pdom-opts) .multiselect-item.filter .multiselect-search:focus { border-color: var(--diana-primary); background: var(--diana-surface); }
.diana-dc-captcha { margin-top: 14px; }

/* Results */
.diana-dc-results { margin-bottom: 24px; }
.diana-dc-primary { padding: 0; margin-bottom: 20px; }
#order-standard_cart #DomainSearchResults .primary-domain-header {
    display: inline-flex; align-items: center; gap: 6px; margin: 20px 24px 0; padding: 4px 10px;
    border: 0; border-radius: 999px; background: var(--diana-primary-soft); color: var(--diana-primary);
    font-size: .74rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase;
}
#order-standard_cart .diana-dc-primary .domain-checker-result-headline { margin: 0; padding: 18px 24px 22px; font-size: 1rem; text-align: left; }
#order-standard_cart .diana-dc-primary .domain-lookup-primary-loader { margin: 0; padding: 18px 0; color: var(--diana-muted); text-align: left; font-size: 1rem; }
#order-standard_cart #primaryLookupResult { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 6px 24px; }
#order-standard_cart #primaryLookupResult > * { grid-column: 1; margin: 0; }
#order-standard_cart #primaryLookupResult > .domain-price { grid-column: 2; grid-row: 1 / span 6; }
#order-standard_cart #primaryLookupResult .domain-available,
#order-standard_cart #primaryLookupResult .domain-unavailable,
#order-standard_cart #primaryLookupResult .domain-tld-unavailable,
#order-standard_cart #primaryLookupResult .domain-invalid,
#order-standard_cart #primaryLookupResult .domain-error {
    font-size: 1.5rem; font-weight: 700; letter-spacing: -.02em; line-height: 1.25; word-break: break-word;
}
#order-standard_cart #primaryLookupResult .domain-invalid,
#order-standard_cart #primaryLookupResult .domain-error { font-size: 1.05rem; font-weight: 600; }
#order-standard_cart #primaryLookupResult .domain-tld-unavailable { font-size: 1rem; font-weight: 600; }
#order-standard_cart #primaryLookupResult .domain-checker-available { color: var(--diana-heading); }
#order-standard_cart #primaryLookupResult .domain-checker-available i { color: var(--diana-green); }
#order-standard_cart #primaryLookupResult .domain-checker-unavailable,
#order-standard_cart #primaryLookupResult .domain-checker-invalid { color: var(--diana-heading); }
#order-standard_cart #primaryLookupResult .domain-checker-unavailable i,
#order-standard_cart #primaryLookupResult .domain-checker-invalid i { color: var(--diana-red); }
#order-standard_cart #primaryLookupResult strong { font-weight: 800; color: inherit; }
#order-standard_cart #primaryLookupResult .domain-length-restrictions { display: block; margin-top: 4px; font-size: .88rem; font-weight: 500; color: var(--diana-muted); }
#order-standard_cart #primaryLookupResult .domain-contact-support { justify-self: start; margin-top: 6px; }
.diana-dc-idn-text { margin: 8px 0; color: var(--diana-muted); font-size: .9rem; }
#order-standard_cart .diana-dc-primary .domain-price { display: flex; align-items: center; gap: 18px; }
.diana-dc-price-wrap { display: flex; flex-direction: column; align-items: flex-end; line-height: 1.2; }
.diana-dc-price-wrap .price { font-size: 1.45rem; font-weight: 800; letter-spacing: -.02em; color: var(--diana-heading); }
.diana-dc-price-wrap small { color: var(--diana-muted); font-size: .8rem; }

/* Add-to-cart buttons (primary, spotlight and suggestion rows share the stock .btn-add-to-cart markup) */
#order-standard_cart.diana-dc .btn-add-to-cart {
    display: inline-flex; align-items: center; justify-content: center; gap: 8px;
    min-width: 132px; height: 44px; padding: 0 20px; border: 1px solid var(--diana-dark); border-radius: 12px;
    background: var(--diana-dark); color: #fff; font-size: .93rem; font-weight: 600; box-shadow: none;
    transition: background .15s, border-color .15s;
}
#order-standard_cart.diana-dc .btn-add-to-cart:hover { background: #002a3a; border-color: #002a3a; }
#order-standard_cart.diana-dc .btn-add-to-cart.checkout { background: var(--diana-green); border-color: var(--diana-green); }
#order-standard_cart.diana-dc .btn-add-to-cart.checkout:hover { background: #15803d; border-color: #15803d; }
#order-standard_cart.diana-dc .btn-add-to-cart[disabled] { background: var(--diana-surface-3); border-color: var(--diana-border); color: var(--diana-muted); opacity: 1; }
#order-standard_cart.diana-dc .btn-add-to-cart:focus { outline: 0; box-shadow: none; }
#order-standard_cart.diana-dc .btn-add-to-cart:focus-visible { box-shadow: 0 0 0 3px rgba(40, 170, 225, .3); }
#order-standard_cart.diana-dc .btn-add-to-cart span { padding: 0; }

/* Spotlight TLDs */
.diana-dc-spotlight { margin-bottom: 20px; }
#order-standard_cart .diana-dc-spotlight .spotlight-tlds-container { display: grid; grid-template-columns: repeat(auto-fill, minmax(170px, 1fr)); gap: 14px; }
#order-standard_cart .diana-dc-spotlight .spotlight-tld-container { width: auto; float: none; padding: 0; }
#order-standard_cart .diana-dc-spotlight .spotlight-tld {
    height: auto; min-height: 136px; padding: 18px 14px; border-radius: 16px;
    border: 1px solid var(--diana-border); background: var(--diana-surface); box-shadow: var(--diana-shadow); color: var(--diana-heading);
}
.diana-dc-spot-tld { display: block; font-size: 1.3rem; font-weight: 800; letter-spacing: -.02em; color: var(--diana-primary); }
#order-standard_cart .diana-dc-spotlight .spotlight-tld .price { font-weight: 700; color: var(--diana-heading); }
#order-standard_cart .diana-dc-spotlight .spotlight-tld .btn { width: 100%; min-width: 0; height: 36px; margin: 6px 0 0; border-radius: 10px; font-size: .85rem; }
#order-standard_cart .diana-dc-spotlight .spotlight-tld .btn.unavailable,
#order-standard_cart .diana-dc-spotlight .spotlight-tld .btn.invalid { background: var(--diana-surface-3); border-color: var(--diana-border); color: var(--diana-faint); }

/* Suggestions */
.diana-dc-card-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; padding: 20px 24px 14px; }
.diana-dc-card-head h2 { font-size: 1.15rem; font-weight: 700; margin: 0 0 2px; }
.diana-dc-card-head p { margin: 0; color: var(--diana-muted); font-size: .9rem; }
#order-standard_cart .diana-dc-suggestions .diana-dc-muted-row { margin: 0 24px 16px; padding: 22px; border-radius: 12px; background: var(--diana-surface-2); color: var(--diana-muted); text-align: center; font-size: .92rem; opacity: 1; }
#order-standard_cart #domainSuggestions { margin: 0; border-top: 1px solid var(--diana-border); }
#order-standard_cart #domainSuggestions .domain-suggestion { align-items: center; gap: 12px; padding: 14px 24px; border: 0; border-bottom: 1px solid var(--diana-border); text-align: left; }
#order-standard_cart #domainSuggestions .domain-suggestion[style*="display: block"] { display: flex !important; }
#order-standard_cart #domainSuggestions .domain-suggestion:hover { background: var(--diana-tint); }
.diana-dc-sugg-name { flex: 1 1 auto; min-width: 0; font-size: 1.02rem; color: var(--diana-heading); word-break: break-word; }
#order-standard_cart .diana-dc-suggestions .extension { font-weight: 800; color: var(--diana-primary); }
#order-standard_cart .diana-dc-suggestions .promo { flex: 0 0 auto; padding: 3px 9px; border-radius: 999px; background: var(--diana-red-soft); color: var(--diana-red); font-size: .68rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
#order-standard_cart .diana-dc-suggestions .promo.new { background: var(--diana-green-soft); color: var(--diana-green); }
#order-standard_cart .diana-dc-suggestions .promo.sale { background: var(--diana-orange-soft); color: var(--diana-orange-text); }
#order-standard_cart .diana-dc-suggestions .actions { float: none; display: flex; align-items: center; gap: 14px; flex: 0 0 auto; }
#order-standard_cart .diana-dc-suggestions .price { padding: 0; font-size: 1rem; font-weight: 700; color: var(--diana-heading); }
#order-standard_cart .diana-dc-suggestions .btn-add-to-cart { min-width: 108px; height: 38px; padding: 0 16px; border-radius: 10px; font-size: .86rem; }
#order-standard_cart .diana-dc-suggestions .btn.domain-contact-support { height: 38px; padding: 0 14px; border-radius: 10px; font-size: .86rem; }
#order-standard_cart .diana-dc-more { padding: 14px 24px; background: transparent; border: 0; text-align: center; font-weight: 600; }
#order-standard_cart .diana-dc-more a { color: var(--diana-primary); }
#order-standard_cart .diana-dc-note { margin: 0; padding: 12px 24px 18px; color: var(--diana-faint); font-size: .8rem; text-align: center; }

/* Bulk results */
.diana-dc-bulk-results { margin-bottom: 24px; padding: 0; overflow: hidden; }
.diana-dc-bulk-results .diana-dc-card-head { align-items: center; }
.diana-dc-bulk-list { border-top: 1px solid var(--diana-border); }
.diana-dc-bulk-row { display: flex; align-items: center; gap: 14px; padding: 13px 24px; border-bottom: 1px solid var(--diana-border); }
.diana-dc-bulk-row:last-child { border-bottom: 0; }
.diana-dc-bulk-icon {
    display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto;
    width: 32px; height: 32px; border-radius: 50%; font-size: .82rem;
    background: var(--diana-surface-3); color: var(--diana-muted);
}
.diana-dc-bulk-row.is-ok .diana-dc-bulk-icon { background: var(--diana-green-soft); color: var(--diana-green); }
.diana-dc-bulk-row.is-bad .diana-dc-bulk-icon { background: var(--diana-red-soft); color: var(--diana-red); }
.diana-dc-bulk-row.is-warn .diana-dc-bulk-icon { background: var(--diana-orange-soft); color: var(--diana-orange-text); }
.diana-dc-bulk-name { flex: 1 1 auto; min-width: 0; line-height: 1.3; }
.diana-dc-bulk-name strong { display: block; font-size: 1rem; font-weight: 700; color: var(--diana-heading); word-break: break-all; }
.diana-dc-bulk-name small { display: block; color: var(--diana-muted); font-size: .82rem; }
.diana-dc-bulk-row.is-ok .diana-dc-bulk-name small { color: var(--diana-green-text); font-weight: 600; }
.diana-dc-bulk-row.is-bad .diana-dc-bulk-name strong { color: var(--diana-muted); text-decoration: line-through; text-decoration-color: var(--diana-faint); }
.diana-dc-bulk-price { flex: 0 0 auto; text-align: right; font-weight: 700; color: var(--diana-heading); line-height: 1.2; }
.diana-dc-bulk-price small { display: block; color: var(--diana-muted); font-size: .76rem; font-weight: 500; }
.diana-dc-bulk-action { flex: 0 0 auto; min-width: 104px; text-align: right; }
.diana-dc-bulk-action:empty { min-width: 0; }
.diana-dc-bulk-action .diana-btn { min-width: 104px; justify-content: center; }
.diana-dc-bulk-action .diana-btn.is-added { background: var(--diana-green); border-color: var(--diana-green); color: #fff; opacity: 1; }

/* Extension price table (theme .diana-svc / .diana-dp-table, paginated by initServices() in diana.js) */
.diana-dc-fade-anchor { display: block; height: 0; overflow: hidden; }
.diana-dc-pricing { margin-bottom: 24px; }
.diana-dc-pricing .diana-dp-sub .diana-link { font-weight: 600; }
.diana-dc-pricing .diana-dp-ext strong { color: var(--diana-primary); font-weight: 800; }

.diana-dc-promos { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; margin-bottom: 24px; }
.diana-dc-promo {
    display: flex; align-items: center; gap: 16px; padding: 20px 22px; border-radius: 18px;
    background: var(--diana-surface); border: 1px solid var(--diana-border); box-shadow: var(--diana-shadow);
    color: var(--diana-text); transition: border-color .15s, transform .15s;
}
.diana-dc-promo:hover { text-decoration: none; color: var(--diana-text); border-color: var(--diana-border-accent); transform: translateY(-2px); }
.diana-dc-promo > span:nth-child(2) { flex: 1 1 auto; min-width: 0; }
.diana-dc-promo strong { display: block; font-size: 1rem; color: var(--diana-heading); }
.diana-dc-promo small { display: block; color: var(--diana-muted); font-size: .86rem; }
.diana-dc-promo > i { color: var(--diana-faint); }
.diana-dc-promo-icon, .diana-cart-item-icon {
    display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto;
    width: 44px; height: 44px; border-radius: 12px; font-size: 1.05rem;
    background: var(--diana-primary-soft); color: var(--diana-primary);
}
.is-purple.diana-dc-promo-icon, .is-purple.diana-cart-item-icon { background: var(--diana-purple-soft); color: var(--diana-purple); }
.is-green.diana-cart-item-icon { background: var(--diana-green-soft); color: var(--diana-green); }
.is-orange.diana-cart-item-icon { background: var(--diana-orange-soft); color: var(--diana-orange-text); }
.is-soft.diana-cart-item-icon { background: var(--diana-surface-3); color: var(--diana-muted); width: 36px; height: 36px; font-size: .9rem; }

/* Sticky "items in cart" bar */
.diana-dc-bar {
    position: sticky; bottom: 16px; z-index: 20;
    display: flex; align-items: center; gap: 12px; margin-top: 8px; padding: 12px 14px 12px 16px;
    border-radius: 16px; background: var(--diana-dark); color: #fff;
    box-shadow: 0 24px 50px -20px rgba(0, 38, 54, .55);
    transition: transform .25s, opacity .25s;
}
.diana-dc-bar.is-hidden { display: none; }
.diana-dc-bar.is-pulse { transform: translateY(-4px); }
.diana-dc-bar-icon { display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 40px; border-radius: 12px; background: rgba(255, 255, 255, .12); }
.diana-dc-bar-text { flex: 1 1 auto; min-width: 0; line-height: 1.3; }
.diana-dc-bar-text strong { display: block; font-size: .95rem; }
.diana-dc-bar-text small { display: block; color: #b6c4dc; font-size: .82rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.diana-dc-bar .diana-btn-light { background: rgba(255, 255, 255, .1); border-color: rgba(255, 255, 255, .18); color: #fff; }
.diana-dc-bar .diana-btn-light:hover { background: rgba(255, 255, 255, .18); color: #fff; }

/* ---------- Layout shared by cart and checkout ---------- */
.diana-co-grid { display: grid; grid-template-columns: minmax(0, 1fr) 380px; gap: 24px; align-items: start; }
.diana-co-side { position: sticky; top: calc(var(--diana-topbar-h) + 16px); }

/* ---------- Cart items (viewcart.tpl) ---------- */
.diana-cart-items { position: relative; }
.diana-cart-items-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 18px 22px; border-bottom: 1px solid var(--diana-border); }
.diana-cart-items-head h2 { display: flex; align-items: center; gap: 8px; font-size: 1.1rem; font-weight: 700; margin: 0; }
.diana-cart-items-head h2 span { padding: 2px 9px; border-radius: 999px; background: var(--diana-surface-3); color: var(--diana-muted); font-size: .78rem; }
.diana-cart-clear { border: 0; background: transparent; color: var(--diana-muted); font-size: .86rem; font-weight: 600; cursor: pointer; }
.diana-cart-clear:hover { color: var(--diana-red); }
.diana-cart-item { display: flex; align-items: center; gap: 16px; padding: 18px 22px; border-bottom: 1px solid var(--diana-border); }
.diana-cart-item:last-child { border-bottom: 0; }
.diana-cart-item.is-sub { padding-left: 44px; background: var(--diana-surface-2); }
.diana-cart-item-main { flex: 1 1 auto; min-width: 0; }
.diana-cart-item-main > strong { display: block; font-size: 1rem; color: var(--diana-heading); word-break: break-word; }
.diana-cart-item-main > small { display: block; margin-top: 2px; color: var(--diana-muted); font-size: .86rem; }
.diana-cart-item-credit { color: var(--diana-green) !important; }
.diana-cart-item-opts { list-style: none; margin: 6px 0 0; padding: 0; color: var(--diana-muted); font-size: .82rem; }
.diana-cart-item-links { display: flex; gap: 14px; margin-top: 6px; font-size: .84rem; font-weight: 600; }
.diana-cart-item-links a { color: var(--diana-primary); }
.diana-cart-item-qty { display: flex; align-items: center; gap: 8px; flex: 0 0 auto; }
#order-standard_cart .diana-cart-item-qty .form-control { width: auto; min-width: 84px; height: 40px; padding: 0 12px; border: 1px solid var(--diana-border-strong); border-radius: 10px; font-size: .9rem; color: var(--diana-text); }
#order-standard_cart .diana-cart-item-qty input.form-control { width: 76px; min-width: 0; text-align: center; }
.diana-cart-item-period { color: var(--diana-muted); font-size: .9rem; font-weight: 600; }
.diana-cart-item-price { flex: 0 0 auto; min-width: 120px; text-align: right; line-height: 1.3; }
.diana-cart-item-price b { display: block; font-size: 1.05rem; font-weight: 700; color: var(--diana-heading); }
.diana-cart-item-price small { display: block; color: var(--diana-muted); font-size: .8rem; }
.diana-cart-item-remove {
    display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto;
    width: 36px; height: 36px; border: 0; border-radius: 10px; background: transparent; color: var(--diana-faint); cursor: pointer;
}
.diana-cart-item-remove:hover { background: var(--diana-red-soft); color: var(--diana-red); }
.diana-cart-item-remove.is-placeholder { pointer-events: none; }
.diana-sum-tags { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 6px; }
.diana-sum-tags em { padding: 2px 8px; border-radius: 999px; background: var(--diana-green-soft); color: var(--diana-green); font-size: .72rem; font-style: normal; font-weight: 600; }
.diana-cart-hook { margin-bottom: 20px; }
.diana-cart-tax-form { display: grid; grid-template-columns: 1fr 1fr auto; gap: 14px; align-items: end; padding: 18px 22px 22px; }

.diana-cart-trust { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; list-style: none; margin: 0 0 24px; padding: 0; }
.diana-cart-trust li { display: flex; align-items: center; gap: 12px; padding: 16px; border-radius: 14px; background: var(--diana-surface); border: 1px solid var(--diana-border); }
.diana-cart-trust i { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto; width: 36px; height: 36px; border-radius: 10px; background: var(--diana-primary-soft); color: var(--diana-primary); }
.diana-cart-trust strong { display: block; font-size: .9rem; color: var(--diana-heading); }
.diana-cart-trust small { display: block; color: var(--diana-muted); font-size: .8rem; }

.diana-cart-empty { padding: 56px 24px; text-align: center; }
.diana-cart-empty-icon { display: inline-flex; align-items: center; justify-content: center; width: 72px; height: 72px; margin-bottom: 16px; border-radius: 20px; background: var(--diana-primary-soft); color: var(--diana-primary); font-size: 1.6rem; }
.diana-cart-empty h2 { font-size: 1.4rem; font-weight: 800; margin: 0 0 6px; }
.diana-cart-empty p { color: var(--diana-muted); margin: 0 0 22px; }
.diana-cart-empty-actions { display: flex; justify-content: center; gap: 10px; flex-wrap: wrap; }

/* ---------- Order summary ---------- */
.diana-co-summary { position: relative; padding: 20px 22px 22px; margin-bottom: 0; overflow: visible; }
.diana-co-summary::after, .diana-cart-items::after {
    content: ""; position: absolute; inset: 0; border-radius: inherit;
    background: rgba(255, 255, 255, .6) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='28' viewBox='0 0 50 50'%3E%3Ccircle cx='25' cy='25' r='20' fill='none' stroke='%231e6fe8' stroke-width='5' stroke-dasharray='90 60'%3E%3CanimateTransform attributeName='transform' type='rotate' from='0 25 25' to='360 25 25' dur='.8s' repeatCount='indefinite'/%3E%3C/circle%3E%3C/svg%3E") center / 28px no-repeat;
    opacity: 0; pointer-events: none; transition: opacity .15s;
}
.diana-co-summary.is-busy::after, .diana-cart-items.is-busy::after { opacity: 1; pointer-events: auto; }
.diana-co-summary-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 14px; }
.diana-co-summary-head h2 { font-size: 1.15rem; font-weight: 700; margin: 0; }
.diana-sum-empty { color: var(--diana-muted); }
.diana-sum-items { list-style: none; margin: 0 0 14px; padding: 0 0 4px; border-bottom: 1px dashed var(--diana-border-strong); }
.diana-sum-items li { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; padding: 0 0 12px; }
.diana-sum-items li.is-sub { padding-left: 12px; }
.diana-sum-item-main { min-width: 0; }
.diana-sum-item-main strong { display: block; font-size: .92rem; font-weight: 600; color: var(--diana-heading); word-break: break-word; }
.diana-sum-item-main small { display: block; color: var(--diana-muted); font-size: .8rem; }
.diana-sum-item-price { flex: 0 0 auto; text-align: right; font-size: .92rem; font-weight: 600; color: var(--diana-heading); }
.diana-sum-item-price small { display: block; color: var(--diana-muted); font-size: .76rem; font-weight: 500; }
.diana-sum-totals { display: flex; flex-direction: column; gap: 8px; }
.diana-sum-row { display: flex; justify-content: space-between; gap: 12px; font-size: .9rem; color: var(--diana-text-2); }
.diana-sum-row > span:last-child { text-align: right; color: var(--diana-heading); font-weight: 600; }
.diana-sum-row.is-discount > span:last-child { color: var(--diana-green); }
.diana-sum-row.is-recurring #recurring { display: flex; flex-direction: column; align-items: flex-end; font-weight: 500; color: var(--diana-muted); font-size: .84rem; }
.diana-sum-total { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; margin: 14px 0 0; padding: 14px 0 0; border-top: 1px solid var(--diana-border); }
.diana-sum-total span { font-weight: 600; color: var(--diana-heading); }
.diana-sum-total strong { font-size: 1.5rem; font-weight: 800; letter-spacing: -.02em; color: var(--diana-heading); }
.diana-sum-promo { margin-top: 16px; }
.diana-sum-promo-form { position: relative; display: flex; gap: 8px; }
.diana-sum-promo-form > i { position: absolute; z-index: 3; left: 13px; top: 50%; transform: translateY(-50%); color: var(--diana-faint); font-size: .88rem; pointer-events: none; }
#order-standard_cart .diana-sum-promo-form .form-control { flex: 1 1 auto; width: auto; min-width: 0; height: 40px; padding: 0 12px 0 36px; border: 1px solid var(--diana-border-strong); border-radius: 10px; font-size: .9rem; color: var(--diana-text); }
#order-standard_cart .diana-sum-promo-form .form-control:focus { border-color: var(--diana-border-accent); box-shadow: 0 0 0 3px rgba(40, 170, 225, .14); }
.diana-sum-promo-form .diana-btn { height: 40px; }
.diana-sum-promo-applied { display: flex; align-items: center; gap: 10px; padding: 10px 12px; border-radius: 12px; background: var(--diana-green-soft); color: var(--diana-green); }
.diana-sum-promo-applied > span { flex: 1 1 auto; min-width: 0; }
.diana-sum-promo-applied strong { display: block; font-size: .9rem; color: var(--diana-green-text); }
.diana-sum-promo-applied small { display: block; font-size: .78rem; color: var(--diana-green-text); }
.diana-sum-promo-applied a { font-size: .8rem; font-weight: 600; color: var(--diana-green-text); }
.diana-sum-promo-msg { margin: 8px 0 0; font-size: .82rem; color: var(--diana-muted); }
.diana-sum-promo-msg.is-error { color: var(--diana-red); }
.diana-sum-promo-msg.is-success { color: var(--diana-green); }
.diana-sum-express { margin-top: 16px; text-align: center; }
.diana-sum-express .separator { margin: 8px 0; color: var(--diana-faint); font-size: .8rem; text-transform: uppercase; }
#order-standard_cart .diana-co-submit {
    display: flex; width: 100%; height: 52px; margin-top: 18px; padding: 0 22px; border-radius: 12px;
    background: var(--diana-green); border-color: var(--diana-green); color: #fff; font-size: 1.02rem;
}
#order-standard_cart .diana-co-submit:hover { background: #15803d; color: #fff; text-decoration: none; }
#order-standard_cart .diana-co-submit.disabled, #order-standard_cart .diana-co-submit[disabled] { opacity: .75; pointer-events: none; }
.diana-co-secure { margin: 12px 0 0; text-align: center; color: var(--diana-muted); font-size: .8rem; }
.diana-co-secure i { color: var(--diana-green); margin-right: 4px; }
.diana-co-assure { display: flex; flex-direction: column; gap: 6px; list-style: none; margin: 14px 0 0; padding: 0; color: var(--diana-muted); font-size: .82rem; }
.diana-co-assure i { width: 16px; color: var(--diana-green); margin-right: 6px; }

/* ---------- Checkout sections (checkout.tpl) ---------- */
.diana-co-head { align-items: center; }
.diana-co-section { padding: 22px 24px 24px; overflow: visible; }
.diana-co-section-head { display: flex; align-items: flex-start; gap: 14px; margin-bottom: 18px; }
.diana-co-section-head > div { flex: 1 1 auto; min-width: 0; }
.diana-co-section-head h2 { font-size: 1.2rem; font-weight: 700; margin: 2px 0 2px; }
.diana-co-section-head p { margin: 0; color: var(--diana-muted); font-size: .9rem; }
.diana-co-num {
    display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto;
    width: 32px; height: 32px; border-radius: 10px; background: var(--diana-dark); color: #fff; font-weight: 700; font-size: .92rem;
}
.diana-co-main { counter-reset: dianaco; }
.diana-co-main .diana-co-num::before { counter-increment: dianaco; content: counter(dianaco); }
.diana-co-section-link { flex: 0 0 auto; margin-top: 6px; color: var(--diana-primary); }
.diana-co-subhead { margin: 22px 0 12px; padding-top: 18px; border-top: 1px solid var(--diana-border); font-size: .95rem; font-weight: 700; }
.diana-co-subhead small { font-weight: 500; color: var(--diana-muted); }
.diana-co-help { display: block; margin: 0 0 10px; color: var(--diana-muted); font-size: .84rem; line-height: 1.5; }
#order-standard_cart .diana-co-help.field-help-text { margin: 6px 0 0; padding: 0; background: none; color: var(--diana-muted); font-size: .8rem; border-radius: 0; }
.diana-co-optional { margin-left: 4px; color: var(--diana-faint); font-weight: 500; font-size: .8rem; }

.diana-co-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px 16px; }
.diana-co-field { min-width: 0; }
.diana-co-field.is-full { grid-column: 1 / -1; }
#order-standard_cart .diana-co-field label,
#order-standard_cart .diana-cd-field > label { display: block; margin: 0 0 6px; color: var(--diana-heading); font-size: .86rem; font-weight: 600; }
#order-standard_cart .diana-co-field .form-control,
#order-standard_cart .diana-cd-field .form-control,
#order-standard_cart .diana-co-field .field,
#order-standard_cart .diana-cart-tax-form .form-control {
    display: block; width: 100%; height: 46px; padding: 0 14px;
    border: 1px solid var(--diana-border-strong); border-radius: 10px; background: var(--diana-surface);
    font-size: .95rem; color: var(--diana-text); box-shadow: none;
}
#order-standard_cart .diana-co-field textarea.form-control { height: auto; padding: 12px 14px; }
#order-standard_cart .diana-co-field .form-control:focus,
#order-standard_cart .diana-cd-field .form-control:focus,
#order-standard_cart .diana-cart-tax-form .form-control:focus { border-color: var(--diana-border-accent); box-shadow: 0 0 0 3px rgba(40, 170, 225, .14); }
#order-standard_cart .diana-co-field .input-group { flex-wrap: nowrap; }
#order-standard_cart .diana-co-field .input-group .form-control { border-radius: 10px 0 0 10px; }
#order-standard_cart .diana-co-field .input-group .btn { height: 46px; border: 1px solid var(--diana-border-strong); border-left: 0; border-radius: 0 10px 10px 0; background: var(--diana-surface-2); }
#order-standard_cart .diana-co-field .iti, #order-standard_cart .diana-co-field .intl-tel-input { display: block; width: 100%; }
#order-standard_cart .diana-co-field .intl-tel-input.allow-dropdown .form-control { padding-left: 56px; }
#order-standard_cart .diana-co-field .intl-tel-input.separate-dial-code.iti-sdc-2 .form-control { padding-left: 80px; }
#order-standard_cart .diana-co-field .intl-tel-input.separate-dial-code.iti-sdc-3 .form-control { padding-left: 88px; }
#order-standard_cart .diana-co-field .intl-tel-input.separate-dial-code.iti-sdc-4 .form-control { padding-left: 96px; }
#order-standard_cart .diana-co-field .intl-tel-input.separate-dial-code.iti-sdc-5 .form-control { padding-left: 104px; }
#order-standard_cart .diana-co-field .field-error-msg { font-size: .8rem; }
#order-standard_cart.diana-co .sub-heading-borderless { display: flex; align-items: center; gap: 12px; margin: 22px 0 8px; height: auto; border: 0; text-align: center; }
#order-standard_cart.diana-co .sub-heading-borderless::before,
#order-standard_cart.diana-co .sub-heading-borderless::after { content: ""; flex: 1 1 auto; height: 1px; background: var(--diana-border); }
#order-standard_cart.diana-co .sub-heading-borderless span { position: static; padding: 0; background: none; color: var(--diana-faint); font-size: .78rem; font-weight: 600; text-transform: uppercase; letter-spacing: .06em; }
.diana-co-inline-actions { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; margin-top: 16px; }
.diana-co-inline-actions .diana-link { color: var(--diana-primary); }

/* New / existing customer switch */
.diana-co-tabs { display: inline-flex; gap: 4px; margin-bottom: 18px; padding: 4px; border-radius: 12px; background: var(--diana-surface-3); }
.diana-co-tab { display: inline-flex; align-items: center; gap: 8px; height: 40px; padding: 0 16px; border: 0; border-radius: 9px; background: transparent; font-family: var(--diana-font); font-size: .9rem; font-weight: 600; color: var(--diana-text-2); cursor: pointer; }
.diana-co-tab.is-active { background: var(--diana-surface); color: var(--diana-heading); box-shadow: 0 2px 6px -2px rgba(0, 38, 54, .18); }
.diana-co-tab:focus { outline: 0; }
.diana-co-tab:focus-visible { box-shadow: 0 0 0 3px rgba(40, 170, 225, .3); }
.diana-co-stock-toggle { display: none !important; }

/* Account picker for logged-in clients */
.diana-co-accounts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
#order-standard_cart .diana-co-account { margin: 0; padding: 0; border: 1px solid var(--diana-border); border-radius: 14px; background: var(--diana-surface); transition: border-color .15s, box-shadow .15s; }
#order-standard_cart .diana-co-account.active { border-color: var(--diana-primary); box-shadow: 0 0 0 3px rgba(40, 170, 225, .12); }
#order-standard_cart .diana-co-account label { display: flex; align-items: flex-start; gap: 12px; width: 100%; margin: 0; padding: 14px 16px; cursor: pointer; font-size: inherit; color: inherit; font-weight: 400; }
#order-standard_cart .diana-co-account .address { min-width: 0; }
#order-standard_cart .diana-co-account .address strong { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; font-size: .95rem; color: var(--diana-heading); }
#order-standard_cart .diana-co-account .address small { display: block; margin-top: 2px; color: var(--diana-muted); font-size: .82rem; line-height: 1.45; }
.diana-co-pill { padding: 1px 8px; border-radius: 999px; background: var(--diana-surface-3); color: var(--diana-muted); font-size: .7rem; font-style: normal; font-weight: 700; }
.diana-co-pill.is-blue { background: var(--diana-primary-soft); color: var(--diana-primary); }

/* iCheck radios restyled as round Diana radios */
#order-standard_cart.diana-cart .iradio_square-blue {
    flex: 0 0 auto; width: 20px; height: 20px; margin: 1px 0 0; border: 2px solid var(--diana-border-strong); border-radius: 50%;
    background: var(--diana-surface); transition: border-color .15s, box-shadow .15s;
}
#order-standard_cart.diana-cart .iradio_square-blue.hover { border-color: #94a3b8; }
#order-standard_cart.diana-cart .iradio_square-blue.checked { border-color: var(--diana-primary); box-shadow: inset 0 0 0 4px var(--diana-surface); background: var(--diana-primary); }
#order-standard_cart.diana-cart .iradio_square-blue.disabled { opacity: .5; }
#order-standard_cart.diana-cart .icheckbox_square-blue {
    flex: 0 0 auto; width: 20px; height: 20px; border: 2px solid var(--diana-border-strong); border-radius: 6px; background: var(--diana-surface);
}
#order-standard_cart.diana-cart .icheckbox_square-blue.checked { border-color: var(--diana-primary); background: var(--diana-primary) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%23fff' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round' d='M3.5 8.5l3 3 6-7'/%3E%3C/svg%3E") center / 12px no-repeat; }

/* Payment */
.diana-co-gateways { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(240px, 100%), 1fr)); gap: 12px; }
#order-standard_cart .diana-co-gateway {
    display: flex; align-items: center; gap: 12px; margin: 0; padding: 14px 16px;
    border: 1px solid var(--diana-border); border-radius: 14px; background: var(--diana-surface); cursor: pointer;
    font-size: .95rem; font-weight: 600; color: var(--diana-heading); transition: border-color .15s, box-shadow .15s;
}
#order-standard_cart .diana-co-gateway:hover { border-color: var(--diana-border-accent); }
#order-standard_cart .diana-co-gateway.is-selected { border-color: var(--diana-primary); box-shadow: 0 0 0 3px rgba(40, 170, 225, .12); }
.diana-co-gateway-icon { display: inline-flex; align-items: center; justify-content: center; width: 36px; height: 36px; border-radius: 10px; background: var(--diana-primary-soft); color: var(--diana-primary); }
.diana-co-gateway-name { flex: 1 1 auto; min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.diana-co-credit { margin-bottom: 16px; padding: 14px 16px; border-radius: 14px; background: var(--diana-green-soft); }
.diana-co-credit p { margin: 0 0 8px; font-weight: 600; color: var(--diana-green-text); }
#order-standard_cart .diana-co-credit label { display: flex; align-items: center; gap: 10px; margin: 6px 0 0; color: var(--diana-green-text); font-size: .9rem; font-weight: 500; }
.diana-co-cc { margin-top: 16px; padding: 18px; border-radius: 14px; background: var(--diana-surface-2); border: 1px solid var(--diana-border); }
.diana-co-cc-new { list-style: none; margin: 10px 0 14px; padding: 0; }
#order-standard_cart .diana-co-cc-new label { display: flex; align-items: center; gap: 10px; margin: 0; color: var(--diana-heading); font-size: .9rem; font-weight: 600; }
.diana-co-fields.is-cc { grid-template-columns: 2fr 1fr 1fr; }
#newCardSaveSettings .diana-co-fields { margin-top: 14px; }
.diana-co-switch { display: flex; align-items: center; gap: 10px; padding-top: 26px; }
#order-standard_cart .diana-co-switch label { margin: 0; }
.diana-co-express { padding: 16px; border-radius: 14px; background: var(--diana-surface-2); text-align: center; }
.diana-co-captcha { margin-top: 8px; }

.diana-co-password-tools { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; margin-top: 12px; }
.diana-co-password-tools .password-strength-meter { flex: 1 1 220px; }
.diana-co-password-tools .progress { height: 6px; margin: 0 0 6px; border-radius: 999px; background: var(--diana-surface-3); }
.diana-co-password-tools #passwordStrengthTextLabel { margin: 0; text-align: left; }

/* Confirm card */
.diana-co-confirm { padding: 22px 24px; }
.diana-co-confirm-row { display: flex; align-items: center; justify-content: space-between; gap: 16px 24px; flex-wrap: wrap; }
.diana-co-confirm-total span { display: block; color: var(--diana-muted); font-size: .86rem; font-weight: 600; }
.diana-co-confirm-total strong { font-size: 1.7rem; font-weight: 800; letter-spacing: -.02em; color: var(--diana-heading); }
#order-standard_cart .diana-co-confirm .diana-co-submit { width: auto; min-width: 240px; margin-top: 0; }
.diana-co-tos { margin-top: 16px !important; font-size: .9rem; }
.diana-co-optin { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 18px; padding-bottom: 18px; border-bottom: 1px solid var(--diana-border); }
.diana-co-optin p { margin: 2px 0 0; color: var(--diana-muted); font-size: .86rem; }
#order-standard_cart .diana-co-secure-note { margin: 16px 0 0; padding: 0; color: var(--diana-faint); font-size: .78rem; line-height: 1.5; }
#order-standard_cart .diana-co-secure-note i { float: none; margin: 0 4px 0 0; font-size: inherit; color: var(--diana-green); }

/* Domain cards inside checkout */
.diana-co-domain { border: 1px solid var(--diana-border); border-radius: 16px; background: var(--diana-surface); }
.diana-co-domain + .diana-co-domain { margin-top: 14px; }
.diana-co-domain-head { display: flex; align-items: center; gap: 14px; padding: 16px 18px; }
.diana-co-domain-name { flex: 1 1 auto; min-width: 0; }
.diana-co-domain-name strong { display: block; font-size: 1.1rem; font-weight: 800; letter-spacing: -.01em; color: var(--diana-heading); word-break: break-word; }
.diana-co-domain-name small { display: block; color: var(--diana-muted); font-size: .84rem; }
#order-standard_cart .diana-co-domain-period .form-control { width: auto; min-width: 190px; height: 42px; padding: 0 12px; border: 1px solid var(--diana-border-strong); border-radius: 10px; font-size: .9rem; font-weight: 600; color: var(--diana-text); }
.diana-co-domain-price { min-width: 110px; text-align: right; }
.diana-co-domain-price b { font-size: 1.1rem; font-weight: 800; color: var(--diana-heading); }
.diana-co-domain-config { padding: 0 18px 18px; }
.diana-co-domain-config[hidden] { display: none; }
.diana-co-domain { container-type: inline-size; }
@container (max-width: 700px) {
    .diana-co-domain-head { flex-wrap: wrap; padding: 14px; gap: 10px 14px; }
    .diana-co-domain-name { flex: 1 1 calc(100% - 110px); }
    .diana-co-domain-head .diana-cart-item-remove { order: 2; }
    .diana-co-domain-period { order: 3; flex: 1 1 auto; }
    #order-standard_cart .diana-co-domain-period .form-control { width: 100%; min-width: 0; }
    .diana-co-domain-price { order: 4; min-width: 0; }
    .diana-co-domain-config { padding: 0 14px 14px; }
}
.diana-co-loading { margin: 0; padding: 14px; border-radius: 12px; background: var(--diana-surface-2); color: var(--diana-muted); font-size: .88rem; }
.diana-co-ns:not(:empty) { margin-top: 16px; padding: 18px; border: 1px solid var(--diana-border); border-radius: 16px; background: var(--diana-surface-2); }

/* Checkout plans: head, domain picker, options lifted from confproduct */
.diana-co-plan { border: 1px solid var(--diana-border); border-radius: 16px; background: var(--diana-surface); container-type: inline-size; }
.diana-co-plan + .diana-co-plan { margin-top: 14px; }
.diana-co-plan-head .diana-co-domain-price small { display: block; color: var(--diana-muted); font-size: .8rem; }
.diana-co-plan-domain { color: var(--diana-green-text); font-weight: 600; }
.diana-co-plan-domain i { font-size: .8em; }
.diana-co-plan-nodomain { color: var(--diana-orange-text); font-weight: 600; }
.diana-co-plan-change {
    flex: 0 0 auto; padding: 7px 13px; border: 1px solid var(--diana-border-strong); border-radius: 999px; background: var(--diana-surface);
    font-size: .82rem; font-weight: 600; color: var(--diana-primary); cursor: pointer;
}
.diana-co-plan-change:hover { border-color: var(--diana-border-accent); background: var(--diana-tint); }
.diana-co-plan-change i { margin-right: 4px; font-size: .78em; }
.diana-co-plan-config { padding: 0 18px 18px; }
.diana-co-plan-config[hidden] { display: none; }

.diana-co-pick { margin: 0 18px 18px; padding: 18px; border: 1px dashed var(--diana-border-accent); border-radius: 14px; background: var(--diana-tint); }
.diana-co-pick[hidden] { display: none; }
.diana-co-pick.is-busy { opacity: .65; pointer-events: none; }
.diana-co-pick-title { margin: 0 0 12px; font-size: .95rem; font-weight: 700; color: var(--diana-heading); }
.diana-co-pick-title i { margin-right: 6px; color: var(--diana-primary); }
.diana-co-pick-tabs { display: flex; gap: 4px; margin-bottom: 12px; padding: 4px; border-radius: 12px; background: var(--diana-surface-3); }
.diana-co-pick-tab {
    flex: 1 1 0; padding: 9px 10px; border: 0; border-radius: 9px; background: transparent;
    font-size: .86rem; font-weight: 600; color: var(--diana-text-2); cursor: pointer; white-space: nowrap;
}
.diana-co-pick-tab i { margin-right: 6px; font-size: .85em; }
.diana-co-pick-tab:hover { color: var(--diana-heading); }
.diana-co-pick-tab.is-active { background: var(--diana-surface); color: var(--diana-heading); box-shadow: 0 2px 8px -4px rgba(0, 38, 54, .35); }
.diana-co-pick-tab:focus { outline: 0; }
.diana-co-pick-tab:focus-visible { box-shadow: 0 0 0 3px rgba(40, 170, 225, .3); }
.diana-co-pick-input {
    position: relative; display: flex; align-items: center; gap: 8px;
    padding: 5px 5px 5px 42px; border: 1px solid var(--diana-border-strong); border-radius: 12px; background: var(--diana-surface);
}
.diana-co-pick-input:focus-within { border-color: var(--diana-border-accent); box-shadow: 0 0 0 3px rgba(40, 170, 225, .14); }
.diana-co-pick-input > i { position: absolute; left: 16px; top: 50%; transform: translateY(-50%); color: var(--diana-faint); }
#order-standard_cart .diana-co-pick-input .form-control {
    flex: 1 1 auto; min-width: 0; height: 42px; padding: 0; border: 0; border-radius: 0; box-shadow: none; background: transparent;
    font-size: 1rem; color: var(--diana-text);
}
#order-standard_cart .diana-co-pick-input .diana-co-pick-epp { flex: 0 1 210px; padding-left: 12px; border-left: 1px solid var(--diana-border); font-size: .92rem; }
#order-standard_cart .diana-co-pick-input .diana-co-pick-epp[hidden] { display: none; }
.diana-co-pick-input .diana-btn { flex: 0 0 auto; height: 42px; padding: 0 22px; border-radius: 9px; }
.diana-co-pick-hint { margin: 8px 2px 0; color: var(--diana-muted); font-size: .82rem; }
.diana-co-pick-error { margin: 8px 2px 0; color: var(--diana-red); font-size: .86rem; font-weight: 600; }
.diana-co-pick-error[hidden] { display: none; }
.diana-co-pick-results:not(:empty) { display: grid; gap: 8px; margin-top: 12px; }
.diana-co-pick-alts { display: grid; gap: 8px; }
.diana-co-pick-alts:empty { display: none; }
.diana-co-pick-alts-title { margin: 4px 2px 0; color: var(--diana-text-2); font-size: .82rem; font-weight: 600; }
.diana-co-pick-result {
    display: flex; align-items: center; gap: 12px; padding: 12px 14px;
    border: 1px solid var(--diana-border); border-radius: 12px; background: var(--diana-surface);
}
.diana-co-pick-result.is-ok { border-color: #bfe6cd; }
.diana-co-pick-result-icon {
    display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto;
    width: 34px; height: 34px; border-radius: 50%; background: var(--diana-green-soft); color: var(--diana-green); font-size: .85rem;
}
.diana-co-pick-result.is-bad .diana-co-pick-result-icon { background: var(--diana-red-soft); color: var(--diana-red); }
.diana-co-pick-result-text { flex: 1 1 auto; min-width: 0; }
.diana-co-pick-result-text strong { display: block; font-weight: 700; color: var(--diana-heading); word-break: break-word; }
.diana-co-pick-result-text small { display: block; color: var(--diana-muted); font-size: .82rem; }
.diana-co-pick-result-price { flex: 0 0 auto; text-align: right; font-weight: 700; color: var(--diana-heading); white-space: nowrap; }
.diana-co-pick-result-price small { display: block; color: var(--diana-muted); font-size: .76rem; font-weight: 500; }
.diana-co-pick-result .diana-btn { flex: 0 0 auto; height: 38px; padding: 0 16px; font-size: .86rem; white-space: nowrap; }
.diana-co-pick-incart { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-top: 12px; color: var(--diana-text-2); font-size: .84rem; }
.diana-co-pick-chip {
    padding: 6px 12px; border: 1px solid var(--diana-border-accent); border-radius: 999px; background: var(--diana-surface);
    font-size: .84rem; font-weight: 600; color: var(--diana-primary); cursor: pointer;
}
.diana-co-pick-chip:hover { border-color: var(--diana-primary); }
.diana-co-pick-chip i { margin-right: 4px; font-size: .8em; }
.diana-co-pick-cancel { display: inline-block; margin-top: 12px; padding: 0; border: 0; background: none; font-size: .84rem; font-weight: 600; cursor: pointer; }

/* Stock confproduct fields inside the plan card */
#order-standard_cart .diana-co-plan-config .field-container { margin: 0; padding: 0; border: 0; background: none; }
#order-standard_cart .diana-co-plan-config .form-group { margin: 0 0 12px; }
#order-standard_cart .diana-co-plan-config .form-group:last-child { margin-bottom: 0; }
#order-standard_cart .diana-co-plan-config label { display: block; margin: 0 0 6px; font-size: .86rem; font-weight: 600; color: var(--diana-heading); }
#order-standard_cart .diana-co-plan-config label + br { display: none; }
#order-standard_cart .diana-co-plan-config .form-control {
    width: 100%; max-width: 420px; height: 42px; padding: 0 12px; border: 1px solid var(--diana-border-strong); border-radius: 10px;
    font-size: .9rem; color: var(--diana-text);
}
#order-standard_cart .diana-co-plan-config select.form-control { font-weight: 600; }
#order-standard_cart .diana-co-plan-config textarea.form-control { height: auto; padding: 10px 12px; }
#order-standard_cart .diana-co-plan-config .sub-heading { height: auto; margin: 16px 0 10px; border: 0; text-align: left; }
#order-standard_cart .diana-co-plan-config .sub-heading span { padding: 0; background: none; font-size: .92rem; font-weight: 700; color: var(--diana-heading); }
#order-standard_cart .diana-co-plan-config .panel-addon { margin-bottom: 10px; border: 1px solid var(--diana-border); border-radius: 12px; }
#order-standard_cart .diana-co-plan-config .panel-addon .panel-add { display: none; }
#order-standard_cart .diana-co-plan-config .field-help-text { display: block; margin-top: 4px; padding: 0; background: none; color: var(--diana-muted); font-size: .8rem; }

@container (max-width: 560px) {
    .diana-co-pick { margin: 0 14px 14px; padding: 14px; }
    .diana-co-pick-tab { padding: 8px 6px; font-size: .8rem; }
    .diana-co-pick-tab i { display: none; }
    .diana-co-pick-input { flex-wrap: wrap; padding: 5px; }
    .diana-co-pick-input > i { display: none; }
    #order-standard_cart .diana-co-pick-input .form-control { flex: 1 1 100%; padding: 0 10px; }
    #order-standard_cart .diana-co-pick-input .diana-co-pick-epp { flex-basis: 100%; padding-left: 10px; border-left: 0; border-top: 1px solid var(--diana-border); }
    .diana-co-pick-input .diana-btn { flex: 1 1 100%; }
    .diana-co-pick-result { flex-wrap: wrap; }
    .diana-co-pick-result-text { flex-basis: calc(100% - 46px); }
    .diana-co-pick-result-price { text-align: left; }
    .diana-co-pick-result .diana-btn { margin-left: auto; }
    .diana-co-plan-config { padding: 0 14px 14px; }
    .diana-co-plan-head .diana-co-plan-change { order: 5; }
    .diana-co-plan-head .diana-co-domain-price { display: flex; align-items: baseline; gap: 6px; flex: 1 1 100%; padding-left: 58px; text-align: left; }
    .diana-co-plan-head .diana-co-domain-price small { display: inline; }
}

/* ---------- Domain options (configuredomains.tpl, also injected into checkout) ---------- */
.diana-cd-domain { padding: 0; }
.diana-cd-domain-head { display: flex; align-items: center; gap: 14px; padding: 18px 22px; border-bottom: 1px solid var(--diana-border); }
.diana-cd-domain-head > div { flex: 1 1 auto; min-width: 0; }
.diana-cd-domain-head strong { display: block; font-size: 1.1rem; font-weight: 800; color: var(--diana-heading); }
.diana-cd-domain-head small { color: var(--diana-muted); font-size: .84rem; }
.diana-cd-badge { padding: 4px 10px; border-radius: 999px; background: var(--diana-orange-soft); color: var(--diana-orange-text); font-size: .76rem; font-weight: 700; }
.diana-cd-badge.is-green { background: var(--diana-green-soft); color: var(--diana-green); }
.diana-cd .diana-cd-body { padding: 18px 22px 22px; }
.diana-cd-body > * + * { margin-top: 14px; }
.diana-cd-addons { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
#order-standard_cart .diana-cd-addon {
    position: relative; display: flex; flex-direction: column; gap: 8px; margin: 0; padding: 16px;
    border: 1px solid var(--diana-border); border-radius: 14px; background: var(--diana-surface); cursor: pointer;
    color: inherit; font-size: inherit; font-weight: 400; transition: border-color .15s, box-shadow .15s, background .15s;
}
#order-standard_cart .diana-cd-addon:hover { border-color: var(--diana-border-accent); }
#order-standard_cart .diana-cd-addon.is-selected,
#order-standard_cart .diana-cd-addon:has(input:checked) { border-color: var(--diana-primary); background: var(--diana-tint); box-shadow: 0 0 0 3px rgba(40, 170, 225, .12); }
.diana-cd-addon input { position: absolute; opacity: 0; pointer-events: none; }
.diana-cd-addon:focus-within { box-shadow: 0 0 0 3px rgba(40, 170, 225, .3); }
.diana-cd-addon-icon { display: inline-flex; align-items: center; justify-content: center; width: 38px; height: 38px; border-radius: 10px; background: var(--diana-primary-soft); color: var(--diana-primary); }
.diana-cd-addon-icon.is-green { background: var(--diana-green-soft); color: var(--diana-green); }
.diana-cd-addon-icon.is-purple { background: var(--diana-purple-soft); color: var(--diana-purple); }
.diana-cd-addon-text strong { display: block; font-size: .93rem; color: var(--diana-heading); }
.diana-cd-addon-text small { display: block; margin-top: 2px; color: var(--diana-muted); font-size: .8rem; line-height: 1.45; }
.diana-cd-addon-price { margin-top: auto; font-size: .92rem; font-weight: 700; color: var(--diana-heading); }
.diana-cd-addon-price small { margin-left: 4px; color: var(--diana-muted); font-weight: 500; font-size: .76rem; }
.diana-cd-addon-check {
    position: absolute; top: 14px; right: 14px; display: inline-flex; align-items: center; justify-content: center;
    width: 22px; height: 22px; border-radius: 50%; border: 2px solid var(--diana-border-strong); color: transparent; font-size: .65rem;
}
.diana-cd-addon.is-selected .diana-cd-addon-check,
.diana-cd-addon:has(input:checked) .diana-cd-addon-check { border-color: var(--diana-primary); background: var(--diana-primary); color: #fff; }
.diana-cd-fields h3 { margin: 4px 0 10px; font-size: .92rem; font-weight: 700; }
.diana-cd-field { display: grid; grid-template-columns: 220px minmax(0, 1fr); gap: 6px 16px; align-items: center; margin-bottom: 12px; }
.diana-cd-ns { padding: 20px 22px; }
.diana-cd-ns-head h3 { display: flex; align-items: center; gap: 8px; margin: 0 0 4px; font-size: 1rem; font-weight: 700; }
.diana-cd-ns-head h3 i { color: var(--diana-primary); }
.diana-cd-ns-head p { margin: 0 0 14px; color: var(--diana-muted); font-size: .86rem; }
.diana-cd-ns-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px 14px; }
.diana-cd-actions { display: flex; justify-content: space-between; gap: 12px; margin-top: 8px; }

/* ---------- Modals ---------- */
.diana-cart-modal .modal-content { border: 0; border-radius: 20px; box-shadow: 0 30px 70px -30px rgba(0, 38, 54, .5); }
.diana-cart-modal .modal-body { padding: 28px 28px 8px; text-align: center; }
.diana-cart-modal-icon { display: inline-flex; align-items: center; justify-content: center; width: 56px; height: 56px; margin-bottom: 14px; border-radius: 16px; font-size: 1.3rem; background: var(--diana-red-soft); color: var(--diana-red); }
.diana-cart-modal .modal-title { font-size: 1.2rem; font-weight: 800; margin: 0 0 6px; }
.diana-cart-modal .modal-body p { margin: 0; color: var(--diana-muted); }
.diana-cart-modal .modal-footer { justify-content: center; gap: 10px; padding: 18px 28px 26px; border-top: 0; }

/* ---------- Order complete (complete.tpl) ---------- */
.diana-done { max-width: 820px !important; }
.diana-done-steps { display: flex; justify-content: center; margin: 8px 0 22px; }
.diana-done-card { padding: 40px 36px 32px; text-align: center; }
.diana-done-icon { display: inline-flex; align-items: center; justify-content: center; width: 76px; height: 76px; margin-bottom: 18px; border-radius: 50%; background: var(--diana-green); color: #fff; font-size: 1.9rem; box-shadow: 0 0 0 10px var(--diana-green-soft); }
.diana-done-card h1 { font-size: 2rem; font-weight: 800; letter-spacing: -.03em; margin: 0 0 8px; }
.diana-done-lead { color: var(--diana-muted); margin: 0 0 22px; }
.diana-done-number { display: inline-flex; align-items: center; gap: 10px; margin-bottom: 22px; padding: 10px 18px; border-radius: 12px; background: var(--diana-surface-3); border: 1px solid var(--diana-border-strong); }
.diana-done-number span { color: var(--diana-muted); font-size: .9rem; }
.diana-done-number strong { font-size: 1.15rem; font-weight: 800; color: var(--diana-heading); letter-spacing: .02em; }
.diana-done-invoice { display: flex; align-items: center; gap: 14px; margin: 0 0 20px; padding: 16px 18px; border-radius: 14px; background: var(--diana-orange-soft); text-align: left; }
.diana-done-invoice > div { flex: 1 1 auto; min-width: 0; }
.diana-done-invoice strong { display: block; color: var(--diana-heading); }
.diana-done-invoice small { display: block; color: var(--diana-orange-text); font-size: .84rem; }
.diana-done-note { color: var(--diana-muted); font-size: .9rem; margin: 0 0 24px; }
.diana-done-actions { display: flex; justify-content: center; gap: 10px; flex-wrap: wrap; }

/* ---------- Responsive ---------- */
@media (max-width: 1199px) {
    .diana-co-grid { grid-template-columns: minmax(0, 1fr) 340px; }
    .diana-cd-addons { grid-template-columns: 1fr; }
    #order-standard_cart .diana-cd-addon { display: grid; grid-template-columns: 38px minmax(0, 1fr); gap: 6px 12px; align-items: start; padding-right: 48px; }
    .diana-cd-addon-icon { grid-row: span 2; }
    .diana-cd-addon-price { margin-top: 0; }
    .diana-cd-addon-check { top: 50%; transform: translateY(-50%); }
}
@media (max-width: 991px) {
    #order-standard_cart.diana-cart { padding: 4px 20px 32px; }
    .diana-co-grid { grid-template-columns: 1fr; }
    .diana-co-side { position: static; }
    .diana-co .diana-co-side { order: -1; }
    .diana-co .diana-co-submit-proxy, .diana-co .diana-co-assure { display: none !important; }
    .diana-cart-trust { grid-template-columns: 1fr; }
}
@media (max-width: 767px) {
    .diana-dc-hero { padding: 18px 16px 22px; text-align: left; }
    .diana-dc-hero h1 { font-size: 1.85rem; }
    .diana-dc-hero > p { margin-left: 0; }
    .diana-dc-modes { display: flex; margin-left: 0; margin-right: 0; }
    .diana-dc-mode { flex: 1 1 0; justify-content: center; padding: 0 10px; }
    .diana-dc-search { padding: 6px; }
    .diana-dc-search .diana-dc-search-icon { display: none; }
    #order-standard_cart .diana-dc-search .form-control { flex: 1 1 0; height: 46px; padding: 0 10px; }
    .diana-dc-opt-btn span { display: none; }
    #order-standard_cart .diana-dc-search .diana-dc-search-btn { flex-basis: 100%; height: 46px; }
    .diana-dc-search-options { padding-left: 6px; }
    .diana-dc-options-note { flex-basis: 100%; margin-left: 0; }
    .diana-dc-bulk-foot { flex-direction: column; align-items: stretch; }
    #order-standard_cart .diana-dc-bulk-btn { width: 100%; }
    .diana-dc-quick { justify-content: flex-start; flex-wrap: nowrap; overflow-x: auto; margin-right: -16px; padding-right: 16px; scrollbar-width: none; }
    .diana-dc-quick::-webkit-scrollbar { display: none; }
    .diana-dc-quick-tld { flex: 0 0 auto; }
    .diana-dc-bulk-row { flex-wrap: wrap; gap: 8px 12px; padding: 13px 16px; }
    .diana-dc-bulk-name { flex-basis: calc(100% - 44px); }
    .diana-dc-bulk-price { margin-left: 44px; text-align: left; }
    .diana-dc-bulk-action { margin-left: auto; }
    .diana-dc-bulk-results .diana-dc-card-head { flex-wrap: wrap; }
    .diana-dc-bulk-results [data-diana-bulk-addall] { width: 100%; justify-content: center; }
    #order-standard_cart #primaryLookupResult { grid-template-columns: 1fr; }
    #order-standard_cart #primaryLookupResult > .domain-price { grid-column: 1; grid-row: auto; justify-content: space-between; margin-top: 10px; }
    .diana-dc-price-wrap { align-items: flex-start; }
    #order-standard_cart #primaryLookupResult .domain-available,
    #order-standard_cart #primaryLookupResult .domain-unavailable { font-size: 1.2rem; }
    #order-standard_cart #domainSuggestions .domain-suggestion { flex-wrap: wrap; padding: 14px 16px; }
    #order-standard_cart .diana-dc-suggestions .actions { width: 100%; justify-content: space-between; }
    .diana-dc-card-head { padding: 18px 16px 12px; }
    .diana-dc-promos { grid-template-columns: 1fr; }
    .diana-dc-bar { flex-wrap: wrap; bottom: 10px; }
    .diana-dc-bar-text { flex-basis: calc(100% - 56px); }
    .diana-dc-bar .diana-btn { flex: 1 1 0; }

    .diana-cart-head h1 { font-size: 1.6rem; }
    .diana-cart-head-actions, .diana-cart-head-actions .diana-btn { width: 100%; }
    .diana-co-head .diana-cart-steps { width: 100%; }
    .diana-cart-item { flex-wrap: wrap; padding: 16px; gap: 10px 14px; }
    .diana-cart-item-main { flex-basis: calc(100% - 110px); }
    .diana-cart-item-qty { order: 4; }
    .diana-cart-item-price { order: 5; flex: 1 1 auto; min-width: 0; }
    .diana-cart-item-remove { order: 2; }
    .diana-cart-item.is-sub { padding-left: 28px; }
    .diana-cart-tax-form { grid-template-columns: 1fr; padding: 16px; }

    .diana-co-section, .diana-co-confirm { padding: 18px 16px 20px; }
    .diana-co-fields, .diana-co-fields.is-cc, .diana-co-accounts { grid-template-columns: 1fr; }
    .diana-co-tabs { display: flex; width: 100%; }
    .diana-co-tab { flex: 1 1 0; justify-content: center; padding: 0 8px; font-size: .84rem; }
    .diana-co-confirm-row { flex-direction: column; align-items: stretch; }
    #order-standard_cart .diana-co-confirm .diana-co-submit { width: 100%; min-width: 0; }
    .diana-cd-ns-grid { grid-template-columns: 1fr 1fr; }
    .diana-cd-field { grid-template-columns: 1fr; }
    .diana-cd-actions { flex-direction: column-reverse; }
    .diana-cd-actions .diana-btn { width: 100%; }
    .diana-done-card { padding: 30px 18px 24px; }
    .diana-done-invoice { flex-direction: column; text-align: center; }
}
@media (max-width: 575px) {
    #order-standard_cart.diana-cart { padding: 2px 14px 28px; }
    .diana-cart-steps-label { display: none; }
    .diana-cart-steps li.is-current .diana-cart-steps-label { display: inline; }
    .diana-dc-hero-top { gap: 10px; }
    .diana-cd-ns-grid { grid-template-columns: 1fr; }
}

/* ---------- Store pricing page (products.tpl) ---------- */
.diana-pp-hero {
    position: relative; overflow: hidden;
    display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr); align-items: center;
    margin: 4px 0 24px; border-radius: 22px; border: 1px solid var(--diana-border-strong);
    background:
        radial-gradient(520px 340px at 0% 0%, rgba(255, 255, 255, .85) 0%, rgba(255, 255, 255, 0) 70%),
        radial-gradient(420px 300px at 100% 100%, rgba(40, 170, 225, .12) 0%, rgba(40, 170, 225, 0) 70%),
        linear-gradient(155deg, #eaf6fc 0%, #d9eff9 50%, #c8e7f5 100%);
}
.diana-pp-vps .diana-pp-hero {
    background:
        radial-gradient(520px 340px at 0% 0%, rgba(255, 255, 255, .85) 0%, rgba(255, 255, 255, 0) 70%),
        radial-gradient(420px 300px at 100% 100%, rgba(124, 58, 237, .12) 0%, rgba(124, 58, 237, 0) 70%),
        linear-gradient(155deg, #f1effc 0%, #e5e6fa 50%, #d8def8 100%);
    border-color: #dfdcf5;
}
.diana-pp-hero-copy { position: relative; z-index: 2; padding: 38px 44px; }
.diana-pp-hero .diana-auth-chip { margin: 0 0 16px; padding: 8px 14px; font-size: .86rem; }
.diana-pp-vps .diana-pp-hero .diana-auth-chip i { color: var(--diana-purple); }
.diana-pp-hero h1 { font-size: 2.5rem; font-weight: 800; letter-spacing: -.035em; line-height: 1.08; margin: 0 0 10px; }
.diana-pp-hero p { margin: 0 0 20px; color: var(--diana-text-2); font-size: 1.04rem; line-height: 1.6; max-width: 500px; }
.diana-pp-hero-points { display: flex; flex-wrap: wrap; gap: 10px 22px; list-style: none; margin: 0; padding: 0; }
.diana-pp-hero-points li { display: inline-flex; align-items: center; gap: 8px; color: var(--diana-text-3); font-size: .9rem; font-weight: 600; }
.diana-pp-hero-points i { color: var(--diana-primary); }
.diana-pp-vps .diana-pp-hero-points i { color: var(--diana-purple); }
.diana-pp-hero-art { position: relative; align-self: stretch; min-height: 250px; pointer-events: none; }
.diana-pp-hero-art img { position: absolute; inset: 14px 0 0; width: 100%; height: calc(100% - 14px); object-fit: contain; object-position: center bottom; }

.diana-pp-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 14px 20px; flex-wrap: wrap; margin: 0 0 22px; }
.diana-pp-groups { display: flex; gap: 8px; flex-wrap: wrap; }
.diana-pp-group {
    display: inline-flex; align-items: center; height: 40px; padding: 0 16px; border-radius: 999px;
    background: var(--diana-surface); border: 1px solid var(--diana-border); color: var(--diana-text-3); font-size: .9rem; font-weight: 600;
    transition: background .15s, color .15s, border-color .15s;
}
.diana-pp-group:hover { border-color: var(--diana-border-strong); color: var(--diana-heading); text-decoration: none; }
.diana-pp-group.is-active { background: var(--diana-dark); border-color: var(--diana-dark); color: #fff; }
.diana-pp-toolbar-end { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; margin-left: auto; }
.diana-pp-cycles {
    display: inline-flex; gap: 4px; padding: 4px; border-radius: 14px;
    background: var(--diana-surface); border: 1px solid var(--diana-border); box-shadow: 0 1px 2px rgba(0, 38, 54, .04);
}
.diana-pp-cycle {
    display: inline-flex; align-items: center; gap: 8px; height: 38px; padding: 0 16px;
    border: 0; border-radius: 10px; background: transparent; cursor: pointer;
    font-family: var(--diana-font); font-size: .9rem; font-weight: 600; color: var(--diana-text-2); white-space: nowrap;
    transition: background .15s, color .15s;
}
.diana-pp-cycle:hover { color: var(--diana-heading); background: var(--diana-surface-2); }
.diana-pp-cycle:focus { outline: 0; }
.diana-pp-cycle:focus-visible { box-shadow: 0 0 0 3px rgba(40, 170, 225, .3); }
.diana-pp-cycle.is-active { background: var(--diana-dark); color: #fff; box-shadow: 0 6px 14px -8px rgba(0, 55, 76, .7); }
.diana-pp-cycle-save { padding: 2px 7px; border-radius: 999px; background: var(--diana-green-soft); color: var(--diana-green); font-size: .72rem; font-weight: 700; }
.diana-pp-cycle.is-active .diana-pp-cycle-save { background: rgba(255, 255, 255, .16); color: #b8f5cf; }
.diana-pp-currency .diana-select { height: 46px; min-width: 110px; }

.diana-pp-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; align-items: stretch; margin-bottom: 64px; }
.diana-pp-grid[data-count="1"] { grid-template-columns: minmax(0, 420px); justify-content: center; }
.diana-pp-grid[data-count="2"] { grid-template-columns: repeat(2, minmax(0, 420px)); justify-content: center; }
.diana-pp-grid[data-count="4"] { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.diana-pp-card {
    position: relative; display: flex; flex-direction: column;
    padding: 28px 26px 26px; border-radius: 20px;
    background: var(--diana-surface); border: 1px solid var(--diana-border); box-shadow: var(--diana-shadow);
    transition: transform .2s, box-shadow .2s, border-color .2s;
}
.diana-pp-card:hover { transform: translateY(-4px); border-color: var(--diana-border-accent); box-shadow: 0 22px 44px -22px rgba(0, 38, 54, .35); }
.diana-pp-card.is-featured {
    border: 2px solid var(--diana-dark); padding: 27px 25px 25px;
    box-shadow: 0 26px 50px -26px rgba(0, 55, 76, .55);
}
.diana-pp-ribbon {
    position: absolute; top: -14px; left: 50%; transform: translateX(-50%);
    display: inline-flex; align-items: center; gap: 6px; padding: 6px 14px; border-radius: 999px;
    background: var(--diana-dark); color: #fff; font-size: .74rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; white-space: nowrap;
    box-shadow: 0 8px 18px -10px rgba(0, 55, 76, .8);
}
.diana-pp-ribbon i { color: #fbbf24; font-size: .7rem; }
.diana-pp-card-head { display: flex; align-items: center; gap: 14px; margin-bottom: 14px; }
.diana-pp-card-head .diana-stat-icon { flex: 0 0 auto; }
.diana-pp-card-head h3 { font-size: 1.3rem; font-weight: 800; letter-spacing: -.02em; margin: 0; }
.diana-pp-tagline { margin: 2px 0 0; color: var(--diana-muted); font-size: .86rem; font-weight: 500; }
.diana-pp-short { margin: 0 0 18px; color: var(--diana-text-2); font-size: .92rem; line-height: 1.55; min-height: 2.9em; }

.diana-pp-pricing { padding: 18px 0 20px; border-top: 1px solid var(--diana-border); }
.diana-pp-price { display: flex; flex-direction: column; }
.diana-pp-from { color: var(--diana-faint); font-size: .74rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; margin-bottom: 6px; }
.diana-pp-amount { display: flex; align-items: baseline; flex-wrap: wrap; gap: 2px 6px; }
.diana-pp-amount strong { font-size: 2.3rem; font-weight: 800; letter-spacing: -.035em; line-height: 1.1; color: var(--diana-heading); font-variant-numeric: tabular-nums; }
.diana-pp-amount span { color: var(--diana-muted); font-size: 1rem; font-weight: 600; }
.diana-pp-billed.is-note { display: flex; align-items: center; gap: 6px; color: var(--diana-orange-text); }
.diana-pp-billed.is-note i { font-size: .8rem; }
.diana-pp-save {
    align-self: center; margin-left: 4px; padding: 3px 9px; border-radius: 999px;
    background: var(--diana-green-soft); color: var(--diana-green); font-size: .76rem; font-weight: 700; font-style: normal;
}
.diana-pp-billed { margin: 6px 0 0; color: var(--diana-muted); font-size: .86rem; min-height: 1.3em; }
.diana-pp-perk { display: inline-flex; align-items: center; gap: 8px; margin: 10px 0 0; color: var(--diana-green); font-size: .86rem; font-weight: 600; }
.diana-pp-btn {
    width: 100%; height: 48px; margin-top: 18px; border-radius: 12px;
    background: var(--diana-surface-3); color: var(--diana-heading); border: 1px solid var(--diana-border-strong);
}
.diana-pp-btn i { font-size: .8rem; transition: transform .15s; }
.diana-pp-btn:hover, .diana-pp-card:hover .diana-pp-btn, .diana-pp-card.is-featured .diana-pp-btn { background: var(--diana-dark); border-color: var(--diana-dark); color: #fff; }
.diana-pp-card.is-featured .diana-pp-btn:hover { background: #002a3a; }
.diana-pp-btn:hover i { transform: translateX(3px); }

.diana-pp-includes { flex: 1 1 auto; padding-top: 18px; border-top: 1px solid var(--diana-border); }
.diana-pp-includes-title { display: block; margin-bottom: 12px; color: var(--diana-heading); font-size: .82rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.diana-pp-features { list-style: none; margin: 0; padding: 0; }
.diana-pp-features li { display: flex; align-items: flex-start; gap: 10px; padding: 6px 0; color: var(--diana-text-3); font-size: .93rem; line-height: 1.4; }
.diana-pp-features li i {
    flex: 0 0 20px; width: 20px; height: 20px; margin-top: 0; border-radius: 50%;
    display: inline-flex; align-items: center; justify-content: center;
    background: var(--diana-green-soft); color: var(--diana-green); font-size: .62rem;
}
.diana-pp-features li b { color: var(--diana-heading); }
.diana-pp-desc { margin: 0; color: var(--diana-text-2); font-size: .93rem; line-height: 1.6; }
.diana-pp-stock { display: inline-flex; align-items: center; gap: 8px; margin-top: 14px; padding: 5px 10px; border-radius: 999px; background: var(--diana-primary-soft); color: var(--diana-primary); font-size: .8rem; font-weight: 600; }
.diana-pp-stock.is-out { background: var(--diana-red-soft); color: var(--diana-red); }

.diana-pp-section { margin: 0 0 64px; }
.diana-pp-faq { max-width: 820px; margin: 0 auto; display: grid; gap: 12px; }
.diana-pp-faq-item { border-radius: 16px; background: var(--diana-surface); border: 1px solid var(--diana-border); transition: border-color .15s, box-shadow .15s; }
.diana-pp-faq-item[open] { border-color: var(--diana-border-accent); box-shadow: var(--diana-shadow); }
.diana-pp-faq-item summary {
    display: flex; align-items: center; justify-content: space-between; gap: 16px;
    padding: 18px 22px; cursor: pointer; list-style: none;
    color: var(--diana-heading); font-size: 1rem; font-weight: 700;
}
.diana-pp-faq-item summary::-webkit-details-marker { display: none; }
.diana-pp-faq-item summary i { flex: 0 0 auto; color: var(--diana-faint); font-size: .85rem; transition: transform .2s, color .15s; }
.diana-pp-faq-item[open] summary i { transform: rotate(180deg); color: var(--diana-primary); }
.diana-pp-faq-item p { margin: 0; padding: 0 22px 20px; color: var(--diana-muted); font-size: .94rem; line-height: 1.65; }

@media (max-width: 1199px) {
    .diana-pp-grid, .diana-pp-grid[data-count="4"] { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .diana-pp-hero h1 { font-size: 2.15rem; }
}
@media (max-width: 991px) {
    .diana-pp-toolbar-end { margin-left: 0; }
}
@media (max-width: 767px) {
    .diana-pp-hero { grid-template-columns: 1fr; }
    .diana-pp-hero-copy { padding: 28px 24px; }
    .diana-pp-hero-art { display: none; }
    .diana-pp-grid, .diana-pp-grid[data-count="1"], .diana-pp-grid[data-count="2"], .diana-pp-grid[data-count="4"] { grid-template-columns: minmax(0, 1fr); gap: 28px; margin-bottom: 44px; }
    .diana-pp-toolbar { flex-direction: column; flex-wrap: nowrap; align-items: stretch; }
    .diana-pp-groups { flex-wrap: nowrap; overflow-x: auto; margin: 0 -2px; padding: 2px; scrollbar-width: none; }
    .diana-pp-groups::-webkit-scrollbar { display: none; }
    .diana-pp-group { flex: 0 0 auto; }
    .diana-pp-toolbar-end { flex-wrap: nowrap; }
    .diana-pp-cycles { flex: 1 1 auto; overflow-x: auto; scrollbar-width: none; }
    .diana-pp-cycles::-webkit-scrollbar { display: none; }
    .diana-pp-cycle { flex: 1 0 auto; justify-content: center; padding: 0 12px; }
    .diana-pp-section { margin-bottom: 44px; }
}
@media (max-width: 575px) {
    .diana-pp-hero h1 { font-size: 1.85rem; }
    .diana-pp-hero p { font-size: .96rem; }
    .diana-pp-card { padding: 24px 20px 22px; }
    .diana-pp-card.is-featured { padding: 23px 19px 21px; }
    .diana-pp-amount strong { font-size: 2rem; }
    .diana-pp-faq-item summary { padding: 16px 18px; font-size: .95rem; }
    .diana-pp-faq-item p { padding: 0 18px 18px; }
}

/* ---------- Product domain step (configureproductdomain.tpl) ---------- */
#order-standard_cart.diana-pdom { max-width: 1080px; }
.diana-pdom-product {
    position: relative; overflow: hidden;
    display: flex; align-items: center; gap: 18px;
    padding: 20px 22px 20px 26px; margin-bottom: 18px;
    background: var(--diana-surface); border: 1px solid var(--diana-border); border-radius: 18px; box-shadow: var(--diana-shadow);
}
.diana-pdom-product::before { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 4px; background: linear-gradient(180deg, #28aae1, #006293); }
.diana-pdom-product .diana-stat-icon { flex: 0 0 52px; }
.diana-pdom-product-info { flex: 1 1 auto; min-width: 0; }
.diana-pdom-product-info small { display: block; font-size: .74rem; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; color: var(--diana-primary); }
.diana-pdom-product-info strong { display: block; margin-top: 2px; font-size: 1.3rem; font-weight: 800; letter-spacing: -.02em; color: var(--diana-heading); }
.diana-pdom-feats { display: flex; flex-wrap: wrap; gap: 4px 16px; list-style: none; margin: 8px 0 0; padding: 0; font-size: .85rem; color: var(--diana-text-2); }
.diana-pdom-feats i { margin-right: 3px; font-size: .7rem; color: var(--diana-green); }
.diana-pdom-product-price { flex-shrink: 0; padding-left: 20px; border-left: 1px solid var(--diana-border); text-align: right; }
.diana-pdom-product-price strong { display: block; font-size: 1.45rem; font-weight: 800; letter-spacing: -.02em; color: var(--diana-heading); white-space: nowrap; }
.diana-pdom-product-price strong span { margin-left: 2px; font-size: .85rem; font-weight: 600; color: var(--diana-muted); }
.diana-pdom-product-price small { display: block; margin-top: 2px; font-size: .8rem; color: var(--diana-muted); }
.diana-pdom-change {
    flex-shrink: 0; display: inline-flex; align-items: center; gap: 6px;
    padding: 8px 14px; border: 1px solid var(--diana-border); border-radius: 10px;
    font-size: .84rem; font-weight: 600; color: var(--diana-text-3);
}
.diana-pdom-change:hover { border-color: var(--diana-border-accent); background: var(--diana-tint); color: var(--diana-primary); text-decoration: none; }

.diana-pdom-card { padding: 22px; background: var(--diana-surface); border: 1px solid var(--diana-border); border-radius: 18px; box-shadow: var(--diana-shadow); }

/* Option tabs: the stock radios stay (iCheck events switch the panels); each label is the tab */
#order-standard_cart.diana-pdom .diana-pdom-tabs { display: flex; flex-wrap: wrap; gap: 6px; margin: 0 0 20px; padding: 5px; border-radius: 14px; background: var(--diana-surface-3); }
#order-standard_cart.diana-pdom .diana-pdom-tabs .option { flex: 1 1 0; margin: 0; padding: 0; border-radius: 10px; background: none; }
#order-standard_cart.diana-pdom .diana-pdom-tabs label {
    display: flex; align-items: center; justify-content: center; gap: 8px;
    margin: 0; padding: 11px 14px; border-radius: 10px;
    font-size: .9rem; font-weight: 600; line-height: 1.25; color: var(--diana-text-2); text-align: center; cursor: pointer;
    transition: background .15s, color .15s, box-shadow .15s;
}
#order-standard_cart.diana-pdom .diana-pdom-tabs label:hover { color: var(--diana-heading); }
#order-standard_cart.diana-pdom .diana-pdom-tabs label i { color: var(--diana-faint); }
#order-standard_cart.diana-pdom .diana-pdom-tabs .iradio_square-blue { position: absolute; width: 1px; height: 1px; margin: 0; overflow: hidden; opacity: 0; }
#order-standard_cart.diana-pdom .diana-pdom-tabs .option-selected label { background: var(--diana-surface); color: var(--diana-heading); font-weight: 700; box-shadow: 0 0 0 1px #d6e6ee, 0 6px 16px -10px rgba(0, 38, 54, .4); }
#order-standard_cart.diana-pdom .diana-pdom-tabs .option-selected label i { color: var(--diana-primary); }
#order-standard_cart.diana-pdom .diana-pdom-tabs label:has(.iradio_square-blue.focus) { box-shadow: 0 0 0 3px rgba(40, 170, 225, .3); }

#order-standard_cart.diana-pdom .domain-input-group { margin: 0; }
.diana-pdom-hint { margin: 0 0 10px; font-size: .9rem; color: var(--diana-muted); }
.diana-pdom-hint strong { color: var(--diana-heading); }
.diana-pdom-search {
    display: flex; align-items: center; gap: 10px;
    padding: 6px 6px 6px 18px; border: 1.5px solid var(--diana-border-strong); border-radius: 14px; background: var(--diana-surface);
    transition: border-color .15s, box-shadow .15s;
}
.diana-pdom-search:focus-within { border-color: var(--diana-primary); box-shadow: 0 0 0 4px rgba(40, 170, 225, .14); }
.diana-pdom-search-icon { color: var(--diana-faint); }
#order-standard_cart .diana-pdom-search .form-control {
    flex: 1 1 auto; min-width: 0; height: 50px; padding: 0 4px;
    border: 0; border-radius: 0; background: transparent; box-shadow: none;
    font-size: 1.05rem; color: var(--diana-text);
}
#order-standard_cart .diana-pdom-search .form-control::placeholder { color: var(--diana-faint); }
#order-standard_cart .diana-pdom-search select.form-control { cursor: pointer; }
#order-standard_cart .diana-pdom-search .diana-pdom-suffix { flex: 0 1 auto; width: auto; max-width: 45%; padding: 0 12px; border-left: 1px solid var(--diana-border); font-weight: 600; color: var(--diana-heading); }
#order-standard_cart .diana-pdom-search-btn {
    flex: 0 0 auto; height: 50px; padding: 0 26px; border-radius: 10px;
    background: var(--diana-dark); color: #fff; font-size: .98rem;
}
#order-standard_cart .diana-pdom-search-btn:hover { background: #002a3a; color: #fff; }
#order-standard_cart .diana-pdom-search-btn.disabled, #order-standard_cart .diana-pdom-search-btn:disabled { opacity: .7; }
.diana-pdom-error { margin: 8px 0 0; font-size: .86rem; font-weight: 600; color: var(--diana-red); }
.diana-pdom-opts-toggle { margin-top: 10px; padding: 0; border: 0; background: none; font: 600 .85rem var(--diana-font); color: var(--diana-primary); cursor: pointer; }
.diana-pdom-opts-toggle i { margin-right: 4px; }
.diana-pdom-opts-toggle.is-open { color: var(--diana-heading); }
.diana-pdom-opts { display: flex; align-items: center; flex-wrap: wrap; gap: 8px 10px; margin-top: 10px; }
.diana-pdom-opts .btn-group { position: relative; }
#order-standard_cart .diana-pdom-opts .multiselect.dropdown-toggle {
    height: 38px; margin: 0; padding: 0 14px; border: 1px solid var(--diana-border); border-radius: 10px;
    background: var(--diana-surface); color: var(--diana-text-3); font-size: .85rem; font-weight: 600; box-shadow: none;
}
#order-standard_cart .diana-pdom-opts .diana-check { margin: 0 0 0 4px !important; font-size: .85rem; font-weight: 600 !important; color: var(--diana-text-3); }
#order-standard_cart .diana-pdom-opts .diana-check input { width: 16px; height: 16px; margin: 0; }
.diana-pdom-free { margin: 14px 0 0; font-size: .86rem; font-weight: 600; color: var(--diana-green); }

/* Lookup results (stock markup, driven by the parent scripts.js) */
#order-standard_cart.diana-pdom #DomainSearchResults { margin-top: 22px; padding-top: 22px; border-top: 1px solid var(--diana-border); }
#order-standard_cart.diana-pdom #DomainSearchResults .primary-domain-header { margin: 0 0 10px; }
#order-standard_cart.diana-pdom .domain-checker-result-headline { margin: 8px 0; font-size: 1rem; font-weight: 700; color: var(--diana-heading); text-align: center; }
#order-standard_cart.diana-pdom .domain-lookup-primary-results {
    margin: 0 0 18px; padding: 20px 22px; border: 1px solid var(--diana-border); border-radius: 16px;
    background: var(--diana-surface); box-shadow: 0 12px 30px -24px rgba(0, 38, 54, .45); text-align: left;
}
/* Status rows: the parent shows/hides these with jQuery (inline display), so no flex on them */
#order-standard_cart.diana-pdom #primaryLookupResult .domain-available,
#order-standard_cart.diana-pdom #primaryLookupResult .domain-unavailable,
#order-standard_cart.diana-pdom #primaryLookupResult .transfer-eligible,
#order-standard_cart.diana-pdom #primaryLookupResult .transfer-not-eligible,
#order-standard_cart.diana-pdom #primaryLookupResult .domain-invalid {
    position: relative; min-height: 46px; margin: 0; padding: 0 0 0 62px;
    border: 0; background: none; color: var(--diana-text-2);
}
#order-standard_cart.diana-pdom #primaryLookupResult .domain-available,
#order-standard_cart.diana-pdom #primaryLookupResult .domain-unavailable { padding-top: 9px; font-size: 1.25rem; color: var(--diana-heading); }
#order-standard_cart.diana-pdom #primaryLookupResult .domain-available::before,
#order-standard_cart.diana-pdom #primaryLookupResult .domain-unavailable::before,
#order-standard_cart.diana-pdom #primaryLookupResult .transfer-eligible::before,
#order-standard_cart.diana-pdom #primaryLookupResult .transfer-not-eligible::before,
#order-standard_cart.diana-pdom #primaryLookupResult .domain-invalid::before {
    content: "\2713"; position: absolute; left: 0; top: 0;
    width: 46px; height: 46px; border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    background: var(--diana-green-soft); color: var(--diana-green);
    font-size: 1.2rem; font-weight: 800; letter-spacing: 0;
}
#order-standard_cart.diana-pdom #primaryLookupResult .domain-unavailable::before,
#order-standard_cart.diana-pdom #primaryLookupResult .transfer-not-eligible::before,
#order-standard_cart.diana-pdom #primaryLookupResult .domain-invalid::before { content: "!"; background: var(--diana-red-soft); color: var(--diana-red); }
#order-standard_cart.diana-pdom #primaryLookupResult .headline { margin: 0 0 4px; font-size: 1.15rem; font-weight: 800; letter-spacing: -.01em; color: var(--diana-heading); }
#order-standard_cart.diana-pdom #primaryLookupResult .transfer-eligible .headline,
#order-standard_cart.diana-pdom #primaryLookupResult .transfer-not-eligible .headline,
#order-standard_cart.diana-pdom #primaryLookupResult .domain-invalid .headline { padding-top: 2px; }
#order-standard_cart.diana-pdom #primaryLookupResult p:not(.headline) { margin: 0 0 2px; font-size: .9rem; line-height: 1.5; color: var(--diana-muted); }
#order-standard_cart.diana-pdom .domain-lookup-primary-results .domain-price {
    align-self: center; margin: 0; padding: 12px 18px; min-width: 190px;
    border: 1px solid var(--diana-border-strong); border-radius: 14px; background: var(--diana-tint);
    font-size: .8rem; font-weight: 600; line-height: 1.35; color: var(--diana-muted); text-align: right;
}
#order-standard_cart.diana-pdom .domain-price .price { display: block; margin: 4px 0 0; font-size: 1.45rem; font-weight: 800; letter-spacing: -.02em; color: var(--diana-heading); }
.diana-pdom-idn-text { margin: 12px 0 8px; color: var(--diana-text-2); }
#order-standard_cart.diana-pdom .suggested-domains { margin-top: 4px; border: 1px solid var(--diana-border); border-radius: 16px; overflow: hidden; }
#order-standard_cart.diana-pdom .suggested-domains .card-header { padding: 14px 18px; background: var(--diana-surface-2); border-bottom: 1px solid var(--diana-border); font-weight: 700; color: var(--diana-heading); }
#order-standard_cart.diana-pdom .suggested-domains .list-group-item { display: flex; align-items: center; gap: 12px; padding: 12px 18px; border: 0; border-top: 1px solid var(--diana-border); border-radius: 0; }
#order-standard_cart.diana-pdom .suggested-domains .list-group-item.w-hidden { display: none; }
#order-standard_cart.diana-pdom .suggested-domains .domain { font-weight: 700; color: var(--diana-heading); }
#order-standard_cart.diana-pdom .suggested-domains .extension { font-weight: 700; color: var(--diana-primary); }
#order-standard_cart.diana-pdom .suggested-domains .actions { display: flex; align-items: center; gap: 12px; margin-left: auto; }
#order-standard_cart.diana-pdom .suggested-domains .price { font-weight: 700; color: var(--diana-heading); }
#order-standard_cart.diana-pdom .btn-add-to-cart {
    padding: 7px 14px; border: 1px solid var(--diana-dark); border-radius: 10px;
    background: var(--diana-surface); color: var(--diana-heading); font-size: .84rem; font-weight: 700;
}
#order-standard_cart.diana-pdom .btn-add-to-cart:hover { background: var(--diana-dark); color: #fff; }
#order-standard_cart.diana-pdom .btn-add-to-cart.checkout,
#order-standard_cart.diana-pdom .btn-add-to-cart:disabled { border-color: var(--diana-green); background: var(--diana-green); color: #fff; opacity: 1; }
#order-standard_cart.diana-pdom .spotlight-tld { border: 1px solid var(--diana-border); border-radius: 14px; background: var(--diana-surface); }
#order-standard_cart.diana-pdom .domain-suggestions-warning p { margin: 0; padding: 10px 18px 14px; font-size: .78rem; color: var(--diana-faint); }
.diana-pdom-continue { display: flex; justify-content: flex-end; margin-top: 18px; }
#order-standard_cart #btnDomainContinue { height: 50px; padding: 0 28px; border-radius: 12px; font-size: 1rem; }
#order-standard_cart.diana-pdom #btnDomainContinue:disabled { display: none !important; }

@media (max-width: 767.98px) {
    .diana-pdom-product { flex-wrap: wrap; padding: 18px 18px 18px 22px; }
    .diana-pdom-product-info { flex-basis: calc(100% - 70px); }
    .diana-pdom-product-price { flex: 1 1 auto; padding: 12px 0 0; border-left: 0; border-top: 1px solid var(--diana-border); text-align: left; }
    .diana-pdom-change { margin-top: 12px; }
    .diana-pdom-card { padding: 16px; }
    #order-standard_cart.diana-pdom .diana-pdom-tabs .option { flex: 1 1 calc(50% - 6px); }
    #order-standard_cart.diana-pdom .diana-pdom-tabs label { padding: 10px 8px; font-size: .84rem; }
    .diana-pdom-search { flex-wrap: wrap; padding: 6px; }
    .diana-pdom-search .diana-pdom-search-icon { display: none; }
    #order-standard_cart .diana-pdom-search .form-control { flex-basis: 100%; padding: 0 10px; }
    #order-standard_cart .diana-pdom-search .diana-pdom-suffix { max-width: none; flex: 1 1 auto; border-left: 0; border-top: 1px solid var(--diana-border); }
    #order-standard_cart .diana-pdom-search-btn { width: 100%; }
    #order-standard_cart.diana-pdom .suggested-domains .list-group-item { flex-wrap: wrap; }
    #order-standard_cart.diana-pdom .domain-lookup-primary-results { padding: 16px; }
    #order-standard_cart.diana-pdom .domain-lookup-primary-results .domain-price { align-self: stretch; min-width: 0; margin-top: 12px; text-align: left; }
    .diana-pdom-continue .diana-btn { width: 100%; justify-content: center; }
}

/* ---------- Configure product (configureproduct.tpl: stock markup minus the category sidebar) ---------- */
#order-standard_cart.diana-cp { max-width: 1240px; }
#order-standard_cart.diana-cp .cart-body { float: none; width: 100%; }

/* ---------- Stock Standard Cart steps (configure product/domain, addons, transfer, renewals) ----------
   Every Diana-built cart page carries .diana-cart; the rest are parent templates restyled here. */
#order-standard_cart:not(.diana-cart) { padding: 26px 32px 8px; max-width: 1440px; margin: 0 auto; color: var(--diana-text, var(--diana-heading)); }
#order-standard_cart:not(.diana-cart) .header-lined { margin: 0 0 22px; padding: 0; border: 0; }
#order-standard_cart:not(.diana-cart) .header-lined h1 { margin: 0; font-size: 1.85rem !important; font-weight: 800; letter-spacing: -.03em; color: var(--diana-heading); }
#order-standard_cart:not(.diana-cart) .header-lined p { margin: 6px 0 0; color: var(--diana-muted); }
#order-standard_cart:not(.diana-cart) .cart-body > p:first-of-type { color: var(--diana-muted); }

/* Category sidebar */
#order-standard_cart:not(.diana-cart) .cart-sidebar .card {
    margin-bottom: 16px; border: 1px solid var(--diana-border); border-radius: 16px; overflow: hidden;
    box-shadow: 0 1px 2px rgba(0, 38, 54, .04), 0 8px 24px -12px rgba(0, 38, 54, .12);
}
#order-standard_cart:not(.diana-cart) .cart-sidebar h3 { font-size: .95rem; font-weight: 700; color: var(--diana-heading); }
#order-standard_cart:not(.diana-cart) .cart-sidebar .list-group-item {
    padding: 11px 18px; border: 0; border-top: 1px solid var(--diana-border); border-radius: 0;
    color: var(--diana-text-3); font-size: .9rem; font-weight: 500;
}
#order-standard_cart:not(.diana-cart) .cart-sidebar .list-group-item:first-child { border-top: 0; }
#order-standard_cart:not(.diana-cart) .cart-sidebar .list-group-item:hover { background: var(--diana-surface-2); color: var(--diana-heading); }
#order-standard_cart:not(.diana-cart) .cart-sidebar .list-group-item.active { background: var(--diana-primary-soft); color: var(--diana-primary); font-weight: 600; box-shadow: inset 3px 0 0 #0a7ab0; }
#order-standard_cart:not(.diana-cart) .cart-sidebar .list-group-item i { width: 18px; color: var(--diana-faint); }

/* Section headings */
#order-standard_cart:not(.diana-cart) .sub-heading, #order-standard_cart:not(.diana-cart) .sub-heading-borderless {
    height: auto; margin: 26px 0 14px; border: 0; text-align: left;
}
#order-standard_cart:not(.diana-cart) .sub-heading span, #order-standard_cart:not(.diana-cart) .sub-heading-borderless span {
    position: static; padding: 0; background: none !important;
    color: var(--diana-heading); font-size: 1.05rem; font-weight: 800; letter-spacing: -.01em;
}

/* Product info + config */
#order-standard_cart:not(.diana-cart) .product-info {
    margin: 0 0 18px; padding: 20px 22px; border: 1px solid var(--diana-border); border-radius: 16px; background: var(--diana-surface);
    box-shadow: 0 1px 2px rgba(0, 38, 54, .04); color: var(--diana-text-2); line-height: 1.7;
}
#order-standard_cart:not(.diana-cart) .product-info .product-title { margin: 0 0 6px; font-size: 1.2rem; font-weight: 800; color: var(--diana-heading); }
#order-standard_cart:not(.diana-cart) .field-container {
    padding: 18px 20px; border: 1px solid var(--diana-border); border-radius: 16px; background: var(--diana-surface);
}
#order-standard_cart:not(.diana-cart) .panel-addon {
    border: 1.5px solid var(--diana-border); border-radius: 14px; background: var(--diana-surface); overflow: hidden;
    transition: border-color .15s, box-shadow .15s;
}
#order-standard_cart:not(.diana-cart) .panel-addon:hover { border-color: var(--diana-border-accent); box-shadow: 0 10px 24px -16px rgba(40, 170, 225, .5); }
#order-standard_cart:not(.diana-cart) .panel-addon-selected { border-color: #0a7ab0; box-shadow: 0 0 0 3px rgba(40, 170, 225, .12); }
#order-standard_cart:not(.diana-cart) .panel-addon .panel-price { color: var(--diana-heading); font-weight: 800; }
#order-standard_cart:not(.diana-cart) .panel-addon .panel-add { background: var(--diana-surface-3); color: var(--diana-text-3); font-weight: 700; }
#order-standard_cart:not(.diana-cart) .panel-addon-selected .panel-add { background: #0a7ab0; color: #fff; }

/* Order summary (configure product) */
#order-standard_cart:not(.diana-cart) .order-summary {
    margin: 0; border: 1px solid var(--diana-border); border-bottom: 1px solid var(--diana-border); border-radius: 18px; overflow: hidden;
    background: var(--diana-surface); box-shadow: 0 1px 2px rgba(0, 38, 54, .04), 0 18px 40px -24px rgba(0, 38, 54, .25);
}
#order-standard_cart:not(.diana-cart) .order-summary h2 {
    margin: 0; padding: 16px 20px; background: var(--diana-dark); color: #fff;
    font-size: 1rem; font-weight: 700; text-align: left;
}
#order-standard_cart:not(.diana-cart) .summary-container { padding: 16px 20px 20px; background: var(--diana-surface); color: var(--diana-text-3); font-size: .88rem; }
#order-standard_cart:not(.diana-cart) .order-summary .product-name { font-size: 1rem; font-weight: 800; color: var(--diana-heading); }
#order-standard_cart:not(.diana-cart) .order-summary .product-group { color: var(--diana-muted); font-style: normal; font-size: .82rem; }
#order-standard_cart:not(.diana-cart) .order-summary .summary-totals { border-top-color: var(--diana-border); border-bottom-color: var(--diana-border); }
#order-standard_cart:not(.diana-cart) .order-summary .total-due-today .amt { font-size: 1.9rem; font-weight: 800; letter-spacing: -.02em; color: var(--diana-heading); }
#order-standard_cart:not(.diana-cart) .order-summary .total-due-today span { color: var(--diana-muted); font-weight: 600; }
#order-standard_cart:not(.diana-cart) .btn-checkout, #order-standard_cart:not(.diana-cart) #btnCompleteProductConfig {
    width: 100%; margin-top: 14px; padding: 13px 20px; border-radius: 12px; font-size: 1rem; font-weight: 700;
    background: var(--diana-dark); border-color: var(--diana-dark); color: #fff;
}
#order-standard_cart:not(.diana-cart) .btn-checkout:hover, #order-standard_cart:not(.diana-cart) #btnCompleteProductConfig:hover { background: #002a3a; border-color: #002a3a; }
#order-standard_cart:not(.diana-cart) .alert-warning.info-text-sm, #order-standard_cart:not(.diana-cart) .info-text-sm { border-radius: 12px; }

/* Domain choice (configure product domain) */
#order-standard_cart:not(.diana-cart) .domain-selection-options { margin: 0; }
#order-standard_cart:not(.diana-cart) .domain-selection-options .option {
    margin: 0 0 12px; padding: 16px 20px; border: 1.5px solid var(--diana-border); border-radius: 16px; background: var(--diana-surface);
    transition: border-color .15s, box-shadow .15s;
}
#order-standard_cart:not(.diana-cart) .domain-selection-options .option:hover { border-color: var(--diana-border-accent); background: var(--diana-surface); }
#order-standard_cart:not(.diana-cart) .domain-selection-options .option-selected {
    border-color: #0a7ab0; background: var(--diana-tint); box-shadow: 0 0 0 3px rgba(40, 170, 225, .1);
}
#order-standard_cart:not(.diana-cart) .domain-selection-options .option label { font-weight: 700; color: var(--diana-heading); }
#order-standard_cart:not(.diana-cart) .domain-selection-options .option .domain-input-group { margin-top: 14px; }
#order-standard_cart:not(.diana-cart) .domain-input-group .form-control { min-height: 46px; border-radius: 12px; }
#order-standard_cart:not(.diana-cart) .domain-input-group .btn { min-height: 46px; border-radius: 12px; padding: 0 22px; font-weight: 700; }
#order-standard_cart:not(.diana-cart) .domain-input-group textarea.form-control { border-radius: 12px; }
#order-standard_cart:not(.diana-cart) .domain-checker-result-headline { font-weight: 800; color: var(--diana-heading); }
#order-standard_cart:not(.diana-cart) .suggested-domains { border: 1px solid var(--diana-border); border-radius: 16px; overflow: hidden; }
#order-standard_cart:not(.diana-cart) .suggested-domains .card-header { background: var(--diana-surface-2); font-weight: 700; }
#order-standard_cart:not(.diana-cart) .suggested-domains .list-group-item { border-color: var(--diana-border); }
#order-standard_cart:not(.diana-cart) .spotlight-tld { border: 1px solid var(--diana-border); border-radius: 14px; background: var(--diana-surface); }

/* Domain transfer hero */
#order-standard_cart:not(.diana-cart) .domain-checker-container {
    margin: 0 0 22px; border-radius: 22px; overflow: hidden;
    background: radial-gradient(120% 140% at 100% 0%, #e3f4fc 0%, #f3fafd 45%, #ffffff 100%);
    border: 1px solid var(--diana-border);
}
#order-standard_cart:not(.diana-cart) .domain-checker-bg { background: none; padding: 36px 32px; }
#order-standard_cart:not(.diana-cart) .domain-checker-container .card { border: 0; background: transparent; box-shadow: none; }

/* Product addons list (order?gid=addons) + store fallbacks */
#order-standard_cart:not(.diana-cart) .products .product {
    margin-bottom: 18px; padding: 0; border: 1px solid var(--diana-border); border-radius: 18px; background: var(--diana-surface); overflow: hidden;
    box-shadow: 0 1px 2px rgba(0, 38, 54, .04), 0 8px 24px -12px rgba(0, 38, 54, .12);
}
#order-standard_cart:not(.diana-cart) .products .product header {
    padding: 18px 22px; margin: 0; background: var(--diana-surface); border-bottom: 1px solid var(--diana-border);
}
#order-standard_cart:not(.diana-cart) .products .product header span { font-size: 1.1rem; font-weight: 800; color: var(--diana-heading); }
#order-standard_cart:not(.diana-cart) .products .product div.product-desc,
#order-standard_cart:not(.diana-cart) .products .product div.product-desc-full-width { padding: 18px 22px; color: var(--diana-text-2); font-size: .9rem; }
#order-standard_cart:not(.diana-cart) .products .product footer { padding: 16px 22px; background: var(--diana-surface-2); border-top: 1px solid var(--diana-border); }
#order-standard_cart:not(.diana-cart) .products .product div.product-pricing span.price { font-size: 1.6rem; font-weight: 800; color: var(--diana-heading); }
#order-standard_cart:not(.diana-cart) .products .product .btn-order-now,
#order-standard_cart:not(.diana-cart) .products .product footer .btn { border-radius: 12px; background: var(--diana-dark); border-color: var(--diana-dark); color: #fff; font-weight: 700; padding: 10px 18px; }
#order-standard_cart:not(.diana-cart) .products .product select { border-radius: 10px; border-color: var(--diana-border-strong); }

/* Domain and service renewals */
#order-standard_cart:not(.diana-cart) .domain-renewals, #order-standard_cart:not(.diana-cart) .service-renewals { margin-top: 12px; }
#order-standard_cart:not(.diana-cart) .domain-renewal, #order-standard_cart:not(.diana-cart) .service-renewal {
    margin: 0 0 12px; padding: 18px 20px; border: 1px solid var(--diana-border); border-radius: 16px; background: var(--diana-surface);
    box-shadow: 0 1px 2px rgba(0, 38, 54, .04);
}
#order-standard_cart:not(.diana-cart) .domain-renewal h3, #order-standard_cart:not(.diana-cart) .service-renewal h3,
#order-standard_cart:not(.diana-cart) .domain-renewal .domain, #order-standard_cart:not(.diana-cart) .service-renewal .domain { font-size: 1.05rem; font-weight: 800; color: var(--diana-heading); }
#order-standard_cart:not(.diana-cart) p.domain-renewal-desc { color: var(--diana-muted); }
#order-standard_cart:not(.diana-cart) .domain-renewals-filter, #order-standard_cart:not(.diana-cart) .service-renewals-filter { margin-bottom: 14px; }
#order-standard_cart:not(.diana-cart) .domain-renewals-filter .form-control, #order-standard_cart:not(.diana-cart) .service-renewals-filter .form-control { min-height: 44px; border-radius: 12px; }
#order-standard_cart:not(.diana-cart) .select-renewal-pricing { border-radius: 10px; }
#order-standard_cart:not(.diana-cart) .label-info { background: var(--diana-primary-soft); color: var(--diana-primary); border-radius: 999px; padding: 3px 10px; }
#order-standard_cart:not(.diana-cart) .label-danger { background: #fdecec; color: #dc2626; border-radius: 999px; padding: 3px 10px; }

@media (max-width: 991.98px) {
    #order-standard_cart:not(.diana-cart) { padding: 18px 16px 4px; }
    #order-standard_cart:not(.diana-cart) .secondary-cart-sidebar { margin-top: 18px; }
}
#order-standard_cart:not(.diana-cart) .cart-body h2, #order-standard_cart:not(.diana-cart) .cart-body .card-title { font-weight: 800; letter-spacing: -.02em; color: var(--diana-heading); }
#order-standard_cart:not(.diana-cart) .order-summary h2 { color: #fff; letter-spacing: 0; font-weight: 700; }

/* ---------- VPS order page (includes/vps-configure.tpl, initVpsConfigure() in diana-cart.js) ---------- */
.diana-vps-main { display: flex; flex-direction: column; gap: 20px; }
.diana-vps-main > .diana-card { margin: 0; }
.diana-vps-locs input, .diana-vps-cat input, .diana-vps-plan input, .diana-vps-os input[type="radio"] {
    position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none;
}
#order-standard_cart .diana-vps-tick { display: none; color: var(--diana-primary); font-size: 1.05rem; }
#order-standard_cart .is-active .diana-vps-tick { display: inline-block; }
.diana-vps-loc:has(input:focus-visible) .diana-vps-loc-box,
.diana-vps-cat:has(input:focus-visible), .diana-vps-plan:has(input:focus-visible), .diana-vps-os:has(input:focus-visible) { box-shadow: 0 0 0 3px rgba(40, 170, 225, .3); }

.diana-vps-locs { display: flex; flex-wrap: wrap; gap: 12px; }
.diana-vps-loc { position: relative; margin: 0; cursor: pointer; }
.diana-vps-loc-box {
    display: inline-flex; align-items: center; gap: 10px; min-height: 50px; padding: 0 18px;
    border: 1.5px solid var(--diana-border-strong); border-radius: 12px; background: var(--diana-surface);
    color: var(--diana-heading); font-weight: 600; font-size: .95rem; transition: border-color .15s, background .15s;
}
.diana-vps-loc:hover .diana-vps-loc-box { border-color: var(--diana-border-accent); }
.diana-vps-loc.is-active .diana-vps-loc-box { border-color: var(--diana-primary); background: var(--diana-primary-soft); }
.diana-vps-loc-box > .fa-map-marker-alt { color: var(--diana-primary); }
.diana-vps-flag { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto; width: 24px; height: 16px; border-radius: 3px; font-size: 1.05rem; line-height: 1; overflow: hidden; box-shadow: 0 0 0 1px rgba(0, 0, 0, .08); }
.diana-vps-flag.is-bd { background: radial-gradient(circle at 45% 50%, #f42a41 0 30%, #006a4e calc(30% + .5px)); }
.diana-vps-flag.is-us {
    background:
        linear-gradient(#3c3b6e, #3c3b6e) 0 0 / 45% 54% no-repeat,
        repeating-linear-gradient(#b22234 0 7.7%, #fff 7.7% 15.4%);
}

.diana-vps-cats { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 12px; }
.diana-vps-cat {
    position: relative; display: flex; align-items: center; gap: 14px; margin: 0; padding: 16px 44px 16px 16px;
    border: 1.5px solid var(--diana-border-strong); border-radius: 14px; background: var(--diana-surface); cursor: pointer;
    transition: border-color .15s, background .15s;
}
.diana-vps-cat:hover { border-color: var(--diana-border-accent); }
.diana-vps-cat.is-active { border-color: var(--diana-primary); background: var(--diana-primary-soft); }
.diana-vps-cat > .diana-vps-tick { position: absolute; top: 12px; right: 12px; }
.diana-vps-cat-icon { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto; width: 42px; height: 42px; border-radius: 12px; background: var(--diana-purple-soft); color: var(--diana-purple); }
.diana-vps-cat-text { flex: 1 1 auto; min-width: 0; }
.diana-vps-cat-text strong { display: block; color: var(--diana-heading); font-size: .98rem; }
.diana-vps-cat-text small { display: block; margin-top: 2px; color: var(--diana-muted); font-size: .82rem; line-height: 1.4; }
.diana-vps-count { flex: 0 0 auto; padding: 3px 10px; border-radius: 999px; background: var(--diana-surface-3); color: var(--diana-text-3); font-size: .76rem; font-weight: 700; white-space: nowrap; }

.diana-vps-plans { display: grid; grid-template-columns: repeat(auto-fill, minmax(210px, 1fr)); gap: 12px; }
.diana-vps-plan {
    position: relative; display: flex; flex-direction: column; margin: 0; padding: 16px 18px;
    border: 1.5px solid var(--diana-border-strong); border-radius: 14px; background: var(--diana-surface); cursor: pointer;
    transition: border-color .15s, background .15s, transform .15s;
}
.diana-vps-plan:hover { border-color: var(--diana-border-accent); }
.diana-vps-plan.is-active { border-color: var(--diana-primary); background: var(--diana-primary-soft); }
.diana-vps-plan.is-soldout { opacity: .55; cursor: not-allowed; }
.diana-vps-plan-top { display: flex; align-items: center; gap: 8px; }
.diana-vps-plan-top strong { flex: 1 1 auto; min-width: 0; color: var(--diana-heading); font-size: 1rem; }
.diana-vps-plan-top em { padding: 2px 8px; border-radius: 999px; background: var(--diana-orange-soft); color: var(--diana-orange-text); font-size: .7rem; font-style: normal; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; }
.diana-vps-plan-top em.is-out { background: var(--diana-red-soft); color: var(--diana-red); }
.diana-vps-plan-tag { margin-top: 2px; color: var(--diana-muted); font-size: .8rem; }
.diana-vps-specs { list-style: none; margin: 12px 0 14px; padding: 0; display: flex; flex-direction: column; gap: 5px; color: var(--diana-text-2); font-size: .86rem; }
.diana-vps-specs i { width: 18px; margin-right: 6px; color: var(--diana-primary); text-align: center; font-size: .8rem; }
.diana-vps-plan-price { margin-top: auto; padding-top: 12px; border-top: 1px dashed var(--diana-border-strong); color: var(--diana-muted); font-size: .86rem; }
.diana-vps-plan-price b { color: var(--diana-heading); font-size: 1.35rem; font-weight: 800; letter-spacing: -.02em; }
.diana-vps-plan-price span { margin-left: 2px; }
.diana-vps-empty { margin: 0; padding: 14px 16px; border-radius: 12px; background: var(--diana-surface-2); color: var(--diana-muted); }

.diana-vps-cycle { margin-top: 18px; padding-top: 18px; border-top: 1px solid var(--diana-border); }
.diana-vps-cycle-title { margin: 0 0 10px; color: var(--diana-heading); font-weight: 600; font-size: .92rem; }
.diana-vps-cycles { display: grid; grid-template-columns: repeat(auto-fill, minmax(170px, 1fr)); gap: 10px; }
.diana-vps-cyc {
    position: relative; display: flex; flex-direction: column; gap: 2px; margin: 0; padding: 12px 14px;
    border: 1.5px solid var(--diana-border-strong); border-radius: 12px; background: var(--diana-surface); cursor: pointer;
    transition: border-color .15s, background .15s;
}
.diana-vps-cyc input { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
.diana-vps-cyc:hover { border-color: var(--diana-border-accent); }
.diana-vps-cyc.is-active { border-color: var(--diana-primary); background: var(--diana-primary-soft); }
.diana-vps-cyc:has(input:focus-visible) { box-shadow: 0 0 0 3px rgba(40, 170, 225, .3); }
.diana-vps-cyc-top { display: flex; align-items: center; flex-wrap: wrap; gap: 4px 8px; padding-right: 22px; }
.diana-vps-cyc-top strong { color: var(--diana-heading); font-size: .9rem; }
.diana-vps-cyc-top .diana-vps-tick { position: absolute; top: 12px; right: 12px; }
.diana-vps-cyc-top em { padding: 2px 7px; border-radius: 999px; background: var(--diana-green-soft); color: var(--diana-green-text); font-size: .68rem; font-style: normal; font-weight: 700; white-space: nowrap; }
.diana-vps-cyc > b { color: var(--diana-heading); font-size: 1.15rem; font-weight: 800; letter-spacing: -.02em; }
.diana-vps-cyc > small { color: var(--diana-muted); font-size: .76rem; }
#order-standard_cart .diana-vps-select {
    width: auto; min-width: 280px; max-width: 100%; height: 46px; padding: 0 38px 0 14px;
    border: 1px solid var(--diana-border-strong); border-radius: 10px; background-color: var(--diana-surface);
    color: var(--diana-text); font-size: .93rem; box-shadow: none;
}
#order-standard_cart .diana-vps-select:focus { border-color: var(--diana-border-accent); box-shadow: 0 0 0 3px rgba(40, 170, 225, .14); }

.diana-vps-os-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(132px, 1fr)); gap: 12px; }
.diana-vps-os {
    position: relative; display: flex; flex-direction: column; align-items: center; gap: 4px; margin: 0; padding: 18px 12px 14px;
    border: 1.5px solid var(--diana-border-strong); border-radius: 14px; background: var(--diana-surface); text-align: center; cursor: pointer;
    transition: border-color .15s, background .15s;
}
.diana-vps-os:hover { border-color: var(--diana-border-accent); }
.diana-vps-os.is-active { border-color: var(--diana-primary); background: var(--diana-primary-soft); }
.diana-vps-os > .diana-vps-tick { position: absolute; top: 10px; right: 10px; }
.diana-vps-os-logo {
    display: inline-flex; align-items: center; justify-content: center; width: 54px; height: 54px; margin-bottom: 6px;
    border-radius: 14px; background: #fff; border: 1px solid #e5edf3; color: #334155; font-size: 1.6rem;
}
.diana-vps-os-logo img { width: 36px; height: 36px; object-fit: contain; }
.diana-vps-os strong { color: var(--diana-heading); font-size: .93rem; }
.diana-vps-os small { color: var(--diana-muted); font-size: .76rem; }
#order-standard_cart .diana-vps-os-ver, .diana-vps-os-one {
    display: block; width: 100%; height: 34px; margin-top: 8px; padding: 0 26px 0 10px; border: 1px solid var(--diana-border-strong);
    border-radius: 9px; background-color: var(--diana-surface); color: var(--diana-text); font-size: .8rem; line-height: 32px;
}
.diana-vps-os-one { padding: 0 10px; background: var(--diana-surface-2); color: var(--diana-text-3); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.diana-vps-os.is-skeleton { cursor: default; }
.diana-vps-os.is-skeleton .diana-vps-os-logo, .diana-vps-os-line {
    background: linear-gradient(90deg, var(--diana-surface-2) 0%, var(--diana-surface-3) 50%, var(--diana-surface-2) 100%) 0 0 / 200% 100%;
    border-color: transparent; animation: dianaVpsShimmer 1.2s linear infinite;
}
.diana-vps-os-line { display: block; width: 70%; height: 12px; margin-top: 6px; border-radius: 6px; }
.diana-vps-os-line.is-short { width: 45%; }
@keyframes dianaVpsShimmer { to { background-position: -200% 0; } }
.diana-vps-note { margin: 0; padding: 12px 14px; border-radius: 12px; background: var(--diana-primary-soft); color: var(--diana-text-2); font-size: .88rem; line-height: 1.5; }
.diana-vps-note i { color: var(--diana-primary); margin-right: 4px; }
.diana-vps-note.is-error { background: var(--diana-red-soft); color: var(--diana-red); }
.diana-vps-note.is-error i { color: inherit; }

.diana-vps-opts { display: flex; flex-direction: column; gap: 10px; }
.diana-vps-opt { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 14px 16px; border: 1px solid var(--diana-border-strong); border-radius: 12px; background: var(--diana-surface); }
.diana-vps-opt-text { min-width: 0; }
#order-standard_cart .diana-vps-opt-text label { display: block; margin: 0; color: var(--diana-heading); font-weight: 600; font-size: .95rem; }
.diana-vps-opt-text p { margin: 2px 0 0; color: var(--diana-heading); font-weight: 700; font-size: .9rem; }
.diana-vps-opt-text p span, .diana-vps-opt-text p small { color: var(--diana-muted); font-weight: 500; font-size: .8rem; }
.diana-vps-qty { display: inline-flex; align-items: center; flex: 0 0 auto; border: 1px solid var(--diana-border-strong); border-radius: 10px; overflow: hidden; background: var(--diana-surface); }
.diana-vps-qty button { width: 40px; height: 40px; border: 0; background: var(--diana-surface-2); color: var(--diana-heading); cursor: pointer; font-size: .8rem; }
.diana-vps-qty button:hover:not([disabled]) { background: var(--diana-primary-soft); color: var(--diana-primary); }
.diana-vps-qty button[disabled] { color: var(--diana-faint); cursor: not-allowed; }
.diana-vps-qty input { width: 52px; height: 40px; border: 0; border-left: 1px solid var(--diana-border); border-right: 1px solid var(--diana-border); background: transparent; color: var(--diana-heading); text-align: center; font-weight: 700; -moz-appearance: textfield; }
.diana-vps-qty input::-webkit-outer-spin-button, .diana-vps-qty input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.diana-vps-qty input:focus { outline: 0; background: var(--diana-primary-soft); }
.diana-vps-switch { position: relative; display: inline-block; flex: 0 0 auto; width: 46px; height: 26px; margin: 0; cursor: pointer; }
.diana-vps-switch input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.diana-vps-switch span { position: absolute; inset: 0; border-radius: 999px; background: var(--diana-border-strong); transition: background .15s; }
.diana-vps-switch span::after { content: ""; position: absolute; top: 3px; left: 3px; width: 20px; height: 20px; border-radius: 50%; background: #fff; box-shadow: 0 1px 3px rgba(0, 0, 0, .2); transition: transform .15s; }
.diana-vps-switch input:checked + span { background: var(--diana-primary); }
.diana-vps-switch input:checked + span::after { transform: translateX(20px); }
.diana-vps-switch input:focus-visible + span { box-shadow: 0 0 0 3px rgba(40, 170, 225, .3); }

.diana-vps-host { position: relative; }
.diana-vps-host > i { position: absolute; z-index: 3; left: 15px; top: 50%; transform: translateY(-50%); color: var(--diana-faint); pointer-events: none; }
#order-standard_cart .diana-vps-host .form-control {
    height: 48px; padding: 0 14px 0 42px; border: 1px solid var(--diana-border-strong); border-radius: 10px;
    background: var(--diana-surface); color: var(--diana-text); font-size: .95rem; box-shadow: none;
}
#order-standard_cart .diana-vps-host .form-control:focus { border-color: var(--diana-border-accent); box-shadow: 0 0 0 3px rgba(40, 170, 225, .14); }
#order-standard_cart .diana-vps-host .form-control.is-invalid { border-color: var(--diana-red); }
#order-standard_cart .diana-vps-host:has(.diana-vps-host-gen:not([hidden])) .form-control { padding-right: 128px; }
.diana-vps-host-gen {
    position: absolute; z-index: 3; top: 6px; right: 6px; display: inline-flex; align-items: center; gap: 7px; height: 36px; padding: 0 14px;
    border: 0; border-radius: 8px; background: var(--diana-primary-soft); color: var(--diana-primary); font-size: .86rem; font-weight: 700; cursor: pointer;
}
.diana-vps-host-gen:hover { background: var(--diana-primary); color: #fff; }
.diana-vps-host-gen:focus { outline: 0; }
.diana-vps-host-gen:focus-visible { box-shadow: 0 0 0 3px rgba(40, 170, 225, .3); }
.diana-vps-hint { margin: 8px 0 0; color: var(--diana-muted); font-size: .82rem; line-height: 1.5; }
.diana-vps-hint.is-auto { color: var(--diana-text-2); }
.diana-vps-hint.is-auto > i { color: var(--diana-green); margin-right: 2px; }
.diana-vps-hint strong { color: var(--diana-heading); }
.diana-vps-auto { display: block; margin-top: 2px; color: var(--diana-green-text); font-size: .74rem; font-weight: 600; }
.diana-vps-hint code { padding: 1px 6px; border-radius: 6px; background: var(--diana-surface-3); color: var(--diana-text-2); font-size: .8rem; }
.diana-vps-field-error { margin: 6px 0 0; color: var(--diana-red); font-size: .84rem; font-weight: 600; }

.diana-vps-help { display: flex; align-items: center; gap: 14px; padding: 16px 18px; border: 1px solid var(--diana-border); border-radius: 16px; background: var(--diana-surface); }
.diana-vps-help > div { flex: 1 1 auto; min-width: 0; }
.diana-vps-help strong { display: block; color: var(--diana-heading); font-size: .95rem; }
.diana-vps-help span:not(.diana-vps-help-icon) { display: block; color: var(--diana-muted); font-size: .85rem; }
.diana-vps-help-icon { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto; width: 42px; height: 42px; border-radius: 12px; background: var(--diana-primary-soft); color: var(--diana-primary); }
.diana-vps-back { display: inline-flex; align-items: center; gap: 8px; align-self: flex-start; font-weight: 600; font-size: .9rem; }

.diana-vps-sum-plan { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; padding: 14px; margin-bottom: 14px; border-radius: 12px; background: var(--diana-surface-2); }
.diana-vps-sum-plan > div { min-width: 0; }
.diana-vps-sum-plan strong { display: block; color: var(--diana-heading); font-size: 1rem; }
.diana-vps-sum-plan small { display: block; margin-top: 2px; color: var(--diana-muted); font-size: .8rem; line-height: 1.4; }
.diana-vps-sum-plan b { flex: 0 0 auto; color: var(--diana-heading); font-size: 1.05rem; white-space: nowrap; }
.diana-vps-sum-plan b span { color: var(--diana-muted); font-size: .78rem; font-weight: 500; }
.diana-vps-sum-rows { margin: 0 0 14px; padding: 0 0 14px; border-bottom: 1px dashed var(--diana-border-strong); }
.diana-vps-sum-rows > div { display: flex; justify-content: space-between; gap: 12px; padding: 4px 0; font-size: .88rem; }
.diana-vps-sum-rows dt { flex: 0 0 auto; color: var(--diana-muted); font-weight: 500; }
.diana-vps-sum-rows dd { margin: 0; min-width: 0; color: var(--diana-heading); font-weight: 600; text-align: right; }
.diana-vps-muted { color: var(--diana-faint); font-weight: 500; }
.diana-vps-break { word-break: break-all; }
.diana-vps-summary .diana-sum-row small { margin-left: 2px; color: var(--diana-muted); font-weight: 500; font-size: .78rem; }
.diana-vps-sum-note { margin: 8px 0 0; color: var(--diana-muted); font-size: .78rem; }
.diana-vps-sum-error { margin: 12px 0 0; padding: 10px 12px; border-radius: 10px; background: var(--diana-red-soft); color: var(--diana-red); font-size: .85rem; font-weight: 600; }
#order-standard_cart .diana-vps-summary .diana-co-submit { gap: 10px; align-items: center; justify-content: center; }
#order-standard_cart .diana-vps-summary .diana-co-submit[disabled], .diana-vps-bar .diana-btn[disabled] { opacity: .6; pointer-events: none; }
.diana-vps .diana-co-submit.is-busy i, .diana-vps-bar .diana-btn.is-busy i { animation: fa-spin 1s linear infinite; }
.diana-vps .diana-co-submit.is-busy i::before, .diana-vps-bar .diana-btn.is-busy i::before { content: "\f110"; }
.diana-vps-perks { margin-top: 16px; padding-top: 14px; border-top: 1px solid var(--diana-border); }

.diana-cart-item-icon.diana-co-plan-os { background: #fff; border: 1px solid #e5edf3; }
.diana-co-plan-os img { width: 24px; height: 24px; object-fit: contain; }
a.diana-co-plan-change:hover { text-decoration: none; }

.diana-vps-bar { display: none; }
@media (max-width: 991px) {
    .diana-vps-bar {
        position: sticky; bottom: 12px; z-index: 20; display: flex; align-items: center; justify-content: space-between; gap: 12px;
        margin-top: 16px; padding: 10px 10px 10px 16px; border-radius: 16px; background: var(--diana-dark); color: #fff;
        box-shadow: 0 24px 50px -20px rgba(0, 38, 54, .55);
    }
    .diana-vps-bar > div { min-width: 0; }
    .diana-vps-bar small { display: block; color: #b6c4dc; font-size: .78rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
    .diana-vps-bar strong { display: block; font-size: 1.1rem; }
    .diana-vps-bar .diana-btn { flex: 0 0 auto; }
}
@media (max-width: 767px) {
    .diana-vps-head .diana-cart-steps { display: none; }
    .diana-vps-cats, .diana-vps-plans { grid-template-columns: 1fr; }
    .diana-vps-os-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .diana-vps-cycles { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .diana-vps-help { flex-wrap: wrap; }
    .diana-vps-help .diana-btn { width: 100%; }
}
@media (max-width: 575.98px) {
    #order-standard_cart.diana-cart { padding-left: 12px; padding-right: 12px; }
    .diana-cart-head { margin-bottom: 14px; }
    .diana-cart-head h1 { font-size: 1.45rem; }
    .diana-co-section, .diana-co-confirm { padding: 14px 14px 16px; }
    .diana-co-section-head { gap: 10px; margin-bottom: 12px; }
    .diana-co-section-head h2 { font-size: 1.08rem; }
    .diana-co-num { width: 28px; height: 28px; border-radius: 8px; }
    .diana-vps-main { gap: 12px; }
    .diana-vps-loc-box { min-height: 42px; padding: 0 14px; }
    .diana-vps-cat { gap: 10px; padding: 12px 38px 12px 12px; }
    .diana-vps-cat-icon { width: 36px; height: 36px; border-radius: 10px; }
    .diana-vps-plan { padding: 12px 14px; }
    .diana-vps-specs { flex-direction: row; flex-wrap: wrap; gap: 4px 14px; margin: 8px 0 10px; }
    .diana-vps-plan-price { padding-top: 8px; }
    .diana-vps-plan-price b { font-size: 1.2rem; }
    .diana-vps-cycle { margin-top: 14px; padding-top: 14px; }
}

/* ---------- Domain transfer (domaintransfer.tpl) ---------- */
.diana-tr-form { max-width: 920px; margin: 0 auto; text-align: left; }
.diana-tr-fields {
    display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr) auto; align-items: end; gap: 12px;
    padding: 14px; border-radius: 18px; background: var(--diana-surface);
    border: 1px solid var(--diana-border-strong); box-shadow: 0 18px 40px -22px rgba(0, 38, 54, .4);
}
.diana-tr-field label { display: flex; align-items: center; gap: 6px; margin: 0 0 6px 2px; font-size: .8rem; font-weight: 700; color: var(--diana-text-3); }
.diana-tr-help { color: var(--diana-faint); }
.diana-tr-help:hover { color: var(--diana-primary); }
.diana-tr-input { position: relative; display: block; }
.diana-tr-input > i { position: absolute; left: 15px; top: 50%; transform: translateY(-50%); color: var(--diana-faint); font-size: .95rem; pointer-events: none; z-index: 2; }
#order-standard_cart .diana-tr-input .form-control {
    height: 52px; padding: 0 14px 0 42px; border: 1px solid var(--diana-border-strong); border-radius: 12px;
    background: var(--diana-surface-2); font-size: 1.02rem; color: var(--diana-text); box-shadow: none;
}
#order-standard_cart .diana-tr-input .form-control:focus { border-color: var(--diana-primary); background: var(--diana-surface); box-shadow: 0 0 0 4px rgba(40, 170, 225, .14); }
#order-standard_cart .diana-tr-btn { height: 52px; padding: 0 26px; border-radius: 12px; background: var(--diana-dark); color: #fff; font-size: 1rem; }
#order-standard_cart .diana-tr-btn:hover { background: #002a3a; color: #fff; }
#order-standard_cart .diana-tr-btn.disabled { opacity: .75; }
#order-standard_cart .diana-tr-btn .loader { margin: 0; }
.diana-tr-error { max-width: 920px; margin: 12px auto 0; padding: 11px 14px; border-radius: 12px; background: var(--diana-orange-soft); color: var(--diana-orange-text); font-size: .9rem; font-weight: 600; text-align: left; }
.diana-tr-hint { display: flex; align-items: flex-start; justify-content: center; gap: 8px; max-width: 760px; margin: 14px auto 0; color: var(--diana-text-3); font-size: .86rem; line-height: 1.5; }
.diana-tr-hint i { margin-top: 3px; color: var(--diana-primary); }
.diana-tr-steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; margin: 0 0 24px; }
.diana-tr-step { display: flex; gap: 14px; padding: 20px; border-radius: var(--diana-radius); border: 1px solid var(--diana-border); background: var(--diana-surface); box-shadow: var(--diana-shadow); }
.diana-tr-step-num { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto; width: 34px; height: 34px; border-radius: 50%; background: var(--diana-dark); color: #fff; font-weight: 800; }
.diana-tr-step strong { display: block; margin: 4px 0 4px; font-size: 1rem; color: var(--diana-heading); }
.diana-tr-step p { margin: 0; color: var(--diana-muted); font-size: .88rem; line-height: 1.5; }
.diana-tr-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; margin-bottom: 24px; }
.diana-tr-card { margin-bottom: 0; }
.diana-tr-card .diana-dc-card-head .diana-link { flex: 0 0 auto; margin-top: 2px; }
.diana-tr-checklist { list-style: none; margin: 0; padding: 0 24px 20px; display: flex; flex-direction: column; gap: 14px; }
.diana-tr-checklist li { display: flex; align-items: flex-start; gap: 12px; }
.diana-tr-checklist li > i { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto; width: 34px; height: 34px; border-radius: 10px; background: var(--diana-green-soft); color: var(--diana-green); font-size: .85rem; }
.diana-tr-checklist strong { display: block; font-size: .92rem; color: var(--diana-heading); }
.diana-tr-checklist small { display: block; color: var(--diana-muted); font-size: .82rem; }
.diana-tr-prices { display: grid; grid-template-columns: repeat(auto-fill, minmax(120px, 1fr)); gap: 10px; padding: 0 24px 22px; }
.diana-tr-price {
    display: flex; flex-direction: column; align-items: flex-start; gap: 2px; padding: 12px 14px;
    border: 1px solid var(--diana-border); border-radius: 12px; background: var(--diana-surface-2);
    font-family: inherit; text-align: left; cursor: pointer; transition: border-color .15s, background .15s;
}
.diana-tr-price:hover { border-color: var(--diana-border-accent); background: var(--diana-tint); }
.diana-tr-price span { font-size: 1.05rem; font-weight: 800; color: var(--diana-heading); }
.diana-tr-price strong { font-size: .86rem; font-weight: 600; color: var(--diana-text-3); }
.diana-tr-empty { padding: 0 24px 22px; margin: 0; color: var(--diana-muted); }
.diana-tr-foot { margin: 0 0 16px; text-align: center; color: var(--diana-faint); font-size: .82rem; }

/* ---------- Renewals (domain-renewals.tpl, service-renewals.tpl, includes/renewal-*.tpl) ---------- */
.diana-rn .diana-cart-head .diana-cart-steps { margin-bottom: 6px; }
.diana-rn-list { margin-bottom: 16px; }
.diana-rn-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; padding: 18px 22px; border-bottom: 1px solid var(--diana-border); }
.diana-rn-toolbar h2 { display: flex; align-items: center; gap: 8px; margin: 0; font-size: 1.1rem; font-weight: 700; }
.diana-rn-toolbar h2 span { padding: 2px 9px; border-radius: 999px; background: var(--diana-surface-3); color: var(--diana-text-3); font-size: .78rem; }
.diana-rn-tools { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.diana-rn-search { position: relative; margin: 0; }
.diana-rn-search i { position: absolute; left: 12px; top: 50%; z-index: 2; transform: translateY(-50%); color: var(--diana-faint); font-size: .85rem; pointer-events: none; }
#order-standard_cart .diana-rn-search .form-control { width: 240px; height: 38px; padding-left: 34px; border-radius: 10px; font-size: .9rem; }
#order-standard_cart.diana-rn .service-renewals-quick-filter { width: auto !important; float: none !important; margin: 0; }
.diana-rn-showing { margin: 0; padding: 10px 22px; background: var(--diana-surface-2); border-bottom: 1px solid var(--diana-border); color: var(--diana-text-3); font-size: .86rem; }
#order-standard_cart.diana-rn .domain-renewals,
#order-standard_cart.diana-rn .service-renewals { margin: 0; border-top: 0; background: transparent; }
#order-standard_cart.diana-rn .domain-renewal,
#order-standard_cart.diana-rn .service-renewal { margin: 0; padding: 0; border-bottom: 1px solid var(--diana-border); background: transparent; }
#order-standard_cart.diana-rn .diana-rn-items > .diana-rn-item:last-child { border-bottom: 0; }
.diana-rn-row { display: flex; align-items: center; gap: 16px; padding: 18px 22px; }
.diana-rn-icon, .diana-rn-logo {
    display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto;
    width: 46px; height: 46px; border-radius: 13px; overflow: hidden; font-size: 1.05rem;
    background: var(--diana-primary-soft); color: var(--diana-primary);
}
.diana-rn-icon.is-green { background: var(--diana-green-soft); color: var(--diana-green); }
.diana-rn-icon.is-orange { background: var(--diana-orange-soft); color: var(--diana-orange-text); }
.diana-rn-icon.is-red { background: var(--diana-red-soft); color: var(--diana-red); }
.diana-rn-icon.is-purple { background: var(--diana-purple-soft); color: var(--diana-purple); }
.diana-rn-logo { background: #fff; border: 1px solid var(--diana-border); }
.diana-rn-logo img { width: 26px; height: 26px; object-fit: contain; }
.diana-rn-logo.is-tile { border: 0; background: none; }
.diana-rn-logo.is-tile img { width: 100%; height: 100%; object-fit: cover; }
.diana-rn-main { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; align-items: flex-start; gap: 2px; }
.diana-rn-main strong { font-size: 1rem; font-weight: 700; color: var(--diana-heading); word-break: break-word; }
.diana-rn-main small { color: var(--diana-muted); font-size: .84rem; }
.diana-rn-main small.diana-rn-domain { color: var(--diana-primary); font-weight: 600; }
.diana-rn-badge { display: inline-flex; margin-top: 6px; padding: 3px 10px; border-radius: 999px; font-size: .74rem; font-weight: 700; }
.diana-rn-badge.is-ok { background: var(--diana-green-soft); color: var(--diana-green-text); }
.diana-rn-badge.is-warn { background: var(--diana-orange-soft); color: var(--diana-orange-text); }
.diana-rn-badge.is-danger { background: var(--diana-red-soft); color: var(--diana-red); }
.diana-rn-badge.is-info { background: var(--diana-surface-3); color: var(--diana-text-3); }
.diana-rn-desc { margin: 6px 0 0; color: var(--diana-text-3); font-size: .84rem; }
.diana-rn-period { flex: 0 0 250px; display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.diana-rn-period label, .diana-rn-label { margin: 0; font-size: .74rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: var(--diana-muted); }
#order-standard_cart .diana-rn-period .form-control { height: 42px; border-radius: 11px; font-size: .9rem; font-weight: 600; color: var(--diana-heading); }
.diana-rn-dates { display: inline-flex; align-items: center; gap: 6px; font-size: .86rem; color: var(--diana-text-2); }
.diana-rn-dates i { color: var(--diana-faint); font-size: .8rem; }
.diana-rn-price { font-size: 1.05rem; font-weight: 800; color: var(--diana-heading); }
.diana-rn-reason { display: flex; gap: 8px; margin: 0; color: var(--diana-text-3); font-size: .86rem; font-weight: 600; }
.diana-rn-reason i { margin-top: 3px; color: var(--diana-faint); }
.diana-rn-action { flex: 0 0 132px; display: flex; justify-content: flex-end; }
#order-standard_cart.diana-rn .btn-add-renewal-to-cart { min-width: 132px; }
#order-standard_cart.diana-rn .btn-add-renewal-to-cart .added { color: #fff; }
#order-standard_cart.diana-rn .btn-add-renewal-to-cart[disabled] { opacity: 1; background: var(--diana-green); border-color: var(--diana-green); cursor: default; }
#order-standard_cart.diana-rn .btn-add-renewal-to-cart:not([disabled]) .added { display: none; }
.diana-rn-addons { margin: 0 22px 18px 84px; padding: 4px 0 0; border-radius: 14px; border: 1px solid var(--diana-border); background: var(--diana-surface-2); }
#order-standard_cart.diana-rn .addon-renewals > div { border: 0; }
.diana-rn-addons-title { display: block; padding: 8px 16px 0; font-size: .74rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--diana-muted); }
#order-standard_cart.diana-rn .addon-renewals .service-renewal { background: transparent; }
.diana-rn-addons .diana-rn-row { padding: 12px 16px; }
.diana-rn-note { margin: 0 4px 16px; color: var(--diana-muted); font-size: .84rem; }

.diana-rn-summary .diana-co-summary-head { margin-bottom: 12px; }
.diana-rn-loader { color: var(--diana-faint); font-size: .9rem; display: none; }
.diana-rn-sum-items li { position: relative; padding-right: 26px; }
.diana-rn-sum-remove { position: absolute; right: 0; top: 1px; color: var(--diana-faint); font-size: .85rem; }
.diana-rn-sum-remove:hover { color: var(--diana-red); }
.diana-rn-sum-fee { color: var(--diana-orange-text) !important; }
.diana-rn-sum-empty { display: flex; gap: 10px; align-items: flex-start; margin: 0 0 14px; padding: 12px 14px; border-radius: 12px; background: var(--diana-surface-2); color: var(--diana-text-3); font-size: .88rem; line-height: 1.45; }
.diana-rn-sum-empty i { margin-top: 3px; color: var(--diana-primary); }
.diana-rn-viewcart { display: flex; align-items: center; justify-content: center; gap: 8px; margin-top: 12px; font-size: .9rem; font-weight: 600; color: var(--diana-text-3); }
.diana-rn-viewcart:hover { color: var(--diana-primary); text-decoration: none; }
.diana-rn-modal { padding: 30px 26px 24px; text-align: center; }
.diana-rn-modal-icon { display: inline-flex; align-items: center; justify-content: center; width: 56px; height: 56px; margin-bottom: 14px; border-radius: 50%; background: var(--diana-red-soft); color: var(--diana-red); font-size: 1.3rem; }
.diana-rn-modal h4 { margin: 0 0 6px; font-size: 1.2rem; font-weight: 800; color: var(--diana-heading); }
.diana-rn-modal p { margin: 0 0 20px; color: var(--diana-muted); }
.diana-rn-modal-actions { display: flex; justify-content: center; gap: 10px; }
.diana-rn-modal-actions .diana-btn { min-width: 110px; }
#modalRemoveItem.diana-modal .modal-content { border: 1px solid var(--diana-border); border-radius: 20px; background: var(--diana-surface); box-shadow: 0 30px 60px -20px rgba(0, 38, 54, .45); }

@media (max-width: 1199.98px) {
    .diana-rn-period { flex-basis: 210px; }
}
@media (max-width: 991.98px) {
    .diana-tr-fields { grid-template-columns: 1fr 1fr; }
    .diana-tr-btn { grid-column: 1 / -1; }
    .diana-tr-steps { grid-template-columns: 1fr; gap: 12px; }
    .diana-tr-grid { grid-template-columns: 1fr; }
    .diana-rn .diana-co-side { order: 0; }
}
@media (max-width: 767.98px) {
    .diana-tr-fields { grid-template-columns: 1fr; padding: 12px; }
    .diana-tr-hint { justify-content: flex-start; text-align: left; }
    .diana-rn-row { flex-wrap: wrap; gap: 12px 14px; padding: 16px; }
    .diana-rn-main { flex: 1 1 calc(100% - 64px); }
    .diana-rn-period { flex: 1 1 100%; }
    .diana-rn-action { flex: 1 1 100%; }
    #order-standard_cart.diana-rn .btn-add-renewal-to-cart { width: 100%; }
    .diana-rn-addons { margin: 0 14px 14px; }
    .diana-rn-toolbar { padding: 14px 16px; }
    .diana-rn-tools, .diana-rn-search, #order-standard_cart .diana-rn-search .form-control { width: 100%; }
}

/* Dark mode (tokens live in ui/d/css/diana.css) */
html[data-theme="dark"] .diana-rn-logo { border-color: transparent; }
html[data-theme="dark"] #order-standard_cart .diana-tr-input .form-control { background: rgba(255, 255, 255, .04); }
html[data-theme="dark"] .diana-vps-os-logo { border-color: transparent; }
html[data-theme="dark"] .diana-vps-flag { box-shadow: 0 0 0 1px rgba(255, 255, 255, .12); }
html[data-theme="dark"] .diana-dc-hero,
html[data-theme="dark"] #order-standard_cart:not(.diana-cart) .domain-checker-container { background: var(--diana-art-bg); }
html[data-theme="dark"] .diana-dc-modes,
html[data-theme="dark"] .diana-dc-quick-tld { background: rgba(255, 255, 255, .05); }
html[data-theme="dark"] .diana-dc-mode.is-active { background: var(--diana-primary); }
html[data-theme="dark"] #order-standard_cart .diana-dc-bulk textarea.form-control,
html[data-theme="dark"] #order-standard_cart .diana-dc-search > .form-control { background: transparent; border: 0; box-shadow: none; }
html[data-theme="dark"] .diana-co-summary::after, html[data-theme="dark"] .diana-cart-items::after { background-color: rgba(16, 29, 39, .6); }
html[data-theme="dark"] .diana-cart-steps li.is-current .diana-cart-steps-dot { box-shadow: 0 0 0 4px rgba(76, 192, 239, .18); }
html[data-theme="dark"] #order-standard_cart:not(.diana-cart) .label-danger { background: var(--diana-red-soft); color: #fca5a5; }
html[data-theme="dark"] #order-standard_cart .field,
html[data-theme="dark"] #order-standard_cart .form-control,
html[data-theme="dark"] #order-standard_cart select,
html[data-theme="dark"] #order-standard_cart textarea,
html[data-theme="dark"] #order-standard_cart input[type="text"],
html[data-theme="dark"] #order-standard_cart input[type="email"],
html[data-theme="dark"] #order-standard_cart input[type="password"],
html[data-theme="dark"] #order-standard_cart input[type="tel"],
html[data-theme="dark"] #order-standard_cart input[type="number"] { background-color: var(--diana-surface-2); border-color: var(--diana-border-strong); color: var(--diana-heading); }
html[data-theme="dark"] #order-standard_cart .field[disabled], html[data-theme="dark"] #order-standard_cart .field[readonly],
html[data-theme="dark"] #order-standard_cart .form-control[disabled], html[data-theme="dark"] #order-standard_cart .form-control[readonly] { background-color: var(--diana-surface-3); color: var(--diana-muted); }
html[data-theme="dark"] #order-standard_cart .account-select-container div.account { background: var(--diana-surface-2); border-color: var(--diana-border); color: var(--diana-text); }
html[data-theme="dark"] #order-standard_cart .account-select-container div.account.active { background: var(--diana-tint); border-color: var(--diana-primary); }
html[data-theme="dark"] #order-standard_cart .products .product,
html[data-theme="dark"] #order-standard_cart .view-cart-items .item,
html[data-theme="dark"] #order-standard_cart .view-cart-promotion-code,
html[data-theme="dark"] #order-standard_cart .mc-promo,
html[data-theme="dark"] .spotlight-tld,
html[data-theme="dark"] .domain-checker-container .input-group-box { background-color: var(--diana-surface); border-color: var(--diana-border); color: var(--diana-text); }
html[data-theme="dark"] #order-standard_cart .products .product header,
html[data-theme="dark"] #order-standard_cart .panel-addon .panel-price,
html[data-theme="dark"] #order-standard_cart .domain-selection-options .option,
html[data-theme="dark"] #order-standard_cart .transfer-not-eligible,
html[data-theme="dark"] #order-standard_cart .product-info,
html[data-theme="dark"] #order-standard_cart .summary-container,
html[data-theme="dark"] #order-standard_cart .cc-input-container,
html[data-theme="dark"] #order-standard_cart .view-cart-tabs .tab-content,
html[data-theme="dark"] #order-standard_cart .view-cart-gateway-checkout,
html[data-theme="dark"] #order-standard_cart .mc-promo .body,
html[data-theme="dark"] #order-standard_cart .default-captcha,
html[data-theme="dark"] .domain-pricing .tld-pricing-header div,
html[data-theme="dark"] .spotlight-tlds,
html[data-theme="dark"] .suggested-domains .domain-lookup-suggestions-message,
html[data-theme="dark"] .suggested-domains .domain-lookup-suggestions-loader,
html[data-theme="dark"] .domain-promo-box,
html[data-theme="dark"] .domain-renewals, html[data-theme="dark"] .service-renewals, html[data-theme="dark"] .addon-renewals .service-renewal { background-color: var(--diana-surface-2); border-color: var(--diana-border); color: var(--diana-text); }
html[data-theme="dark"] #order-standard_cart .domain-selection-options .option-selected,
html[data-theme="dark"] .domain-renewals .domain-renewal:nth-child(even), html[data-theme="dark"] .service-renewals .service-renewal:nth-child(even),
html[data-theme="dark"] .domain-pricing .tld-row.highlighted { background-color: var(--diana-surface-3); }
html[data-theme="dark"] #order-standard_cart .view-cart-tabs .nav-tabs a[aria-selected="true"],
html[data-theme="dark"] #order-standard_cart .view-cart-tabs .nav-tabs a[aria-expanded="true"] { background-color: var(--diana-surface-2); color: var(--diana-heading); }
html[data-theme="dark"] #order-standard_cart .sub-heading span, html[data-theme="dark"] #order-standard_cart .sub-heading-borderless span { background: var(--diana-surface); color: var(--diana-muted); }
html[data-theme="dark"] #order-standard_cart .sub-heading { border-color: var(--diana-border); }
html[data-theme="dark"] #order-standard_cart .header-lined h1, html[data-theme="dark"] #order-standard_cart h3, html[data-theme="dark"] #order-standard_cart .product-title { color: var(--diana-heading); }
