.bfl-beton-wrap {
    max-width: 1100px;
    margin: 2rem auto;
    padding: 0 1rem;
}
.bfl-beton-card {
    background: #fffaf4;
    border-radius: 1.5rem;
    box-shadow: 0 10px 28px rgba(0,0,0,.08);
    padding: 1.8rem 1.6rem 2rem;
}
.bfl-beton-hero {
    background: linear-gradient(90deg, #ffd99a, #ffb347);
    border-radius: 1.2rem;
    padding: 1.4rem 1.5rem;
    margin-bottom: 1.5rem;
}
.bfl-beton-title {
    margin: 0;
    font-size: 1.4rem;
    font-weight: 800;
    color: #1e1e1e;
}
.bfl-beton-subtitle {
    margin: 0.4rem 0 0;
    color: #333;
    font-size: .95rem;
}
.bfl-beton-form {
    margin-bottom: 1.4rem;
}
.bfl-beton-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0,1fr));
    gap: 1rem;
}
@media (max-width: 900px){
    .bfl-beton-grid {
        grid-template-columns: 1fr;
    }
}
.bfl-beton-field label {
    display: block;
    font-weight: 600;
    font-size: .9rem;
    margin-bottom: .3rem;
}
.bfl-beton-field input {
    width: 100%;
    box-sizing: border-box;
    padding: .55rem .7rem;
    border-radius: .6rem;
    border: 1px solid rgba(0,0,0,.12);
    font-size: .95rem;
    background: #fff;
}
.bfl-beton-help {
    margin-top: .25rem;
    font-size: .8rem;
    color: #666;
}
.bfl-beton-actions {
    margin-top: 1rem;
    text-align: right;
}
.bfl-beton-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: .65rem 1.3rem;
    border-radius: .8rem;
    border: none;
    cursor: pointer;
    font-size: .95rem;
    font-weight: 600;
    background: linear-gradient(90deg,#ffd99a,#ffb347);
    color: #000;
    box-shadow: 0 6px 14px rgba(0,0,0,.25);
}
.bfl-beton-btn:hover {
    transform: translateY(-1px);
    box-shadow: 0 10px 22px rgba(0,0,0,.28);
}
.bfl-beton-results {
    margin-top: 1.4rem;
}
.bfl-beton-result-card {
    background: #fff;
    border-radius: 1rem;
    border: 1px solid rgba(0,0,0,.07);
    padding: 1rem 1.1rem;
    box-shadow: 0 8px 20px rgba(0,0,0,.06);
}

/* Mise en avant : prix total le plus bas */
.bfl-beton-besttotal {
    margin: .6rem 0 .8rem;
}
.bfl-beton-besttotal-inner {
    background: #fffef9;
    border: 1px solid rgba(0,0,0,.06);
    border-radius: 1rem;
    padding: .75rem .9rem;
    box-shadow: 0 8px 20px rgba(0,0,0,.06);
}
.bfl-beton-besttotal-title {
    font-weight: 800;
    color: #1e1e1e;
    font-size: .95rem;
    margin-bottom: .25rem;
}
.bfl-beton-besttotal-line {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: .5rem;
    font-size: 1.05rem;
}
.bfl-beton-besttotal-store {
    color: #555;
    font-size: .95rem;
}
.bfl-beton-result-card h3 {
    margin: 0 0 .6rem;
    font-size: 1.1rem;
}
.bfl-beton-result-note {
    font-size: .8rem;
    color: #666;
    margin-top: .4rem;
}
.bfl-beton-result-dept {
    margin-top: .35rem;
    font-size: .9rem;
}
.bfl-beton-offers {
    margin-top: 1.6rem;
}
.bfl-beton-offers-head h3 {
    margin: 0 0 .4rem;
    font-size: 1.15rem;
}
.bfl-beton-offers-head p {
    margin: 0 0 .7rem;
    font-size: .9rem;
    color: #555;
}
.bfl-beton-offers-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0,1fr)); /* 3 colonnes comme le comparateur sur desktop */
    gap: 1rem;
    align-items: stretch;
}
@media (max-width: 1100px){
    .bfl-beton-offers-grid {
        grid-template-columns: repeat(2, minmax(0,1fr)); /* 2 colonnes sur écrans moyens */
    }
}
@media (max-width: 720px){
    .bfl-beton-offers-grid {
        grid-template-columns: 1fr; /* 1 colonne sur mobile */
    }
}
.bfl-beton-offer-card {
    background: #fff;
    border-radius: 1rem;
    border: 1px solid rgba(0,0,0,.07);
    box-shadow: 0 8px 20px rgba(0,0,0,.06);
    overflow: hidden;
    display: flex;
    flex-direction: column;
    min-width: 0;
}
.bfl-beton-offer-img-wrap {
    background: #fafafa;
    padding: .7rem;
    text-align: center;
}
.bfl-beton-offer-img-wrap img {
    max-width: 100%;
    max-height: 180px;
    object-fit: contain;
    border-radius: .6rem;
}
.bfl-beton-offer-body {
    padding: .9rem 1rem 1rem;
    display: flex;
    flex-direction: column;
    gap: .4rem;
}
.bfl-beton-offer-title {
    margin: 0;
    font-size: .95rem;
    font-weight: 600;
}
.bfl-beton-offer-meta {
    display: flex;
    flex-wrap: wrap;
    gap: .3rem;
}
.bfl-chip {
    display: inline-flex;
    align-items: center;
    padding: .18rem .45rem;
    border-radius: 999px;
    background: #fffaf4;
    border: 1px solid rgba(0,0,0,.06);
    font-size: .75rem;
    color: #444;
}
.bfl-beton-offer-prices {
    display: flex;
    justify-content: space-between;
    gap: .6rem;
    flex-wrap: wrap;
    margin-top: .2rem;
}
.bfl-beton-offer-prices span {
    display: block;
    font-size: .75rem;
    color: #666;
}
.bfl-beton-offer-prices strong {
    font-size: .95rem;
}
.bfl-beton-offer-actions {
    margin-top: .5rem;
}
.bfl-beton-offer-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: .45rem .8rem;
    border-radius: .8rem;
    border: 1px solid rgba(0,0,0,.12);
    font-size: .85rem;
    text-decoration: none;
    background: #fffef9;
    color: #000;
}
.bfl-beton-offer-link:hover {
    box-shadow: 0 6px 14px rgba(0,0,0,.16);
}
.bfl-beton-offer-updated {
    margin: .3rem 0 0;
    font-size: .75rem;
    color: #777;
}
.bfl-beton-loading,
.bfl-beton-offers-empty {
    background: #fff;
    border-radius: 1rem;
    border: 1px solid rgba(0,0,0,.07);
    padding: .9rem 1rem;
    font-size: .9rem;
    color: #555;
    box-shadow: 0 8px 20px rgba(0,0,0,.06);
}
.bfl-beton-disclaimer {
    margin-top: 1.4rem;
    font-size: .8rem;
    color: #666;
    font-style: italic;
}


/* Bloc calcul de surface (optionnel) */
.bfl-beton-surface-helper {
    background: #fff;
    border-radius: 1rem;
    border: 1px solid rgba(0,0,0,.06);
    padding: 1rem 1.1rem 1.1rem;
    margin-bottom: 1.3rem;
    box-shadow: 0 6px 16px rgba(0,0,0,.04);
}

.bfl-beton-small-title {
    font-size: 1rem;
    font-weight: 600;
    margin: 0 0 .6rem;
    color: #1e1e1e;
}

.bfl-beton-field--surface-btn {
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
}

.bfl-beton-btn-secondary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: .55rem 1.1rem;
    border-radius: .8rem;
    border: none;
    background: linear-gradient(90deg,#ffd99a,#ffb347);
    color: #000;
    font-size: .9rem;
    font-weight: 600;
    cursor: pointer;
    box-shadow: 0 6px 14px rgba(0,0,0,.18);
    transition: transform .15s ease, box-shadow .15s ease, background .15s ease;
}

.bfl-beton-btn-secondary:hover {
    transform: translateY(-1px);
    box-shadow: 0 9px 20px rgba(0,0,0,.24);
}

.bfl-beton-btn-secondary:active {
    transform: translateY(0);
    box-shadow: 0 4px 10px rgba(0,0,0,.16);
}


/* Alignement des options de dosage : case à cocher en début de phrase */
.bfl-beton-dosage-options {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
}

.bfl-beton-dosage-option {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 0.45rem;
}

.bfl-beton-dosage-option input[type="radio"] {
    margin-top: 0.15rem;
}


/* Bloc repères sacs de ciment */
.bfl-beton-results p strong {
    /* keep existing style, no override */
}


/* Projet (si noyau actif) */
.bfl-beton-projectbar{margin-top:12px;display:flex;justify-content:center}

/* Compte gratuit : aperçu public des offres */
.bfl-beton-account-gate{
    margin-top:18px;
    padding:18px;
    border:1px solid #f0b36b;
    border-radius:14px;
    background:#fff8ef;
    text-align:center;
}
.bfl-beton-account-gate strong{
    display:block;
    margin-bottom:6px;
}
.bfl-beton-account-gate p{
    margin:0 0 12px;
}
.bfl-beton-account-gate-btn{
    display:inline-block;
    padding:10px 16px;
    border-radius:10px;
    background:#f47a00;
    color:#fff !important;
    font-weight:700;
    text-decoration:none !important;
}
.bfl-beton-account-gate-btn:hover,
.bfl-beton-account-gate-btn:focus{
    filter:brightness(.94);
}


/* Compte gratuit V2 : rendre les offres restantes impossibles à manquer */
.bfl-beton-account-gate--prominent{margin:16px 0 20px;border:2px solid #f2a23a;background:linear-gradient(135deg,#fff4df,#fff9ef);box-shadow:0 10px 26px rgba(122,59,0,.10);text-align:left}
.bfl-beton-account-gate--prominent .bfl-beton-gate-kicker{font-weight:900;color:#7a3b00;margin-bottom:8px;font-size:.95rem}
.bfl-beton-account-gate--prominent strong{font-size:1.12rem;line-height:1.3;color:#4d2600}
.bfl-beton-account-gate--prominent .bfl-beton-account-gate-btn{display:inline-flex;justify-content:center;text-align:center;margin-top:2px;background:#f47a00;padding:12px 18px;border-radius:12px}
.bfl-beton-locked-offers{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:16px 0 4px}
.bfl-beton-locked-card{display:flex;align-items:center;gap:12px;border:2px dashed #e3b16e;border-radius:14px;background:#fffaf2;padding:16px;min-height:72px;color:#56310d}
.bfl-beton-locked-card .bfl-beton-lock-icon{font-size:1.45rem;flex:0 0 auto}
.bfl-beton-locked-card strong,.bfl-beton-locked-card span{display:block}
.bfl-beton-locked-card div span{font-size:.88rem;color:#745b43;margin-top:3px}
.bfl-beton-locked-more{grid-column:1/-1;text-align:center;font-weight:800;color:#7a3b00;padding:4px}
@media(max-width:760px){.bfl-beton-locked-offers{grid-template-columns:1fr}.bfl-beton-account-gate--prominent .bfl-beton-account-gate-btn{width:100%;box-sizing:border-box}}
