/* DM Séjours — front */
.dms-booking{--dms-a:var(--c-primary,#0d4f4a);--dms-b:var(--c-accent,#e4572e);--dms-bg:#fff;background:var(--dms-bg);border:1px solid #e7e2d8;border-radius:20px;padding:22px;box-shadow:0 18px 50px -25px rgba(13,79,74,.35);font-size:15px}
.dms-booking-head{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:14px}
.dms-from{font-size:15px;color:#4b5563}.dms-from b{font-size:24px;color:#111827}
.dms-live{font-size:12px;color:#047857;display:flex;align-items:center;gap:6px}
.dms-dot{width:8px;height:8px;border-radius:50%;background:#10b981;box-shadow:0 0 0 0 rgba(16,185,129,.6);animation:dmsPulse 2s infinite}
@keyframes dmsPulse{70%{box-shadow:0 0 0 8px rgba(16,185,129,0)}100%{box-shadow:0 0 0 0 rgba(16,185,129,0)}}
.dms-cal{position:relative}
.dms-cal-nav{position:absolute;inset:0 0 auto 0;display:flex;justify-content:space-between;pointer-events:none}
.dms-cal-nav button{pointer-events:auto;width:34px;height:34px;border-radius:50%;border:1px solid #e5e7eb;background:#fff;font-size:20px;line-height:1;cursor:pointer;color:#111}
.dms-cal-nav button:hover{background:#f3f4f6}
.dms-months{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:22px}
.dms-month-title{text-align:center;font-weight:700;text-transform:capitalize;margin:6px 0 10px;font-size:15px}
.dms-grid7{display:grid;grid-template-columns:repeat(7,1fr);gap:3px}
.dms-dow{font-size:11px;text-align:center;color:#9ca3af;font-weight:600;padding-bottom:4px}
.dms-day{position:relative;aspect-ratio:1/1;border:0;border-radius:10px;background:#f0faf7;color:#064e3b;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;font:inherit;font-size:13px;font-weight:600;padding:0;transition:transform .1s,background .15s}
.dms-day small{font-size:9px;font-weight:500;color:#6b7280;line-height:1}
.dms-day:hover:not([disabled]){transform:scale(1.07);background:#ccefe4}
.dms-day.is-past{background:transparent;color:#d1d5db;cursor:default}
.dms-day.is-busy{background:repeating-linear-gradient(135deg,#fde2dc 0 4px,#fbd0c6 4px 8px);color:#b4532a;text-decoration:line-through}
.dms-day.is-busy-start{background:linear-gradient(135deg,#f0faf7 50%,#fbd0c6 50%);text-decoration:none}
.dms-day.is-busy-end{background:linear-gradient(135deg,#fbd0c6 50%,#f0faf7 50%)}
.dms-day.is-range{background:color-mix(in srgb,var(--dms-a) 22%,white);color:#0b3b37}
.dms-day.is-in,.dms-day.is-out{background:var(--dms-a)!important;color:#fff!important;text-decoration:none}
.dms-day.is-in small,.dms-day.is-out small{color:#e5f5f2}
.dms-legend{display:flex;gap:16px;font-size:12px;color:#6b7280;margin:12px 0 4px;flex-wrap:wrap}
.dms-legend i{display:inline-block;width:12px;height:12px;border-radius:4px;margin-right:5px;vertical-align:-2px}
.l-free{background:#d7f2ea}.l-busy{background:#fbd0c6}.l-sel{background:var(--dms-a)}
.dms-sel{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:14px 0 10px}
.dms-sel>div,.dms-guests label{border:1px solid #e5e7eb;border-radius:12px;padding:8px 12px}
.dms-sel label{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:#6b7280;font-weight:700}
.dms-sel output{font-weight:600;font-size:14px}
.dms-guests{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.dms-guests label{display:flex;justify-content:space-between;align-items:center;font-weight:600;font-size:14px}
.dms-guests select{border:0;background:transparent;font:inherit;font-weight:700;padding:2px 4px}
.dms-quote{margin-top:14px}
.dms-hint{color:#6b7280;font-size:14px;margin:6px 0}
.dms-err{color:#b91c1c;background:#fef2f2;border-radius:10px;padding:10px 12px;font-size:14px;margin:6px 0}
.dms-ok{color:#065f46;background:#ecfdf5;border-radius:12px;padding:14px;font-size:15px;margin-top:10px}
.dms-quote-box{background:#faf7f2;border-radius:14px;padding:14px 16px}
.dms-quote-title{font-weight:700;margin-bottom:6px}
.dms-quote-lines{list-style:none;margin:0;padding:0;font-size:14px}
.dms-quote-lines li{display:flex;justify-content:space-between;padding:4px 0;color:#4b5563}
.dms-quote-lines .dms-total{border-top:1px solid #e7e2d8;margin-top:6px;padding-top:8px;color:#111827;font-size:17px}
.dms-quote-lines .dms-deposit{font-size:13px;color:#047857}
.dms-form[hidden]{display:none}
.dms-form{display:grid;gap:9px;margin-top:16px}
.dms-form h4{margin:4px 0 2px;font-size:16px}
.dms-form input,.dms-form textarea{width:100%;border:1px solid #d6d3cc;border-radius:12px;padding:11px 13px;font:inherit;background:#fff;box-sizing:border-box}
.dms-form input:focus,.dms-form textarea:focus{outline:2px solid color-mix(in srgb,var(--dms-a) 40%,transparent);border-color:var(--dms-a)}
.dms-hp{position:absolute!important;left:-9999px!important}
.dms-consent{font-size:13px;color:#4b5563;display:flex;gap:8px;align-items:flex-start}
.dms-consent input{width:auto;margin-top:3px}
.dms-btn{background:var(--dms-b,#e4572e);color:#fff;border:0;border-radius:999px;padding:14px 22px;font:inherit;font-weight:700;font-size:16px;cursor:pointer;transition:transform .15s,filter .15s}
.dms-btn:hover{transform:translateY(-1px);filter:brightness(1.05)}
.dms-btn:disabled{opacity:.6}
.dms-small{font-size:12px;color:#6b7280;margin:2px 0 0}
/* Recherche */
.dms-search{display:grid;grid-template-columns:1fr 1fr .7fr .95fr auto;gap:10px;background:#fff;padding:10px;border-radius:22px;box-shadow:0 20px 60px -20px rgba(0,0,0,.45);align-items:end}
.dms-search label{display:flex;flex-direction:column;padding:6px 12px;border-radius:14px;background:#f7f4ee;color:#111}
.dms-search label span{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#6b7280}
.dms-search input,.dms-search select{border:0;background:transparent;font:inherit;font-weight:600;padding:3px 0;color:#111;min-width:0}
.dms-search .dms-btn{height:100%;border-radius:16px}
.dms-search-results{margin-top:14px}
.dms-results-head{font-weight:700;margin:6px 0 10px;color:#fff;text-shadow:0 1px 8px rgba(0,0,0,.4)}
.dms-results{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px}
.dms-result{display:flex;background:#fff;border-radius:16px;overflow:hidden;text-decoration:none;color:#111;box-shadow:0 10px 30px -15px rgba(0,0,0,.4);transition:transform .15s}
.dms-result:hover{transform:translateY(-2px)}
.dms-result.is-off{opacity:.55}
.dms-result-img{width:90px;flex:none;background:#ddd center/cover}
.dms-result-body{padding:10px 12px;display:flex;flex-direction:column;gap:2px;font-size:14px;flex:1}
.dms-result-body small{color:#6b7280}.dms-result-body em{font-style:normal;font-weight:700;color:#0d4f4a;margin-top:auto}
.dms-result-body i{font-size:12px;color:#b91c1c;font-style:normal;margin-top:auto}
.dms-result-cta{font-size:13px;color:#e4572e;font-weight:700}
@media(max-width:720px){.dms-search{grid-template-columns:1fr 1fr}.dms-search .dms-btn{grid-column:1/-1;padding:14px}.dms-booking{padding:16px;border-radius:16px}}
.dms-options{margin-top:10px;border:1px solid #e5e7eb;border-radius:12px;padding:8px 12px;font-size:14px}
.dms-options summary{cursor:pointer;font-weight:600}
.dms-options label{display:flex;gap:8px;align-items:center;padding:5px 0}
.dms-options em{margin-left:auto;font-style:normal;color:#6b7280;font-size:13px;white-space:nowrap}
.dms-coupon{display:flex;gap:6px;margin-top:10px}
.dms-coupon input{flex:1;border:1px solid #e5e7eb;border-radius:12px;padding:9px 12px;font:inherit;text-transform:uppercase}
.dms-coupon button{border:1px solid var(--dms-a);background:#fff;color:var(--dms-a);border-radius:12px;padding:0 14px;font-weight:700;cursor:pointer}
.dms-tiers{font-size:13px;color:#047857;background:#ecfdf5;border-radius:10px;padding:7px 11px;margin:10px 0 0}
.dms-quote-lines .dms-disc{color:#047857}
.dms-tip{font-size:13px;color:#92400e;background:#fffbeb;border-radius:10px;padding:7px 11px;margin:8px 0 0}
.dms-search{width:100%}
.dms-search label{min-width:0}
.dms-search input,.dms-search select{width:100%;-webkit-appearance:none;appearance:none;min-height:28px}
.dms-quote-lines .dms-tax-line{font-size:12.5px;color:#6b7280;padding:1px 0 1px 12px}
.dms-guests small{display:block;font-weight:400;color:#9ca3af;font-size:11px;line-height:1.2}
.dms-guests.is-single{grid-template-columns:1fr}
.dms-search.no-children{grid-template-columns:1fr 1fr .8fr auto}
@media(max-width:720px){.dms-search.no-children{grid-template-columns:1fr 1fr}}

/* --- Page reservation raffinements oct 2026 --- */
.dms-from{display:none}
.dms-tiers,.dms-tip{display:none}
.dms-months{grid-template-columns:1fr 1fr;gap:12px}
.dms-month-title{font-size:13px}
.dms-day{font-size:12px}
.dms-options>summary{list-style:none}
.dms-options[open]>summary{pointer-events:none;cursor:default}
.dms-options>summary::-webkit-details-marker{display:none}
.dms-quote-lines li{gap:14px}
.dms-quote-lines li>span{min-width:0}
.dms-quote-lines li>b{white-space:nowrap;text-align:right;flex:none}
.dms-quote-lines .dms-tax-line{padding-left:0}
