* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 84px; }
body { margin: 0; font-size: 14px; }
a { text-decoration: none; }
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }
.site-header { box-shadow: 0 5px 22px rgba(15,23,42,.035); }
.site-logo { max-width: 185px; max-height: 44px; object-fit: contain; }
.site-logo-footer { filter: none; }
.brand-mark { display: inline-flex; align-items:center; justify-content:center; width:35px; height:35px; flex:0 0 35px; border-radius:11px; color:#043b2e; background:linear-gradient(135deg,#fcd34d,#fbbf24); box-shadow:0 5px 12px rgba(251,191,36,.2); }
.brand-mark i { font-size:17px; }
.nav-link { position:relative; transition:color .2s ease; }
.nav-link:hover { color:var(--color-primary); }
.nav-link:after { content:""; position:absolute; left:0; bottom:-7px; width:0; height:2px; border-radius:3px; background:var(--color-secondary); transition:width .2s ease; }
.nav-link:hover:after { width:100%; }
.header-wa { align-items:center; gap:8px; background:var(--color-primary); color:#fff; padding:11px 17px; border-radius:999px; font-size:11px; font-weight:800; box-shadow:0 5px 12px rgba(3,29,24,.12); transition:transform .2s,background .2s; }
.header-wa:hover { background:var(--color-primary-hover); transform:translateY(-1px); }
.mobile-nav-toggle { width:42px; height:42px; border:1px solid #e2e8f0; border-radius:12px; color:#334155; font-size:18px; }
.mobile-nav-link { display:block; padding:12px; border-radius:9px; color:#334155; }
.mobile-nav-link:hover { background:#f1f5f9; color:var(--color-primary); }
.hero-section { min-height:570px; isolation:isolate; background:var(--color-dark); }
.hero-bg { background-position:center; background-size:cover; transform:scale(1.025); animation:heroPan 22s ease-in-out infinite alternate; }
.hero-overlay { z-index:1; }
@keyframes heroPan { from { transform:scale(1.025); } to { transform:scale(1.09); } }
.hero-eyebrow { display:inline-flex; align-items:center; gap:8px; padding:7px 13px; border:1px solid rgba(251,191,36,.25); border-radius:999px; background:rgba(251,191,36,.13); color:#fcd34d; font-size:10px; font-weight:800; letter-spacing:.06em; text-transform:uppercase; }
.hero-eyebrow i { font-size:11px; }
.hero-subtitle { text-shadow:0 1px 8px rgba(0,0,0,.25); }
.hero-search-card { background:rgba(255,255,255,.98); border:1px solid rgba(255,255,255,.65); border-radius:18px; padding:13px 15px; box-shadow:0 18px 48px rgba(0,0,0,.24); }
.search-field { padding:6px 11px; border-right:1px solid #e5e7eb; min-width:0; }
.search-field label { display:flex; gap:7px; align-items:center; color:var(--color-primary); font-size:8px; letter-spacing:.08em; font-weight:800; margin-bottom:8px; }
.search-field select,.search-field input { width:100%; color:#334155; border:0; outline:0; background:transparent; font-size:11px; font-weight:700; min-width:0; }
.search-field select { cursor:pointer; }
.search-submit { display:flex; align-items:center; justify-content:center; gap:8px; background:var(--color-primary); color:white; font-size:11px; font-weight:800; padding:15px 17px; border-radius:10px; box-shadow:0 5px 12px rgba(7,94,74,.16); transition:background .2s,transform .2s; white-space:nowrap; }
.search-submit:hover,.btn-primary:hover { background:var(--color-primary-hover); transform:translateY(-1px); }
.hero-stats strong { display:block; color:var(--color-secondary); font-size:20px; font-weight:900; line-height:1.2; }
.hero-stats span { display:block; margin-top:5px; color:rgba(255,255,255,.74); font-size:10px; font-weight:600; }
.section-pad { padding-top:67px; padding-bottom:68px; }
.section-eyebrow { display:inline-block; color:var(--color-primary); font-size:9px; font-weight:900; letter-spacing:.13em; text-transform:uppercase; margin-bottom:8px; }
.section-heading-grid { display:grid; grid-template-columns:1.2fr .8fr; align-items:end; gap:28px; }
.section-heading-grid h2,.section-pad h2 { color:#0f172a; font-size:clamp(25px,3vw,34px); line-height:1.18; letter-spacing:-.035em; font-weight:900; margin:0; }
.section-heading-grid p { margin:0; color:#64748b; line-height:1.75; font-size:12px; }
.section-pad > .mx-auto > .text-center h2 { color:#0f172a; font-size:clamp(25px,3vw,34px); line-height:1.18; letter-spacing:-.035em; font-weight:900; margin:0; }
.package-card { overflow:hidden; border-radius:16px; background:#fff; border:1px solid #e5eaf0; box-shadow:0 5px 18px rgba(15,23,42,.055); display:flex; flex-direction:column; min-width:0; transition:transform .25s,box-shadow .25s; }
.package-card:hover { transform:translateY(-4px); box-shadow:0 16px 35px rgba(15,23,42,.12); }
.package-image-wrap { position:relative; display:block; height:174px; overflow:hidden; background:#e2e8f0; }
.package-image { display:block; width:100%; height:100%; object-fit:cover; transition:transform .55s; }
.package-card:hover .package-image { transform:scale(1.06); }
.package-badge,.package-duration,.package-rating { position:absolute; border-radius:99px; font-size:9px; font-weight:800; line-height:1; }
.package-badge { top:12px; left:12px; color:#06382e; background:#facc15; padding:7px 9px; }
.package-duration { left:12px; bottom:12px; background:rgba(3,29,24,.82); color:white; padding:7px 9px; backdrop-filter:blur(8px); }
.package-rating { right:12px; bottom:12px; background:rgba(3,29,24,.75); color:#fbbf24; padding:7px 9px; }
.package-body { display:flex; flex-direction:column; flex:1; padding:15px 16px 14px; }
.package-body h3 { color:#0f172a; font-size:14px; font-weight:900; line-height:1.4; margin:0; }
.package-body h3 a:hover { color:var(--color-primary); }
.package-pin { color:var(--color-primary); font-size:11px; margin-top:3px; }
.package-destination { margin:5px 0 11px; color:#94a3b8; font-size:10px; font-weight:700; }
.package-feature-list { list-style:none; display:grid; gap:6px; padding:0; margin:0 0 14px; color:#64748b; font-size:10px; line-height:1.45; }
.package-feature-list li { display:flex; align-items:flex-start; gap:6px; }
.package-feature-list i { color:#10b981; font-size:10px; margin-top:1px; }
.package-card-bottom { display:flex; align-items:end; justify-content:space-between; gap:8px; margin-top:auto; border-top:1px solid #f1f5f9; padding-top:12px; }
.package-card-bottom small { display:block; font-size:7px; color:#94a3b8; letter-spacing:.1em; font-weight:800; }
.package-card-bottom strong { display:block; color:var(--color-primary); font-size:15px; font-weight:900; margin-top:2px; white-space:nowrap; }
.package-card-bottom span { display:block; font-size:8px; color:#94a3b8; margin-top:1px; }
.btn-soft,.btn-mini-primary { display:inline-flex; align-items:center; justify-content:center; border-radius:7px; padding:8px 10px; font-size:9px; font-weight:900; white-space:nowrap; transition:all .2s; }
.btn-soft { color:#475569; background:#f1f5f9; }
.btn-soft:hover { background:#e2e8f0; }
.btn-mini-primary { color:#fff; background:var(--color-primary); }
.btn-mini-primary:hover { background:var(--color-primary-hover); }
.btn-outline-primary { display:inline-flex; align-items:center; justify-content:center; padding:12px 18px; border:1px solid var(--color-primary); color:var(--color-primary); font-weight:800; font-size:11px; border-radius:10px; transition:all .2s; }
.btn-outline-primary:hover { background:var(--color-primary); color:white; }
.custom-tour-section { color:#fff; background:radial-gradient(ellipse at 15% 10%,rgba(6,95,70,.35),transparent 45%),linear-gradient(135deg,#031d18,#032a22 65%,#031d18); }
.custom-tour-section h2 { color:#fff!important; }
.section-eyebrow-gold { color:#fbbf24; }
.custom-tour-grid { display:grid; grid-template-columns:1.05fr .95fr; gap:22px; max-width:940px; margin:0 auto; }
.custom-tour-controls { padding:23px; border:1px solid rgba(255,255,255,.07); border-radius:18px; background:rgba(255,255,255,.07); box-shadow:inset 0 1px 0 rgba(255,255,255,.04); }
.form-group + .form-group { margin-top:23px; }
.form-group > label { display:block; margin-bottom:10px; font-size:11px; font-weight:800; color:#edfdf6; }
.duration-options { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:7px; }
.duration-options button { background:rgba(2,23,19,.45); border:1px solid rgba(255,255,255,.12); color:#cbd5e1; padding:11px 6px; font-size:9px; border-radius:8px; font-weight:800; }
.duration-options button.selected { color:#fef3c7; background:rgba(251,191,36,.13); border-color:#ca8a04; }
.interest-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px; }
.interest-option { display:flex; gap:7px; align-items:center; color:#d1fae5; font-size:9px; background:rgba(2,23,19,.42); border:1px solid rgba(255,255,255,.1); border-radius:7px; padding:10px 8px; cursor:pointer; }
.interest-option input { accent-color:#10b981; width:12px; height:12px; }
.form-control-dark { width:100%; color:#e2e8f0; background:#0c332b; border:1px solid rgba(255,255,255,.15); padding:12px; border-radius:8px; outline:0; font-size:10px; }
.form-control-dark option { background:#08251f; }
.tour-range { width:100%; accent-color:#fbbf24; margin:8px 0; }
.range-labels { display:flex; justify-content:space-between; color:#90aaa2; font-size:8px; }
.custom-tour-result { padding:25px; border:1px solid rgba(251,191,36,.17); border-radius:18px; background:rgba(0,15,12,.44); }
.custom-tour-result h3 { margin:3px 0 19px; color:white; font-size:19px; font-weight:900; }
.result-row { display:flex; justify-content:space-between; gap:15px; padding:11px 0; border-bottom:1px solid rgba(255,255,255,.08); font-size:10px; }
.result-row span { color:#9db8af; }
.result-row strong { color:#e2f8ee; text-align:right; font-weight:800; }
.estimated-price { padding:19px 0 15px; }
.estimated-price small { display:block; color:#9db8af; font-size:9px; }
.estimated-price strong { display:block; color:#fbbf24; font-size:29px; letter-spacing:-.04em; font-weight:900; line-height:1.25; margin:5px 0; }
.estimated-price span { color:#6f998b; display:block; font-size:8px; line-height:1.5; }
.btn-gold { border-radius:9px; padding:13px 16px; display:inline-flex; align-items:center; justify-content:center; color:#06251e; font-size:10px; font-weight:900; background:var(--color-secondary); transition:all .2s; }
.btn-gold:hover { background:#f59e0b; transform:translateY(-1px); }
.destination-filters { display:flex; flex-wrap:wrap; justify-content:center; gap:7px; margin-bottom:25px; }
.destination-filters button { border:1px solid #e2e8f0; color:#64748b; background:#fff; padding:8px 13px; border-radius:99px; font-size:9px; font-weight:800; transition:all .2s; }
.destination-filters button.active,.destination-filters button:hover { color:white; background:var(--color-primary); border-color:var(--color-primary); }
.destination-card { position:relative; display:block; overflow:hidden; min-height:190px; height:210px; border-radius:13px; background:#cbd5e1; box-shadow:0 5px 13px rgba(15,23,42,.08); isolation:isolate; }
.destination-card img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform .6s; z-index:-2; }
.destination-card:hover img { transform:scale(1.07); }
.destination-gradient { position:absolute; inset:0; z-index:-1; background:linear-gradient(0deg,rgba(2,18,16,.92),rgba(2,18,16,.06) 77%); }
.destination-copy { display:flex; flex-direction:column; position:absolute; bottom:0; left:0; right:0; padding:16px; color:#fff; }
.destination-copy strong { font-size:14px; font-weight:900; line-height:1.25; }
.destination-copy small { color:#e2e8f0; font-size:9px; line-height:1.5; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; margin-top:5px; }
.destination-copy em { font-style:normal; font-size:8px; color:#fcd34d; margin-top:7px; font-weight:800; }
.category-card { height:240px; position:relative; overflow:hidden; border-radius:15px; background:#052c24; box-shadow:0 4px 15px rgba(15,23,42,.08); isolation:isolate; }
.category-card img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:-2; transition:transform .5s; }
.category-card:hover img { transform:scale(1.07); }
.category-card-overlay { position:absolute; inset:0; z-index:-1; background:linear-gradient(0deg,rgba(2,24,20,.96),rgba(2,24,20,.12)); }
.category-card-content { position:absolute; left:18px; right:18px; bottom:18px; color:#fff; }
.category-card-content > span { width:37px; height:37px; display:inline-flex; align-items:center; justify-content:center; background:var(--color-primary); border-radius:11px; color:#fff; font-size:16px; margin-bottom:10px; }
.category-card-content h3 { font-size:15px; font-weight:900; margin:0 0 6px; }
.category-card-content div { font-size:10px; line-height:1.5; color:#cbd5e1; max-height:44px; overflow:hidden; }
.fleet-card { border:1px solid #e5eaf0; background:#fff; border-radius:16px; overflow:hidden; box-shadow:0 5px 17px rgba(15,23,42,.055); transition:transform .25s,box-shadow .25s; }
.fleet-card:hover { transform:translateY(-3px); box-shadow:0 14px 28px rgba(15,23,42,.1); }
.fleet-image { display:block; height:190px; position:relative; overflow:hidden; background:#e2e8f0; }
.fleet-image img { width:100%; height:100%; object-fit:cover; transition:transform .5s; }
.fleet-card:hover .fleet-image img { transform:scale(1.05); }
.fleet-image span { position:absolute; top:13px; left:13px; padding:7px 10px; border-radius:50px; background:var(--color-secondary); color:#24312a; font-size:9px; font-weight:900; }
.fleet-card h3 { font-size:16px; font-weight:900; color:#0f172a; margin:0; }
.fleet-specs { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:5px; background:#f8fafc; border:1px solid #edf2f7; padding:10px 8px; border-radius:9px; color:#64748b; font-size:9px; margin:13px 0; }
.fleet-specs span { display:flex; gap:5px; align-items:center; min-width:0; }
.fleet-specs i { color:var(--color-primary); }
.fleet-prices { border-top:1px solid #f1f5f9; padding-top:10px; display:grid; gap:8px; }
.fleet-prices div { display:flex; align-items:center; justify-content:space-between; gap:10px; font-size:10px; }
.fleet-prices span { color:#64748b; }
.fleet-prices strong { color:var(--color-primary); font-size:12px; font-weight:900; }
.btn-primary { display:inline-flex; align-items:center; justify-content:center; gap:6px; padding:13px 16px; border:0; border-radius:9px; color:#fff; background:var(--color-primary); font-weight:900; font-size:11px; box-shadow:0 5px 13px rgba(7,94,74,.13); transition:background .2s,transform .2s; }
.service-card,.benefit-card,.step-card { border:1px solid #e5eaf0; background:#fff; border-radius:15px; padding:22px; box-shadow:0 5px 17px rgba(15,23,42,.035); }
.service-icon,.benefit-card > span { display:flex; align-items:center; justify-content:center; width:43px; height:43px; border-radius:13px; color:var(--color-primary); background:color-mix(in srgb,var(--color-primary) 10%, white); font-size:18px; margin-bottom:15px; }
.service-card h3,.benefit-card h3,.step-card h3 { font-weight:900; color:#0f172a; font-size:15px; margin:0 0 8px; line-height:1.35; }
.service-card p,.benefit-card p { font-size:11px; color:#64748b; line-height:1.75; margin:0 0 13px; }
.service-price { display:block; color:var(--color-primary); font-size:12px; font-weight:900; margin-bottom:13px; }
.service-price small { color:#94a3b8; font-size:9px; font-weight:600; }
.service-link { display:flex; justify-content:space-between; color:var(--color-primary); border-top:1px solid #eef2f7; padding-top:12px; font-size:10px; font-weight:900; }
.service-link:hover { color:var(--color-primary-hover); }
.booking-section { background:#eef3f8; }
.booking-panel { max-width:870px; margin:0 auto; padding:29px; background:#fff; border:1px solid #e8edf3; border-radius:18px; box-shadow:0 8px 24px rgba(15,23,42,.09); }
.booking-panel h2 { color:#0f172a!important; font-size:27px!important; }
.booking-panel .text-center p { color:#64748b; font-size:10px; line-height:1.7; margin-top:8px; }
.booking-form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:15px; }
.form-field { min-width:0; }
.form-field-wide { grid-column:1/-1; }
.form-field label { display:block; font-size:8px; color:#475569; font-weight:900; text-transform:uppercase; letter-spacing:.04em; margin-bottom:6px; }
.form-field input,.form-field select,.form-field textarea { width:100%; min-width:0; border:1px solid #dfe7ef; background:#f8fafc; color:#334155; border-radius:8px; padding:11px 12px; outline:0; font-size:10px; transition:border .2s,box-shadow .2s; }
.form-field input:focus,.form-field select:focus,.form-field textarea:focus { border-color:var(--color-primary); box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 13%,transparent); background:#fff; }
.form-field textarea { resize:vertical; }
.form-field button:disabled { opacity:.7; cursor:wait; }
.booking-feedback { font-size:10px; margin-top:8px; font-weight:700; }
.booking-feedback.success { color:#047857; }
.booking-feedback.error { color:#b91c1c; }
.form-disclaimer { color:#94a3b8; font-size:9px; margin-top:9px; text-align:center; line-height:1.5; }
.benefit-card { padding:22px; }
.benefit-card > span { background:#e8f7ef; color:var(--color-primary); }
.step-card { padding:23px; }
.step-top { display:flex; justify-content:space-between; align-items:center; margin-bottom:18px; color:var(--color-primary); }
.step-top span { color:#cbd5e1; font-size:28px; font-weight:900; letter-spacing:-.06em; }
.step-top i { width:41px; height:41px; border-radius:13px; background:#e8f7ef; display:flex; justify-content:center; align-items:center; font-size:17px; }
.step-card h3 { margin-bottom:9px; }
.step-card .text-sm { font-size:10px; }
.testimonial-card { border:1px solid #e6ebf1; background:#f8fafc; padding:21px; border-radius:14px; box-shadow:0 4px 15px rgba(15,23,42,.035); display:flex; flex-direction:column; }
.testimonial-stars { display:flex; gap:3px; color:#f59e0b; font-size:10px; }
.testimonial-stars .star-muted { color:#cbd5e1; }
.testimonial-quote { color:#475569; font-size:11px; font-style:italic; line-height:1.8; margin:14px 0 20px; flex:1; }
.testimonial-author { display:flex; align-items:center; gap:10px; border-top:1px solid #e6ebf1; padding-top:14px; }
.testimonial-author img,.avatar-initial { width:35px; height:35px; flex:0 0 35px; border-radius:50%; object-fit:cover; }
.avatar-initial { display:flex; align-items:center; justify-content:center; background:var(--color-primary); color:#fff; font-size:12px; font-weight:900; }
.testimonial-author strong { display:block; font-size:10px; color:#0f172a; font-weight:900; }
.testimonial-author small { display:block; color:#94a3b8; font-size:8px; margin-top:3px; }
.faq-stack { display:grid; gap:8px; }
.faq-item { border:1px solid #e2e8f0; border-radius:10px; background:#fff; overflow:hidden; }
.faq-question { width:100%; display:flex; align-items:center; justify-content:space-between; gap:15px; padding:15px 16px; color:#334155; text-align:left; font-size:11px; font-weight:800; }
.faq-question i { color:var(--color-primary); font-size:10px; transition:transform .2s; }
.faq-answer { padding:0 16px 16px; color:#64748b; font-size:11px; line-height:1.8; }
.rich-content p { margin:0 0 10px; }.rich-content p:last-child { margin-bottom:0; }.rich-content ul,.rich-content ol { list-style:revert; padding-left:22px; margin:8px 0; }.rich-content a { color:var(--color-primary); text-decoration:underline; }.rich-content strong { color:#334155; }.custom-tour-section .rich-content strong { color:#e2e8f0; }
.branch-card { padding:23px; border:1px solid #e5eaf0; border-radius:14px; background:#fff; box-shadow:0 5px 18px rgba(15,23,42,.04); }
.branch-icon { display:flex; align-items:center; justify-content:center; width:40px; height:40px; background:#e8f7ef; border-radius:12px; color:var(--color-primary); font-size:16px; margin-bottom:14px; }
.branch-card h3 { margin:0 0 10px; color:#0f172a; font-size:15px; font-weight:900; }
.branch-card p { color:#64748b; font-size:10px; line-height:1.7; margin:0 0 11px; }
.branch-line { display:flex; gap:9px; margin-top:9px; align-items:flex-start; color:#64748b; font-size:10px; line-height:1.5; }
.branch-line i { margin-top:2px; color:var(--color-primary); width:13px; }
.branch-line a:hover { color:var(--color-primary); }
.branch-map iframe { width:100%; height:170px; border:0; border-radius:9px; margin-top:12px; }
.map-link { display:inline-flex; gap:7px; align-items:center; color:var(--color-primary); font-size:10px; font-weight:900; margin-top:8px; }
.empty-state { background:#fff; border:1px dashed #cbd5e1; border-radius:14px; padding:30px; color:#64748b; font-size:12px; text-align:center; grid-column:1/-1; }
.site-footer { background:#020817; }
.footer-heading { color:#fff; font-size:10px; font-weight:900; letter-spacing:.12em; text-transform:uppercase; margin:3px 0 17px; }
.footer-links { display:grid; gap:10px; color:#98a6ba; font-size:10px; }
.footer-links a:hover { color:#fbbf24; }
.social-pill { display:inline-flex; align-items:center; justify-content:center; width:28px; height:28px; border:1px solid rgba(255,255,255,.13); border-radius:50%; color:#cbd5e1; font-size:11px; transition:all .2s; }
.social-pill:hover { color:#041f18; background:#fbbf24; border-color:#fbbf24; }
.floating-actions { position:fixed; right:20px; bottom:22px; z-index:35; display:flex; flex-direction:column; align-items:flex-end; gap:9px; }
.float-wa,.float-call { display:inline-flex; align-items:center; justify-content:center; border-radius:99px; box-shadow:0 8px 24px rgba(2,12,10,.22); transition:transform .2s; }
.float-wa:hover,.float-call:hover { transform:translateY(-2px); }
.float-wa { gap:9px; padding:12px 17px; background:#16a34a; color:white; font-size:11px; font-weight:900; }
.float-wa i { font-size:18px; }
.float-call { width:41px; height:41px; background:#fff; color:var(--color-primary); font-size:14px; }
.detail-hero { position:relative; overflow:hidden; isolation:isolate; color:white; background:var(--color-dark); }
.detail-hero-image,.detail-hero-overlay { position:absolute; inset:0; z-index:-2; }
.detail-hero-image { background-size:cover; background-position:center; }
.detail-hero-overlay { z-index:-1; background:linear-gradient(90deg,rgba(2,29,24,.94),rgba(2,29,24,.64)); }
.detail-back { display:inline-block; color:#fbbf24; font-size:11px; font-weight:800; margin-bottom:22px; }
.detail-kind { display:block; color:#fde68a; font-size:9px; font-weight:900; text-transform:uppercase; letter-spacing:.14em; margin-bottom:8px; }
.detail-hero h1 { color:#fff; font-size:clamp(30px,4vw,48px); font-weight:900; letter-spacing:-.04em; max-width:820px; line-height:1.13; }
.detail-hero p { color:#d1d5db; max-width:720px; font-size:13px; line-height:1.8; margin-top:13px; }
.detail-content,.detail-booking-card { background:white; border:1px solid #e5eaf0; border-radius:16px; padding:22px; box-shadow:0 6px 22px rgba(15,23,42,.045); }
.detail-main-image { width:100%; height:320px; object-fit:cover; border-radius:12px; margin-bottom:20px; }
.detail-content h2 { color:#0f172a; font-size:20px; font-weight:900; margin:23px 0 11px; }
.detail-intro { color:#475569; font-size:13px; line-height:1.8; }
.detail-rich-content { color:#475569; font-size:12px; line-height:1.9; }
.detail-price-row { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:12px; padding:15px; border:1px solid #e5f2ec; background:#f6fbf8; border-radius:12px; margin:0 0 18px; }
.detail-price-row small,.detail-price-row strong,.detail-price-row span { display:block; }.detail-price-row small { color:#94a3b8; font-size:8px; font-weight:900; letter-spacing:.12em; }.detail-price-row strong { color:var(--color-primary); font-size:24px; font-weight:900; }.detail-price-row span { color:#64748b; font-size:9px; }.detail-pill { padding:8px 11px; color:var(--color-primary); background:#e6f6ee; border-radius:99px; font-size:10px; font-weight:900; }
.detail-facts { display:grid; grid-template-columns:repeat(auto-fit,minmax(125px,1fr)); gap:10px; margin:15px 0 19px; }.detail-facts div { background:#f8fafc; border:1px solid #eef2f7; border-radius:10px; padding:12px; }.detail-facts small,.detail-facts strong { display:block; }.detail-facts small { color:#94a3b8; font-size:8px; }.detail-facts strong { color:#334155; font-size:11px; margin-top:4px; }
.detail-prices { display:grid; gap:10px; padding:0 0 17px; }.detail-prices div { display:flex; justify-content:space-between; gap:10px; font-size:11px; }.detail-prices span { color:#64748b; }.detail-prices strong { color:var(--color-primary); font-weight:900; }
.detail-list { display:grid; gap:8px; margin:10px 0; list-style:none; padding:0; }.detail-list li { display:flex; gap:8px; color:#475569; font-size:11px; }.detail-list i { color:var(--color-primary); }
.detail-note { display:flex; gap:12px; padding:14px; border-radius:10px; color:#475569; background:#fffbeb; border:1px solid #fef3c7; margin-top:25px; }.detail-note i { color:#d97706; margin-top:3px; }.detail-note p { font-size:10px; line-height:1.7; margin:0; }
.detail-booking-card { position:sticky; top:100px; padding:25px; }.detail-booking-card h2 { font-weight:900; color:#0f172a; font-size:22px; line-height:1.25; margin:0 0 10px; }.detail-booking-card p { color:#64748b; font-size:11px; line-height:1.8; margin:0 0 18px; }.detail-assurance { display:grid; gap:12px; border-top:1px solid #e5eaf0; padding-top:18px; margin-top:20px; }.detail-assurance span { display:flex; gap:9px; color:#64748b; font-size:10px; align-items:center; }.detail-assurance i { color:var(--color-primary); width:14px; }
@media (max-width: 768px) {
    .hero-section { min-height:560px; }
    .hero-search-card { padding:10px; border-radius:14px; }
    .search-field { border-right:0; border-bottom:1px solid #edf2f7; padding:7px 9px 10px; }
    .search-submit { padding:13px; }
    .section-pad { padding-top:48px; padding-bottom:49px; }
    .section-heading-grid { grid-template-columns:1fr; gap:10px; }
    .package-image-wrap { height:185px; }
    .custom-tour-grid { grid-template-columns:1fr; }
    .custom-tour-controls,.custom-tour-result { padding:18px; }
    .booking-panel { padding:20px 15px; }
    .destination-card { height:205px; }
    .detail-main-image { height:230px; }
    .detail-booking-card { position:static; }
    .site-logo { max-width:150px; }
}
@media (max-width: 480px) {
    .hero-section { min-height:600px; }
    .hero-stats strong { font-size:17px; }
    .hero-stats span { font-size:9px; }
    .booking-form-grid { grid-template-columns:1fr; gap:13px; }
    .form-field-wide { grid-column:auto; }
    .package-card-bottom strong { font-size:14px; }
    .package-card-bottom { align-items:center; }
    .package-card-bottom .btn-soft,.package-card-bottom .btn-mini-primary { padding:8px; }
    .interest-grid { grid-template-columns:1fr 1fr; }
    .floating-actions { right:12px; bottom:14px; }
    .float-wa { padding:11px 14px; }
}
@media (prefers-reduced-motion: reduce) { *,*::before,*::after { animation-duration:.01ms!important; animation-iteration-count:1!important; scroll-behavior:auto!important; transition-duration:.01ms!important; } }

/* Hero banner actions */
.hero-cta-row a { display:inline-flex; align-items:center; justify-content:center; border-radius:10px; padding:11px 17px; font-size:10px; font-weight:900; transition:transform .2s,background .2s,border-color .2s; }
.hero-cta-row a:hover { transform:translateY(-1px); }
.hero-cta-primary { background:var(--color-primary); color:#fff; box-shadow:0 7px 18px rgba(0,0,0,.14); }
.hero-cta-primary:hover { background:var(--color-primary-hover); }
.hero-cta-secondary { border:1px solid rgba(255,255,255,.42); color:#fff; background:rgba(255,255,255,.09); backdrop-filter:blur(8px); }
.hero-cta-secondary:hover { background:rgba(255,255,255,.17); }
.detail-gallery { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; margin:12px 0 24px; }
.detail-gallery a { display:block; border-radius:10px; overflow:hidden; background:#e2e8f0; aspect-ratio:4/3; }
.detail-gallery img { width:100%; height:100%; object-fit:cover; transition:transform .3s; }
.detail-gallery a:hover img { transform:scale(1.06); }
@media(max-width:640px) { .detail-gallery { grid-template-columns:repeat(2,minmax(0,1fr)); } }
