/* UnixCloud product configurator + dedicated/hosting polish fix */
:root {
    --uc-bg: #070b14;
    --uc-panel: #111a2e;
    --uc-panel-2: #0b1222;
    --uc-line: rgba(255,255,255,.12);
    --uc-soft: rgba(255,255,255,.68);
    --uc-text: #ffffff;
    --uc-pink: #ff1749;
    --uc-pink-2: #ff6f91;
    --uc-lime: #a3ff12;
    --uc-shadow: 0 24px 70px rgba(0,0,0,.36);
}

.uc-config-error,
.configurator-shell {
    max-width: 900px;
    margin: 0 auto;
    padding: 38px;
    border: 1px solid var(--uc-line);
    border-radius: 30px;
    background: radial-gradient(circle at 15% 0%, rgba(255,23,73,.22), transparent 38%), linear-gradient(160deg, #121b2f, #090e19);
    box-shadow: var(--uc-shadow);
    color: var(--uc-text);
}
.uc-config-error h1 { color: #fff; margin: 8px 0 10px; }
.uc-config-error p { color: var(--uc-soft); }

.uc-configurator-page { background: #070b14; color: var(--uc-text); }
.uc-config-hero {
    background: radial-gradient(circle at 16% 2%, rgba(255,23,73,.28), transparent 32%), radial-gradient(circle at 80% 0%, rgba(163,255,18,.10), transparent 28%), linear-gradient(135deg,#070b18 0%,#10172a 54%,#18091b 100%);
    border-bottom: 1px solid rgba(255,255,255,.08);
}
.uc-config-hero-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 300px;
    gap: 30px;
    align-items: center;
}
.uc-config-hero h1 {
    font-size: clamp(2.05rem, 4.8vw, 4.25rem);
    line-height: .96;
    letter-spacing: -.055em;
    color: #fff;
    margin: .25rem 0 .85rem;
}
.uc-config-hero p { max-width: 790px; color: rgba(255,255,255,.76); font-size: 1.08rem; line-height: 1.65; }
.uc-config-hero-meta { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 20px; }
.uc-config-hero-meta span {
    padding: 9px 13px;
    border: 1px solid rgba(255,255,255,.13);
    border-radius: 999px;
    background: rgba(255,255,255,.055);
    color: #fff;
    font-size: .9rem;
}
.uc-config-hero-price {
    background: linear-gradient(160deg, rgba(255,23,73,.24), rgba(255,255,255,.065));
    border: 1px solid rgba(255,255,255,.15);
    border-radius: 26px;
    padding: 24px;
    box-shadow: var(--uc-shadow);
}
.uc-config-hero-price small,
.uc-config-hero-price span { display: block; color: rgba(255,255,255,.68); }
.uc-config-hero-price strong { display: block; font-size: 2.1rem; color: #fff; margin: 8px 0; }

.uc-config-section { background: #080d19; }
.uc-config-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 350px;
    gap: 26px;
    align-items: start;
}
.uc-config-main { display: grid; gap: 22px; }
.uc-config-card {
    background: linear-gradient(180deg, rgba(18,27,47,.98), rgba(10,15,28,.98));
    border: 1px solid rgba(255,255,255,.1);
    border-radius: 28px;
    padding: 26px;
    box-shadow: 0 28px 80px rgba(0,0,0,.28);
}
.uc-config-card h2 { margin: .25rem 0 10px; color: #fff; font-size: 1.55rem; }
.uc-config-card h3 { color: #fff; margin: 0 0 6px; }
.uc-config-card p,
.uc-config-card label,
.uc-config-card small { color: rgba(255,255,255,.74); }
.uc-config-card label { display: block; font-weight: 700; }
.uc-config-card input:not([type="radio"]):not([type="checkbox"]),
.uc-config-card select,
.uc-config-card textarea,
.portal-form input:not([type="radio"]):not([type="checkbox"]),
.portal-form select,
.portal-form textarea {
    width: 100%;
    margin-top: 8px;
    background: #070b14;
    border: 1px solid rgba(255,255,255,.14);
    border-radius: 16px;
    color: #fff;
    padding: 13px 14px;
    outline: none;
    min-height: 48px;
    font: inherit;
}
.uc-config-card input:focus,
.uc-config-card select:focus,
.uc-config-card textarea:focus,
.portal-form input:focus,
.portal-form select:focus,
.portal-form textarea:focus {
    border-color: var(--uc-pink);
    box-shadow: 0 0 0 4px rgba(255,23,73,.15);
}
.uc-config-two-col { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin: 16px 0; }
.uc-config-spec-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; margin-top: 16px; }
.uc-config-spec-grid div { background: rgba(255,255,255,.055); border: 1px solid rgba(255,255,255,.09); border-radius: 17px; padding: 13px; }
.uc-config-spec-grid span { display: block; color: var(--uc-pink-2); text-transform: uppercase; font-size: .72rem; font-weight: 800; letter-spacing: .06em; }
.uc-config-spec-grid strong { display: block; color: #fff; margin-top: 4px; }
.uc-config-feature-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin: 18px 0 0; padding: 0; list-style: none; }
.uc-config-feature-list li { border: 1px solid rgba(255,255,255,.09); border-radius: 14px; padding: 10px 12px; background: rgba(255,255,255,.045); color: rgba(255,255,255,.84); }
.uc-config-feature-list li:before { content: '✓'; color: var(--uc-lime); margin-right: 8px; }

.uc-domain-mode-panel { background: rgba(255,255,255,.035); border: 1px solid rgba(255,255,255,.08); border-radius: 22px; padding: 18px; margin-bottom: 16px; }
.uc-domain-choice-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; margin-top: 16px; }
.uc-domain-choice,
.uc-option-choice { position: relative; display: block; cursor: pointer; margin: 0; }
.uc-domain-choice input[type="radio"],
.uc-option-choice input[type="radio"],
.uc-option-choice input[type="checkbox"] {
    position: absolute !important;
    left: 14px !important;
    top: 14px !important;
    width: 1px !important;
    height: 1px !important;
    min-width: 1px !important;
    min-height: 1px !important;
    margin: 0 !important;
    padding: 0 !important;
    opacity: 0 !important;
    pointer-events: none !important;
    appearance: none !important;
}
.uc-domain-choice span,
.uc-option-choice-inner {
    display: block;
    height: 100%;
    border: 1px solid rgba(255,255,255,.11);
    background: linear-gradient(160deg, rgba(255,255,255,.075), rgba(255,255,255,.035));
    border-radius: 20px;
    padding: 18px 18px 18px 54px;
    transition: .18s ease;
    position: relative;
    min-height: 94px;
}
.uc-domain-choice span:before,
.uc-option-choice-inner:before {
    content: '';
    position: absolute;
    left: 18px;
    top: 20px;
    width: 21px;
    height: 21px;
    border-radius: 999px;
    border: 2px solid rgba(255,255,255,.36);
    background: #060a13;
}
.uc-domain-choice span:after,
.uc-option-choice-inner:after {
    content: '';
    position: absolute;
    left: 24px;
    top: 26px;
    width: 9px;
    height: 9px;
    border-radius: 999px;
    background: var(--uc-lime);
    transform: scale(0);
    transition: .18s ease;
}
.uc-domain-choice strong,
.uc-option-choice strong { display: block; color: #fff; font-size: 1.02rem; }
.uc-domain-choice small,
.uc-option-choice small { display: block; color: rgba(255,255,255,.64); margin-top: 5px; line-height: 1.35; }
.uc-domain-choice input:checked + span,
.uc-option-choice input:checked + .uc-option-choice-inner {
    border-color: var(--uc-pink);
    box-shadow: 0 0 0 4px rgba(255,23,73,.14), 0 18px 45px rgba(255,23,73,.12);
    background: linear-gradient(160deg, rgba(255,23,73,.18), rgba(255,255,255,.05));
}
.uc-domain-choice input:checked + span:before,
.uc-option-choice input:checked + .uc-option-choice-inner:before { border-color: var(--uc-pink); }
.uc-domain-choice input:checked + span:after,
.uc-option-choice input:checked + .uc-option-choice-inner:after { transform: scale(1); }
.uc-option-choice em { display: inline-block; margin-top: 12px; color: var(--uc-lime); font-style: normal; font-weight: 900; }

.uc-secure-note { border: 1px solid rgba(163,255,18,.24); background: rgba(163,255,18,.07); border-radius: 16px; padding: 13px 15px; color: rgba(255,255,255,.78); margin: 2px 0 16px; }
.uc-config-option-card { border: 1px solid rgba(255,255,255,.1); background: rgba(0,0,0,.18); border-radius: 24px; padding: 20px; margin: 0; }
.uc-config-option-head { display: flex; justify-content: space-between; gap: 16px; align-items: flex-start; margin-bottom: 15px; }
.uc-config-option-head legend { color: #fff; font-weight: 900; font-size: 1.1rem; padding: 0; }
.uc-config-option-head p { margin: 5px 0 0; }
.uc-config-priority { flex: 0 0 auto; border: 1px solid rgba(255,255,255,.13); border-radius: 999px; padding: 7px 10px; color: var(--uc-lime); font-size: .78rem; font-weight: 800; }
.uc-config-options-stack { display: grid; gap: 18px; margin-top: 20px; }
.uc-option-choice-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.uc-config-alert { border: 1px solid rgba(255,255,255,.11); background: rgba(255,255,255,.055); border-radius: 16px; padding: 13px 15px; color: #fff; }
.uc-config-alert--danger { border-color: rgba(255,23,73,.36); background: rgba(255,23,73,.12); }
.uc-config-submit { width: 100%; justify-content: center; font-size: 1.05rem; padding: 16px 20px; }

.uc-config-summary-card { position: sticky; top: 110px; background: linear-gradient(180deg, #151e33, #090e19); border: 1px solid rgba(255,255,255,.12); border-radius: 28px; padding: 24px; box-shadow: 0 24px 75px rgba(0,0,0,.34); }
.uc-config-summary-card h2 { color: #fff; margin: .25rem 0; }
.uc-config-summary-card p,
.uc-config-summary-card small { color: rgba(255,255,255,.68); }
.uc-summary-price-line { display: flex; align-items: center; justify-content: space-between; border-top: 1px solid rgba(255,255,255,.09); padding: 16px 0; color: rgba(255,255,255,.76); }
.uc-summary-price-line strong { color: #fff; font-size: 1.28rem; }
.uc-summary-mini-list { display: grid; gap: 8px; margin: 14px 0; }
.uc-summary-mini-list span { padding: 10px 12px; border-radius: 13px; background: rgba(255,255,255,.055); color: rgba(255,255,255,.77); }

/* Backward-compatibility for older class names still present in cached pages */
.config-hero { background: radial-gradient(circle at 20% 0%, rgba(255,23,73,.24), transparent 34%), linear-gradient(135deg,#070b18 0%,#10172a 54%,#18091b 100%); border-bottom: 1px solid rgba(255,255,255,.08); }
.config-hero-grid { display: grid; grid-template-columns: minmax(0,1fr) 280px; gap: 28px; align-items: center; }
.configurator-grid { display: grid; grid-template-columns: minmax(0,1fr) 340px; gap: 26px; }
.config-card { background: linear-gradient(180deg,rgba(18,27,47,.98),rgba(10,15,28,.98)); border: 1px solid rgba(255,255,255,.1); border-radius: 28px; padding: 26px; }
.domain-choice input[type="radio"], .uc-option-choice input[type="radio"], .uc-option-choice input[type="checkbox"] { width: 1px !important; height: 1px !important; opacity: 0 !important; appearance: none !important; }

/* Hosting plan cards */
.hosting-plan-strip { display: grid; grid-template-columns: repeat(4, minmax(240px, 1fr)); gap: 18px; }
.hosting-plan-card { background: linear-gradient(160deg,#121b2f,#090e19); border: 1px solid rgba(255,255,255,.1); border-radius: 24px; padding: 24px; box-shadow: 0 24px 60px rgba(0,0,0,.25); display: flex; flex-direction: column; min-height: 430px; color: #fff; }
.hosting-plan-card h3 { color: #fff; margin: 6px 0 8px; }
.hosting-plan-card p { color: rgba(255,255,255,.68); min-height: 64px; }
.hosting-plan-price { color: #fff; font-size: 2rem; margin: 10px 0 0; }
.hosting-plan-card small { color: rgba(255,255,255,.6); }
.hosting-plan-card ul { list-style: none; padding: 0; margin: 18px 0; display: grid; gap: 9px; flex: 1; }
.hosting-plan-card li { color: rgba(255,255,255,.78); border: 1px solid rgba(255,255,255,.08); border-radius: 12px; padding: 9px; background: rgba(255,255,255,.04); }
.hosting-plan-card li:before { content: '✓'; color: var(--uc-lime); margin-right: 8px; }

/* Dedicated server page */
.server-filter-bar { display: flex; flex-wrap: wrap; gap: 10px; margin: 22px 0; }
.server-filter-bar a { border: 1px solid rgba(255,255,255,.12); border-radius: 999px; padding: 10px 14px; color: #fff; text-decoration: none; background: rgba(255,255,255,.055); }
.server-filter-bar a.is-active { background: var(--uc-pink); border-color: var(--uc-pink); }
.dedicated-product-grid { display: grid; gap: 18px; }
.dedicated-server-card {
    display: grid;
    grid-template-columns: 10px minmax(260px, 1.05fr) minmax(320px, 1fr) 220px;
    gap: 20px;
    align-items: stretch;
    background: linear-gradient(160deg,#121b2f,#090e19);
    border: 1px solid rgba(255,255,255,.1);
    border-radius: 24px;
    padding: 18px;
    box-shadow: 0 24px 60px rgba(0,0,0,.28);
    color: #fff;
}
.dedicated-server-card__bar { height: 100%; min-height: 150px; border-radius: 999px; background: linear-gradient(180deg,var(--uc-pink),var(--uc-lime)); }
.dedicated-server-card h3 { color: #fff; margin: 0 0 8px; font-size: 1.35rem; }
.dedicated-server-card p { color: rgba(255,255,255,.68); margin: 0; line-height: 1.5; }
.dedicated-card-specs { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 9px; align-self: center; }
.dedicated-card-specs span { border: 1px solid rgba(255,255,255,.09); border-radius: 13px; padding: 10px; background: rgba(255,255,255,.04); color: rgba(255,255,255,.74); }
.dedicated-card-specs strong { color: #fff; font-size: .82rem; text-transform: uppercase; letter-spacing: .04em; }
.dedicated-card-price {
    background: rgba(255,255,255,.045);
    border: 1px solid rgba(255,255,255,.09);
    border-radius: 20px;
    padding: 18px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 10px;
    min-width: 0;
}
.dedicated-card-price strong { display: block; color: #fff; font-size: 1.65rem; line-height: 1.05; white-space: nowrap; }
.dedicated-card-price small { color: rgba(255,255,255,.62); }
.dedicated-card-price .btn { width: 100%; justify-content: center; padding: 12px 14px; }

/* Product admin */
.product-admin-hub { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; }
.product-admin-tile { display: block; text-decoration: none; background: linear-gradient(160deg,rgba(255,255,255,.075),rgba(255,255,255,.035)); border: 1px solid rgba(255,255,255,.11); border-radius: 24px; padding: 22px; color: #fff; transition: .18s ease; }
.product-admin-tile:hover { transform: translateY(-3px); border-color: var(--uc-pink); box-shadow: 0 20px 60px rgba(255,23,73,.12); }
.product-admin-tile span { display: inline-grid; place-items: center; width: 44px; height: 44px; border-radius: 16px; background: rgba(255,23,73,.18); color: var(--uc-pink-2); margin-bottom: 14px; font-weight: 900; }
.product-admin-tile p { color: rgba(255,255,255,.68); }
.admin-wide-form { max-width: 1180px; }
.option-value-admin-grid { display: grid; grid-template-columns: 1fr; gap: 14px; }
.option-value-edit-card { border: 1px solid rgba(255,255,255,.1); border-radius: 20px; padding: 16px; background: rgba(255,255,255,.045); }
.option-value-edit-card__head { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin-bottom: 12px; }
.option-value-edit-card__head strong { color: #fff; font-size: 1.05rem; }
.option-value-edit-card__head span { color: rgba(255,255,255,.62); font-size: .9rem; }
.option-value-edit-grid { display: grid; grid-template-columns: 1fr 1.4fr 120px 130px 130px; gap: 12px; align-items: end; }
.option-value-edit-grid--wide { grid-template-columns: 1fr 1fr; }
.option-value-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 12px; }
.option-value-chip { border: 1px solid rgba(255,255,255,.1); border-radius: 16px; padding: 12px; background: rgba(255,255,255,.045); margin: 8px 0; }
.option-value-chip strong { display: block; color: #fff; }
.option-value-chip span { display: block; color: rgba(255,255,255,.68); font-size: .9rem; margin-top: 4px; }
.check-card--inline { display: flex !important; align-items: center; gap: 10px; color: #fff; }
.check-card--inline input[type="checkbox"] { width: 18px !important; height: 18px !important; min-width: 18px !important; }

@media (max-width: 1200px) {
    .dedicated-server-card { grid-template-columns: 8px 1fr; }
    .dedicated-card-specs, .dedicated-card-price { grid-column: 2; }
}
@media (max-width: 1100px) { .hosting-plan-strip { grid-template-columns: repeat(2,minmax(0,1fr)); } .product-admin-hub { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media (max-width: 980px) {
    .uc-config-hero-grid,
    .uc-config-grid,
    .config-hero-grid,
    .configurator-grid { grid-template-columns: 1fr; }
    .uc-config-spec-grid,
    .uc-config-feature-list,
    .uc-config-two-col,
    .uc-domain-choice-grid,
    .uc-option-choice-grid,
    .option-value-edit-grid,
    .option-value-edit-grid--wide { grid-template-columns: 1fr; }
    .uc-config-summary-card { position: static; }
}
@media (max-width: 760px) {
    .server-filter-bar { justify-content: flex-start; overflow-x: auto; flex-wrap: nowrap; padding-bottom: 6px; }
    .server-filter-bar a { white-space: nowrap; }
    .hosting-plan-strip, .product-admin-hub { grid-template-columns: 1fr; }
    .uc-config-card { padding: 20px; }
    .uc-config-hero-price strong { font-size: 1.7rem; }
    .dedicated-server-card { grid-template-columns: 1fr; }
    .dedicated-server-card__bar { height: 8px; min-height: 8px; }
    .dedicated-card-specs, .dedicated-card-price { grid-column: auto; }
}

/* UnixCloud v3 configurator refinements */
.uc-configurator-page .uc-domain-choice input[type="radio"],
.uc-configurator-page .uc-option-choice input[type="radio"],
.uc-configurator-page .uc-option-choice input[type="checkbox"] {
    position: absolute !important;
    inline-size: 1px !important;
    block-size: 1px !important;
    min-inline-size: 1px !important;
    min-block-size: 1px !important;
    opacity: 0 !important;
    overflow: hidden !important;
    clip: rect(0 0 0 0) !important;
    clip-path: inset(50%) !important;
}
.uc-select-wrap select {
    width: 100%;
    min-height: 54px;
    background: #070b14;
    color: #fff;
    border: 1px solid rgba(255,255,255,.14);
    border-radius: 16px;
    padding: 0 14px;
    font: inherit;
}
.uc-summary-block {
    margin-top: 16px;
    padding-top: 14px;
    border-top: 1px solid rgba(255,255,255,.09);
}
.uc-summary-block > strong {
    display: block;
    color: #fff;
    margin-bottom: 10px;
    font-size: .94rem;
}
.uc-summary-mini-list span {
    display: flex;
    justify-content: space-between;
    gap: 10px;
    align-items: baseline;
}
.uc-summary-mini-list span strong {
    color: #fff;
    font-size: .88rem;
}
.uc-summary-mini-list span em {
    color: var(--uc-lime);
    font-style: normal;
    font-weight: 900;
    white-space: nowrap;
}
.uc-config-card textarea { resize: vertical; }
.uc-config-card--options { border-color: rgba(255,23,73,.18); }

/* Product option value editor polish */
.admin-wide-form { width: min(1240px, 100%); }
.portal-card .option-value-admin-grid { margin-top: 18px; }
.option-value-edit-card {
    border: 1px solid rgba(255,255,255,.13) !important;
    background: linear-gradient(180deg, rgba(17,26,46,.96), rgba(8,13,24,.96)) !important;
    border-radius: 22px !important;
    padding: 18px !important;
    box-shadow: 0 18px 55px rgba(0,0,0,.22);
}
.option-value-edit-card__head {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    align-items: center;
    padding-bottom: 12px;
    border-bottom: 1px solid rgba(255,255,255,.08);
}
.option-value-edit-grid,
.option-value-edit-grid--wide {
    margin-top: 14px;
}
.option-value-edit-card label { color: rgba(255,255,255,.76); font-weight: 850; }
.option-value-edit-card input,
.option-value-edit-card select,
.option-value-edit-card textarea {
    width: 100%;
    margin-top: 8px;
    background: #070b14;
    color: #fff;
    border: 1px solid rgba(255,255,255,.14);
    border-radius: 14px;
    padding: 12px 13px;
    font: inherit;
}
.option-value-edit-card input:focus,
.option-value-edit-card select:focus,
.option-value-edit-card textarea:focus {
    border-color: var(--uc-pink);
    box-shadow: 0 0 0 4px rgba(255,23,73,.14);
    outline: none;
}
.portal-actions-row {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: center;
    margin-top: 16px;
}
.portal-divider {
    border: 0;
    border-top: 1px solid rgba(255,255,255,.10);
    margin: 24px 0;
}

/* Dedicated page price box hardening */
.dedicated-card-price strong,
.server-config-card__price strong {
    word-break: normal;
    overflow-wrap: normal;
    white-space: nowrap;
    max-width: 100%;
}
@media (max-width: 760px) {
    .dedicated-card-price strong,
    .server-config-card__price strong { white-space: normal; }
}
