.sss-app{--sss-blue:#07558b;--sss-dark:#12334b;--sss-gold:#f2c94c;--sss-green:#239b62;--sss-red:#c94a4a;color:#243746;font-family:inherit;max-width:1200px;margin:24px auto;padding:clamp(14px,2.5vw,28px);background:#fff;border:1px solid #e4eaf0;border-radius:18px;box-shadow:0 12px 36px rgba(16,48,72,.08)}
.sss-top{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:22px}.sss-top h2{margin:4px 0;color:var(--sss-dark);font-size:clamp(24px,3vw,34px);line-height:1.15}.sss-top p{margin:6px 0 0;color:#657786}.sss-kicker{font-size:11px;font-weight:800;letter-spacing:1.5px;color:var(--sss-blue)}.sss-year{display:flex;align-items:center;gap:14px;background:#f1f6fa;padding:8px 12px;border-radius:12px}.sss-year strong{font-size:21px;min-width:52px;text-align:center;color:var(--sss-dark)}.sss-year button{border:0;background:var(--sss-blue);color:white;border-radius:8px;width:34px;height:34px;font-size:24px;line-height:1;cursor:pointer}.sss-legend{display:flex;flex-wrap:wrap;gap:10px 18px;padding:14px 16px;background:#f7f9fb;border-radius:12px;margin-bottom:22px;font-size:12px;color:#435666}.sss-legend span{display:flex;align-items:center;gap:7px}.sss-legend i{width:12px;height:12px;border-radius:4px;display:inline-block}.sss-legend .today{background:#239b62}.sss-legend .booked{background:#d85a5a}.sss-legend .limit{background:#247db6}.sss-legend .blocked{background:#273d50}.sss-legend .outside{background:#f2d66c}.sss-legend .weekday{background:#dce2e7}.sss-calendar{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.sss-month{border:1px solid #e5ebf0;border-radius:12px;padding:12px;min-width:0}.sss-month h3{text-align:center;font-size:15px;text-transform:uppercase;letter-spacing:.5px;color:white;background:var(--sss-blue);margin:-12px -12px 10px;padding:10px 4px;border-radius:11px 11px 0 0}.sss-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px}.sss-week{margin-bottom:5px}.sss-week span{text-align:center;font-size:10px;font-weight:700;color:#657786;padding:3px 0}.sss-day,.sss-empty{min-width:0;aspect-ratio:1/1;border-radius:6px}.sss-day{border:0;background:#e5f3eb;color:#176c43;font-size:12px;font-weight:700;cursor:pointer;padding:0;transition:transform .12s,filter .12s}.sss-day:not(:disabled):hover{transform:scale(1.08);filter:brightness(.96);outline:2px solid var(--sss-blue);z-index:1}.sss-day.today{background:#239b62;color:white}.sss-day.limit{background:#247db6;color:white;box-shadow:inset 0 0 0 2px #a9d7f2}.sss-day.booked{background:#d85a5a;color:white;cursor:not-allowed}.sss-day.blocked{background:#273d50;color:white;cursor:not-allowed}.sss-day.outside{background:#f7e7a8;color:#816b1c;cursor:not-allowed}.sss-day.weekday{background:#e5e9ed;color:#98a3ac;cursor:not-allowed}.sss-modal[hidden]{display:none}.sss-modal{position:fixed;inset:0;background:rgba(10,28,42,.62);z-index:99999;display:flex;align-items:center;justify-content:center;padding:18px}.sss-modal-card{position:relative;background:#fff;border-radius:16px;width:min(100%,520px);max-height:90vh;overflow:auto;padding:28px;box-shadow:0 18px 60px rgba(0,0,0,.25)}.sss-close{position:absolute;right:14px;top:10px;border:0;background:transparent;font-size:28px;color:#607383;cursor:pointer}.sss-modal-content h3{color:var(--sss-dark);margin:0 30px 14px 0;font-size:22px}.sss-date-info{background:#eff6fa;border-radius:9px;padding:12px;line-height:1.7}.sss-reservation-form label{display:block;font-size:13px;font-weight:700;margin:14px 0;color:#30495b}.sss-reservation-form input:not([type=checkbox]),.sss-reservation-form select{display:block;width:100%;box-sizing:border-box;margin-top:6px;padding:11px;border:1px solid #cbd6df;border-radius:8px;background:white;font:inherit}.sss-summary{padding:12px;background:#f6f8fa;border-left:3px solid var(--sss-blue);border-radius:6px;font-size:13px}.sss-summary p{margin:6px 0 0;font-weight:400}.sss-consent{display:flex!important;align-items:flex-start;gap:8px;font-weight:500!important}.sss-consent input{margin-top:3px}.sss-submit{width:100%;border:0;border-radius:9px;background:var(--sss-blue);color:#fff;padding:14px 18px;font-weight:800;letter-spacing:.3px;cursor:pointer}.sss-submit:disabled{opacity:.6;cursor:wait}.sss-result p{white-space:pre-line;line-height:1.6}.sss-feedback{position:fixed;right:20px;bottom:20px;z-index:100000;max-width:min(420px,calc(100vw - 40px));background:#173f58;color:white;padding:14px 18px;border-radius:10px;box-shadow:0 8px 30px #0002;opacity:0;pointer-events:none;transform:translateY(10px);transition:.2s}.sss-feedback.is-visible{opacity:1;transform:none}.sss-feedback.is-error{background:#9c3434}
@media(max-width:950px){.sss-calendar{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:680px){.sss-calendar{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.sss-app{padding:12px;border-radius:12px}.sss-top{align-items:flex-start;flex-direction:column}.sss-year{align-self:flex-end}.sss-legend{gap:8px 12px}.sss-month{padding:9px}.sss-month h3{margin:-9px -9px 8px;padding:9px 3px;font-size:13px}.sss-day{font-size:11px}.sss-week span{font-size:9px}.sss-modal-card{padding:22px 18px}}@media(max-width:380px){.sss-calendar{grid-template-columns:1fr}.sss-month{max-width:100%}}
.sss-day.past{background:#eef0f2;color:#b0b7bd;cursor:not-allowed}

.sss-homologation-notice{margin:16px 0;padding:16px;border:2px solid #d69e28;border-left-width:6px;border-radius:9px;background:#fff8e5;color:#49380b;line-height:1.55}.sss-homologation-notice strong{display:block;margin-bottom:7px;font-size:14px;letter-spacing:.3px}.sss-homologation-notice p{margin:0;font-weight:800;font-size:13px}
