/*
Custom Styles. Bootstrap Styles are default'
*/
@import url("styles_.css");


/*Update all styles to be Driven by class only*/
#ctl00_ContentPlaceHolder1_pnlLogin > div > p:nth-child(4) > label {
    display: none;
}


#ctl00_ContentPlaceHolder1_pnlPassword > div > div:nth-child(8) {
    display: flex;
    gap: 10px;
    flex-direction: column-reverse;
    max-width: 25rem;
}

#ctl00_ContentPlaceHolder1_btnReset {
    all: unset;
    color: #636666 !important;
    cursor: pointer;
}

    #ctl00_ContentPlaceHolder1_btnReset:hover {
        text-decoration: underline;
        color: #08142c;
    }


    #ctl00_ContentPlaceHolder1_btnReset > i {
        display: none;
    }

#ctl00_ContentPlaceHolder1_pnlLogin > div > p:nth-child(4) > label {
    display: none;
}

#ctl00_ctl00_ContentPlaceHolder1_ContentPlaceHolder3_divAccessCodeContentPage > div.main__middle__container.primaryBackground {
    display: none;
}


@media (max-width: 494px) {

    .register #ctl00_ctl00_ContentPlaceHolder1_ContentPlaceHolder3_txtNXGAccessCode {
        margin-bottom: 10px;
    }
}


/* === eGas / ViewCartCheckout redesign — checkout (co-*) styles ported from styles_.css === */

.cart-out-of-stock-msg {
    color: #c0392b;
    font-weight: 600;
}

.checkout-error-label {
    color: red;
}

/* Checkout Layout (co-*) */

.co-page-header {
    max-width: 1120px;
    margin: 16px auto 20px;
    padding: 0 16px;
}

.co-page-header h1 {
    margin-bottom: 4px;
}

.co-subtitle {
    color: #8a94a0;
    margin-top: 0;
    font-size: 15px;
}

.co-grid {
    display: grid;
    grid-template-columns: 1fr 340px;
    gap: 28px;
    align-items: start;
    max-width: 1120px;
    margin: 0 auto;
    padding: 0 16px 40px;
}

.co-col-forms {
    min-width: 0;
}

.co-col-summary {
    min-width: 0;
    position: sticky;
    top: 20px;
    align-self: start;
}

.co-card {
    background: #fff;
    border: 1px solid #e7ebf0;
    border-radius: 12px;
    padding: 22px 24px;
    margin-bottom: 18px;
    box-shadow: 0 1px 4px rgba(0,0,0,0.06);
}

.co-card__title {
    margin-top: 0;
    margin-bottom: 18px;
    font-size: 17px;
    border-top: none !important; /* override base .main-content h2 border */
}

.co-field {
    margin-bottom: 14px;
}

.co-field label {
    display: block;
    font-size: 12.5px;
    font-weight: 600;
    color: #6a7682;
    margin-bottom: 6px;
}

.co-input {
    width: 100%;
    padding: 11px 13px;
    border: 1px solid #d4dae1;
    border-radius: 7px;
    box-sizing: border-box;
    /* Override Bootstrap's fixed .form-control height (these carry both classes);
       without this the 11px padding + box-sizing clips select/input text. */
    height: auto;
    line-height: 1.4;
}

/* CreditCardStyles.css sets height/width/font-size on #exp_month/#exp_year by ID.
   Use ID+class to win the specificity (1,1,0 > 1,0,0). */
#exp_month.co-input,
#exp_year.co-input {
    height: auto;
    width: 100%;
    display: block;
    font-size: 14px;
    line-height: 1.4;
}

/* 2-column field row */
.co-field-row {
    display: grid;
    gap: 14px;
    margin-bottom: 0;
}

.co-field-row--2col {
    grid-template-columns: 1fr 1fr;
}

/* City/State/Zip row: 2fr 1fr 1fr */
.co-field-row--city {
    grid-template-columns: 2fr 1fr 1fr;
}

/* Card number / CVV row */
.co-field-row--cardnum {
    grid-template-columns: 2fr 1fr;
}

/* Billing same-as-shipping toggle */
.co-billing-toggle {
    margin-bottom: 12px;
}

.co-billing-toggle__label {
    display: flex;
    align-items: center;
    gap: 8px;
    cursor: pointer;
    font-weight: 600;
    color: #6a7682;
    font-size: 13px;
}

.co-billing-toggle__cb {
    width: 16px;
    height: 16px;
    cursor: pointer;
    flex-shrink: 0;
}

.co-billing-toggle__text {
    font-weight: 600;
}

/* Collapsed billing summary */
.co-billing-summary {
    background: #f6f8fb;
    border-radius: 7px;
    padding: 10px 14px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-size: 13px;
    color: #6a7682;
    margin-bottom: 4px;
}

.co-billing-summary__text {
    flex: 1 1 auto;
}

.co-billing-summary__edit {
    flex: 0 0 auto;
    margin-left: 12px;
    font-size: 12.5px;
    font-weight: 600;
    text-decoration: none;
}

/* Card network brand badges */
.co-card-brands {
    display: flex;
    gap: 6px;
    margin-bottom: 14px;
    flex-wrap: wrap;
}

.co-card-brand {
    display: inline-block;
    padding: 2px 7px;
    border-radius: 4px;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.5px;
    color: #fff;
    opacity: 0.35;
    transition: opacity 0.2s;
}

.co-card-brand--visa    { background: #1a1f71; }
.co-card-brand--mc      { background: #eb6c1e; }
.co-card-brand--amex    { background: #2e77bb; }
.co-card-brand--discover { background: #e87722; }

.co-card-brand.co-active { opacity: 1; }

/* Order Summary */
.co-summary {
    position: sticky;
    top: 20px;
}

.co-summary__table {
    width: 100%;
    border-collapse: collapse;
}

.co-summary__table thead th,
.co-summary__table .co-summary__table-thead-th {
    background: transparent;
    padding: 12px 14px 4px;
}

.co-summary__heading {
    margin: 0;
    font-size: 15px;
    border-top: none !important;
}

.co-summary__item-row td {
    padding: 10px 4px;
    vertical-align: top;
    border-bottom: 1px solid #eef1f5;
}

.co-summary__item-left {
    font-size: 13px;
}

.co-summary__item-name {
    display: block;
    font-weight: 600;
    margin-bottom: 3px;
}

.co-summary__item-qty {
    display: inline-block;
    font-size: 11px;
    color: #8a94a0;
    margin-right: 8px;
}

.co-summary__action {
    font-size: 11px !important;
    padding: 3px 9px !important;
}

.co-summary__item-price {
    text-align: right;
    font-weight: 600;
    font-size: 13px;
    white-space: nowrap;
}

.co-summary__shipping-row td {
    padding: 8px 4px;
    font-size: 12.5px;
    color: #8a94a0;
    border-bottom: 1px solid #eef1f5;
}

.co-summary__divider td {
    padding: 0;
    border-bottom: 2px solid #e7ebf0;
}

.co-summary__total-row td {
    padding: 12px 4px 6px;
    font-size: 15px;
}

.co-summary__total-row td:last-child {
    text-align: right;
}

.co-summary__confirm-btn-wrap {
    margin-top: 16px;
}

.co-summary__confirm-btn {
    width: 100%;
    padding: 13px;
    font-size: 15px;
}

.co-summary__secure-note {
    text-align: center;
    font-size: 11.5px;
    color: #8a94a0;
    margin-top: 10px;
}

/* Responsive: single column on mobile */
@media (max-width: 767px) {
    .co-grid {
        grid-template-columns: 1fr;
    }

    .co-col-summary {
        order: 2; /* summary below forms */
        position: static; /* no sticky on the stacked mobile layout */
        top: auto;
    }

    .co-field-row--2col,
    .co-field-row--cardnum {
        grid-template-columns: 1fr;
    }

    .co-field-row--city {
        grid-template-columns: 1fr 1fr;
    }

    .co-field--city {
        grid-column: 1 / -1; /* city spans both columns */
    }
}
