
/* =========================================================
   DUNEHOST — REVIEW & CHECKOUT CART
   ========================================================= */

body.dh-viewcart-body {
    margin: 0;

    background: #050605;

    color: #f5f2eb;
}


/* ---------------------------------------------------------
   REMOVE DEFAULT WHMCS SHELL
   --------------------------------------------------------- */

body.dh-viewcart-body #header,
body.dh-viewcart-body #nav {
    display: none !important;
}


body.dh-viewcart-body #main-body {
    position: relative;

    min-height: calc(100vh - 46px);

    margin: 0 !important;

    padding:
        0
        0
        245px !important;

    box-sizing: border-box;

    background: #050605 !important;
}


/* ---------------------------------------------------------
   DUNES
   --------------------------------------------------------- */

body.dh-viewcart-body
#main-body::before {
    content: "";

    position: absolute;

    left: 0;
    right: 0;
    bottom: 0;

    height: 230px;

    background:
        url("/templates/dunehost/img/dunehost/dunehost-dunes.webp")
        center bottom / 100% auto
        no-repeat;

    filter:
        brightness(1.35)
        saturate(1.08)
        contrast(1.04);

    opacity: .98;

    pointer-events: none;

    z-index: 0;

    -webkit-mask-image:
        linear-gradient(
            to bottom,
            transparent 0%,
            rgba(0,0,0,.30) 14%,
            #000 35%,
            #000 100%
        );

    mask-image:
        linear-gradient(
            to bottom,
            transparent 0%,
            rgba(0,0,0,.30) 14%,
            #000 35%,
            #000 100%
        );
}


body.dh-viewcart-body
#main-body > .container {
    position: relative;

    z-index: 1;

    width:
        min(1180px, calc(100% - 48px));

    max-width: none;

    margin: 0 auto;

    padding: 0;
}


/* ---------------------------------------------------------
   TOP BAR
   --------------------------------------------------------- */

.dh-cart-topbar {
    display: flex;

    align-items: center;
    justify-content: space-between;

    min-height: 88px;

    margin-bottom: 34px;

    padding:
        10px
        0;

    border-bottom:
        1px solid
        rgba(255,255,255,.07);
}


.dh-cart-logo img {
    display: block;

    width: auto;
    height: 64px;
}


.dh-cart-topbar-actions {
    display: flex;

    align-items: center;

    gap: 26px;
}


.dh-cart-topbar-actions a {
    color:
        rgba(255,255,255,.58);

    font-size: .84rem;

    text-decoration: none;
}


.dh-cart-topbar-actions a:hover {
    color: #e5a02a;

    text-decoration: none;
}


.dh-cart-topbar-actions
.dh-cart-client-link {
    padding:
        10px
        16px;

    border:
        1px solid
        rgba(229,160,42,.55);

    border-radius: 4px;

    color: #e5a02a;
}


/* ---------------------------------------------------------
   REMOVE SIDEBARS
   --------------------------------------------------------- */

body.dh-viewcart-body
#order-standard_cart
.cart-sidebar,

body.dh-viewcart-body
#order-standard_cart
.sidebar-collapsed {
    display: none !important;
}


body.dh-viewcart-body
#order-standard_cart
.cart-body {
    float: none !important;

    width:
        min(1000px, 100%) !important;

    margin:
        0
        auto !important;

    padding: 0 !important;
}


/* ---------------------------------------------------------
   HEADING
   --------------------------------------------------------- */

body.dh-viewcart-body
#order-standard_cart
.header-lined {
    border: 0 !important;

    text-align: center;
}


body.dh-viewcart-body
#order-standard_cart
.header-lined h1 {
    margin: 0 !important;

    padding: 0 !important;

    border: 0 !important;

    color:
        #f7f4ed !important;

    font-size:
        2.7rem !important;

    font-weight: 600;
}


body.dh-viewcart-body
#order-standard_cart
.header-lined::after {
    content: "";

    display: block;

    width: 46px;
    height: 1px;

    margin:
        17px
        auto
        32px;

    background:
        #e5a02a;
}


/* ---------------------------------------------------------
   MAIN CART COLUMNS
   --------------------------------------------------------- */

body.dh-viewcart-body
#order-standard_cart
.cart-body > .row {
    display: flex;

    align-items: flex-start;

    gap: 24px;

    margin: 0 !important;
}


body.dh-viewcart-body
#order-standard_cart
.secondary-cart-body {
    float: none !important;

    width:
        calc(66% - 12px) !important;

    padding: 0 !important;
}


body.dh-viewcart-body
#order-standard_cart
.secondary-cart-sidebar {
    float: none !important;

    width:
        calc(34% - 12px) !important;

    margin: 0 !important;

    padding: 0 !important;
}


/* ---------------------------------------------------------
   CART HEADER
   --------------------------------------------------------- */

body.dh-viewcart-body
#order-standard_cart
.view-cart-items-header {
    margin: 0 !important;

    padding:
        12px
        18px !important;

    border:
        1px solid
        rgba(229,160,42,.48);

    border-bottom: 0;

    border-radius:
        5px
        5px
        0
        0;

    background:
        rgba(229,160,42,.055) !important;

    color:
        rgba(255,255,255,.66) !important;

    font-size:
        .77rem;

    font-weight: 600;

    text-transform:
        uppercase;

    letter-spacing:
        .035em;
}


/* ---------------------------------------------------------
   CART ITEMS
   --------------------------------------------------------- */

body.dh-viewcart-body
#order-standard_cart
.view-cart-items {
    margin:
        0
        0
        20px !important;

    border:
        1px solid
        rgba(255,255,255,.12) !important;

    border-top: 0 !important;

    border-bottom:
        1px solid
        rgba(255,255,255,.12) !important;

    border-radius:
        0
        0
        5px
        5px;

    overflow: hidden;
}


body.dh-viewcart-body
#order-standard_cart
.view-cart-items
.item,

body.dh-viewcart-body
#order-standard_cart
.view-cart-items
.item:nth-child(even) {
    margin: 0 !important;

    padding:
        17px
        18px !important;

    border:
        0 !important;

    border-bottom:
        1px solid
        rgba(255,255,255,.07) !important;

    background:
        rgba(10,11,10,.82) !important;

    color:
        rgba(255,255,255,.68);
}


body.dh-viewcart-body
#order-standard_cart
.view-cart-items
.item:last-child {
    border-bottom:
        0 !important;
}


body.dh-viewcart-body
#order-standard_cart
.item-title {
    color:
        #f5f2eb;

    font-size:
        1.06rem;

    font-weight:
        600;
}


body.dh-viewcart-body
#order-standard_cart
.item-domain {
    margin-top:
        5px;

    color:
        #e5a02a !important;

    font-size:
        .86rem;
}


body.dh-viewcart-body
#order-standard_cart
.item-group,

body.dh-viewcart-body
#order-standard_cart
.item-price .cycle {
    color:
        rgba(255,255,255,.44) !important;
}


body.dh-viewcart-body
#order-standard_cart
.item-price {
    color:
        #f5f2eb;

    text-align:
        right;
}


body.dh-viewcart-body
#order-standard_cart
.item-price > span:first-child {
    color:
        #e5a02a;

    font-size:
        1.1rem;
}


/* Edit */
body.dh-viewcart-body
#order-standard_cart
.btn-link {
    color:
        rgba(229,160,42,.76) !important;

    text-decoration: none;
}


body.dh-viewcart-body
#order-standard_cart
.btn-link:hover {
    color:
        #e5a02a !important;
}


/* Remove X */
body.dh-viewcart-body
#order-standard_cart
.btn-remove-from-cart {
    color:
        rgba(255,255,255,.34) !important;
}


body.dh-viewcart-body
#order-standard_cart
.btn-remove-from-cart:hover {
    color:
        #e5a02a !important;
}


/* ---------------------------------------------------------
   EMPTY CART
   --------------------------------------------------------- */

body.dh-viewcart-body
#order-standard_cart
.empty-cart {
    margin:
        -8px
        6px
        12px
        0 !important;
}


body.dh-viewcart-body
#order-standard_cart
.empty-cart
.btn {
    padding:
        5px
        11px;

    border:
        1px solid
        rgba(255,255,255,.11);

    border-radius: 3px;

    background:
        transparent !important;

    color:
        rgba(255,255,255,.42) !important;
}


/* ---------------------------------------------------------
   PROMO CODE
   --------------------------------------------------------- */

body.dh-viewcart-body
#order-standard_cart
.view-cart-tabs {
    margin:
        14px
        0
        0 !important;
}


body.dh-viewcart-body
#order-standard_cart
.view-cart-tabs
.nav-tabs {
    padding: 0 !important;

    border:
        0 !important;

    background:
        transparent !important;
}


body.dh-viewcart-body
#order-standard_cart
.view-cart-tabs
.nav-tabs li a {
    padding:
        8px
        13px;

    border:
        1px solid
        rgba(255,255,255,.11) !important;

    border-bottom: 0 !important;

    border-radius:
        4px
        4px
        0
        0;

    background:
        rgba(10,11,10,.78) !important;

    color:
        rgba(255,255,255,.54) !important;
}


body.dh-viewcart-body
#order-standard_cart
.view-cart-tabs
.tab-content {
    padding:
        15px !important;

    border:
        1px solid
        rgba(255,255,255,.11);

    border-radius:
        0
        4px
        4px
        4px;

    background:
        rgba(10,11,10,.78) !important;
}


body.dh-viewcart-body
#order-standard_cart
#inputPromotionCode {
    height: 43px;

    border:
        1px solid
        rgba(255,255,255,.15) !important;

    background:
        #0c0d0c !important;

    color:
        #f5f2eb !important;

    box-shadow:
        none !important;
}


body.dh-viewcart-body
#order-standard_cart
#inputPromotionCode::placeholder {
    color:
        rgba(255,255,255,.28);
}


body.dh-viewcart-body
#order-standard_cart
button[name="validatepromo"] {
    margin-top:
        8px;

    border:
        1px solid
        rgba(229,160,42,.48) !important;

    background:
        transparent !important;

    color:
        #e5a02a !important;

    box-shadow:
        none !important;
}


/* ---------------------------------------------------------
   ORDER SUMMARY
   --------------------------------------------------------- */

body.dh-viewcart-body
#order-standard_cart
.order-summary {
    margin: 0 !important;

    padding: 0 !important;

    overflow: hidden;

    border:
        1px solid
        rgba(229,160,42,.45) !important;

    border-bottom:
        1px solid
        rgba(229,160,42,.45) !important;

    border-radius: 5px;

    background:
        rgba(10,11,10,.88) !important;

    color:
        #f5f2eb;
}


body.dh-viewcart-body
#order-standard_cart
.order-summary h2 {
    margin: 0 !important;

    padding:
        15px
        18px !important;

    border-bottom:
        1px solid
        rgba(229,160,42,.34);

    background:
        rgba(229,160,42,.055) !important;

    color:
        #f7f4ed !important;

    font-size:
        1.15rem;

    font-weight:
        600;
}


body.dh-viewcart-body
#order-standard_cart
.summary-container {
    min-height: 0;

    padding:
        18px !important;

    border-radius: 0;

    background:
        transparent !important;

    color:
        rgba(255,255,255,.65);
}


body.dh-viewcart-body
#order-standard_cart
.order-summary
.subtotal {
    padding:
        0
        0
        12px !important;

    border-bottom:
        1px solid
        rgba(255,255,255,.09) !important;

    color:
        rgba(255,255,255,.64);
}


body.dh-viewcart-body
#order-standard_cart
.order-summary
.bordered-totals {
    border-color:
        rgba(255,255,255,.09) !important;
}


body.dh-viewcart-body
#order-standard_cart
.order-summary
.total-due-today {
    margin:
        21px
        0
        18px !important;

    text-align:
        right;
}


body.dh-viewcart-body
#order-standard_cart
.order-summary
.total-due-today
.amt {
    color:
        #e5a02a !important;

    font-size:
        2.15rem !important;

    font-weight:
        600;
}


body.dh-viewcart-body
#order-standard_cart
.order-summary
.recurring-charges {
    color:
        rgba(255,255,255,.42) !important;
}


/* ---------------------------------------------------------
   CHECKOUT BUTTON
   --------------------------------------------------------- */

body.dh-viewcart-body
#order-standard_cart
#checkout {
    display: flex;

    align-items: center;
    justify-content: center;

    width: 100%;

    min-height: 50px;

    margin: 0 !important;

    border:
        1px solid
        #e5a02a !important;

    border-radius: 4px;

    background:
        #e5a02a !important;

    color:
        #080808 !important;

    font-size:
        .88rem;

    font-weight:
        700;

    text-transform:
        uppercase;

    box-shadow:
        none !important;
}


body.dh-viewcart-body
#order-standard_cart
#checkout:hover {
    filter:
        brightness(1.07);
}


/* Continue Shopping */
body.dh-viewcart-body
#order-standard_cart
#continueShopping {
    display: block;

    margin-top:
        12px;

    color:
        rgba(255,255,255,.44) !important;

    text-align:
        center;
}


/* ---------------------------------------------------------
   GATEWAY / EXPRESS BOXES
   --------------------------------------------------------- */

body.dh-viewcart-body
#order-standard_cart
.view-cart-gateway-checkout {
    margin:
        12px
        0 !important;

    padding:
        12px !important;

    border:
        1px solid
        rgba(255,255,255,.09);

    background:
        rgba(255,255,255,.02) !important;
}


/* ---------------------------------------------------------
   ALERTS
   --------------------------------------------------------- */

body.dh-viewcart-body
#order-standard_cart
.alert {
    border-radius:
        4px;

    background:
        rgba(255,255,255,.04);

    color:
        #f5f2eb;
}


body.dh-viewcart-body
#order-standard_cart
.alert-danger {
    border-color:
        rgba(190,68,68,.50);

    background:
        rgba(112,31,31,.25);
}


body.dh-viewcart-body
#order-standard_cart
.alert-success {
    border-color:
        rgba(229,160,42,.40);

    background:
        rgba(229,160,42,.07);
}


/* ---------------------------------------------------------
   FOOTER
   --------------------------------------------------------- */

body.dh-viewcart-body
#footer {
    min-height: 46px !important;

    margin: 0 !important;

    padding: 0 !important;

    border-top:
        1px solid
        rgba(255,255,255,.06);

    background:
        #050605 !important;
}


/* ---------------------------------------------------------
   MOBILE
   --------------------------------------------------------- */

@media (max-width: 820px) {

    body.dh-viewcart-body
    #main-body > .container {
        width:
            calc(100% - 28px);
    }

    body.dh-viewcart-body
    #main-body {
        padding-bottom:
            200px !important;
    }

    body.dh-viewcart-body
    #main-body::before {
        height:
            190px;

        background-size:
            auto 190px;
    }

    body.dh-viewcart-body
    .dh-cart-logo img {
        height:
            50px;
    }

    body.dh-viewcart-body
    .dh-cart-topbar-actions
    > a:first-child {
        display:
            none;
    }

    body.dh-viewcart-body
    #order-standard_cart
    .header-lined h1 {
        font-size:
            2.15rem !important;
    }

    body.dh-viewcart-body
    #order-standard_cart
    .cart-body > .row {
        display:
            block;
    }

    body.dh-viewcart-body
    #order-standard_cart
    .secondary-cart-body,

    body.dh-viewcart-body
    #order-standard_cart
    .secondary-cart-sidebar {
        width:
            100% !important;
    }

    body.dh-viewcart-body
    #order-standard_cart
    .secondary-cart-sidebar {
        margin-top:
            22px !important;
    }

}


/* =========================================================
   DUNEHOST CART — FINAL POLISH
   ========================================================= */

/* Make renewal information easier to read */
body.dh-viewcart-body
#order-standard_cart
.item-price
.renewal,
body.dh-viewcart-body
#order-standard_cart
.item-price
.renewal-price {
    color: rgba(255,255,255,.58) !important;
}


/* Empty Cart — subtle utility action, tucked closer to cart */
body.dh-viewcart-body
#order-standard_cart
.empty-cart {
    position: relative;

    margin:
        -13px
        7px
        14px
        0 !important;

    text-align: right;
}

body.dh-viewcart-body
#order-standard_cart
.empty-cart .btn {
    padding: 3px 7px !important;

    border: 0 !important;

    background: transparent !important;

    color: rgba(255,255,255,.34) !important;

    font-size: .72rem;
}

body.dh-viewcart-body
#order-standard_cart
.empty-cart .btn:hover {
    color: #e5a02a !important;
}


/* Checkout arrow breathing room */
body.dh-viewcart-body
#order-standard_cart
#checkout i {
    margin-left: 8px;
}


/* Keep checkout text/icon nicely centred */
body.dh-viewcart-body
#order-standard_cart
#checkout {
    gap: 8px;
}


/* =========================================================
   DUNEHOST — CART CONFIRMATION MODALS
   Remove Item / Empty Cart
   ========================================================= */

body.dh-viewcart-body .modal-content {
    background: #090a09 !important;
    color: #f5f2eb !important;

    border: 1px solid rgba(229, 160, 42, .38) !important;
    border-radius: 8px !important;

    box-shadow:
        0 24px 70px rgba(0, 0, 0, .72),
        0 0 0 1px rgba(255, 255, 255, .025) !important;
}


/* Header */

body.dh-viewcart-body .modal-header {
    background: #090a09 !important;

    border-bottom:
        1px solid rgba(229, 160, 42, .20) !important;

    padding: 20px 22px !important;
}

body.dh-viewcart-body .modal-header,
body.dh-viewcart-body .modal-header h4,
body.dh-viewcart-body .modal-header h5,
body.dh-viewcart-body .modal-title {
    color: #f5f2eb !important;
}

body.dh-viewcart-body .modal-title i {
    color: #e5a02a !important;
}


/* Close X */

body.dh-viewcart-body .modal-header .close {
    color: rgba(255, 255, 255, .62) !important;
    opacity: 1 !important;
    text-shadow: none !important;
}

body.dh-viewcart-body .modal-header .close:hover,
body.dh-viewcart-body .modal-header .close:focus {
    color: #e5a02a !important;
    opacity: 1 !important;
}


/* Body */

body.dh-viewcart-body .modal-body {
    background: #090a09 !important;

    color: rgba(245, 242, 235, .72) !important;

    padding: 22px !important;
}

body.dh-viewcart-body .modal-body p,
body.dh-viewcart-body .modal-body span,
body.dh-viewcart-body .modal-body div {
    color: inherit;
}


/* Footer */

body.dh-viewcart-body .modal-footer {
    background: #070807 !important;

    border-top:
        1px solid rgba(229, 160, 42, .16) !important;

    padding: 15px 20px !important;
}


/* No / Cancel */

body.dh-viewcart-body .modal-footer .btn-default,
body.dh-viewcart-body .modal-footer .btn-secondary {
    background: transparent !important;

    color: rgba(245, 242, 235, .72) !important;

    border:
        1px solid rgba(255, 255, 255, .18) !important;

    box-shadow: none !important;
}

body.dh-viewcart-body .modal-footer .btn-default:hover,
body.dh-viewcart-body .modal-footer .btn-secondary:hover {
    background: rgba(255, 255, 255, .06) !important;

    color: #ffffff !important;

    border-color:
        rgba(255, 255, 255, .30) !important;
}


/* Yes / Confirm */

body.dh-viewcart-body .modal-footer .btn-primary,
body.dh-viewcart-body .modal-footer .btn-danger {
    background: #e5a02a !important;

    color: #090a09 !important;

    border: 1px solid #e5a02a !important;

    font-weight: 600 !important;

    box-shadow: none !important;
}

body.dh-viewcart-body .modal-footer .btn-primary:hover,
body.dh-viewcart-body .modal-footer .btn-danger:hover {
    background: #f0ae37 !important;
    border-color: #f0ae37 !important;

    color: #050605 !important;
}


/* Prevent Bootstrap focus glow */

body.dh-viewcart-body .modal-footer .btn:focus,
body.dh-viewcart-body .modal-footer .btn:active {
    outline: none !important;

    box-shadow:
        0 0 0 2px rgba(229, 160, 42, .18) !important;
}

