/* ===== ANTLER ORDERPAGE STYLES ===== */

/* ---------- wbox → Antler card ---------- */
.wbox {
    background: var(--color-bg, #fff);
    border: 1px solid var(--color-border, #e9ecef);
    border-radius: 8px;
    margin-bottom: 24px;
    overflow: hidden;
}
.wbox_header {
    padding: 14px 20px;
    border-bottom: 1px solid var(--color-border, #e9ecef);
    font-weight: 600;
    font-size: 1rem;
    position: relative;
}
.wbox_content {
    padding: 20px;
}

/* wbox tab-nav used in cart4 login/signup switch */
.wbox_menu {
    list-style: none;
    margin: 0;
    padding: 0;
    display: inline-flex;
    gap: 4px;
    position: absolute;
    right: 14px;
    top: 10px;
}
.wbox_menu li {
    cursor: pointer;
    padding: 4px 12px;
    border-radius: 4px;
    font-size: 0.82rem;
    font-weight: 500;
    border: 1px solid transparent;
    transition: background 0.2s;
}
.wbox_menu li.bgon2  { background: var(--color-accent, #28c76f); color: #fff; }
.wbox_menu li.bgoff2 { background: transparent; border-color: var(--color-border, #e9ecef); color: inherit; }

/* ---------- orderbox → Antler action row ---------- */
.orderbox {
    margin: 24px 0;
}
.orderboxpadding {
    padding: 16px 20px;
    text-align: center;
}

/* ---------- progress bar ---------- */
ul#progress {
    display: flex;
    list-style: none;
    padding: 0;
    margin: 0 0 28px;
    gap: 0;
    counter-reset: step;
}
ul#progress li {
    flex: 1;
    text-align: center;
    padding: 10px 6px;
    font-size: 0.82rem;
    font-weight: 500;
    background: var(--color-bg2, #f5f6fa);
    color: var(--color-sec, #6c757d);
    position: relative;
    border-right: 2px solid var(--color-border, #e9ecef);
    border-bottom: 3px solid transparent;
    transition: background 0.2s, color 0.2s;
}
ul#progress li:last-child { border-right: none; }
ul#progress li.ison1 {
    background: var(--color-accent, #28c76f);
    color: #fff;
    border-bottom-color: var(--color-accent-dark, #1da85a);
}
ul#progress li.ison2,
ul#progress li.fison2,
ul#progress li.firstone.fison2 {
    background: var(--color-bg2, #f5f6fa);
    color: var(--color-accent, #28c76f);
    border-bottom-color: var(--color-accent, #28c76f);
}
ul#progress li a { color: inherit; text-decoration: none; }

/* ---------- buttons ---------- */
.btn, button.btn { border-radius: 6px; font-weight: 500; transition: opacity 0.2s; }
.btn-primary, input[type="submit"].btn-primary,
input[type="submit"].padded.btn.btn-primary {
    background: var(--color-accent, #28c76f) !important;
    border-color: var(--color-accent, #28c76f) !important;
    color: #fff !important;
}
.btn-primary:hover { opacity: 0.88; }
.btn-danger, a.btn-danger, a.btn-sm.btn-danger { background: #ea5455 !important; border-color: #ea5455 !important; color: #fff !important; }
/* generic secondary */
input[type="submit"].padded.btn:not(.btn-primary) {
    background: var(--color-bg2, #f5f6fa);
    border: 1px solid var(--color-border, #e9ecef);
    color: inherit;
}

/* ---------- tables ---------- */
.checker, table.table {
    width: 100%;
    border-collapse: collapse;
}
.checker th, .checker td,
table.table th, table.table td {
    padding: 10px 12px;
    border-bottom: 1px solid var(--color-border, #e9ecef);
    vertical-align: top;
}
.checker th, table.table th { font-weight: 600; }
.checker tr:last-child td,
table.table tr:last-child td { border-bottom: none; }
.srow td { background: var(--color-bg2, #f5f6fa); }

/* ---------- cart_total big number ---------- */
.cart_total {
    font-size: 2rem;
    font-weight: 700;
    color: var(--color-accent, #28c76f);
    line-height: 1;
    vertical-align: middle;
}

/* ---------- domain input ---------- */
.domain-inputbox input[type="text"],
.domain-inputbox textarea,
.default-cart input[type="text"],
.default-cart input[type="password"],
.default-cart input[type="email"],
.default-cart textarea,
.default-cart select {
    border: 1px solid var(--color-border, #e9ecef);
    border-radius: 6px;
    padding: 7px 10px;
    background: var(--color-bg, #fff);
    color: inherit;
    font-size: 0.9rem;
}
.default-cart select { padding: 6px 10px; }

/* ---------- default cart layout ---------- */
.default-cart { max-width: 100%; }
.default-cart .cart-item { margin-bottom: 20px; }
.default-cart .cart-item::after { content: ""; display: table; clear: both; }

/* icon configs */
.default-cart .cf_option      { padding-left: 42px; background: url('img/cf_boption.png') no-repeat left center; }
.default-cart .cf_bandwidth   { background-image: url('img/cf_bandwidth.png'); }
.default-cart .cf_ip          { background-image: url('img/cf_ip.png'); }
.default-cart .cf_cp          { background-image: url('img/cf_cp.png'); }
.default-cart .cf_os          { background-image: url('img/cf_os.png'); }
.default-cart .cf_mainboard   { background-image: url('img/cf_motherboard.png'); }
.default-cart .cf_raid        { background-image: url('img/cf_raid.png'); }
.default-cart .cf_memory      { background-image: url('img/cf_memory.png'); }
.default-cart .cf_cpu         { background-image: url('img/cf_cpu.png'); }
.default-cart .cf_hdd         { background-image: url('img/cf_hdd.png'); }

.default-cart .domain-submit,
.default-cart .slidme { text-align: center; margin: 0 0 20px; }
.default-cart .domain-input-bulk { margin-top: 5px; }
.default-cart .domain-input-bulk textarea { background: var(--color-bg, #fff); }
.default-cart .domain-tld-checkbox { text-align: left; margin-left: 10px; width: 420px; float: left; }
.default-cart .domain-action input  { margin: 0; }
.default-cart .domain-action label  { display: inline !important; }

.default-cart .domain-config-table tbody  { border-bottom: 1px solid var(--color-border, #e9ecef); }
.default-cart .domain-config-table th     { text-align: left; }
.default-cart .domain-config-table td     { padding: 5px; }
.default-cart .domain-config-table tr:first-child td { padding-top: 10px; }
.default-cart .domain-config-table tr:last-child td  { padding-bottom: 10px; }
.default-cart .domain-config-table tbody:last-child  { border: none; }

.default-cart .domain-config-table .name,
.default-cart #updater table td.name,
.summary-section .name { word-break: break-word; }
.default-cart #updater table td.name { padding: 0 10px; }
.default-cart .domain-config-table .period select,
.default-cart #updater table td.period select { width: auto; }

/* ---------- cart listing (step 0) ---------- */
.cart-default-listing * { box-sizing: border-box; }
.orderpage .category-list { padding: 10px 0; text-align: center; }
.orderpage .category-list .category { display: inline-block; }
.orderpage .category-list .category::after { content: " |"; color: #aaa; font-weight: bold; }
.orderpage .category-list .category:last-child::after { content: none; }
.orderpage .category-description { text-align: left; margin: 10px 0; }
.orderpage .currency { margin: 10px 0; text-align: right; }

.cart-default-listing .product {
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.cart-default-listing .list-header-action,
.cart-default-listing .product-order { width: 20%; }
.cart-default-listing .product-order,
.cart-default-listing .product-body > div { margin: 10px 0; }

/* orderbox product card */
.orderbox.sh1a {
    background: var(--color-bg, #fff);
    border: 1px solid var(--color-border, #e9ecef);
    border-radius: 8px;
    margin-bottom: 16px;
    transition: box-shadow 0.2s;
}
.orderbox.sh1a:hover { box-shadow: 0 4px 18px rgba(0,0,0,.08); }
.orderbox.sh1a .orderboxpadding { padding: 16px 20px; }

/* ---------- dedicated listing ---------- */
.cart-dedicated * { box-sizing: border-box; }
.cart-dedicated .list-header-setupfee,
.cart-dedicated .list-header-price,
.cart-dedicated .product-price,
.cart-dedicated .product-setup { width: 15%; text-align: center; }
.cart-dedicated .product-full-price { display: none; }

/* ---------- cart item (steps 3/4) ---------- */
.cart-item,
.cart-item-description,
.cart-item-price { margin: 5px 0; }
.cart-item .checkbox label { margin: 0; }

/* ---------- summary section (sidemenu / ajax) ---------- */
.summary-section table { width: 100%; }
.summary-section td    { padding: 4px 0; }
.summary-section .smalltext  { font-size: 0.82rem; color: var(--color-sec, #6c757d); }
.summary-section .midtext    { font-size: 0.9rem; font-weight: 600; }

/* ---------- green highlight ---------- */
.greenbox {
    background: #e6f9ee;
    border: 1px solid #b2dfcc;
    border-radius: 8px;
    padding: 14px 20px;
    margin-bottom: 20px;
    color: #1a6c3c;
}

/* ===== RESPONSIVE ===== */
@media (max-width: 979px) {
    .cart-default-listing .product-list-header,
    .cart-default-listing .product { display: block; }
    .cart-default-listing .list-header-action { display: none; }
    .cart-default-listing .product-order { width: auto; }
}
@media (max-width: 767px) {
    .orderpage .currency { text-align: left; }
    .cart-dedicated .list-header-setupfee,
    .cart-dedicated .list-header-price,
    .cart-dedicated .product-price,
    .cart-dedicated .product-setup { display: none; }
    .cart-dedicated .product-full-price { width: 50%; display: table-cell; text-align: center; padding: 0 10px; }
    .cart-dedicated .product-details table,
    .cart-dedicated .product-details tbody,
    .cart-dedicated .product-details td,
    .cart-dedicated .product-details label { display: block; width: 100%; }
    .cart-dedicated .product-details tr { display: flex; flex-wrap: wrap; }
    .cart-dedicated .product-description { order: -1; }
    .cart-dedicated .product-details td { margin: 10px 0; }
    .default-cart .domain-config-table,
    .default-cart .domain-config-table tbody,
    .default-cart .domain-config-table tr,
    .default-cart .domain-config-table td { display: inline-block; width: 100%; padding-left: 0; padding-right: 0; }
    .default-cart .domain-config-table tbody { position: relative; }
    .default-cart .domain-config-table .name { max-width: 70%; }
    .default-cart .domain-config-table .remove { position: absolute; top: 0; right: 0; width: 30%; text-align: right; }
    ul#progress li { font-size: 0.72rem; padding: 8px 2px; }
    .wbox_menu { position: static; display: flex; margin-top: 8px; }
}
