/* BTP Core — design tokens sampled LIVE from balitourplaces.com's current inline :root (2026-09-04).
   Note: the source site's admin can change these anytime via its color-settings panel;
   these are the values in effect when this file was written. */
:root{
  --btp-brand:#eb5200;
  --btp-brand-alt:#bd4200;
  --btp-heading:#071b3a;
  --btp-text:#676685;
  --btp-primary-bg:#fff;
  --btp-secondary-bg:#fffcfa;
  --btp-border:#ebebf5;
  --btp-subtle-bg:#f8f4f1;
  --btp-extra:#121c49;
  --btp-footer-bg:#071b32;
  --btp-footer-text:#dbe7f5;
  --btp-review-bg:#fff6f0;
  --btp-why-icon-border:#ffeadb;
  --btp-subscribe-bg:#ffe0cc;
  --btp-subscribe-text:#071b3a;
  --btp-radius:16px;
  --btp-container:1180px;
  --btp-pad:24px;
  --btp-green-bg:#f0fdf4;
  --btp-green-text:#15803d;
  --btp-green-border:#86efac;
  --btp-blue-text:#1d4ed8;
  --btp-blue-icon:#2563eb;
  --btp-blue-border:#bfdbfe;
  --btp-orange-badge-bg:#fff7ed;
  --btp-orange-badge-text:#c2410c;
  --btp-orange-badge-border:#fed7aa;
  --btp-red-bg:#fee2e2;
  --btp-red-text:#dc2626;
  --btp-font:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
}

.btp-shell{width:min(var(--btp-container),calc(100% - (var(--btp-pad) * 2)));margin-inline:auto}

/* Reset browser/theme/Elementor default <button> chrome — verified via a
   headless-browser computed-style check that Elementor's own frontend CSS
   (a broad "button" rule with a pink border + 8px/16px padding) was beating
   our single-class selectors and turning 32px circles into 54x32 boxes.
   Every property here MUST be !important to win that fight, matching the
   defensive pattern the source site's own CSS uses throughout. */
.btp-card-heart,.btp-ta-heart,.btp-arrow,.btp-pill-action,.btp-pill-account,
.btp-review-more,.btp-popover-close,.btp-review-cta a,.btp-search button,
.btp-contact-form button,.btp-ta-newsletter button,.btp-mobile-toggle-btn,
.btp-ta-chip-scroll-btn{
  box-sizing:border-box!important;margin:0!important;padding:0!important;font:inherit!important;
  line-height:1!important;-webkit-appearance:none!important;appearance:none!important;
  text-transform:none!important;letter-spacing:normal!important;
}

/* ---------- Section spacing ---------- */
.btp-hero,.btp-why,.btp-categories,.btp-tour-section,.btp-reviews,.btp-inspiration{
  padding:56px 0;font-family:var(--btp-font);
}
.btp-why{background:var(--btp-secondary-bg)}
.btp-reviews{background:var(--btp-review-bg)}

.btp-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:28px;flex-wrap:wrap}
.btp-section-head small{display:inline-flex;align-items:center;gap:6px;text-transform:uppercase;font-size:12px;font-weight:700;letter-spacing:.04em;color:var(--btp-brand)}
.btp-section-head h2{margin:6px 0 4px;font-size:clamp(24px,3vw,32px);font-weight:800;color:var(--btp-heading);letter-spacing:-.02em}
.btp-section-head p{margin:0;color:var(--btp-text)}
.btp-view-all{align-self:center;font-weight:700;color:var(--btp-brand);text-decoration:none;white-space:nowrap}
.btp-view-all:hover{text-decoration:underline}

.btp-row-controls{display:flex;align-items:center;gap:16px}
.btp-arrow-group{display:flex;gap:8px}
.btp-arrow{display:inline-flex!important;align-items:center!important;justify-content:center!important;width:38px!important;height:38px!important;border-radius:50%!important;background:#fff!important;border:1px solid var(--btp-border)!important;color:var(--btp-brand)!important;cursor:pointer;flex:0 0 auto}
.btp-arrow:hover{background:var(--btp-subtle-bg)}
.btp-arrow .dashicons{font-size:16px;width:16px;height:16px}

/* ---------- Hero ---------- */
.btp-hero{background:linear-gradient(180deg,var(--btp-secondary-bg),#fff)}
.btp-hero-grid{display:grid;grid-template-columns:1.35fr 1fr;gap:48px;align-items:center}
.btp-hero-copy h1{font-size:clamp(34px,4vw,52px);font-weight:800;color:var(--btp-heading);letter-spacing:-.025em;line-height:1.1;margin:0 0 16px}
.btp-hero-copy > p{font-size:16px;color:var(--btp-text);max-width:560px;margin:0 0 20px}
.btp-review-total{display:inline-flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--btp-border);border-radius:999px;padding:8px 16px;margin-bottom:20px;font-size:13px;color:var(--btp-text)}
.btp-review-total .btp-google-logo{width:20px;height:20px}
.btp-review-total strong{color:var(--btp-heading)}
.btp-stars{color:#fbbc05;letter-spacing:1px}

.btp-search{display:flex;align-items:center;gap:10px;background:#fff;border:1px solid var(--btp-border);border-radius:14px;padding:6px 6px 6px 16px;box-shadow:0 8px 24px rgba(7,27,58,.06);max-width:520px;margin-bottom:24px}
.btp-search .dashicons{color:var(--btp-text)}
.btp-search input{flex:1;border:0!important;outline:0!important;box-shadow:none!important;-webkit-appearance:none;appearance:none;font-size:15px;padding:10px 0;background:transparent!important}
.btp-search input::-webkit-search-decoration,.btp-search input::-webkit-search-cancel-button{-webkit-appearance:none}
.btp-search button{background:var(--btp-brand)!important;color:#fff!important;border:0!important;border-radius:10px!important;padding:12px 22px!important;font-weight:700;cursor:pointer}
.btp-search button:hover{background:var(--btp-brand-alt)}

.btp-trust{list-style:none;display:flex;flex-wrap:wrap;gap:12px 20px;padding:0;margin:0;font-size:14px;color:var(--btp-heading);font-weight:600}
.btp-trust li{display:flex;align-items:center;gap:6px}
.btp-trust li::before{content:"✓";color:var(--btp-brand);font-weight:800}

/* The outer block owns the ONLY aspect-ratio, giving it one definite pixel
   height with no dependency on its children. Both columns then just stretch
   to fill that 100% height. Putting aspect-ratio on the children instead
   (an earlier attempt) created a circular sizing conflict between flex
   stretch and aspect-ratio that left a visible empty gap — confirmed via a
   headless-browser bounding-box check, not a guess. */
.btp-hero-visuals{display:flex;gap:16px;aspect-ratio:16/10}
.btp-hero-visual-main,.btp-hero-visual-small{position:relative;display:block;border-radius:var(--btp-radius);overflow:hidden;background:var(--btp-subtle-bg)}
.btp-hero-visual-main{flex:1.3 1 0;min-width:0}
.btp-hero-visual-stack{flex:1 1 0;min-width:0;display:flex;flex-direction:column;gap:16px}
.btp-hero-visual-small{flex:1 1 0;min-height:0}
.btp-hero-visual-main img,.btp-hero-visual-small img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s ease}
.btp-hero-visual-main:hover img,.btp-hero-visual-small:hover img{transform:scale(1.08)}
.btp-hero-visual-title{position:absolute;left:0;right:0;bottom:0;padding:28px 16px 14px;background:linear-gradient(180deg,rgba(7,27,58,0) 0%,rgba(7,27,58,.72) 100%);color:#fff;font-weight:800;font-size:15px;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.btp-hero-visual-small .btp-hero-visual-title{font-size:13px;padding:22px 12px 10px}

/* ---------- Why choose us ---------- */
.btp-why-kicker{display:inline-flex;align-items:center;gap:6px;text-transform:uppercase;font-size:12px;font-weight:700;letter-spacing:.04em;color:var(--btp-brand);margin-bottom:6px}
.btp-why-subtitle{margin:6px 0 24px;color:var(--btp-text);font-size:15px}
.btp-why-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.btp-why-card{background:#fff;border-radius:var(--btp-radius);padding:24px;border:1px solid var(--btp-border)}
.btp-why-icon{width:56px;height:56px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--btp-secondary-bg);box-shadow:inset 0 0 0 1px var(--btp-why-icon-border);margin-bottom:16px}
.btp-why-icon .dashicons{color:var(--btp-brand);font-size:26px;width:26px;height:26px}
.btp-why-card h3{margin:0 0 8px;font-size:17px;font-weight:700;color:var(--btp-heading)}
.btp-why-card p{margin:0;color:var(--btp-text);font-size:14px;line-height:1.6}

/* ---------- Categories / chips (homepage) ---------- */
.btp-chip-row{gap:12px}
.btp-chip{background:var(--btp-subtle-bg);color:var(--btp-heading);border-radius:999px;padding:8px 16px;font-size:13px;font-weight:600;text-decoration:none;white-space:nowrap;flex:0 0 auto}
.btp-chip:hover{background:var(--btp-border)}
.btp-chip.is-active{background:var(--btp-heading);color:#fff}

/* "Destination" icon row — mobile-only (see PHP note above the shortcode) */
.btp-categories-mobile{display:none;padding:32px 0}
.btp-cat-icon-row{gap:12px}
.btp-cat-icon{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;flex:0 0 auto;width:68px;height:68px;border-radius:16px;border:1px solid var(--btp-border);background:#fff;text-decoration:none;color:var(--btp-heading)}
.btp-cat-icon .dashicons{font-size:20px;width:20px;height:20px;color:var(--btp-brand)}
.btp-cat-icon em{font-style:normal;font-size:10.5px;font-weight:600;text-align:center;line-height:1.15;padding:0 4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.btp-cat-icon.is-active{background:var(--btp-brand);border-color:var(--btp-brand)}
.btp-cat-icon.is-active .dashicons,.btp-cat-icon.is-active em{color:#fff}
@media(max-width:980px){.btp-categories-mobile{display:block}}

/* ---------- Scroll rows (chips + card grids) ---------- */
.btp-scroll-row{display:flex;gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding-bottom:8px}
.btp-scroll-row::-webkit-scrollbar{display:none}
.btp-scroll-row > *{scroll-snap-align:start;flex:0 0 auto}
.btp-card-row > .btp-card,.btp-review-row > .btp-review-card{width:280px}
@media(min-width:981px){
  .btp-card-row > .btp-card,.btp-review-row > .btp-review-card{width:calc((100% - 60px)/4)}
}

/* ---------- Tour card (grid style, used in homepage rows) ---------- */
.btp-card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--btp-border);border-radius:var(--btp-radius);overflow:hidden;cursor:pointer;box-shadow:0 8px 24px rgba(7,27,58,.06);transition:transform .25s ease,box-shadow .25s ease}
.btp-card:hover{transform:translateY(-4px);box-shadow:0 16px 36px rgba(7,27,58,.12)}
.btp-card-image-link{display:block}
.btp-card-title a{color:inherit;text-decoration:none}
.btp-card-media{position:relative!important;aspect-ratio:4/3!important;overflow:hidden!important;background:var(--btp-subtle-bg)}
.btp-card-media img{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;max-width:100%!important;object-fit:cover!important;object-position:center!important;display:block!important;margin:0!important}
.btp-card-badge{position:absolute;left:12px;top:12px;background:var(--btp-brand);color:#fff;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.02em;padding:5px 12px;border-radius:999px;z-index:2}
.btp-card-heart{position:absolute!important;top:10px!important;right:10px!important;left:auto!important;bottom:auto!important;width:32px!important;height:32px!important;border-radius:50%!important;background:rgba(255,255,255,.92)!important;border:0!important;display:flex!important;align-items:center!important;justify-content:center!important;color:var(--btp-heading)!important;z-index:2;cursor:pointer}
.btp-card-heart.is-active,.btp-ta-heart.is-active{color:#dc2626}
.btp-card-body{padding:16px 16px 8px;flex:1}
.btp-card-location{display:flex;align-items:center;gap:4px;font-size:12px;color:var(--btp-text);margin-bottom:6px}
.btp-card-location .dashicons{font-size:14px;width:14px;height:14px;color:var(--btp-brand)}
.btp-card-title{margin:0 0 8px;font-size:16px;font-weight:700;color:var(--btp-heading);line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.btp-card-flags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}
.btp-flag{display:inline-flex;align-items:center;gap:3px;font-size:10.5px;font-weight:800;padding:3.5px 8px;border-radius:999px;border:1px solid transparent;white-space:nowrap}
.btp-flag .dashicons{font-size:11px;width:11px;height:11px}
.btp-flag-green{background:var(--btp-green-bg);color:var(--btp-green-text);border-color:var(--btp-green-border)}
.btp-flag-blue{background:var(--btp-subtle-bg);color:var(--btp-blue-text);border-color:var(--btp-blue-border)}
.btp-flag-blue .dashicons{color:var(--btp-blue-icon)}
.btp-flag-orange{background:var(--btp-orange-badge-bg);color:var(--btp-orange-badge-text);border-color:var(--btp-orange-badge-border)}
.btp-flag-orange .dashicons{color:var(--btp-brand)}
.btp-flag-gray{background:var(--btp-subtle-bg);color:var(--btp-text);border-color:var(--btp-border)}
.btp-card-info{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--btp-text);margin-bottom:8px}
.btp-card-info span{display:flex;align-items:center;gap:6px}
.btp-card-info .dashicons{font-size:14px;width:14px;height:14px;color:var(--btp-brand)}
.btp-card-footer{display:flex;align-items:flex-end;justify-content:space-between;gap:8px;padding:12px 16px 16px;border-top:1px solid var(--btp-border)}
.btp-card-price small{display:block;color:var(--btp-text);font-size:11px}
.btp-card-price del{color:var(--btp-text);font-size:13px}
.btp-price-row{display:flex;align-items:center;gap:8px}
.btp-price-row strong{color:var(--btp-heading);font-size:19px;font-weight:800}
.btp-save{background:var(--btp-red-bg);color:var(--btp-red-text);font-size:11px;font-weight:700;padding:2px 8px;border-radius:999px;font-style:normal}
.btp-card-rating{display:flex;flex-direction:column;align-items:flex-end;font-size:11px;color:var(--btp-text)}
.btp-card-rating .btp-star{color:#fbbc05}
.btp-card-rating strong{color:var(--btp-heading);font-size:13px}

/* ---------- Reviews ("Loved by Travelers") ---------- */
.btp-review-kicker{gap:8px;color:var(--btp-brand)}
.btp-google-logo-sm{width:16px;height:16px}
.btp-site-monogram{display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:var(--btp-heading);color:#fff;font-weight:800;line-height:1}
.btp-site-monogram-sm{width:16px;height:16px;font-size:9px}
.btp-site-monogram-card{width:22px;height:22px;font-size:11px}
.btp-review-row{align-items:stretch}
.btp-review-card{background:#fff;border:1px solid var(--btp-border);border-radius:var(--btp-radius);padding:20px;display:flex;flex-direction:column;gap:10px;position:relative}
.btp-review-top{display:flex;align-items:center;justify-content:space-between}
.btp-review-source{display:inline-flex;width:22px;height:22px}
.btp-review-source svg{width:22px;height:22px}
.btp-review-source .dashicons{color:var(--btp-brand)}
.btp-review-text{margin:0;color:var(--btp-heading);font-size:14px;line-height:1.6;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
.btp-review-more{align-self:flex-start;background:none!important;border:0!important;outline:0!important;box-shadow:none!important;padding:0!important;color:var(--btp-brand)!important;font-weight:700;font-size:13px;cursor:pointer;text-decoration:none}
.btp-review-author{display:flex;align-items:center;gap:10px;margin-top:auto}
.btp-review-author img{width:40px;height:40px;border-radius:50%;object-fit:cover}
.btp-review-avatar-letter{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:15px;flex:0 0 40px}
.btp-review-author span{display:flex;flex-direction:column;font-size:13px;font-weight:700;color:var(--btp-heading)}
.btp-review-author small{color:var(--btp-text);font-weight:400}
.btp-review-cta{display:flex;justify-content:center;gap:14px;flex-wrap:wrap;margin-top:32px}
.btp-review-cta a{display:inline-flex!important;align-items:center!important;gap:8px!important;padding:13px 24px!important;border-radius:999px!important;font-weight:800;font-size:14.5px;text-decoration:none!important;line-height:1.2!important;height:auto!important}
.btp-review-cta svg{width:18px!important;height:18px!important;flex:0 0 18px}
.btp-review-cta-primary{background:var(--btp-brand)!important;color:#fff!important;border:0!important;box-shadow:0 12px 26px rgba(235,82,0,.28)}
.btp-review-cta-primary:hover{background:var(--btp-brand-alt)!important;color:#fff!important}
.btp-review-cta-secondary{background:#fff!important;color:var(--btp-heading)!important;border:1px solid var(--btp-border)!important}
.btp-review-cta-secondary:hover{background:var(--btp-subtle-bg)!important}

/* ---------- Travel Inspiration ---------- */
.btp-article-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.btp-article-card{display:block;text-decoration:none;color:inherit}
.btp-article-media{display:block;border-radius:var(--btp-radius);overflow:hidden;background:var(--btp-subtle-bg)}
.btp-article-media img{width:100%;aspect-ratio:16/11;object-fit:cover;display:block}
.btp-article-eyebrow{display:block;margin:14px 0 6px;color:var(--btp-brand);font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}
.btp-article-card h3{margin:0;font-size:19px;font-weight:800;color:var(--btp-heading);line-height:1.3}

/* ---------- Floating chat button ---------- */
.btp-floating-wa{position:fixed;right:16px;bottom:76px;z-index:9990;display:flex;align-items:center;justify-content:center;width:56px;height:56px;background:var(--btp-brand);color:#fff;text-decoration:none;border-radius:999px;box-shadow:0 12px 28px rgba(235,82,0,.35)}
.btp-floating-wa .dashicons{font-size:26px;width:26px;height:26px}
.btp-wa-text{display:none}
@media(min-width:981px){.btp-floating-wa{bottom:24px}}

/* ---------- Mobile bottom nav ---------- */
.btp-bottom-nav{display:none}
@media(max-width:980px){
  .btp-bottom-nav{
    position:fixed!important;left:0!important;right:0!important;bottom:0!important;top:auto!important;
    z-index:9980;display:grid;grid-template-columns:repeat(5,1fr);
    background:#fff;border-top:1px solid var(--btp-border);padding:8px 0 calc(8px + env(safe-area-inset-bottom));
  }
  .btp-bottom-nav a,.btp-bottom-nav button{
    box-sizing:border-box!important;margin:0!important;padding:0!important;border:0!important;background:none!important;
    display:flex;flex-direction:column;align-items:center;gap:3px;font-size:10px;font-family:inherit;
    font-weight:800!important;text-transform:uppercase;letter-spacing:.02em;
    color:var(--btp-text)!important;text-decoration:none;position:relative;cursor:pointer;
  }
  .btp-bottom-nav .dashicons{color:var(--btp-text);font-size:22px;width:22px;height:22px}
  .btp-bottom-nav .btp-badge{position:absolute;top:-4px;right:calc(50% - 18px)}
  body{padding-bottom:64px}
}

/* ---------- Mobile-only cover hero (see PHP note above the shortcode) ---------- */
.btp-hero-mobile{display:none}
@media(max-width:980px){
  .btp-hero{display:none}
  .btp-hero-mobile{
    display:block;position:relative;height:min(78vh,620px);min-height:460px;overflow:hidden;
    font-family:var(--btp-font);
  }
  .btp-hero-mobile-track{position:absolute;inset:0}
  .btp-hero-mobile-slide{position:absolute;inset:0;background-size:cover;background-position:center;background-color:var(--btp-subtle-bg);opacity:0;animation:btp-hero-fade 12s infinite ease-in-out}
  .btp-hero-mobile-slide:nth-child(1){animation-delay:0s}
  .btp-hero-mobile-slide:nth-child(2){animation-delay:-8s}
  .btp-hero-mobile-slide:nth-child(3){animation-delay:-4s}
  .btp-hero-mobile-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(7,27,58,.05) 0%,rgba(7,27,58,.2) 45%,rgba(7,27,58,.92) 100%)}
  .btp-hero-mobile-copy{position:absolute;left:0;right:0;bottom:34px;padding:0 20px;color:#fff;z-index:1}
  .btp-hero-mobile-copy h1{margin:0 0 10px;font-size:clamp(24px,7vw,30px);font-weight:800;line-height:1.15;color:#fff;text-wrap:balance}
  .btp-hero-mobile-copy p{margin:0 0 14px;font-size:13.5px;color:rgba(255,255,255,.86);line-height:1.5;max-width:34em}
  .btp-hero-mobile-rating{display:flex;align-items:center;gap:6px;margin-bottom:16px;font-size:13px;color:#fff;font-weight:600}
  .btp-hero-mobile-rating .btp-stars{color:#fbbc05;letter-spacing:1px}
  .btp-hero-mobile-actions{display:flex;gap:10px}
  .btp-hero-mobile-actions a{flex:1;box-sizing:border-box;display:flex;align-items:center;justify-content:center;gap:7px;padding:13px;border-radius:999px;font-weight:700;font-size:14px;text-decoration:none}
  .btp-hero-mobile-actions .is-secondary{background:#25D366;color:#fff}
  .btp-hero-mobile-actions .is-primary{background:var(--btp-brand);color:#fff}
  .btp-hero-mobile-dots{position:absolute;bottom:14px;left:0;right:0;display:flex;justify-content:center;gap:6px;z-index:1}
  .btp-hero-mobile-dots span{width:6px;height:6px;border-radius:50%;background:rgba(255,255,255,.5)}
  .btp-hero-mobile-dots span:first-child{background:#fff;width:16px;border-radius:3px}
}
@keyframes btp-hero-fade{0%,8%{opacity:0}14%,28%{opacity:1}34%,100%{opacity:0}}

/* ---------- Responsive ---------- */
@media(max-width:980px){
  .btp-hero-grid{grid-template-columns:1fr}
  .btp-hero-visuals{display:none}
  .btp-why-grid{grid-template-columns:repeat(2,1fr)}
  .btp-article-grid{grid-template-columns:repeat(2,1fr);gap:14px}
  .btp-card-row > .btp-card,.btp-review-row > .btp-review-card{width:78%}
}

/* ---------- Footer (used by the theme's footer.php) ---------- */
.btp-footer{background:var(--btp-footer-bg);color:var(--btp-footer-text);padding:48px 0 20px;font-family:var(--btp-font)}
.btp-footer .btp-shell{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:32px}
.btp-footer strong{font-size:18px;color:#fff}
.btp-footer p{color:#9aa5b8;font-size:14px;line-height:1.6}
.btp-footer h3{color:#fff;font-size:15px;margin:0 0 12px}
.btp-footer a{display:block;color:#c6cedb;text-decoration:none;font-size:14px;margin-bottom:8px}
.btp-footer a:hover{color:#fff}
.btp-footer-payments{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.btp-footer-payments span{background:rgba(255,255,255,.08);color:#fff;font-size:11px;font-weight:700;padding:4px 10px;border-radius:6px}
.btp-footer-bottom{border-top:1px solid rgba(255,255,255,.1);margin-top:32px;padding-top:16px;display:flex;flex-wrap:wrap;gap:8px 24px;font-size:12.5px;color:#9aa5b8}
@media(max-width:980px){.btp-footer .btp-shell{grid-template-columns:1fr}}

/* ==================================================================== */
/* Tour archive (/tours/ and /tour-category/*) — sidebar + list layout,  */
/* matching balitourplaces.com/tours/ structure (btbs-ta-* classes)      */
/* ==================================================================== */

.btp-ta-hero{padding:44px 0 28px;font-family:var(--btp-font)}
.btp-ta-hero .btp-ta-kicker{margin:0 0 6px;text-transform:uppercase;font-size:12px;font-weight:800;letter-spacing:.05em;color:var(--btp-brand)}
.btp-ta-hero h1{margin:0 0 8px;font-size:clamp(28px,3.5vw,38px);font-weight:800;color:var(--btp-heading);letter-spacing:-.02em}
.btp-ta-hero > .btp-shell > p{margin:0 0 20px;color:var(--btp-text)}

.btp-ta-content{padding:8px 0 56px;font-family:var(--btp-font)}
.btp-ta-count-row{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:18px;flex-wrap:wrap}
.btp-ta-count-row h2{margin:0;font-size:22px;font-weight:800;color:var(--btp-heading)}
.btp-ta-count-row > span{color:var(--btp-text);font-size:13.5px;font-weight:600}

.btp-ta-chip-row-wrap{position:relative;margin-bottom:24px}
.btp-ta-chip-row{gap:10px;margin-bottom:0}
.btp-ta-chip-row-wrap:before,.btp-ta-chip-row-wrap:after{content:"";position:absolute;top:0;bottom:0;width:48px;pointer-events:none;z-index:1}
.btp-ta-chip-row-wrap:before{left:0;background:linear-gradient(to right,var(--btp-primary-bg,#fff),transparent)}
.btp-ta-chip-row-wrap:after{right:0;background:linear-gradient(to left,var(--btp-primary-bg,#fff),transparent)}
.btp-ta-chip-scroll-btn{position:absolute!important;top:50%!important;transform:translateY(-50%)!important;z-index:2;display:flex!important;align-items:center!important;justify-content:center!important;width:32px!important;height:32px!important;border-radius:50%!important;background:#fff!important;border:1px solid var(--btp-border)!important;color:var(--btp-brand)!important;cursor:pointer;box-shadow:0 4px 10px rgba(7,27,58,.12)}
.btp-ta-chip-scroll-btn.is-prev{left:2px}
.btp-ta-chip-scroll-btn.is-next{right:2px}
.btp-ta-chip-scroll-btn .dashicons{font-size:15px;width:15px;height:15px}
.btp-ta-chip{display:inline-flex;align-items:center;gap:7px;background:#fff;color:var(--btp-heading);border:1px solid var(--btp-border);border-radius:999px;padding:10px 16px;font-size:13.5px;font-weight:700;text-decoration:none;white-space:nowrap;flex:0 0 auto}
.btp-ta-chip .dashicons{font-size:15px;width:15px;height:15px;color:var(--btp-text)}
.btp-ta-chip:hover{background:var(--btp-subtle-bg)}
.btp-ta-chip.is-active{background:var(--btp-heading);border-color:var(--btp-heading);color:#fff}
.btp-ta-chip.is-active .dashicons{color:#fff}

.btp-ta-layout{display:grid;grid-template-columns:240px 1fr;gap:28px;align-items:start}
.btp-ta-filter-card{background:#fff;border:1px solid var(--btp-border);border-radius:var(--btp-radius);padding:20px;position:sticky;top:80px}
.btp-ta-filter-card strong{display:block;margin-bottom:14px;color:var(--btp-heading);font-size:15px}
.btp-ta-filter-card a{display:flex;align-items:center;gap:10px;padding:9px 4px;color:var(--btp-text);text-decoration:none;font-size:14px;font-weight:600;border-radius:8px}
.btp-ta-filter-card a:hover{background:var(--btp-subtle-bg);color:var(--btp-heading)}
.btp-ta-filter-card .btp-ta-side-icon{font-size:16px;width:16px;height:16px;color:var(--btp-brand)}

.btp-ta-list{display:flex;flex-direction:column;gap:20px}
.btp-ta-card{display:flex;gap:20px;background:#fff;border:1px solid var(--btp-border);border-radius:var(--btp-radius);padding:16px;text-decoration:none;color:inherit;transition:box-shadow .2s ease}
.btp-ta-card:hover{box-shadow:0 14px 30px rgba(7,27,58,.08)}
.btp-ta-photo{position:relative;flex:0 0 280px;border-radius:12px;overflow:hidden;background:var(--btp-subtle-bg);aspect-ratio:4/3}
.btp-ta-photo img{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;object-fit:cover!important;object-position:center!important;display:block!important;margin:0!important}
.btp-ta-card-body{flex:1;min-width:0;display:flex;flex-direction:column}
.btp-ta-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.btp-ta-title{margin:0;font-size:20px;font-weight:800;color:var(--btp-heading);text-decoration:none;line-height:1.3}
.btp-ta-heart{flex:0 0 auto!important;width:36px!important;height:36px!important;border-radius:50%!important;background:#fff!important;border:1px solid var(--btp-border)!important;display:flex!important;align-items:center!important;justify-content:center!important;color:var(--btp-heading)!important;cursor:pointer}
.btp-ta-location{display:flex;align-items:center;gap:5px;color:var(--btp-text);font-size:13px;margin:6px 0 10px}
.btp-ta-location svg{width:14px;height:14px;flex:0 0 14px}
.btp-ta-badge-line{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px}
.btp-ta-badge{background:var(--btp-subtle-bg);color:var(--btp-heading);border:1px solid var(--btp-border);font-size:11px;font-weight:800;padding:4px 10px;border-radius:999px}
.btp-ta-loop-info{display:flex;flex-wrap:wrap;gap:14px;color:var(--btp-text);font-size:12.5px;margin-bottom:auto}
.btp-ta-loop-info span{display:inline-flex;align-items:center;gap:5px}
.btp-ta-loop-info .dashicons{font-size:14px;width:14px;height:14px;color:var(--btp-brand)}
.btp-ta-bottom{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:14px;padding-top:14px;border-top:1px solid var(--btp-border)}
.btp-ta-rating{display:flex;align-items:center;gap:5px;font-size:13px;color:var(--btp-text)}
.btp-ta-star{color:#fbbc05}
.btp-ta-rating strong{color:var(--btp-heading)}
.btp-ta-price{display:flex;flex-direction:column;align-items:flex-end;gap:2px;text-align:right}
.btp-ta-price small{display:block;color:var(--btp-text);font-size:10.5px;text-transform:uppercase;letter-spacing:.03em;font-weight:700}
.btp-ta-price del{color:var(--btp-text);font-size:13px}
.btp-ta-price .btp-save{margin:2px 0}
.btp-ta-price strong{color:var(--btp-heading);font-size:20px;font-weight:800}

.btp-ta-newsletter{margin-top:44px;padding:40px;border-radius:var(--btp-radius);background:var(--btp-subscribe-bg);color:var(--btp-subscribe-text);text-align:center}
.btp-ta-newsletter h2{margin:0 0 8px;font-size:24px;font-weight:800}
.btp-ta-newsletter p{margin:0 0 20px;opacity:.85}
.btp-ta-newsletter form{display:flex;gap:10px;max-width:420px;margin:0 auto}
.btp-ta-newsletter input{flex:1;border:0;border-radius:10px;padding:12px 16px;font-size:14px}
.btp-ta-newsletter button{background:var(--btp-heading)!important;color:#fff!important;border:0!important;border-radius:10px!important;padding:12px 22px!important;font-weight:700;cursor:pointer}
.btp-ta-newsletter small{display:block;margin-top:14px;opacity:.7;font-size:12px}

@media(max-width:980px){
  .btp-ta-layout{grid-template-columns:1fr}
  .btp-ta-filter-card{display:none}
  .btp-ta-card{flex-direction:column}
  .btp-ta-photo{flex-basis:auto;width:100%}
}

/* ---------- Contact form ---------- */
.btp-contact-form{max-width:560px;font-family:var(--btp-font)}
.btp-contact-form label{display:block;font-weight:600;color:var(--btp-heading);margin-bottom:6px;font-size:14px}
.btp-contact-form input,.btp-contact-form textarea{width:100%;border:1px solid var(--btp-border);border-radius:10px;padding:11px 14px;font:inherit;font-size:14px}
.btp-contact-form button{background:var(--btp-brand)!important;color:#fff!important;border:0!important;border-radius:10px!important;padding:12px 24px!important;font-weight:700;cursor:pointer;font-size:15px}
.btp-contact-form button:hover{background:var(--btp-brand-alt)}
.btp-form-success{background:var(--btp-green-bg);color:var(--btp-green-text);padding:12px 16px;border-radius:10px}
.btp-form-error{background:#fdecec;color:#b3261e;padding:12px 16px;border-radius:10px}

/* ---------- Login / Register (My Account) ---------- */
body.woocommerce-account .page-header{display:none}
.btp-auth-wrap{max-width:460px;margin:56px auto;padding:0 20px;font-family:var(--btp-font)}
.btp-auth-card{background:#fff;border:1px solid var(--btp-border);border-radius:var(--btp-radius);box-shadow:0 20px 50px rgba(7,27,58,.08);padding:40px 36px}
.btp-auth-title{margin:0 0 8px;text-align:center;font-size:30px;font-weight:800;color:var(--btp-heading)}
.btp-auth-subtitle{margin:0 0 24px;text-align:center;color:var(--btp-text);font-size:14.5px}
.btp-auth-google{width:100%;box-sizing:border-box;display:flex;align-items:center;justify-content:center;gap:10px;background:#fff!important;border:1px solid var(--btp-border)!important;border-radius:12px!important;padding:13px!important;font-weight:700!important;font-size:15px;color:var(--btp-heading)!important;cursor:pointer}
.btp-auth-google:hover{background:var(--btp-subtle-bg)!important}
.btp-auth-divider{display:flex;align-items:center;gap:12px;margin:22px 0;color:var(--btp-text);font-size:13px}
.btp-auth-divider:before,.btp-auth-divider:after{content:"";flex:1;height:1px;background:var(--btp-border)}
.btp-auth-field{margin:0 0 18px;position:relative}
.btp-auth-field label{display:block;margin-bottom:7px;font-weight:700;color:var(--btp-heading);font-size:14px}
.btp-auth-field input{width:100%;box-sizing:border-box;background:var(--btp-subtle-bg);border:1px solid transparent;border-radius:10px;padding:13px 14px;font-size:14.5px;font:inherit}
.btp-auth-field input:focus{outline:0;border-color:var(--btp-brand);background:#fff}
/* WordPress auto-wraps password inputs in .password-input with its own
   show/hide toggle button — restyle that native one instead of adding a
   second custom one (an earlier attempt duplicated it and didn't work
   because the wrapper span sits between the input and the button). */
.btp-auth-field-password .password-input{position:relative;display:block}
.btp-auth-field-password .password-input input{padding-right:44px}
.btp-auth-field-password .show-password-input{position:absolute;right:10px;top:50%;transform:translateY(-50%);background:none;border:0;padding:6px;cursor:pointer;color:var(--btp-text)}
.btp-auth-lost{margin:0 0 20px;text-align:left}
.btp-auth-lost a{color:var(--btp-brand);font-weight:700;font-size:13.5px;text-decoration:none}
.btp-auth-lost a:hover{text-decoration:underline}
.btp-auth-submit{width:100%!important;box-sizing:border-box;background:var(--btp-brand)!important;color:#fff!important;border:0!important;border-radius:999px!important;padding:15px!important;font-weight:800!important;font-size:16px;cursor:pointer}
.btp-auth-submit:hover{background:var(--btp-brand-alt)!important}
.btp-auth-switch{margin:20px 0 0;text-align:center;color:var(--btp-text);font-size:14px}
.btp-auth-switch a{color:var(--btp-brand);font-weight:800;text-decoration:none}
.btp-auth-switch a:hover{text-decoration:underline}
.woocommerce-form__input-checkbox{margin-right:6px}
.woocommerce-form-login__rememberme{display:flex;align-items:center;color:var(--btp-text);font-size:13.5px;margin-bottom:14px}

/* ---------- Tour date field on single product page ---------- */
/* Pill-style booking fields (guests / date / pickup / language) — matches
   the source booking card's rounded field look. */
.btp-field-pill{display:flex;align-items:center;gap:12px;background:var(--btp-subtle-bg);border-radius:16px;padding:0 16px;height:56px;margin-bottom:12px}
.btp-field-pill .dashicons{color:var(--btp-heading);flex:0 0 auto;font-size:18px}
.btp-field-pill .btp-globe{flex:0 0 auto;font-size:17px;line-height:1}
.btp-field-pill select,.btp-field-pill input[type=date]{flex:1;border:0;background:transparent;font:inherit;font-weight:700;font-size:14.5px;color:var(--btp-heading);outline:0;cursor:pointer;padding:0;height:100%}
.btp-field-pill input[type=date]{cursor:text}
.btp-field-pill input.btp-field-error{outline:2px solid #dc2626;border-radius:8px}
.btp-field-pill.btp-field-error{box-shadow:inset 0 0 0 2px #dc2626}
.btp-field-pill-static{cursor:default}
.btp-field-pill-static span:last-child{font-weight:700;font-size:14.5px;color:var(--btp-heading)}

/* ==================================================================== */
/* Single tour detail page                                              */
/* ==================================================================== */

.btp-detail{font-family:var(--btp-font);padding-bottom:56px}

.btp-detail-topbar{padding:20px 0 4px}
.woocommerce-breadcrumb{color:var(--btp-text);font-size:13px;margin-bottom:10px}
.woocommerce-breadcrumb a{color:var(--btp-text);text-decoration:none}
.woocommerce-breadcrumb a:hover{color:var(--btp-brand)}
.btp-detail-title{margin:0 0 10px;font-size:clamp(24px,3vw,34px);font-weight:800;color:var(--btp-heading);letter-spacing:-.02em}
.btp-detail-meta{display:flex;flex-wrap:wrap;gap:18px;color:var(--btp-text);font-size:14px;margin-bottom:18px}
.btp-detail-meta span{display:flex;align-items:center;gap:5px}
.btp-detail-meta .dashicons{color:var(--btp-brand)}
.btp-detail-meta .btp-ta-star{color:#fbbc05}

.btp-detail-grid{display:grid;grid-template-columns:1fr 360px;gap:36px;align-items:start}
.btp-detail-main{min-width:0}
.btp-detail-sidebar{position:sticky;top:80px}

/* Gallery */
.btp-detail-gallery{margin-bottom:32px}
.btp-detail-gallery-main{border-radius:var(--btp-radius);overflow:hidden;background:var(--btp-subtle-bg);aspect-ratio:16/10}
.btp-detail-gallery-main img{width:100%;height:100%;object-fit:cover;display:block}
.btp-detail-gallery-thumbs{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-top:10px}
.btp-detail-gallery-thumb{border-radius:10px;overflow:hidden;aspect-ratio:1/1;background:var(--btp-subtle-bg);cursor:pointer}
.btp-detail-gallery-thumb img{width:100%;height:100%;object-fit:cover;display:block;transition:opacity .15s}
.btp-detail-gallery-thumb:hover img{opacity:.8}

/* Section blocks */
.btp-detail-section{padding:32px 0;border-top:1px solid var(--btp-border)}
.btp-detail-section:first-of-type{border-top:0;padding-top:0}
.btp-options[hidden]{display:none!important}
.btp-options[hidden] + .btp-detail-section{border-top:0;padding-top:0}

/* Available options (revealed by "Check availability") */
.btp-options{scroll-margin-top:96px}
.btp-options h2{font-size:30px!important;margin-bottom:14px!important}
.btp-options-message{background:#f7f8fc;border:1px solid var(--btp-border);border-radius:12px;padding:14px 16px;font-size:13.5px;color:var(--btp-text);margin-bottom:16px}
.btp-options-message strong{color:var(--btp-heading)}
.btp-options-list{display:flex;flex-direction:column;gap:28px}
.btp-option-card{display:grid;grid-template-columns:1fr 190px;gap:20px;border:1px solid var(--btp-brand);border-radius:12px;padding:12px 14px 14px;background:#fff}
.btp-option-title{margin:0 0 8px;font-size:17px;font-weight:800;color:var(--btp-heading);line-height:1.35}
.btp-option-features{display:flex;flex-wrap:wrap;gap:6px 18px;margin-bottom:8px;font-size:13px;color:var(--btp-heading)}
.btp-option-features>span{display:flex;align-items:center;gap:5px;flex-basis:auto}
.btp-option-features>span:nth-child(3){flex-basis:100%}
.btp-option-features .dashicons,.btp-option-benefits .dashicons{font-size:16px;width:16px;height:16px;color:var(--btp-text)}
.btp-option-benefits{display:grid;grid-template-columns:1fr 1fr;gap:6px 18px;margin-bottom:8px;font-size:13px;color:var(--btp-heading);line-height:1.45}
.btp-option-benefits>span{display:flex;align-items:flex-start;gap:6px}
.btp-option-benefits .dashicons{color:var(--btp-green-text)}
.btp-option-desc{margin:0 0 10px;font-size:14px;line-height:1.6;color:var(--btp-text);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.btp-option-pickup{display:flex;align-items:center;gap:6px;font-size:14px;color:var(--btp-heading)}
.btp-option-pickup .dashicons{color:var(--btp-brand)}
.btp-option-pickup strong{font-weight:700}
.btp-option-price{display:flex;flex-direction:column;align-items:flex-end;text-align:right;gap:4px;border-left:1px solid var(--btp-border);padding:4px 0 0 14px}
.btp-option-total{font-size:24px;font-weight:900;color:var(--btp-heading);line-height:1.2}
.btp-option-price small{font-size:11px;font-weight:600;color:var(--btp-text)}
.btp-option-continue,.btp-option-continue:hover,.btp-option-continue:focus,.btp-option-continue:active{margin-top:16px;width:100%;background:var(--btp-brand)!important;color:#fff!important;border:0!important;border-radius:999px!important;padding:14px 16px!important;font-size:14px!important;font-weight:800!important;cursor:pointer;box-shadow:none!important;text-transform:none}
.btp-option-continue:hover{background:var(--btp-brand-alt)!important}
.btp-option-continue[disabled]{opacity:.7;cursor:wait}
.btp-option-card.is-unavailable{border-color:var(--btp-border);opacity:.75}
.btp-option-card.is-unavailable .btp-option-pickup{color:var(--btp-red-text)}
.btp-option-card.is-unavailable .btp-option-continue[disabled]{background:#9ca3af!important;cursor:not-allowed}
@media (max-width:640px){
  .btp-options h2{font-size:24px!important}
  .btp-option-card{grid-template-columns:1fr;gap:12px}
  .btp-option-benefits{grid-template-columns:1fr}
  .btp-option-price{border-left:0;border-top:1px solid var(--btp-border);padding:12px 0 0;align-items:stretch;text-align:left}
}
.btp-detail-section h2{margin:0 0 16px;font-size:22px;font-weight:800;color:var(--btp-heading)}
.btp-detail-badge-line{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}
.btp-detail-prose{color:var(--btp-text);font-size:15px;line-height:1.7}
.btp-detail-prose p{margin:0 0 12px}
.btp-detail-duration{display:flex;align-items:center;gap:6px;color:var(--btp-heading);font-weight:600;margin:16px 0 0}
.btp-detail-duration .dashicons{color:var(--btp-brand)}

.btp-detail-map{border-radius:var(--btp-radius);overflow:hidden;aspect-ratio:16/9}
.btp-detail-map iframe{width:100%;height:100%;border:0;display:block}

/* Tour map: Pickup Areas / Places You'll Visit */
.btp-tour-map-section h2{margin-bottom:6px!important}
.btp-tour-map-sub{margin:0 0 16px;color:var(--btp-text);font-size:14px}
.btp-tour-map-shell{border:1px solid var(--btp-border);border-radius:var(--btp-radius);overflow:hidden;background:#f7f8fc}
.btp-tour-map-tabs{display:flex;flex-wrap:wrap;gap:8px;padding:10px}
.btp-tour-map-tab,.btp-tour-map-tab:hover,.btp-tour-map-tab:focus,.btp-tour-map-tab:active{display:inline-flex;align-items:center;gap:8px;padding:9px 16px!important;border-radius:999px!important;border:1px solid var(--btp-border)!important;background:#fff!important;color:var(--btp-heading)!important;font-size:13.5px!important;font-weight:800!important;cursor:pointer;box-shadow:none!important;text-transform:none;line-height:1.2}
.btp-tour-map-tab .dashicons{font-size:17px;width:17px;height:17px}
.btp-tour-map-tab small{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:#eef0f6;color:var(--btp-heading);font-size:11px;font-weight:800}
.btp-tour-map-tab.is-active,.btp-tour-map-tab.is-active:hover,.btp-tour-map-tab.is-active:focus{background:var(--btp-heading)!important;border-color:var(--btp-heading)!important;color:#fff!important}
.btp-tour-map-tab.is-active small{background:rgba(255,255,255,.2);color:#fff}
.btp-tour-map-canvas{height:300px;z-index:0}
.btp-tour-map-fallback{margin:0;padding:24px;text-align:center;color:var(--btp-text)}
.btp-map-pin{background:none;border:0}
.btp-map-pin span{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);background:var(--btp-heading);border:2px solid #fff;box-shadow:0 2px 6px rgba(7,27,58,.35)}
.btp-map-pin b{display:block;transform:rotate(45deg);color:#fff;font-size:11px;font-weight:800;line-height:1}
.btp-map-pin-destination span{background:var(--btp-brand)}
.btp-tour-map-canvas .leaflet-popup-content{font-size:13px;line-height:1.5}
.btp-tour-map-canvas .leaflet-popup-content a{color:var(--btp-brand)}
@media (min-width:768px){.btp-tour-map-canvas{height:380px}}

/* Itinerary timeline */
.btp-detail-timeline-note{margin:-6px 0 20px;color:var(--btp-text);font-size:14px}
.btp-detail-timeline{list-style:none;margin:0;padding:0}
.btp-detail-timeline li{display:flex;gap:20px;padding-bottom:22px;position:relative}
.btp-detail-timeline li:last-child{padding-bottom:0}
.btp-detail-timeline li:not(:last-child):before{content:"";position:absolute;top:50px;bottom:10px;left:21px;border-left:2px dashed #cbd5e1}
.btp-detail-timeline.is-collapsed .btp-timeline-extra{display:none}
.btp-detail-timeline.is-collapsed .btp-timeline-cut{padding-bottom:0}
.btp-detail-timeline.is-collapsed .btp-timeline-cut:before{display:none}
.btp-detail-timeline-icon{flex:0 0 auto;width:44px;height:44px;border-radius:50%;background:#fff;border:1px solid var(--btp-border);display:flex;align-items:center;justify-content:center;color:var(--btp-heading)}
.btp-detail-timeline-icon svg{width:18px;height:18px}
.btp-detail-timeline-icon.is-transport{color:#2563eb;border-color:#bfdbfe}
.btp-detail-timeline-icon.is-place{color:#c2410c;border-color:#fed7aa}
.btp-detail-timeline-body{flex:1;min-width:0;padding-top:2px}
.btp-detail-timeline-time{display:block;color:var(--btp-text);font-size:13px;font-weight:700;margin-bottom:4px}
.btp-detail-timeline-title{display:block;color:var(--btp-heading);font-size:17px;font-weight:800;line-height:1.35}
.btp-detail-timeline-body p{margin:6px 0 0;color:var(--btp-text);font-size:14.5px;line-height:1.6}
.btp-timeline-toggle,.btp-timeline-toggle:hover,.btp-timeline-toggle:focus,.btp-timeline-toggle:active{display:inline-flex;align-items:center;gap:10px;margin:24px 0 0 64px;padding:12px 22px!important;border-radius:999px!important;border:1.5px solid var(--btp-heading)!important;background:#fff!important;color:var(--btp-heading)!important;font-size:14px!important;font-weight:800!important;line-height:1!important;cursor:pointer;box-shadow:none!important;text-transform:none}
.btp-timeline-toggle[aria-expanded="true"],.btp-timeline-toggle[aria-expanded="true"]:hover,.btp-timeline-toggle[aria-expanded="true"]:focus{background:var(--btp-heading)!important;color:#fff!important}
.btp-timeline-toggle-caret{flex:0 0 auto;width:14px!important;height:14px!important;display:block;transition:transform .2s}
.btp-timeline-toggle[aria-expanded="true"] .btp-timeline-toggle-caret{transform:rotate(180deg)}
@media (max-width:600px){.btp-timeline-toggle,.btp-timeline-toggle:hover,.btp-timeline-toggle:focus,.btp-timeline-toggle:active{margin-left:0}}

/* Included / Excluded */
.btp-detail-inc-exc{display:grid;grid-template-columns:1fr 1fr;gap:32px}
.btp-detail-included,.btp-detail-excluded{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.btp-detail-included li,.btp-detail-excluded li{display:flex;align-items:flex-start;gap:8px;font-size:14px;color:var(--btp-heading)}
.btp-detail-included .dashicons{color:var(--btp-green-text)}
.btp-detail-excluded .dashicons{color:#dc2626}

/* FAQ accordion */
.btp-detail-faq{border-top:1px solid var(--btp-border)}
.btp-faq-item{border-bottom:1px solid var(--btp-border)}
.btp-faq-question,.btp-faq-question:hover,.btp-faq-question:focus,.btp-faq-question:active,.btp-faq-question:visited{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;background:none!important;border:0!important;outline:0!important;box-shadow:none!important;padding:18px 4px!important;text-align:left;cursor:pointer;font-size:15px;font-weight:700;color:var(--btp-heading)!important}
.btp-faq-question .dashicons{color:var(--btp-brand);transition:transform .2s}
.btp-faq-item.is-open .btp-faq-question .dashicons{transform:rotate(45deg)}
.btp-faq-answer{max-height:0;overflow:hidden;transition:max-height .25s ease}
.btp-faq-item.is-open .btp-faq-answer{max-height:400px}
.btp-faq-answer p{margin:0 4px 18px;color:var(--btp-text);font-size:14px;line-height:1.6}

/* Related products: only ever 3 items, so size the row for 3-up instead of
   the homepage rows' 4-up formula. */
@media(min-width:981px){
  .btp-detail-related .btp-card-row > .btp-card{width:calc((100% - 40px)/3)}
}

/* Reviews (native WooCommerce comment template, lightly restyled) */
.btp-detail-reviews #reviews{font-family:var(--btp-font)}
.btp-detail-reviews .woocommerce-Reviews-title{display:none}
.btp-detail-reviews ol.commentlist{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:20px}
.btp-detail-reviews .comment_container{display:flex;gap:14px;background:#fff;border:1px solid var(--btp-border);border-radius:var(--btp-radius);padding:18px}
.btp-detail-reviews .comment-text{flex:1}
.btp-detail-reviews .star-rating{color:#fbbc05;font-size:14px}
.btp-detail-reviews .woocommerce-review__author{color:var(--btp-heading);font-weight:700}
.btp-detail-reviews .woocommerce-review__dash{display:none}
.btp-detail-reviews .woocommerce-review__published-date{color:var(--btp-text);font-size:12.5px}
.btp-detail-reviews .description p{color:var(--btp-text);font-size:14px;margin:8px 0 0}
.btp-detail-reviews #review_form_wrapper{margin-top:24px;background:var(--btp-subtle-bg);border-radius:var(--btp-radius);padding:24px}
.btp-detail-reviews #review_form input[type=text],.btp-detail-reviews #review_form input[type=email],.btp-detail-reviews #review_form textarea{width:100%;box-sizing:border-box;border:1px solid var(--btp-border);border-radius:10px;padding:10px 14px;font:inherit}
.btp-detail-reviews #review_form .form-submit input{background:var(--btp-brand)!important;color:#fff!important;border:0!important;border-radius:10px!important;padding:12px 24px!important;font-weight:700;cursor:pointer}

/* Booking card (sidebar) */
.btp-booking-card{background:#fff;border:1px solid var(--btp-border);border-radius:var(--btp-radius);padding:24px;box-shadow:0 12px 32px rgba(7,27,58,.08)}
.btp-booking-price{margin-bottom:18px}
.btp-booking-price small{display:block;color:var(--btp-text);font-size:11px;text-transform:uppercase;letter-spacing:.03em;font-weight:700;margin-bottom:4px}
.btp-booking-price del{color:var(--btp-text);font-size:15px;margin-right:8px}
.btp-booking-price-row{display:flex;align-items:baseline;gap:8px}
.btp-booking-price-row strong{color:var(--btp-heading);font-size:26px;font-weight:800}
.btp-booking-price-row span{color:var(--btp-text);font-size:13px}
.btp-booking-price .btp-save{display:inline-block;margin-top:6px}

.btp-booking-form .btp-check-availability{width:100%;box-sizing:border-box;background:var(--btp-brand)!important;color:#fff!important;border:0!important;border-radius:16px!important;padding:16px!important;font-weight:800!important;font-size:16px;cursor:pointer;margin-top:8px}
.btp-booking-form .btp-check-availability:hover{background:var(--btp-brand-alt)!important}

.btp-booking-reveal{margin-top:16px;padding-top:16px;border-top:1px solid var(--btp-border)}
.btp-booking-reveal-summary{display:flex;align-items:flex-start;gap:8px;background:var(--btp-green-bg);color:var(--btp-green-text);border-radius:10px;padding:10px 12px;font-size:13px;margin-bottom:14px}
.btp-booking-reveal-summary .dashicons{flex:0 0 auto;margin-top:1px}

.btp-booking-total{display:flex;align-items:center;justify-content:space-between;padding:0 2px;margin-bottom:14px}
.btp-booking-total span{color:var(--btp-text);font-size:14px;font-weight:600}
.btp-booking-total-amount{color:var(--btp-heading);font-size:20px;font-weight:800}

.btp-booking-form .single_add_to_cart_button{width:100%;box-sizing:border-box;background:var(--btp-heading)!important;color:#fff!important;border:0!important;border-radius:16px!important;padding:16px!important;font-weight:800!important;font-size:15.5px;cursor:pointer}
.btp-booking-form .single_add_to_cart_button:hover{background:var(--btp-brand)!important}

.btp-booking-trust{margin-top:18px;padding-top:18px;border-top:1px solid var(--btp-border);display:flex;flex-direction:column;gap:14px}
.btp-booking-trust p{display:flex;gap:8px;margin:0;font-size:13px;color:var(--btp-text)}
.btp-booking-trust .dashicons{color:var(--btp-green-text);flex:0 0 auto;margin-top:1px}
.btp-booking-trust strong{color:var(--btp-heading);display:block;font-size:13.5px}

@media(max-width:980px){
  .btp-detail-grid{grid-template-columns:1fr}
  .btp-detail-sidebar{position:static}
  .btp-detail-gallery-thumbs{grid-template-columns:repeat(4,1fr)}
  .btp-detail-inc-exc{grid-template-columns:1fr}
  .btp-detail-related ul.products{grid-template-columns:repeat(2,1fr)}
}
