/* olik-calculateur | (c) Olik Communication | MIT */
.olik-calc{--olik-couleur:#e74c3c;background:#fff;border-radius:16px;box-shadow:0 2px 16px rgba(0,0,0,0.07);overflow:hidden;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;color:#222;line-height:1.6;}.olik-progress{padding:1.5rem 1.5rem 0;}.olik-progress-dots{display:flex;justify-content:space-between;position:relative;margin-bottom:0.5rem;}.olik-progress-dots::before{content:'';position:absolute;top:14px;left:0;right:0;height:2px;background:#e5e5e5;}.olik-progress-fill{position:absolute;top:14px;left:0;height:2px;background:var(--olik-couleur);transition:width 0.4s ease;}.olik-dot{width:30px;height:30px;border-radius:50%;background:#fff;border:2px solid #e5e5e5;display:grid;place-items:center;font-size:0.75rem;font-weight:700;color:#bbb;position:relative;z-index:1;transition:all 0.3s ease;}.olik-dot.is-active{border-color:var(--olik-couleur);color:var(--olik-couleur);}.olik-dot.is-done{border-color:var(--olik-couleur);background:var(--olik-couleur);color:#fff;}.olik-progress-labels{display:flex;justify-content:space-between;pointer-events:none;}.olik-progress-label{text-align:center;font-size:0.7rem;color:#999;margin-top:0.25rem;flex:1;}.olik-progress-label.is-active{color:var(--olik-couleur);font-weight:600;}@media (max-width:480px){.olik-progress-labels{display:none;}}.olik-steps{position:relative;overflow:hidden;min-height:380px;}.olik-step{padding:2rem 1.5rem;display:none;animation:olikSlideIn 0.35s ease forwards;}.olik-step.is-active{display:block;}.olik-step.is-reverse{animation-name:olikSlideInReverse;}@keyframes olikSlideIn{from{opacity:0;transform:translateX(24px);}to{opacity:1;transform:translateX(0);}}@keyframes olikSlideInReverse{from{opacity:0;transform:translateX(-24px);}to{opacity:1;transform:translateX(0);}}.olik-step-title{font-size:1.25rem;font-weight:700;margin-bottom:0.35rem;}.olik-step-subtitle{font-size:0.9rem;color:#888;margin-bottom:1.5rem;}.olik-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,180px),1fr));gap:0.75rem;}.olik-cards--2col{grid-template-columns:repeat(auto-fill,minmax(min(100%,220px),1fr));}.olik-cards--3col{grid-template-columns:repeat(auto-fill,minmax(min(100%,160px),1fr));}.olik-card-option{border:2px solid #eee;border-radius:12px;padding:1.25rem 1rem;text-align:center;cursor:pointer;transition:all 0.2s ease;background:#fff;user-select:none;-webkit-tap-highlight-color:transparent;}.olik-card-option:hover{border-color:#ddd;background:#fafafa;}.olik-card-option.is-selected{border-color:var(--olik-couleur);background:color-mix(in srgb,var(--olik-couleur) 6%,#fff);box-shadow:0 0 0 1px var(--olik-couleur);}.olik-card-icon{font-size:1.75rem;margin-bottom:0.5rem;}.olik-card-label{font-size:0.9rem;font-weight:600;color:#333;}.olik-card-desc{font-size:0.78rem;color:#888;margin-top:0.25rem;}.olik-field{margin-bottom:1.25rem;}.olik-field-label{display:block;font-size:0.85rem;font-weight:600;color:#444;margin-bottom:0.4rem;}.olik-field-label .olik-optional{font-weight:400;color:#aaa;}.olik-input,.olik-select,.olik-textarea{width:100%;font:inherit;font-size:0.95rem;padding:0.7rem 0.85rem;border:2px solid #eee;border-radius:10px;background:#fff;color:#222;transition:border-color 0.2s;appearance:none;-webkit-appearance:none;}.olik-select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23999' fill='none' stroke-width='1.5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:36px;}.olik-input:focus,.olik-select:focus,.olik-textarea:focus{outline:none;border-color:var(--olik-couleur);box-shadow:0 0 0 3px color-mix(in srgb,var(--olik-couleur) 12%,transparent);}.olik-textarea{resize:vertical;min-height:80px;}.olik-slider-wrap{display:flex;align-items:center;gap:1rem;}.olik-range{flex:1;height:6px;-webkit-appearance:none;appearance:none;background:#e5e5e5;border-radius:3px;outline:none;cursor:pointer;}.olik-range::-webkit-slider-thumb{-webkit-appearance:none;width:22px;height:22px;border-radius:50%;background:var(--olik-couleur);border:3px solid #fff;box-shadow:0 1px 4px rgba(0,0,0,0.2);cursor:grab;}.olik-range::-moz-range-thumb{width:22px;height:22px;border-radius:50%;background:var(--olik-couleur);border:3px solid #fff;box-shadow:0 1px 4px rgba(0,0,0,0.2);cursor:grab;}.olik-range::-webkit-slider-runnable-track{height:6px;border-radius:3px;}.olik-range:focus{outline:none;}.olik-range:focus::-webkit-slider-thumb{box-shadow:0 0 0 3px color-mix(in srgb,var(--olik-couleur) 20%,transparent);}.olik-range-value{min-width:70px;text-align:center;font-size:1.1rem;font-weight:700;color:var(--olik-couleur);white-space:nowrap;}.olik-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem;}@media (max-width:480px){.olik-row{grid-template-columns:1fr;}}.olik-field-heading{font-size:0.85rem;font-weight:600;color:#444;margin-bottom:0.5rem;}.olik-recap-list{list-style:none;margin-bottom:1.5rem;padding:0;}.olik-recap-list li{display:flex;justify-content:space-between;padding:0.65rem 0;border-bottom:1px solid #f0f0f0;font-size:0.92rem;}.olik-recap-list li:last-child{border-bottom:none;}.olik-recap-label{color:#888;}.olik-recap-value{font-weight:600;color:#222;text-align:right;}.olik-price-box{background:linear-gradient(135deg,color-mix(in srgb,var(--olik-couleur) 5%,#fff) 0%,color-mix(in srgb,var(--olik-couleur) 3%,#fff) 100%);border:2px solid color-mix(in srgb,var(--olik-couleur) 25%,#fff);border-radius:12px;padding:1.25rem;text-align:center;margin-bottom:1rem;}.olik-price-label{font-size:0.85rem;color:#888;margin-bottom:0.25rem;}.olik-price-value{font-size:1.75rem;font-weight:800;color:var(--olik-couleur);}.olik-price-note{text-align:center;font-size:0.82rem;color:#666;margin-top:0.5rem;margin-bottom:0.75rem;}.olik-note-tag{display:inline-block;background:#eef;color:#556;font-size:0.75rem;font-weight:600;padding:2px 8px;border-radius:4px;margin-right:4px;}.olik-disclaimer{font-size:0.78rem;color:#999;text-align:center;font-style:italic;}.olik-confirmation{text-align:center;padding:2rem 0;}.olik-check-icon{width:64px;height:64px;border-radius:50%;background:#27ae60;color:#fff;display:grid;place-items:center;margin:0 auto 1rem;font-size:1.75rem;}.olik-confirmation h3{font-size:1.25rem;margin-bottom:0.5rem;}.olik-confirmation p{color:#666;font-size:0.95rem;}.olik-nav{padding:0 1.5rem 1.5rem;display:flex;justify-content:space-between;gap:1rem;}.olik-btn{font:600 0.9rem system-ui,sans-serif;padding:0.75rem 1.75rem;border-radius:10px;cursor:pointer;transition:all 0.2s ease;border:none;-webkit-tap-highlight-color:transparent;}.olik-btn-prev{background:#f0f0f0;color:#555;}.olik-btn-prev:hover{background:#e5e5e5;}.olik-btn-next{background:var(--olik-couleur);color:#fff;margin-left:auto;}.olik-btn-next:hover{filter:brightness(0.9);}.olik-btn-next:disabled{opacity:0.4;cursor:not-allowed;}.olik-btn-submit{background:#27ae60;color:#fff;width:100%;padding:0.9rem;font-size:1rem;}.olik-btn-submit:hover{background:#219a52;}.olik-btn-submit.is-loading{opacity:0.7;cursor:wait;}.olik-error{background:#fef2f2;border:1px solid #fecaca;border-radius:10px;padding:1rem;margin-top:1rem;text-align:center;}.olik-error p{color:#991b1b;font-size:0.9rem;margin:0;}.olik-error strong{color:#7f1d1d;}.olik-hidden{display:none !important;}@media (prefers-reduced-motion:reduce){.olik-step,.olik-dot,.olik-progress-fill,.olik-card-option{transition-duration:0.01ms !important;animation-duration:0.01ms !important;}}