/*
 * YOORshop Cartx V34 — geometry and interaction corrections after V33.
 * Visual-only scope: catalogue, domain choice, configuration and checkout.
 */

:root {
    --ys34-navy: #061b35;
    --ys34-blue: #0b579f;
    --ys34-blue-2: #1479c9;
    --ys34-yellow: #ffc400;
    --ys34-text: #20364d;
    --ys34-muted: #64788d;
    --ys34-line: #d7e3ed;
    --ys34-card: #fff;
    --ys34-bg: #f3f6fa;
    --ys34-shadow: 0 8px 22px rgba(6,27,53,.07);
}

/* Reduce the repeated empty strip below the global header. */
body.products #main-content,
body.configureproductdomain #main-content,
body.configureproduct #main-content,
body.viewcart #main-content,
body.checkout #main-content {
    padding-top: 5px !important;
}
body.configureproduct #order-cartx,
body.viewcart #order-cartx,
body.checkout #order-cartx {
    margin-top: 0 !important;
}

/* --------------------------------------------------------------------------
   Shared purchase heading and stepper
   -------------------------------------------------------------------------- */
body.configureproduct .sap-row,
body.viewcart .sap-row,
body.checkout .sap-row {
    grid-template-columns: minmax(190px,.52fr) minmax(0,1.75fr) !important;
    gap: 16px !important;
    min-height: 74px !important;
    margin: 0 0 11px !important;
    padding: 11px 18px !important;
    align-items: center !important;
    box-shadow: var(--ys34-shadow) !important;
}
body.configureproduct .pur-titel,
body.viewcart .pur-titel,
body.checkout .pur-titel {
    font-size: 23px !important;
    line-height: 1.15 !important;
}
body.configureproduct .step,
body.viewcart .step,
body.checkout .step {
    position: relative !important;
    display: grid !important;
    grid-template-columns: repeat(3,minmax(0,1fr)) !important;
    align-items: start !important;
    gap: 0 !important;
    overflow: visible !important;
}
body.configureproduct .step::before,
body.viewcart .step::before,
body.checkout .step::before {
    content: "" !important;
    position: absolute !important;
    z-index: 0 !important;
    top: 13px !important;
    left: 16.666% !important;
    right: 16.666% !important;
    height: 3px !important;
    border-radius: 999px !important;
    background: #c8d5e1 !important;
}
body.configureproduct .step .step-item,
body.viewcart .step .step-item,
body.checkout .step .step-item {
    position: relative !important;
    z-index: 1 !important;
    display: block !important;
    float: none !important;
    width: auto !important;
    min-width: 0 !important;
    min-height: 52px !important;
    margin: 0 !important;
    text-align: center !important;
}
body.configureproduct .step .step-item::before,
body.viewcart .step .step-item::before,
body.checkout .step .step-item::before,
body.configureproduct .step .step-item a::before,
body.viewcart .step .step-item a::before,
body.checkout .step .step-item a::before {
    display: none !important;
    content: none !important;
}
body.configureproduct .stp-cot,
body.viewcart .stp-cot,
body.checkout .stp-cot {
    position: relative !important;
    z-index: 2 !important;
    top: auto !important;
    left: auto !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 28px !important;
    height: 28px !important;
    margin: 0 auto 6px !important;
    padding: 0 !important;
    border: 2px solid #fff !important;
    border-radius: 50% !important;
    background: #58c65e !important;
    color: #fff !important;
    box-shadow: 0 0 0 3px #e9f6eb !important;
    font-size: 13px !important;
    line-height: 1 !important;
}
body.configureproduct .step .step-item.active .stp-cot.check {
    background: var(--ys34-blue) !important;
    color: #fff !important;
    box-shadow: 0 0 0 3px #e6f1fb, inset 0 -3px 0 var(--ys34-yellow) !important;
}
body.configureproduct .step .step-item a,
body.viewcart .step .step-item a,
body.checkout .step .step-item a {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 7px !important;
    color: var(--ys34-text) !important;
    font-size: 11px !important;
    line-height: 1.2 !important;
    text-align: center !important;
}

/* --------------------------------------------------------------------------
   Product catalogue
   -------------------------------------------------------------------------- */
body.products #order-standard_cart.productlist {
    padding-top: 0 !important;
}
body.products .order-cart {
    min-height: 54px !important;
    margin-bottom: 10px !important;
    padding-top: 9px !important;
    padding-bottom: 9px !important;
}
body.products .host-nav { margin-bottom: 14px !important; }

/* --------------------------------------------------------------------------
   Domain choice
   -------------------------------------------------------------------------- */
body.configureproductdomain .cart-head-bar {
    width: calc(100% - 32px) !important;
    margin: 0 16px 10px !important;
    padding: 11px 16px !important;
}
body.configureproductdomain #order-standard_cart {
    padding: 0 16px 24px !important;
}
body.configureproductdomain .sm-gutter.config-domain-flex {
    gap: 12px !important;
    margin-bottom: 12px !important;
    padding: 12px !important;
}
body.configureproductdomain .card-info-box .content {
    min-height: 132px !important;
    padding: 16px 12px !important;
}
body.configureproductdomain .card-info-box .icone {
    width: 52px !important;
    min-height: 52px !important;
}
body.configureproductdomain .card-info-box .text {
    margin-top: 10px !important;
    font-size: 14px !important;
}
body.configureproductdomain .regi-domain {
    padding: 20px 18px 22px !important;
}
body.configureproductdomain .titel-page {
    margin-bottom: 12px !important;
    font-size: 21px !important;
}
body.configureproductdomain #adv-search {
    max-width: 900px !important;
    margin: 0 auto !important;
    padding: 8px !important;
}
body.configureproductdomain #adv-search .form-control,
body.configureproductdomain #adv-search span.input-group-btn.adv .btn {
    height: 44px !important;
}
body.configureproductdomain #DomainSearchResults {
    margin-top: 12px !important;
    padding: 14px !important;
}
body.configureproductdomain > .tooltip,
body.configureproductdomain .tooltip {
    z-index: 1070 !important;
}
body.configureproductdomain .tooltip > .tooltip-inner {
    max-width: 250px !important;
    padding: 7px 10px !important;
    border: 0 !important;
    border-radius: 7px !important;
    background: #b42318 !important;
    color: #fff !important;
    font-size: 12px !important;
    line-height: 1.3 !important;
    box-shadow: 0 6px 16px rgba(180,35,24,.18) !important;
}
body.configureproductdomain .tooltip.top .tooltip-arrow { border-top-color: #b42318 !important; }
body.configureproductdomain .tooltip.bottom .tooltip-arrow { border-bottom-color: #b42318 !important; }

/* --------------------------------------------------------------------------
   Product configuration and summary
   -------------------------------------------------------------------------- */
body.configureproduct #order-cartx > .body-page,
body.configureproduct .body-page {
    padding: 0 16px 24px !important;
}
body.configureproduct #frmConfigureProduct {
    grid-template-columns: minmax(0,1fr) minmax(320px,360px) !important;
    gap: 16px !important;
}
body.configureproduct .term-box {
    padding: 16px !important;
}
body.configureproduct .select-lanth {
    margin-bottom: 17px !important;
    padding-bottom: 15px !important;
}
body.configureproduct .term-list li,
body.configureproduct .second-term-list li,
body.configureproduct .second-term-list li:nth-child(1),
body.configureproduct .second-term-list li:nth-child(2),
body.configureproduct .second-term-list li:nth-child(3) {
    min-height: 92px !important;
    padding: 12px 9px !important;
}
body.configureproduct #scrollingCartSummary {
    top: 10px !important;
}
body.configureproduct .order-summary,
body.configureproduct #order-standard_cart .order-summary {
    padding: 16px !important;
}
body.configureproduct .stap-btn {
    margin-top: 10px !important;
    padding: 0 !important;
    text-align: center !important;
}
body.configureproduct #btnCompleteProductConfig {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    width: auto !important;
    min-width: 190px !important;
    max-width: 100% !important;
    padding: 11px 20px !important;
}

/* --------------------------------------------------------------------------
   Checkout geometry and compact summary
   -------------------------------------------------------------------------- */
body.viewcart #order-cartx,
body.checkout #order-cartx {
    padding: 0 14px 24px !important;
}
body.viewcart #order-cartx > .accout-row,
body.checkout #order-cartx > .accout-row {
    grid-template-columns: minmax(0,1fr) minmax(360px,390px) !important;
    gap: 16px !important;
    margin-top: 0 !important;
}
body.viewcart #order-cartx > .accout-row > #order-standard_cart,
body.checkout #order-cartx > .accout-row > #order-standard_cart {
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}
body.viewcart .accout-left,
body.checkout .accout-left {
    padding: 16px !important;
}
body.viewcart .change-pass.account .form-group,
body.checkout .change-pass.account .form-group {
    margin-bottom: 10px !important;
}
body.viewcart .Payment-row,
body.checkout .Payment-row {
    margin-top: 12px !important;
    padding: 13px !important;
}
body.viewcart .total-bar .accout-right,
body.checkout .total-bar .accout-right {
    top: 10px !important;
    padding: 14px !important;
}
body.viewcart .cart-colam,
body.checkout .cart-colam {
    display: grid !important;
    grid-template-columns: minmax(0,1fr) auto !important;
    gap: 10px !important;
    align-items: start !important;
    margin-bottom: 10px !important;
    padding: 12px !important;
}
body.viewcart .cart-colam > .pull-left,
body.viewcart .cart-colam > .pull-right,
body.checkout .cart-colam > .pull-left,
body.checkout .cart-colam > .pull-right {
    float: none !important;
    width: auto !important;
    min-width: 0 !important;
    margin: 0 !important;
}
body.viewcart .cart-colam > .pull-right,
body.checkout .cart-colam > .pull-right {
    min-width: 112px !important;
    text-align: right !important;
}
body.viewcart .crt-regist h4,
body.checkout .crt-regist h4 {
    margin: 0 0 4px !important;
    font-size: 14px !important;
    line-height: 1.25 !important;
}
body.viewcart .crt-regist span,
body.checkout .crt-regist span {
    font-size: 12px !important;
}
body.viewcart .year-price,
body.checkout .year-price {
    font-size: 15px !important;
    line-height: 1.2 !important;
    white-space: nowrap !important;
}
body.viewcart .year-price .cycle,
body.checkout .year-price .cycle {
    display: block !important;
    margin-top: 3px !important;
    color: var(--ys34-muted) !important;
    font-size: 11px !important;
    font-weight: 650 !important;
}
body.viewcart .trash,
body.checkout .trash {
    margin-top: 7px !important;
}
body.viewcart .cart-summary-line,
body.checkout .cart-summary-line {
    display: grid !important;
    grid-template-columns: minmax(0,1fr) auto !important;
    gap: 10px !important;
    align-items: start !important;
}
body.viewcart .cart-summary-line .value,
body.checkout .cart-summary-line .value,
body.viewcart .recurring-charges,
body.checkout .recurring-charges {
    float: none !important;
    text-align: right !important;
}
body.viewcart .cart-grid-total,
body.checkout .cart-grid-total {
    margin: 11px 0 !important;
    padding: 11px 0 !important;
}
body.viewcart .total-clt,
body.checkout .total-clt { font-size: 19px !important; }
body.viewcart .pric-clt,
body.checkout .pric-clt { font-size: 23px !important; }

@media (max-width: 1199px) {
    body.configureproduct #frmConfigureProduct,
    body.viewcart #order-cartx > .accout-row,
    body.checkout #order-cartx > .accout-row {
        grid-template-columns: minmax(0,1fr) minmax(320px,350px) !important;
    }
}
@media (max-width: 991px) {
    body.configureproduct .sap-row,
    body.viewcart .sap-row,
    body.checkout .sap-row {
        grid-template-columns: 1fr !important;
        gap: 9px !important;
    }
    body.configureproduct #frmConfigureProduct,
    body.viewcart #order-cartx > .accout-row,
    body.checkout #order-cartx > .accout-row {
        grid-template-columns: 1fr !important;
    }
    body.viewcart .total-bar .accout-right,
    body.checkout .total-bar .accout-right { position: static !important; }
}
@media (max-width: 767px) {
    body.products #main-content,
    body.configureproductdomain #main-content,
    body.configureproduct #main-content,
    body.viewcart #main-content,
    body.checkout #main-content { padding-top: 3px !important; }
    body.configureproductdomain .cart-head-bar {
        width: calc(100% - 12px) !important;
        margin: 0 6px 8px !important;
    }
    body.configureproductdomain #order-standard_cart,
    body.configureproduct #order-cartx > .body-page,
    body.configureproduct .body-page,
    body.viewcart #order-cartx,
    body.checkout #order-cartx {
        padding-left: 6px !important;
        padding-right: 6px !important;
    }
    body.configureproduct .sap-row,
    body.viewcart .sap-row,
    body.checkout .sap-row {
        padding: 10px 12px !important;
    }
    body.configureproduct .step .step-item a,
    body.viewcart .step .step-item a,
    body.checkout .step .step-item a {
        padding: 0 3px !important;
        font-size: 9px !important;
    }
    body.configureproduct .term-box,
    body.viewcart .accout-left,
    body.checkout .accout-left,
    body.viewcart .total-bar .accout-right,
    body.checkout .total-bar .accout-right { padding: 12px !important; }
    body.viewcart .cart-colam,
    body.checkout .cart-colam {
        grid-template-columns: 1fr !important;
    }
    body.viewcart .cart-colam > .pull-right,
    body.checkout .cart-colam > .pull-right {
        min-width: 0 !important;
        text-align: left !important;
    }
    body.viewcart .year-price,
    body.checkout .year-price { white-space: normal !important; }
}

/* YOORSHOP CARTX STEPPER COLOR V35.1 START */
/* Active numbered step: use one clean light color instead of mixed green/blue. */
body.configureproduct .step .step-item.active .stp-cot.check,
body.viewcart .step .step-item.active .stp-cot.check,
body.checkout .step .step-item.active .stp-cot.check,
body.configureproductdomain .step .step-item.active .stp-cot.check,
body.domain-renewals .step .step-item.active .stp-cot.check {
    background: #e6f1fb !important;
    color: #0b579f !important;
    border-color: #ffffff !important;
    box-shadow: 0 0 0 3px #d6e7fb !important;
}
body.configureproduct .step .step-item.active .stp-cot.check i,
body.viewcart .step .step-item.active .stp-cot.check i,
body.checkout .step .step-item.active .stp-cot.check i,
body.configureproductdomain .step .step-item.active .stp-cot.check i,
body.domain-renewals .step .step-item.active .stp-cot.check i {
    color: #0b579f !important;
}
/* YOORSHOP CARTX STEPPER COLOR V35.1 END */

