/*
Theme Name: LWTC Trek (Scratch)
Theme URI: https://example.local/lwtc-trek-scratch
Author: Your Name
Description: Custom theme built from scratch — sticky header, full-width slider, carousel and testimonials.
Version: 1.0.0
Requires at least: 5.8
Tested up to: 6.8
Requires PHP: 7.2
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: lwtc-trek-scratch
Tags: travel, booking, sticky-header, full-site
*/

/* Basic resets and typography */
:root{
  /* layout-only tokens kept here; colours/fonts live in assets/css/style.css :root */
  --content-width:1400px;
  --gap:18px;
}

html,body{margin:0;padding:0;font-family:var(--font-heading);color:var(--foreground);line-height:1.58;background:var(--background);-webkit-font-smoothing:antialiased}

/* Ensure main content text is black for readability */
main, .wrap, .entry-content, article { color: #000; padding-top: 0; }

/* When a singular post/page has a featured image, remove the extra top padding
  so the full-bleed image sits flush with the top of the viewport. */
body.has-featured-image main,
body.has-featured-image .wrap,
body.has-featured-image .entry-content,
body.has-featured-image article { padding-top: 0; }

/* Sticky header */
.site-header{position:sticky;top:0;z-index:999;background:var(--background);border-bottom:1px solid var(--border);height:81px}
.site-header-inner{max-width:var(--content-width);margin:0 auto;display:flex;align-items:center;justify-content:space-between;height:100%;}
.site-title{font-weight:700;color:var(--primary-600);font-size:20px;letter-spacing:0.2px}
.main-navigation a{color:#111;text-decoration:none;margin-left:18px;font-weight:600}
.main-navigation a:hover{color:var(--primary)}
.main-navigation .current-menu-item > a,.main-navigation .current_page_item > a{color:var(--primary);text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:2px}
.main-navigation .main-menu{display:flex;align-items:center;gap:12px}

/* header subtle shadow when stuck */
.site-header.is-stuck{box-shadow:0 6px 20px rgba(16,24,40,0.06);backdrop-filter:saturate(140%) blur(6px)}

/* Hero slider — overridden by fp-hero classes in assets/css/style.css */
.hero-wrap{width:100%;overflow:hidden}
.hero-swiper{height:68vh;border-radius:0}
.hero-slide{background-size:cover;background-position:center;height:68vh;display:flex;align-items:center;color:#fff;position:relative}
.hero-caption{padding:80px;border-radius:0;text-align:left;max-width:760px}

/* overlay handled by .hero-slide__overlay in the new template */
.hero-slide::after{display:none}
.hero-caption{position:relative;z-index:2}

/* Caption typography */
.hero-caption h1{font-family:var(--font-heading);font-weight:var(--font-weight-bold);font-size:clamp(20px,5vw,46px);margin:0 0 10px;color:#fff}
.hero-caption p{margin:0 0 20px;color:#fff;opacity:0.95}

/* Carousel */
.carousel-section{padding:48px 0;background:var(--background)}
.carousel-title{text-align:center;margin-bottom:28px;color:var(--primary-600);font-weight:700}
.carousel-swiper .slide-card{background:#fff;padding:18px;border-radius:var(--radius);box-shadow:0 10px 30px rgba(2,6,23,0.06);transition:transform .18s ease,box-shadow .18s ease}
.carousel-swiper .slide-card:hover{transform:translateY(-6px);box-shadow:0 20px 40px rgba(2,6,23,0.09)}

/* Testimonials */
.testimonials{padding:56px 0}
.testimonials .wrap{max-width:var(--content-width);margin:0 auto}
.testimonial-item{background:#fff;padding:24px;border-radius:10px;box-shadow:0 10px 30px rgba(2,6,23,0.06);margin-bottom:18px}

/* Footer */
.site-footer{background:#3D1111;color:#fff;padding:36px 0;margin-top:40px}
.site-footer .wrap{max-width:var(--content-width);margin:0 auto;text-align:center}

@media (max-width:768px){
  .hero-swiper{height:50vh;border-radius:0}
  .hero-caption{padding:16px 14px}
  .hero-caption h1{font-size:24px !important}
  .hero-caption p{font-size:14px !important}
  .main-navigation a{margin-left:12px;font-size:14px}
/* Ensure mobile slider caption is positioned at 20% from top (mobile only) */
@media (max-width:768px){
  .fp-hero .hero-caption{position:absolute !important;top:40% !important;left:50% !important;transform:translateX(-50%) !important;width:90% !important;text-align:center !important;z-index:3}
}

}
@media (max-width:480px){
  .hero-caption h1{font-size:20px !important;line-height:1.2}
  .hero-caption p{font-size:13px !important}
}
