.wsr-app{--brown:#80613e;--ink:#1d1e1b;--cream:#e9dfd0;--ivory:#f5f0e7;max-width:1000px;margin:auto;color:var(--ink);font-family:Montserrat,Lato,Arial,sans-serif}.wsr-app header{margin:2.5rem 0 1rem}.wsr-app header span{color:var(--brown);font-size:.7rem;letter-spacing:.18em}.wsr-app h2{margin:.25rem 0;font-family:Georgia,serif;font-size:clamp(1.8rem,4vw,3rem);font-weight:400}.wsr-locations,.wsr-choice-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.8rem}.wsr-locations button,.wsr-choice-grid button,.wsr-slot{padding:1.2rem;border:1px solid rgba(29,30,27,.18);border-radius:4px;color:var(--ink);background:#fff;text-align:left;cursor:pointer}.wsr-locations button:hover,.wsr-choice-grid button:hover,.wsr-slot:hover,.wsr-app button.is-selected{border-color:var(--brown);box-shadow:inset 0 0 0 1px var(--brown)}.wsr-app button strong,.wsr-app button small{display:block}.wsr-app button small{margin-top:.25rem;color:#5d5d4e}.wsr-slots{display:flex;flex-wrap:wrap;gap:.6rem}.wsr-slot{min-width:105px;text-align:center}.wsr-booking{margin-top:1.5rem}.wsr-checkout{display:grid;gap:1rem;padding:clamp(1.2rem,4vw,2.5rem);border:1px solid rgba(29,30,27,.18);background:var(--ivory)}.wsr-checkout h3{margin:0;font-family:Georgia,serif;font-size:2rem;font-weight:400}.wsr-checkout label{font-weight:700}.wsr-checkout select,.wsr-fields input{width:100%;margin-top:.4rem;padding:.85rem;border:1px solid rgba(29,30,27,.25);background:#fff;font:inherit}.wsr-fields{display:grid;grid-template-columns:repeat(3,1fr);gap:.7rem}.wsr-qty{display:grid;width:160px;grid-template-columns:45px 70px 45px;margin-top:.4rem;border:1px solid rgba(29,30,27,.25);border-radius:999px;overflow:hidden}.wsr-qty button,.wsr-qty input{border:0;background:#fff;text-align:center;font:inherit}.wsr-qty button{font-size:1.3rem;cursor:pointer}.wsr-summary{padding:1rem;background:var(--cream)}.wsr-consent{font-size:.82rem;font-weight:400!important}.wsr-pay{justify-self:start;padding:.9rem 1.3rem;border:0;border-radius:999px;color:#fff;background:var(--brown);font-weight:800;text-transform:uppercase;cursor:pointer}.wsr-feedback{margin:1rem 0;color:var(--brown);font-weight:700}.wsr-notice{padding:1rem;border-left:4px solid var(--brown);background:var(--cream)}.wsr-notice.success{border-color:#3f6b3f}@media(max-width:700px){.wsr-locations,.wsr-choice-grid,.wsr-fields{grid-template-columns:1fr}.wsr-slot{flex:1 0 30%}}
.wsr-calendar{max-width:560px;padding:1rem;border:1px solid rgba(29,30,27,.18);border-radius:5px;background:#fff}.wsr-calendar-controls{display:grid;grid-template-columns:44px 1fr 44px;align-items:center;margin-bottom:.9rem;text-align:center;text-transform:capitalize}.wsr-calendar-nav{width:40px;height:40px;border:1px solid rgba(29,30,27,.18);border-radius:50%;background:var(--ivory);cursor:pointer}.wsr-calendar-nav:disabled{opacity:.25;cursor:default}.wsr-calendar-weekdays,.wsr-calendar-days{display:grid;grid-template-columns:repeat(7,1fr);gap:.25rem;text-align:center}.wsr-calendar-weekdays{margin-bottom:.35rem;color:#5d5d4e;font-size:.7rem;font-weight:700;text-transform:uppercase}.wsr-calendar-days>span,.wsr-calendar-days>button{display:grid;place-items:center;aspect-ratio:1;border:0;border-radius:50%;font:inherit}.wsr-calendar-days .is-unavailable{color:rgba(29,30,27,.28)}.wsr-calendar-days button{color:var(--ink);background:var(--cream);font-weight:800;cursor:pointer}.wsr-calendar-days button:hover,.wsr-calendar-days button.is-selected{color:#fff;background:var(--brown);box-shadow:none}.wsr-calendar-month[hidden]{display:none}@media(max-width:500px){.wsr-calendar{padding:.7rem}.wsr-calendar-days>span,.wsr-calendar-days>button{font-size:.85rem}}
.wsr-places-intro{margin-bottom:3rem;padding:clamp(1.5rem,4vw,3rem);background:var(--ivory);text-align:center}.wsr-places-intro h2{max-width:760px;margin:.5rem auto}.wsr-places-intro p{max-width:720px;margin:1rem auto 0;color:#5d5d4e}.wsr-eyebrow{color:var(--brown);font-size:.7rem;font-weight:800;letter-spacing:.2em;text-transform:uppercase}.wsr-location-card{overflow:hidden;padding:0!important}.wsr-location-image{display:block;height:230px;background-position:center;background-size:cover}.wsr-location-copy{display:block;padding:1.35rem}.wsr-location-copy>strong{font-family:Georgia,serif;font-size:1.7rem;font-weight:400}.wsr-location-address,.wsr-location-description,.wsr-location-days,.wsr-location-action{display:block!important}.wsr-location-description{margin-top:.85rem;line-height:1.55}.wsr-location-days{margin-top:1rem;padding-top:.8rem;border-top:1px solid rgba(29,30,27,.12);color:var(--brown);font-size:.82rem}.wsr-location-action{margin-top:.8rem;color:var(--brown);font-size:.75rem;font-weight:800;text-transform:uppercase}@media(max-width:700px){.wsr-location-image{height:210px}}
.wsr-payment{display:grid;gap:.65rem;margin:0;padding:1rem;border:1px solid rgba(29,30,27,.18);background:#fff}.wsr-payment legend{padding:0 .4rem;color:var(--brown);font-size:.75rem;font-weight:800;text-transform:uppercase}.wsr-payment label{display:flex;align-items:center;gap:.55rem;font-weight:600}.wsr-payment label small{margin-left:auto;color:#6a6a60;font-weight:400}.wsr-order-review{padding:clamp(1rem,3vw,1.6rem);border:1px solid var(--brown);background:#fff}.wsr-order-review h3{margin:0 0 1rem;font-size:1.6rem}.wsr-order-review dl{display:grid;grid-template-columns:minmax(110px,.7fr) 2fr;gap:.6rem 1rem;margin:0}.wsr-order-review dt{color:#68685e;font-size:.82rem;font-weight:700;text-transform:uppercase}.wsr-order-review dd{margin:0}.wsr-change{margin-top:1.2rem;padding:0;border:0;border-bottom:1px solid var(--brown);color:var(--brown);background:transparent;font:inherit;font-weight:700;cursor:pointer}@media(max-width:500px){.wsr-payment label{align-items:flex-start;flex-wrap:wrap}.wsr-payment label small{width:100%;margin-left:1.55rem}.wsr-order-review dl{grid-template-columns:1fr;gap:.15rem}.wsr-order-review dd{margin-bottom:.65rem}}
.wsr-gift-code input{width:100%;margin-top:.4rem;padding:.85rem;border:1px solid rgba(29,30,27,.25);background:#fff;font:inherit;text-transform:uppercase}.wsr-gift-choice{display:grid!important;grid-template-columns:auto 1fr auto;align-items:center;gap:.5rem;padding:1.1rem;border:1px solid rgba(29,30,27,.18);background:#fff;cursor:pointer}.wsr-gift-choice small{grid-column:2/4;color:#5d5d4e}.wsr-gift-choice b{color:var(--brown)}.wsr-gift-purchase .wsr-fields{grid-template-columns:repeat(2,1fr)}@media(max-width:700px){.wsr-gift-purchase .wsr-fields{grid-template-columns:1fr}}
.wsr-participants{padding:1rem;border:1px solid rgba(29,30,27,.18);background:#fff}.wsr-participants>label{display:block}.wsr-participants>p{margin:.75rem 0 0;color:#5d5d4e;font-size:.85rem}.wsr-remaining{display:block;margin-top:.55rem;color:var(--brown);font-weight:700}.wsr-participants .wsr-qty{width:190px;grid-template-columns:55px 80px 55px}.wsr-participants .wsr-qty button{color:var(--brown);font-size:1.6rem;font-weight:700}
.wsr-return-notice{margin:0 0 1.5rem;padding:1.25rem 1.4rem;box-shadow:0 10px 28px rgba(29,30,27,.09)}.wsr-return-notice h3{margin:0 0 .35rem;font-family:Georgia,serif;font-size:1.55rem;font-weight:400}.wsr-return-notice p{margin:0;line-height:1.55}
.wsr-booking-hub{max-width:1000px;margin:auto}.wsr-booking-tabs{display:grid;grid-template-columns:repeat(2,1fr);gap:.6rem;margin:0 auto 2rem}.wsr-booking-tabs button{padding:1rem;border:1px solid rgba(29,30,27,.18);border-radius:999px;color:var(--ink);background:#fff;font:inherit;font-weight:800;cursor:pointer}.wsr-booking-tabs button.is-selected{color:#fff;border-color:var(--brown);background:var(--brown)}[data-wsr-panel][hidden]{display:none}@media(max-width:560px){.wsr-booking-tabs{grid-template-columns:1fr}}
.wsr-prices-standalone{width:100%;max-width:1200px;margin:0 auto}.wsr-public-prices{--brown:#80613e;--ink:#1d1e1b;--ivory:#f5f0e7;width:100%;margin:0;padding:clamp(1.5rem,4vw,3.2rem);color:var(--ink);background:var(--ivory);font-family:Montserrat,Lato,Arial,sans-serif}.wsr-public-prices>h2{max-width:780px;margin:.35rem 0 1.7rem;font-family:Georgia,serif;font-size:clamp(1.8rem,3vw,2.65rem);font-weight:400;line-height:1.08}.wsr-price-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));gap:1rem}.wsr-price-grid article{min-width:0;padding:clamp(1.2rem,2vw,1.7rem);border:1px solid rgba(29,30,27,.14);background:#fff}.wsr-price-grid h3{margin:0 0 .9rem;font-family:Georgia,serif;font-size:1.35rem;font-weight:400;line-height:1.2}.wsr-price-grid p{margin:.4rem 0}.wsr-price-grid strong{color:var(--brown);font-size:1.18rem}.wsr-price-grid small{display:block;margin-top:.8rem;color:#5d5d4e;line-height:1.5}@media(max-width:560px){.wsr-price-grid{grid-template-columns:1fr}.wsr-public-prices{padding:1.25rem}.wsr-public-prices>h2{font-size:2rem}}

.wsr-contrast-note{font-size:13px;line-height:1.45;color:#5d5d4e;margin:.8rem 0 .4rem;}
@media(max-width:520px){.wsr-contrast-note{font-size:12.5px;}}

/* Descriptions courtes des formules tarifaires */
.wsr-public-prices .wsr-formula-note{font-size:13px;line-height:1.45;color:#5b4932;margin:14px 0 10px;font-weight:400}

/* Carte cadeau imprimable */
.wsr-gift-success-actions{display:flex;gap:.7rem;flex-wrap:wrap;margin-top:1rem}.wsr-gift-download{display:inline-block;padding:.85rem 1.1rem;background:var(--brown);color:#fff!important;text-decoration:none;border-radius:2rem;font-weight:700}.wsr-gift-preview{margin:1rem 0;padding:1rem;border:1px solid rgba(29,30,27,.14);background:var(--ivory)}

/* Carte cadeau : aperçu avant validation */
.wsr-gift-preview-wrap{margin:1.6rem 0 1rem;padding:1.15rem;border:1px solid rgba(149,107,61,.28);background:#faf6ed}
.wsr-gift-preview-wrap h3{margin:.2rem 0 .35rem;font-family:Georgia,serif;font-weight:400;font-size:1.45rem}
.wsr-gift-preview-help{margin:0 0 1rem;color:#5d5d4e;font-size:.92rem}
.wsr-gift-preview{display:grid;grid-template-columns:40% 60%;max-width:760px;margin:auto;border:3px solid #b78935;background:#fbf5e9;padding:10px;aspect-ratio:210/148;overflow:hidden}
.wsr-gift-preview-visual{min-width:0;overflow:hidden;border:1px solid rgba(183,137,53,.72);margin:5px}
.wsr-gift-preview-visual img{width:100%;height:100%;object-fit:cover;display:block;mix-blend-mode:multiply}
.wsr-gift-preview-content{min-width:0;padding:18px 18px 12px;display:flex;flex-direction:column;font-family:Georgia,'Times New Roman',serif;color:#171713}
.wsr-gift-preview-brand{font-size:clamp(18px,3vw,29px);font-weight:700;letter-spacing:.16em;white-space:nowrap}
.wsr-gift-preview-by{color:#b78935;font-style:italic;font-size:clamp(12px,2vw,18px);margin-bottom:12px}
.wsr-gift-preview-title{color:#a97824;font-size:clamp(20px,3.3vw,32px);letter-spacing:.05em;margin-bottom:14px;white-space:nowrap}
.wsr-gift-preview-for{font-size:clamp(13px,2vw,18px);margin-bottom:8px}.wsr-gift-preview-for em{font-size:1.45em;margin-left:7px}
.wsr-gift-preview-message{font-size:clamp(11px,1.6vw,16px);font-style:italic;line-height:1.35;min-height:48px;white-space:pre-wrap;overflow-wrap:anywhere}
.wsr-gift-preview-offer{margin:10px 0;padding:8px 10px;background:rgba(183,137,53,.10);font-size:clamp(12px,1.8vw,18px);letter-spacing:.03em}.wsr-gift-preview-offer:empty{display:none}
.wsr-gift-preview-tag{color:#a97824;letter-spacing:.12em;font-size:clamp(8px,1.15vw,12px);border-bottom:1px solid #b78935;padding:8px 0;white-space:nowrap}
.wsr-gift-preview-meta{display:flex;justify-content:space-between;gap:12px;margin-top:8px;font-size:clamp(8px,1vw,11px);color:#5d5d4e}
.wsr-gift-final-warning{margin:1rem 0;padding:.85rem 1rem;border-left:3px solid #b78935;background:#fffaf0;line-height:1.45}
@media(max-width:650px){.wsr-gift-preview{grid-template-columns:1fr;aspect-ratio:auto}.wsr-gift-preview-visual{height:240px}.wsr-gift-preview-content{padding:14px}.wsr-gift-preview-meta{flex-direction:column;gap:3px}}
.wsr-custom-amount{display:block;margin-top:.75rem}.wsr-custom-amount input{width:100%;min-height:44px;padding:.7rem .8rem;border:1px solid rgba(29,30,27,.2);background:#fff;font:inherit}.wsr-custom-amount[hidden]{display:none!important}

/* Agenda hebdomadaire — parcours par date */
.wsr-weekly-agenda{--brown:#80613e;--ink:#1d1e1b;--cream:#e9dfd0;--ivory:#f5f0e7;width:100%;color:var(--ink);font-family:Montserrat,Lato,Arial,sans-serif}.wsr-week-toolbar{display:grid;grid-template-columns:44px 1fr 44px;align-items:center;margin-bottom:1rem}.wsr-week-toolbar strong{text-align:center;font-size:.85rem;letter-spacing:.06em;text-transform:uppercase}.wsr-week-toolbar button{display:grid;place-items:center;width:40px;height:40px;border:1px solid rgba(29,30,27,.2);border-radius:50%;color:var(--ink);background:transparent;font-size:1.15rem;cursor:pointer}.wsr-week-toolbar button:last-child{justify-self:end}.wsr-week-toolbar button:hover,.wsr-week-toolbar button:focus-visible{color:#fff;border-color:var(--brown);background:var(--brown)}.wsr-week-grid{display:grid;grid-template-columns:repeat(7,minmax(145px,1fr));overflow-x:auto;border-top:1px solid rgba(29,30,27,.16);border-bottom:1px solid rgba(29,30,27,.16)}.wsr-week-day{min-height:290px;padding:1rem .75rem;border-right:1px solid rgba(29,30,27,.14);background:rgba(255,255,255,.35)}.wsr-week-day:last-child{border-right:0}.wsr-week-day>header{display:flex;min-height:55px;flex-direction:column;margin:0 0 1rem;padding:0 0 .8rem;border-bottom:3px solid transparent}.wsr-week-day>header span{color:var(--brown);font-size:.67rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.wsr-week-day>header strong{font-family:Georgia,serif;font-size:1.05rem;font-weight:400}.wsr-week-day.is-today>header{border-bottom-color:var(--brown)}.wsr-week-items{display:grid;gap:.75rem}.wsr-week-empty{margin:.5rem 0;color:#77766e;font-size:.72rem}.wsr-week-item{display:flex;width:100%;flex-direction:column;gap:.16rem;padding:.75rem;border:0;border-top:4px solid var(--brown);border-radius:0;color:var(--ink);background:#fff;font:inherit;text-align:left;text-decoration:none;cursor:pointer}.wsr-week-item.is-event{border-top-color:#c47a4a}.wsr-week-item:hover,.wsr-week-item:focus-visible,.wsr-week-item.is-selected{outline:1px solid var(--brown);box-shadow:0 7px 18px rgba(29,30,27,.1)}.wsr-week-item .wsr-week-time{font-size:.72rem;font-weight:800}.wsr-week-item>strong{font-family:Georgia,serif;font-size:.98rem;line-height:1.2}.wsr-week-item>span:not(.wsr-week-time){color:#5d5d4e;font-size:.68rem}.wsr-week-item>em{margin-top:.45rem;color:var(--brown);font-size:.61rem;font-style:normal;font-weight:800;text-transform:uppercase}.wsr-types header p{margin:.35rem 0 1.2rem;color:#5d5d4e}
@media(max-width:760px){.wsr-week-toolbar{grid-template-columns:42px minmax(0,1fr) 42px;gap:.35rem}.wsr-week-toolbar strong{font-size:.72rem;line-height:1.45}.wsr-week-grid{display:block;overflow:visible;border:0}.wsr-week-grid.is-current-week>.wsr-week-day.is-past{display:none}.wsr-week-day{width:100%;min-width:0;min-height:0;margin:0 0 1rem;padding:1rem;border:1px solid rgba(29,30,27,.16);background:rgba(255,255,255,.48)}.wsr-week-day:last-child{border-right:1px solid rgba(29,30,27,.16)}.wsr-week-day>header{min-height:0;margin-bottom:.8rem}.wsr-week-day>header strong{font-size:1.35rem}.wsr-week-opening>strong{font-size:1.2rem}.wsr-week-slots{max-height:none;padding-right:0;overflow:visible}.wsr-week-slot{min-height:52px;grid-template-columns:62px 1fr;padding:.72rem}.wsr-week-slot strong{font-size:.92rem}.wsr-week-slot small{font-size:.76rem}}
.wsr-week-opening{padding-top:.65rem;border-top:4px solid var(--brown)}.wsr-week-opening>.wsr-week-time,.wsr-week-opening>strong{display:block}.wsr-week-opening>.wsr-week-time{font-size:.7rem;font-weight:800}.wsr-week-opening>strong{margin:.08rem 0 .65rem;font-family:Georgia,serif;font-size:.98rem;font-weight:400}.wsr-week-slots{display:grid;gap:.38rem;max-height:430px;padding-right:.18rem;overflow-y:auto}.wsr-week-slot{display:grid;width:100%;grid-template-columns:44px 1fr;align-items:center;gap:.45rem;padding:.55rem .48rem;border:1px solid rgba(29,30,27,.15);border-radius:3px;color:var(--ink);background:#fff;font:inherit;text-align:left;text-decoration:none;cursor:pointer}.wsr-week-slot:hover,.wsr-week-slot:focus-visible,.wsr-week-slot.is-selected{border-color:var(--brown);box-shadow:inset 0 0 0 1px var(--brown)}.wsr-week-slot strong{font-size:.76rem}.wsr-week-slot small{color:#5d5d4e;font-size:.61rem;line-height:1.2}
.wsr-loyalty{display:block;margin-top:.55rem;color:#5d5d4e;font-size:.85rem}
