/*
Theme Name: Bhujung Trekking
Theme URI: https://bhujungtrekking.com
Author: Bhujung Tourism
Author URI: https://bhujungtrekking.com
Description: A homestay & trekking marketplace theme for Bhujung Village, Lamjung, Nepal. Teal & coral trekking-marketplace design with Homestay, Destination and Host post types, a customizable hero, and a "Plan your trip" search widget.
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: bhujung-trekking
Tags: travel, tourism, custom-colors, custom-menu, featured-images, translation-ready
*/

:root{
  --teal:#1d7a6b;
  --teal-dark:#155a4f;
  --teal-deepest:#0f2e29;
  --mint:#e2f1ea;
  --mint-soft:#eef7f1;
  --coral:#ef9d5c;
  --coral-dark:#e18a42;
  --ink:#1c2b28;
  --body:#4c5f5a;
  --muted:#7c8d88;
  --hairline:#e2ebe7;
  --canvas:#ffffff;
  --r-sm:8px; --r-md:14px; --r-lg:20px; --r-full:999px;
  --shadow: 0 10px 30px rgba(15,46,41,0.08);
  --shadow-sm: 0 4px 14px rgba(15,46,41,0.06);
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{margin:0; font-family:'Nunito Sans', system-ui, sans-serif; color:var(--ink); background:var(--canvas);}
h1,h2,h3,h4{font-family:'Poppins', sans-serif; margin:0;}
a{color:inherit; text-decoration:none;}
img,svg{display:block; max-width:100%;}
button{font-family:inherit; cursor:pointer; border:none;}
.wrap{max-width:1180px; margin:0 auto; padding:0 28px;}
.pill-btn{display:inline-flex; align-items:center; gap:8px; border-radius:var(--r-full); padding:13px 26px; font-weight:700; font-size:14px; letter-spacing:.2px;}
.pill-btn.coral{background:var(--coral); color:#fff;}
.pill-btn.coral:hover{background:var(--coral-dark);}
.pill-btn.teal{background:var(--teal); color:#fff;}
.pill-btn.teal:hover{background:var(--teal-dark);}
.pill-btn.outline{background:#fff; color:var(--teal); border:1.5px solid var(--teal);}
.eyebrow{color:var(--teal); font-weight:800; letter-spacing:1.5px; font-size:12px; text-transform:uppercase;}

/* Utility bar */
.util-bar{background:var(--teal-deepest); color:#cfe4dd; font-size:12.5px;}
.util-bar .wrap{display:flex; justify-content:space-between; align-items:center; height:36px; flex-wrap:wrap;}
.util-left{display:flex; gap:22px; align-items:center;}
.util-left span{display:flex; align-items:center; gap:6px;}
.util-right{display:flex; gap:16px; align-items:center;}

/* Nav */
.navbar{background:#fff; border-bottom:1px solid var(--hairline); position:sticky; top:0; z-index:50;}
.navbar .wrap{height:72px; display:flex; align-items:center; justify-content:space-between;}
.brand{font-family:'Poppins',sans-serif; font-weight:800; font-size:19px; letter-spacing:.2px; display:flex; align-items:center; gap:8px;}
.brand img{height:34px; width:auto;}
.brand .dot{color:var(--coral);}
.nav-links{display:flex; gap:30px; align-items:center; font-weight:700; font-size:14px; list-style:none; margin:0; padding:0;}
.nav-links li{position:relative;}
.nav-links a{position:relative; padding:4px 0; display:block;}
.nav-links li.current-menu-item > a{color:var(--teal);}
.nav-links li.current-menu-item > a::after{content:""; position:absolute; left:0; right:0; bottom:-24px; height:3px; background:var(--teal); border-radius:2px;}
.nav-icons{display:flex; align-items:center; gap:18px;}
.nav-icons svg{width:18px; height:18px; color:var(--ink);}
@media (max-width:960px){.nav-links{display:none;}}

/* Hero */
.hero{position:relative; height:560px; overflow:hidden;}
.hero .hero-bg{position:absolute; inset:0; width:100%; height:100%; object-fit:cover;}
.hero-scrim{position:absolute; inset:0; background:linear-gradient(180deg, rgba(10,30,26,.35) 0%, rgba(10,30,26,.55) 100%);}
.hero-content{position:relative; z-index:2; height:100%; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; color:#fff; padding:0 20px;}
.hero-content h1{font-size:40px; font-weight:800; letter-spacing:1px; text-transform:uppercase;}
.hero-content p{font-size:18px; font-weight:400; margin-top:10px; opacity:.95;}

.search-card{max-width:900px; margin:-58px auto 0; position:relative; z-index:5; background:#fff; border-radius:var(--r-lg); box-shadow:var(--shadow); padding:28px 32px; display:flex; align-items:center; gap:24px; flex-wrap:wrap;}
.search-card .label{font-weight:800; font-size:16px; white-space:nowrap;}
.search-card .field{flex:1; min-width:220px; display:flex; align-items:center; gap:10px; border:1.5px solid var(--hairline); border-radius:var(--r-full); padding:12px 18px;}
.search-card .field svg{width:16px; height:16px; color:var(--muted); flex-shrink:0;}
.search-card .field input{border:none; outline:none; font-size:14px; width:100%; font-family:inherit; color:var(--ink);}

/* Trust strip */
.trust-strip{background:var(--mint); padding:30px 0;}
.trust-strip .wrap{display:flex; justify-content:space-between; gap:24px; flex-wrap:wrap;}
.trust-item{display:flex; align-items:center; gap:12px; flex:1; min-width:220px;}
.trust-item .ico{width:42px; height:42px; border-radius:50%; background:#fff; display:flex; align-items:center; justify-content:center; flex-shrink:0;}
.trust-item .ico svg{width:20px; height:20px; color:var(--teal);}
.trust-item span{font-weight:700; font-size:14.5px;}

section{padding:76px 0;}
section.tight{padding:56px 0;}
.sec-head{text-align:center; max-width:640px; margin:0 auto 46px;}
.sec-head h2{font-size:28px; font-weight:800; margin-top:8px;}

/* Trip / homestay cards */
.trip-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:26px;}
@media (max-width:900px){.trip-grid{grid-template-columns:1fr;}}
.trip-card{border-radius:var(--r-md); overflow:hidden; box-shadow:var(--shadow-sm); background:#fff;}
.trip-card .img{position:relative; height:190px; background:var(--mint) center/cover no-repeat;}
.trip-card .img img{width:100%; height:100%; object-fit:cover;}
.day-tag{position:absolute; top:14px; left:14px; background:var(--teal); color:#fff; font-size:12px; font-weight:800; padding:6px 14px; border-radius:var(--r-full);}
.trip-card .body{padding:20px 20px 24px;}
.trip-card .route{display:flex; align-items:center; gap:8px; color:var(--teal); font-weight:700; font-size:12.5px; text-transform:uppercase; letter-spacing:.4px;}
.trip-card .route svg{width:14px; height:14px;}
.trip-card h3{font-size:17px; font-weight:700; margin-top:10px; line-height:1.35;}
.trip-card .price{display:flex; justify-content:space-between; align-items:center; margin-top:16px; padding-top:14px; border-top:1px solid var(--hairline);}
.trip-card .price b{font-size:20px; color:var(--teal); font-family:'Poppins',sans-serif;}
.trip-card .price span{font-size:12px; color:var(--muted);}

/* Plan your trip */
.plan-section{background:var(--mint-soft); position:relative; overflow:hidden;}
.plan-section .doodle{position:absolute; inset:0; opacity:.5; pointer-events:none;}
.plan-card{position:relative; z-index:2; background:#fff; border-radius:var(--r-lg); box-shadow:var(--shadow); padding:34px; display:grid; grid-template-columns:1fr 1fr 1fr auto; gap:20px; align-items:end; max-width:980px; margin:0 auto;}
@media (max-width:900px){.plan-card{grid-template-columns:1fr;}}
.plan-field label{display:block; font-size:12px; font-weight:800; color:var(--muted); text-transform:uppercase; letter-spacing:.4px; margin-bottom:8px;}
.plan-field select, .plan-field input{width:100%; border:1.5px solid var(--hairline); border-radius:var(--r-sm); padding:12px 14px; font-size:14px; font-family:inherit; color:var(--ink); background:#fff;}
.plan-card .search-submit{background:var(--coral); color:#fff; border-radius:var(--r-sm); padding:13px 28px; font-weight:800; font-size:14px; display:flex; align-items:center; gap:8px; justify-content:center; white-space:nowrap;}
.cat-row{display:flex; gap:14px; justify-content:center; margin-top:44px; flex-wrap:wrap; position:relative; z-index:2;}
.cat-pill{padding:12px 26px; border-radius:var(--r-full); font-weight:700; font-size:14px; border:1.5px solid var(--teal); color:var(--teal); background:#fff;}
.cat-pill.active{background:var(--teal); color:#fff;}

/* Destinations */
.dest-grid{display:grid; grid-template-columns:repeat(6,1fr); gap:16px;}
@media (max-width:960px){.dest-grid{grid-template-columns:repeat(3,1fr);}}
@media (max-width:560px){.dest-grid{grid-template-columns:repeat(2,1fr);}}
.dest-card{text-align:center;}
.dest-card .photo{border-radius:var(--r-lg) var(--r-lg) 6px 6px; overflow:hidden; height:130px; box-shadow:var(--shadow-sm); background:var(--mint);}
.dest-card .photo img{width:100%; height:100%; object-fit:cover;}
.dest-card .name{margin-top:12px; font-weight:800; font-size:14px;}

/* Blog / interesting */
.blog-grid{display:grid; grid-template-columns:1fr 1fr; gap:26px;}
@media (max-width:800px){.blog-grid{grid-template-columns:1fr;}}
.blog-card{display:flex; gap:18px; align-items:center;}
.blog-card .thumb{width:150px; height:110px; border-radius:var(--r-md); overflow:hidden; flex-shrink:0; box-shadow:var(--shadow-sm); background:var(--mint);}
.blog-card .thumb img{width:100%; height:100%; object-fit:cover;}
.blog-card .byline{font-size:12px; color:var(--muted); font-weight:700; margin-bottom:4px;}
.blog-card h3{font-size:16px; line-height:1.4; font-weight:700;}
.blog-actions{display:flex; gap:16px; justify-content:center; margin-top:44px;}

/* About */
.about{background:var(--teal-deepest); position:relative; overflow:hidden; color:#fff;}
.about .wrap{display:grid; grid-template-columns:1fr 1fr; gap:50px; align-items:center;}
@media (max-width:860px){.about .wrap{grid-template-columns:1fr;}}
.about h2{font-size:30px; font-weight:800; color:#fff; margin-bottom:16px;}
.about p{color:#cfe4dd; font-size:15px; line-height:1.7; max-width:460px;}
.about-photo{border-radius:var(--r-lg); overflow:hidden; box-shadow:var(--shadow); background:var(--teal-dark); min-height:340px;}
.about-photo img{width:100%; height:100%; object-fit:cover;}

/* Hosts */
.host-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:36px 28px;}
@media (max-width:900px){.host-grid{grid-template-columns:repeat(2,1fr);}}
@media (max-width:560px){.host-grid{grid-template-columns:1fr;}}
.host-block{display:flex; gap:16px;}
.host-photo{width:64px; height:64px; border-radius:50%; flex-shrink:0; overflow:hidden; background:var(--mint);}
.host-photo img{width:100%; height:100%; object-fit:cover;}
.host-name{font-weight:800; font-size:15px;}
.host-tags{display:flex; gap:6px; margin-top:6px; flex-wrap:wrap;}
.host-tags span{font-size:10.5px; font-weight:700; border:1px solid var(--teal); color:var(--teal); padding:3px 9px; border-radius:var(--r-full);}
.host-desc{font-size:13px; color:var(--body); margin-top:8px; line-height:1.55;}
.host-links{display:flex; gap:14px; margin-top:8px; font-size:12.5px; font-weight:800; color:var(--teal);}

/* Footer */
.footer-top{background:var(--mint); padding:50px 0 40px;}
.footer-cols{display:grid; grid-template-columns:repeat(4,1fr); gap:24px;}
@media (max-width:800px){.footer-cols{grid-template-columns:repeat(2,1fr);}}
.footer-cols h4{font-size:13px; font-weight:800; text-transform:uppercase; letter-spacing:.4px; margin-bottom:14px; color:var(--teal-dark);}
.footer-cols .widget ul{list-style:none; margin:0; padding:0;}
.footer-cols a{display:block; font-size:13.5px; color:var(--body); padding:5px 0; font-weight:600;}
.footer-bottom{background:var(--teal-deepest); color:#cfe4dd; padding:22px 0;}
.footer-bottom .wrap{display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:14px;}
.footer-bottom .brand{color:#fff;}
.footer-social{display:flex; gap:14px;}
.footer-social svg{width:16px; height:16px; color:#fff;}
.trust-badge{display:flex; align-items:center; gap:8px; font-size:12px; font-weight:700;}
.trust-badge svg{width:16px; height:16px; color:var(--coral);}

/* Generic page/single content */
.page-hero{background:var(--mint); padding:70px 0 40px; text-align:center;}
.page-hero h1{font-size:32px; font-weight:800;}
.content-wrap{padding:60px 0; max-width:820px; margin:0 auto;}
.content-wrap img{border-radius:var(--r-md); margin:20px 0;}
.content-wrap h2{font-size:22px; margin:28px 0 12px;}
.content-wrap p{line-height:1.75; color:var(--body); margin:0 0 16px; font-size:15.5px;}
.archive-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:26px;}
@media (max-width:900px){.archive-grid{grid-template-columns:1fr;}}
.pagination{display:flex; justify-content:center; gap:10px; margin-top:40px;}
.pagination a, .pagination span{padding:8px 14px; border:1px solid var(--hairline); border-radius:var(--r-sm); font-size:13px; font-weight:700;}
.pagination .current{background:var(--teal); color:#fff; border-color:var(--teal);}

:focus-visible{outline:2px solid var(--teal); outline-offset:2px;}
.skip-link{position:absolute; left:-9999px; top:0; background:var(--teal); color:#fff; padding:10px 16px; z-index:9999;}
.skip-link:focus{left:10px; top:10px;}
