/*
Theme Name: Paradise Bali Tours
Theme URI: https://paradisebali-tours.com
Description: バリ島ツアー予約サイト「パラダイス バリ ツアーズ」専用テーマ。18ツアー/車チャーター料金表/WhatsApp・LINE連絡/日本語対応。ツアーはダッシュボードから追加・編集できます。
Author: Paradise Bali Tours
Version: 1.40.0
Requires at least: 5.9
Requires PHP: 7.4
License: GNU General Public License v2 or later
Text Domain: paradise-bali
*/

/* ===== Base ===== */
:root {
  --pbt-emerald-700: #047857;
  --pbt-emerald-800: #065f46;
  --pbt-emerald-900: #064e3b;
  --pbt-emerald-50: #ecfdf5;
  --pbt-emerald-200: #a7f3d0;
  --pbt-amber-300: #fcd34d;
  --pbt-amber-400: #fbbf24;
  --pbt-amber-500: #f59e0b;
  --pbt-amber-600: #d97706;
  --pbt-amber-700: #b45309;
  --pbt-amber-50: #fffbeb;
  --pbt-orange-600: #ea580c;
  --pbt-stone-100: #f5f5f4;
  --pbt-stone-200: #e7e5e4;
  --pbt-stone-300: #d6d3d1;
  --pbt-stone-400: #a8a29e;
  --pbt-stone-500: #78716c;
  --pbt-stone-600: #57534e;
  --pbt-stone-700: #44403c;
  --pbt-stone-800: #292524;
  --pbt-stone-900: #1c1917;
  --pbt-cream: #fbf7f0;
  --pbt-wa: #25d366;
  --pbt-line: #06c755;
  --pbt-red: #ef4444;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--pbt-cream);
  color: var(--pbt-stone-900);
  font-family: "Hiragino Mincho ProN", "Hiragino Mincho Pro", "Yu Mincho", "YuMincho", "BIZ UDMincho", "Noto Serif CJK JP", "Noto Serif JP", "MS PMincho", serif;
  font-size: 15px;
  line-height: 1.7;
  -webkit-font-smoothing: antialiased;
}
img { max-width: 100%; display: block; }
a { color: inherit; text-decoration: none; }
p { margin: 0; }
ul, ol { margin: 0; padding: 0; list-style: none; }
h1, h2, h3, h4 { margin: 0; line-height: 1.35; }
.pbt-container { max-width: 80rem; margin: 0 auto; padding: 0 1rem; }

/* ===== Buttons ===== */
.pbt-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: .4rem;
  border: 0; cursor: pointer; font-family: inherit; font-weight: 700;
  border-radius: .375rem; padding: 0 1.1rem; line-height: 1; transition: all .2s;
  font-size: .875rem; height: 2.5rem; text-align: center;
}
.pbt-btn svg { width: 1rem; height: 1rem; flex: none; }
.pbt-btn-amber { background: var(--pbt-amber-600); color: #fff; }
.pbt-btn-amber:hover { background: var(--pbt-amber-700); }
.pbt-btn-emerald { background: var(--pbt-emerald-700); color: #fff; }
.pbt-btn-emerald:hover { background: var(--pbt-emerald-800); }
.pbt-btn-outline { background: #fff; color: var(--pbt-stone-700); border: 1px solid var(--pbt-stone-300); }
.pbt-btn-outline:hover { border-color: var(--pbt-emerald-700); color: var(--pbt-emerald-700); }
.pbt-btn-ghost { background: rgba(255,255,255,.15); color: #fff; border: 1px solid rgba(255,255,255,.4); backdrop-filter: blur(4px); }
.pbt-btn-ghost:hover { background: rgba(255,255,255,.25); }
.pbt-btn-outline-amber { background: #fff; color: var(--pbt-amber-700); border: 1px solid var(--pbt-amber-500); }
.pbt-btn-outline-amber:hover { background: var(--pbt-amber-50); }
.pbt-btn-lg { height: 3rem; font-size: 1rem; padding: 0 1.5rem; }
.pbt-btn-sm { height: 2rem; font-size: .8125rem; padding: 0 .8rem; }
.pbt-btn-block { width: 100%; }

/* ===== Header ===== */
.pbt-header {
  position: sticky; top: 0; z-index: 50;
  background: rgba(255,255,255,.95); backdrop-filter: blur(8px);
  border-bottom: 1px solid var(--pbt-stone-200);
}
.pbt-header-in { height: 4rem; display: flex; align-items: center; justify-content: space-between; gap: .75rem; }
.pbt-brand { display: flex; align-items: center; gap: .5rem; flex: none; }
.pbt-brand-mark {
  width: 2.25rem; height: 2.25rem; border-radius: 9999px; background: var(--pbt-emerald-700);
  color: #fff; font-weight: 700; font-size: .8125rem; display: inline-flex; align-items: center; justify-content: center; flex: none;
}
.pbt-brand-logo {
  width: 2.5rem; height: 2.5rem; border-radius: 9999px; background: #fff;
  box-shadow: 0 1px 2px rgba(0,0,0,.08); object-fit: cover;
}
.pbt-brand-name { font-weight: 700; font-size: 15px; display: block; }
.pbt-brand-sub { font-size: 10px; color: var(--pbt-stone-500); letter-spacing: .02em; display: block; }
.pbt-nav { display: none; align-items: center; gap: 1.25rem; }
.pbt-nav a { font-size: .875rem; color: var(--pbt-stone-700); transition: color .2s; }
.pbt-nav a:hover { color: var(--pbt-emerald-700); }
.pbt-header-cta { display: none; }
.pbt-burger { display: inline-flex; padding: .5rem; border-radius: .375rem; background: none; border: 0; cursor: pointer; }
.pbt-burger svg { width: 1.25rem; height: 1.25rem; }
.pbt-nav-mobile { display: none; border-top: 1px solid var(--pbt-stone-200); background: #fff; padding: .75rem 1rem; }
.pbt-nav-mobile.open { display: block; }
.pbt-nav-mobile a { display: block; padding: .625rem 0; font-size: .875rem; color: var(--pbt-stone-800); border-bottom: 1px solid var(--pbt-stone-100); }
.pbt-nav-mobile a:last-child { border-bottom: 0; }
@media (min-width: 1024px) {
  .pbt-nav { display: flex; }
  .pbt-header-cta { display: inline-flex; }
  .pbt-burger { display: none; }
}

/* ===== Hero ===== */
.pbt-hero { position: relative; overflow: hidden; }
.pbt-hero-slides { position: absolute; inset: 0; overflow: hidden; background: #1c1917; }
.pbt-hero-slide {
  position: absolute; inset: 0; background-size: cover; background-position: center;
  opacity: 0; transition: opacity 1.4s ease-in-out; will-change: opacity, transform;
}
.pbt-hero-slide.active { opacity: 1; animation: pbt-kenburns 6s ease-out forwards; }
@keyframes pbt-kenburns { from { transform: scale(1.02); } to { transform: scale(1.12); } }
@media (prefers-reduced-motion: reduce) { .pbt-hero-slide.active { animation: none; } }
.pbt-hero-overlay { position: absolute; inset: 0; background: linear-gradient(to right, rgba(0,0,0,.5), rgba(0,0,0,.3) 50%, rgba(0,0,0,.15)); }
.pbt-hero-in { position: relative; color: #fff; padding: 6rem 0 7rem; }
@media (min-width: 640px) { .pbt-hero-in { padding: 8rem 0 9rem; } }
.pbt-hero-nav { position: absolute; bottom: 1.25rem; right: 1.5rem; z-index: 2; display: flex; align-items: center; gap: .75rem; }
@media (max-width: 639px) { .pbt-hero-nav { left: 0; right: 0; justify-content: center; } .pbt-hero-caption { display: none; } }
.pbt-hero-caption {
  margin: 0; font-size: .75rem; color: rgba(255,255,255,.92);
  background: rgba(0,0,0,.45); -webkit-backdrop-filter: blur(4px); backdrop-filter: blur(4px);
  border-radius: 9999px; padding: .3rem .8rem;
}
.pbt-hero-dots { display: flex; align-items: center; gap: .5rem; }
.pbt-hero-dot {
  width: .5rem; height: .5rem; border-radius: 9999px; background: rgba(255,255,255,.5);
  border: 0; padding: 0; cursor: pointer; transition: width .3s, background .3s;
}
.pbt-hero-dot:hover { background: rgba(255,255,255,.8); }
.pbt-hero-dot.active { width: 1.75rem; background: #fff; }
.pbt-hero h1 { font-size: 1.9rem; font-weight: 900; }
.pbt-hero h1 .accent { color: var(--pbt-amber-300); }
@media (min-width: 640px) { .pbt-hero h1 { font-size: 3rem; } }
@media (min-width: 1024px) { .pbt-hero h1 { font-size: 3.75rem; } }
.pbt-hero-sub { margin-top: 1.25rem; max-width: 42rem; font-size: .875rem; color: rgba(255,255,255,.9); }
@media (min-width: 640px) { .pbt-hero-sub { font-size: 1.05rem; } }
.pbt-hero-btns { margin-top: 2rem; display: flex; flex-wrap: wrap; gap: .75rem; }
.pbt-hero-trust { margin-top: 2rem; display: flex; flex-wrap: wrap; gap: .5rem 1.5rem; font-size: .8125rem; color: rgba(255,255,255,.85); }
.pbt-hero-trust span { display: inline-flex; align-items: center; gap: .4rem; }
.pbt-hero-trust svg { width: 1rem; height: 1rem; color: var(--pbt-amber-300); }

/* ===== Stats ===== */
.pbt-stats { background: #fff; border-bottom: 1px solid var(--pbt-stone-200); }
.pbt-stats-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1.5rem; text-align: center; padding: 2rem 0; }
@media (min-width: 768px) { .pbt-stats-grid { grid-template-columns: repeat(4, 1fr); } }
.pbt-stats-grid .v { font-size: 1.5rem; font-weight: 700; color: var(--pbt-orange-600); }
@media (min-width: 640px) { .pbt-stats-grid .v { font-size: 1.875rem; } }
.pbt-stats-grid .l { margin-top: .25rem; font-size: .75rem; color: var(--pbt-stone-600); }
@media (min-width: 640px) { .pbt-stats-grid .l { font-size: .875rem; } }

/* ===== Section ===== */
.pbt-section { padding: 4rem 0; }
@media (min-width: 640px) { .pbt-section { padding: 5rem 0; } }
.pbt-section-alt { background: #fff; border-top: 1px solid var(--pbt-stone-200); border-bottom: 1px solid var(--pbt-stone-200); }
.pbt-sec-head { text-align: center; max-width: 42rem; margin: 0 auto; }
.pbt-sec-en { font-size: .875rem; font-weight: 700; color: var(--pbt-emerald-700); letter-spacing: .1em; }
.pbt-sec-head h2 { margin-top: .5rem; font-size: 1.5rem; font-weight: 700; color: var(--pbt-stone-900); }
@media (min-width: 640px) { .pbt-sec-head h2 { font-size: 2.25rem; } }
.pbt-sec-sub { margin-top: 1rem; font-size: .875rem; color: var(--pbt-stone-600); }
@media (min-width: 640px) { .pbt-sec-sub { font-size: 1rem; } }

/* Brand intro (SEO) */
.pbt-brand-intro {
  max-width: 56rem; padding: 2.5rem 1.25rem; border-radius: 1.5rem;
  border: 1px solid rgba(5,150,105,.16);
  background: linear-gradient(135deg, #ecfdf5 0%, #ffffff 55%, #fffbeb 100%);
  box-shadow: 0 1px 3px rgba(0,0,0,.05); position: relative; overflow: hidden;
}
@media (min-width: 640px) { .pbt-brand-intro { padding: 3rem 2.5rem; } }
.pbt-brand-intro::before, .pbt-brand-intro::after {
  content: ""; position: absolute; width: 12rem; height: 12rem; border-radius: 9999px; filter: blur(40px); pointer-events: none;
}
.pbt-brand-intro::before { top: -4rem; right: -4rem; background: rgba(16,185,129,.18); }
.pbt-brand-intro::after { bottom: -5rem; left: -4rem; background: rgba(251,191,36,.22); }
.pbt-brand-en { display: flex; align-items: center; justify-content: center; gap: .75rem; }
.pbt-brand-line { display: inline-block; width: 2.5rem; height: 1px; background: rgba(5,150,105,.35); }
.pbt-brand-lead { margin-top: 1.25rem; font-size: .875rem; font-weight: 500; color: var(--pbt-stone-800); line-height: 1.7; }
@media (min-width: 640px) { .pbt-brand-lead { font-size: 1rem; } }
.pbt-brand-pills { margin-top: 1.5rem; display: flex; flex-wrap: wrap; justify-content: center; gap: .5rem; list-style: none; padding: 0; margin-bottom: 0; }
.pbt-brand-pills li {
  display: inline-flex; align-items: center; gap: .4rem; padding: .4rem .9rem; border-radius: 9999px;
  background: #fff; border: 1px solid rgba(5,150,105,.25); font-size: .8125rem; font-weight: 700; color: #065f46;
  box-shadow: 0 1px 2px rgba(0,0,0,.04);
}
.pbt-brand-pills svg { width: 14px; height: 14px; color: #059669; flex: none; }
@media (min-width: 640px) { .pbt-brand-pills li { font-size: .875rem; } .pbt-brand-pills svg { width: 16px; height: 16px; } }
.pbt-brand-divider { height: 1px; max-width: 64rem; margin: 3rem auto 0; background: var(--pbt-stone-200); }
@media (min-width: 640px) { .pbt-brand-divider { margin-top: 3.5rem; } }
.pbt-charter-head { margin-top: 3rem; }
@media (min-width: 640px) { .pbt-charter-head { margin-top: 3.5rem; } }
@media (max-width: 639px) { .pbt-br-sp { display: none; } }

/* ===== Tours ===== */
.pbt-tabs { margin-top: 2.5rem; display: flex; flex-wrap: wrap; justify-content: center; gap: .5rem; }
.pbt-tab {
  padding: .5rem 1rem; border-radius: 9999px; font-size: .875rem; font-weight: 700;
  background: #fff; color: var(--pbt-stone-700); border: 1px solid var(--pbt-stone-300); cursor: pointer; transition: all .2s; font-family: inherit;
}
.pbt-tab .n { margin-left: .375rem; font-size: .75rem; opacity: .75; }
.pbt-tab:hover { border-color: #10b981; color: var(--pbt-emerald-700); }
.pbt-tab.active { background: var(--pbt-emerald-700); color: #fff; border-color: var(--pbt-emerald-700); box-shadow: 0 4px 6px -1px rgba(0,0,0,.1); }
.pbt-grid { margin-top: 2.5rem; display: grid; gap: 1.5rem; grid-template-columns: 1fr; }
@media (min-width: 640px) { .pbt-grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .pbt-grid { grid-template-columns: repeat(3, 1fr); } }
.pbt-card {
  display: flex; flex-direction: column; overflow: hidden; background: #fff;
  border: 1px solid var(--pbt-stone-200); border-radius: 1rem; box-shadow: 0 1px 2px rgba(0,0,0,.05);
  transition: box-shadow .3s;
}
.pbt-card:hover { box-shadow: 0 20px 25px -5px rgba(0,0,0,.1), 0 8px 10px -6px rgba(0,0,0,.1); }
.pbt-card.hide { display: none; }
.pbt-card-img { position: relative; height: 12rem; overflow: hidden; background: linear-gradient(135deg, var(--pbt-emerald-200), #fef3c7 50%, #fed7aa); }
.pbt-card-img img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s; }
.pbt-card:hover .pbt-card-img img { transform: scale(1.05); }
.pbt-card-img .ranks { position: absolute; top: .75rem; left: .75rem; display: flex; gap: .5rem; }
.pbt-chip-rank { background: var(--pbt-emerald-700); color: #fff; font-size: 11px; font-weight: 700; border-radius: 9999px; padding: .25rem .625rem; }
.pbt-chip-badge { background: var(--pbt-red); color: #fff; font-size: 11px; font-weight: 700; border-radius: 9999px; padding: .25rem .625rem; }
.pbt-chip-time {
  position: absolute; bottom: .75rem; left: .75rem; background: rgba(0,0,0,.6); color: #fff;
  font-size: 11px; border-radius: 9999px; padding: .25rem .625rem; backdrop-filter: blur(4px);
  display: inline-flex; align-items: center; gap: .25rem;
}
.pbt-chip-time svg { width: .75rem; height: .75rem; }
.pbt-card-body { display: flex; flex-direction: column; flex: 1; padding: 1.25rem; }
.pbt-card-meta { display: flex; align-items: center; gap: .5rem; font-size: .75rem; color: var(--pbt-stone-500); margin-bottom: .5rem; }
.pbt-cat-chip { background: var(--pbt-emerald-50); border: 1px solid var(--pbt-emerald-200); color: var(--pbt-emerald-800); border-radius: .25rem; padding: .125rem .5rem; font-weight: 500; }
.pbt-rate { display: inline-flex; align-items: center; gap: .25rem; }
.pbt-stars { display: inline-flex; }
.pbt-stars svg { width: .875rem; height: .875rem; color: var(--pbt-amber-400); fill: var(--pbt-amber-400); }
.pbt-stars svg.off { color: var(--pbt-stone-300); fill: var(--pbt-stone-300); }
.pbt-rate b { color: var(--pbt-stone-700); }
.pbt-card h3 { font-size: 1rem; font-weight: 700; }
.pbt-tagline { margin-top: .375rem; font-size: .75rem; color: var(--pbt-stone-500); }
.pbt-hl { margin-top: .75rem; display: grid; gap: .375rem; }
.pbt-hl li { display: flex; align-items: flex-start; gap: .375rem; font-size: .75rem; color: var(--pbt-stone-600); }
.pbt-hl svg { width: .875rem; height: .875rem; margin-top: .125rem; flex: none; color: var(--pbt-amber-600); }
.pbt-card-foot { margin-top: auto; padding-top: .75rem; border-top: 1px solid var(--pbt-stone-100); display: flex; align-items: flex-end; justify-content: space-between; gap: .5rem; }
.pbt-price-label { font-size: 11px; color: var(--pbt-stone-500); }
.pbt-price { font-size: 1.25rem; font-weight: 700; color: var(--pbt-amber-700); }
.pbt-card-btns { display: flex; flex-direction: column; gap: .375rem; }
.pbt-empty { margin-top: 2.5rem; text-align: center; color: var(--pbt-stone-500); font-size: .875rem; display: none; }

/* ===== Features / Flow / Voices ===== */
.pbt-4grid { margin-top: 3rem; display: grid; gap: 1.5rem; grid-template-columns: 1fr; }
@media (min-width: 640px) { .pbt-4grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .pbt-4grid { grid-template-columns: repeat(4, 1fr); } }
.pbt-3grid { margin-top: 3rem; display: grid; gap: 1.5rem; grid-template-columns: 1fr; }
@media (min-width: 768px) { .pbt-3grid { grid-template-columns: repeat(3, 1fr); } }
.pbt-2grid { margin-top: 3rem; display: grid; gap: 1.5rem; grid-template-columns: 1fr; }
@media (min-width: 640px) { .pbt-2grid { grid-template-columns: repeat(2, 1fr); } }
.pbt-feat-card { background: var(--pbt-cream); border: 1px solid var(--pbt-stone-200); border-radius: 1rem; padding: 1.5rem; transition: box-shadow .3s; }
.pbt-feat-card:hover { box-shadow: 0 10px 15px -3px rgba(0,0,0,.1); }
.pbt-feat-icon { width: 3rem; height: 3rem; border-radius: 9999px; background: var(--pbt-emerald-700); color: #fff; display: inline-flex; align-items: center; justify-content: center; }
.pbt-feat-icon svg { width: 1.5rem; height: 1.5rem; }
.pbt-feat-card h3 { margin-top: 1rem; font-weight: 700; }
.pbt-feat-card p { margin-top: .5rem; font-size: .875rem; color: var(--pbt-stone-600); }
.pbt-flow-card { position: relative; background: #fff; border: 1px solid var(--pbt-stone-200); border-radius: 1rem; padding: 1.5rem; box-shadow: 0 1px 2px rgba(0,0,0,.05); }
.pbt-step-num { position: absolute; top: -1rem; left: 1.5rem; width: 2rem; height: 2rem; border-radius: 9999px; background: var(--pbt-amber-600); color: #fff; font-weight: 700; font-size: .875rem; display: inline-flex; align-items: center; justify-content: center; }
.pbt-flow-icon { width: 2rem; height: 2rem; color: var(--pbt-emerald-700); margin-top: .5rem; }
.pbt-flow-card h3 { margin-top: .75rem; font-weight: 700; }
.pbt-flow-card p { margin-top: .5rem; font-size: .875rem; color: var(--pbt-stone-600); }
.pbt-voice-card { background: var(--pbt-cream); border: 1px solid var(--pbt-stone-200); border-radius: 1rem; padding: 1.5rem; }
.pbt-voice-card .stars { display: inline-flex; gap: .125rem; margin-bottom: .75rem; }
.pbt-voice-card .stars svg { width: 1rem; height: 1rem; color: var(--pbt-amber-400); fill: var(--pbt-amber-400); }
.pbt-voice-card .stars svg.off { color: var(--pbt-stone-300); fill: var(--pbt-stone-300); }
.pbt-voice-card p { font-size: .875rem; color: var(--pbt-stone-700); }
.pbt-voice-foot { margin-top: 1rem; padding-top: .75rem; border-top: 1px solid var(--pbt-stone-200); font-size: .75rem; color: var(--pbt-stone-500); }
.pbt-voice-foot b { color: var(--pbt-stone-800); }

/* ===== FAQ ===== */
.pbt-faq { max-width: 48rem; margin: 2.5rem auto 0; }
.pbt-faq details { border-bottom: 1px solid var(--pbt-stone-200); }
.pbt-faq details:first-child { border-top: 1px solid var(--pbt-stone-200); }
.pbt-faq summary {
  cursor: pointer; list-style: none; display: flex; align-items: center; justify-content: space-between; gap: 1rem;
  padding: 1.1rem .25rem; font-weight: 700; font-size: .9375rem; transition: color .2s;
}
.pbt-faq summary::-webkit-details-marker { display: none; }
.pbt-faq summary:hover { color: var(--pbt-emerald-700); }
.pbt-faq summary .chev { flex: none; width: 1.1rem; height: 1.1rem; color: var(--pbt-emerald-700); transition: transform .2s; }
.pbt-faq details[open] summary .chev { transform: rotate(180deg); }
.pbt-faq .ans { padding: 0 .25rem 1.1rem; font-size: .875rem; color: var(--pbt-stone-600); }

/* ===== Payment ===== */
.pbt-pay-card { background: #fff; border: 1px solid var(--pbt-stone-200); border-radius: 1rem; padding: 1.5rem; text-align: center; }
.pbt-pay-icon { width: 3rem; height: 3rem; border-radius: 9999px; background: var(--pbt-amber-50); border: 1px solid #fde68a; color: var(--pbt-amber-700); display: inline-flex; align-items: center; justify-content: center; }
.pbt-pay-icon svg { width: 1.4rem; height: 1.4rem; }
.pbt-pay-card h3 { margin-top: .9rem; font-size: 1rem; font-weight: 700; }
.pbt-pay-card p { margin-top: .5rem; font-size: .8125rem; color: var(--pbt-stone-600); text-align: left; }

/* ===== Contact ===== */
.pbt-contact { background: #065f46 linear-gradient(135deg, var(--pbt-emerald-800), var(--pbt-emerald-700) 50%, var(--pbt-emerald-900)); color: #fff; }
.pbt-contact .pbt-sec-en { color: var(--pbt-amber-300); }
.pbt-contact .pbt-sec-sub { color: rgba(255,255,255,.85); }
.pbt-contact-grid { margin-top: 3rem; display: grid; gap: 2rem; grid-template-columns: 1fr; }
@media (min-width: 1024px) { .pbt-contact-grid { grid-template-columns: 3fr 2fr; } }
.pbt-form-card { background: #fff; color: var(--pbt-stone-900); border-radius: 1rem; padding: 1.5rem; box-shadow: 0 20px 25px -5px rgba(0,0,0,.2); }
@media (min-width: 640px) { .pbt-form-card { padding: 2rem; } }
.pbt-form-card h3 { font-weight: 700; font-size: 1.05rem; margin-bottom: 1.25rem; }
.pbt-field { margin-bottom: 1rem; }
.pbt-field label { display: block; font-size: .8125rem; font-weight: 700; margin-bottom: .375rem; color: var(--pbt-stone-700); }
.pbt-field .req { color: var(--pbt-red); }
.pbt-field input, .pbt-field select, .pbt-field textarea {
  width: 100%; font-family: inherit; font-size: .875rem; color: var(--pbt-stone-900);
  background: #fff; border: 1px solid var(--pbt-stone-300); border-radius: .5rem; padding: .65rem .8rem; transition: border-color .2s, box-shadow .2s;
}
.pbt-field input:focus, .pbt-field select:focus, .pbt-field textarea:focus {
  outline: none; border-color: var(--pbt-emerald-700); box-shadow: 0 0 0 3px rgba(4,120,87,.15);
}
.pbt-field textarea { min-height: 6.5rem; resize: vertical; }
.pbt-field-row { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.pbt-form-note { font-size: .75rem; color: var(--pbt-stone-500); margin-bottom: 1rem; }
.pbt-form-btns { display: grid; gap: .625rem; }
.pbt-form-banner { border-radius: .5rem; padding: .8rem 1rem; font-size: .875rem; font-weight: 700; margin-bottom: 1rem; }
.pbt-form-banner.ok { background: var(--pbt-emerald-50); border: 1px solid var(--pbt-emerald-200); color: var(--pbt-emerald-800); }
.pbt-form-banner.ng { background: #fef2f2; border: 1px solid #fecaca; color: #b91c1c; }
.pbt-info-card { background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.2); border-radius: 1rem; padding: 1.5rem; backdrop-filter: blur(4px); }
.pbt-info-card h3 { font-weight: 700; margin-bottom: 1rem; }
.pbt-info-list { display: grid; gap: 1rem; font-size: .875rem; }
.pbt-info-list li { display: flex; align-items: flex-start; gap: .75rem; }
.pbt-info-list svg { width: 1.25rem; height: 1.25rem; margin-top: .125rem; flex: none; color: var(--pbt-amber-300); }
.pbt-info-list b { display: block; }
.pbt-info-list a { color: rgba(255,255,255,.85); text-decoration: underline; text-underline-offset: 4px; text-decoration-color: rgba(255,255,255,.4); }
.pbt-info-list a:hover { color: var(--pbt-amber-300); }
.pbt-info-list small { display: block; font-size: .75rem; color: rgba(255,255,255,.6); }
.pbt-campaign { margin-top: 1rem; background: rgba(245,158,11,.9); border-radius: 1rem; padding: 1.5rem; color: #fff; }
.pbt-campaign b { display: block; margin-bottom: .5rem; }

/* ===== Price table ===== */
.pbt-table-wrap { overflow-x: auto; border: 1px solid var(--pbt-stone-200); border-radius: .5rem; }
.pbt-table { width: 100%; border-collapse: collapse; font-size: .875rem; min-width: 33rem; }
.pbt-table th { background: var(--pbt-stone-100); color: var(--pbt-stone-600); font-weight: 700; text-align: center; padding: .6rem .75rem; border-bottom: 1px solid var(--pbt-stone-200); white-space: nowrap; }
.pbt-table th:first-child { text-align: left; }
.pbt-table td { padding: .7rem .75rem; border-bottom: 1px solid var(--pbt-stone-200); }
.pbt-table tr:last-child td { border-bottom: 0; }
.pbt-table .veh b { display: block; font-size: .875rem; color: var(--pbt-stone-900); }
.pbt-table .veh small { display: block; font-size: .75rem; color: var(--pbt-stone-500); }
.pbt-table .val { text-align: center; font-weight: 700; color: var(--pbt-amber-700); white-space: nowrap; }
.pbt-table .val.ask { color: var(--pbt-emerald-700); }
.pbt-table .ext td { background: rgba(255,251,235,.6); font-size: .75rem; color: var(--pbt-stone-600); }
.pbt-table .ext .val { font-size: .8125rem; }
.pbt-price-notes { margin-top: .5rem; display: grid; gap: .25rem; font-size: .75rem; color: var(--pbt-stone-500); }
.pbt-amber-box { background: var(--pbt-amber-50); border: 1px solid #fde68a; border-radius: .5rem; padding: 1rem; font-size: .875rem; color: var(--pbt-stone-700); }
.pbt-amber-box b { color: var(--pbt-amber-800); }
.pbt-amber-box .small { font-size: .8125rem; margin-top: .25rem; display: block; }

/* ===== Modal ===== */
.pbt-modal { position: fixed; inset: 0; z-index: 100; display: none; align-items: flex-start; justify-content: center; padding: 1rem; overflow-y: auto; }
.pbt-modal.open { display: flex; }
.pbt-modal-backdrop { position: fixed; inset: 0; background: rgba(0,0,0,.6); }
.pbt-modal-box {
  position: relative; width: 100%; max-width: 48rem; background: #fff; border-radius: .5rem;
  overflow: hidden; box-shadow: 0 25px 50px -12px rgba(0,0,0,.25); margin: auto;
}
.pbt-modal-hero { position: relative; height: 14rem; }
@media (min-width: 640px) { .pbt-modal-hero { height: 18rem; } }
.pbt-modal-hero img { width: 100%; height: 100%; object-fit: cover; }
.pbt-modal-hero .ov { position: absolute; inset: 0; background: linear-gradient(to top, rgba(0,0,0,.7), rgba(0,0,0,.1) 50%, transparent); }
.pbt-modal-hero .txt { position: absolute; bottom: 0; left: 0; right: 0; padding: 1.25rem; color: #fff; }
.pbt-modal-hero .badges { display: flex; flex-wrap: wrap; gap: .5rem; margin-bottom: .5rem; }
.pbt-modal-hero h2 { font-size: 1.25rem; font-weight: 700; }
@media (min-width: 640px) { .pbt-modal-hero h2 { font-size: 1.5rem; } }
.pbt-modal-hero .tg { font-size: .875rem; color: rgba(255,255,255,.9); }
.pbt-modal-close {
  position: absolute; top: .75rem; right: .75rem; width: 2.25rem; height: 2.25rem; border-radius: 9999px;
  background: rgba(0,0,0,.45); color: #fff; border: 0; cursor: pointer; display: inline-flex; align-items: center; justify-content: center;
}
.pbt-modal-close svg { width: 1.2rem; height: 1.2rem; }
.pbt-modal-body { padding: 1.25rem; }
@media (min-width: 640px) { .pbt-modal-body { padding: 1.5rem; } }
.pbt-modal-tabs { display: grid; grid-template-columns: 1fr 1fr; gap: .25rem; background: var(--pbt-stone-100); border-radius: .5rem; padding: .25rem; margin-bottom: 1rem; }
.pbt-tabbtn { border: 0; background: transparent; font-family: inherit; font-weight: 700; font-size: .875rem; color: var(--pbt-stone-600); border-radius: .375rem; padding: .55rem 0; cursor: pointer; transition: all .2s; }
.pbt-tabbtn.active { background: #fff; color: var(--pbt-stone-900); box-shadow: 0 1px 3px rgba(0,0,0,.1); }
.pbt-tabpane { display: none; }
.pbt-tabpane.active { display: block; }
.pbt-meta-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: .75rem; margin-bottom: 1.25rem; }
@media (min-width: 640px) { .pbt-meta-grid { grid-template-columns: repeat(4, 1fr); } }
.pbt-meta-cell { background: var(--pbt-stone-100); border: 1px solid var(--pbt-stone-200); border-radius: .5rem; padding: .75rem; text-align: center; }
.pbt-meta-cell svg { width: 1rem; height: 1rem; margin: 0 auto .25rem; color: var(--pbt-emerald-700); }
.pbt-meta-cell .k { font-size: 11px; color: var(--pbt-stone-500); }
.pbt-meta-cell .v { font-size: .75rem; font-weight: 700; }
.pbt-meta-cell .v.amber { color: var(--pbt-amber-700); }
.pbt-dlg-h4 { display: flex; align-items: center; gap: .5rem; font-weight: 700; margin-bottom: .5rem; }
.pbt-dlg-h4 svg { width: 1rem; height: 1rem; color: var(--pbt-emerald-700); }
.pbt-dlg-sec { margin-bottom: 1.25rem; }
.pbt-dlg-sec p.txt { font-size: .875rem; color: var(--pbt-stone-700); }
.pbt-dlg-sec ul.pt { display: grid; gap: .5rem; }
.pbt-dlg-sec ul.pt li { display: flex; align-items: flex-start; gap: .5rem; font-size: .875rem; color: var(--pbt-stone-700); }
.pbt-dlg-sec ul.pt svg { width: 1rem; height: 1rem; margin-top: .125rem; flex: none; color: #059669; }
.pbt-inc { display: flex; flex-wrap: wrap; gap: .5rem; }
.pbt-inc span { display: inline-flex; align-items: center; gap: .25rem; border: 1px solid var(--pbt-emerald-200); color: var(--pbt-emerald-800); border-radius: 9999px; padding: .2rem .7rem; font-size: .75rem; background: #fff; }
.pbt-inc svg { width: .75rem; height: .75rem; }

/* ===== Footer ===== */
.pbt-footer { background: var(--pbt-stone-900); color: var(--pbt-stone-300); }
.pbt-footer-grid { display: grid; gap: 2.5rem; padding: 3rem 0; grid-template-columns: 1fr; }
@media (min-width: 768px) { .pbt-footer-grid { grid-template-columns: repeat(3, 1fr); } }
.pbt-footer .brand { display: flex; align-items: center; gap: .5rem; color: #fff; font-weight: 700; }
.pbt-footer .desc { margin-top: 1rem; font-size: .875rem; color: var(--pbt-stone-400); }
.pbt-footer .addr { margin-top: 1rem; font-size: .75rem; color: var(--pbt-stone-500); line-height: 1.9; }
.pbt-footer h3 { color: #fff; font-size: .875rem; font-weight: 700; margin-bottom: 1rem; }
.pbt-footer .menu-list { display: grid; gap: .625rem; font-size: .875rem; }
.pbt-footer .menu-list a { display: inline-flex; align-items: flex-start; gap: .375rem; color: var(--pbt-stone-400); transition: color .2s; }
.pbt-footer .menu-list a:hover { color: var(--pbt-amber-300); }
.pbt-footer .menu-list svg { width: 1rem; height: 1rem; margin-top: .125rem; flex: none; }
.pbt-fbadges { margin-top: 1.25rem; display: flex; flex-wrap: wrap; gap: .5rem; }
.pbt-fbadge { display: inline-flex; align-items: center; gap: .375rem; background: rgba(255,255,255,.1); border-radius: 9999px; padding: .375rem .75rem; font-size: .75rem; transition: background .2s; }
.pbt-fbadge:hover { background: rgba(255,255,255,.2); }
.pbt-fbadge svg { width: .875rem; height: .875rem; color: var(--pbt-amber-300); }
.pbt-footer-bottom { border-top: 1px solid rgba(255,255,255,.1); }
.pbt-footer-bottom-in { display: flex; flex-direction: column; align-items: center; justify-content: space-between; gap: .5rem; padding: 1.25rem 0; font-size: .75rem; color: var(--pbt-stone-500); }
@media (min-width: 640px) { .pbt-footer-bottom-in { flex-direction: row; } }
.pbt-footer-bottom-in .love { display: inline-flex; align-items: center; gap: .375rem; }
.pbt-footer-bottom-in svg { width: .875rem; height: .875rem; }

/* ===== Floating buttons ===== */
.pbt-float { position: fixed; bottom: 1rem; right: 1rem; z-index: 40; display: flex; flex-direction: column; align-items: flex-end; gap: .625rem; }
.pbt-float a {
  height: 3rem; display: inline-flex; align-items: center; gap: .5rem; border-radius: 9999px; padding: 0 1rem;
  color: #fff; box-shadow: 0 10px 15px -3px rgba(0,0,0,.2); transition: all .2s;
}
.pbt-float a svg { width: 1.25rem; height: 1.25rem; flex: none; }
.pbt-float a span { display: none; font-size: .875rem; font-weight: 700; }
@media (min-width: 640px) { .pbt-float a span { display: inline; } }
.pbt-float .wa { background: var(--pbt-wa); }
.pbt-float .wa:hover { filter: brightness(.95); }
.pbt-float .line { background: var(--pbt-line); }
.pbt-float .line:hover { filter: brightness(.95); }

/* ===== Single tour page ===== */
.pbt-single-hero { position: relative; height: 18rem; }
@media (min-width: 640px) { .pbt-single-hero { height: 24rem; } }
.pbt-single-hero img { width: 100%; height: 100%; object-fit: cover; }
.pbt-single-hero .ov { position: absolute; inset: 0; background: linear-gradient(to top, rgba(0,0,0,.75), rgba(0,0,0,.15) 55%, transparent); }
.pbt-single-hero .txt { position: absolute; bottom: 0; left: 0; right: 0; }
.pbt-single-body { max-width: 56rem; margin: 0 auto; padding: 2.5rem 1rem 4rem; }
.pbt-single-body .content { font-size: .9375rem; color: var(--pbt-stone-700); margin-bottom: 1.5rem; }
.pbt-back { display: inline-flex; align-items: center; gap: .375rem; font-size: .875rem; color: var(--pbt-emerald-700); font-weight: 700; margin-bottom: 1rem; }

/* ===== Animation ===== */
.pbt-fade { opacity: 0; transform: translateY(24px); transition: opacity .55s ease, transform .55s ease; }
.pbt-fade.pbt-in { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) { .pbt-fade { opacity: 1; transform: none; transition: none; } }

/* ===== Misc ===== */
.pbt-page-content { max-width: 48rem; margin: 0 auto; padding: 3rem 1rem; }
.pbt-page-content h1 { font-size: 1.75rem; margin-bottom: 1.25rem; }
.pbt-page-content .content p { margin-bottom: 1em; font-size: .9375rem; color: var(--pbt-stone-700); }

/* ===== Vehicle thumbnail in price table ===== */
.pbt-veh-cell { display: flex; align-items: center; gap: .5rem; min-width: 0; }
.pbt-veh-cell > div { min-width: 0; }
.pbt-veh-thumb { width: 4rem; height: 2.5rem; object-fit: cover; border-radius: .375rem; border: 1px solid var(--pbt-stone-200); flex: 0 0 auto; }

/* ===== WA / LINE buttons ===== */
.pbt-btn-wa { background: var(--pbt-wa); color: #fff; }
.pbt-btn-wa:hover { filter: brightness(.94); }
.pbt-btn-line { background: var(--pbt-line); color: #fff; }
.pbt-btn-line:hover { filter: brightness(.94); }

/* ===== Car charter section ===== */
.pbt-charter-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.5rem; margin-top: 3rem; }
@media (max-width: 767px) { .pbt-charter-grid { grid-template-columns: 1fr; } }
.pbt-veh-card { display: flex; flex-direction: column; overflow: hidden; border-radius: 1rem; border: 1px solid var(--pbt-stone-200); background: #fff; box-shadow: 0 1px 2px rgba(0,0,0,.05); transition: box-shadow .3s ease; }
.pbt-veh-card:hover { box-shadow: 0 20px 25px -5px rgba(0,0,0,.1), 0 8px 10px -6px rgba(0,0,0,.1); }
.pbt-veh-img { position: relative; height: 13rem; overflow: hidden; background: var(--pbt-stone-100); }
@media (min-width: 640px) { .pbt-veh-img { height: 15rem; } }
.pbt-veh-img img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }
.pbt-veh-card:hover .pbt-veh-img img { transform: scale(1.05); }
.pbt-veh-cap { position: absolute; top: .75rem; left: .75rem; display: inline-flex; align-items: center; gap: .25rem; border-radius: 9999px; background: var(--pbt-emerald-700); color: #fff; font-size: 11px; font-weight: 700; padding: .25rem .625rem; box-shadow: 0 1px 3px rgba(0,0,0,.2); }
.pbt-veh-cap svg { width: .75rem; height: .75rem; }
.pbt-veh-unit { position: absolute; top: .75rem; right: .75rem; border-radius: 9999px; background: rgba(0,0,0,.55); color: #fff; font-size: 11px; padding: .25rem .625rem; backdrop-filter: blur(4px); }
.pbt-veh-title { position: absolute; left: 0; right: 0; bottom: 0; padding: 3rem 1rem .9rem; background: linear-gradient(to top, rgba(0,0,0,.75), rgba(0,0,0,.3) 60%, transparent); }
.pbt-veh-title small { display: block; font-size: 10px; letter-spacing: .1em; font-weight: 700; color: var(--pbt-amber-300); }
.pbt-veh-title h3 { font-size: 1.125rem; font-weight: 700; color: #fff; margin: 0; line-height: 1.3; }
@media (min-width: 640px) { .pbt-veh-title h3 { font-size: 1.25rem; } }
.pbt-veh-body { display: flex; flex-direction: column; flex: 1; padding: 1.25rem 1.25rem 1.5rem; }
@media (min-width: 640px) { .pbt-veh-body { padding: 1.5rem; } }
.pbt-veh-best { margin: 0; font-size: .875rem; font-weight: 700; color: var(--pbt-emerald-800); }
.pbt-veh-feats { list-style: none; margin: .75rem 0 0; padding: 0; display: flex; flex-direction: column; gap: .375rem; }
.pbt-veh-feats li { display: flex; align-items: flex-start; gap: .375rem; font-size: 12px; color: var(--pbt-stone-600); }
.pbt-veh-feats li svg { width: .875rem; height: .875rem; margin-top: .125rem; flex: 0 0 auto; color: var(--pbt-emerald-700); }
.pbt-veh-prices { margin-top: 1rem; border: 1px solid var(--pbt-stone-200); border-radius: .75rem; overflow: hidden; }
.pbt-veh-price-row { display: flex; align-items: center; justify-content: space-between; padding: .625rem 1rem; font-size: .875rem; background: #fff; }
.pbt-veh-price-row:nth-child(even) { background: var(--pbt-cream); }
.pbt-veh-price-row span { color: var(--pbt-stone-600); }
.pbt-veh-price-row b { color: var(--pbt-amber-700); font-weight: 700; }
.pbt-veh-price-row b.mute { color: var(--pbt-stone-400); font-weight: 400; }
.pbt-veh-ext { padding: .5rem 1rem; font-size: 12px; font-weight: 700; color: var(--pbt-stone-700); background: rgba(255,251,235,.7); border-top: 1px solid var(--pbt-amber-50); }
.pbt-veh-btns { display: grid; grid-template-columns: 1fr 1fr; gap: .5rem; margin-top: auto; padding-top: 1.25rem; }
.pbt-veh-btns .pbt-btn { justify-content: center; }
.pbt-charter-note { margin: 1rem 0 0; font-size: 12px; color: var(--pbt-stone-500); line-height: 1.7; }
.pbt-charter-dest-head { margin-top: 3.5rem; }
.pbt-charter-dest-head h3 { margin: 0; font-size: 1.25rem; font-weight: 700; color: var(--pbt-stone-900); }
@media (min-width: 640px) { .pbt-charter-dest-head h3 { font-size: 1.5rem; } }
.pbt-charter-dest-head p { margin: .375rem 0 0; font-size: .875rem; color: var(--pbt-stone-600); line-height: 1.7; }
.pbt-charter-dest { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: .75rem; margin-top: 1.5rem; }
@media (max-width: 1023px) { .pbt-charter-dest { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 639px) { .pbt-charter-dest { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.pbt-dest-card { position: relative; margin: 0; height: 7rem; overflow: hidden; border-radius: .75rem; background: var(--pbt-stone-100); }
@media (min-width: 640px) { .pbt-dest-card { height: 8rem; } }
.pbt-dest-card img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }
.pbt-dest-card:hover img { transform: scale(1.1); }
.pbt-dest-card figcaption { position: absolute; left: 0; right: 0; bottom: 0; padding: 1.75rem .625rem .5rem; background: linear-gradient(to top, rgba(0,0,0,.75), rgba(0,0,0,.25) 60%, transparent); font-size: 11px; font-weight: 700; color: #fff; }
.pbt-charter-cta { margin-top: 3rem; border-radius: 1rem; background: linear-gradient(to right, var(--pbt-emerald-900), var(--pbt-emerald-700) 55%, var(--pbt-emerald-800)); color: #fff; padding: 1.5rem; display: flex; flex-direction: column; align-items: center; justify-content: space-between; gap: 1.25rem; }
@media (min-width: 1024px) { .pbt-charter-cta { flex-direction: row; padding: 2rem; } }
.pbt-charter-cta .txt { text-align: center; }
@media (min-width: 1024px) { .pbt-charter-cta .txt { text-align: left; } }
.pbt-charter-cta .txt b { display: block; font-size: 1.125rem; font-weight: 700; }
@media (min-width: 640px) { .pbt-charter-cta .txt b { font-size: 1.25rem; } }
.pbt-charter-cta .txt p { margin: .375rem 0 0; font-size: .875rem; color: rgba(255,255,255,.85); line-height: 1.7; }
.pbt-charter-cta .btns { display: flex; flex-wrap: wrap; justify-content: center; gap: .625rem; flex: 0 0 auto; }

/* ===== TripAdvisor review links ===== */
.pbt-ta-badge-wrap { margin-top: 1.25rem; display: flex; justify-content: center; }
.pbt-ta-badge { display: inline-flex; align-items: center; gap: .5rem; padding: .55rem 1.1rem; border: 1px solid #d6d3d1; border-radius: 9999px; background: #fff; box-shadow: 0 1px 2px rgba(0,0,0,.05); font-weight: 700; font-size: .875rem; color: #44403c; text-decoration: none; transition: border-color .2s ease, color .2s ease; }
.pbt-ta-badge svg { width: 1.2rem; height: 1.2rem; color: #00aa6c; }
.pbt-ta-badge:hover { border-color: #00aa6c; color: #047857; }
.pbt-btn.pbt-btn-ta { display: flex; align-items: center; justify-content: center; gap: .5rem; margin-top: .625rem; border: 1px solid #d6d3d1; background: #fff; color: #44403c; font-weight: 700; }
.pbt-btn.pbt-btn-ta svg { color: #00aa6c; }
.pbt-btn.pbt-btn-ta:hover { border-color: #00aa6c; background: rgba(4,120,87,.05); }

/* ===== Movie & Instagram gallery ===== */
.pbt-sns-wrap { max-width: 56rem; margin: 0 auto; }
.pbt-sns-yt { position: relative; aspect-ratio: 16/9; width: 100%; border-radius: 1rem; overflow: hidden; background: #1c1917; box-shadow: 0 20px 25px -5px rgba(0,0,0,.1), 0 8px 10px -6px rgba(0,0,0,.1); }
.pbt-sns-yt iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.pbt-sns-cap { margin: .75rem 0 0; text-align: center; font-size: .75rem; color: var(--pbt-stone-500); }
.pbt-sns-head { margin-top: 2.5rem; display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: .75rem; }
.pbt-ig-user { display: inline-flex; align-items: center; gap: .625rem; font-weight: 700; color: #1c1917; text-decoration: none; transition: color .2s; }
.pbt-ig-user:hover { color: var(--pbt-emerald-700); }
.pbt-ig-badge { width: 2.25rem; height: 2.25rem; border-radius: 9999px; background: linear-gradient(45deg, #f58529, #dd2a7b 55%, #8134af); color: #fff; display: inline-flex; align-items: center; justify-content: center; flex: none; }
.pbt-ig-badge svg { width: 1.15rem; height: 1.15rem; }
.pbt-ig-name small { display: block; font-size: .75rem; font-weight: 400; color: var(--pbt-stone-500); }
.pbt-btn-ig { display: inline-flex; align-items: center; gap: .375rem; border-radius: 9999px; padding: .55rem 1.25rem; color: #fff; background: linear-gradient(45deg, #f58529, #dd2a7b 55%, #8134af); font-weight: 700; font-size: .875rem; text-decoration: none; box-shadow: 0 1px 3px rgba(0,0,0,.15); transition: filter .2s, box-shadow .2s; }
.pbt-btn-ig svg { width: 1rem; height: 1rem; }
.pbt-btn-ig:hover { filter: brightness(1.06); box-shadow: 0 4px 10px rgba(0,0,0,.18); }
.pbt-ig-grid { margin-top: 1rem; display: grid; grid-template-columns: repeat(2, 1fr); gap: .75rem; }
@media (min-width: 640px) { .pbt-ig-grid { grid-template-columns: repeat(3, 1fr); } }
.pbt-ig-item { position: relative; display: block; aspect-ratio: 4/5; overflow: hidden; border-radius: .75rem; background: #e7e5e4; }
.pbt-ig-item img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }
.pbt-ig-item:hover img { transform: scale(1.05); }
.pbt-ig-item .ov { position: absolute; inset: 0; display: flex; align-items: flex-end; gap: .375rem; padding: .75rem; background: linear-gradient(to top, rgba(0,0,0,.55), transparent 55%); color: #fff; font-size: .75rem; font-weight: 700; opacity: 0; transition: opacity .3s; }
.pbt-ig-item .ov svg { width: .875rem; height: .875rem; flex: none; }
.pbt-ig-item:hover .ov { opacity: 1; }
.pbt-sns-more { margin: 1.25rem 0 0; text-align: center; }
.pbt-sns-more a { font-size: .875rem; font-weight: 700; color: var(--pbt-stone-600); text-decoration: underline; text-underline-offset: 4px; text-decoration-color: #d6d3d1; transition: color .2s; }
.pbt-sns-more a:hover { color: var(--pbt-emerald-700); }
