/* ============================================================
   GrandEscapes — Pages Stylesheet (legal / info pages)
   ============================================================ */

.page-body { padding-top: 78px; }

/* Keep legal/info-page header readable even at top-of-page.
   JS toggles .scrolled off when scrollY <= 60, so scope this to page templates only. */
.page-body #site-header {
  background: rgba(13,40,24,.96);
  backdrop-filter: blur(14px);
  box-shadow: 0 2px 24px rgba(0,0,0,.28);
}

.page-hero {
  background: linear-gradient(135deg, #0D2818 0%, #1A3D2B 100%);
  padding: 64px 0 56px;
  border-bottom: 3px solid #B5935A;
}
.page-hero .tag   { color: #D4B483; }
.page-hero h1     { color: #fff; font-size: clamp(2rem, 4vw, 3.2rem); margin-top: .5rem; }
.page-hero-sub    { color: rgba(255,255,255,.48); font-size: .875rem; margin-top: .6rem; }

.page-content { padding: 72px 0 96px; }

.page-prose { max-width: 780px; }

.page-lead {
  font-size: 1.05rem; color: #2C2C2C; line-height: 1.85;
  margin-bottom: 2rem; padding-bottom: 2rem;
  border-bottom: 1px solid #D9CEB8;
}

.page-prose h2 {
  font-size: 1.5rem; color: #1A3D2B;
  margin: 2.25rem 0 .75rem;
  padding-bottom: .5rem; border-bottom: 1px solid #E8E0D0;
}
.page-prose h3 { font-size: 1.2rem; color: #1A3D2B; margin: 1.5rem 0 .5rem; }
.page-prose p  { font-size: .925rem; color: #3D3D3D; line-height: 1.8; margin-bottom: 1rem; }
.page-prose ul, .page-prose ol { padding-left: 1.5rem; margin-bottom: 1.25rem; }
.page-prose ul { list-style: disc; }
.page-prose ol { list-style: decimal; }
.page-prose li { font-size: .925rem; color: #3D3D3D; line-height: 1.8; margin-bottom: .35rem; }
.page-prose a  { color: #8C6E3C; text-decoration: underline; text-underline-offset: 2px; transition: color .2s; }
.page-prose a:hover { color: #B5935A; }
.page-prose strong { color: #1A1A1A; }

.info-box {
  background: #F0EBE0; border-left: 4px solid #B5935A;
  border-radius: 0 8px 8px 0; padding: 1.25rem 1.5rem; margin: 1.75rem 0;
}
.info-box p { margin-bottom: 0; font-size: .9rem; color: #3D3D3D; }

.warning-box {
  background: #FDF5E6; border-left: 4px solid #B5935A;
  border-radius: 0 8px 8px 0; padding: 1.25rem 1.5rem; margin: 1.75rem 0;
}
.warning-box p { margin-bottom: 0; font-size: .9rem; }

/* ── Contact Form ── */
.contact-grid { display: grid; grid-template-columns: 1.1fr 1fr; gap: 4rem; align-items: start; }

.contact-form {
  background: #fff; border: 1px solid #D9CEB8;
  border-radius: 18px; padding: 2.5rem;
  box-shadow: 0 4px 28px rgba(26,61,43,.08);
}
.contact-form h2 { font-size: 1.8rem; margin-bottom: 1.5rem; }

.form-group { margin-bottom: 1.25rem; }
.form-group label {
  display: block; font-size: .8rem; font-weight: 600;
  letter-spacing: .07em; text-transform: uppercase;
  color: #1A3D2B; margin-bottom: .45rem;
}
.form-group input, .form-group select, .form-group textarea {
  width: 100%; padding: .82rem 1rem;
  border: 1.5px solid #D9CEB8; border-radius: 8px;
  font-family: 'Gill Sans', 'Gill Sans MT', 'Optima', 'Segoe UI', Arial, sans-serif; font-size: .9rem;
  color: #1A1A1A; background: #FAF7F2;
  transition: border-color .25s, box-shadow .25s; outline: none;
}
.form-group input:focus, .form-group select:focus, .form-group textarea:focus {
  border-color: #B5935A;
  box-shadow: 0 0 0 3px rgba(181,147,90,.15);
  background: #fff;
}
.form-group textarea { resize: vertical; min-height: 130px; }
.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }

.form-submit {
  width: 100%; padding: .92rem;
  background: linear-gradient(135deg, #B5935A, #8C6E3C);
  color: #fff; border: none; border-radius: 8px;
  font-family: 'Gill Sans', 'Gill Sans MT', 'Optima', 'Segoe UI', Arial, sans-serif;
  font-size: .9rem; font-weight: 600;
  letter-spacing: .08em; text-transform: uppercase;
  cursor: pointer; transition: all .3s ease; margin-top: .5rem;
}
.form-submit:hover {
  background: linear-gradient(135deg, #D4B483, #B5935A);
  transform: translateY(-1px);
  box-shadow: 0 6px 22px rgba(181,147,90,.38);
}
.form-success {
  display: none; text-align: center; padding: 2rem;
  color: #1A5C32; background: #EBF8EE;
  border-radius: 8px; margin-top: 1rem; font-size: .9rem;
}

.contact-info-block { padding-top: .5rem; }
.contact-info-block h2 { margin-bottom: 1.25rem; }

.contact-detail { display: flex; gap: 1rem; align-items: flex-start; margin-bottom: 1.5rem; }
.contact-detail-icon {
  width: 44px; height: 44px; background: #F0EBE0;
  border: 1.5px solid #D9CEB8; border-radius: 10px;
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0; font-size: 1.1rem;
}
.contact-detail-text h4  { font-size: .95rem; color: #1A3D2B; margin-bottom: .2rem; }
.contact-detail-text p, .contact-detail-text a { font-size: .875rem; color: #3D3D3D; text-decoration: none; line-height: 1.6; }
.contact-detail-text a:hover { color: #B5935A; }

/* Shared footer for pages */
#site-footer .footer-bottom { padding: 1.8rem 0; }

@media (max-width: 800px) {
  .contact-grid { grid-template-columns: 1fr; }
  .form-row     { grid-template-columns: 1fr; }
}
