/*
Theme Name: Travelscape Child
Theme URI: https://rustichimalayan.com
Description: Child theme of Travelscape
Author: Rustic Himalayan Adventure
Template: travelscape
Version: 1.0.0
*/

/* ============================================================
   CSS CUSTOM PROPERTIES
   ============================================================ */
:root {
    --rha-black:       #1E1E1E;
    --rha-black-soft:  #2C2C2C;
    --rha-gold:        #E74C3C;
    --rha-gold-dark:   #C0392B;
    --rha-gold-light:  #F4A261;
    --rha-white:       #FFFFFF;
    --rha-off-white:   #F8F7F4;
    --rha-light:       #F0EDE8;
    --rha-text:        #2C2C2C;
    --rha-muted:       #7A7167;
    --rha-border:      #E5DDD0;

    --rha-heading:     'Playfair Display', Georgia, serif;
    --rha-body:        'DM Sans', -apple-system, BlinkMacSystemFont, sans-serif;
    --rha-label:       'Montserrat', sans-serif;

    --rha-ease:        cubic-bezier(0.25, 0.46, 0.45, 0.94);
    --rha-duration:    0.3s;
    --rha-shadow-sm:   0 2px 8px rgba(0,0,0,0.07);
    --rha-shadow:      0 4px 24px rgba(0,0,0,0.10);
    --rha-shadow-lg:   0 12px 48px rgba(0,0,0,0.16);
    --rha-radius:      4px;
    --rha-radius-lg:   10px;
}

/* ============================================================
   BASE
   ============================================================ */
*, *::before, *::after { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
    font-family: var(--rha-body);
    color: var(--rha-text);
    background: var(--rha-white);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

img { max-width: 100%; height: auto; display: block; }

a {
    color: var(--rha-gold);
    text-decoration: none;
    transition: color var(--rha-duration) var(--rha-ease);
}
a:hover { color: var(--rha-gold-dark); }

::selection { background: var(--rha-gold); color: var(--rha-black); }

::-webkit-scrollbar { width: 5px; }
::-webkit-scrollbar-track { background: var(--rha-off-white); }
::-webkit-scrollbar-thumb { background: var(--rha-gold); border-radius: 3px; }

/* ============================================================
   TYPOGRAPHY
   ============================================================ */
h1, h2, h3, h4, h5, h6 {
    font-family: var(--rha-heading);
    color: var(--rha-black);
    font-weight: 700;
    line-height: 1.2;
    margin-top: 0;
    letter-spacing: -0.01em;
}

p { margin-top: 0; margin-bottom: 1.25rem; }

/* ============================================================
   BUTTONS
   ============================================================ */
.wp-block-button__link,
.wte-btn,
.button,
input[type="submit"],
button[type="submit"],
.wte-book-btn,
.trip-action .btn {
    font-family: var(--rha-label) !important;
    font-weight: 700 !important;
    letter-spacing: 0.12em !important;
    text-transform: uppercase !important;
    border-radius: var(--rha-radius) !important;
    cursor: pointer;
    transition: all var(--rha-duration) var(--rha-ease) !important;
    background-color: var(--rha-gold) !important;
    color: var(--rha-black) !important;
    border: 2px solid transparent !important;
}

.wp-block-group .wp-block-button__link {
    padding: 0.55rem 1.25rem !important;
    background-color: #000000 !important;
}

.wp-block-button__link:hover,
.wte-btn:hover,
.button:hover,
input[type="submit"]:hover,
button[type="submit"]:hover,
.wte-book-btn:hover,
.trip-action .btn:hover {
    background-color: var(--rha-black) !important;
    color: var(--rha-white) !important;
    border-color: var(--rha-black) !important;
    transform: translateY(-2px);
    box-shadow: var(--rha-shadow) !important;
}

/* ============================================================
   HEADER — TOPBAR
   ============================================================ */
.travelscape-header-top {
    background: var(--rha-black);
    border-bottom: 1px solid rgba(231, 76, 60, 0.15);
    padding: 8px 0;
}

.travelscape-header-top .container,
.travelscape-header-top .row {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 16px;
    flex-wrap: nowrap;
    width: 100%;
}

.travelscape-header-top-left {
    display: flex;
    align-items: center;
    gap: 20px;
}

/* Location injected via hook */
.rha-topbar-location {
    display: flex;
    align-items: center;
    gap: 5px;
    font-family: var(--rha-label);
    font-size: 0.7rem;
    font-weight: 500;
    letter-spacing: 0.08em;
    color: rgba(255,255,255,0.5);
}

.rha-topbar-location svg {
    fill: var(--rha-gold);
    flex-shrink: 0;
}

/* Divider: location pill gets a right border acting as separator */
.rha-topbar-location {
    border-right: 1px solid rgba(255,255,255,0.12);
    padding-right: 16px;
    margin-right: 4px;
}

.travelscape-header-top-left a,
.travelscape-header-top-left .travelscape-header-email {
    font-family: var(--rha-label);
    font-weight: 500;
    letter-spacing: 0.08em;
    color: rgba(255,255,255,0.72) !important;
    transition: color var(--rha-duration);
    text-decoration: none;
    display: flex;
    align-items: center;
    gap: 5px;
}

.travelscape-header-top-left a:hover,
.travelscape-header-top-left a:hover .travelscape-header-email {
    color: var(--rha-gold) !important;
}

.travelscape-header-top-right {
    display: flex;
    align-items: center;
    gap: 16px;
}

/* Topbar social icons */
.travelscape-header-top-right .social-icons {
    display: flex;
    align-items: center;
    gap: 6px;
    list-style: none;
    margin: 0;
    padding: 0;
}

.travelscape-header-top-right .social-icons li a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 26px;
    height: 26px;
    border-radius: 50%;
    background: rgba(255,255,255,0.06);
    border: 1px solid rgba(255,255,255,0.1);
    transition: all var(--rha-duration) var(--rha-ease);
}

.travelscape-header-top-right .social-icons li a:hover {
    background: var(--rha-gold);
    border-color: var(--rha-gold);
    transform: translateY(-2px);
}

.travelscape-header-top-right .social-icons li a svg {
    fill: rgba(255,255,255,0.65) !important;
    width: 12px !important;
    height: 12px !important;
    transition: fill var(--rha-duration);
}

.travelscape-header-top-right .social-icons li a:hover svg {
    fill: var(--rha-white) !important;
}

/* ============================================================
   HEADER — MAIN NAV BAR
   ============================================================ */
.travelscape-header {
    background: var(--rha-white);
    position: sticky;
    top: 0;
    z-index: 999;
    box-shadow: var(--rha-shadow-sm);
    transition: box-shadow var(--rha-duration) var(--rha-ease);
}

.travelscape-header.rha-scrolled {
    box-shadow: var(--rha-shadow);
}

.travelscape-header-bottom {
    border-top: 3px solid var(--rha-gold);
}

/* ============================================================
   LOGO
   ============================================================ */
.site-branding {
    flex-shrink: 0 !important;
}

.custom-logo-link {
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
    display: inline-flex !important;
    align-items: center;
    line-height: 0;
}

.site-branding .custom-logo {
    width: 60px;
    height: 60px;
    margin-left: -20px;
    object-fit: contain;
    transition: opacity var(--rha-duration);
    background: transparent;
}

.site-branding .custom-logo:hover { opacity: 0.85; }

/* Always hide site title & description — logo only in header */
.site-branding .site-title,
.site-branding .site-description,
.has-custom-logo .site-branding .site-title,
.has-custom-logo .site-branding .site-description {
    display: none !important;
}

/* ============================================================
   DESKTOP NAVIGATION
   ============================================================ */
.travelscape-menu-wrap { display: flex; align-items: center; flex-wrap: nowrap; }

/* Keep nav on one row */
.header-desktop .main-navigation ul { white-space: nowrap; }

/* Override parent 18px default — nav items should be compact */
.header-desktop .main-navigation ul li a {
    font-size: 13px !important;
}

.main-menu > ul > li > a,
#primary-menu > li > a {
    font-family: var(--rha-label);
    font-weight: 600;
    letter-spacing: 0.09em;
    text-transform: uppercase;
    color: var(--rha-black);
    text-decoration: none;
    border-bottom: 3px solid transparent;
    transition: color var(--rha-duration), border-color var(--rha-duration);
}

.main-menu > ul > li > a:hover,
#primary-menu > li > a:hover,
#primary-menu > li.current-menu-item > a,
#primary-menu > li.current-menu-ancestor > a {
    color: var(--rha-gold);
    border-bottom-color: var(--rha-gold);
}

/* Dropdown */
.main-menu .sub-menu,
#primary-menu .sub-menu {
    background: var(--rha-white);
    border-top: 3px solid var(--rha-gold);
    box-shadow: var(--rha-shadow-lg);
    border-radius: 0 0 var(--rha-radius-lg) var(--rha-radius-lg);
    width: max-content;
    min-width: 200px;
    max-width: 360px;
}

#primary-menu .sub-menu li a,
.main-menu .sub-menu li a {
    font-family: var(--rha-label);
    font-weight: 500;
    letter-spacing: 0.04em;
    color: var(--rha-text);
    border-left: 3px solid transparent;
    transition: all var(--rha-duration);
}

#primary-menu .sub-menu li a:hover,
.main-menu .sub-menu li a:hover {
    color: var(--rha-gold);
    background: var(--rha-off-white);
    border-left-color: var(--rha-gold);
}

/* ============================================================
   NAV — BOOK A TRIP CTA BUTTON
   ============================================================ */
.rha-nav-cta > a {
    display: inline-flex !important;
    align-items: center !important;
    height: auto !important;
    margin: auto 0 auto 12px !important;
    padding: 0.55rem 1.25rem !important;
    background: var(--rha-gold) !important;
    color: var(--rha-white) !important;
    border-radius: var(--rha-radius) !important;
    font-family: var(--rha-label) !important;
    font-weight: 700 !important;
    letter-spacing: 0.1em !important;
    text-transform: uppercase !important;
    border-bottom: none !important;
    transition: background var(--rha-duration), transform var(--rha-duration) !important;
    white-space: nowrap;
}

.rha-nav-cta > a:hover {
    background: var(--rha-gold-dark) !important;
    color: var(--rha-white) !important;
    border-bottom-color: transparent !important;
    transform: translateY(-1px);
}

/* Free Consultation — topbar button */
.rha-topbar-calendly {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 4px 12px;
    background: var(--rha-gold);
    color: var(--rha-white) !important;
    font-family: var(--rha-label);
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.09em;
    text-transform: uppercase;
    border-radius: var(--rha-radius);
    text-decoration: none;
    white-space: nowrap;
    transition: background var(--rha-duration);
    margin-right: 10px;
}

.rha-topbar-calendly svg { fill: var(--rha-white); flex-shrink: 0; }

.rha-topbar-calendly:hover {
    background: var(--rha-gold-dark) !important;
    color: var(--rha-white) !important;
}

/* ============================================================
   MOBILE — MENU TOGGLE
   ============================================================ */
.menu-toggle {
    background: transparent;
    border: 1.5px solid var(--rha-border) !important;
    border-radius: var(--rha-radius);
    cursor: pointer;
    transition: all var(--rha-duration);
}

.menu-toggle:hover {
    background: var(--rha-gold) !important;
    border-color: var(--rha-gold) !important;
}

.menu-toggle svg { fill: var(--rha-black); transition: fill var(--rha-duration); }
.menu-toggle:hover svg { fill: var(--rha-white); }

/* ============================================================
   PAGE HEADER / ARCHIVE HERO
   ============================================================ */
.travescape-wte-page-header,
.wte-page-header {
    position: relative;
    background-size: cover;
    background-position: center;
    overflow: hidden;
}

.travescape-wte-page-header::before,
.wte-page-header::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(160deg, rgba(28,28,28,0.15) 0%, rgba(28,28,28,0.75) 100%);
}

.travescape-wte-page-header .page-title,
.wte-page-header .page-title {
    font-family: var(--rha-heading) !important;
    font-weight: 700 !important;
    color: var(--rha-white) !important;
    text-shadow: 0 2px 24px rgba(0,0,0,0.4);
    letter-spacing: -0.02em;
}

/* ============================================================
   TAXONOMY DESCRIPTION
   ============================================================ */
.travelscape-taxonomy-description {
    background: var(--rha-off-white);
    border-bottom: 1px solid var(--rha-border);
}

.travelscape-taxonomy-description .taxonomy-description {
    font-family: var(--rha-body);
    color: var(--rha-muted);
}

/* ============================================================
   TRIP CARDS (WP Travel Engine)
   ============================================================ */
.wp-travel-engine-archive-outer-wrap {
    background: var(--rha-off-white);
}

/* Outer card — the real WTE class */
.category-trips-single {
    background: var(--rha-white);
    border-radius: var(--rha-radius-lg);
    overflow: hidden;
    box-shadow: var(--rha-shadow-sm);
    border: 1px solid var(--rha-border);
    transition: transform var(--rha-duration) var(--rha-ease),
                box-shadow var(--rha-duration) var(--rha-ease);
    min-width: 0;
}

.category-trips-single:hover {
    transform: translateY(-6px);
    box-shadow: var(--rha-shadow-lg);
}

/* Inner wrap: contain all children */
.category-trips-single-inner-wrap {
    overflow: hidden;
    width: 100%;
    min-width: 0;
}

/* Content area: prevent flex blowout */
.category-trip-content-wrap {
    min-width: 0;
    overflow: hidden;
}

.category-trip-detail-wrap {
    min-width: 0;
    flex: 1 1 0;
    overflow: hidden;
}

/* Title: break long words so they don't overflow */
.category-trip-title {
    word-break: break-word !important;
    overflow-wrap: break-word !important;
    white-space: normal !important;
}

.category-trip-title a {
    font-family: var(--rha-heading) !important;
    font-weight: 700 !important;
    color: var(--rha-black) !important;
    transition: color var(--rha-duration);
    word-break: break-word;
}

.category-trip-title a:hover {
    color: var(--rha-gold) !important;
}

/* Excerpt: clamp to 3 lines */
.category-trip-desc {
    overflow: hidden !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 3 !important;
    -webkit-box-orient: vertical !important;
    word-break: break-word;
}

/* Price */
.category-trip-budget .trip-price,
.category-trip-budget .wte-price,
.category-trip-budget .price {
    font-family: var(--rha-heading) !important;
    font-weight: 700 !important;
    color: var(--rha-gold) !important;
}

/* Thumbnail hover zoom */
.category-trips-single .category-trip-img-wrap,
.category-trips-single .trip-thumbnail {
    overflow: hidden;
}

.category-trips-single .category-trip-img-wrap img,
.category-trips-single .trip-thumbnail img {
    transition: transform 0.55s var(--rha-ease);
}

.category-trips-single:hover .category-trip-img-wrap img,
.category-trips-single:hover .trip-thumbnail img {
    transform: scale(1.07);
}

/* Keep old selectors working too (fallback) */
.wte-archive-trip-item,
article.type-trip {
    overflow: hidden;
    min-width: 0;
}

/* ============================================================
   SINGLE TRIP PAGE — CONTENT PADDING
   ============================================================ */

/* Outer wrapper: vertical breathing room around the whole content+gallery block */
body.single-trip #wp-travel-trip-wrapper {
    padding-top: 32px !important;
    padding-bottom: 48px !important;
}

/* Content column: left/right padding so text doesn't touch the sidebar border */
body.single-trip #primary.content-area {
    padding-top: 20px !important;
    padding-bottom: 20px !important;
    padding-left: 24px !important;
    padding-right: 24px !important;
}

/* Trip description block */
body.single-trip .entry-content {
    margin-bottom: 24px !important;
    line-height: 1.85;
}

body.single-trip .trip-post-content {
    padding: 0 !important;
    line-height: 1.85;
}

/* Tabs nav: brand border */
body.single-trip .nav-tab-wrapper {
    border-bottom: 2px solid var(--rha-border) !important;
}

/* Tab links */
body.single-trip .nav-tab-wrapper .tab-anchor-wrapper .nav-tab {
    font-family: var(--rha-label) !important;
    font-weight: 600 !important;
    font-size: 0.72rem !important;
    letter-spacing: 0.1em !important;
    text-transform: uppercase !important;
    color: var(--rha-muted) !important;
    padding: 12px 16px !important;
    border-bottom: 2px solid transparent !important;
}

body.single-trip .nav-tab-wrapper .tab-anchor-wrapper .nav-tab:hover,
body.single-trip .nav-tab-wrapper .tab-anchor-wrapper.nav-tab-active .nav-tab {
    color: var(--rha-gold) !important;
    border-bottom-color: var(--rha-gold) !important;
}

/* Tab panels: keep the WTE default 24px top, add bottom too */
body.single-trip .wpte-tabs-container .nb-configurations {
    padding: 28px 0 24px !important;
    line-height: 1.85;
}

/* ============================================================
   SIDEBAR
   ============================================================ */
.widget {
    background: var(--rha-white);
    border-radius: var(--rha-radius-lg);
    box-shadow: var(--rha-shadow-sm);
    border: 1px solid var(--rha-border);
}

.block-2.widget.widget_block {
    padding: 0 !important;
}

.widget-title {
    font-family: var(--rha-label);
    font-weight: 700;
    letter-spacing: 0.17em;
    text-transform: uppercase;
    color: var(--rha-gold);
    border-bottom: 2px solid var(--rha-light);
}

/* Footer widgets — reset box styles; dark theme handles bg via #colophon */
.site-footer .widget {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    padding: 0 !important;
    margin-bottom: 0 !important;
}

.site-footer .widget-title {
    border-bottom-color: rgba(231, 76, 60, 0.25) !important;
}

/* ============================================================
   FORMS
   ============================================================ */
input[type="text"],
input[type="email"],
input[type="tel"],
input[type="number"],
input[type="search"],
input[type="url"],
input[type="password"],
select,
textarea {
    font-family: var(--rha-body);
    color: var(--rha-text);
    background: var(--rha-white);
    border: 1.5px solid var(--rha-border);
    border-radius: var(--rha-radius);
    transition: border-color var(--rha-duration), box-shadow var(--rha-duration);
    outline: none;
}

input:focus,
select:focus,
textarea:focus {
    border-color: var(--rha-gold);
    box-shadow: 0 0 0 3px rgba(231, 76, 60, 0.15);
}

label {
    font-family: var(--rha-label);
    font-weight: 600;
    letter-spacing: 0.07em;
    text-transform: uppercase;
    color: var(--rha-black-soft);
}

/* ============================================================
   FOOTER
   ============================================================ */
.site-footer,
#colophon {
    background: #f5f5f5 !important;
    color: var(--rha-text);
    font-family: var(--rha-body);
    border-top: 3px solid var(--rha-gold);
}

.travelscape-footer-top {
    background: transparent !important;
    border-bottom: 1px solid var(--rha-border);
}

/* Footer headings */
.site-footer .widget-title,
.site-footer h3,
.site-footer h4,
.site-footer h5 {
    font-family: var(--rha-label) !important;
    font-size: 0.68rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.22em !important;
    text-transform: uppercase !important;
    color: var(--rha-gold) !important;
    border-bottom: 1px solid var(--rha-border);
    padding-bottom: 10px;
    margin-bottom: 16px;
}

/* Footer text */
.site-footer,
.site-footer .widget,
.site-footer .travelscape-foot-main-col {
    color: var(--rha-text) !important;
}

.site-footer p,
.site-footer .widget p,
.site-footer li,
.site-footer .widget ul li,
.site-footer span {
    color: var(--rha-muted) !important;
}

.site-footer a,
.site-footer .widget a,
.site-footer .widget ul li a {
    color: var(--rha-text) !important;
    text-decoration: none;
    transition: color var(--rha-duration);
}

.site-footer a:hover,
.site-footer .widget a:hover { color: var(--rha-gold) !important; }

.site-footer ul { list-style: none; margin: 0; padding: 0; }

.site-footer ul li {
    border-bottom: 1px solid var(--rha-border) !important;
}

.site-footer ul li:last-child { border-bottom: none !important; }

/* Footer bottom bar */
.site-footer .travelscape-footer-bottom {
    background: #ebebeb !important;
    border-top: 1px solid var(--rha-border) !important;
}

.site-footer .site-info .copyright,
.site-footer .copyright {
    font-family: var(--rha-label);
    letter-spacing: 0.05em;
    color: var(--rha-muted);
    margin: 0;
}

.site-footer .site-info .copyright a { color: var(--rha-text); }
.site-footer .site-info .copyright a:hover { color: var(--rha-gold); }

/* Footer social icons */
.site-footer .travelscape-social-media-wrap .social-icons {
    display: flex;
    gap: 8px;
    list-style: none;
    margin: 0;
    padding: 0;
}

.site-footer .social-icons li { border: none; padding: 0; }

.site-footer .social-icons li a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    border-radius: 50%;
    border: 1px solid var(--rha-border) !important;
    background: var(--rha-white);
    transition: all var(--rha-duration) var(--rha-ease);
}

.site-footer .social-icons li a:hover {
    background: var(--rha-gold) !important;
    border-color: var(--rha-gold) !important;
    transform: translateY(-3px);
}

.site-footer .social-icons svg {
    fill: var(--rha-muted) !important;
    width: 14px !important;
    height: 14px !important;
    transition: fill var(--rha-duration);
}

.site-footer .social-icons li a:hover svg {
    fill: var(--rha-white) !important;
}

/* ============================================================
   CONTACT FORM 7
   ============================================================ */
.wpcf7-form .wpcf7-submit {
    background: var(--rha-gold) !important;
    color: var(--rha-black) !important;
    font-family: var(--rha-label) !important;
    font-weight: 700 !important;
    letter-spacing: 0.12em !important;
    text-transform: uppercase !important;
    border: none !important;
    border-radius: var(--rha-radius) !important;
    cursor: pointer;
    transition: all var(--rha-duration) !important;
}

.wpcf7-form .wpcf7-submit:hover {
    background: var(--rha-black) !important;
    color: var(--rha-white) !important;
    transform: translateY(-2px);
}

/* ============================================================
   CONTENT
   ============================================================ */
.entry-title {
    font-family: var(--rha-heading);
    font-weight: 700;
    color: var(--rha-black);
}

.entry-meta {
    font-family: var(--rha-label);
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--rha-muted);
}

/* ============================================================
   ELEMENTOR
   ============================================================ */
.elementor-heading-title {
    font-family: var(--rha-heading) !important;
}

.elementor-widget-text-editor p {
    font-family: var(--rha-body);
}

.elementor-button {
    font-family: var(--rha-label) !important;
    font-weight: 700 !important;
    letter-spacing: 0.1em !important;
    text-transform: uppercase !important;
    transition: all var(--rha-duration) var(--rha-ease) !important;
}

.elementor-button:hover {
    transform: translateY(-2px);
    box-shadow: var(--rha-shadow) !important;
}

/* ============================================================
   FOOTER — 4-COLUMN GRID LAYOUT
   ============================================================ */
.rha-footer-main {
    padding: 52px 0 36px;
    border-bottom: 1px solid rgba(255,255,255,0.07);
}

.rha-footer-grid {
    display: grid;
    grid-template-columns: 1.5fr 1fr 1fr 1fr;
    gap: 48px;
    align-items: start;
}

/* Column 1 — Brand */
.rha-footer-brand-col .rha-footer-logo-img {
    max-height: 36px;
    width: auto;
    filter: none;
    opacity: 1;
    margin-bottom: 16px;
    display: block;
}

.rha-footer-brand-name {
    font-family: var(--rha-heading);
    font-weight: 700;
    color: var(--rha-white);
    display: block;
    margin-bottom: 12px;
}

.rha-footer-tagline {
    color: var(--rha-muted) !important;
    line-height: 1.75;
    margin: 0 0 22px !important;
}

.rha-footer-contact-stack {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.rha-footer-contact-link {
    display: flex;
    align-items: center;
    gap: 8px;
    font-family: var(--rha-label);
    font-weight: 500;
    letter-spacing: 0.05em;
    color: var(--rha-text) !important;
    text-decoration: none;
    transition: color var(--rha-duration);
}

.rha-footer-contact-link svg {
    fill: var(--rha-gold);
    flex-shrink: 0;
}

.rha-footer-contact-link:hover {
    color: var(--rha-gold) !important;
}

.rha-footer-calendly-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-top: 18px;
    padding: 10px 18px;
    background: var(--rha-gold);
    color: var(--rha-white) !important;
    font-family: var(--rha-label);
    font-weight: 700;
    font-size: 0.72rem;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    border-radius: var(--rha-radius);
    text-decoration: none;
    transition: background var(--rha-duration), transform var(--rha-duration);
}

.rha-footer-calendly-btn svg { fill: var(--rha-white); flex-shrink: 0; }

.rha-footer-calendly-btn:hover {
    background: var(--rha-gold-dark) !important;
    color: var(--rha-white) !important;
    transform: translateY(-2px);
}

/* Widget columns 2–4 */
.rha-footer-col .widget {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    padding: 0 !important;
}

/* ============================================================
   BACK TO TOP BUTTON
   ============================================================ */
.rha-back-top {
    position: fixed;
    bottom: 28px;
    right: 28px;
    width: 42px;
    height: 42px;
    background: var(--rha-gold);
    color: var(--rha-white);
    border: none;
    border-radius: 50%;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: var(--rha-shadow);
    transition: all var(--rha-duration) var(--rha-ease);
    z-index: 900;
    opacity: 0;
    transform: translateY(12px);
    pointer-events: none;
}

.rha-back-top.rha-visible {
    opacity: 1;
    transform: translateY(0);
    pointer-events: auto;
}

.rha-back-top:hover {
    background: var(--rha-gold-dark);
    transform: translateY(-3px);
    box-shadow: var(--rha-shadow-lg);
}

.rha-back-top svg { fill: var(--rha-white); }

/* ============================================================
   FOOTER — RESPONSIVE
   ============================================================ */
@media (max-width: 900px) {
    .rha-footer-grid {
        grid-template-columns: 1fr 1fr;
        gap: 32px;
    }
    .rha-footer-brand-col {
        grid-column: 1 / -1;
    }
}

@media (max-width: 540px) {
    .rha-footer-grid {
        grid-template-columns: 1fr;
    }
}

/* ============================================================
   HERO — HIMALAYAN BACKGROUND + FLOATING CLOUDS
   ============================================================ */

/* Hero background: targets Elementor first section, WTE archive header, and generic hero */
.home .elementor-top-section:first-of-type,
.home .elementor-section:first-of-type,
.wte-page-header,
.travescape-wte-page-header,
.travelscape-hero,
.rha-hero {
    background-image: url('images/himalayan.jpg') !important;
    background-size: cover !important;
    background-position: center 30% !important;
    background-repeat: no-repeat !important;
    position: relative;
    overflow: hidden;
}

/* Dark gradient overlay so text stays readable */
.home .elementor-top-section:first-of-type::after,
.home .elementor-section:first-of-type::after,
.wte-page-header::after,
.travescape-wte-page-header::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(
        to bottom,
        rgba(10,15,30,0.25) 0%,
        rgba(10,15,30,0.55) 60%,
        rgba(10,15,30,0.72) 100%
    );
    pointer-events: none;
    z-index: 1;
}

/* Bring Elementor content above the overlay */
.home .elementor-top-section:first-of-type .elementor-container,
.home .elementor-section:first-of-type .elementor-container {
    position: relative;
    z-index: 2;
}

/* ---- Floating cloud elements ---- */
.rha-cloud-wrap {
    position: absolute;
    inset: 0;
    pointer-events: none;
    overflow: hidden;
    z-index: 2;
}

.rha-cloud {
    position: absolute;
    background: rgba(255,255,255,0.18);
    border-radius: 50%;
    filter: blur(18px);
    animation: rha-cloud-drift linear infinite;
    will-change: transform;
}

/* Individual cloud sizes + positions + speeds */
.rha-cloud-1 {
    width: 260px; height: 80px;
    top: 12%;
    left: -280px;
    animation-duration: 28s;
    animation-delay: 0s;
    opacity: 0.7;
}
.rha-cloud-2 {
    width: 180px; height: 55px;
    top: 22%;
    left: -200px;
    animation-duration: 38s;
    animation-delay: -12s;
    opacity: 0.45;
}
.rha-cloud-3 {
    width: 320px; height: 90px;
    top: 8%;
    left: -340px;
    animation-duration: 48s;
    animation-delay: -24s;
    opacity: 0.3;
}
.rha-cloud-4 {
    width: 140px; height: 42px;
    top: 35%;
    left: -160px;
    animation-duration: 32s;
    animation-delay: -8s;
    opacity: 0.5;
}
.rha-cloud-5 {
    width: 220px; height: 65px;
    top: 18%;
    left: -240px;
    animation-duration: 55s;
    animation-delay: -30s;
    opacity: 0.25;
}

@keyframes rha-cloud-drift {
    from { transform: translateX(0); }
    to   { transform: translateX(calc(100vw + 400px)); }
}

/* ============================================================
   SCROLL FADE-IN ANIMATION
   ============================================================ */
.rha-fade {
    opacity: 0;
    transform: translateY(20px);
    transition: opacity 0.55s var(--rha-ease), transform 0.55s var(--rha-ease);
}

.rha-fade.rha-visible {
    opacity: 1;
    transform: translateY(0);
}

.wp-block-group.rha-fade {
    padding: 2rem;
}

/* ============================================================
   NEWS & BLOG PAGE
   ============================================================ */

/* Hero banner */
.rha-news-hero {
    background: var(--rha-black);
    padding: 64px 0 52px;
    text-align: center;
    position: relative;
    overflow: hidden;
}

.rha-news-hero::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: var(--rha-gold);
}

.rha-news-hero__label {
    font-family: var(--rha-label);
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    color: var(--rha-gold);
    margin: 0 0 12px;
}

.rha-news-hero__title {
    font-family: var(--rha-heading);
    font-size: clamp(2rem, 5vw, 3.2rem);
    font-weight: 700;
    color: var(--rha-white);
    margin: 0 0 14px;
    line-height: 1.15;
}

.rha-news-hero__sub {
    font-family: var(--rha-body);
    font-size: 1rem;
    color: rgba(255,255,255,0.6);
    margin: 0;
    max-width: 480px;
    margin-inline: auto;
}

/* Page wrapper */
.rha-news-wrap {
    background: var(--rha-off-white);
    padding: 56px 0 72px;
    min-height: 60vh;
}

/* 3-column card grid */
.rha-news-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 28px;
    margin-bottom: 48px;
}

@media (max-width: 900px) {
    .rha-news-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 560px) {
    .rha-news-grid { grid-template-columns: 1fr; }
}

/* Card */
.rha-news-card {
    background: var(--rha-white);
    border-radius: var(--rha-radius-lg);
    overflow: hidden;
    border: 1px solid var(--rha-border);
    box-shadow: var(--rha-shadow-sm);
    display: flex;
    flex-direction: column;
    transition: transform var(--rha-duration) var(--rha-ease),
                box-shadow var(--rha-duration) var(--rha-ease);
}

.rha-news-card:hover {
    transform: translateY(-5px);
    box-shadow: var(--rha-shadow-lg);
}

/* Image */
.rha-news-card__img-wrap {
    display: block;
    overflow: hidden;
    aspect-ratio: 16 / 9;
    background: var(--rha-light);
}

.rha-news-card__img-wrap--placeholder {
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--rha-border);
}

.rha-news-card__img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.55s var(--rha-ease);
    display: block;
}

.rha-news-card:hover .rha-news-card__img {
    transform: scale(1.06);
}

/* Body */
.rha-news-card__body {
    padding: 22px 24px 24px;
    display: flex;
    flex-direction: column;
    flex: 1;
}

/* Meta: date + category */
.rha-news-card__meta {
    font-family: var(--rha-label);
    font-size: 0.68rem;
    font-weight: 600;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--rha-muted);
    margin-bottom: 10px;
    display: flex;
    align-items: center;
    gap: 6px;
}

.rha-news-card__cat { color: var(--rha-gold); }

/* Title */
.rha-news-card__title {
    font-family: var(--rha-heading);
    font-size: 1.1rem;
    font-weight: 700;
    line-height: 1.35;
    margin: 0 0 10px;
    color: var(--rha-black);
    word-break: break-word;
}

.rha-news-card__title a {
    color: inherit;
    text-decoration: none;
    transition: color var(--rha-duration);
}

.rha-news-card__title a:hover { color: var(--rha-gold); }

/* Excerpt */
.rha-news-card__excerpt {
    font-size: 0.88rem;
    color: var(--rha-muted);
    line-height: 1.7;
    margin: 0 0 18px;
    flex: 1;
}

/* Read more */
.rha-news-card__read-more {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-family: var(--rha-label);
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--rha-gold);
    text-decoration: none;
    transition: gap var(--rha-duration), color var(--rha-duration);
    margin-top: auto;
}

.rha-news-card__read-more svg { fill: var(--rha-gold); transition: fill var(--rha-duration); }

.rha-news-card__read-more:hover {
    color: var(--rha-gold-dark);
    gap: 8px;
}

.rha-news-card__read-more:hover svg { fill: var(--rha-gold-dark); }

/* Pagination */
.rha-news-wrap .page-numbers {
    display: flex;
    justify-content: center;
    gap: 8px;
    list-style: none;
    margin: 0;
    padding: 0;
    flex-wrap: wrap;
}

.rha-news-wrap .page-numbers li a,
.rha-news-wrap .page-numbers li span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 38px;
    height: 38px;
    padding: 0 12px;
    border-radius: var(--rha-radius);
    border: 1px solid var(--rha-border);
    font-family: var(--rha-label);
    font-size: 0.78rem;
    font-weight: 600;
    color: var(--rha-text);
    text-decoration: none;
    background: var(--rha-white);
    transition: all var(--rha-duration);
}

.rha-news-wrap .page-numbers li a:hover,
.rha-news-wrap .page-numbers li span.current {
    background: var(--rha-gold);
    border-color: var(--rha-gold);
    color: var(--rha-white);
}

/* Empty state */
.rha-news-empty {
    text-align: center;
    padding: 80px 20px;
    color: var(--rha-muted);
}

.rha-news-empty svg {
    fill: var(--rha-border);
    margin-bottom: 16px;
}

.rha-news-empty h2 {
    font-family: var(--rha-heading);
    font-size: 1.5rem;
    color: var(--rha-black);
    margin: 0 0 8px;
}

.rha-news-empty p { margin: 0; }
