.cac-public{width:100%;max-width:940px;margin:20px auto;padding:16px;background:#fff;border:1px solid #d8dde2;border-radius:8px;box-shadow:0 2px 8px rgba(0,0,0,.07);color:#202830;box-sizing:border-box}.cac-public *{box-sizing:border-box}.cac-public-head h2{margin:0 0 8px;font-size:28px}.cac-public-head p{margin:5px 0}.cac-step-title{font-size:15px;font-weight:800;color:#53606b;text-transform:uppercase;letter-spacing:.03em;margin:18px 0 8px}.cac-plan-layout{display:grid;grid-template-columns:270px minmax(0,1fr);gap:20px;margin-top:8px;align-items:start}.cac-zone-panel,.cac-plan-panel{min-width:0;border:1px solid #dce1e5;border-radius:7px;background:#fafbfc;padding:16px}.cac-zone-panel h3{margin-top:0;font-size:22px}.cac-help{color:#59636c}.cac-zone-list{border:0;padding:0;margin:16px 0}.cac-zone-choice{--zone-color:#777;display:flex;align-items:center;gap:10px;margin:9px 0;padding:11px 12px;border:2px solid #d7dde2;border-radius:7px;background:#fff;cursor:pointer;transition:.18s ease}.cac-zone-choice:hover{border-color:var(--zone-color);transform:translateX(2px)}.cac-zone-choice.is-selected{border-color:var(--zone-color);box-shadow:0 0 0 3px color-mix(in srgb,var(--zone-color) 18%,transparent);background:color-mix(in srgb,var(--zone-color) 7%,white)}.cac-zone-choice input{margin:0}.cac-zone-letter{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:5px;background:var(--zone-color);color:#fff;font-weight:800;font-size:21px;flex:0 0 auto}.cac-zone-label{font-weight:700;color:var(--zone-color);line-height:1.25}.cac-zone-status{min-height:46px;margin:14px 0 10px;font-weight:700;padding:10px 12px;border-radius:6px;background:#f0f3f5}.cac-zone-status[data-zone]{background:#edf7fb}.cac-status-letter{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:4px;background:#167ca5;color:#fff;margin-right:6px}.cac-continue,.cac-review-selection{width:100%;border:0;border-radius:6px;padding:12px 16px;background:#167ca5;color:#fff;font-weight:800;font-size:16px;cursor:pointer}.cac-continue:disabled,.cac-review-selection:disabled{opacity:.45;cursor:not-allowed}.cac-plan-panel{padding:12px}.cac-plan-stage{position:relative;width:100%;line-height:0;overflow:hidden}.cac-plan-image{display:block;width:100%;height:auto}.cac-hotspot{position:absolute;z-index:4;background:transparent;cursor:pointer;padding:0;transition:background-color .15s ease,box-shadow .15s ease,filter .15s ease;left:0;top:0;width:100%;height:100%;border:0;border-radius:0}.cac-hotspot:hover,.cac-hotspot.is-hovered{background:rgba(255,255,255,.25);box-shadow:0 0 16px 6px rgba(255,255,255,.85);filter:brightness(1.18)}.cac-hotspot.is-selected{background:rgba(255,255,255,.22);box-shadow:0 0 17px 7px rgba(255,255,255,.95)}.cac-hotspot-a1{clip-path:polygon(18.2% 13.6%,20.2% 12.9%,48.2% 44.4%,46.1% 46.1%)}.cac-hotspot-a2{clip-path:polygon(54.1% 53.2%,56.0% 52.3%,62.2% 61.8%,60.2% 63.8%)}.cac-hotspot-d1{clip-path:polygon(15.0% 15.0%,17.0% 14.1%,45.1% 46.6%,43.0% 48.2%)}.cac-hotspot-d2{clip-path:polygon(50.2% 56.4%,52.2% 55.2%,58.5% 64.1%,56.4% 66.0%)}.cac-hotspot-e{clip-path:polygon(64.5% 63.6%,66.3% 64.9%,84.7% 41.0%,82.9% 39.8%)}.cac-hotspot-b{clip-path:polygon(63.8% 64.0%,65.7% 62.7%,96.0% 93.2%,94.0% 95.0%)}.cac-hotspot-c{clip-path:polygon(60.6% 66.0%,62.3% 64.5%,94.0% 96.1%,92.0% 98.0%)}
/* Ruban */
.cac-ribbon-head{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:16px;padding:10px 0 14px;border-bottom:1px solid #dce1e5}.cac-ribbon-head .cac-step-title{margin:0 0 4px}.cac-ribbon-zone-title{margin:0;font-size:20px}.cac-back-plan,.cac-clear-selection{border:1px solid #b8c3cc;background:#fff;color:#24576e;border-radius:6px;padding:9px 12px;font-weight:700;cursor:pointer}.cac-selection-counter{min-width:78px;padding:10px;border:1px solid #d5dce1;border-radius:7px;background:#f7fafb;text-align:center;font-size:16px}.cac-selection-counter strong{font-size:25px;color:#167ca5}.cac-ribbon-toolbar{display:flex;justify-content:space-between;gap:12px;align-items:center;margin:14px 0;padding:10px 12px;background:#edf7fb;border:1px solid #cfe3ec;border-radius:6px}.cac-selection-by-zone{font-size:14px;line-height:1.4}.cac-ribbon-shell{display:grid;grid-template-columns:40px minmax(0,1fr) 40px;gap:8px;align-items:center}.cac-scroll{height:58px;border:0;border-radius:6px;background:#167ca5;color:#fff;font-size:27px;font-weight:700;cursor:pointer}.cac-ribbon-viewport{overflow-x:auto;overflow-y:hidden;scroll-behavior:smooth;border:1px solid #cfd6dc;background:#f5f7f8;border-radius:6px;padding:14px 12px 20px;cursor:grab}.cac-ribbon-viewport.is-dragging{cursor:grabbing;user-select:none}.cac-ribbon-track{display:flex;align-items:flex-end;min-width:max-content}.cac-ribbon-item{flex:0 0 auto;position:relative;padding-top:86px}.cac-house{position:absolute;top:0;left:0;right:0;height:70px;border:2px solid #111;background:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;overflow:hidden}.cac-house-empty{border-color:transparent;background:transparent}.cac-house-icon{font-size:15px;line-height:1}.cac-house-number{display:block;max-width:100%;padding:0 3px;font-size:14px;line-height:1.05;text-align:center;white-space:normal;overflow-wrap:anywhere}.cac-stall-row{display:flex;align-items:flex-end}.cac-stall{width:54px;height:48px;border:2px solid #111;display:flex;align-items:center;justify-content:center;font-size:15px;font-weight:800;cursor:pointer;padding:0;margin:0}.cac-stall-free{background:#20b94b;color:#111}.cac-stall-reserved{background:#c93636;color:#fff;cursor:not-allowed}.cac-stall-unavailable{background:#7c858c;color:#fff;cursor:not-allowed}.cac-stall.is-selected{background:#f3a126;color:#111}.cac-gap{height:48px;min-width:28px;border-top:2px dashed #68737d;border-bottom:2px dashed #68737d;background:repeating-linear-gradient(135deg,#eceff1,#eceff1 7px,#d9dee2 7px,#d9dee2 14px);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:2px 4px;overflow:hidden}.cac-gap-large{background:#ffe0b3;border-color:#e8881c}.cac-gap-icon{font-size:14px;line-height:1}.cac-gap-label{font-size:10px;line-height:1.02}.cac-gap-meters{font-size:9px;line-height:1}.cac-legend{display:flex;flex-wrap:wrap;gap:12px;margin:12px 0;font-size:12px}.cac-legend span{display:inline-flex;align-items:center;gap:5px}.cac-swatch{width:16px;height:16px;border:1px solid #444;display:inline-block}.cac-free{background:#20b94b}.cac-selected{background:#f3a126}.cac-reserved{background:#c93636}.cac-unavailable{background:#7c858c}.cac-gap-swatch{background:repeating-linear-gradient(135deg,#eceff1,#eceff1 5px,#d9dee2 5px,#d9dee2 10px)}.cac-ribbon-actions{display:grid;grid-template-columns:auto minmax(220px,330px);justify-content:space-between;gap:14px;align-items:center;margin-top:16px}.cac-review-selection{width:auto}.cac-alpha-summary{margin-top:16px;padding:15px;border-left:5px solid #167ca5;background:#edf7fb}.cac-alpha-summary h3{margin-top:0}.cac-alpha-summary table{width:100%;border-collapse:collapse;background:#fff}.cac-alpha-summary th,.cac-alpha-summary td{border:1px solid #ccd6dc;padding:7px;text-align:left}.screen-reader-text{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:760px){.cac-public{width:100%;margin:10px auto;padding:12px}.cac-plan-layout{grid-template-columns:1fr}.cac-plan-panel{order:-1}.cac-public-head h2{font-size:24px}.cac-plan-panel{max-width:680px;margin:0 auto;width:100%}.cac-ribbon-head{grid-template-columns:1fr auto}.cac-ribbon-head>.cac-back-plan{grid-column:1/-1;justify-self:start}.cac-ribbon-toolbar{align-items:flex-start;flex-direction:column}.cac-ribbon-actions{grid-template-columns:1fr}.cac-review-selection,.cac-back-plan-bottom{width:100%}}@media(max-width:480px){.cac-zone-choice{align-items:flex-start}.cac-zone-label{font-size:14px}.cac-zone-panel,.cac-plan-panel{padding:12px}.cac-ribbon-shell{grid-template-columns:34px minmax(0,1fr) 34px}.cac-stall{width:48px}.cac-ribbon-item{padding-top:80px}}
body.cac-brocante-page #container{float:none;margin:0;width:100%}body.cac-brocante-page #content{margin:0 auto;width:940px;max-width:calc(100vw - 32px)}body.cac-brocante-page #primary,body.cac-brocante-page #secondary{display:none}body.cac-brocante-page .entry-content{width:100%;max-width:none}
/* Alpha 5 — formulaire */
.cac-form-summary{margin:10px 0 18px;padding:14px;border-left:5px solid #167ca5;background:#edf7fb}.cac-form-summary h3{margin-top:0}.cac-form-summary table{width:100%;border-collapse:collapse;background:#fff}.cac-form-summary th,.cac-form-summary td{border:1px solid #ccd6dc;padding:7px;text-align:left}.cac-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.cac-form-grid label{font-weight:700;display:flex;flex-direction:column;gap:5px}.cac-form-grid label.cac-wide{grid-column:1/-1}.cac-form-grid input[type=text],.cac-form-grid input[type=email],.cac-form-grid input[type=tel],.cac-form-grid textarea{width:100%;padding:10px;border:1px solid #b9c3ca;border-radius:5px;font:inherit}.cac-form-grid label.cac-wide:has(input[type=checkbox]){display:block}.cac-consents{display:grid;gap:9px;margin:18px 0;padding:14px;background:#f7f8f9;border:1px solid #d9dee2;border-radius:6px}.cac-form-actions{display:grid;grid-template-columns:auto minmax(260px,360px);justify-content:space-between;gap:14px;margin-top:18px}.cac-back-review{border:1px solid #b8c3cc;background:#fff;color:#24576e;border-radius:6px;padding:11px 14px;font-weight:700;cursor:pointer}.cac-submit-reservation,.cac-go-form{border:0;border-radius:6px;padding:12px 16px;background:#167ca5;color:#fff;font-weight:800;font-size:16px;cursor:pointer}.cac-submit-reservation:disabled{opacity:.55}.cac-form-error{margin:14px 0;padding:12px;border-left:5px solid #c93636;background:#fff0f0;color:#7b1717}.cac-success-box{padding:24px;border:1px solid #b7d8c0;border-left:7px solid #20a44b;background:#f1fbf4;border-radius:7px}.cac-success-box h3{margin-top:0;color:#167a35}@media(max-width:650px){.cac-form-grid{grid-template-columns:1fr}.cac-form-grid label.cac-wide{grid-column:auto}.cac-form-actions{grid-template-columns:1fr}.cac-back-review,.cac-submit-reservation{width:100%}}

.cac-payment-box{margin-top:22px;padding:18px;border:1px solid #b8d9c2;border-left:6px solid #20a44b;background:#f4fbf6;border-radius:6px}
.cac-payment-box h3{margin-top:0}.cac-payment-layout{display:grid;grid-template-columns:1fr 280px;gap:22px;align-items:center}.cac-qr-wrap{text-align:center}.cac-epc-qr{max-width:260px;width:100%;height:auto;background:#fff;padding:8px;border:1px solid #ccd0d4}.cac-pay-communication{font-size:1.15em}.cac-mail-status{font-weight:700;color:#166534}@media(max-width:700px){.cac-payment-layout{grid-template-columns:1fr}.cac-qr-wrap{order:-1}}
