/* ============================================================
   Wildmark Resort – Accommodation Page  (accommodation-page.css)
   ============================================================ */
:root{--forest:#536b43;--forest-dark:#33452d;--ink:#342f2c;--muted:#676b63;--line:#e0dbd4;--soft:#f3f0eb;--warm:#faf6f0;--white:#fff;--site-serif:"Times New Roman",serif}
*{box-sizing:border-box}
.custom-accommodation-page{margin:0;color:var(--ink);background:var(--warm);font-family:var(--site-serif);font-style:italic}

/* ── Container ── */
.acc-container{width:min(1180px,calc(100% - 40px));margin:0 auto}

/* ── Hero banner (plain full-width image, no overlay) ── */
.acc-hero{width:100%;overflow:hidden;line-height:0}
.acc-hero img{display:block;width:100%;height:clamp(350px,45vw,650px);object-fit:cover;object-position:center}

/* ── Page title block (below hero) ── */
.acc-page-title{padding:44px 20px 36px;background:var(--warm);text-align:center;border-bottom:1px solid var(--line)}
.acc-page-title h1{color:var(--forest);font-family:var(--site-serif);font-style:italic;font-size:clamp(22px,2.8vw,36px);font-weight:600;line-height:1.25;margin:0 auto 22px;max-width:780px}
.acc-hero__actions{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}
.acc-btn-primary,.acc-btn-secondary{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 24px;border-radius:4px;font-size:15px;font-style:italic;font-weight:600;text-decoration:none;transition:background .2s,color .2s}
.acc-btn-primary{background:var(--forest);color:#fff;border:2px solid var(--forest)}
.acc-btn-primary:hover{background:var(--forest-dark);border-color:var(--forest-dark)}
.acc-btn-secondary{background:transparent;color:var(--forest);border:2px solid var(--forest)}
.acc-btn-secondary:hover{background:var(--forest);color:#fff}

/* ── Page main title (below hero) ── */
.acc-main-title{color:var(--forest);font-family:var(--site-serif);font-style:italic;text-align:center!important;font-size:clamp(26px,3.2vw,44px);font-weight:600;line-height:1.2;margin:0 0 40px}

/* ── Section common ── */
.acc-intro,.acc-why,.acc-rooms,.acc-amenities,.acc-map,.acc-enquiry,.acc-gallery{padding:60px 0}
.acc-intro{background:var(--warm)}
.acc-why{background:var(--white)}
.acc-rooms{background:var(--warm)}
.acc-amenities{background:var(--white)}
.acc-map{background:var(--warm);padding-bottom:40px}
.acc-enquiry{background:var(--white)}
.acc-gallery{background:var(--warm)}

.acc-why h2,.acc-rooms h2,.acc-amenities h2,.acc-enquiry h2,.acc-gallery h2{
  color:var(--forest);font-family:var(--site-serif);font-style:italic;text-align:center!important;
  font-size:clamp(22px,3vw,38px);font-weight:600;letter-spacing:-.5px;margin:0 0 32px}
.acc-intro h3,.acc-why h3,.acc-amenities h3{color:var(--forest-dark);font-size:22px;font-weight:600;font-style:italic;margin:24px 0 10px}
.acc-intro h3:first-child,.acc-why h3:first-child,.acc-split__text>h3:first-child{margin-top:0}

/* ── Bullet list (screenshot style: dash/bullet, no tick) ── */
.acc-bullet{list-style:disc;padding-left:18px;margin:8px 0 0;display:grid;gap:5px}
.acc-bullet li{font-size:14px;color:#454040;line-height:1.55}
.acc-bullet li strong{color:var(--forest-dark);font-style:normal}

/* ── Split 2-col layout ── */
.acc-split{display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:center}
.acc-split--reverse .acc-split__image{order:-1}
.acc-split__image{overflow:hidden;border-radius:8px;box-shadow:0 6px 22px rgba(40,55,35,.1)}
.acc-split__image img{display:block;width:100%;height:340px;object-fit:cover;object-position:center;transition:transform .35s ease}
.acc-split__image:hover img{transform:scale(1.03)}
.acc-split__text p{font-size:15px;line-height:1.7;color:#454040;margin:0 0 12px}
.acc-split__text p:last-child{margin-bottom:0}

/* ── Check list ── */
.acc-checks{list-style:none;padding:0;margin:10px 0 0;display:grid;gap:6px}
.acc-checks li{position:relative;padding-left:20px;font-size:14px;color:#454040;line-height:1.55}
.acc-checks li::before{content:"•";position:absolute;left:0;color:var(--forest);font-weight:700;font-size:16px;line-height:1.3}

/* ── Room cards ── */
.acc-rooms__grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}
.acc-room-card{border:1px solid var(--line);border-radius:8px;overflow:hidden;background:var(--white);box-shadow:0 2px 10px rgba(40,55,35,.06);transition:box-shadow .2s}
.acc-room-card:hover{box-shadow:0 6px 22px rgba(40,55,35,.12)}
.acc-room-card__img{overflow:hidden;aspect-ratio:16/10}
.acc-room-card__img img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .35s ease}
.acc-room-card:hover .acc-room-card__img img{transform:scale(1.04)}
.acc-room-card h3{margin:0;padding:12px 16px 14px;font-size:16px;font-weight:600;font-style:italic;color:var(--forest-dark);text-align:center;background:var(--soft)}

/* ── Amenities list ── */
.acc-amenities__list{list-style:disc;padding-left:18px;margin:0;display:grid;gap:7px}
.acc-amenities__list li{font-size:14px;color:#454040;line-height:1.6}
.acc-amenities__list li strong{color:var(--forest-dark);font-style:normal}

/* ── Map ── */
.acc-map__embed{position:relative;width:100%;padding-top:42%;border-radius:8px;overflow:hidden;box-shadow:0 4px 18px rgba(40,55,35,.08)}
.acc-map__embed iframe{position:absolute;inset:0;width:100%;height:100%;border:0}

/* ── Enquiry ── */
.acc-enquiry h2{margin-bottom:8px}
.acc-enquiry__card{max-width:720px;margin:0 auto}

/* Simple form */
.acc-simple-form .acc-form-row-2{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:0}
.acc-form-group{margin-bottom:16px}
.acc-form-group label{display:block;font-size:11px;font-weight:700;letter-spacing:.08em;font-style:normal;color:var(--ink);margin-bottom:5px;text-transform:uppercase}
.acc-form-group label span{color:#c0392b}
.acc-form-group input,
.acc-form-group textarea{width:100%;padding:10px 12px;border:1px solid #ccc;border-radius:3px;font-size:14px;font-family:var(--site-serif);font-style:italic;background:#fafafa;color:var(--ink);outline:none;transition:border-color .2s}
.acc-form-group input:focus,
.acc-form-group textarea:focus{border-color:var(--forest);background:#fff}
.acc-form-group textarea{min-height:110px;resize:vertical}
.acc-simple-form button{width:100%;padding:13px;background:var(--forest);color:#fff;border:none;border-radius:4px;font-size:15px;font-weight:700;font-style:normal;letter-spacing:.06em;cursor:pointer;transition:background .2s;text-transform:uppercase}
.acc-simple-form button:hover{background:var(--forest-dark)}
.acc-form-success{text-align:center;padding:24px;font-size:16px;color:var(--forest);font-weight:600}

/* ── Gallery grid ── */
.acc-gallery__grid{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:170px;gap:6px}
.acc-gallery__item{overflow:hidden;background:var(--soft);cursor:zoom-in;display:block;text-decoration:none;border-radius:4px}
.acc-gallery__item img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .35s ease}
.acc-gallery__item:hover img{transform:scale(1.06)}

/* ── Lightbox ── */
.acc-lightbox{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;background:rgba(10,15,9,.93);padding:16px;backdrop-filter:blur(3px)}
.acc-lightbox[hidden]{display:none!important}
.acc-lightbox__stage{display:flex;align-items:center;justify-content:center;max-width:calc(100vw - 140px);max-height:calc(100vh - 80px)}
.acc-lightbox__stage img{max-width:100%;max-height:calc(100vh - 80px);border-radius:6px;object-fit:contain;box-shadow:0 16px 60px rgba(0,0,0,.8)}
.acc-lightbox__close{position:fixed;top:14px;right:18px;background:rgba(255,255,255,.15);border:1px solid rgba(255,255,255,.25);color:#fff;font-size:18px;cursor:pointer;width:38px;height:38px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:background .2s;padding:0;line-height:1}
.acc-lightbox__close:hover{background:rgba(255,255,255,.3)}
.acc-lightbox__nav{position:fixed;top:50%;transform:translateY(-50%);background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.22);color:#fff;font-size:32px;width:46px;height:58px;cursor:pointer;border-radius:6px;display:flex;align-items:center;justify-content:center;padding:0;line-height:1;transition:background .2s}
.acc-lightbox__nav:hover{background:rgba(255,255,255,.26)}
.acc-lightbox__nav--prev{left:14px}
.acc-lightbox__nav--next{right:14px}
.acc-lightbox__counter{position:fixed;bottom:50px;left:50%;transform:translateX(-50%);color:rgba(255,255,255,.7);font-size:12px;font-style:normal;background:rgba(0,0,0,.5);padding:3px 12px;border-radius:20px;white-space:nowrap}
.acc-lightbox__caption{position:fixed;bottom:12px;left:50%;transform:translateX(-50%);color:rgba(255,255,255,.9);font-size:14px;font-style:italic;text-align:center;max-width:min(680px,80vw);background:rgba(0,0,0,.55);padding:7px 20px;border-radius:6px;line-height:1.45}

/* ── Responsive ── */
@media(max-width:900px){
  .acc-split,.acc-split--reverse{grid-template-columns:1fr;gap:24px}
  .acc-split--reverse .acc-split__image{order:0}
  .acc-split__image img{max-height:300px}
  .acc-gallery__grid{grid-template-columns:repeat(3,1fr);grid-auto-rows:150px}
  .acc-map__embed{padding-top:52%}
  .acc-enquiry__card{padding:28px 24px}
}
@media(max-width:640px){
  .acc-gallery__grid{grid-template-columns:repeat(2,1fr);grid-auto-rows:130px}
  .acc-rooms__grid{grid-template-columns:1fr}
}
@media(max-width:600px){
  .acc-intro,.acc-why,.acc-rooms,.acc-amenities,.acc-map,.acc-enquiry,.acc-gallery{padding:36px 0}
  .acc-page-title{padding:28px 16px 24px}
  .acc-page-title h1{font-size:20px}
  .acc-hero__actions{flex-direction:column;align-items:center}
  .acc-btn-primary,.acc-btn-secondary{width:100%;max-width:280px;justify-content:center}
  .acc-intro h2,.acc-why h2,.acc-rooms h2,.acc-amenities h2,.acc-map h2,.acc-enquiry h2,.acc-gallery h2{font-size:19px}
  .acc-room-card h3{font-size:14px}
  .acc-map__embed{padding-top:65%;border-radius:6px}
  .acc-enquiry__card{padding:20px 16px}
  .acc-lightbox__stage{max-width:100vw;max-height:calc(100vh - 100px)}
  .acc-lightbox__nav--prev{left:4px}
  .acc-lightbox__nav--next{right:4px}
  .acc-lightbox__nav{width:36px;height:50px;font-size:24px}
  .acc-simple-form .acc-form-row-2{grid-template-columns:1fr}
  .acc-bullet--2col{columns:1}
  .acc-faq{padding:36px 0}
}

/* ── Room card body (description) ── */
.acc-room-card__body{padding:14px 16px 18px}
.acc-room-card__body h3{margin:0 0 8px;font-size:16px;font-weight:600;font-style:italic;color:var(--forest-dark);border-bottom:2px solid var(--forest);padding-bottom:6px}
.acc-room-card__body p{margin:0;font-size:13px;color:#555;line-height:1.6}

/* ── 2-col bullet list (amenities) ── */
.acc-bullet--2col{columns:2;column-gap:24px}
.acc-bullet--2col li{break-inside:avoid}

/* ── Enquiry lead text ── */
.acc-enquiry__lead{text-align:center;font-size:14px;color:var(--muted);max-width:640px;margin:0 auto 28px;line-height:1.7}

/* ── Form error ── */
.acc-form-error{color:#c0392b;font-size:13px;font-style:normal;margin:0 0 14px;padding:10px 14px;background:#fdf2f2;border:1px solid #f5c6c6;border-radius:4px}

/* ── Form select ── */
.acc-form-group select{width:100%;padding:10px 12px;border:1px solid #ccc;border-radius:3px;font-size:14px;font-family:var(--site-serif);font-style:italic;background:#fafafa url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23536b43' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E") no-repeat right 12px center;-webkit-appearance:none;appearance:none;color:var(--ink);outline:none;cursor:pointer;transition:border-color .2s}
.acc-form-group select:focus{border-color:var(--forest);background-color:#fff}

/* ── FAQ section ── */
.acc-faq{background:var(--soft);padding:60px 0}
.acc-faq h2{color:var(--forest);font-family:var(--site-serif);font-style:italic;text-align:center!important;font-size:clamp(20px,2.6vw,30px);font-weight:600;letter-spacing:-.5px;margin:0 0 32px}
.acc-accordion{display:grid;gap:8px;max-width:860px;margin:0 auto}
.acc-accordion__item{border:1px solid var(--line);border-radius:6px;background:var(--white);overflow:hidden}
.acc-accordion__item summary{position:relative;padding:14px 48px 14px 18px;background:#edf1e9;color:var(--forest-dark);font-size:15px;font-weight:600;font-style:italic;cursor:pointer;list-style:none;line-height:1.4}
.acc-accordion__item summary::-webkit-details-marker{display:none}
.acc-accordion__item summary::after{content:"+";position:absolute;right:16px;top:50%;transform:translateY(-50%);font-size:20px;font-style:normal;color:var(--forest)}
.acc-accordion__item[open] summary{background:var(--forest);color:#fff}
.acc-accordion__item[open] summary::after{content:"−"}
.acc-accordion__item p{margin:0;padding:16px 18px;font-size:14px;color:#454040;line-height:1.65}
