/* Resort detail pages — redesigned "Why stay" and "Dining, facilities & services" sections */

/* ---------- shared bits ---------- */
.rs-ic { flex: none; display: grid; place-items: center; width: 46px; height: 46px; border-radius: 50%; background: #f4ead2; border: 1px solid #e6d3a2; color: #a8782f; font-size: 17px; transition: background .3s, color .3s, transform .3s; }
.rs-t { display: block; margin: 0 0 4px; font-size: 15.5px !important; font-weight: 600; line-height: 1.35 !important; color: #2a1c13; }
.rs-btn { display: inline-flex; align-items: center; gap: 12px; padding: 14px 26px; border-radius: 999px; background: #4a3a2f; color: #fff8ec; font-size: 12px !important; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; box-shadow: 0 14px 26px -16px rgba(74,58,47,.7); transition: background .25s, transform .25s; }
.rs-btn:hover { background: #5e483a; transform: translateY(-2px); }

/* ---------- WHY STAY ---------- */
.rs-why { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: clamp(28px,5vw,72px); align-items: start; }
.rs-why-intro { position: sticky; top: 110px; }
.rs-why-intro .section-label { margin: 0 0 6px; color: #bc8c3f; }
.rs-why-intro h2 { margin: 0 0 14px; color: #2a1c13 !important; }
.rs-why-lead { margin: 0 0 22px; font-size: 16px !important; line-height: 1.8 !important; color: #5f564c; }
.rs-why-meta { list-style: none; margin: 0 0 26px; padding: 18px 0 0; display: grid; gap: 12px; border-top: 1px solid #d9c8a3; }
.rs-why-meta li { display: flex; align-items: center; gap: 12px; font-size: 14px !important; line-height: 1.5 !important; color: #5f564c; }
.rs-why-meta i { flex: none; display: grid; place-items: center; width: 32px; height: 32px; border-radius: 50%; background: #fff; border: 1px solid #e6d3a2; color: #bc8c3f; font-size: 13px; }
.rs-why-meta b { color: #2a1c13; font-weight: 600; }

.rs-why-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); background: #fff; border: 1px solid #ece2cb; border-radius: 22px; overflow: hidden; box-shadow: 0 28px 48px -38px rgba(40,25,15,.5); }
.rs-why-item { position: relative; display: flex; align-items: flex-start; gap: 16px; padding: 26px 26px 24px; border-bottom: 1px solid #f0e8d6; transition: background .3s; }
.rs-why-item:nth-child(odd) { border-right: 1px solid #f0e8d6; }
.rs-why-item:nth-last-child(-n+2):nth-child(odd), .rs-why-item:nth-last-child(-n+2):nth-child(even) { border-bottom: 0; }
.rs-why-item:last-child:nth-child(odd) { grid-column: 1 / -1; border-right: 0; }
.rs-why-item:hover { background: #fffbf1; }
.rs-why-item:hover .rs-ic { background: #bc8c3f; color: #fff; transform: translateY(-2px); }
.rs-why-item p { margin: 0; font-size: 13.5px !important; line-height: 1.7 !important; color: #6f675c; }
.rs-n { position: absolute; top: 14px; right: 18px; font-family: 'Playfair Display', Georgia, serif; font-style: italic; font-size: 14px; color: #d9c590; }

/* ---------- DINING, FACILITIES, SERVICES ---------- */
.rs-dine { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: clamp(22px,3vw,36px); align-items: start; }
.rs-dine > .rs-fac:only-child { grid-column: 1 / -1; grid-template-columns: repeat(3, minmax(0, 1fr)); }

/* menu card */
.rs-menu { padding: 34px 34px 22px; border-radius: 22px; background: #fffdf7; border: 1px solid #ecdcb4; box-shadow: inset 0 0 0 7px #fffdf7, inset 0 0 0 8px #ecdcb4, 0 30px 50px -38px rgba(40,25,15,.55); }
.rs-menu-head { display: flex; align-items: center; gap: 16px; margin: 0 0 8px; padding: 0 0 20px; border-bottom: 1px solid #ecdcb4; }
.rs-menu-ic { flex: none; display: grid; place-items: center; width: 50px; height: 50px; border-radius: 50%; background: #4a3a2f; color: #e8bd55; font-size: 18px; box-shadow: 0 10px 18px -10px rgba(74,58,47,.8); }
.rs-menu-head strong { display: block; font-family: 'Playfair Display', Georgia, serif; font-weight: 500; font-size: 22px !important; line-height: 1.2 !important; color: #2a1c13; }
.rs-menu-head small { display: block; margin-top: 3px; font-size: 12px !important; letter-spacing: .1em; text-transform: uppercase; color: #9a8a73; }
.rs-menu-group { padding: 18px 0 6px; }
.rs-menu-group + .rs-menu-group { border-top: 1px dashed #e4d3a6; }
.rs-menu-label { margin: 0 0 10px !important; font-size: 11px !important; font-weight: 600; letter-spacing: .22em; text-transform: uppercase; color: #bc8c3f !important; }
.rs-menu-list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px 22px; }
.rs-menu-list li { position: relative; padding-left: 20px; font-family: 'Playfair Display', Georgia, serif; font-size: 15px !important; line-height: 1.5 !important; color: #3a2d22; }
.rs-menu-list li::before { content: ''; position: absolute; left: 3px; top: .62em; width: 6px; height: 6px; transform: rotate(45deg); background: #bc8c3f; }

/* facility tiles */
.rs-fac { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.rs-fac-item { display: flex; align-items: flex-start; gap: 16px; padding: 22px 22px; background: #fff; border: 1px solid #ece2cb; border-radius: 18px; box-shadow: 0 18px 30px -28px rgba(40,25,15,.45); transition: transform .35s cubic-bezier(.2,.7,.2,1), box-shadow .35s, border-color .35s; }
.rs-fac-item:hover { transform: translateY(-4px); border-color: #dcc58f; box-shadow: 0 26px 38px -28px rgba(40,25,15,.5); }
.rs-fac-item:hover .rs-ic { background: #bc8c3f; color: #fff; }
.rs-fac-item p { margin: 0; font-size: 13.5px !important; line-height: 1.65 !important; color: #6f675c; }

/* services strip */
.rs-svc { list-style: none; display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; margin: clamp(22px,3vw,34px) 0 0; padding: 0; }
.rs-svc li { display: inline-flex; align-items: center; gap: 10px; padding: 10px 18px; border-radius: 999px; background: #fff; border: 1px solid #e6d9b8; font-size: 13px !important; line-height: 1.3 !important; color: #4a3a2f; }
.rs-svc i { color: #bc8c3f; font-size: 13px; }

/* area guide (text version, used when the page has no stat cards) */
.rs-guide-text { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, .75fr); gap: clamp(24px,4vw,56px); align-items: start; }
.rs-guide-copy p { margin: 0 0 1em; font-size: 15px !important; line-height: 1.85 !important; color: rgba(255,255,255,.82); text-align: justify; text-justify: inter-word; hyphens: auto; }
.rs-guide-near { padding: 24px 26px; border: 1px solid rgba(232,189,85,.35); border-radius: 18px; background: rgba(255,255,255,.05); }
.rs-guide-label { margin: 0 0 12px !important; font-size: 11px !important; font-weight: 600; letter-spacing: .22em; text-transform: uppercase; color: #e8bd55 !important; }
.rs-guide-near ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.rs-guide-near li { display: flex; align-items: center; gap: 12px; font-size: 14px !important; color: rgba(255,255,255,.88); }
.rs-guide-near i { color: #e8bd55; font-size: 12px; }

/* FAQ question (plain text, not a heading) */
.pkg-faq2 summary .rs-q { font-family: 'Playfair Display', Georgia, serif; font-weight: 500; font-size: 16px; line-height: 1.4; color: #34241b; }

/* ---------- responsive ---------- */
@media (max-width: 1023px) {
  .rs-why { grid-template-columns: 1fr; }
  .rs-why-intro { position: static; }
  .rs-dine { grid-template-columns: 1fr; }
  .rs-dine > .rs-fac:only-child { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .rs-guide-text { grid-template-columns: 1fr; }
}
@media (max-width: 640px) {
  .rs-why-grid { grid-template-columns: 1fr; }
  .rs-why-item:nth-child(odd) { border-right: 0; }
  .rs-why-item:nth-last-child(2) { border-bottom: 1px solid #f0e8d6; }
  .rs-fac, .rs-dine > .rs-fac:only-child { grid-template-columns: 1fr; }
  .rs-menu { padding: 26px 22px 16px; }
  .rs-menu-list { grid-template-columns: 1fr; }
  .rs-svc li { font-size: 12.5px !important; }
}

/* same content gutters as the rest of the site (1280px box, 48px side padding) */
@media (min-width: 1024px) { .rp-wrap { padding: 0 48px; } }
@media (min-width: 768px) and (max-width: 1023px) { .rp-wrap { padding: 0 24px; } }

/* =====================================================================
   WHY STAY cards v2 — separate premium cards (replaces the bordered grid panel)
   ===================================================================== */
.rs-why-grid { gap: 18px; background: none; border: 0; border-radius: 0; overflow: visible; box-shadow: none; align-items: stretch; }
.rs-why-item, .rs-why-item:nth-child(odd), .rs-why-item:nth-last-child(-n+2):nth-child(odd), .rs-why-item:nth-last-child(-n+2):nth-child(even) { border: 1px solid #eadcb8; }
.rs-why-item { position: relative; display: flex; flex-direction: column; align-items: flex-start; gap: 0; padding: 28px 28px 26px; overflow: hidden; border-radius: 22px; background: linear-gradient(165deg, #ffffff 0%, #fdf8ec 100%); box-shadow: 0 1px 0 #fff inset, 0 24px 38px -32px rgba(60,40,15,.5); transition: transform .4s cubic-bezier(.2,.7,.2,1), box-shadow .4s, border-color .4s; }
.rs-why-item:last-child:nth-child(odd) { grid-column: 1 / -1; }
.rs-why-item::before { content: ''; position: absolute; left: 0; top: 0; width: 100%; height: 3px; background: linear-gradient(90deg, #bc8c3f, #e8bd55 60%, rgba(232,189,85,0)); opacity: .9; }
.rs-why-item::after { content: ''; position: absolute; left: 28px; bottom: 0; width: 36px; height: 2px; background: #bc8c3f; transition: width .5s cubic-bezier(.2,.7,.2,1); }
.rs-why-item:hover { transform: translateY(-6px); border-color: #d8bf80; background: linear-gradient(165deg, #ffffff 0%, #fbf2dc 100%); box-shadow: 0 1px 0 #fff inset, 0 34px 48px -34px rgba(60,40,15,.6); }
.rs-why-item:hover::after { width: calc(100% - 56px); }
.rs-why-item .rs-n { position: absolute; top: 8px; right: 20px; font-family: 'Playfair Display', Georgia, serif; font-style: italic; font-weight: 400; font-size: 64px; line-height: 1; color: rgba(188,140,63,.16); pointer-events: none; }
.rs-why-item .rs-ic { width: 54px; height: 54px; margin: 0 0 18px; border: 0; border-radius: 16px; background: linear-gradient(145deg, #c99a4a, #a8782f); color: #fff; font-size: 20px; box-shadow: 0 14px 22px -12px rgba(168,120,47,.8), inset 0 1px 0 rgba(255,255,255,.35); transition: transform .4s cubic-bezier(.2,.7,.2,1); }
.rs-why-item:hover .rs-ic { background: linear-gradient(145deg, #d6a850, #b4832f); color: #fff; transform: translateY(-3px) rotate(-4deg); }
.rs-why-item > div { padding-bottom: 12px; }
.rs-why-item .rs-t { margin: 0 0 8px; font-family: 'Playfair Display', Georgia, serif; font-weight: 500; font-size: 18.5px !important; line-height: 1.3 !important; color: #2a1c13; }
.rs-why-item p { font-size: 14px !important; line-height: 1.75 !important; color: #6a6156; }
@media (max-width: 640px) { .rs-why-item { padding: 24px 22px 22px; } .rs-why-item::after { left: 22px; } .rs-why-item:hover::after { width: calc(100% - 44px); } .rs-why-item .rs-n { font-size: 52px; } }

/* =====================================================================
   WHY STAY v3 — open numbered list (no cards, no boxes)
   ===================================================================== */
.rs-why-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: clamp(28px,4vw,56px); row-gap: 0; background: none; border: 0; border-radius: 0; box-shadow: none; overflow: visible; align-self: start; }
.rs-why-item, .rs-why-item:nth-child(odd), .rs-why-item:nth-last-child(-n+2):nth-child(odd), .rs-why-item:nth-last-child(-n+2):nth-child(even), .rs-why-item:last-child:nth-child(odd) { display: flex; flex-direction: row; align-items: flex-start; gap: 18px; padding: 24px 0 26px; margin: 0; background: none; border: 0; border-top: 1px solid #dfd0aa; border-radius: 0; box-shadow: none; overflow: visible; transform: none; grid-column: auto; }
.rs-why-item::before, .rs-why-item::after { display: none; }
.rs-why-item:hover { transform: none; background: none; border-color: #dfd0aa; box-shadow: none; }
.rs-why-item:nth-last-child(-n+2) { border-bottom: 1px solid #dfd0aa; }
.rs-why-item:last-child:nth-child(odd) { border-bottom: 1px solid #dfd0aa; }
.rs-why-item .rs-ic { display: none; }
.rs-why-item .rs-n { position: static; flex: none; min-width: 34px; font-family: 'Playfair Display', Georgia, serif; font-style: italic; font-weight: 400; font-size: 28px; line-height: 1; color: #bc8c3f; pointer-events: auto; }
.rs-why-item > div { padding: 0; }
.rs-why-item .rs-t { margin: 0 0 8px; font-family: 'Playfair Display', Georgia, serif; font-weight: 500; font-size: 19px !important; line-height: 1.3 !important; color: #2a1c13; transition: color .25s; }
.rs-why-item:hover .rs-t { color: #8a5a22; }
.rs-why-item p { font-size: 14px !important; line-height: 1.8 !important; color: #6a6156; }
@media (max-width: 640px) { .rs-why-grid { grid-template-columns: 1fr; } .rs-why-item:nth-last-child(-n+2) { border-bottom: 0; } .rs-why-item:last-child { border-bottom: 1px solid #dfd0aa; } .rs-why-item .rs-n { font-size: 24px; min-width: 30px; } }

/* =====================================================================
   FAQ — intro on the left, open numbered accordion on the right (no boxes)
   ===================================================================== */
.rs-faq { display: grid; grid-template-columns: minmax(0, .75fr) minmax(0, 1.25fr); gap: clamp(28px,5vw,80px); align-items: start; }
.rs-faq-intro { position: sticky; top: 110px; }
.rs-faq-intro .section-label { margin: 0 0 6px; color: #bc8c3f; }
.rs-faq-intro h2 { margin: 0 0 14px; color: #2a1c13 !important; }
.rs-faq-lead { margin: 0 0 24px; font-size: 15.5px !important; line-height: 1.8 !important; color: #5f564c; }
.rs-faq-links { display: flex; flex-wrap: wrap; align-items: center; gap: 16px 24px; }
.rs-link { display: inline-flex; align-items: center; gap: 10px; font-size: 12px !important; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: #4a3a2f; border-bottom: 1px solid #bc8c3f; padding-bottom: 5px; transition: color .2s, gap .2s; }
.rs-link:hover { color: #bc8c3f; gap: 14px; }

.rs-faq-list { border-bottom: 1px solid #dfd0aa; }
.rs-faq-list details { border-top: 1px solid #dfd0aa; }
.rs-faq-list summary { display: flex; align-items: baseline; gap: 18px; padding: 22px 0; cursor: pointer; list-style: none; }
.rs-faq-list summary::-webkit-details-marker { display: none; }
.rs-faq-n { flex: none; min-width: 30px; font-family: 'Playfair Display', Georgia, serif; font-style: italic; font-size: 17px; color: #c9ae72; transition: color .25s; }
.rs-faq-q { flex: 1; font-family: 'Playfair Display', Georgia, serif; font-weight: 500; font-size: 18px; line-height: 1.4; color: #2a1c13; transition: color .25s; }
.rs-faq-i { flex: none; align-self: center; color: #bc8c3f; font-size: 13px; transition: transform .35s cubic-bezier(.2,.7,.2,1); }
.rs-faq-list summary:hover .rs-faq-q { color: #8a5a22; }
.rs-faq-list details[open] .rs-faq-n { color: #bc8c3f; }
.rs-faq-list details[open] .rs-faq-i { transform: rotate(45deg); }
.rs-faq-list details p { margin: 0; padding: 0 40px 26px 48px; font-size: 15px !important; line-height: 1.85 !important; color: #5f564c; text-align: justify; text-justify: inter-word; hyphens: auto; }

@media (max-width: 1023px) { .rs-faq { grid-template-columns: 1fr; } .rs-faq-intro { position: static; } }
@media (max-width: 640px) { .rs-faq-q { font-size: 16.5px; } .rs-faq-list details p { padding: 0 0 22px 48px; } .rs-faq-list summary { padding: 18px 0; gap: 14px; } }
