/*
Theme Name: Travivu Child
Theme URI: https://gaviaspreview.com/wp/travivu/
Author URI: https://themeforest.net/user/gavias
Author: Gaviasthemes Team
Description: Child theme for the Travivu theme.
Template: travivu
*/
/* GTH — WhatsApp button in trip sidebar enquiry card */
.tour-question .gth-whatsapp-btn {
    display: block;
    margin-top: 10px;
    padding: 12px 20px;
    background-color: #25D366;
    color: #fff !important;
    text-align: center;
    border-radius: 30px;
    font-weight: 600;
    font-size: 14px;
    text-decoration: none;
    transition: background-color 0.2s ease;
}
.tour-question .gth-whatsapp-btn:hover {
    background-color: #1ebe5d;
    color: #fff !important;
}


/* =================================================
   GTH — Brand Colors, Typography & Price Hiding
   ================================================= */

/* --- Global font stack --- */
body, p, span, li, td, div {
  font-family: Inter, sans-serif;
}
h1, h2, h3, h4, h5, h6,
.booking-one__title a,
.entry-title,
.elementor-heading-title {
  font-family: "Playfair Display", serif;
}

/* --- Brand colors --- */
:root {
  --gth-navy: #0F3557;
  --gth-gold: #C89B3C;
  --gth-white: #FFFFFF;
  --gth-light-bg: #F7F5F0;
  --gth-dark: #1A1A2E;
}

/* --- Hide price on all listing cards --- */
.booking-one__price,
.booking-one__price-label,
.booking-one__price-number,
.wpte-trip-price-wrapper .price-holder,
.wpte-trip-price-wrapper .wpte-trip-price,
.category-trip-budget .price-holder {
  display: none !important;
}

/* --- Hide price on single trip page booking sidebar --- */
.wpte-bf-price-wrap,
.wpte-bf-ptitle,
.wpte-bf-price,
.wte-bf-price-detail,
.wpte-bf-total-price,
.wpte-bf-travellers-price-table,
.wpte-bf-total,
.price-holder .actual-price,
.price-holder .striked-price,
.price-holder .regular-price,
.price-holder .saved-price {
  display: none !important;
}

/* Make booking form work without price section */
.wpte-bf-outer .wpte-bf-booking-steps {
  margin-top: 0 !important;
}

/* --- Style the Book Now button --- */
.booking-one__readmore .btn-booking,
.wpte-button:not(.wpte-button-disabled),
.btn-booking {
  background-color: var(--gth-gold) !important;
  color: #fff !important;
  border: 2px solid var(--gth-gold) !important;
  border-radius: 50px !important;
  padding: 12px 28px !important;
  display: inline-block !important;
  font-family: Inter, sans-serif !important;
  font-weight: 700 !important;
  transition: all 0.2s ease !important;
}
.booking-one__readmore .btn-booking:hover,
.wpte-button:not(.wpte-button-disabled):hover,
.btn-booking:hover {
  background-color: var(--gth-navy) !important;
  border-color: var(--gth-navy) !important;
  color: #fff !important;
}

/* --- Tour card styling improvements --- */
.booking-one {
  border-radius: 10px !important;
  overflow: hidden !important;
  box-shadow: 0 4px 20px rgba(15,53,87,0.1) !important;
  transition: transform 0.2s ease, box-shadow 0.2s ease !important;
}
.booking-one:hover {
  transform: translateY(-4px) !important;
  box-shadow: 0 8px 32px rgba(15,53,87,0.18) !important;
}
.booking-one__title a {
  color: var(--gth-dark) !important;
}
.booking-one__title a:hover {
  color: var(--gth-gold) !important;
}
.booking-one__meta-item .icon {
  color: var(--gth-gold) !important;
}

/* --- Primary color overrides --- */
a {
  color: var(--gth-navy);
}
a:hover {
  color: var(--gth-gold);
}

/* --- Elementor container max width fix --- */
.e-con > .e-con-inner {
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
}

/* --- WTE Enquiry sidebar fix --- */
.tour-question {
  background: var(--gth-light-bg);
  border-radius: 10px;
  padding: 24px;
}

/* --- Activity/Destination taxonomy page cards --- */
.booking-one__content-inner {
  padding: 16px 20px 20px !important;
}


/* GTH Design System Variables */
:root {
  --gth-navy: #0F3557;
  --gth-gold: #C89B3C;
  --gth-gold-light: rgba(200,155,60,0.12);
  --gth-surface: #F5F4F1;
  --font-display: 'Cormorant Garamond', Georgia, serif;
  --font-sans: 'Montserrat', system-ui, sans-serif;
}\n

/* GTH: contact form field grid layout */
.elementor-7172 .wpforms-field-container,
.elementor-7090 .wpforms-field-container{display:grid !important;grid-template-columns:1fr 1fr !important;gap:16px 20px !important;}
.elementor-7172 .wpforms-field,
.elementor-7090 .wpforms-field{padding-top:0 !important;padding-bottom:0 !important;margin-top:0 !important;margin-bottom:0 !important;}
.elementor-7172 .wpforms-field-row .wpforms-field-row-block,
.elementor-7090 .wpforms-field-row .wpforms-field-row-block{padding:0 !important;}
.elementor-7172 .wpforms-submit-container,
.elementor-7090 .wpforms-submit-container{grid-column:1/-1 !important;margin-top:6px;}
.elementor-7172 .wpforms-submit-container .wpforms-submit::after,
.elementor-7090 .wpforms-submit-container .wpforms-submit::after{content:'\2708';margin-left:8px;}

/* Homepage form (7091): Name col1, Email col2, Phone(text) + Message full width, Tour-Interest hidden */
.elementor-7172 .wpforms-field-name{grid-column:1 !important;}
.elementor-7172 .wpforms-field-email{grid-column:2 !important;}
.elementor-7172 .wpforms-field-text,
.elementor-7172 .wpforms-field-textarea{grid-column:1/-1 !important;}
.elementor-7172 .wpforms-field-select{display:none !important;}
.elementor-7172 .wpforms-field-sublabel{color:rgba(255,255,255,0.5) !important;}

/* Contact Us page form (7283): Name/Email row, Phone/Destination row, Message full width */
.elementor-7090 .wpforms-field[data-field-id="1"]{grid-column:1 !important;}
.elementor-7090 .wpforms-field[data-field-id="2"]{grid-column:2 !important;}
.elementor-7090 .wpforms-field[data-field-id="3"]{grid-column:1 !important;}
.elementor-7090 .wpforms-field[data-field-id="4"]{grid-column:2 !important;}
.elementor-7090 .wpforms-field[data-field-id="5"]{grid-column:1/-1 !important;}
.elementor-7090 .wpforms-field-sublabel{color:#9AA0A6 !important;}
@media(max-width:680px){.elementor-7172 .wpforms-field-container,.elementor-7090 .wpforms-field-container{grid-template-columns:1fr !important;}.elementor-7172 .wpforms-field,.elementor-7090 .wpforms-field,.elementor-7172 .wpforms-field-name,.elementor-7172 .wpforms-field-email,.elementor-7090 .wpforms-field[data-field-id="1"],.elementor-7090 .wpforms-field[data-field-id="2"],.elementor-7090 .wpforms-field[data-field-id="3"],.elementor-7090 .wpforms-field[data-field-id="4"]{grid-column:1/-1 !important;}}
/* GTH: fix WPForms Name field legend label (fieldset/legend not matched by label.wpforms-field-label) */
.elementor-widget-wpforms .wpforms-field-container legend.wpforms-field-label{font-family:'Montserrat',sans-serif !important;font-size:13px !important;font-weight:700 !important;display:block !important;margin:0 0 8px 0 !important;border:none !important;padding:0 !important;width:auto !important;}
.elementor-7172 .elementor-widget-wpforms .wpforms-field-container legend.wpforms-field-label{color:#ffffff !important;}
.elementor-7090 .elementor-widget-wpforms .wpforms-field-container legend.wpforms-field-label{color:#0F3557 !important;}
/* GTH: form inputs fill their grid columns */
.elementor-7090 .wpforms-field input[type=text],.elementor-7090 .wpforms-field input[type=email],.elementor-7090 .wpforms-field textarea,.elementor-7172 .wpforms-field input[type=text],.elementor-7172 .wpforms-field input[type=email],.elementor-7172 .wpforms-field textarea{max-width:100% !important;width:100% !important;}

/* GTH: tighten form vertical rhythm */
.elementor-7172 .wpforms-field-label,.elementor-7090 .wpforms-field-label,
.elementor-7172 legend.wpforms-field-label,.elementor-7090 legend.wpforms-field-label{margin-bottom:6px !important;}
.elementor-7172 .wpforms-field input[type=text],.elementor-7172 .wpforms-field input[type=email],
.elementor-7090 .wpforms-field input[type=text],.elementor-7090 .wpforms-field input[type=email]{padding-top:11px !important;padding-bottom:11px !important;}
.elementor-7172 .wpforms-field textarea,.elementor-7090 .wpforms-field textarea{padding-top:11px !important;padding-bottom:11px !important;min-height:90px !important;}
.elementor-7172 .wpforms-field-sublabel,.elementor-7090 .wpforms-field-sublabel{margin-top:4px !important;}
.elementor-7172 .wpforms-submit-container,.elementor-7090 .wpforms-submit-container{margin-top:2px !important;}

/* GTH About page (7086) — mobile responsive */
@media (max-width:1024px){
.elementor-7086 [style*='grid-template-columns:repeat(3,1fr)']{grid-template-columns:repeat(2,1fr) !important;}
}
@media (max-width:768px){
.elementor-7086 [style*='grid-template-columns:1fr 1fr']{grid-template-columns:1fr !important;gap:40px !important;}
.elementor-7086 [style*='grid-template-columns:repeat(3,1fr)']{grid-template-columns:1fr !important;}
.elementor-7086 [style*='padding:100px 40px 60px']{padding:56px 22px 24px !important;}
.elementor-7086 [style*='padding:40px 40px 100px']{padding:0 22px 56px !important;}
.elementor-7086 [style*='padding:100px 40px;']{padding:56px 22px !important;}
.elementor-7086 [style*='padding:120px 40px']{padding:72px 22px !important;}
.elementor-7086 [style*='padding:0 40px 90px']{padding:0 22px 64px !important;}
.elementor-7086 [style*='right:-10px;bottom:-24px']{right:12px !important;bottom:12px !important;padding:14px 20px !important;}
.elementor-7086 h1{font-size:38px !important;line-height:1.12 !important;}
.elementor-7086 h2{font-size:30px !important;line-height:1.15 !important;}
.elementor-7086 [style*='min-height:62vh']{min-height:70vh !important;}
}

/* GTH About page (7086) responsive v2 - overflow-safe */
@media (max-width:768px){
.elementor-7086 .elementor-widget-html{overflow-x:hidden;}
.elementor-7086 [style*='display:grid']{grid-template-columns:1fr !important;gap:28px !important;}
.elementor-7086 [style*='right:-10px']{right:10px !important;bottom:10px !important;}
.elementor-7086 h1{font-size:33px !important;line-height:1.15 !important;}
.elementor-7086 h2{font-size:28px !important;line-height:1.18 !important;}
.elementor-7086 [style*='min-height:62vh']{min-height:58vh !important;}
.elementor-7086 [style*='font-size:18px']{font-size:15px !important;}
}

/* GTH About page (7086) responsive v3 - flex hero fix */
@media (max-width:768px){
.elementor-7086 [style*='min-height:62vh']{align-items:center !important;}
.elementor-7086 [style*='min-height:62vh'] > div{min-width:0 !important;max-width:100% !important;}
.elementor-7086 h1{font-size:31px !important;max-width:100% !important;overflow-wrap:break-word !important;}
.elementor-7086 h2{max-width:100% !important;overflow-wrap:break-word !important;}
.elementor-7086 p{max-width:100% !important;overflow-wrap:break-word !important;}
.elementor-7086 [style*='display:grid']{min-width:0 !important;}
}

/* GTH About page (7086) responsive v4 - decisive width cap */
@media (max-width:900px){
.elementor-7086 .e-con, .elementor-7086 .e-con-inner, .elementor-7086 .elementor-widget-html, .elementor-7086 .elementor-widget-container{max-width:100% !important;min-width:0 !important;}
.elementor-7086 .elementor-widget-html *{max-width:100% !important;min-width:0 !important;box-sizing:border-box !important;overflow-wrap:break-word !important;}
.elementor-7086 h1{font-size:30px !important;line-height:1.16 !important;}
.elementor-7086 h2{font-size:27px !important;line-height:1.18 !important;}
}

/* GTH About page (7086) responsive v5 - universal min-width:0 */
@media (max-width:900px){
.elementor-7086, .elementor-7086 *{min-width:0 !important;max-width:100% !important;}
.elementor-7086 h1{font-size:30px !important;}
.elementor-7086 h2{font-size:27px !important;}
}
