/* R&D ADVENTURES — client customization (loaded after styles.css) */
:root {
  --bg: #F7F3E9;
  --bg-alt: #ECE5D4;
  --accent: #B4532A;
  --accent-dark: #8E3E1C;
  --accent-2: #33502F;
  --accent-2-soft: #4E6B49;
  --gold: #DBA43C;
}
.hero h1 em { color: var(--gold); }
.hero__eyebrow, .eyebrow { color: var(--gold); }
.section--alt .eyebrow { color: var(--accent); }

/* ---------- Nav: fit every item on one line ---------- */
.nav-wrap { max-width: 1440px !important; }
.nav-main { gap: 2px; }
.nav-main a, .nav-dropdown > button {
  white-space: nowrap;
  font-size: .93rem;
  padding-left: 12px; padding-right: 12px;
}
.brand__name { white-space: nowrap; }

/* ---------- Brands We Trust (logos only, no captions) ---------- */
.brand-logos { display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:34px 54px; margin-top:26px; }
.brand-logo { display:flex; align-items:center; justify-content:center; }
.brand-logo img { height:50px; width:auto; max-width:180px; object-fit:contain; opacity:.9;
  transition: transform var(--t-med) var(--ease), opacity var(--t-fast) var(--ease); border-radius:0; }
.brand-logo:hover img { opacity:1; transform: translateY(-3px) scale(1.04); }
@media (max-width:640px){ .brand-logos{ gap:26px 34px; } .brand-logo img{ height:40px; } }

/* ---------- Corporate package cards ---------- */
.pkg-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:28px; }
@media (max-width:1024px){ .pkg-grid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:820px){ .pkg-grid{ grid-template-columns:1fr; } }
.pkg-card { background:#fff; border:1px solid var(--line); border-radius:var(--r-lg); padding:34px 30px; box-shadow:var(--s-card); }
.pkg-card--feature { border:2px solid var(--accent-2); position:relative; }
.pkg-card--feature::before { content:"Best Value"; position:absolute; top:-13px; left:30px; background:var(--accent-2); color:#fff;
  font-size:.68rem; letter-spacing:.12em; text-transform:uppercase; font-weight:700; padding:5px 12px; border-radius:var(--r-pill); }
.pkg-card h3 { font-size:1.5rem; margin-bottom:6px; }
.pkg-card__note { color:var(--muted); font-size:.95rem; margin:0 0 18px; }
.pkg-list { list-style:none; margin:0; padding:0; }
.pkg-list li { display:flex; justify-content:space-between; gap:16px; padding:11px 0; border-bottom:1px dashed var(--line); font-size:.98rem; }
.pkg-list li:last-child { border-bottom:0; }
.pkg-list li span:last-child { font-weight:700; color:var(--accent-2); white-space:nowrap; }

/* ---------- Breed chips (kept for future use) ---------- */
.chip-row { display:flex; flex-wrap:wrap; gap:12px; justify-content:center; }
.chip { background:var(--accent-2); color:#fff; padding:9px 18px; border-radius:var(--r-pill); font-size:.9rem; font-weight:600; }
.chip:nth-child(even){ background:var(--accent); }

/* ---------- Masonry gallery ---------- */
.gallery-masonry { columns:3; column-gap:16px; }
.gallery-masonry img { width:100%; margin:0 0 16px; border-radius:var(--r-md); break-inside:avoid; box-shadow:var(--s-subtle);
  transition: transform var(--t-med) var(--ease), box-shadow var(--t-med) var(--ease); }
.gallery-masonry img:hover { transform:scale(1.02); box-shadow:var(--s-hover); }
@media (max-width:900px){ .gallery-masonry{ columns:2; } }
@media (max-width:560px){ .gallery-masonry{ columns:1; } }

/* ---------- Contact form shell ---------- */
.contact-form-shell { max-width:720px; margin:8px auto 0; background:#fff; border:1px solid var(--line);
  border-radius:var(--r-lg); padding:30px; box-shadow:var(--s-card); min-height:120px; }

/* ---------- Redesigned FAQ accordion ---------- */
.faq-accordion { display:flex; flex-direction:column; gap:14px; }
.faq-card { background:#fff; border:1px solid var(--line); border-radius:var(--r-md); overflow:hidden;
  box-shadow:var(--s-subtle); transition: box-shadow .25s var(--ease), border-color .25s var(--ease); }
.faq-card:hover { border-color:var(--accent-2-soft); }
.faq-card[open] { border-color:var(--accent-2); box-shadow:var(--s-card); }
.faq-card summary { list-style:none; cursor:pointer; display:flex; align-items:center; justify-content:space-between;
  gap:18px; padding:22px 26px; }
.faq-card summary::-webkit-details-marker { display:none; }
.faq-card__q { font-family:var(--font-display); font-weight:500; font-size:1.14rem; color:var(--ink); line-height:1.35; }
.faq-card[open] .faq-card__q { color:var(--accent-2); }
.faq-card__ico { position:relative; flex:none; width:28px; height:28px; border-radius:50%;
  background:var(--accent-2); transition: background .25s var(--ease), transform .25s var(--ease); }
.faq-card__ico::before, .faq-card__ico::after { content:""; position:absolute; top:50%; left:50%; background:#fff; border-radius:2px; }
.faq-card__ico::before { width:12px; height:2px; transform:translate(-50%,-50%); }
.faq-card__ico::after { width:2px; height:12px; transform:translate(-50%,-50%); transition: transform .25s var(--ease), opacity .2s var(--ease); }
.faq-card[open] .faq-card__ico { background:var(--accent); transform:rotate(180deg); }
.faq-card[open] .faq-card__ico::after { transform:translate(-50%,-50%) scaleY(0); opacity:0; }
.faq-card__a { padding:0 26px 24px; }
.faq-card__a p { margin:0; color:var(--ink-soft); line-height:1.75; }

/* ANIMATED MOBILE MENU */
@media (max-width:1024px){
  /* hide the booking button in the mobile navbar (kept elsewhere on page) */
  .nav-cta .mb-full-width, .nav-cta button.mb_widget, .nav-cta .btn.mb_widget { display:none !important; }

  .site-header.is-open .nav-toggle span:nth-child(1){ transform: translateY(7px) rotate(45deg); }
  .site-header.is-open .nav-toggle span:nth-child(2){ opacity:0; transform: scaleX(.2); }
  .site-header.is-open .nav-toggle span:nth-child(3){ transform: translateY(-7px) rotate(-45deg); }
  .site-header.is-open .nav-main { animation: menuDrop .34s var(--ease) both; transform-origin: top center; }
  @keyframes menuDrop { from{ opacity:0; transform: translateY(-14px);} to{ opacity:1; transform: translateY(0);} }
  .site-header.is-open .nav-main > a,
  .site-header.is-open .nav-main > .nav-dropdown { animation: itemIn .4s var(--ease) both; }
  .site-header.is-open .nav-main > *:nth-child(1){ animation-delay:.06s; }
  .site-header.is-open .nav-main > *:nth-child(2){ animation-delay:.12s; }
  .site-header.is-open .nav-main > *:nth-child(3){ animation-delay:.18s; }
  .site-header.is-open .nav-main > *:nth-child(4){ animation-delay:.24s; }
  .site-header.is-open .nav-main > *:nth-child(5){ animation-delay:.30s; }
  .site-header.is-open .nav-main > *:nth-child(6){ animation-delay:.36s; }
  .site-header.is-open .nav-main > *:nth-child(7){ animation-delay:.42s; }
  @keyframes itemIn { from{ opacity:0; transform: translateX(-16px);} to{ opacity:1; transform: translateX(0);} }
  .site-header.is-open .nav-main { gap:2px; }
  body.nav-locked { overflow:hidden; }
}

/* MB booking button — restore pill styling after the widget nests our button */
.mb-full-width button.btn.btn--primary,
.mb-full-width button.btn.btn--dark,
.mb-full-width button.btn.btn--ghost-light {
  display:inline-flex !important; align-items:center !important; justify-content:center !important;
  padding:15px 30px !important; min-height:50px !important; border-radius:999px !important; border:0 !important;
  font-family:var(--font-body) !important; font-weight:600 !important; font-size:.95rem !important;
  line-height:1 !important; letter-spacing:.01em !important; white-space:nowrap !important;
  cursor:pointer !important; width:auto !important; box-shadow:var(--s-card) !important;
}
.mb-full-width button.btn.btn--primary { background:var(--accent) !important; color:#fff !important; }
.mb-full-width button.btn.btn--dark    { background:var(--ink)   !important; color:#fff !important; }
.mb-full-width button.btn.btn--ghost-light { background:transparent !important; color:#fff !important;
  border:1px solid rgba(255,255,255,.7) !important; box-shadow:none !important; }
.nav-cta .mb-full-width button.btn { padding:11px 22px !important; min-height:0 !important; font-size:.9rem !important; }
.mb-full-width > button,
.mb-full-width > div button:not(.btn) { background:transparent !important; border:0 !important; padding:0 !important; }

/* Corporate packages: experience + how-it-works lists */
.exp-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:0 44px;max-width:900px;margin:0 auto;list-style:none;padding:0}
@media(max-width:700px){.exp-grid{grid-template-columns:1fr}}
.exp-grid li{position:relative;padding:12px 0 12px 30px;border-bottom:1px dashed var(--line);font-size:1rem;color:var(--ink)}
.exp-grid li::before{content:"";position:absolute;left:2px;top:19px;width:11px;height:11px;border-radius:50%;background:var(--accent-2)}
.howto-list{margin:16px 0 0;padding-left:22px}
.howto-list li{margin:9px 0;color:var(--ink);font-size:1rem}

/* ---------- Header logo (logo-only header) ---------- */
.brand__logo { display:block; height:68px; width:auto; }
@media (max-width: 720px) { .brand__logo { height:56px; } }

/* ---------- Rate group headings inside pricing sections ---------- */
.rate-group-title {
  font-family: var(--font-display); font-size: 1.15rem; font-weight: 600;
  color: var(--ink); text-align: center; margin: 38px 0 14px;
}
.rate-group-title:first-of-type { margin-top: 0; }
.rate-note { color: var(--muted); font-size: .9rem; text-align: center; margin-top: 12px; }
