.lilo-asa{font-family:inherit;max-width:1100px;margin:25px auto;padding:0 12px;color:#111827}
.lilo-asa *{box-sizing:border-box}
.lilo-asa-intro{border:3px solid #111827;border-radius:18px;padding:26px;background:#fff;margin-bottom:22px;display:flex;align-items:center;justify-content:space-between;gap:24px;overflow:hidden}
.lilo-asa-badge{display:inline-block;background:#d3eb69;color:#111827;font-weight:600;padding:6px 12px;border-radius:999px;margin-bottom:8px}
.lilo-asa h2{margin:4px 0 10px;font-size:30px;color:#005b8f}
.lilo-asa h3{font-size:24px;margin:0 0 18px;color:#005b8f}
.lilo-asa p{font-size:17px;line-height:1.45;color:#111827}
.lilo-asa-small{font-size:15px!important;opacity:.82}
.lilo-asa-progress{display:flex;gap:8px;margin:12px 0 24px}
.lilo-asa-progress span{height:7px;flex:1;background:#dde4e8;border-radius:999px}
.lilo-asa-progress span.active{background:#347d8f}
.lilo-asa-step{display:none;background:#f7f7f7;padding:24px;border-radius:16px}
.lilo-asa-step.active{display:block}
.lilo-asa-grid{display:grid;gap:18px}
.lilo-asa-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.lilo-asa-field span{display:block;font-weight:600;margin-bottom:7px;color:#111827}
.lilo-asa-field select{width:100%;height:48px;border:1px solid #c7d2da;border-radius:10px;padding:0 12px;background:#fff;font-size:16px;color:#111827}
.lilo-asa-choice-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.lilo-asa-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.lilo-asa-cards-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.lilo-asa-card{border:2px solid #d9e2e8;background:#fff;border-radius:16px;padding:0;cursor:pointer;text-align:left;font-size:16px;transition:.18s;overflow:hidden;box-shadow:0 2px 10px rgba(0,0,0,.03);color:#111827;appearance:none;-webkit-appearance:none}
.lilo-asa-card:hover{border-color:#347d8f;box-shadow:0 8px 18px rgba(52,125,143,.12);transform:translateY(-1px)}
.lilo-asa-card.selected{border-color:#347d8f;background:#347d8f;box-shadow:0 10px 22px rgba(52,125,143,.18);transform:translateY(-1px)}
.lilo-asa-card.selected strong,.lilo-asa-card.selected span{color:#fff!important}
.lilo-asa-card-media{height:140px;background:#fff;display:flex;align-items:center;justify-content:center;padding:10px;border-bottom:1px solid #e8edf0}
.lilo-asa-cards-4 .lilo-asa-card-media{height:120px}
.lilo-asa-card.selected .lilo-asa-card-media{border-bottom-color:rgba(255,255,255,.25)}
.lilo-asa-card-media img{width:100%;height:100%;object-fit:contain;display:block}
.lilo-asa-card-placeholder{background:linear-gradient(135deg,#f7fafc 0%,#eef6f8 100%)}
.lilo-asa-card-content{padding:16px 16px 18px}
.lilo-asa-card strong{display:block;font-size:19px;margin-bottom:7px;color:#111827;font-weight:600}
.lilo-asa-card span{font-size:14px;line-height:1.45;color:#475569;display:block}
.lilo-asa-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:22px}
.lilo-asa-btn{border:0;border-radius:999px;background:#347d8f;color:#fff!important;font-weight:600;padding:13px 22px;cursor:pointer;font-size:16px;appearance:none;-webkit-appearance:none}
.lilo-asa-btn.secondary{background:#fff!important;color:#347d8f!important;border:2px solid #347d8f}
.lilo-asa-products{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.lilo-asa-product{background:#fff;border:1px solid #e6eef1;border-radius:16px;overflow:hidden;box-shadow:0 5px 18px rgba(0,0,0,.05);display:flex;flex-direction:column}
.lilo-asa-product-img{display:block;background:#fff;text-align:center;padding:14px}
.lilo-asa-product-img img{width:100%;height:220px;object-fit:contain}
.lilo-asa-product-body{padding:16px;display:flex;flex-direction:column;gap:10px;flex:1}
.lilo-asa-product h4{margin:0;font-size:18px;line-height:1.3;font-weight:500}
.lilo-asa-product h4 a{text-decoration:none;color:#111827}
.lilo-asa-badges{display:flex;gap:5px;flex-wrap:wrap}.lilo-asa-badges span{background:#eef6f8;border:1px solid #d5e8ee;border-radius:999px;padding:4px 8px;font-size:12px;color:#2b5560}
.lilo-asa-price{font-weight:600;margin-top:auto;color:#111827}
.lilo-asa-reserve{display:block;text-align:center;background:#d3eb69;color:#111827!important;text-decoration:none;border-radius:999px;font-weight:600;padding:11px 15px}
.lilo-asa-loading,.lilo-asa-no-result,.lilo-asa-error{background:#fff;border:1px solid #e5e5e5;border-radius:14px;padding:20px}
.lilo-asa-no-result strong{display:block;margin-bottom:8px}
@media(max-width:980px){.lilo-asa-cards-4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:800px){.lilo-asa-grid-2,.lilo-asa-cards,.lilo-asa-products,.lilo-asa-cards-4{grid-template-columns:1fr}.lilo-asa-intro{padding:20px}.lilo-asa h2{font-size:25px}.lilo-asa h3{font-size:21px}.lilo-asa-actions{flex-direction:column-reverse}.lilo-asa-btn{width:100%}.lilo-asa-product-img img{height:190px}.lilo-asa-card-media{height:160px}}

.lilo-asa-helper{margin:14px 0 0;font-size:14px!important;color:#475569}
.lilo-asa-field.disabled{opacity:.45}
.lilo-asa-field.disabled select{cursor:not-allowed;background:#f1f5f9}
.lilo-asa-price-note{font-size:13px!important;color:#475569;margin:12px 0 0;font-style:italic}
.lilo-asa-price sup{font-size:12px;margin-left:1px}

.lilo-asa-intro-text{flex:1;min-width:0}
.lilo-asa-intro-img{width:230px;max-width:32%;align-self:stretch;display:flex;align-items:flex-end;justify-content:center}
.lilo-asa-intro-img img{max-width:100%;max-height:170px;object-fit:contain;display:block}
@media(max-width:800px){
    .lilo-asa-intro{display:block}
    .lilo-asa-intro-img{width:100%;max-width:100%;margin-top:12px;max-height:150px}
    .lilo-asa-intro-img img{max-height:150px}
}

/* V1.5.0 - corrections lisibilité cartes */
.lilo-asa-cards-4{grid-template-columns:repeat(3,minmax(0,1fr))}
.lilo-asa-card:hover{background:#ffffff;color:#111827}
.lilo-asa-card:hover strong,
.lilo-asa-card:hover span{color:#111827!important}
.lilo-asa-card.selected{background:#347d8f;color:#ffffff}
.lilo-asa-card.selected .lilo-asa-card-content{background:#347d8f}
.lilo-asa-card.selected .lilo-asa-card-media{background:#ffffff!important;border-bottom-color:#e8edf0!important}
.lilo-asa-card.selected strong,
.lilo-asa-card.selected span{color:#ffffff!important}
.lilo-asa-card-media img{position:relative;z-index:1}
@media(max-width:980px){.lilo-asa-cards-4{grid-template-columns:1fr}}
