/* Retiros retreat/detail pages: uses the Retiros green, sage and warm-gold palette. */
.retreat-detail{background:var(--paper);color:var(--ink)}
.retreat-hero{display:grid;grid-template-columns:48% 52%;min-height:440px;background:#f4f2e9;position:relative}
.retreat-hero-copy{padding:65px 7vw;display:flex;flex-direction:column;justify-content:center}
.retreat-hero-copy h1{font-family:"Montserrat",Arial,sans-serif;font-size:44px;line-height:1.08;font-weight:500;letter-spacing:-.025em;margin:8px 0 12px;color:var(--deep)}
.retreat-hero-copy p{font-size:12px;color:var(--muted);line-height:1.8;max-width:560px}
.retreat-subtitle{font-weight:600;color:#486544!important}
.retreat-hero-image{background-image:url('../assets/catalogue/cat-1.jpg');background-size:cover;background-position:center;min-height:440px}
.retreat-facts{display:grid;grid-template-columns:1fr 1fr;background:#dfe8d4;border-top:1px solid #c8d0bf;border-bottom:1px solid #c8d0bf}
.retreat-facts>div{padding:24px 7vw;text-align:center;border-right:1px solid #b9c3b1}.retreat-facts>div:last-child{border:0}
.retreat-facts .fact-label{display:block;font-size:9px;letter-spacing:.14em;color:#586255;margin-bottom:8px}
.retreat-facts strong{display:block;font:500 18px/1.25 "Montserrat",Arial,sans-serif;color:var(--deep)}
.retreat-facts p{max-width:470px;margin:8px auto 0;font-size:10.5px;line-height:1.65;color:#53574e}
.retreat-motto{background:#142216;color:#f4f1e8;border-top:0;border-bottom:0;padding:24px 7vw;text-align:center}
.retreat-motto-inner{font:500 12px/1.4 "Montserrat",Arial,sans-serif;letter-spacing:.1em}
.retreat-motto-inner b{color:var(--gold);font-weight:500;padding:0 5px}
.retreat-details-layout{display:grid;grid-template-columns:40% 60%;gap:45px;padding:65px 7vw;background:#f7f5ed}
.retreat-copy h2,.retreat-flow h2{font:500 30px/1.1 "Montserrat",Arial,sans-serif;margin:0;color:var(--deep)}
.section-separator{text-align:center;color:var(--gold);margin:12px 0 22px}.section-separator span{font-size:20px}
.retreat-copy p{font-size:12.5px;color:#4f564e;line-height:1.8}
.included-box{background:#fbfaf5;border:1px solid #dddacd;border-radius:7px;padding:25px;margin-top:30px}.included-box h2{font-size:24px}
.leaf-list{list-style:none;padding:0;margin:0}.leaf-list li{font-size:11px;line-height:1.55;padding-left:18px;margin:8px 0;position:relative;color:#4f564e}.leaf-list li:before{content:"◒";position:absolute;left:0;color:#65745d;font-size:10px}
.retreat-accordion{border-top:1px solid #c7c6b9}
.retreat-day{border-bottom:1px solid #c7c6b9;background:#fbfaf5}
.retreat-day summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:auto minmax(0,1fr) 24px;column-gap:15px;align-items:center;min-height:68px;padding:10px 10px 10px 16px;font-family:"Montserrat",Arial,sans-serif;color:#263226}
.retreat-day summary::-webkit-details-marker{display:none}.retreat-day summary::marker{display:none}
.day-number{font:600 12px/1 "Montserrat",Arial,sans-serif;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}
.day-heading{display:flex;flex-direction:column;min-width:0;gap:4px}
.day-weekday{font:500 12px/1.2 "Montserrat",Arial,sans-serif;color:var(--deep)}
.day-tagline{font:400 10.5px/1.35 "Montserrat",Arial,sans-serif;color:#65705f}
.chevron{font-size:22px;line-height:1;color:#b98254;transition:transform .2s ease;text-align:right;justify-self:end;width:24px}
.retreat-day[open] .chevron{transform:rotate(180deg)}
.day-body{padding:20px 28px 22px;background:#f7f5ed;border-top:1px solid #deddd2}
.day-body p{font-size:11px;line-height:1.7;color:#53574e;margin:0 0 12px;max-width:680px}
.day-body .leaf-list li{font-size:10.5px;margin:6px 0}
.retreat-cta{margin:0 7vw 65px;padding:28px 34px;background:#dce5d1;border:1px solid #c8d0bf;border-radius:7px;display:flex;align-items:center;justify-content:space-between;gap:25px}.retreat-cta h2{font:500 24px/1.15 "Montserrat",Arial,sans-serif;margin:0 0 5px;color:var(--deep)}.retreat-cta p{margin:0;font-size:10px;color:#53574e}.retreat-cta .primary-button{background:#486544;border-radius:18px}
.primary-button{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;border-radius:18px;padding:10px 17px;background:#486544;color:#fff;font-size:9px;font-weight:600;white-space:nowrap}
@media(max-width:800px){.retreat-hero,.retreat-details-layout{grid-template-columns:1fr}.retreat-hero-image{min-height:300px;order:-1}.retreat-hero-copy{padding:45px 22px}.retreat-hero-copy h1{font-size:34px}.retreat-facts{grid-template-columns:1fr}.retreat-facts>div{border-right:0;border-bottom:1px solid #c8d0bf}.retreat-facts>div:last-child{border-bottom:0}.retreat-details-layout{padding:45px 22px;gap:35px}.retreat-cta{margin:0 22px 45px;flex-direction:column;align-items:flex-start}.day-body{padding-left:20px;padding-right:20px}}


/* Retreat CTA + programme request */
.retreat-hero-actions{position:absolute;left:calc(48% + 7vw);bottom:34px;display:flex;flex-direction:column;align-items:stretch;gap:10px;width:230px;z-index:3}.retreat-cta-actions{display:flex;flex-direction:column;align-items:stretch;gap:10px;margin-top:18px;max-width:230px}
.retreat-hero-actions .primary-button,.retreat-cta-actions .primary-button{background:#486544;color:#fff}
.retreat-hero-actions .secondary-button,.retreat-cta-actions .secondary-button{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;border-radius:18px;padding:10px 17px;background:transparent;color:#486544;border:1px solid #486544;font-size:9px;font-weight:600;white-space:nowrap}.retreat-hero-actions .secondary-button{background:#fff;color:#486544;border-color:#fff}
.retreat-cta{display:block}
.retreat-cta-actions{margin-top:18px;max-width:230px}
.retreat-subscribe{margin:0 7vw 65px;padding:34px;background:#f7f5ed;border:1px solid #d4d2c6;border-radius:7px}
.retreat-subscribe-inner{max-width:720px;margin:0 auto}
.retreat-subscribe h2{font:500 24px/1.15 "Montserrat",Arial,sans-serif;color:var(--deep);margin:0 0 18px}
.retreat-subscribe-form{display:flex;flex-direction:column;gap:12px}
.retreat-subscribe-form input[type="email"]{width:100%;box-sizing:border-box;border:1px solid #c8c7bc;background:#fbfaf5;border-radius:4px;padding:12px 13px;font:400 11px "Montserrat",Arial,sans-serif;color:var(--ink)}
.retreat-subscribe-form button{border:0;cursor:pointer;align-self:flex-start}
.retreat-check{display:flex;align-items:flex-start;gap:8px;font-size:9.5px;line-height:1.5;color:#53574e;cursor:pointer}
.retreat-check input{margin:2px 0 0;flex:0 0 auto}
.sr-only{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:800px){.retreat-hero-actions{left:22px;bottom:22px;width:calc(100% - 44px);max-width:260px}.retreat-subscribe{margin:0 22px 45px;padding:25px 20px}.retreat-subscribe h2{font-size:21px}}

/* Step 2k: CTA sizing and retreat hero placement refinement. */
.retreat-hero-image{position:relative}
.retreat-hero-image .retreat-hero-actions{position:absolute;left:22px;bottom:10px;width:172.5px;max-width:calc(100% - 44px);display:flex;flex-direction:column;align-items:stretch;gap:10px;z-index:3}
.retreat-hero-image .retreat-hero-actions .primary-button,
.retreat-hero-image .retreat-hero-actions .secondary-button{box-sizing:border-box;width:100%}
@media(max-width:800px){
  .retreat-hero-image .retreat-hero-actions{left:22px;right:auto;bottom:10px;width:172.5px;max-width:calc(100% - 44px)}
}

/* Course detail pages: same retreat-page structure, with catalogue imagery per course. */
.course-detail.course-1 .retreat-hero-image{background-image:url('../assets/catalogue/cat-6.jpg')}
.course-detail.course-2 .retreat-hero-image{background-image:url('../assets/catalogue/cat-3.jpg')}
.course-detail.course-3 .retreat-hero-image{background-image:url('../assets/catalogue/cat-4.jpg')}
