/*
 Theme Name:   Hangout Child
 Template:     hangout
 Version:      1.0.0
*/

/* ── Brand Tokens ────────────────────────────────────────── */
:root {
  --hs-gold:      #c80000;
  --hs-gold-dark: #a87520;
  --hs-dark:      #1a1a1a;
  --hs-green:     #2d5016;
  --hs-cream:     #faf7f2;
  --hs-radius:    10px;
  --hs-shadow:    0 4px 24px rgba(0,0,0,.09);
}

/* ── Global ──────────────────────────────────────────────── */
body { font-family: 'Georgia', serif; color: var(--hs-dark); }
h1,h2,h3,h4,h5,h6 { font-family: 'Georgia', serif; letter-spacing: -0.02em; }
a { color: var(--hs-gold); }
a:hover { color: var(--hs-gold-dark); text-decoration: none; }

/* ── Primary colour overrides ────────────────────────────── */
.color-primary, .text-primary { color: var(--hs-gold) !important; }
.bg-primary { background-color: var(--hs-gold) !important; }

/* ── All buttons ─────────────────────────────────────────── */
.btn-primary, .button-primary, .phys-btn, .btn-book-tour,
.add_to_cart_button, .single_add_to_cart_button,
#payment #place_order, .wp-block-button__link {
  background-color: var(--hs-gold) !important;
  border-color: var(--hs-gold) !important;
  color: #fff !important;
  border-radius: 6px !important;
  font-weight: 700 !important;
  transition: background .2s, transform .15s !important;
}
.btn-primary:hover, .button-primary:hover, .phys-btn:hover,
.add_to_cart_button:hover, .single_add_to_cart_button:hover {
  background-color: var(--hs-gold-dark) !important;
  border-color: var(--hs-gold-dark) !important;
  transform: translateY(-1px) !important;
}

/* ── Navigation ──────────────────────────────────────────── */
#site-header .main-navigation a:hover,
#site-header .main-navigation .current-menu-item > a { color: var(--hs-gold) !important; }
.header-button, .btn-header-cta {
  background: var(--hs-gold) !important;
  border-color: var(--hs-gold) !important;
  border-radius: 50px !important;
  color: #fff !important;
}

/* ── Search bar ──────────────────────────────────────────── */
.widget-search-tour .btn-search, .search-tour-wrap .btn-search {
  background: var(--hs-gold) !important;
  border-color: var(--hs-gold) !important;
}
.widget-search-tour input:focus, .search-tour-wrap input:focus {
  border-color: var(--hs-gold) !important;
  box-shadow: 0 0 0 3px rgba(200,146,42,.15) !important;
  outline: none !important;
}

/* ── Tour cards ──────────────────────────────────────────── */
.product.type-product, .tour-item, .phys-tour-item {
  border-radius: var(--hs-radius) !important;
  overflow: hidden !important;
  box-shadow: var(--hs-shadow) !important;
  border: 1px solid #eee !important;
  transition: transform .25s, box-shadow .25s !important;
}
.product.type-product:hover, .tour-item:hover, .phys-tour-item:hover {
  transform: translateY(-5px) !important;
  box-shadow: 0 14px 36px rgba(0,0,0,.13) !important;
}
.price, .tour-price, .amount { color: var(--hs-gold) !important; font-weight: 800 !important; }
.woocommerce-loop-product__title, .tour-title a {
  font-weight: 700 !important; color: var(--hs-dark) !important;
}
.woocommerce-loop-product__title:hover,
.tour-title a:hover { color: var(--hs-gold) !important; }
.onsale, .tour-badge {
  background: var(--hs-gold) !important;
  border-radius: 4px !important;
  font-weight: 700 !important;
}

/* ── Destination cards ───────────────────────────────────── */
.destination-item, .phys-destination-item {
  border-radius: var(--hs-radius) !important;
  overflow: hidden !important;
  transition: transform .3s !important;
}
.destination-item:hover, .phys-destination-item:hover {
  transform: translateY(-4px) scale(1.015) !important;
}

/* ── Section headings ────────────────────────────────────── */
.section-title h2, .phys-section-title {
  font-family: 'Georgia', serif !important;
  letter-spacing: -0.02em !important;
}
.section-title h2::after, .phys-section-title::after {
  content: ''; display: block;
  width: 48px; height: 3px;
  background: var(--hs-gold); margin-top: 10px;
}
.text-center .section-title h2::after { margin: 10px auto 0; }

/* ── Testimonials ────────────────────────────────────────── */
.review-item, .testimonial-item {
  border-radius: var(--hs-radius) !important;
  border: 1px solid #eee !important;
  padding: 24px !important;
  transition: box-shadow .2s !important;
}
.review-item:hover, .testimonial-item:hover { box-shadow: var(--hs-shadow) !important; }
.star-rating span, .review-stars { color: var(--hs-gold) !important; }

/* ── Newsletter ──────────────────────────────────────────── */
.newsletter-section, .subscribe-section {
  background: linear-gradient(135deg, var(--hs-green) 0%, #1a3009 100%) !important;
}
.newsletter-section .btn, .subscribe-section .btn {
  background: var(--hs-gold) !important;
  border-color: var(--hs-gold) !important;
}

/* ── Footer ──────────────────────────────────────────────── */
.site-footer, #colophon { background: #111 !important; color: rgba(255,255,255,.65) !important; }
.site-footer a, #colophon a { color: rgba(255,255,255,.55) !important; }
.site-footer a:hover, #colophon a:hover { color: var(--hs-gold) !important; }
.site-footer .widget-title, #colophon .widget-title {
  color: #fff !important; font-size: .75rem !important;
  letter-spacing: 2px !important; text-transform: uppercase !important;
}
.footer-bottom, .site-info {
  border-top: 1px solid rgba(255,255,255,.08) !important;
  color: rgba(255,255,255,.35) !important;
}

/* ── Form focus ──────────────────────────────────────────── */
input[type="text"]:focus, input[type="email"]:focus,
input[type="tel"]:focus, textarea:focus, select:focus {
  border-color: var(--hs-gold) !important;
  box-shadow: 0 0 0 3px rgba(200,146,42,.12) !important;
  outline: none !important;
}

/* ── Elementor ───────────────────────────────────────────── */
.elementor-button {
  background: var(--hs-gold) !important;
  border-color: var(--hs-gold) !important;
  border-radius: 6px !important;
  font-weight: 700 !important;
}
.elementor-button:hover { background: var(--hs-gold-dark) !important; }
.elementor-icon-box-icon .elementor-icon { color: var(--hs-gold) !important; }

/* ── Mobile ──────────────────────────────────────────────── */
@media (max-width: 768px) {
  .section-title h2 { font-size: 1.6rem !important; }
  .tour-item { margin-bottom: 20px !important; }
}