/*
Theme Name: The Jungle Homestay and Resort
Theme URI: https://junglehomestay.in
Author: The Jungle Homestay and Resort
Description: Warm earthy multi-page block theme for The Jungle Homestay and Resort near Sarhi Gate, Kanha National Park. Full-width luxury layout, Manrope + Cormorant Garamond typography, single-resort WhatsApp inquiry form, safari planning sections and all legal pages required for Google Ads.
Version: 5.6.0
Requires at least: 6.4
Tested up to: 6.7
Requires PHP: 7.4
License: GPL-2.0-or-later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: the-jungle-homestay-theme
Tags: full-site-editing, block-patterns, one-column, custom-colors, hotel
*/

body {
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

/* ---------- Layout: full-bleed sections, 1280px inner content ---------- */
.wp-site-blocks > main,
.wp-site-blocks > main > .wp-block-post-content {
  width: 100%;
  max-width: none;
}

.wp-site-blocks > main > .wp-block-post-content > .alignfull {
  margin-left: 0;
  margin-right: 0;
  width: 100%;
  max-width: none;
}

/* ---------- Typography ---------- */
.jungle-eyebrow {
  text-transform: uppercase;
  letter-spacing: 0.2em;
  font-size: 0.72rem;
  font-weight: 700;
  margin-bottom: 0.55rem;
}

.jungle-lead {
  font-size: 1.05rem;
  max-width: 62ch;
}

/* ---------- Header ---------- */
.jungle-topbar,
.jungle-topbar p {
  margin: 0;
  font-size: 0.8rem;
}

.jungle-topbar a {
  color: #FBF7F0;
  text-decoration: none;
  font-weight: 600;
  border-bottom: 1px solid rgba(251, 247, 240, 0.4);
}

.jungle-topbar a:hover {
  color: #E8C87A;
}

.wp-block-site-title a {
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: 1.5rem;
  font-weight: 600;
  text-decoration: none;
  color: #2A231C;
  line-height: 1.1;
}

.wp-block-site-tagline {
  font-size: 0.68rem;
  text-transform: uppercase;
  letter-spacing: 0.22em;
  font-weight: 700;
  color: #6B4A2B;
  margin: 2px 0 0;
}

.wp-block-site-logo img {
  border-radius: 50%;
}

.wp-block-navigation {
  font-size: 0.92rem;
  font-weight: 600;
}

/* ---------- Cards ---------- */
.jungle-card {
  background: var(--wp--preset--color--ivory);
  border: 1px solid rgba(107, 74, 43, 0.16);
  border-radius: 14px;
  overflow: hidden;
  padding-bottom: 18px;
  box-shadow: 0 18px 40px -30px rgba(42, 35, 28, 0.7);
}

.jungle-card img {
  width: 100%;
  height: 250px;
  object-fit: cover;
}

.jungle-card h3,
.jungle-card p {
  padding-inline: 20px;
}

.jungle-feature {
  background: var(--wp--preset--color--ivory);
  border: 1px solid rgba(107, 74, 43, 0.16);
  border-radius: 14px;
  padding: 26px 22px;
}

.jungle-feature h3 {
  margin-top: 0;
}

/* ---------- Badges / pills ---------- */
.jungle-pills p {
  display: inline-block;
  margin: 0 8px 8px 0;
  padding: 7px 14px;
  border-radius: 999px;
  font-size: 0.78rem;
  font-weight: 700;
  background: rgba(251, 247, 240, 0.14);
  border: 1px solid rgba(232, 200, 122, 0.55);
  color: #FBF7F0;
}

.jungle-tags p {
  display: inline-block;
  margin: 0 8px 8px 0;
  padding: 6px 12px;
  border-radius: 999px;
  font-size: 0.74rem;
  font-weight: 700;
  background: var(--wp--preset--color--sand);
  color: var(--wp--preset--color--ink);
}

/* ---------- Hero ---------- */
.jungle-hero {
  min-height: 78vh;
}

.jungle-hero h1 {
  line-height: 1.03;
  max-width: 18ch;
}

.jungle-hero p {
  max-width: 56ch;
}

/* ---------- Inquiry form ---------- */
.jungle-form {
  background: var(--wp--preset--color--ivory);
  border: 1px solid rgba(107, 74, 43, 0.18);
  border-radius: 16px;
  padding: 26px;
  box-shadow: 0 22px 50px -38px rgba(42, 35, 28, 0.8);
}

.jungle-form__grid {
  display: grid;
  gap: 14px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.jungle-form__full {
  grid-column: 1 / -1;
}

.jungle-form label {
  display: block;
  font-size: 0.74rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #6B4A2B;
  margin-bottom: 6px;
}

.jungle-form input,
.jungle-form select,
.jungle-form textarea {
  width: 100%;
  padding: 11px 13px;
  border: 1px solid rgba(107, 74, 43, 0.28);
  border-radius: 10px;
  background: #fff;
  font-family: inherit;
  font-size: 0.95rem;
  color: #2A231C;
}

.jungle-form input:focus,
.jungle-form select:focus,
.jungle-form textarea:focus {
  outline: 2px solid var(--wp--preset--color--gold);
  outline-offset: 1px;
}

.jungle-form__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 18px;
}

.jungle-btn {
  display: inline-block;
  padding: 13px 26px;
  border-radius: 999px;
  font-weight: 700;
  font-size: 0.95rem;
  text-decoration: none;
  border: 0;
  cursor: pointer;
}

.jungle-btn--wa {
  background: #25D366;
  color: #08331a;
}

.jungle-btn--call {
  background: var(--wp--preset--color--terracotta);
  color: #FBF7F0;
}

.jungle-form__note {
  font-size: 0.8rem;
  margin-top: 14px;
  color: #6B4A2B;
}

@media (max-width: 640px) {
  .jungle-form__grid {
    grid-template-columns: 1fr;
  }
}

/* ---------- Legal pages ---------- */
.jungle-legal p,
.jungle-legal li {
  line-height: 1.8;
  max-width: 78ch;
}

/* ---------- Mobile sticky call bar ---------- */
.jungle-sticky-bar {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 99;
  display: none;
  box-shadow: 0 -8px 24px -18px rgba(0, 0, 0, 0.8);
}

.jungle-sticky-bar a {
  color: #FBF7F0;
  text-decoration: none;
  font-weight: 700;
}

.jungle-sticky-bar p {
  margin: 0;
}

@media (max-width: 781px) {
  .jungle-sticky-bar {
    display: flex;
  }
  body {
    padding-bottom: 66px;
  }
  .jungle-card img {
    height: 210px;
  }
  .jungle-hero {
    min-height: 64vh;
  }
}

/* =====================================================================
   v4.1.0 — design polish, alignment fixes and motion
   ===================================================================== */

/* ---------- 1. Sticky call bar: mobile only, never on desktop ---------- */
.jungle-sticky-bar {
  display: none !important;
}

@media (max-width: 781px) {
  .jungle-sticky-bar {
    display: flex !important;
    justify-content: center;
    gap: 0;
  }
  .jungle-sticky-bar p {
    flex: 1 1 0;
    text-align: center;
  }
  .jungle-sticky-bar p + p {
    border-left: 1px solid rgba(251, 247, 240, 0.35);
  }
  body {
    padding-bottom: 64px;
  }
}

/* ---------- 2. Booking form: centred card, perfectly aligned fields ---------- */
.jungle-form {
  box-sizing: border-box;
  max-width: 800px;
  margin-inline: auto;
  padding: 34px 32px;
  border-radius: 20px;
  background: linear-gradient(180deg, #FFFDF9 0%, var(--wp--preset--color--ivory) 100%);
  box-shadow: 0 30px 70px -45px rgba(42, 35, 28, 0.85);
}

.jungle-form *,
.jungle-form *::before,
.jungle-form *::after {
  box-sizing: border-box;
}

.jungle-form__grid {
  gap: 18px 20px;
}

.jungle-form input,
.jungle-form select,
.jungle-form textarea {
  box-sizing: border-box !important;
  display: block;
  height: auto;
  min-height: 48px;
  padding: 12px 14px;
  border-radius: 12px;
  border: 1px solid rgba(107, 74, 43, 0.25);
  line-height: 1.4;
  transition: border-color 0.25s ease, box-shadow 0.25s ease;
  appearance: none;
  -webkit-appearance: none;
}

.jungle-form input,
.jungle-form select {
  height: 48px;
}

.jungle-form textarea {
  min-height: 108px;
  resize: vertical;
}

.jungle-form select {
  background-image: linear-gradient(45deg, transparent 50%, #6B4A2B 50%), linear-gradient(135deg, #6B4A2B 50%, transparent 50%);
  background-position: calc(100% - 20px) 21px, calc(100% - 14px) 21px;
  background-size: 6px 6px, 6px 6px;
  background-repeat: no-repeat;
  padding-right: 40px;
}

.jungle-form input:focus,
.jungle-form select:focus,
.jungle-form textarea:focus {
  outline: none;
  border-color: var(--wp--preset--color--gold);
  box-shadow: 0 0 0 3px rgba(232, 200, 122, 0.45);
}

.jungle-form__actions {
  margin-top: 26px;
  gap: 14px;
}

.jungle-form__actions .jungle-btn {
  flex: 1 1 220px;
  text-align: center;
}

.jungle-form__note {
  text-align: center;
  line-height: 1.7;
}

.jungle-form__done {
  background: rgba(106, 143, 92, 0.14);
  border: 1px solid rgba(106, 143, 92, 0.4);
  border-radius: 12px;
  padding: 14px 16px;
  margin-top: 18px;
}

@media (max-width: 640px) {
  .jungle-form {
    padding: 24px 18px;
  }
  .jungle-form__actions .jungle-btn {
    flex: 1 1 100%;
  }
}

/* ---------- 3. Buttons: smooth interactive feel ---------- */
.jungle-btn,
.wp-block-button__link {
  transition: transform 0.28s cubic-bezier(0.22, 1, 0.36, 1), box-shadow 0.28s ease, filter 0.28s ease;
}

.jungle-btn:hover,
.wp-block-button__link:hover {
  transform: translateY(-2px);
  filter: brightness(1.04);
  box-shadow: 0 14px 26px -16px rgba(42, 35, 28, 0.75);
}

.jungle-btn:active,
.wp-block-button__link:active {
  transform: translateY(0);
}

/* ---------- 4. Cards: lift + image zoom ---------- */
.jungle-card,
.jungle-feature {
  transition: transform 0.45s cubic-bezier(0.22, 1, 0.36, 1), box-shadow 0.45s ease, border-color 0.45s ease;
  will-change: transform;
}

.jungle-card:hover,
.jungle-feature:hover {
  transform: translateY(-7px);
  border-color: rgba(232, 200, 122, 0.75);
  box-shadow: 0 30px 55px -35px rgba(42, 35, 28, 0.85);
}

.jungle-card figure.wp-block-image {
  overflow: hidden;
  margin: 0;
}

.jungle-card img {
  transition: transform 0.7s cubic-bezier(0.22, 1, 0.36, 1);
}

.jungle-card:hover img {
  transform: scale(1.06);
}

.wp-block-gallery figure.wp-block-image {
  overflow: hidden;
  border-radius: 14px;
}

.wp-block-gallery figure.wp-block-image img {
  transition: transform 0.7s cubic-bezier(0.22, 1, 0.36, 1);
}

.wp-block-gallery figure.wp-block-image:hover img {
  transform: scale(1.07);
}

/* ---------- 5. Trust pills: balanced, centred row ---------- */
.jungle-pills {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px;
  text-align: center;
}

.jungle-pills p {
  margin: 0;
  padding: 9px 18px;
  background: rgba(251, 247, 240, 0.1);
  transition: background 0.3s ease, border-color 0.3s ease, transform 0.3s ease;
}

.jungle-pills p:hover {
  background: rgba(232, 200, 122, 0.18);
  border-color: rgba(232, 200, 122, 0.9);
  transform: translateY(-2px);
}

/* ---------- 6. Reviews: proper testimonial cards ---------- */
.wp-block-quote {
  background: var(--wp--preset--color--ivory);
  border: 1px solid rgba(107, 74, 43, 0.16);
  border-left: 4px solid var(--wp--preset--color--gold);
  border-radius: 14px;
  padding: 24px 24px 20px;
  margin: 0;
  transition: transform 0.45s cubic-bezier(0.22, 1, 0.36, 1), box-shadow 0.45s ease;
}

.wp-block-quote:hover {
  transform: translateY(-6px);
  box-shadow: 0 28px 50px -34px rgba(42, 35, 28, 0.8);
}

.wp-block-quote::before {
  content: "★★★★★";
  display: block;
  color: var(--wp--preset--color--gold);
  letter-spacing: 3px;
  font-size: 0.85rem;
  margin-bottom: 12px;
}

.wp-block-quote p {
  font-size: 1rem;
  line-height: 1.75;
  margin: 0 0 14px;
}

.wp-block-quote cite {
  display: block;
  font-style: normal;
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  color: #6B4A2B;
}

/* ---------- 7. FAQ: modern accordion, no browser triangles ---------- */
.wp-block-details {
  background: var(--wp--preset--color--ivory);
  border: 1px solid rgba(107, 74, 43, 0.16);
  border-radius: 12px;
  padding: 4px 20px;
  margin-bottom: 12px;
  transition: border-color 0.3s ease, box-shadow 0.3s ease;
}

.wp-block-details:hover,
.wp-block-details[open] {
  border-color: rgba(232, 200, 122, 0.8);
  box-shadow: 0 18px 36px -30px rgba(42, 35, 28, 0.8);
}

.wp-block-details summary {
  list-style: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 16px 0;
  font-weight: 700;
  color: #2A231C;
}

.wp-block-details summary::-webkit-details-marker,
.wp-block-details summary::marker {
  display: none;
  content: "";
}

.wp-block-details summary::after {
  content: "+";
  flex: 0 0 auto;
  font-size: 1.45rem;
  line-height: 1;
  color: var(--wp--preset--color--terracotta);
  transition: transform 0.3s ease;
}

.wp-block-details[open] summary::after {
  transform: rotate(45deg);
}

.wp-block-details > *:not(summary) {
  padding-bottom: 14px;
  animation: tjhr-fade 0.35s ease both;
}

/* ---------- 8. Scroll reveal + entrance motion ---------- */
@keyframes tjhr-fade {
  from { opacity: 0; transform: translateY(8px); }
  to   { opacity: 1; transform: translateY(0); }
}

@keyframes tjhr-reveal {
  from { opacity: 0; transform: translateY(28px); }
  to   { opacity: 1; transform: translateY(0); }
}

.jungle-hero .wp-block-group > * {
  animation: tjhr-reveal 0.9s cubic-bezier(0.22, 1, 0.36, 1) both;
}

.jungle-hero .wp-block-group > *:nth-child(2) { animation-delay: 0.12s; }
.jungle-hero .wp-block-group > *:nth-child(3) { animation-delay: 0.24s; }
.jungle-hero .wp-block-group > *:nth-child(4) { animation-delay: 0.36s; }

.tjhr-reveal {
  opacity: 0;
  transform: translateY(28px);
  transition: opacity 0.8s cubic-bezier(0.22, 1, 0.36, 1), transform 0.8s cubic-bezier(0.22, 1, 0.36, 1);
}

.tjhr-reveal.is-visible {
  opacity: 1;
  transform: translateY(0);
}

.tjhr-no-js .tjhr-reveal {
  opacity: 1;
  transform: none;
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    transition-duration: 0.01ms !important;
  }
  .tjhr-reveal {
    opacity: 1 !important;
    transform: none !important;
  }
}

/* ---------- 9. Section rhythm + headings ---------- */
h2.wp-block-heading {
  line-height: 1.12;
  margin-bottom: 0.4em;
}

.wp-block-columns {
  gap: 26px;
}

.wp-block-navigation a {
  transition: color 0.25s ease;
}

.wp-block-navigation a:hover {
  color: var(--wp--preset--color--terracotta);
}

/* ============ v4.1 — match the design preview exactly ============ */
.jungle-icon{width:22px;height:22px;flex:0 0 22px;color:#B4552D}

/* Hero */
.jungle-hero .wp-block-cover__inner-container{max-width:1280px;margin-inline:auto;width:100%}
.jungle-hero .wp-block-group{text-align:left}
.jungle-hero h1{max-width:20ch;line-height:1.03;margin-bottom:.4em}
.jungle-hero__lede{max-width:46ch;font-size:1.05rem;line-height:1.7;opacity:.9}
.jungle-hero__badges{display:flex;flex-wrap:wrap;gap:10px;margin:26px 0 4px}
.jungle-hero__badge{display:inline-flex;align-items:center;gap:8px;border:1px solid rgba(201,168,76,.55);
  background:rgba(35,28,21,.42);backdrop-filter:blur(6px);padding:7px 14px;font-size:.78rem;font-weight:700;color:#FAF6EF}
.jungle-hero__badge .jungle-icon{width:16px;height:16px;flex:0 0 16px;color:#C9A84C}
.jungle-hero__note{margin-top:20px;font-size:.74rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#C9A84C}
.jungle-hero .wp-block-buttons{margin-top:26px}
.jungle-hero .is-style-outline .wp-block-button__link{border:1px solid rgba(250,246,239,.45);color:#FAF6EF;background:transparent}
.jungle-hero .is-style-outline .wp-block-button__link:hover{background:#FAF6EF;color:#231C15}

/* Icon feature rows */
.jungle-iconrow{display:grid;grid-template-columns:repeat(4,1fr);gap:32px;max-width:1280px;margin-inline:auto}
.jungle-iconrow__item{display:flex;gap:14px;align-items:flex-start}
.jungle-iconrow__item h3{margin:0;font-family:inherit;font-size:.95rem;font-weight:700;color:#2C2118;line-height:1.35}
.jungle-iconrow__item p{margin:6px 0 0;font-size:.88rem;line-height:1.6;color:#6B5F52}
.jungle-iconrow--compact .jungle-iconrow__item{align-items:center;border-bottom:1px solid rgba(44,33,24,.12);padding-bottom:16px}
.jungle-iconrow--compact .jungle-iconrow__item h3{font-size:.9rem}

/* Split sections */
.jungle-split{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;max-width:1280px;margin-inline:auto}
.jungle-split--wide{grid-template-columns:1fr .9fr;align-items:start}
.jungle-split--form{grid-template-columns:1fr;max-width:1280px}
.jungle-split__img{width:100%;height:100%;min-height:340px;object-fit:cover}
.jungle-split__text h2{margin:.2em 0 .3em}
.jungle-split__text p{line-height:1.8;color:#6B5F52}
.jungle-strong{font-weight:700;color:#2C2118}
.jungle-strong a{color:#B4552D;text-decoration:none}
.jungle-muted{font-size:.88rem}
.jungle-btnrow{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}

/* Collage */
.jungle-collage{position:relative;min-height:420px}
.jungle-collage__a{position:absolute;left:0;top:0;width:74%;height:84%;object-fit:cover}
.jungle-collage__b{position:absolute;right:0;bottom:0;width:52%;height:46%;object-fit:cover;border:10px solid #FAF6EF}

/* Room cards */
.jungle-roomgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;max-width:1280px;margin:44px auto 0}
.jungle-room{background:#FFFDF9;border:1px solid rgba(44,33,24,.12);overflow:hidden;transition:transform .3s ease,box-shadow .3s ease}
.jungle-room:hover{transform:translateY(-6px);box-shadow:0 22px 48px -26px rgba(44,33,24,.5)}
.jungle-room img{width:100%;aspect-ratio:4/3;object-fit:cover;transition:transform .7s ease}
.jungle-room:hover img{transform:scale(1.05)}
.jungle-room__body{padding:24px}
.jungle-room__top{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
.jungle-room__top h3{margin:0;font-size:1.5rem}
.jungle-room__top span{font-size:.85rem;font-weight:700;color:#B4552D;white-space:nowrap}
.jungle-room__body p{margin:12px 0 0;font-size:.9rem;line-height:1.6;color:#6B5F52}
.jungle-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.jungle-chips span{background:rgba(224,208,182,.55);padding:4px 10px;font-size:.7rem;font-weight:700;color:#2C2118}
.jungle-room__link{display:inline-block;margin-top:18px;font-size:.87rem;font-weight:800;color:#B4552D;text-decoration:none}

/* Feature cards */
.jungle-cardgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;max-width:1280px;margin:44px auto 0}
.jungle-cardgrid .jungle-feature{background:#FFFDF9;border:1px solid rgba(44,33,24,.12);padding:24px;transition:transform .3s ease,box-shadow .3s ease}
.jungle-cardgrid .jungle-feature:hover{transform:translateY(-6px);box-shadow:0 22px 48px -26px rgba(44,33,24,.45)}
.jungle-cardgrid .jungle-feature h3{margin:16px 0 0;font-size:1.4rem}
.jungle-cardgrid .jungle-feature p{margin:10px 0 0;font-size:.88rem;line-height:1.6;color:#6B5F52}

/* Timings */
.jungle-timings{margin-top:34px;display:grid;gap:22px}
.jungle-timing{display:flex;gap:14px;border-bottom:1px solid rgba(44,33,24,.12);padding-bottom:18px}
.jungle-timing h3{margin:0;font-family:inherit;font-size:.98rem;font-weight:700;color:#2C2118}
.jungle-timing h3 em{font-style:normal;color:#B4552D;font-weight:800;font-size:.88rem;margin-left:6px}
.jungle-timing p{margin:6px 0 0;font-size:.88rem;line-height:1.6;color:#6B5F52}
.jungle-guide{background:#FFFDF9;border-left:3px solid #B4552D;padding:30px}
.jungle-guide h3{margin:10px 0 0;font-size:1.7rem}
.jungle-guide p{font-size:.9rem;line-height:1.75;color:#6B5F52}

/* Reviews */
.jungle-reviews{background-size:cover;background-position:center;padding:80px 18px;color:#FAF6EF}
.jungle-reviews__inner{max-width:1280px;margin-inline:auto}
.jungle-reviews__inner h2{color:#FAF6EF;margin:.2em 0 0}
.jungle-reviews__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:44px}
.jungle-reviews blockquote{margin:0;border:1px solid rgba(250,246,239,.16);background:rgba(35,28,21,.55);backdrop-filter:blur(6px);padding:26px;transition:transform .3s ease}
.jungle-reviews blockquote:hover{transform:translateY(-6px)}
.jungle-reviews blockquote p{font-size:.9rem;line-height:1.8;color:rgba(250,246,239,.85);margin:16px 0 0}
.jungle-reviews blockquote footer{margin-top:18px;font-size:.72rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:#C9A84C}
.jungle-reviews blockquote footer span{display:block;margin-top:5px;font-weight:600;letter-spacing:normal;text-transform:none;color:rgba(250,246,239,.6)}
.jungle-stars{display:flex;gap:4px;color:#C9A84C}
.jungle-stars .jungle-icon{width:16px;height:16px;flex:0 0 16px;fill:currentColor;color:#C9A84C}

@media (max-width:980px){
  .jungle-iconrow{grid-template-columns:repeat(2,1fr);gap:24px}
  .jungle-split,.jungle-split--wide{grid-template-columns:1fr;gap:34px}
  .jungle-roomgrid,.jungle-cardgrid,.jungle-reviews__grid{grid-template-columns:1fr}
  .jungle-collage{min-height:320px}
}
@media (max-width:600px){
  .jungle-iconrow{grid-template-columns:1fr}
  .jungle-hero h1{font-size:2.3rem}
}
/* Booking inquiry — text left, form right (like the preview) */
.jungle-bookgrid{display:grid !important;grid-template-columns:.85fr 1.15fr;gap:48px;align-items:start}
.jungle-bookgrid > *{max-width:none !important;width:100%}
.jungle-bookgrid .jungle-form{max-width:none;margin:0}
@media (max-width:980px){.jungle-bookgrid{grid-template-columns:1fr;gap:32px}}

/* ---------- v4.2: footer contrast + compact mobile header ---------- */
.jungle-footer, .jungle-footer p { color: #E8DFD5; }
.jungle-footer a { color: #F3EADF; text-decoration: none; }
.jungle-footer a:hover, .jungle-footer a:focus { color: #C9A84C; text-decoration: underline; }
.jungle-footer h3, .jungle-footer h4 { color: #C9A84C; }
.jungle-footer .has-text-align-center { color: #D4C5B3; }
@media (max-width: 781px) {
  .jungle-topbar { display: none; }
  .jungle-mainbar { padding-top: 10px !important; padding-bottom: 10px !important; }
  .jungle-mainbar > .wp-block-group { flex-wrap: nowrap !important; gap: 10px; align-items: center; }
  .jungle-mainbar .wp-block-site-logo img { width: 44px !important; height: auto; }
  .jungle-mainbar .wp-block-site-tagline { display: none; }
  .jungle-mainbar .wp-block-site-title { font-size: 1.05rem; line-height: 1.15; }
  .jungle-mainbar > .wp-block-group > .wp-block-group:last-child { flex-wrap: nowrap !important; gap: 8px; margin-left: auto; }
  .jungle-mainbar .wp-block-button__link { padding: 9px 13px; font-size: .78rem; white-space: nowrap; }
}
.jungle-form input:invalid:focus { border-color: #B5523B; }

/* v5.0 form submit */
.jungle-btn--submit{background:#6B4A2B;color:#FBF7F0;border:0;cursor:pointer}
.jungle-btn--submit:hover{background:#4E3520}
.jungle-btn--submit[disabled]{opacity:.6;cursor:wait}
.jungle-form button.jungle-btn{font:inherit;font-weight:700}
.jungle-hp{position:absolute!important;left:-9999px!important;height:0;overflow:hidden}
.jungle-form__status{margin-top:12px;padding:10px 14px;border-radius:10px;background:#FBEDE6;color:#8A3A22;font-weight:600}
.jungle-form__done{margin-top:12px;padding:12px 14px;border-radius:10px;background:#EEF3E6;color:#3C4A2A}

/* ============ v5.1 — QA fixes ============ */
/* 1. Form buttons: natural width, consistent height */
.jungle-form .jungle-form__actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:24px}
.jungle-form .jungle-form__actions .jungle-btn{flex:0 0 auto;width:auto;display:inline-flex;align-items:center;justify-content:center;min-height:46px;height:46px;padding:0 22px;font-size:.94rem;line-height:1;white-space:nowrap;border-radius:999px;box-sizing:border-box}
.jungle-form .jungle-btn--submit{background:#6B4A2B;color:#FBF7F0}
.jungle-form .jungle-btn--submit:hover{background:#4E3520}
.jungle-form .jungle-form__actions .jungle-btn--call{background:transparent;color:#B4552D;border:1px solid rgba(180,85,45,.45)}
.jungle-form .jungle-form__actions .jungle-btn:focus-visible{outline:3px solid #C9A84C;outline-offset:2px}
.jungle-form .jungle-btn[disabled]{opacity:.65;cursor:wait}
@media (max-width:640px){.jungle-form .jungle-form__actions .jungle-btn{flex:1 1 100%;width:100%;white-space:normal;height:auto;padding:12px 18px}}
/* 5. Field errors */
.jungle-form__err{display:block;margin-top:6px;font-size:.8rem;font-weight:600;color:#9E3A1E}
.jungle-form [aria-invalid="true"]{border-color:#B5523B !important;box-shadow:0 0 0 3px rgba(181,82,59,.18)}
.jungle-hp{position:absolute !important;left:-9999px !important}
/* 2. Footer spacing */
.jungle-footer .wp-block-columns{gap:32px;align-items:flex-start;margin-bottom:28px}
.jungle-footer .wp-block-column > *{margin-top:0;margin-bottom:0}
.jungle-footer .wp-block-column h3,.jungle-footer .wp-block-column h4{margin:0 0 14px;line-height:1.25}
.jungle-footer .wp-block-column p{line-height:1.95;margin:0}
.jungle-footer > p{margin:10px auto 0;max-width:900px}
@media (max-width:781px){.jungle-footer .wp-block-columns{gap:24px}.jungle-footer .wp-block-column{flex-basis:100% !important}}
/* 3. Hero alignment & readability */
.jungle-hero .wp-block-cover__background{background:linear-gradient(90deg,rgba(26,20,14,.82) 0%,rgba(26,20,14,.6) 55%,rgba(26,20,14,.35) 100%) !important;opacity:1 !important}
.jungle-hero .wp-block-cover__inner-container > .wp-block-group{max-width:1280px;margin-inline:auto;padding-inline:clamp(0px,2vw,24px)}
.jungle-hero .wp-block-cover__inner-container > .wp-block-group > *{margin-left:0 !important;margin-right:0 !important;max-width:640px}
.jungle-hero h1{max-width:18ch !important}
.jungle-hero .jungle-eyebrow,.jungle-hero__note{color:#E8C87A !important;text-shadow:0 1px 6px rgba(0,0,0,.7)}
.jungle-hero__note{font-size:.8rem;letter-spacing:.08em;margin-top:18px}
.jungle-hero__lede,.jungle-hero h1{text-shadow:0 2px 14px rgba(0,0,0,.45)}
.jungle-hero__lede{opacity:1}
.jungle-hero__badges{margin:22px 0 0}
.jungle-hero .wp-block-buttons{margin-top:24px;justify-content:flex-start}
@media (max-width:781px){.jungle-hero{min-height:560px !important}.jungle-hero__badge{font-size:.74rem}}
/* 6. Anchors under sticky header */
html{scroll-behavior:smooth}
#inquiry-form,.jungle-room[id],#book{scroll-margin-top:110px}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* v5.3 inquiry tabs */
.jungle-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:18px 0 20px;padding:6px;background:#F3EADF;border:1px solid #E5D9C8;border-radius:14px}
.jungle-tab{display:flex;flex-direction:column;align-items:center;gap:2px;padding:10px 8px;border:0;border-radius:10px;background:transparent;color:#6B4A2B;cursor:pointer;font:inherit;transition:background .2s,color .2s,box-shadow .2s}
.jungle-tab strong{font-size:15px}.jungle-tab span{font-size:12px;opacity:.75}
.jungle-tab:hover{background:#fff}
.jungle-tab.is-active{background:#B4552D;color:#FFF8EE;box-shadow:0 6px 16px rgba(180,85,45,.25)}
.jungle-tab:focus-visible{outline:2px solid #C9A84C;outline-offset:2px}
.jungle-form [hidden]{display:none!important}
@media(max-width:600px){.jungle-tabs{grid-template-columns:1fr}.jungle-tab{flex-direction:row;justify-content:space-between;padding:12px 14px}}

/* v5.4 hero quick enquiry form */
.jungle-hero--form .wp-block-cover__inner-container{display:grid;grid-template-columns:1fr 400px;gap:40px;align-items:end}
.jungle-quick{background:#FAF6EE;border:1px solid rgba(193,154,74,.45);box-shadow:0 25px 50px -12px rgba(0,0,0,.45);padding:22px;color:#2B241E;text-align:left}
.jungle-quick__eyebrow{margin:0;font-size:11px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:#B5562F}
.jungle-quick__title{margin:4px 0 14px;font-family:'Cormorant Garamond',serif;font-size:1.6rem;color:#3A2A1C}
.jungle-quick__tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;background:#EFE6D6;padding:4px;border:1px solid #E2D6C2}
.jungle-quick__tabs button{display:flex;flex-direction:column;align-items:center;gap:2px;border:0;background:transparent;padding:8px 2px;font:700 11px/1.2 Manrope,sans-serif;color:#6B5A48;cursor:pointer;transition:background .2s,color .2s}
.jungle-quick__tabs button.is-active{background:#3A2A1C;color:#FAF6EE}
.jungle-quick__grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}
.jungle-quick__grid label{display:flex;flex-direction:column;gap:4px;font-size:10.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#6B5A48}
.jungle-quick__grid label[hidden]{display:none}
.jungle-quick__full{grid-column:1/-1}
.jungle-quick__grid input,.jungle-quick__grid select{height:40px;border:1px solid #D9CBB4;background:#fff;padding:0 10px;font:500 14px Manrope,sans-serif;color:#2B241E;text-transform:none;letter-spacing:0;width:100%;box-sizing:border-box}
.jungle-quick__grid input:focus,.jungle-quick__grid select:focus{outline:2px solid rgba(181,86,47,.4);outline-offset:0}
.jungle-quick__submit{margin-top:14px;width:100%;height:46px;border:0;background:#B5562F;color:#FAF6EE;font:700 .94rem Manrope,sans-serif;cursor:pointer}
.jungle-quick__submit:hover{background:#9C4826}
.jungle-quick__call{margin:10px 0 0;text-align:center;font-size:12px;color:#6B5A48}
.jungle-quick__call a{color:#3A2A1C;font-weight:700}
.jungle-quick__done{margin:10px 0 0;padding:10px;background:#EFE6D6;font-size:13px;color:#3A2A1C}
@media (max-width:960px){.jungle-hero--form .wp-block-cover__inner-container{grid-template-columns:1fr}}
@media (max-width:420px){.jungle-quick__grid{grid-template-columns:1fr}}

.jungle-quick__status{margin:8px 0 0;font-size:12.5px;color:#B5562F;font-weight:600}
