/*
 * BA Book Everything – Local Card Payment
 * Visual styling only. No checkout/payment logic is changed here.
 */

/* Main payment card */
.bhm-payment-group-before-av-confirm{
    width:100%;
    margin:0;
    box-sizing:border-box;
    background:#fff;
    border:1px solid #e7e0d6;
    border-radius:12px;
    overflow:hidden;
    box-shadow:0 8px 28px rgba(24,32,44,.07);
}

/* Payment method tabs */
.bhm-payment-tabs{
    display:grid;
    grid-template-columns:1fr 1fr;
    align-items:stretch;
    width:100%;
    min-height:66px;
    background:#faf9f7;
    border-bottom:1px solid #e8e3dc;
}

.bhm-payment-tab{
    position:relative;
    display:flex;
    align-items:center;
    justify-content:center;
    flex-wrap:wrap;
    gap:5px 9px;
    min-width:0;
    min-height:66px;
    padding:12px 14px;
    box-sizing:border-box;
    background:transparent;
    border:0;
    border-right:1px solid #e8e3dc;
    color:#77736d;
    font-family:inherit;
    font-size:12px;
    font-weight:600;
    line-height:1.25;
    letter-spacing:.055em;
    text-transform:uppercase;
    text-align:center;
    cursor:pointer;
    transition:background .2s ease,color .2s ease,box-shadow .2s ease;
}

.bhm-payment-tab:last-child{border-right:0}

.bhm-payment-tab:hover{
    background:#f5f2ed;
    color:#282723;
}

.bhm-payment-tab.is-active{
    background:#fff;
    color:#252421;
}

.bhm-payment-tab.is-active:after{
    content:"";
    position:absolute;
    left:14px;
    right:14px;
    bottom:0;
    height:2px;
    background:#c59a61;
    border-radius:2px 2px 0 0;
}

.bhm-card-brands{
    display:inline-flex;
    align-items:center;
    white-space:nowrap;
    color:#8b877f;
    font-size:8px;
    font-weight:700;
    letter-spacing:.08em;
    text-transform:none;
}

/* Content area */
.bhm-payment-panel{
    padding:24px 22px 22px;
    box-sizing:border-box;
    color:#64615b;
    font-family:inherit;
    font-size:13px;
    line-height:1.55;
}

.bhm-payment-panel[hidden]{display:none!important}

.bhm-pay-later-message{
    min-height:58px;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:8px 12px;
    box-sizing:border-box;
    color:#5b574f;
    background:#fbfaf8;
    border:1px solid #eee9e2;
    border-radius:8px;
    font-size:13px;
    font-weight:500;
    text-align:center;
}

/* Card form */
.bhm-babe-card-payment{
    width:100%;
    max-width:none;
    margin:0;
}

.bhm-babe-card-description{
    margin:0 0 19px;
    color:#77736d;
    font-size:12px;
    line-height:1.55;
}

.bhm-babe-card-fields{
    width:100%;
}

.bhm-babe-field{
    width:100%;
    margin:0 0 16px;
}

.bhm-babe-field label{
    display:block;
    margin:0 0 7px;
    color:#34322e;
    font-family:inherit;
    font-size:10px;
    font-weight:700;
    line-height:1.3;
    letter-spacing:.055em;
    text-transform:uppercase;
}

.bhm-babe-field input{
    display:block;
    width:100%;
    height:46px;
    box-sizing:border-box;
    padding:0 13px;
    border:1px solid #dcd8d1;
    border-radius:6px;
    background:#fff;
    color:#252522;
    font-family:inherit;
    font-size:13px;
    font-weight:400;
    line-height:46px;
    letter-spacing:.01em;
    outline:none;
    box-shadow:inset 0 1px 1px rgba(25,30,27,.025);
    transition:border-color .2s ease,box-shadow .2s ease,background .2s ease;
}

.bhm-babe-field input::placeholder{
    color:#aaa69e;
    opacity:1;
}

.bhm-babe-field input:hover{
    border-color:#c9c3b9;
}

.bhm-babe-field input:focus{
    border-color:#b88b52;
    background:#fffdf9;
    box-shadow:0 0 0 3px rgba(184,139,82,.12);
}

.bhm-babe-field-number input{
    letter-spacing:.08em;
}

.bhm-babe-fields-row{
    display:grid;
    grid-template-columns:minmax(0,1.35fr) minmax(0,.65fr);
    gap:12px;
}

.bhm-babe-fields-row .bhm-babe-field{
    min-width:0;
}

.bhm-babe-fields-row .bhm-babe-field input{
    text-align:left;
}

/* Keep the component clean inside BA's existing manual-payment wrapper. */
.payment_details_before_av_check > .bhm-payment-group-before-av-confirm{
    margin-top:0;
}

/* Narrow checkout columns */
@media (max-width:520px){
    .bhm-payment-tabs{
        min-height:60px;
    }

    .bhm-payment-tab{
        min-height:60px;
        padding:10px 8px;
        font-size:10px;
        letter-spacing:.045em;
    }

    .bhm-payment-tab.is-active:after{
        left:10px;
        right:10px;
    }

    .bhm-card-brands{
        width:100%;
        justify-content:center;
        font-size:7px;
    }

    .bhm-payment-panel{
        padding:20px 16px 18px;
    }

    .bhm-babe-fields-row{
        grid-template-columns:1fr 1fr;
        gap:10px;
    }
}

@media (max-width:360px){
    .bhm-payment-tab{
        font-size:9px;
        padding-left:5px;
        padding-right:5px;
    }

    .bhm-payment-panel{
        padding-left:12px;
        padding-right:12px;
    }

    .bhm-babe-field input{
        height:44px;
        padding-left:11px;
        padding-right:11px;
        font-size:12px;
    }
}


/* Accepted payment methods — displayed directly below "Mode de paiement". */
.bhm-payment-brands{
    display:flex;
    align-items:center;
    justify-content:center;
    width:100%;
    min-height:34px;
    margin:0 0 14px;
    padding:4px 0 8px;
    box-sizing:border-box;
}

.bhm-payment-brands img{
    display:block;
    width:auto;
    max-width:100%;
    height:27px;
    object-fit:contain;
    object-position:center;
}

@media (max-width:520px){
    .bhm-payment-brands{
        min-height:30px;
        margin-bottom:11px;
        padding-bottom:5px;
    }

    .bhm-payment-brands img{
        height:23px;
    }
}
