/*
Theme Name: Tourex Child
Theme URI: https://wp.favdevs.net/tourex/
Author: Mthemeus
Author URI: https://themeforest.net/user/mthemeus
Template: tourex
Tested up to: 5.8
Requires PHP: 7.4
Description: Tourex Child Theme - A child theme for Tourex, Tour & Travel Booking WordPress Theme.
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-3.0.html
Text Domain: tourex-child
Copyright (C) 2025 Mthemeus
*/

/* V&J Tours & Travel brand palette: taken from the supplied logo. */
:root {
    --vj-plum: #741044;
    --vj-maroon: #650d3d;
    --vj-pink: #db0b70;
    --vj-rose: #e9b5c4;
    --vj-cream: #fff6f9;
    --vj-ink: #2d0e21;
}

body { color: var(--vj-ink); }

body .main-header,
body .header-area,
body .site-header { border-bottom: 2px solid rgba(216, 10, 114, .12); }

body a:hover,
body .main-menu ul li a:hover,
body .main-menu ul li.current-menu-item > a { color: var(--vj-pink); }

body .tp-btn,
body .theme-btn,
body .tourex-btn,
body .wte-book-now-btn,
body input[type="submit"],
body button[type="submit"] {
    background: linear-gradient(135deg, var(--vj-plum), var(--vj-pink)) !important;
    border-color: var(--vj-plum) !important;
    color: #fff !important;
    box-shadow: 0 10px 24px rgba(116, 16, 68, .18);
}

body .tp-btn:hover,
body .theme-btn:hover,
body .tourex-btn:hover,
body .wte-book-now-btn:hover,
body input[type="submit"]:hover,
body button[type="submit"]:hover {
    background: linear-gradient(135deg, var(--vj-pink), var(--vj-maroon)) !important;
    transform: translateY(-2px);
}

body .section-title .sub-title,
body .tp-section-subtitle,
body .tourex-section-title .sub-title { color: var(--vj-pink) !important; }

body .wte-trip-details .price,
body .wte-trip-details .trip-price,
body .trip-price,
body .wte-trip-duration { color: var(--vj-plum) !important; }

body .wte-trip {
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 10px 30px rgba(90, 11, 53, .10);
}

body .wte-trip:hover { box-shadow: 0 18px 40px rgba(90, 11, 53, .18); }

/* Homepage India story blocks: logo as a subtle watermark and a tighter visual composition. */
body .elementor-element-10637a7 img {
    width: min(190px, 48vw) !important;
    height: auto !important;
    opacity: .16;
    filter: grayscale(1) contrast(.8);
}

body .elementor-element-8c1ebcf .elementor-element-10637a7 {
    display: flex;
    justify-content: center;
    margin-bottom: -16px;
    pointer-events: none;
}

@media (min-width: 768px) {
    body .elementor-element-8c1ebcf {
        display: grid !important;
        grid-template-columns: minmax(130px, .82fr) minmax(310px, 1.35fr) minmax(130px, .82fr);
        gap: 26px;
        align-items: center;
    }
    body .elementor-element-8c1ebcf > .e-con { min-width: 0; width: auto !important; }
    body .elementor-element-8c1ebcf .elementor-widget-image img { width: 100%; object-fit: cover; }
}

body .elementor-element-398bb58 {
    background: linear-gradient(135deg, rgba(245,180,202,.12), rgba(255,255,255,0) 55%);
    border-radius: 28px;
    padding: 34px 28px !important;
    min-height: 0 !important;
}

body .elementor-element-398bb58 .elementor-element-7b7a13a img {
    box-shadow: 0 20px 44px rgba(90,11,53,.16);
}

body .tg-listing-card-item {
    border-radius: 15px;
    overflow: hidden;
    box-shadow: 0 10px 26px rgba(90,11,53,.10);
    transition: transform .22s ease, box-shadow .22s ease;
}

body .tg-listing-card-item:hover {
    transform: translateY(-6px);
    box-shadow: 0 18px 36px rgba(90,11,53,.17);
}

body .tg-listing-card-price-wrap.price-bg { background: linear-gradient(135deg, var(--vj-plum), var(--vj-pink)); }

body .footer-area,
body footer { background-color: var(--vj-maroon); }

body .footer-area a:hover,
body footer a:hover { color: var(--vj-rose) !important; }

@media (max-width: 767px) {
    body .tp-btn,
    body .theme-btn,
    body .tourex-btn { padding: 13px 20px !important; }
    body .wte-trip { margin-bottom: 18px; }
}

/* Reset the homepage story collage to a reliable desktop composition. */
@media (min-width: 768px) {
    body .elementor-element-8c1ebcf.e-con {
        width: min(1180px, calc(100vw - 64px)) !important;
        max-width: 1180px !important;
        margin-left: auto !important;
        margin-right: auto !important;
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: nowrap !important;
        gap: 34px !important;
        align-items: center !important;
    }
    body .elementor-element-8c1ebcf > .elementor-element-a50839e,
    body .elementor-element-8c1ebcf > .elementor-element-2a7a325 {
        flex: 0 0 210px !important;
        width: 210px !important;
    }
    body .elementor-element-8c1ebcf > .elementor-element-03fd167 {
        flex: 1 1 0 !important;
        min-width: 0 !important;
        width: auto !important;
    }
    body .elementor-element-8c1ebcf .elementor-element-03fd167 .tg-section-su-title,
    body .elementor-element-8c1ebcf .elementor-element-03fd167 h2 {
        font-size: clamp(32px, 3vw, 48px) !important;
        line-height: 1.13 !important;
        word-break: normal !important;
        overflow-wrap: normal !important;
    }
    body .elementor-element-8c1ebcf .elementor-element-03fd167 p {
        max-width: 520px !important;
    }
    body .elementor-element-8c1ebcf .elementor-element-a50839e img,
    body .elementor-element-8c1ebcf .elementor-element-2a7a325 img {
        width: 100% !important;
        max-width: 210px !important;
    }
}

/* Refined V&J interactions: noticeable, but never distracting. */
@media (prefers-reduced-motion: no-preference) {
    body a,
    body button,
    body input,
    body select,
    body textarea {
        transition: color .22s ease, background-color .22s ease, border-color .22s ease,
            box-shadow .22s ease, transform .22s ease, opacity .22s ease;
    }

    body .tg-btn,
    body .wpte-button,
    body .wpte-book-now-btn,
    body .wte-book-now-btn,
    body .wpte-enquiry-button,
    body .tg-footer-form-btn {
        transform: translateY(0);
        box-shadow: 0 8px 18px rgba(116, 16, 68, .15);
    }

    body .tg-btn:hover,
    body .wpte-button:hover,
    body .wpte-book-now-btn:hover,
    body .wte-book-now-btn:hover,
    body .wpte-enquiry-button:hover,
    body .tg-footer-form-btn:hover {
        transform: translateY(-3px);
        box-shadow: 0 13px 26px rgba(116, 16, 68, .28);
    }

    body .tg-listing-card-item,
    body .category-trips-single .category-trips-single-inner-wrap,
    body .tg-blog-item,
    body .tg-blog-standard-item,
    body .elementor-icon-box-wrapper {
        transition: transform .28s ease, box-shadow .28s ease, border-color .28s ease;
    }

    body .tg-listing-card-item:hover,
    body .category-trips-single .category-trips-single-inner-wrap:hover,
    body .tg-blog-item:hover,
    body .tg-blog-standard-item:hover,
    body .elementor-icon-box-wrapper:hover {
        transform: translateY(-7px);
        box-shadow: 0 18px 38px rgba(101, 13, 61, .16);
    }

    body .tg-listing-card-item .tg-listing-card-thumb,
    body .tg-listing-card-item .tg-listing-card-thumb img,
    body .tg-blog-item .tg-blog-thumb,
    body .tg-blog-item .tg-blog-thumb img,
    body .tg-blog-standard-item .tg-blog-thumb,
    body .tg-blog-standard-item .tg-blog-thumb img,
    body .category-trips-single .category-trip-image-wrap,
    body .category-trips-single .category-trip-image-wrap img {
        transition: transform .45s ease;
    }

    body .tg-listing-card-item:hover .tg-listing-card-thumb img,
    body .tg-blog-item:hover .tg-blog-thumb img,
    body .tg-blog-standard-item:hover .tg-blog-thumb img,
    body .category-trips-single:hover .category-trip-image-wrap img {
        transform: scale(1.055);
    }

    body .elementor-nav-menu--main .elementor-item,
    body .main-menu .navigation > li > a,
    body .menu-main-menu-container a {
        position: relative;
    }

    body .elementor-nav-menu--main .elementor-item::after,
    body .main-menu .navigation > li > a::after,
    body .menu-main-menu-container a::after {
        content: "";
        position: absolute;
        right: 14px;
        bottom: 6px;
        left: 14px;
        height: 2px;
        background: var(--vj-pink);
        border-radius: 2px;
        transform: scaleX(0);
        transform-origin: right;
        transition: transform .22s ease;
    }

    body .elementor-nav-menu--main .elementor-item:hover::after,
    body .elementor-nav-menu--main .elementor-item.elementor-item-active::after,
    body .main-menu .navigation > li > a:hover::after,
    body .menu-main-menu-container a:hover::after {
        transform: scaleX(1);
        transform-origin: left;
    }

    body .elementor-element-8c1ebcf .elementor-widget-image img {
        transition: transform .4s ease, box-shadow .4s ease;
    }

    body .elementor-element-8c1ebcf .elementor-widget-image:hover img {
        transform: translateY(-6px) scale(1.02);
        box-shadow: 0 18px 32px rgba(101, 13, 61, .16);
    }
}

@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        scroll-behavior: auto !important;
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .01ms !important;
    }
}

/* Scroll reveal states are enabled only after the page script has initialised. */
@media (prefers-reduced-motion: no-preference) {
    html.vj-motion-ready .vj-reveal {
        opacity: 0;
        transform: translateY(30px);
        transition: opacity .65s ease var(--vj-reveal-delay, 0ms),
            transform .65s cubic-bezier(.2, .75, .25, 1) var(--vj-reveal-delay, 0ms);
        will-change: opacity, transform;
    }

    html.vj-motion-ready .vj-reveal.vj-reveal-visible {
        opacity: 1;
        transform: translateY(0);
    }

    html.vj-motion-ready .tg-listing-card-item.vj-reveal-visible:nth-child(even),
    html.vj-motion-ready .tg-blog-item.vj-reveal-visible:nth-child(even) {
        transition-delay: 110ms;
    }
}

/* Site-wide V&J colour system: derived from the burgundy and fuchsia logo. */
:root {
    --tourex-primary-clr: var(--vj-pink);
    --tourex-primary-black-clr: var(--vj-ink);
    --tourex-primary-black-rgb-clr: 45, 14, 33;
    --tourex-secondary-black-clr: #6e4058;
    --tourex-badge-clr: var(--vj-pink);
    --swiper-theme-color: var(--vj-pink);
    --tg-theme-primary: var(--vj-pink);
    --primary-color: var(--vj-pink);
    --primary-color-rgb: 219, 11, 112;
}

/* Some theme assets load their root variables after this child sheet; scope them
   to the document body as well so every front-end component inherits V&J colours. */
body {
    --tg-theme-primary: var(--vj-pink);
    --primary-color: var(--vj-pink);
    --primary-color-rgb: 219, 11, 112;
}

body a:focus-visible,
body button:focus-visible,
body input:focus-visible,
body select:focus-visible,
body textarea:focus-visible {
    outline: 3px solid rgba(219, 11, 112, .35);
    outline-offset: 3px;
}

body input:focus,
body select:focus,
body textarea:focus {
    border-color: var(--vj-pink) !important;
    box-shadow: 0 0 0 3px rgba(219, 11, 112, .12) !important;
}

/* Use one clear brand treatment for calls-to-action throughout the site. */
body .tg-btn,
body .tg-btn-transparent,
body .tg-footer-form-btn,
body .wpte-book-now-btn,
body .wte-book-now-btn,
body .wpte-enquiry-button,
body .wpte-btn {
    background: linear-gradient(135deg, var(--vj-plum), var(--vj-pink)) !important;
    border-color: var(--vj-pink) !important;
    color: #fff !important;
}

body .tg-btn:hover,
body .tg-btn-transparent:hover,
body .tg-footer-form-btn:hover,
body .wpte-book-now-btn:hover,
body .wte-book-now-btn:hover,
body .wpte-enquiry-button:hover,
body .wpte-btn:hover {
    background: linear-gradient(135deg, var(--vj-maroon), var(--vj-plum)) !important;
    border-color: var(--vj-maroon) !important;
    color: #fff !important;
}

body .tg-blog-tag,
body .tg-listing-item-price-discount,
body .tg-blog-sidebar-tag-list ul li a {
    background: linear-gradient(135deg, var(--vj-plum), var(--vj-pink)) !important;
    color: #fff !important;
}

body .tg-blog-title a:hover,
body .tg-blog-standard-title a:hover,
body .tg-blog-post-title a:hover,
body .tg-blog-sidebar-tag-list ul li a:hover {
    color: var(--vj-pink) !important;
}

/* Replace the former navy/blue planning block with V&J burgundy. */
body .elementor-element-4efb64f {
    background: linear-gradient(135deg, var(--vj-maroon), var(--vj-plum)) !important;
}

body .elementor-element-4efb64f .elementor-heading-title {
    color: #fff !important;
}

body .elementor-element-4efb64f .elementor-element-143a9c0 .elementor-heading-title {
    color: var(--vj-rose) !important;
}

body .elementor-element-4efb64f .tg-btn {
    background: #fff !important;
    border-color: #fff !important;
    color: var(--vj-plum) !important;
}

body .elementor-element-4efb64f .tg-btn:hover {
    background: var(--vj-rose) !important;
    border-color: var(--vj-rose) !important;
    color: var(--vj-maroon) !important;
}

/* The shared Elementor footer previously used blue headings on a navy base. */
body .elementor-location-footer,
body .elementor-location-footer > .elementor,
body .tg-footer-area,
body .footer-area,
body .footer__area,
body footer {
    background-color: var(--vj-maroon) !important;
}

body .elementor-location-footer .elementor-heading-title,
body .elementor-location-footer h1,
body .elementor-location-footer h2,
body .elementor-location-footer h3,
body .elementor-location-footer h4,
body .elementor-location-footer h5,
body .elementor-location-footer h6 {
    color: var(--vj-rose) !important;
}

body .elementor-location-footer p,
body .elementor-location-footer span,
body .elementor-location-footer .elementor-icon-list-text,
body .elementor-location-footer a:not(.tg-footer-form-btn) {
    color: #fff3f7 !important;
}

body .elementor-location-footer a:hover,
body .elementor-location-footer .elementor-icon-list-item:hover .elementor-icon-list-text {
    color: var(--vj-rose) !important;
}

body .elementor-location-footer .elementor-social-icon {
    background-color: #8e2259 !important;
    color: #fff !important;
}

/* Footer template 390 is rendered inside a plain footer element on this site. */
body footer .elementor-heading-title,
body footer h1,
body footer h2,
body footer h3,
body footer h4,
body footer h5,
body footer h6 {
    color: var(--vj-rose) !important;
}

body footer p,
body footer span,
body footer .elementor-icon-list-text,
body footer a:not(.tg-footer-form-btn) {
    color: #fff3f7 !important;
}

body footer .elementor-social-icon {
    background-color: #8e2259 !important;
    color: #fff !important;
}

/* About page: replace the remaining cyan card typography with logo colours. */
body.page-id-37 .elementor-icon-box-title,
body.page-id-37 .elementor-icon-box-title a,
body.page-id-37 .elementor-icon-box-title span {
    color: var(--vj-plum) !important;
}

body.page-id-37 .elementor-icon-box-description {
    color: var(--vj-ink) !important;
}

body.page-id-37 .elementor-icon-box-icon svg path {
    fill: var(--vj-pink) !important;
}

body.page-id-37 .elementor-icon-box-wrapper {
    border: 1px solid rgba(116, 16, 68, .10);
    border-radius: 18px;
}

/* Trip search, destination and wishlist controls use the same V&J accent. */
body .wpte-button,
body .wpte-trip-filter-wrap .wpte-button,
body .category-trip-content-wrap .wpte-button,
body .wpte-trip__booking-btn,
body .wpte-trip__booking-btn button {
    background: linear-gradient(135deg, var(--vj-plum), var(--vj-pink)) !important;
    border-color: var(--vj-pink) !important;
    color: #fff !important;
}

body .wpte-button:hover,
body .category-trip-content-wrap .wpte-button:hover,
body .wpte-trip__booking-btn:hover,
body .wpte-trip__booking-btn button:hover {
    background: var(--vj-maroon) !important;
    border-color: var(--vj-maroon) !important;
}

body .wpte-trip-search-form input[type="checkbox"],
body .wpte-trip-search-form input[type="radio"],
body .wpte-trip-archive input[type="checkbox"],
body .wpte-trip-archive input[type="radio"],
body .wpte-trip-filter-wrap input[type="checkbox"],
body .wpte-trip-filter-wrap input[type="radio"],
body input[type="range"] {
    accent-color: var(--vj-pink);
}

body .wpte-trip-search-form a,
body .wpte-trip-archive a,
body .wpte-trip-filter-wrap a,
body .wpte-trip-search-form .active,
body .wpte-trip-archive .active {
    --primary-color: var(--vj-pink);
}

/* Homepage journey collage: a calm, balanced editorial layout on wide screens. */
@media (min-width: 1024px) {
    body .elementor-element-8c1ebcf.e-con {
        width: min(1240px, calc(100vw - 80px)) !important;
        max-width: 1240px !important;
        margin: 0 auto !important;
    }

    body .elementor-element-8c1ebcf > .e-con-inner {
        width: 100% !important;
        display: grid !important;
        grid-template-columns: 260px minmax(460px, 1fr) 300px !important;
        column-gap: 48px !important;
        align-items: center !important;
    }

    body .elementor-element-8c1ebcf > .elementor-element-a50839e,
    body .elementor-element-8c1ebcf > .elementor-element-2a7a325,
    body .elementor-element-8c1ebcf > .elementor-element-03fd167,
    body .elementor-element-8c1ebcf > .e-con-inner > .elementor-element-a50839e,
    body .elementor-element-8c1ebcf > .e-con-inner > .elementor-element-2a7a325,
    body .elementor-element-8c1ebcf > .e-con-inner > .elementor-element-03fd167 {
        width: auto !important;
        flex: none !important;
        min-width: 0 !important;
    }

    body .elementor-element-8c1ebcf > .elementor-element-a50839e {
        grid-column: 1;
    }

    body .elementor-element-8c1ebcf > .e-con-inner > .elementor-element-a50839e { grid-column: 1; }

    body .elementor-element-8c1ebcf > .elementor-element-03fd167 {
        grid-column: 2;
        text-align: center;
    }

    body .elementor-element-8c1ebcf > .e-con-inner > .elementor-element-03fd167 {
        grid-column: 2;
        text-align: center;
    }

    body .elementor-element-8c1ebcf > .elementor-element-2a7a325 {
        grid-column: 3;
    }

    body .elementor-element-8c1ebcf > .e-con-inner > .elementor-element-2a7a325 { grid-column: 3; }

    body .elementor-element-8c1ebcf .elementor-element-a50839e,
    body .elementor-element-8c1ebcf .elementor-element-2a7a325 {
        gap: 34px !important;
    }

    body .elementor-element-8c1ebcf .elementor-element-03fd167 .elementor-widget-container,
    body .elementor-element-8c1ebcf .elementor-element-03fd167 .tg-section-title-wrap,
    body .elementor-element-8c1ebcf .elementor-element-03fd167 .tg-section-su-title {
        width: 100% !important;
        max-width: 580px !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }

    body .elementor-element-8c1ebcf .elementor-element-03fd167 > .e-con-inner,
    body .elementor-element-8c1ebcf .elementor-element-03fd167 > .e-con,
    body .elementor-element-8c1ebcf .elementor-element-03fd167 .elementor-widget {
        width: 100% !important;
        max-width: 100% !important;
        flex: 0 0 100% !important;
    }

    body .elementor-element-8c1ebcf .elementor-element-03fd167 .elementor-element-651a7bb {
        width: 100% !important;
        min-width: 100% !important;
        align-self: stretch !important;
    }

    body .elementor-element-8c1ebcf .elementor-element-03fd167 .tg-section-su-title,
    body .elementor-element-8c1ebcf .elementor-element-03fd167 h2 {
        font-size: clamp(40px, 3.2vw, 56px) !important;
        line-height: 1.08 !important;
        letter-spacing: -.035em;
        text-wrap: balance;
    }

    body .elementor-element-8c1ebcf .elementor-element-03fd167 p {
        max-width: 500px !important;
        margin-left: auto !important;
        margin-right: auto !important;
        line-height: 1.65;
    }

    body .elementor-element-8c1ebcf .elementor-element-a50839e img {
        max-width: 230px !important;
    }

    body .elementor-element-8c1ebcf .elementor-element-2a7a325 img {
        max-width: 300px !important;
    }
}

@media (min-width: 768px) and (max-width: 1023px) {
    body .elementor-element-8c1ebcf.e-con {
        grid-template-columns: 180px minmax(320px, 1fr) 180px !important;
        gap: 24px !important;
    }

    body .elementor-element-8c1ebcf > .elementor-element-a50839e,
    body .elementor-element-8c1ebcf > .elementor-element-2a7a325 {
        flex-basis: 180px !important;
        width: 180px !important;
    }

    body .elementor-element-8c1ebcf .elementor-element-03fd167 .tg-section-su-title,
    body .elementor-element-8c1ebcf .elementor-element-03fd167 h2 {
        font-size: clamp(34px, 5vw, 44px) !important;
        line-height: 1.12 !important;
    }
}

/* Keep the journey collage image cards equal on both sides; make its logo a badge. */
@media (min-width: 768px) {
    body .elementor-element-8c1ebcf .elementor-element-a50839e .elementor-widget-image,
    body .elementor-element-8c1ebcf .elementor-element-2a7a325 .elementor-widget-image {
        width: 230px !important;
        max-width: 230px !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }

    body .elementor-element-8c1ebcf .elementor-element-a50839e .elementor-widget-image img,
    body .elementor-element-8c1ebcf .elementor-element-2a7a325 .elementor-widget-image img {
        display: block;
        width: 230px !important;
        max-width: 230px !important;
        height: 154px !important;
        object-fit: cover !important;
        border-radius: 18px !important;
    }

    body .elementor-element-8c1ebcf .elementor-element-10637a7 img {
        width: 142px !important;
        height: 142px !important;
        max-width: 142px !important;
        object-fit: cover;
        border-radius: 50% !important;
        border: 5px solid rgba(233, 181, 196, .72);
        box-shadow: 0 12px 28px rgba(101, 13, 61, .13);
    }
}

div[aria-label="Footer Links"] {
    display: none !important;
}