/* Scoped to the dedicated-server pricing component; the existing page shell is unchanged. */
.dedicated-pricing { color: #666; margin-bottom: 40px; }
.dedicated-intro { margin: 0 0 20px; font-size: 15px; line-height: 1.7; }
.dedicated-plan-list { display: flow-root; }
.dedicated-plan { position: relative; display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr) 215px; align-items: center; gap: 28px; padding: 24px; margin-bottom: 14px; border: 1px solid #ddd; border-radius: 4px; background: #fff; }
.dedicated-plan:last-child { margin-bottom: 0; }
.dedicated-plan::before { content: ""; position: absolute; z-index: 1; top: 0; bottom: 0; left: 0; width: 4px; border-radius: 3px 0 0 3px; background: #1062fe; opacity: 0; pointer-events: none; }
.dedicated-plan.is-highlighted::before { opacity: 1; }
@media (min-width: 768px) and (hover: hover) and (pointer: fine) {
    .dedicated-network-toggle:hover { border-color: #1062fe; }
    .dedicated-option:hover { background: #f1f6ff; outline-offset: -2px; }
    .dedicated-pricing .btn-order-now:hover { background: #009aff; border-color: #009aff; }
}
.dedicated-hardware { align-self: stretch; min-width: 0; margin: -24px -14px -24px -24px; padding: 24px; border-radius: 3px 0 0 3px; background: #f5f8fc url('../img/dedicated-hardware.webp') center / cover no-repeat; }
.dedicated-hardware h3 { margin: 0 0 7px; color: #333; font-size: 24px; font-weight: 600; line-height: 1.2; }
.dedicated-cpu { margin: 0 0 13px; color: #666; font-size: 15px; line-height: 1.6; }
.dedicated-cpu span { display: inline-block; }
.dedicated-memory { margin: 0 0 6px; font-size: 18px; }
.dedicated-specs { margin: 0; font-size: 15px; line-height: 1.8; }
.dedicated-specs span { display: inline-block; }
.dedicated-network { min-width: 0; padding-left: 28px; border-left: 1px solid #e5e9ee; }
.dedicated-network-label { display: block; margin-bottom: 8px; color: #333; font-size: 14px; font-weight: 600; }
.dedicated-selector { position: relative; }
.dedicated-network-toggle { display: flex; align-items: center; justify-content: space-between; gap: 12px; width: 100%; min-height: 62px; padding: 10px 13px; border: 1px solid #cbd3dd; border-radius: 3px; background: #fff; color: #333; text-align: left; font: inherit; line-height: 1.5; cursor: pointer; }
.dedicated-network-toggle:focus-visible, .dedicated-option:focus-visible, .dedicated-pricing .btn-order-now:focus-visible, #dedicated-discount:focus-visible { outline: 2px solid #1062fe; outline-offset: 3px; }
.dedicated-network-toggle[aria-expanded="true"] { border-color: #1062fe; }
.dedicated-network-toggle .glyphicon { font-size: 11px; color: #666; }
.dedicated-network-toggle[aria-expanded="true"] .glyphicon { transform: rotate(180deg); }
.dedicated-selected-name, .dedicated-selected-quota { display: block; }
.dedicated-selected-name { font-size: 15px; }
.dedicated-selected-quota { color: #666; font-size: 14px; }
.dedicated-defense { display: flex; align-items: center; gap: 5px; margin: 10px 0 0; font-size: 14px; line-height: 1.5; }
.dedicated-defense-icon { flex: 0 0 16px; width: 16px; height: 16px; margin-right: 1px; background: #1062fe; -webkit-mask: url('../img/dedicated-shield.svg') center / contain no-repeat; mask: url('../img/dedicated-shield.svg') center / contain no-repeat; }
.dedicated-defense-value { color: #444; font-weight: 600; }
.dedicated-options { position: absolute; z-index: 100; top: calc(100% + 5px); left: 0; width: 380px; max-height: min(500px, 65vh); overflow-y: auto; overscroll-behavior: contain; padding: 6px; background: #fff; border: 1px solid #cbd3dd; border-radius: 4px; box-shadow: 0 6px 18px rgba(30, 45, 65, .12); }
.dedicated-options[hidden] { display: none; }
.dedicated-option-group + .dedicated-option-group { margin-top: 6px; padding-top: 6px; border-top: 1px solid #e5e9ee; }
.dedicated-group-label { margin: 0; padding: 5px 9px; color: #555; font-size: 13px; font-weight: 600; }
.dedicated-option { display: flex; width: 100%; align-items: center; gap: 8px; padding: 9px; border: 0; border-radius: 2px; background: #fff; color: #555; text-align: left; font: inherit; font-size: 14px; line-height: 1.4; cursor: pointer; }
.dedicated-option:focus { background: #f1f6ff; outline-offset: -2px; }
.dedicated-option[aria-selected="true"] { background: #e8f1ff; color: #1062fe; }
.dedicated-option .glyphicon { flex: 0 0 13px; font-size: 11px; visibility: hidden; }
.dedicated-option[aria-selected="true"] .glyphicon { visibility: visible; }
.dedicated-option-name { flex: 1; }
.dedicated-option-price { white-space: nowrap; font-variant-numeric: tabular-nums; }
.dedicated-total { padding-left: 28px; border-left: 1px solid #e5e9ee; }
.dedicated-price-label { margin: 0 0 4px; font-size: 14px; }
.dedicated-price { margin: 0 0 10px; color: #ff7800; font-size: 32px; font-weight: 600; line-height: 1.25; font-variant-numeric: tabular-nums; }
.dedicated-price .currency { font-size: 21px; }
.dedicated-price .period { margin-left: 4px; color: #666; font-size: 14px; font-weight: 400; }
.dedicated-pricing .btn-order-now { display: block; padding: 8px 18px; font-size: 15px; border-radius: 3px; color: #fff; border-color: #1062fe; background: #1062fe; }
.dedicated-promo-note { margin: 8px 0 0; font-size: 12px; line-height: 1.5; }
.dedicated-promo-note:empty { display: none; }
@media (max-width: 1199px) and (min-width: 768px) {
    .dedicated-plan { grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr) 160px; gap: 18px; padding: 20px; }
    .dedicated-hardware { margin: -20px -9px -20px -20px; padding: 20px; background-image: none; }
    .dedicated-network, .dedicated-total { padding-left: 18px; }
    .dedicated-hardware h3 { font-size: 21px; }
    .dedicated-options { width: 350px; left: auto; right: 0; }
}
@media (max-width: 767px) {
    .dedicated-plan { display: block; padding: 20px; margin-bottom: 18px; }
    .dedicated-plan::before { display: none; }
    .dedicated-hardware { margin: -20px -20px 0; padding: 20px; border-radius: 3px 3px 0 0; background-image: none; }
    .dedicated-hardware h3 { font-size: 23px; }
    .dedicated-network { padding: 18px 0; margin-top: 0; border-left: 0; border-top: 1px solid #e5e9ee; }
    .dedicated-total { display: grid; grid-template-columns: 1fr auto; align-items: center; column-gap: 12px; padding: 16px 0 0; border-left: 0; border-top: 1px solid #e5e9ee; }
    .dedicated-price-label { grid-column: 1; }
    .dedicated-price { grid-column: 1; margin-bottom: 0; font-size: 30px; }
    .dedicated-total .btn-order-now { grid-column: 2; grid-row: 1 / 3; min-width: 106px; padding: 11px 14px; }
    .dedicated-promo-note { grid-column: 1 / -1; }
    .dedicated-options { width: 100%; max-height: min(420px, 65vh); }
    .dedicated-option { padding: 10px 6px; gap: 5px; font-size: 13px; }
    .dedicated-specs span { display: block; }
    .dedicated-specs .dedicated-spec-divider { display: none; }
}
