/* ========================================
   Elite Travel — Custom Override CSS
   Version: 2.0 (2026-07-08)
   ======================================== */

/* === 1. WIDTH UNIFICATION === */
/* Container: 1320px on desktop, 1500px on ultrawide */
body.box-layout { max-width: 100% !important; }
body.box-layout .container { max-width: 1320px !important; }
@media (min-width: 1600px) { body.box-layout .container { max-width: 1500px !important; } }

/* Full-width sections on homepage */
.template-home .site-content > .container,
.home-page-full { max-width: 100% !important; padding-left: 0; padding-right: 0; }

/* Top bar container width */
.top-bar .container { max-width: 1320px !important; }

/* === 2. HEADER OPTIMIZATION === */
/* Reduce header spacing */
.site-header .header-b { padding-top: 8px !important; padding-bottom: 8px !important; }
.site-branding .text-logo { gap: 6px !important; }

/* Logo sizing — scale down oversized logo */
.custom-logo { max-height: 50px !important; width: auto !important; }

/* Navigation spacing */
.navigation-wrap .primary-menu-container > ul > li > a {
    padding: 6px 12px !important;
    font-size: 14px !important;
}
.navigation-wrap { margin-left: auto !important; }

/* Hide duplicate site title when logo is present */
.site-title-description .site-title { display: none !important; }

/* Top bar spacing */
.top-bar { padding: 0.25rem 0 !important; font-size: 0.78rem !important; }
.top-bar span[style*="margin"] { margin: 0 0.35rem !important; }

/* === 3. COLOR UNIFICATION === */
/* Theme: Teal (#28B5A4) + Warm Orange (#e48e45) + Dark (#1a1a2e) */

/* Override homepage inline styles */
/* Since homepage content is in post content,
   we target elements with specific patterns */
.template-home h2[style*="color:#1a5c48"],
.template-home h2[style*="color: #1a5c48"] { color: #1a5c48 !important; }
.template-home a[style*="background:#1a5c48"] { background: #1a5c48 !important; }
.template-home a[style*="background:#b8860b"] { background: #e48e45 !important; border-color: #e48e45 !important; }
.template-home [style*="background:#b8860b"] { background: #e48e45 !important; }
.template-home [style*="color:#b8860b"] { color: #e48e45 !important; }
.template-home [style*="background:#d4a853"] { background: #e48e45 !important; }
.template-home [style*="color:#d4a853"] { color: #e48e45 !important; }
.template-home [style*="border-color:#d4a853"] { border-color: #e48e45 !important; }
.template-home div[style*="background:#b8860b"] { background: #e48e45 !important; }
.template-home hr[style*="background:#b8860b"],
.template-home div[style*="background:#b8860b"] { background: #e48e45 !important; }
.template-home span[style*="color:#b8860b"] { color: #e48e45 !important; }

/* Hero section CTA */
.tp-hero-btn {
    padding: 12px 28px !important;
    font-size: 13px !important;
    letter-spacing: 2px !important;
    transition: all 0.3s ease !important;
}
.tp-hero-btn-primary { background: #e48e45 !important; color: #fff !important; }
.tp-hero-btn-outline { border-color: #e48e45 !important; color: #fff !important; }
.tp-hero-btn-primary:hover { background: #d07a30 !important; }

/* Section titles */
.tp-section-title {
    font-size: 1.6rem !important;
    font-weight: 600 !important;
    color: #1a1a2e !important;
    text-align: center !important;
    margin-bottom: 1.5rem !important;
}

/* === 4. HOMEPAGE LAYOUT IMPROVEMENTS === */
/* Featured tours cards */
.tp-grid-4 {
    display: grid !important;
    grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)) !important;
    gap: 20px !important;
}

/* Destination overlay cards */
.tp-dest-card-overlay {
    border-radius: 10px !important;
    overflow: hidden !important;
    background: #fff !important;
    box-shadow: 0 2px 10px rgba(0,0,0,0.06) !important;
    transition: transform 0.3s ease, box-shadow 0.3s ease !important;
}
.tp-dest-card-overlay:hover {
    transform: translateY(-4px) !important;
    box-shadow: 0 6px 20px rgba(0,0,0,0.12) !important;
}

/* Footer */
footer.site-footer, .site-footer { width: 100%; }
footer .wrapper, footer .container { max-width: 1320px; margin: 0 auto; }

/* === 5. DESTINATION PAGE === */
.elite-dest-item .wpte-trip-category-text-wrap { padding: 16px 20px 20px; }
.elite-dest-description {
    margin-top: 8px;
    font-size: 14px;
    line-height: 1.6;
    color: #555;
}
.elite-dest-description p { margin: 0; }
.elite-destination-name { font-weight: 600; }
.elite-destination-desc { font-size: 12px; color: #666; margin-left: 4px; }

/* === 6. SINGLE COLUMN LAYOUTS === */
.page-template-template-destination .destination-holder,
.post-type-archive-trip .wpte-trip-list-wrapper,
.tax-destination .wpte-trip-list-wrapper {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 24px !important;
}
.page-template-template-destination .destination-holder > *,
.post-type-archive-trip .wpte-trip-list-wrapper > * {
    width: 100% !important;
    max-width: 100% !important;
    grid-column: 1 / -1 !important;
}


/* === 7. FOOTER FULL WIDTH === */
footer { width: 100% !important; }
footer > div { max-width: 1320px !important; margin: 0 auto !important; }


/* === 8. TRIP DETAIL PAGE === */
.tm-content-wrap { max-width: 1320px !important; }
.tm-single-layout { gap: 2.5rem !important; }
.tm-trip-hero-inner { max-width: 900px !important; }
.tm-section-title { font-size: 1.4rem !important; }
.tm-sidebar { position: sticky; top: 90px; }



/* === 9. HEADER & NAVIGATION OPTIMIZATION === */
/* Reduce header spacing */
.site-header .header-b { padding-top: 6px !important; padding-bottom: 6px !important; }
.navigation-wrap .primary-menu-container > ul > li > a {
    padding: 4px 10px !important;
    font-size: 13px !important;
    letter-spacing: 0.3px !important;
}

/* Smaller top bar */
.top-bar { padding: 0.2rem 0 !important; font-size: 0.75rem !important; }
.top-bar span[style*="margin"] { margin: 0 0.3rem !important; }

/* Logo sizing */
.custom-logo { max-height: 42px !important; width: auto !important; }

/* Hide duplicate nav items in desktop (the theme renders two menu sets) */
.header-b .primary-menu-wrapper .menu-item:nth-child(n+7) { display: none; }

/* Ensure mobile menu still works */
.mobile-header .primary-menu-wrapper .menu-item { display: block; }

/* === 10. HEADER CENTERED LAYOUT === */
.header-b .container {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    justify-content: center !important;
}
.header-b .site-branding {
    margin-right: auto !important;
}
.header-b .navigation-wrap {
    margin: 0 auto !important;
}
@media (max-width: 1024px) {
    .header-b .container { justify-content: space-between !important; }
}
