/*
Theme Name: Book Bali Trips
Theme URI: https://bookbalitrips.com/
Author: Book Bali Trips
Description: Lightweight, responsive custom WordPress theme for a Bali tours booking website. Tour inventory and booking integrations can be added later.
Version: 20.0.2
Requires at least: 6.3
Requires PHP: 7.4
Text Domain: bookbalitrips
License: GPL-2.0-or-later
*/
:root{--ink:#12343b;--sea:#087e82;--sand:#f6f4ee;--accent:#f4b65d;--white:#fff;--muted:#587078}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.65;background:#fff}
a{color:var(--sea)}a:hover{text-decoration:none}img{max-width:100%;height:auto} .wrap{width:min(1160px,92%);margin:auto}
.skip-link{position:absolute;top:-100px;left:12px;background:white;padding:10px;z-index:100}.skip-link:focus{top:10px}
.site-header{background:#fff;border-bottom:1px solid #e8edeb;position:relative;z-index:10}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:80px}
.brand{font-size:1.35rem;font-weight:800;text-decoration:none;color:var(--ink)}.brand span{color:var(--sea)}
.site-nav ul{display:flex;gap:25px;align-items:center;list-style:none;margin:0;padding:0}.site-nav a{text-decoration:none;color:var(--ink);font-weight:600}
.menu-toggle{display:none;border:1px solid #d2dddc;border-radius:8px;background:#fff;padding:8px 14px;font:inherit}
.hero{padding:100px 0 110px;background:linear-gradient(125deg,#073f48,#087e82);color:#fff}.hero .eyebrow{text-transform:uppercase;letter-spacing:.14em;font-weight:700;color:#f5ce91}
.hero h1{font-size:clamp(2.6rem,6vw,5rem);line-height:1.1;max-width:790px;margin:14px 0 22px}.hero p{font-size:1.2rem;max-width:670px;color:#e6f5f3}
.btn{display:inline-block;padding:13px 23px;background:var(--accent);color:#17363a;text-decoration:none;font-weight:800;border-radius:8px;margin-top:15px}.btn:hover{background:#ffcb7e}
.section{padding:72px 0}.section.soft{background:var(--sand)}.section h2{font-size:clamp(1.8rem,3vw,2.5rem);line-height:1.2;margin:0 0 16px}
.lead{max-width:760px;color:var(--muted);font-size:1.1rem}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:30px}
.card{background:#fff;border:1px solid #e3e9e7;border-radius:14px;padding:27px;box-shadow:0 8px 22px rgba(12,47,52,.04)}.card h3{margin:0 0 9px;font-size:1.2rem}.card p{margin:0;color:var(--muted)}
.content-area{padding:58px 0 90px;min-height:55vh}.content-area h1{line-height:1.2}.entry{max-width:800px}.entry-content{overflow-wrap:anywhere}.entry-content img{border-radius:10px}
.posts{display:grid;grid-template-columns:repeat(2,1fr);gap:25px}.post-card{border:1px solid #e1e8e6;border-radius:12px;padding:25px}.post-card h2{font-size:1.35rem;margin:0 0 10px}
.site-footer{background:#092f37;color:#d7e7e7;padding:45px 0}.site-footer a{color:#fff}.footer-inner{display:flex;justify-content:space-between;gap:25px;flex-wrap:wrap}
.screen-reader-text{position:absolute;clip:rect(1px,1px,1px,1px);height:1px;width:1px;overflow:hidden}
@media(max-width:800px){.menu-toggle{display:block}.site-nav{display:none;position:absolute;top:80px;left:0;right:0;background:white;padding:15px 4%;box-shadow:0 8px 20px #0001}.site-nav.is-open{display:block}.site-nav ul{display:block}.site-nav li{padding:9px 0}.cards,.posts{grid-template-columns:1fr}.hero{padding:75px 0}.section{padding:55px 0}}

/* v2: editorial homepage */
.hero-v2{background:radial-gradient(circle at 85% 10%,#177f82 0,transparent 34%),linear-gradient(125deg,#073a42,#0a6269);padding:84px 0 95px}
.hero-grid{display:grid;grid-template-columns:1.1fr .9fr;align-items:center;gap:50px}.hero-v2 h1{font-size:clamp(2.7rem,5vw,4.65rem)}
.hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:25px}.hero-secondary{color:#fff;font-weight:700;text-underline-offset:5px}
.hero-art{height:400px;border-radius:24px;position:relative;overflow:hidden;background:linear-gradient(#83c3b7 0%,#e6d4a9 75%,#f5e0b5 100%);box-shadow:0 25px 65px #002e3850}
.art-sun{position:absolute;width:175px;height:175px;border-radius:50%;background:#ffe2a4;right:18%;top:14%;box-shadow:0 0 55px #ffe2a480}
.art-mountain{position:absolute;left:-12%;width:125%;height:70%;bottom:-10%;clip-path:polygon(0 85%,20% 40%,38% 70%,60% 10%,85% 65%,100% 40%,100% 100%,0 100%)}
.art-back{background:#55958d;bottom:4%}.art-front{background:#175e60;transform:scaleX(-1);bottom:-20%}
.art-caption{position:absolute;bottom:23px;left:25px;color:#fff;font-size:.75rem;font-weight:800;letter-spacing:.2em}
.section-kicker{color:#087e82;font-size:.76rem;font-weight:850;letter-spacing:.16em;margin:0 0 14px}
.cards-v2{grid-template-columns:repeat(3,1fr)}.category-card{transition:transform .2s,box-shadow .2s}.category-card:hover{transform:translateY(-4px);box-shadow:0 16px 35px #0b444412}
.category-icon{display:inline-flex;align-items:center;justify-content:center;background:#eaf5f2;color:#087e82;width:50px;height:50px;border-radius:14px;font-size:1.7rem;margin-bottom:18px}
.split-section{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.feature-stack{display:grid;gap:14px}.feature-stack>div{background:#fff;border-radius:12px;padding:22px;display:flex;align-items:center;gap:25px}.feature-stack strong{color:#087e82;font-size:1.3rem}
@media(max-width:850px){.hero-grid,.split-section{grid-template-columns:1fr}.hero-art{height:290px}.cards-v2{grid-template-columns:repeat(2,1fr)}}@media(max-width:550px){.cards-v2{grid-template-columns:1fr}.hero-v2{padding:55px 0}.hero-art{height:250px}}

/* v3 tour archive and search */
.crumb{font-size:.9rem;color:var(--muted);margin-bottom:25px}.crumb a{color:var(--sea)}.tour-cards .card img{width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:9px;margin-bottom:14px}.tour-cards .card h2{font-size:1.3rem}.tour-cards .card h2 a{text-decoration:none;color:var(--ink)}
.tour-search{max-width:740px;margin:28px 0 35px}.tour-search label{display:block;font-weight:700;margin-bottom:9px}.tour-search>div{display:flex;gap:8px}.tour-search input{flex:1;min-width:0;border:1px solid #b6c9c9;border-radius:8px;padding:13px;font:inherit}.tour-search button{border:0;border-radius:8px;background:var(--sea);color:#fff;font:inherit;font-weight:700;padding:13px 24px;cursor:pointer}
@media(max-width:550px){.tour-search>div{flex-direction:column}}

/* v4 car rental catalog */
.car-filter{display:flex;align-items:end;gap:14px;flex-wrap:wrap;padding:22px;background:var(--sand);border-radius:12px;margin:28px 0}.car-filter label{display:grid;gap:6px;font-weight:650}.car-filter select,.car-filter input{padding:11px;border:1px solid #b9cbcb;border-radius:8px;background:white;min-width:190px;font:inherit}.car-filter .btn{border:0;cursor:pointer;margin:0}.car-card img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:8px}.car-card h2{font-size:1.3rem}.car-specs{display:flex;flex-wrap:wrap;gap:10px;margin:25px 0}.car-specs p{background:var(--sand);padding:10px 14px;border-radius:9px;margin:0}.rental-notice{border-left:3px solid var(--sea);padding:14px 20px;background:var(--sand)}

/* v6 enquiry forms */
.enquiry-box{margin-top:48px;padding:28px;border:1px solid #dbe7e4;border-radius:16px;background:#f6faf9}.enquiry-box h2{margin-top:0}.enquiry-box form{display:grid;gap:10px;max-width:640px}.enquiry-box input:not([type=checkbox]),.enquiry-box textarea{width:100%;padding:12px;border:1px solid #a6bfba;border-radius:7px;background:#fff;font:inherit}.field-label{font-weight:700;margin-top:9px}.consent{display:flex;align-items:flex-start;gap:10px;margin:12px 0}.enquiry-box button{border:0;cursor:pointer;justify-self:start;font:inherit}.form-message{border-left:4px solid #087e82;padding:12px;background:#fff}.honeypot{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

/* v8 contact CTAs */
.btn-whatsapp{background:#dcf6e7;color:#0c5635;border:1px solid #a5d6bb;margin:16px 0;display:inline-block}
.btn-whatsapp:hover{background:#c4edd4}
.header-whatsapp{white-space:nowrap;text-decoration:none;background:#e7f6ed;border-radius:8px;padding:10px 14px;color:#155c38;font-weight:750;font-size:.9rem}
.hero-whatsapp{margin-top:8px}
@media(max-width:1000px){.header-whatsapp{display:none}}

/* v9: responsive catalogs */
.catalog-filter,.car-filter{display:flex;flex-wrap:wrap;align-items:end;gap:16px;background:#f6f4ee;padding:22px;border-radius:14px;margin:28px 0 34px}.catalog-filter label,.car-filter label{display:grid;gap:6px;font-weight:700;flex:1 1 220px}.catalog-filter input,.catalog-filter select,.car-filter input{width:100%;min-height:46px;border:1px solid #b7c9c6;border-radius:8px;background:white;padding:10px 12px;font:inherit}.catalog-filter .btn,.car-filter .btn{border:0;cursor:pointer;min-height:46px;margin:0}.catalog-card{padding:0;overflow:hidden}.catalog-card img{width:100%;height:210px;object-fit:cover;display:block}.catalog-card-body{padding:24px}.catalog-card h2{font-size:1.25rem;margin:0 0 10px}.catalog-card h2 a{text-decoration:none;color:var(--ink)}.catalog-link{display:inline-block;margin-top:18px;font-weight:800}.catalog-grid{align-items:stretch}.catalog-grid>.card{min-width:0}.enquiry-box input,.enquiry-box textarea{max-width:100%;width:100%;border:1px solid #b7c9c6;padding:12px;border-radius:7px}.enquiry-box .field-label{display:block;margin-top:12px;font-weight:700}.enquiry-box .consent input{width:auto}.honeypot{position:absolute;left:-9999px}

/* v11: accessible form feedback and keyboard focus */
:where(a,button,input,textarea,select):focus-visible{outline:3px solid #f4b65d;outline-offset:3px}
.form-message{padding:15px 18px;border-left:4px solid #087e82;background:#eef8f6;border-radius:6px}
.enquiry-box input:not([type=checkbox]),.enquiry-box textarea{width:100%;max-width:100%;padding:12px;border:1px solid #9bb5b6;border-radius:7px;font:inherit}
.enquiry-box .field-label{display:block;margin-top:16px;font-weight:700}
.enquiry-box .consent{display:flex;gap:10px;align-items:flex-start;margin-top:20px}
.enquiry-box .form-privacy{font-size:.9rem;color:#587078}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
/* v12 nature-inspired discovery */
.bbt-discovery-hero{background:linear-gradient(120deg,#123c35,#1a7164);color:white;padding:75px 0}.bbt-hero-layout{display:grid;grid-template-columns:1.1fr .9fr;gap:45px;align-items:center}.bbt-hero-copy h1{font-size:clamp(2.7rem,5vw,5rem);line-height:1.1}.bbt-hero-copy p{max-width:620px}.bbt-hero-search{background:#fff;color:#173b35;border-radius:16px;padding:18px;margin-top:28px}.bbt-hero-search label{display:block;font-weight:700;margin-bottom:9px}.bbt-search-fields{display:flex;gap:9px}.bbt-search-fields input{min-width:0;flex:1;padding:13px;border:1px solid #bbcfc4;border-radius:8px;font:inherit}.bbt-search-fields button{background:#e5b575;border:0;border-radius:8px;padding:12px 18px;font-weight:700;cursor:pointer}.bbt-hero-link{color:#fff;display:inline-block;margin-top:18px}.bbt-landscape{height:390px;position:relative;overflow:hidden;border-radius:22px;background:linear-gradient(#b1d8c4,#e3d4a9)}.bbt-sun{position:absolute;top:14%;right:16%;width:125px;height:125px;background:#ffe7a6;border-radius:50%}.bbt-hill{position:absolute;left:-15%;bottom:-5%;width:130%;height:65%;clip-path:polygon(0 90%,18% 35%,39% 70%,61% 10%,80% 60%,100% 40%,100% 100%,0 100%)}.bbt-hill-one{background:#69a18c}.bbt-hill-two{background:#236857;transform:scaleX(-1);bottom:-23%}.bbt-landscape-label{position:absolute;bottom:18px;left:22px;color:#fff;font-size:.75rem;font-weight:800;letter-spacing:.15em}.bbt-discovery-grid,.bbt-experience-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:30px 0}.bbt-discovery-card{display:flex;flex-direction:column;justify-content:end;min-height:195px;padding:22px;border-radius:14px;color:white;text-decoration:none;background:linear-gradient(135deg,#5d977f,#164a51)}.bbt-discovery-card:nth-child(2n){background:linear-gradient(135deg,#b08c60,#426e64)}.bbt-discovery-card:nth-child(3n){background:linear-gradient(135deg,#6395a0,#275a74)}.bbt-discovery-card h3{font-size:1.4rem;margin:12px 0}.bbt-experience-card{display:flex;align-items:center;gap:12px;padding:20px;border-radius:12px;background:#fff;border:1px solid #dce7df;color:#164a44;text-decoration:none;font-weight:700}.bbt-experience-card span:last-child{margin-left:auto}.bbt-rental-band{display:grid;grid-template-columns:1.2fr .8fr;gap:25px;align-items:center;padding:36px;border-radius:20px;background:#e8f0e8}.bbt-road-art{height:225px;border-radius:16px;background:radial-gradient(circle at 75% 25%,#f6da97 0 36px,transparent 37px),linear-gradient(145deg,#8ab99d,#377b68)}.bbt-final-cta{background:#12443b;color:white;padding:65px 0;text-align:center}.bbt-cta-actions{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}.bbt-discovery-card:focus-visible,.bbt-experience-card:focus-visible,.bbt-search-fields button:focus-visible{outline:3px solid #eebd69;outline-offset:3px}@media(max-width:800px){.bbt-hero-layout,.bbt-rental-band{grid-template-columns:1fr}.bbt-landscape{height:260px}.bbt-discovery-grid,.bbt-experience-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:550px){.bbt-discovery-grid,.bbt-experience-grid{grid-template-columns:1fr}.bbt-search-fields{flex-direction:column}}

/* v13: independent tour detail experience */
.bbt-tour-layout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(300px,.75fr);gap:34px;align-items:start;margin:25px 0 50px}
.bbt-tour-main h1{font-size:clamp(2.1rem,4vw,3.2rem);line-height:1.12}.bbt-tour-image img{width:100%;max-height:510px;object-fit:cover;border-radius:18px}
.bbt-tour-facts{display:flex;flex-wrap:wrap;gap:12px;margin:22px 0}.bbt-tour-facts>div{background:#edf3ed;border-radius:12px;padding:13px 18px;display:flex;flex-direction:column;min-width:150px}.bbt-tour-facts span{font-size:.9rem}
.bbt-tour-section{margin:35px 0}.bbt-timeline{list-style:none;padding:0 0 0 24px;border-left:2px solid #86b6a0}.bbt-timeline li{position:relative;display:flex;gap:18px;margin:0 0 18px;padding-left:12px}.bbt-timeline li:before{content:'';position:absolute;left:-31px;top:8px;background:#087e82;width:12px;height:12px;border-radius:50%}.bbt-timeline strong{min-width:52px}
.bbt-feature-list{padding-left:22px}.bbt-feature-list li{margin:7px 0}.bbt-tour-booking{position:sticky;top:20px;border:1px solid #dce8de;border-radius:20px;padding:24px;background:#fff;box-shadow:0 10px 35px #143d2812}.bbt-tour-booking h2{font-size:1.5rem}.bbt-ticket-list{list-style:none;padding:0}.bbt-ticket-list li{padding:13px 0;border-bottom:1px solid #e3ebe7;display:flex;flex-direction:column}.bbt-ticket-list small{color:#5b716e}.bbt-tour-booking .enquiry-box{padding:0;border:0;box-shadow:none}.bbt-tour-booking input,.bbt-tour-booking textarea,.bbt-tour-booking select{max-width:100%;width:100%;padding:10px;border:1px solid #bfcfc8;border-radius:7px}.bbt-tour-booking input[type=checkbox]{width:auto}.bbt-tour-booking .btn{margin:12px 0}
@media(max-width:900px){.bbt-tour-layout{grid-template-columns:1fr}.bbt-tour-booking{position:static}}

/* v14 catalog accessibility */
.catalog-filter select,.catalog-filter input{max-width:100%;min-height:44px}.bbt-result-count{font-weight:700;margin:22px 0}.catalog-card h2{font-size:1.2rem}.catalog-card img{aspect-ratio:4/3;object-fit:cover}.catalog-card a:focus-visible{outline:3px solid #0b776b;outline-offset:3px}

/* v16: Rental product layout (distinct from competitor, no unverified claims) */
.bbt-rental-detail{max-width:1160px}.bbt-rental-heading{max-width:790px;margin-bottom:28px}.bbt-rental-heading h1{font-size:clamp(2rem,4vw,3.25rem);margin:8px 0}.bbt-rental-heading>p:last-child{color:var(--muted)}
.bbt-rental-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(270px,.85fr);gap:38px;align-items:start}.bbt-rental-content{min-width:0}
.bbt-rental-main-photo img{width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:18px}.bbt-rental-thumbs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:10px}.bbt-rental-thumbs img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:9px}
.bbt-rental-section{border-bottom:1px solid #dbe7e4;padding:25px 0}.bbt-rental-section h2{font-size:1.45rem}.bbt-rental-section li{margin-bottom:8px}.bbt-rental-panel{border:1px solid #dbe7e4;border-radius:18px;padding:26px;background:#f7faf7;position:sticky;top:25px}.bbt-rental-panel h2{margin:0 0 20px}.bbt-rental-panel dl{margin:0}.bbt-rental-panel dl>div{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid #dbe7e4;padding:11px 0}.bbt-rental-panel dt{font-weight:700}.bbt-rental-panel dd{margin:0;text-align:right}.bbt-rental-price-note{font-size:.95rem;color:var(--muted)}.bbt-rental-panel .btn-whatsapp{display:block;text-align:center}.bbt-rental-enquiry-link{display:block;margin-top:12px;text-align:center;font-weight:700}
@media(max-width:780px){.bbt-rental-layout{grid-template-columns:1fr}.bbt-rental-panel{position:static}.bbt-rental-thumbs{grid-template-columns:repeat(3,minmax(0,1fr))}}


/* BookBaliTrips v19: optional tour price quotation panel */
.bbt-price-panel{border:1px solid #d7e4dc;background:#f6faf6;border-radius:15px;padding:19px;margin:20px 0;color:#173d35}
.bbt-price-panel h3{margin:0 0 10px}.bbt-price-panel label{display:block;font-weight:700;margin:10px 0 5px}
.bbt-price-panel select{width:100%;border:1px solid #9ab4a8;border-radius:8px;padding:11px;background:white;color:#173d35}
.bbt-price-panel dl{display:grid;grid-template-columns:1fr auto;gap:7px;margin:18px 0}.bbt-price-panel dd{margin:0;text-align:right;font-variant-numeric:tabular-nums}
.bbt-price-panel .bbt-grand{font-weight:800;font-size:1.1rem;border-top:1px solid #c6d9cc;padding-top:12px}
.bbt-price-panel .bbt-disclaimer{font-size:.85rem;line-height:1.55;color:#516c62}
.bbt-price-panel a.bbt-quote-wa{display:block;text-align:center;background:#116d5c;color:white;text-decoration:none;padding:13px;border-radius:9px;font-weight:750}
.bbt-price-panel a.bbt-quote-wa:focus-visible{outline:3px solid #d8a451;outline-offset:3px}

.bbt-rental-usd-price{font-size:2.4rem;font-weight:800;color:#17675b;margin:6px 0}.bbt-rental-usd-price small{font-size:1rem}.bbt-car-card-price{font-weight:750;color:#17675b}
