/* Refuge Manager 3.0.6 — calendrier lisible, identité alpine du Lindion */
.refuge-public-agenda{
 --rm-forest:#294b3b;--rm-forest-dark:#1d382c;--rm-sage:#e7eee5;--rm-cream:#faf7ef;--rm-paper:#fffdf8;--rm-wood:#8a6548;--rm-ink:#28332c;--rm-muted:#6f766d;--rm-line:#e5e0d4;
 width:100%;max-width:100%;min-width:0;box-sizing:border-box;color:var(--rm-ink);font-family:inherit;background:var(--rm-cream);padding:clamp(14px,2.5vw,28px);border:1px solid var(--rm-line);border-radius:18px;box-shadow:0 8px 26px rgba(40,51,44,.06);overflow:hidden
}
.refuge-public-agenda *{box-sizing:border-box}
.refuge-public-nav{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;gap:12px;margin:0 0 18px;padding:0 0 16px;border-bottom:1px solid var(--rm-line)}
.refuge-public-nav strong{text-align:center;font-family:Georgia,'Times New Roman',serif;font-size:clamp(1.4rem,2.5vw,2rem);font-weight:600;letter-spacing:.01em;color:var(--rm-forest);text-transform:capitalize;line-height:1.25}
.refuge-public-nav a{display:flex;align-items:center;justify-content:center;width:42px;height:42px;border:1px solid #d7dfd4;border-radius:50%;background:var(--rm-paper);color:var(--rm-forest);text-decoration:none;font-size:1.8rem;line-height:1;transition:background .2s ease,color .2s ease}
.refuge-public-nav a:hover,.refuge-public-nav a:focus-visible{background:var(--rm-forest);color:#fff}
.refuge-public-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:10px;align-items:stretch}
.refuge-public-day{position:relative;min-width:0;min-height:124px;display:flex;flex-direction:column;align-items:flex-start;gap:9px;padding:12px 10px;border:1px solid var(--rm-line);border-top:3px solid #769478;border-radius:11px;background:var(--rm-paper);transition:border-color .2s ease,box-shadow .2s ease}
.refuge-public-day strong{font-size:clamp(.82rem,1vw,.98rem);font-weight:750;color:var(--rm-forest);letter-spacing:0;line-height:1.25;overflow-wrap:anywhere}
.refuge-public-day span{display:block;font-size:.82rem;line-height:1.4;color:#3f694b;overflow-wrap:anywhere}
.refuge-public-day.available{border-top-color:#769478}
.refuge-public-day.full{background:#f1eee7;border-top-color:#b79b7d}.refuge-public-day.full span{color:#826a53}
.refuge-public-day.closed{background:#f1eee9;border-top-color:#c7c0b4}.refuge-public-day.closed strong,.refuge-public-day.closed span{color:#77786f}
.refuge-book-link{display:flex;align-items:center;justify-content:center;width:100%;min-height:36px;margin-top:auto;padding:8px 7px;border-radius:7px;background:var(--rm-forest);color:#fff!important;text-align:center;text-decoration:none!important;font-size:.82rem;font-weight:700;line-height:1.2;transition:background .2s ease}
.refuge-book-link:hover,.refuge-book-link:focus-visible{background:var(--rm-forest-dark);color:#fff!important}
.refuge-booking,.refuge-booking-success{margin-top:24px;padding:clamp(18px,3vw,30px);border:1px solid var(--rm-line);border-radius:16px;background:var(--rm-paper);box-shadow:0 6px 20px rgba(40,51,44,.04)}
.refuge-booking h3,.refuge-booking-success h3{margin:0 0 18px;color:var(--rm-forest);font-family:Georgia,'Times New Roman',serif;font-size:clamp(1.35rem,3vw,1.65rem);line-height:1.3}
.refuge-booking-form p{margin:0 0 15px}.refuge-booking-form label{display:block;font-weight:650;color:var(--rm-ink);font-size:.95rem;line-height:1.5}
.refuge-booking-form input,.refuge-booking-form select,.refuge-booking-form textarea{display:block;width:100%;max-width:100%;min-height:46px;margin-top:6px;padding:11px 13px;border:1px solid #d9d8ce;border-radius:9px;background:#fffefa;color:var(--rm-ink);font:inherit;font-size:16px;transition:border-color .2s ease,box-shadow .2s ease}
.refuge-booking-form input:focus,.refuge-booking-form select:focus,.refuge-booking-form textarea:focus{outline:none;border-color:#78917b;box-shadow:0 0 0 3px rgba(91,126,96,.13)}.refuge-booking-form textarea{min-height:100px;resize:vertical}
.rm-two{display:grid;grid-template-columns:1fr 1fr;gap:14px}.rm-total{padding:15px 17px;border-radius:10px;background:var(--rm-sage);font-size:1rem;line-height:1.9;color:var(--rm-forest)}.rm-total strong{color:var(--rm-forest-dark)}
.refuge-booking-form button.button,.refuge-booking-form button.button-primary{display:flex;align-items:center;justify-content:center;width:100%;min-height:48px;padding:13px 18px;border:0;border-radius:9px;background:var(--rm-forest);color:#fff;font:inherit;font-weight:700;line-height:1.4;white-space:normal;text-align:center;cursor:pointer}.refuge-booking-form button.button:hover,.refuge-booking-form button.button-primary:hover{background:var(--rm-forest-dark);color:#fff}
.refuge-booking .description{margin:16px 0 0;color:var(--rm-muted);font-size:.9rem;line-height:1.6}.refuge-rib{padding:16px;border-radius:10px;background:var(--rm-cream);border:1px solid var(--rm-line);white-space:normal;line-height:1.8;overflow-wrap:anywhere}.refuge-booking-success{border-color:#cddccc;background:#f7faf5}.refuge-booking-error,.refuge-agenda-warning{margin-top:20px;padding:15px 18px;border:1px solid #e5c9bb;border-radius:10px;background:#fff7f2;color:#7b3825;line-height:1.6}
@media(hover:hover){.refuge-public-day.available:hover{border-color:#a9bca6;box-shadow:0 5px 16px rgba(40,51,44,.07)}}
/* Tablette : cartes respirantes sur trois colonnes */
@media(max-width:900px){.refuge-public-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.refuge-public-day{min-height:112px;padding:12px}.refuge-public-day strong{font-size:.95rem}}
/* Smartphone : deux colonnes pour garder les dates, places et boutons lisibles */
@media(max-width:520px){.refuge-public-agenda{padding:13px;border-radius:14px}.refuge-public-nav{grid-template-columns:40px minmax(0,1fr) 40px;gap:8px;margin-bottom:14px;padding-bottom:13px}.refuge-public-nav a{width:38px;height:38px;font-size:1.55rem}.refuge-public-nav strong{font-size:1.28rem}.refuge-public-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.refuge-public-day{min-height:112px;padding:12px 10px;gap:8px;border-radius:10px}.refuge-public-day strong{font-size:.95rem}.refuge-public-day span{font-size:.88rem;line-height:1.4}.refuge-book-link{min-height:42px;font-size:.88rem;padding:9px 6px}.rm-two{grid-template-columns:1fr;gap:0}.refuge-booking,.refuge-booking-success{padding:17px;margin-top:18px}.refuge-booking-form button.button,.refuge-booking-form button.button-primary{min-height:50px}}
@media(max-width:340px){.refuge-public-agenda{padding:9px}.refuge-public-grid{gap:6px}.refuge-public-day{padding:10px 8px}.refuge-public-nav strong{font-size:1.15rem}}
@media(prefers-reduced-motion:reduce){.refuge-public-day,.refuge-public-nav a,.refuge-book-link,.refuge-booking-form button{transition:none}}


/* Version 3.0.7 — mise en page plus aérée et libellés français */
.refuge-public-agenda{padding:clamp(22px,3.5vw,38px);border-radius:20px}
.refuge-public-nav{gap:18px;margin-bottom:25px;padding-bottom:21px}
.refuge-public-nav strong{font-size:clamp(1.55rem,2.8vw,2.15rem);letter-spacing:.015em}
.refuge-public-grid{gap:13px}
.refuge-public-day{min-height:142px;padding:15px 12px;gap:12px;border-radius:13px;border-top-width:4px}
.refuge-public-day strong{font-size:clamp(.88rem,1.05vw,1rem);line-height:1.4}
.refuge-public-day span{font-size:.88rem;line-height:1.55}
.refuge-book-link{min-height:40px;margin-top:auto;padding:10px 8px;border-radius:8px;font-size:.86rem}
@media(max-width:900px){.refuge-public-agenda{padding:22px}.refuge-public-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.refuge-public-day{min-height:132px;padding:14px;gap:11px}}
@media(max-width:600px){.refuge-public-agenda{padding:18px 15px;border-radius:16px}.refuge-public-nav{grid-template-columns:42px minmax(0,1fr) 42px;gap:9px;margin-bottom:19px;padding-bottom:17px}.refuge-public-nav a{width:40px;height:40px}.refuge-public-nav strong{font-size:1.35rem}.refuge-public-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.refuge-public-day{min-height:140px;padding:14px 12px;gap:12px;border-radius:12px}.refuge-public-day strong{font-size:1rem;line-height:1.4}.refuge-public-day span{font-size:.92rem;line-height:1.5}.refuge-book-link{min-height:46px;font-size:.92rem;padding:11px 8px}.refuge-booking,.refuge-booking-success{padding:21px 17px;margin-top:22px}.refuge-booking h3,.refuge-booking-success h3{margin-bottom:21px}.refuge-booking-form p{margin-bottom:18px}}
@media(max-width:360px){.refuge-public-agenda{padding:13px 10px}.refuge-public-grid{gap:8px}.refuge-public-day{padding:11px 9px;min-height:132px}.refuge-public-nav strong{font-size:1.2rem}}


/* Version 3.0.8 — Montserrat, cartes élargies et lecture mobile confortable */
@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700;800&display=swap');
.refuge-public-agenda,
.refuge-public-agenda button,
.refuge-public-agenda input,
.refuge-public-agenda select,
.refuge-public-agenda textarea,
.refuge-booking,
.refuge-booking-success {
  font-family:'Montserrat',Arial,sans-serif;
}
.refuge-public-agenda { overflow:visible; }
.refuge-public-nav strong,
.refuge-booking h3,
.refuge-booking-success h3 { font-family:'Montserrat',Arial,sans-serif; font-weight:700; }
.refuge-public-grid { gap:14px; }
.refuge-public-day { min-width:0; padding:16px 13px; gap:13px; overflow:visible; }
.refuge-public-day strong { font-size:clamp(.9rem,1.1vw,1.02rem); overflow-wrap:normal; word-break:normal; hyphens:none; }
.refuge-public-day span { font-size:.88rem; overflow-wrap:normal; word-break:normal; }
.refuge-book-link { font-size:.82rem; white-space:normal; overflow-wrap:normal; }
@media(min-width:901px) {
  .refuge-public-agenda { width:100%; }
  .refuge-public-grid { grid-template-columns:repeat(7,minmax(0,1fr)); gap:14px; }
  .refuge-public-day { min-height:150px; padding:15px 11px; }
}
@media(max-width:900px) {
  .refuge-public-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:13px; }
  .refuge-public-day { min-height:138px; }
}
/* Smartphone : liste verticale très lisible, évite les libellés coupés */
@media(max-width:600px) {
  .refuge-public-agenda { padding:18px 15px; }
  .refuge-public-grid { grid-template-columns:minmax(0,1fr); gap:11px; }
  .refuge-public-day { min-height:0; padding:15px 16px; gap:9px; }
  .refuge-public-day strong { font-size:1rem; line-height:1.5; }
  .refuge-public-day span { font-size:.94rem; line-height:1.55; }
  .refuge-book-link { min-height:46px; width:100%; font-size:.92rem; }
}

/* Version 3.0.9 — calendrier mensuel français, plus large et plus coloré */
.refuge-public-agenda{
  width:100%;max-width:1400px;margin:0 auto;padding:clamp(22px,3vw,42px);
  background:linear-gradient(145deg,#fffaf0 0%,#f4f0e4 100%);
  border:1px solid #e1d6bf;border-radius:24px;
  box-shadow:0 14px 38px rgba(50,65,47,.10)
}
.refuge-public-nav{margin-bottom:18px}
.refuge-public-nav strong{color:#254c3a}
.refuge-public-weekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:12px;margin:0 0 10px;text-align:center}
.refuge-public-weekdays span{padding:10px 4px;border-radius:9px;background:#e4eadb;color:#294b3b;font-family:'Montserrat',Arial,sans-serif;font-size:.88rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}
.refuge-public-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:12px}
.refuge-public-day{min-width:0;min-height:158px;padding:15px 13px;border-radius:14px;background:#fffefa;border:1px solid #e5dccb;border-top:5px solid #79a77d;box-shadow:0 3px 10px rgba(44,63,44,.04)}
.refuge-public-day strong{font-family:'Montserrat',Arial,sans-serif;font-size:clamp(.86rem,1vw,1.02rem);font-weight:800;color:#294b3b;overflow-wrap:normal}
.refuge-public-day span{font-family:'Montserrat',Arial,sans-serif;font-size:.88rem;font-weight:600;color:#426c4a}
.refuge-public-day.available{background:#fffefa;border-top-color:#68a879}
.refuge-public-day.full{background:#fff3e4;border-top-color:#e6a34e}.refuge-public-day.full span{color:#98612b}
.refuge-public-day.closed{background:#eeeae3;border-top-color:#a9a59b}.refuge-public-day.closed strong,.refuge-public-day.closed span{color:#77766f}
.refuge-public-day.outside-month{min-height:158px;background:#e8e5de;border:1px dashed #d4cec2;box-shadow:none;opacity:.72}
.refuge-book-link{background:#294b3b;font-family:'Montserrat',Arial,sans-serif;font-weight:800;min-height:42px}
.refuge-book-link:hover,.refuge-book-link:focus-visible{background:#d17b43;color:#fff!important}
@media(max-width:900px){.refuge-public-agenda{padding:22px}.refuge-public-weekdays,.refuge-public-grid{gap:7px}.refuge-public-weekdays span{font-size:.72rem;padding:9px 1px}.refuge-public-day{min-height:125px;padding:10px 7px;gap:8px}.refuge-public-day strong{font-size:.78rem}.refuge-public-day span{font-size:.76rem}.refuge-book-link{font-size:.75rem;min-height:38px;padding:7px 3px}.refuge-public-day.outside-month{min-height:125px}}
@media(max-width:600px){
 .refuge-public-agenda{width:100%;padding:16px 10px;border-radius:16px}
 .refuge-public-nav{grid-template-columns:38px minmax(0,1fr) 38px;gap:6px;margin-bottom:15px;padding-bottom:14px}
 .refuge-public-nav a{width:36px;height:36px}
 .refuge-public-nav strong{font-size:1.2rem}
 .refuge-public-weekdays,.refuge-public-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}
 .refuge-public-weekdays{margin-bottom:6px}
 .refuge-public-weekdays span{font-size:clamp(.52rem,2.2vw,.68rem);letter-spacing:0;padding:8px 0;border-radius:6px}
 .refuge-public-day{min-height:94px;padding:7px 3px;gap:6px;border-radius:8px;border-top-width:3px;align-items:center;text-align:center}
 .refuge-public-day strong{font-size:clamp(.56rem,2.5vw,.72rem);line-height:1.35;overflow-wrap:anywhere}
 .refuge-public-day span{font-size:clamp(.52rem,2.1vw,.66rem);line-height:1.3;overflow-wrap:anywhere}
 .refuge-book-link{min-height:30px;padding:5px 1px;font-size:clamp(.5rem,2vw,.64rem);border-radius:5px;white-space:normal}
 .refuge-public-day.outside-month{min-height:94px}
}
@media(max-width:360px){.refuge-public-agenda{padding:12px 7px}.refuge-public-weekdays,.refuge-public-grid{gap:3px}.refuge-public-day{min-height:84px;padding:5px 2px}.refuge-public-day.outside-month{min-height:84px}}
.refuge-public-agenda.is-loading{opacity:.55;pointer-events:none;transition:opacity .15s ease}
.refuge-month-disabled{display:inline-block;width:38px}
