@charset "UTF-8";
/* ==========================================================================
   Insight Dezign Orderform — custom overrides
   Loaded by orderforms/insight-dezign/common.tpl via {assetExists file="custom.css"}.
   These rules are mirrored in twenty-one/insight-dezign/css/custom.css (which
   is guaranteed to load); this file is a belt-and-suspenders copy.
   ========================================================================== */

:root {
    --id-charcoal:        #231f20;
    --id-orange:          #f99f1b;
    --id-orange-dark:     #d67e00;
    --id-orange-light:    #ffbd5c;
    --id-dark-gray:       #3d3739;
    --id-medium-gray:     #706769;
    --id-light-gray:      #b5b0b1;
    --id-off-white:       #f4f2f3;
    --id-card-header:     #e7e3e4;
    --id-white:           #ffffff;
    --id-font-display:    "Montserrat", "Helvetica Neue", Arial, sans-serif;
    --id-font-body:       "Open Sans", "Helvetica Neue", Arial, sans-serif;
}

/* Cart header */
#order-standard_cart .id-cart-header {
    border-bottom: 0 !important;
    padding-bottom: 0 !important;
    margin-bottom: 1.75rem;
}
#order-standard_cart .id-cart-header h1 {
    font-family: var(--id-font-display) !important;
    font-weight: 700 !important;
    color: var(--id-charcoal) !important;
    margin-bottom: .5rem !important;
    font-size: 2rem !important;
}
#order-standard_cart .id-cart-header .id-rule {
    display: block;
    width: 56px;
    height: 3px;
    background: var(--id-orange);
    border-radius: 3px;
    margin: 0 0 1rem;
}
#order-standard_cart .id-cart-header__tagline {
    font-family: var(--id-font-body);
    color: var(--id-medium-gray);
    font-size: 1.05rem;
    margin: 0;
    max-width: 40rem;
}

/* Product grid wrapper */
#order-standard_cart .id-products { width: 100%; margin: 1rem 0 2.5rem; }

/* Neutralise standard_cart's BS3-era float layout so Bootstrap 4 cols win. */
#order-standard_cart > .row > .cart-sidebar,
#order-standard_cart > .row > .cart-body {
    float: none !important;
    width: auto !important;
}

/* Horizontal card (1 per row):  [ left: name+desc+features ] [ right: price+CTA ]
   Stacks vertically below sm. */
#order-standard_cart .id-product,
#order-standard_cart .products .product {
    position: relative !important;
    width: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    padding: 0 !important;
    margin: 0 !important;
    background: var(--id-white) !important;
    border: 0 !important;
    border-radius: .75rem !important;
    box-shadow: 0 2px 6px rgba(35, 31, 32, .06), 0 1px 2px rgba(35, 31, 32, .04) !important;
    overflow: hidden !important;
    transition: transform .15s ease, box-shadow .2s ease !important;
    float: none !important;
    height: auto !important;
}
#order-standard_cart .id-product::before,
#order-standard_cart .products .product::before {
    content: "" !important;
    position: absolute !important;
    top: 0; bottom: 0; left: 0;
    width: 4px !important;
    background: var(--id-orange) !important;
    z-index: 1;
}
#order-standard_cart .id-product:hover,
#order-standard_cart .products .product:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 10px 24px rgba(35, 31, 32, .09), 0 3px 8px rgba(35, 31, 32, .05) !important;
}
#order-standard_cart .id-product--featured {
    box-shadow: 0 4px 14px rgba(249, 159, 27, .25), 0 2px 6px rgba(35, 31, 32, .06) !important;
}
#order-standard_cart .id-product--featured::before { width: 6px !important; }

#order-standard_cart .id-product__badge {
    position: absolute;
    top: 14px;
    right: 14px;
    background: var(--id-orange);
    color: var(--id-charcoal);
    font-family: var(--id-font-display);
    font-weight: 700;
    font-size: .7rem;
    text-transform: uppercase;
    letter-spacing: .08em;
    padding: .2rem .55rem;
    border-radius: .25rem;
    z-index: 2;
    line-height: 1.4;
}
#order-standard_cart .id-product__badge--bundle {
    background: var(--id-charcoal);
    color: var(--id-white);
}

/* Main content (header + description + features) */
#order-standard_cart .id-product__main {
    flex: 1 1 auto;
    min-width: 0;
    padding: 1.5rem 1.75rem 1.5rem 2rem;
    display: flex;
    flex-direction: column;
}

/* Header (product name) */
#order-standard_cart .id-product__header,
#order-standard_cart .products .product header {
    position: static !important;
    padding: 0 !important;
    margin: 0 0 .75rem !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    width: auto !important;
    float: none !important;
}
#order-standard_cart .id-product__name,
#order-standard_cart .products .product header span {
    font-family: var(--id-font-display) !important;
    font-weight: 700 !important;
    font-size: 1.4rem !important;
    color: var(--id-charcoal) !important;
    margin: 0 !important;
    line-height: 1.2 !important;
    display: block !important;
    float: none !important;
}
#order-standard_cart .id-product__qty,
#order-standard_cart .products .product header .qty {
    display: inline-block !important;
    float: none !important;
    margin-top: .4rem !important;
    padding: .15rem .55rem !important;
    background: var(--id-off-white) !important;
    color: var(--id-medium-gray) !important;
    font-family: var(--id-font-body) !important;
    font-size: .8rem !important;
    font-style: normal !important;
    border-radius: .25rem !important;
}

/* Description + features */
#order-standard_cart .id-product__desc,
#order-standard_cart .products .product div.product-desc {
    float: none !important;
    width: auto !important;
    padding: 0 !important;
    font-size: .95rem !important;
    color: var(--id-dark-gray) !important;
    flex: 1 0 auto !important;
}
#order-standard_cart .id-product__lede {
    color: var(--id-medium-gray);
    margin: 0 0 .85rem;
    font-size: .92rem;
    line-height: 1.5;
}
#order-standard_cart .id-product__features {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
    display: flex !important;
    flex-wrap: wrap;
    gap: .35rem 1.5rem;
}
#order-standard_cart .id-product__features li {
    display: flex !important;
    align-items: baseline;
    gap: .5rem;
    padding: .25rem 0 !important;
    margin: 0;
    border-bottom: 0;
    font-family: var(--id-font-body);
    color: var(--id-dark-gray);
    font-size: .9rem;
    list-style: none;
    flex: 0 1 auto;
}
#order-standard_cart .id-product__check {
    color: var(--id-orange) !important;
    font-size: .75rem;
    flex-shrink: 0;
}
#order-standard_cart .id-product__features .feature-value,
#order-standard_cart .id-product .feature-value,
#order-standard_cart .products .product span.feature-value {
    font-weight: 700 !important;
    color: var(--id-charcoal) !important;
}

/* Right action panel: price + CTA */
#order-standard_cart .id-product__footer,
#order-standard_cart .products .product footer {
    float: none !important;
    flex: 0 0 auto !important;
    width: auto !important;
    margin: 0 !important;
    padding: 1.5rem 1.75rem !important;
    background: var(--id-off-white) !important;
    text-align: left !important;
    font-size: 1rem !important;
    border-top: 1px solid rgba(35, 31, 32, .05) !important;
    border-left: 0 !important;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: stretch;
    gap: 1rem;
}
#order-standard_cart .id-product__pricing,
#order-standard_cart .products .product div.product-pricing {
    margin: 0 !important;
}
#order-standard_cart .id-product__from {
    display: block;
    font-family: var(--id-font-body);
    font-size: .72rem;
    color: var(--id-medium-gray);
    text-transform: uppercase;
    letter-spacing: .1em;
    margin-bottom: .2rem;
    font-weight: 600;
}
#order-standard_cart .id-product__price-row {
    display: flex;
    align-items: baseline;
    gap: .35rem;
    flex-wrap: wrap;
}
#order-standard_cart .id-product__price,
#order-standard_cart .products .product div.product-pricing span.price {
    font-family: var(--id-font-display) !important;
    font-weight: 700 !important;
    font-size: 1.8rem !important;
    line-height: 1 !important;
    color: var(--id-charcoal) !important;
}
#order-standard_cart .id-product__cycle {
    font-family: var(--id-font-body);
    font-size: .9rem;
    color: var(--id-medium-gray);
}
#order-standard_cart .id-product__setup {
    display: block;
    margin-top: .4rem;
    color: var(--id-medium-gray);
    font-size: .8rem;
}

#order-standard_cart .id-product__cta,
#order-standard_cart .btn-order-now {
    background-color: var(--id-orange) !important;
    border-color: var(--id-orange) !important;
    color: var(--id-charcoal) !important;
    font-family: var(--id-font-display) !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: .04em !important;
    border-radius: .4rem !important;
    padding: .75rem 1.25rem !important;
    font-size: .9rem !important;
    width: 100% !important;
    display: inline-block !important;
    text-align: center !important;
    white-space: nowrap;
    transition: background-color .15s ease, color .15s ease, transform .05s ease, box-shadow .15s ease !important;
}
#order-standard_cart .id-product__cta:hover,
#order-standard_cart .id-product__cta:focus,
#order-standard_cart .btn-order-now:hover,
#order-standard_cart .btn-order-now:focus {
    background-color: var(--id-orange-dark) !important;
    border-color: var(--id-orange-dark) !important;
    color: var(--id-white) !important;
    box-shadow: 0 6px 16px rgba(249, 159, 27, .35) !important;
    text-decoration: none !important;
}
#order-standard_cart .id-product__cta:active { transform: translateY(1px); }

/* Horizontal layout from sm up: side-by-side, action panel pinned right */
@media (min-width: 576px) {
    #order-standard_cart .id-product,
    #order-standard_cart .products .product {
        flex-direction: row !important;
    }
    #order-standard_cart .id-product__footer,
    #order-standard_cart .products .product footer {
        flex: 0 0 280px !important;
        border-top: 0 !important;
        border-left: 1px solid rgba(35, 31, 32, .07) !important;
    }
}

@media (max-width: 575.98px) {
    #order-standard_cart .id-product__main   { padding: 1.25rem 1.25rem 1.25rem 1.5rem !important; }
    #order-standard_cart .id-product__footer { padding: 1rem 1.25rem 1.25rem !important; }
    #order-standard_cart .id-product__price  { font-size: 1.85rem !important; }
}
