@import "./service-index.css";

/* Detail Wisata & Event follows the same calm information hierarchy as AKAP. */
.v2-hw-detail { padding: 2rem 0 4.5rem; color: #203554; }.v2-hw-detail-container { width: min(100% - 2rem, 75rem); margin: 0 auto; }.v2-hw-detail-breadcrumb { display:flex; flex-wrap:wrap; align-items:center; gap:.45rem; margin-bottom:1.15rem; color:#71819a; font-size:.8rem; }.v2-hw-detail-breadcrumb a { color:inherit; text-decoration:none; }.v2-hw-detail-breadcrumb a:hover { color:#265ed1; }.v2-hw-detail-breadcrumb i { color:#a0adbd; font-size:.62rem; }.v2-hw-detail-identity { margin-bottom:1rem; }.v2-hw-detail-title-row { display:flex; flex-wrap:wrap; align-items:center; gap:.75rem; }.v2-hw-detail h1,.v2-hw-detail h2 { margin:0; color:#18315a; font-family:"Manrope","Plus Jakarta Sans",sans-serif; font-weight:800; }.v2-hw-detail h1 { font-size:2rem; letter-spacing:-.04em; }.v2-hw-detail h2 { font-size:1rem; }.v2-hw-detail-rating { display:inline-flex; align-items:center; gap:.3rem; padding:.38rem .58rem; border:1px solid #e7edf5; border-radius:.55rem; background:#fff; color:#354a66; font-size:.76rem; font-weight:750; }.v2-hw-detail-rating i { color:#f5b83b; }.v2-hw-detail-rating small { color:#7a899e; font-size:.7rem; }.v2-hw-detail-meta { display:flex; flex-wrap:wrap; gap:.45rem; margin-top:.7rem; }.v2-hw-detail-meta span { display:inline-flex; align-items:center; gap:.42rem; padding:.42rem .68rem; border-radius:999px; background:#edf3fb; color:#526983; font-size:.75rem; font-weight:700; }.v2-hw-detail-meta i { color:#2864d7; }.v2-hw-detail-gallery { position:relative; height:clamp(18rem,31vw,23rem); overflow:hidden; border-radius:.9rem; background:#eaf0f7; box-shadow:0 .5rem 1.25rem rgba(27,54,94,.08); }.v2-hw-detail-gallery img { width:100%; height:100%; object-fit:cover; }.v2-hw-detail-gallery > span { position:absolute; right:.7rem; bottom:.7rem; display:flex; gap:.35rem; padding:.42rem .55rem; border-radius:.55rem; background:rgba(19,37,65,.76); color:#fff; font-size:.7rem; font-weight:750; }.v2-hw-detail-layout { display:grid; grid-template-columns:minmax(0,1fr) 20rem; gap:1rem; margin-top:1rem; align-items:start; }.v2-hw-detail-content { display:grid; gap:1rem; }.v2-hw-detail-panel,.v2-hw-detail-booking { border:1px solid #e0e8f2; border-radius:.9rem; background:#fff; box-shadow:0 .5rem 1.25rem rgba(27,54,94,.05); }.v2-hw-detail-panel { padding:1rem; }.v2-hw-detail-panel p { margin:.7rem 0 0; color:#63758d; font-size:.82rem; line-height:1.7; white-space:pre-line; }.v2-hw-detail-facts { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.65rem; margin-top:.8rem; }.v2-hw-detail-facts > div { display:flex; gap:.55rem; padding:.7rem; border-radius:.65rem; background:#f7f9fc; }.v2-hw-detail-facts > div > i { color:#3568c8; font-size:1rem; }.v2-hw-detail-facts small,.v2-hw-detail-facts strong { display:block; }.v2-hw-detail-facts small { color:#8290a3; font-size:.67rem; }.v2-hw-detail-facts strong { margin-top:.18rem; color:#334963; font-size:.73rem; line-height:1.35; }.v2-hw-detail-booking { position:sticky; top:6.2rem; overflow:hidden; padding:1rem; }.v2-hw-detail-booking > header { margin:-1rem -1rem 1rem; padding:1rem; background:linear-gradient(120deg,#eaf1fe  ,#fbfdff); }.v2-hw-detail-booking > header span,.v2-hw-detail-booking > header small { display:block; color:#71829b; font-size:.7rem; }.v2-hw-detail-booking > header strong { display:block; margin:.15rem 0; color:#2454b8; font-size:1.35rem; }.v2-hw-detail-booking > h2 { margin-bottom:.75rem; }.v2-hw-detail-booking form { display:grid; gap:.7rem; padding:.75rem 0; border-top:1px solid #edf1f6; }.v2-hw-detail-booking form > div { display:flex; align-items:center; justify-content:space-between; gap:.5rem; color:#203a62; font-size:.78rem; }.v2-hw-detail-booking form > div span { color:#315ecc; font-weight:800; }.v2-hw-detail-booking button { display:flex; align-items:center; justify-content:center; gap:.4rem; width:100%; min-height:2.45rem; border:1px solid #315ecc; border-radius:.55rem; background:#315ecc; color:#fff; font:750 .75rem/1 inherit; cursor:pointer; }.v2-hw-detail-booking button:hover { background:#264da9; }
@media (max-width:760px) { .v2-hw-detail-layout { grid-template-columns:1fr; }.v2-hw-detail-booking { position:static; }.v2-hw-detail-facts { grid-template-columns:1fr; }.v2-hw-detail-gallery { height:15rem; }.v2-hw-detail h1 { font-size:1.55rem; } }

.v2-hw-checkout { min-height:100%; padding:2rem 0 4rem; background:#f7f9fc; color:#203858; }.v2-hw-checkout-container { width:min(calc(100% - 32px),75rem); margin:auto; }.v2-hw-checkout-head { margin-bottom:1.25rem; }.v2-hw-checkout-head > span { color:#3169d1; font-size:.72rem; font-weight:800; letter-spacing:.06em; text-transform:uppercase; }.v2-hw-checkout-head h1 { margin:.25rem 0 .4rem; color:#19375f; font:800 clamp(1.65rem,2.5vw,2rem)/1.2 "Manrope","Plus Jakarta Sans",sans-serif; letter-spacing:-.04em; }.v2-hw-checkout-head p { margin:0; color:#7d8da2; font-size:.84rem; }.v2-hw-checkout-layout { display:grid; grid-template-columns:minmax(0,1fr) 20rem; gap:1.25rem; align-items:start; }.v2-hw-checkout-main { display:grid; gap:1rem; }.v2-hw-checkout-card,.v2-hw-checkout-summary { border:1px solid #e0e7f1; border-radius:.9rem; background:#fff; box-shadow:0 .5rem 1.25rem rgba(37,57,86,.05); }.v2-hw-checkout-card { padding:1.2rem; }.v2-hw-checkout-card > header { display:flex; align-items:center; gap:.7rem; padding-bottom:1rem; border-bottom:1px solid #edf1f6; }.v2-hw-checkout-card > header > span { display:grid; place-items:center; width:2.4rem; height:2.4rem; border-radius:.65rem; background:#eef4ff; color:#3169d1; }.v2-hw-checkout-card > header strong,.v2-hw-checkout-card > header small { display:block; }.v2-hw-checkout-card > header strong { color:#243d60; font-size:.9rem; }.v2-hw-checkout-card > header small { margin-top:.15rem; color:#8090a5; font-size:.71rem; }.v2-hw-checkout-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.8rem; margin-top:1rem; }.v2-hw-checkout-fields label:first-child { grid-column:1 / -1; }.v2-hw-checkout-fields label,.v2-hw-checkout-coupon { display:grid; gap:.35rem; color:#60748f; font-size:.72rem; font-weight:700; }.v2-hw-checkout-fields input,.v2-hw-checkout-coupon input { min-height:2.55rem; padding:.6rem .7rem; border:1px solid #dce5ef; border-radius:.55rem; color:#2b405d; font:600 .78rem/1.2 inherit; outline:0; }.v2-hw-checkout-fields input:focus,.v2-hw-checkout-coupon input:focus { border-color:#8facdf; box-shadow:0 0 0 3px rgba(49,105,209,.08); }.v2-hw-checkout-terms { display:flex; align-items:flex-start; gap:.55rem; margin-top:1rem; color:#71829a; font-size:.72rem; line-height:1.5; }.v2-hw-checkout-terms input { margin-top:.1rem; accent-color:#3169d1; }.v2-hw-checkout-visit { display:flex; gap:.8rem; padding-top:1rem; }.v2-hw-checkout-visit img { width:5.2rem; height:4.1rem; border-radius:.55rem; object-fit:cover; }.v2-hw-checkout-visit strong,.v2-hw-checkout-visit span,.v2-hw-checkout-visit small { display:block; }.v2-hw-checkout-visit strong { color:#253e60; font-size:.82rem; }.v2-hw-checkout-visit span,.v2-hw-checkout-visit small { margin-top:.23rem; color:#73849b; font-size:.72rem; }.v2-hw-checkout-visit i { margin-right:.25rem; color:#3169d1; }.v2-hw-checkout-summary { position:sticky; top:6rem; padding:1.2rem; }.v2-hw-checkout-summary h2 { margin:0 0 1rem; padding-bottom:.9rem; border-bottom:1px solid #e9eef5; color:#243d60; font:800 1rem/1.2 "Manrope","Plus Jakarta Sans",sans-serif; }.v2-hw-checkout-row,.v2-hw-checkout-quantity { display:flex; justify-content:space-between; align-items:center; gap:.8rem; padding:.8rem 0; border-bottom:1px solid #edf1f6; color:#6d7f96; font-size:.75rem; }.v2-hw-checkout-row strong { color:#293f5e; }.v2-hw-checkout-quantity > div { display:flex; align-items:center; }.v2-hw-checkout-quantity button { display:grid; place-items:center; width:1.9rem; height:1.9rem; border:1px solid #dce5ef; background:#fff; color:#3169d1; cursor:pointer; }.v2-hw-checkout-quantity button:first-child { border-radius:.45rem 0 0 .45rem; }.v2-hw-checkout-quantity button:last-child { border-radius:0 .45rem .45rem 0; }.v2-hw-checkout-quantity input { width:2.3rem; height:1.9rem; border:1px solid #dce5ef; border-inline:0; text-align:center; color:#253f61; font-weight:750; }.v2-hw-checkout-coupon { margin-top:.9rem; }.v2-hw-checkout-total { display:flex; justify-content:space-between; align-items:end; margin:1rem -1.2rem; padding:1rem 1.2rem; background:#eef4ff; }.v2-hw-checkout-total span { color:#5f7593; font-size:.76rem; font-weight:700; }.v2-hw-checkout-total strong { color:#2858bc; font-size:1.35rem; }.v2-hw-checkout-submit { display:flex; align-items:center; justify-content:center; gap:.45rem; width:100%; min-height:2.65rem; border:1px solid #3169d1; border-radius:.6rem; background:#3169d1; color:#fff; font:750 .8rem/1 inherit; cursor:pointer; }.v2-hw-checkout-submit:hover { background:#2858b8; }.v2-hw-checkout-alert { margin:0 0 1rem; padding:.75rem .9rem; border:1px solid #f0cccc; border-radius:.6rem; background:#fff5f5; color:#b24b4b; font-size:.8rem; }
@media (max-width:800px) { .v2-hw-checkout-layout { grid-template-columns:1fr; }.v2-hw-checkout-summary { position:static; } } @media (max-width:560px) { .v2-hw-checkout { padding-top:1.25rem; }.v2-hw-checkout-container { width:calc(100% - 24px); }.v2-hw-checkout-fields { grid-template-columns:1fr; }.v2-hw-checkout-fields label:first-child { grid-column:auto; }.v2-hw-checkout-card,.v2-hw-checkout-summary { padding:1rem; }.v2-hw-checkout-total { margin-inline:-1rem; padding-inline:1rem; } }

/* Compact payment rows prevent labels and values from running together. */
.v2-akap-payment .v2-payment-summary .v2-payment-summary-title h2 { margin-bottom:1.1rem; font-size:1.1rem; }.v2-akap-payment .v2-payment-summary .v2-payment-product { gap:.8rem; padding-bottom:1rem; }.v2-akap-payment .v2-payment-summary .v2-payment-product-icon { flex-basis:3.15rem; width:3.15rem; height:3.15rem; border-radius:.8rem; }.v2-akap-payment .v2-payment-summary .v2-payment-product-icon i { font-size:1.15rem; }.v2-akap-payment .v2-payment-summary .v2-payment-product strong { color:#243c60; font-size:.9rem; line-height:1.4; }.v2-akap-payment .v2-payment-summary .v2-payment-product small { margin-top:.25rem; font-size:.72rem; line-height:1.5; }.v2-akap-payment .v2-payment-summary .v2-payment-summary-row { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); align-items:start; gap:.75rem; margin:0; padding:.8rem 0; border-bottom:1px solid #edf1f6; }.v2-akap-payment .v2-payment-summary .v2-payment-summary-row > span { color:#7c8ca1; font-size:.75rem; font-weight:650; }.v2-akap-payment .v2-payment-summary .v2-payment-summary-row > strong { display:block; overflow-wrap:anywhere; color:#2a405f; font-size:.78rem; font-weight:750; line-height:1.4; text-align:right; }.v2-akap-payment .v2-payment-summary .v2-payment-total { display:flex; align-items:end; justify-content:space-between; gap:.75rem; margin:1rem -1.25rem 0; padding:1rem 1.25rem; background:linear-gradient(100deg,#edf4ff,#f9fbff); }.v2-akap-payment .v2-payment-summary .v2-payment-total span { color:#637892; font-size:.76rem; font-weight:700; }.v2-akap-payment .v2-payment-summary .v2-payment-total strong { color:#285bc2; font-size:1.28rem; line-height:1.1; text-align:right; }.v2-akap-payment .v2-payment-summary .v2-payment-submit { margin-top:1rem; }
@media (max-width:420px) { .v2-akap-payment .v2-payment-summary .v2-payment-summary-row { grid-template-columns:1fr; gap:.25rem; }.v2-akap-payment .v2-payment-summary .v2-payment-summary-row > strong { text-align:left; }.v2-akap-payment .v2-payment-summary .v2-payment-total { margin-inline:-1rem; padding-inline:1rem; }.v2-akap-payment .v2-payment-summary .v2-payment-total strong { font-size:1.12rem; } }

/* Payment uses a clear three-area hierarchy: order, ticket, then payment. */
.v2-hw-payment { min-height:100%; padding:2rem 0 4rem; background:#f7f9fc; color:#263b5a; }.v2-hw-payment__container { width:min(calc(100% - 32px),76rem); margin:auto; }.v2-hw-payment__heading { margin-bottom:1.2rem; }.v2-hw-payment__heading > span { color:#3169d1; font-size:.72rem; font-weight:800; letter-spacing:.07em; }.v2-hw-payment__heading h1 { margin:.25rem 0 .35rem; color:#19375f; font:800 clamp(1.65rem,2.6vw,2.05rem)/1.15 "Manrope","Plus Jakarta Sans",sans-serif; letter-spacing:-.045em; }.v2-hw-payment__heading p { margin:0; color:#7c8da3; font-size:.84rem; }.v2-hw-payment__layout { display:grid; grid-template-columns:minmax(0,1fr) 19.5rem; gap:1.1rem; align-items:start; }.v2-hw-payment__content { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }.v2-hw-payment__card,.v2-hw-payment__summary { border:1px solid #e1e8f1; border-radius:.9rem; background:#fff; box-shadow:0 .5rem 1.3rem rgba(31,54,89,.045); }.v2-hw-payment__card { padding:1.15rem; }.v2-hw-payment__customer { grid-column:1 / -1; }.v2-hw-payment__card-head { display:flex; align-items:center; gap:.75rem; min-height:2.5rem; }.v2-hw-payment__card-head > span { display:grid; place-items:center; width:2.65rem; height:2.65rem; border-radius:.72rem; background:#edf3ff; color:#3169d1; font-size:1.15rem; }.v2-hw-payment__card-head.is-green > span { background:#eaf8f1; color:#39a77b; }.v2-hw-payment__card-head.is-violet > span { background:#f1edff; color:#7958d1; }.v2-hw-payment__card-head h2 { margin:0; color:#243956; font:800 .98rem/1.25 "Manrope","Plus Jakarta Sans",sans-serif; letter-spacing:-.02em; }.v2-hw-payment__rows { display:grid; margin:1rem 0 0; }.v2-hw-payment__rows > div { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.25fr); gap:.7rem; align-items:start; padding:.85rem 0; border-bottom:1px solid #edf1f6; }.v2-hw-payment__rows > div:last-child { padding-bottom:0; border-bottom:0; }.v2-hw-payment__rows dt { position:relative; padding-left:.8rem; color:#73839a; font-size:.75rem; font-weight:650; }.v2-hw-payment__rows dt::before { position:absolute; top:.34rem; left:0; width:.32rem; height:.32rem; border-radius:999px; background:#3a70dc; content:""; }.v2-hw-payment__ticket .v2-hw-payment__rows dt::before { background:#4ab18a; }.v2-hw-payment__customer .v2-hw-payment__rows dt::before { background:#805fda; }.v2-hw-payment__rows dd { margin:0; overflow-wrap:anywhere; color:#293e5d; font-size:.76rem; font-weight:750; line-height:1.45; text-align:right; }.v2-hw-payment__ticket-rows .is-product { grid-template-columns:1fr; }.v2-hw-payment__ticket-rows .is-product dd { margin-top:.4rem; text-align:left; }.v2-hw-payment__side { position:sticky; top:6rem; }.v2-hw-payment__summary { padding:1.15rem; background:linear-gradient(145deg,#f9fbff,#f4f7ff); }.v2-hw-payment__amount { margin:1.2rem 0 1rem; padding-bottom:1rem; border-bottom:1px solid #dfe8f6; }.v2-hw-payment__amount span,.v2-hw-payment__amount strong { display:block; }.v2-hw-payment__amount span { color:#6c7f99; font-size:.78rem; font-weight:650; }.v2-hw-payment__amount strong { margin-top:.35rem; color:#2c63ce; font:800 1.9rem/1.15 "Manrope","Plus Jakarta Sans",sans-serif; letter-spacing:-.045em; }.v2-hw-payment__assurances { display:grid; gap:.9rem; }.v2-hw-payment__assurances > div { display:flex; gap:.65rem; }.v2-hw-payment__assurances > div > i { display:grid; place-items:center; flex:0 0 2.1rem; width:2.1rem; height:2.1rem; border-radius:999px; background:#eaf1ff; color:#3169d1; font-size:.95rem; }.v2-hw-payment__assurances span { display:grid; gap:.15rem; }.v2-hw-payment__assurances strong { color:#2a3f5c; font-size:.76rem; }.v2-hw-payment__assurances small { color:#71839b; font-size:.71rem; line-height:1.45; }.v2-hw-payment__note { display:flex; gap:.5rem; margin:1rem 0 0; padding:.7rem .75rem; border:1px solid #dce7fb; border-radius:.65rem; background:#edf4ff; color:#607895; font-size:.7rem; line-height:1.5; }.v2-hw-payment__note i { color:#3169d1; font-size:.88rem; }.v2-hw-payment__actions { display:grid; gap:.65rem; margin-top:.8rem; }.v2-hw-payment__button { display:flex; align-items:center; justify-content:center; gap:.5rem; width:100%; min-height:2.8rem; border:1px solid transparent; border-radius:.65rem; font:750 .8rem/1 "Manrope","Plus Jakarta Sans",sans-serif; cursor:pointer; text-decoration:none; transition:.18s ease; }.v2-hw-payment__button.is-primary { border-color:#3169d1; background:#3169d1; color:#fff; box-shadow:0 .45rem 1rem rgba(49,105,209,.18); }.v2-hw-payment__button.is-primary:hover { background:#2859b6; }.v2-hw-payment__button.is-secondary { border-color:#d9e2ef; background:#fff; color:#4d617c; }.v2-hw-payment__button.is-secondary:hover { border-color:#9db4df; background:#f6f9ff; }.v2-hw-payment__button.is-download { border-color:#b9dfca; background:#fff; color:#34805d; }.v2-hw-payment__button.is-download:hover { background:#34805d; color:#fff; }
@media (max-width:960px) { .v2-hw-payment__layout { grid-template-columns:1fr; }.v2-hw-payment__side { position:static; display:grid; grid-template-columns:minmax(0,1fr) minmax(13rem,.7fr); gap:1rem; align-items:start; }.v2-hw-payment__actions { margin-top:0; } } @media (max-width:620px) { .v2-hw-payment { padding:1.35rem 0 3rem; }.v2-hw-payment__container { width:calc(100% - 24px); }.v2-hw-payment__content,.v2-hw-payment__side { grid-template-columns:1fr; }.v2-hw-payment__card,.v2-hw-payment__summary { padding:1rem; }.v2-hw-payment__customer { grid-column:auto; }.v2-hw-payment__rows > div { grid-template-columns:1fr; gap:.32rem; }.v2-hw-payment__rows dd { text-align:left; }.v2-hw-payment__amount strong { font-size:1.65rem; } }

/* Soften the payment page into an editorial layout instead of uniform template cards. */
.v2-hw-payment { background:radial-gradient(circle at 92% 4%,rgba(220,231,255,.55),transparent 25rem),linear-gradient(180deg,#fbfcff 0%,#f7f9fc 100%); }.v2-hw-payment__heading { max-width:38rem; margin-bottom:1.45rem; }.v2-hw-payment__heading > span { display:inline-block; padding:.32rem .54rem; border-radius:999px; background:#edf3ff; font-size:.66rem; }.v2-hw-payment__content { gap:.85rem; }.v2-hw-payment__card { position:relative; border-color:#e8edf4; border-radius:.75rem; background:rgba(255,255,255,.92); box-shadow:none; transition:border-color .2s ease,transform .2s ease,box-shadow .2s ease; }.v2-hw-payment__card:hover { border-color:#d7e1f0; box-shadow:0 .7rem 1.5rem rgba(35,58,94,.045); transform:translateY(-2px); }.v2-hw-payment__card-head { gap:.6rem; min-height:2.15rem; }.v2-hw-payment__card-head > span { width:2.25rem; height:2.25rem; border-radius:.62rem; font-size:1rem; }.v2-hw-payment__card-head h2 { font-size:.92rem; }.v2-hw-payment__rows { margin-top:.85rem; }.v2-hw-payment__rows > div { padding:.72rem 0; }.v2-hw-payment__rows dt { font-size:.72rem; }.v2-hw-payment__rows dd { color:#344764; font-size:.74rem; font-weight:700; }.v2-hw-payment__summary { overflow:hidden; border-color:#dce7fa; border-radius:.9rem; background:linear-gradient(155deg,#f9fbff 0%,#f0f5ff 100%); box-shadow:0 .7rem 1.8rem rgba(41,82,154,.06); }.v2-hw-payment__summary .v2-hw-payment__card-head { padding-bottom:.95rem; border-bottom:1px solid rgba(205,220,243,.72); }.v2-hw-payment__amount { margin:1rem 0; padding:.8rem .9rem; border:0; border-radius:.7rem; background:rgba(255,255,255,.62); }.v2-hw-payment__amount span { font-size:.73rem; }.v2-hw-payment__amount strong { margin-top:.25rem; font-size:1.72rem; }.v2-hw-payment__assurances { gap:.72rem; }.v2-hw-payment__assurances > div > i { flex-basis:1.85rem; width:1.85rem; height:1.85rem; background:rgba(255,255,255,.72); font-size:.84rem; }.v2-hw-payment__assurances strong { font-size:.73rem; }.v2-hw-payment__assurances small { font-size:.68rem; }.v2-hw-payment__note { margin-top:.9rem; border-color:rgba(207,221,246,.78); background:rgba(255,255,255,.5); }.v2-hw-payment__actions { padding:.15rem; }.v2-hw-payment__button { min-height:2.7rem; border-radius:.6rem; font-size:.77rem; }.v2-hw-payment__button.is-primary { box-shadow:0 .35rem .8rem rgba(49,105,209,.15); }

/* One restrained type scale for detail, checkout, and payment. */
.v2-hw-detail,.v2-hw-checkout,.v2-hw-payment { font-family:"Manrope","Plus Jakarta Sans",sans-serif; }.v2-hw-detail :is(h1,h2,h3,strong,button,input),.v2-hw-checkout :is(h1,h2,h3,strong,button,input),.v2-hw-payment :is(h1,h2,h3,strong,button,input) { font-family:inherit; }.v2-hw-detail h1 { font-size:1.8rem; font-weight:750; }.v2-hw-detail h2 { font-size:.98rem; font-weight:750; }.v2-hw-detail-booking > header strong { font-size:1.12rem; font-weight:750; letter-spacing:-.025em; }.v2-hw-detail-booking form > div { font-size:.76rem; }.v2-hw-detail-booking form > div span { font-size:.76rem; font-weight:750; }.v2-hw-detail-booking button { font-size:.76rem; font-weight:700; }.v2-hw-checkout-head h1,.v2-hw-payment__heading h1 { font-size:1.72rem; font-weight:750; }.v2-hw-checkout-total strong { font-size:1.16rem; font-weight:750; letter-spacing:-.025em; }.v2-hw-checkout-row strong { font-size:.78rem; font-weight:750; }.v2-hw-checkout-submit { font-size:.78rem; font-weight:700; }.v2-hw-payment__amount strong { font-size:1.42rem; font-weight:750; letter-spacing:-.03em; }.v2-hw-payment__rows dd { font-weight:700; }.v2-hw-payment__button { font-weight:700; }.v2-hw-card-price strong,.v2-hw-card-price-bubble strong { font-family:inherit; font-weight:750; }
@media (max-width:620px) { .v2-hw-detail h1 { font-size:1.55rem; }.v2-hw-checkout-head h1,.v2-hw-payment__heading h1 { font-size:1.5rem; }.v2-hw-payment__amount strong { font-size:1.3rem; }.v2-hw-checkout-total strong { font-size:1.08rem; } }

/* =========================================================
   Hiburan Wisata Page
   ========================================================= */

.v2-hw-page {
    background: none;
}

.v2-hw-hero {
    position: relative;
    height: calc(50vh + 7.75rem);
    margin-top: -7.75rem;
    overflow: hidden;
}

/* List cards rely on content hierarchy, not decorative effects. */
.v2-hw-results-section .v2-hw-card {
    color: inherit;
    text-decoration: none;
    border-color: #e4eaf2;
    border-radius: 12px;
    background: #fff;
    box-shadow: none;
    transition: none;
}

.v2-hw-results-section .v2-hw-card:hover {
    color: inherit;
    box-shadow: none;
    transform: none;
}

.v2-hw-results-section .v2-hw-card :is(h3, strong, .v2-hw-card-price-bubble strong) {
    font-weight: 600;
}

.v2-hw-results-section .v2-hw-card h3 a,
.v2-hw-results-section .v2-hw-card-action {
    display: none;
}

@media (max-width: 760px) {
    .v2-hw-hero {
        height: calc(50svh + 4.7rem);
        margin-top: -4.7rem;
    }
}

.v2-hw-hero-media,
.v2-hw-hero-image,
.v2-hw-hero-scrim {
    position: absolute;
    inset: 0;
}

.v2-hw-hero-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

.v2-hw-hero-scrim {
    background: linear-gradient(180deg, rgba(10, 24, 48, 0.34) 0%, rgba(10, 24, 48, 0.24) 48%, rgba(10, 24, 48, 0.34) 100%);
}

.v2-hw-hero-shell {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 100%;
    padding: 8.6rem 0 2.8rem;
}

.v2-hw-hero-copy {
    width: min(100%, 48rem);
    text-align: center;
}

.v2-hw-hero-kicker {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 0.9rem;
    min-height: 1.8rem;
    padding: 0.4rem 0.78rem;
    border: 1px solid rgba(255, 255, 255, 0.18);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.08);
    color: #f4f7ff;
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.v2-hw-hero-copy h1 {
    max-width: 42rem;
    margin: 0 auto;
    color: #ffffff;
    font-family: "Manrope", "Plus Jakarta Sans", sans-serif;
    font-size: clamp(2rem, 3vw, 3rem);
    font-weight: 800;
    line-height: 1.08;
    letter-spacing: -0.045em;
    text-wrap: balance;
}

.v2-hw-hero-copy p {
    max-width: 36rem;
    margin: 0.8rem auto 0;
    color: rgba(238, 244, 255, 0.84);
    font-size: 0.95rem;
    font-weight: 500;
    line-height: 1.65;
    text-wrap: balance;
}

.v2-hw-category-section {
    position: relative;
    z-index: 3;
    margin-top: -3.8rem;
}

.v2-hw-intro {
    padding: 1.1rem 0 0.25rem;
}

.v2-hw-intro-shell {
    grid-template-columns: minmax(0, 1.18fr) minmax(0, 0.98fr);
}

.v2-hw-intro-points {
    gap: 0.65rem;
}

.v2-hw-intro-points .v2-service-story-point {
    align-items: flex-start;
}

.v2-hw-intro-points .v2-service-story-point strong,
.v2-hw-intro-points .v2-service-story-point span {
    display: block;
}

.v2-hw-intro-points .v2-service-story-point strong {
    color: #203a62;
    font-size: 0.86rem;
    font-weight: 750;
}

.v2-hw-intro-points .v2-service-story-point span {
    margin-top: 0.18rem;
    color: #6c7d95;
    font-size: 0.76rem;
    line-height: 1.5;
}

.v2-hw-category-shell {
    padding: 0.62rem 0.68rem 0.55rem;
    border: 1px solid rgba(223, 231, 242, 0.82);
    border-radius: 0.95rem;
    background: rgba(255, 255, 255, 0.96);
    box-shadow:
        0 8px 20px rgba(29, 52, 92, 0.05),
        inset 0 1px 0 rgba(255, 255, 255, 0.76);
    backdrop-filter: blur(8px);
}

.v2-hw-results-kicker {
    display: inline-flex;
    align-items: center;
    color: #5a75a5;
    font-size: 0.7rem;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.v2-hw-category-list {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(92px, 1fr));
    gap: 0.2rem 0.32rem;
}

.v2-hw-category-pill {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    gap: 0.42rem;
    width: 100%;
    min-height: 5.95rem;
    padding: 0.34rem 0.28rem 0.42rem;
    border: 1px solid transparent;
    border-radius: 0.68rem;
    background: transparent;
    color: #425576;
    font-size: 0.62rem;
    font-weight: 500;
    text-decoration: none;
    transition:
        transform 0.18s ease,
        color 0.18s ease,
        filter 0.18s ease,
        border-color 0.18s ease,
        box-shadow 0.18s ease,
        background 0.18s ease;
}

.v2-hw-category-pill:hover,
.v2-hw-category-pill.is-active {
    color: #3158d8;
    transform: translateY(-1px);
    filter: saturate(1.03);
    border-color: transparent;
    background: transparent;
    box-shadow: none;
}

.v2-hw-category-pill-bubble {
    display: grid;
    place-items: center;
    width: 2.7rem;
    height: 2.7rem;
    border-radius: 999px;
    background:
        linear-gradient(180deg, rgba(250, 252, 255, 0.98) 0%, rgba(241, 246, 255, 0.98) 100%);
    border: 1px solid rgba(228, 235, 246, 0.86);
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.88),
        0 5px 12px rgba(34, 58, 108, 0.04);
    transition:
        transform 0.2s ease,
        box-shadow 0.2s ease,
        background 0.2s ease;
}

.v2-hw-category-pill:hover .v2-hw-category-pill-bubble,
.v2-hw-category-pill.is-active .v2-hw-category-pill-bubble {
    background: linear-gradient(180deg, rgba(245, 249, 255, 1) 0%, rgba(231, 239, 255, 0.98) 100%);
    border-color: rgba(165, 188, 238, 0.55);
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.94),
        0 8px 16px rgba(49, 88, 216, 0.08);
    transform: translateY(-1px);
}

.v2-hw-category-pill-icon {
    display: inline-grid;
    place-items: center;
    width: 1.32rem;
    height: 1.32rem;
    border-radius: 0.5rem;
    color: #2c4063;
    font-size: 0.92rem;
    line-height: 1;
    transition: transform 0.18s ease, color 0.18s ease, opacity 0.18s ease;
}

.v2-hw-category-pill:hover .v2-hw-category-pill-icon,
.v2-hw-category-pill.is-active .v2-hw-category-pill-icon {
    color: #2f57d5;
    transform: scale(1.03);
}

.v2-hw-category-pill-label {
    display: -webkit-box;
    max-width: 100%;
    overflow: hidden;
    color: currentColor;
    font-size: 0.76rem;
    font-weight: 560;
    line-height: 1.28;
    text-align: center;
    letter-spacing: -0.01em;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}

.v2-hw-category-pill-line {
    width: 1.18rem;
    height: 0.18rem;
    margin-top: auto;
    border-radius: 999px;
    background: #d8e0ef;
    transition:
        width 0.2s ease,
        background-color 0.2s ease,
        transform 0.2s ease;
}

.v2-hw-category-pill:hover .v2-hw-category-pill-line,
.v2-hw-category-pill.is-active .v2-hw-category-pill-line {
    width: 2.1rem;
    background: linear-gradient(90deg, #3158d8 0%, #5f86f0 100%);
    transform: translateY(1px);
}

.v2-hw-results-section {
    padding: 1rem 0 2.15rem;
}

.v2-hw-results-grid {
    display: grid;
    grid-template-columns: minmax(236px, 268px) minmax(0, 1fr);
    gap: 0.82rem;
    align-items: start;
}

.v2-hw-sidebar {
    position: sticky;
    top: 5.5rem;
}

.v2-hw-sidebar-card,
.v2-hw-results-pane {
    border: 1px solid #e5ecf7;
    border-radius: 1rem;
    background: linear-gradient(180deg, #ffffff 0%, #fbfdff 100%);
    box-shadow: 0 10px 24px rgba(28, 49, 87, 0.05);
}

.v2-hw-sidebar-card {
    overflow: hidden;
    background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
}

.v2-hw-sidebar-head {
    padding: 0.88rem 0.92rem;
}

.v2-hw-sidebar-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    border-bottom: 1px solid #edf2f8;
}

.v2-hw-sidebar-head h3,
.v2-hw-results-head h3 {
    margin: 0;
    color: #19376a;
    font-family: "Manrope", "Plus Jakarta Sans", sans-serif;
    font-weight: 800;
    letter-spacing: -0.03em;
}

.v2-hw-sidebar-head h3 {
    font-size: 1.04rem;
}

.v2-hw-reset,
.v2-hw-view-toggle button,
.v2-hw-card-action,
.v2-hw-pagination-link,
.v2-hw-pagination-page {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.52rem;
    min-height: 2.8rem;
    padding: 0.68rem 1rem;
    border: 1px solid #dbe5f2;
    border-radius: 0.82rem;
    background: #ffffff;
    color: #31507e;
    font-size: 0.82rem;
    font-weight: 600;
    line-height: 1;
    text-decoration: none;
    cursor: pointer;
    transition:
        border-color 0.2s ease,
        background-color 0.2s ease,
        color 0.2s ease,
        box-shadow 0.2s ease,
        transform 0.2s ease;
}

.v2-hw-reset {
    min-height: 2.45rem;
    padding: 0.56rem 0.92rem;
    color: #4670e4;
    background: #f8fbff;
    border-color: #d7e4fb;
}

.v2-hw-reset:hover {
    color: #315ed8;
    background: #f1f6ff;
    border-color: #c4d7fb;
    transform: translateY(-1px);
}

.v2-hw-filter-block + .v2-hw-filter-block {
    border-top: 1px solid #edf2f8;
}

.v2-hw-filter-title {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.62rem;
    margin: 0;
    padding: 0.88rem 0.92rem;
    color: #2b4773;
    font-size: 0.82rem;
    font-weight: 650;
    cursor: pointer;
    list-style: none;
}

.v2-hw-filter-title span {
    display: inline-flex;
    align-items: center;
    gap: 0.62rem;
}

.v2-hw-filter-title i {
    color: #7188b7;
}

.v2-hw-filter-title::-webkit-details-marker {
    display: none;
}

.v2-hw-filter-block[open] > .v2-hw-filter-title > .bi-chevron-down {
    transform: rotate(180deg);
}

.v2-hw-filter-title > .bi-chevron-down {
    transition: transform 0.18s ease;
}

.v2-hw-filter-content {
    padding: 0 0.92rem 0.88rem;
}

.v2-hw-filter-options {
    display: grid;
    gap: 0.52rem;
}

.v2-hw-filter-block .v6-field-shell {
    min-height: 3.08rem;
    padding: 0 0.82rem;
    border: 1px solid #dfe7f3;
    border-radius: 0.8rem;
    background: linear-gradient(180deg, #ffffff 0%, #f9fbff 100%);
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.85),
        0 1px 2px rgba(26, 46, 83, 0.03);
    transition: border-color 0.18s ease, box-shadow 0.18s ease, transform 0.18s ease;
}

.v2-hw-filter-block .v6-field-shell:hover {
    border-color: #cfdced;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.9),
        0 8px 18px rgba(70, 104, 168, 0.06);
}

.v2-hw-filter-block .v6-field-shell:focus-within {
    border-color: #9db5e2;
    box-shadow:
        0 0 0 4px rgba(76, 118, 206, 0.08),
        0 10px 20px rgba(70, 104, 168, 0.08);
}

.v2-hw-filter-block .v6-field-icon {
    margin-right: 0.72rem;
    color: #8ba0c2;
}

.v2-hw-custom-select {
    position: relative;
    flex: 1;
    min-width: 0;
}

.v2-hw-native-select {
    position: absolute;
    inset: 0;
    opacity: 0;
    pointer-events: none;
}

.v2-hw-custom-select-trigger {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    width: 100%;
    min-height: 2.7rem;
    padding: 0;
    border: 0;
    background: transparent;
    color: #27406d;
    font-size: 0.82rem;
    font-weight: 500;
    text-align: left;
    box-shadow: none;
}

.v2-hw-custom-select-value {
    min-width: 0;
    overflow: hidden;
    color: #60779c;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.v2-hw-custom-select-trigger i {
    flex: 0 0 auto;
    color: #8ca1c2;
    font-size: 0.8rem;
    transition: transform 0.18s ease, color 0.18s ease;
}

.v2-hw-custom-select.is-open .v2-hw-custom-select-trigger i {
    transform: rotate(180deg);
    color: #456fe0;
}

.v2-hw-custom-select-menu {
    position: absolute;
    top: calc(100% + 0.55rem);
    left: 0;
    z-index: 30;
    display: grid;
    gap: 0.2rem;
    width: 100%;
    min-width: 100%;
    max-height: 16.5rem;
    padding: 0.42rem;
    overflow-y: auto;
    border: 1px solid rgba(208, 220, 238, 0.95);
    border-radius: 0.92rem;
    background: rgba(255, 255, 255, 0.98);
    box-shadow:
        0 18px 38px rgba(30, 55, 98, 0.12),
        0 1px 0 rgba(255, 255, 255, 0.9) inset;
    opacity: 0;
    visibility: hidden;
    transform: translateY(6px);
    transition: opacity 0.18s ease, transform 0.18s ease, visibility 0.18s ease;
    backdrop-filter: blur(10px);
}

.v2-hw-custom-select.is-open .v2-hw-custom-select-menu {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.v2-hw-custom-select-option {
    width: 100%;
    min-height: 2.65rem;
    padding: 0.72rem 0.82rem;
    border: 0;
    border-radius: 0.72rem;
    background: transparent;
    color: #395177;
    font-size: 0.8rem;
    font-weight: 500;
    text-align: left;
    transition: background-color 0.18s ease, color 0.18s ease, transform 0.18s ease;
}

.v2-hw-custom-select-option:hover {
    background: #f4f8ff;
    color: #315fd7;
    transform: translateX(2px);
}

.v2-hw-custom-select-option.is-selected {
    background: linear-gradient(135deg, #eef4ff 0%, #e6efff 100%);
    color: #2f5bd6;
    font-weight: 600;
}

.v2-hw-custom-select--field .v2-hw-custom-select-menu {
    min-width: calc(100% + 2.5rem);
    left: -0.82rem;
}

.v2-hw-custom-select--toolbar {
    min-width: 10.2rem;
}

.v2-hw-custom-select--toolbar .v2-hw-custom-select-trigger {
    min-height: 2.58rem;
    padding: 0.58rem 0.82rem;
    border: 1px solid #dbe4f0;
    border-radius: 0.78rem;
    background: #ffffff;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.84),
        0 1px 2px rgba(26, 46, 83, 0.03);
    transition: border-color 0.18s ease, box-shadow 0.18s ease, transform 0.18s ease;
}

.v2-hw-custom-select--toolbar .v2-hw-custom-select-trigger:hover {
    border-color: #cfdced;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.9),
        0 8px 18px rgba(70, 104, 168, 0.06);
}

.v2-hw-custom-select--toolbar.is-open .v2-hw-custom-select-trigger {
    border-color: #9db5e2;
    box-shadow:
        0 0 0 4px rgba(76, 118, 206, 0.08),
        0 10px 20px rgba(70, 104, 168, 0.08);
}

.v2-hw-check {
    display: flex;
    align-items: center;
    gap: 0.62rem;
    color: #41597f;
    font-size: 0.78rem;
    font-weight: 500;
    cursor: pointer;
}

.v2-hw-check input {
    width: 1.12rem;
    height: 1.12rem;
    margin: 0;
    accent-color: #3158d8;
}

.v2-hw-results-pane {
    padding: 0.88rem 0.92rem 0.96rem;
}

.v2-hw-results-pane.is-loading,
[data-hw-results].is-loading {
    opacity: 0.72;
    pointer-events: none;
}

.v2-hw-results-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 0.88rem;
    padding: 0.02rem 0.02rem 0.76rem;
    border-bottom: 1px solid #edf2f8;
}

.v2-hw-results-summary {
    display: grid;
    gap: 0.32rem;
}

.v2-hw-results-caption {
    margin: 0;
    color: #70829a;
    font-size: 0.8rem;
    line-height: 1.55;
}

.v2-hw-results-head h3 {
    margin-top: 0;
    font-size: clamp(1.14rem, 1.6vw, 1.5rem);
    line-height: 1.22;
    font-weight: 650;
}

.v2-hw-results-tools {
    display: flex;
    align-items: center;
    gap: 0.85rem;
}

.v2-hw-toolbar-field {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    color: #45628b;
    font-size: 0.76rem;
    font-weight: 600;
}

.v2-hw-toolbar-select {
    min-width: 9.8rem;
}

.v2-hw-view-toggle {
    display: inline-flex;
    align-items: center;
    gap: 0.55rem;
}

.v2-hw-view-toggle button {
    width: 2.5rem;
    height: 2.5rem;
    min-height: 2.5rem;
    padding: 0;
    color: #5e7599;
    font-size: 0.86rem;
}

.v2-hw-view-toggle button:hover {
    border-color: #c5d7fb;
    background: #f8fbff;
    color: #426be2;
    transform: translateY(-1px);
}

.v2-hw-view-toggle button.is-active {
    border-color: #bcd0ff;
    background: #eef4ff;
    color: #3b63dc;
    box-shadow: 0 10px 18px rgba(59, 99, 220, 0.12);
}

.v2-hw-card-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0.78rem;
}

.v2-hw-card-grid.is-grid-view {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    grid-auto-rows: 1fr;
}

.v2-hw-card-grid.is-grid-view .v2-hw-card {
    display: flex;
    flex-direction: column;
    grid-template-columns: 1fr;
    height: 100%;
}

.v2-hw-card-grid.is-grid-view .v2-hw-card-media {
    min-height: 0;
    aspect-ratio: 16 / 10;
    border-right: 0;
    border-bottom: 1px solid #edf2f8;
}

.v2-hw-card-grid.is-grid-view .v2-hw-card-body {
    grid-template-rows: minmax(6.6rem, auto) auto auto;
    align-content: start;
    flex: 1;
    padding: 0.82rem 0.84rem 0.86rem;
    gap: 0.66rem;
}

.v2-hw-card-grid.is-grid-view .v2-hw-card-copy h3 {
    display: -webkit-box;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.v2-hw-card-grid.is-grid-view .v2-hw-card-location span {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.v2-hw-card-grid.is-grid-view .v2-hw-card-copy h3 {
    font-size: 0.88rem;
}

.v2-hw-card-grid.is-grid-view .v2-hw-card-location,
.v2-hw-card-grid.is-grid-view .v2-hw-card-rating,
.v2-hw-card-grid.is-grid-view .v2-hw-card-meta {
    font-size: 0.72rem;
}

.v2-hw-card-grid.is-grid-view .v2-hw-card-footer {
    align-items: flex-end;
    margin-top: auto;
}

.v2-hw-card-grid.is-grid-view .v2-hw-card-price strong {
    font-size: 1.3rem;
}

.v2-hw-card-grid.is-grid-view .v2-hw-card-action {
    min-width: 0;
    min-height: 2.9rem;
    font-size: 0.76rem;
}

.v2-hw-card {
    display: grid;
    grid-template-columns: minmax(280px, 0.9fr) minmax(0, 1.18fr);
    overflow: hidden;
    border: 1px solid #e2e9f3;
    border-radius: 1rem;
    background: linear-gradient(180deg, #ffffff 0%, #fbfdff 100%);
    box-shadow: 0 8px 20px rgba(26, 46, 83, 0.05);
    transition:
        transform 0.22s ease,
        box-shadow 0.22s ease,
        border-color 0.22s ease,
        background-color 0.22s ease;
}

.v2-hw-card:hover {
    transform: translateY(-3px);
    border-color: rgba(129, 156, 220, 0.24);
    box-shadow:
        0 14px 26px rgba(38, 61, 106, 0.07),
        0 0 0 1px rgba(109, 141, 220, 0.04);
}

.v2-hw-card-media {
    position: relative;
    display: block;
    min-height: 14.5rem;
    aspect-ratio: auto;
    background: linear-gradient(180deg, #eef3fb 0%, #dce7fb 100%);
    overflow: hidden;
    border-right: 1px solid #edf2f8;
}

.v2-hw-card-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.28s ease, filter 0.28s ease;
}

.v2-hw-card:hover .v2-hw-card-image {
    transform: scale(1.045);
    filter: saturate(1.04) contrast(1.02);
}

.v2-hw-card-badge,
.v2-hw-card-favorite {
    position: absolute;
    top: 1rem;
    z-index: 1;
}

.v2-hw-card-badge {
    left: 1rem;
    display: inline-flex;
    align-items: center;
    min-height: 1.55rem;
    padding: 0.26rem 0.58rem;
    border-radius: 0.48rem;
    background: rgba(255, 255, 255, 0.94);
    color: #355cae;
    font-size: 0.6rem;
    font-weight: 600;
    text-transform: uppercase;
}

.v2-hw-card-favorite {
    right: 1rem;
    display: inline-grid;
    place-items: center;
    width: 1.75rem;
    height: 1.75rem;
    border-radius: 0.48rem;
    background: rgba(255, 255, 255, 0.94);
    color: #4f668e;
    font-size: 0.76rem;
    box-shadow: 0 8px 16px rgba(36, 58, 100, 0.08);
    transition:
        transform 0.2s ease,
        background-color 0.2s ease,
        color 0.2s ease;
}

.v2-hw-card:hover .v2-hw-card-favorite {
    transform: translateY(-1px);
    background: rgba(255, 255, 255, 0.98);
    color: #3158d8;
}

.v2-hw-card-price-bubble {
    position: absolute;
    left: 1rem;
    bottom: 1rem;
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 4.45rem;
    height: 4.45rem;
    border-radius: 999px;
    background: linear-gradient(180deg, #4d74ea 0%, #325bd9 100%);
    color: #ffffff;
    box-shadow: 0 18px 28px rgba(51, 91, 217, 0.24);
}

.v2-hw-card-price-bubble small {
    font-size: 0.56rem;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    opacity: 0.84;
}

.v2-hw-card-price-bubble strong {
    font-size: 1.22rem;
    font-weight: 700;
    line-height: 1;
}

.v2-hw-card-body {
    display: grid;
    gap: 0.76rem;
    padding: 0.96rem 0.98rem 0.94rem;
}

.v2-hw-card-copy h3 {
    margin: 0;
    color: #19376a;
    font-family: "Manrope", "Plus Jakarta Sans", sans-serif;
    font-size: 0.95rem;
    font-weight: 650;
    line-height: 1.28;
    letter-spacing: -0.015em;
}

.v2-hw-card-copy h3 a {
    color: inherit;
    text-decoration: none;
}

.v2-hw-card-location,
.v2-hw-card-rating,
.v2-hw-card-meta span {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
}

.v2-hw-card-location {
    margin: 0.38rem 0 0;
    color: #627a9f;
    font-size: 0.78rem;
    font-weight: 500;
}

.v2-hw-card-rating {
    color: #f0a31f;
    font-size: 0.8rem;
    font-weight: 600;
}

.v2-hw-card-rating small {
    color: #6e83a6;
    font-size: 0.72rem;
    font-weight: 500;
}

.v2-hw-card-meta {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.5rem 0.8rem;
    padding-top: 0.72rem;
    border-top: 1px solid #edf2f8;
    color: #587197;
    font-size: 0.76rem;
    font-weight: 500;
}

.v2-hw-card-meta i {
    color: #5d82e4;
}

.v2-hw-card-meta-dot {
    width: 0.22rem;
    height: 0.22rem;
    border-radius: 999px;
    background: #b8c6dc;
}

.v2-hw-card-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.8rem;
    padding-top: 0.18rem;
}

.v2-hw-card-price {
    display: flex;
    align-items: baseline;
    flex-wrap: wrap;
    gap: 0.15rem 0.36rem;
}

.v2-hw-card-price span,
.v2-hw-card-price small {
    color: #6e83a6;
    font-size: 0.66rem;
    font-weight: 500;
}

.v2-hw-card-price span {
    flex: 0 0 100%;
    text-transform: uppercase;
}

.v2-hw-card-price strong {
    color: #18376a;
    font-size: 1.48rem;
    font-weight: 650;
    line-height: 1;
    letter-spacing: -0.04em;
}

.v2-hw-card-action {
    min-width: 9.2rem;
    min-height: 3.15rem;
    border: 1px solid rgba(117, 146, 218, 0.32);
    background: linear-gradient(135deg, #4d74ea 0%, #3862df 100%);
    color: #ffffff;
    box-shadow: 0 10px 18px rgba(56, 98, 223, 0.15);
}

.v2-hw-card-action:hover {
    color: #ffffff;
    border-color: rgba(117, 146, 218, 0.4);
    background: linear-gradient(135deg, #547af0 0%, #3f68e4 100%);
    transform: translateY(-1px);
    box-shadow: 0 14px 22px rgba(56, 98, 223, 0.18);
}

.v2-hw-card-action i {
    font-size: 0.9rem;
}

.v2-hw-card-grid.is-list-view .v2-hw-card {
    grid-template-columns: minmax(300px, 0.82fr) minmax(0, 1.45fr);
    border-radius: 1.08rem;
    box-shadow: 0 12px 28px rgba(26, 46, 83, 0.06);
}

.v2-hw-card-grid.is-list-view .v2-hw-card:hover {
    transform: translateY(-2px);
    box-shadow:
        0 16px 30px rgba(38, 61, 106, 0.08),
        0 0 0 1px rgba(109, 141, 220, 0.04);
}

.v2-hw-card-grid.is-list-view .v2-hw-card-media {
    min-height: 15.4rem;
    border-right: 1px solid #eef2f8;
}

.v2-hw-card-grid.is-list-view .v2-hw-card-badge {
    top: 0.9rem;
    left: 0.9rem;
    padding: 0.44rem 0.78rem;
    border-radius: 999px;
    font-size: 0.68rem;
}

.v2-hw-card-grid.is-list-view .v2-hw-card-favorite {
    top: 0.9rem;
    right: 0.9rem;
    width: 2.5rem;
    height: 2.5rem;
    border-radius: 999px;
    font-size: 1rem;
}

.v2-hw-card-grid.is-list-view .v2-hw-card-price-bubble {
    left: 0.95rem;
    bottom: 0.95rem;
    width: 5rem;
    height: 5rem;
    background: linear-gradient(180deg, #71c789 0%, #49b66c 100%);
    box-shadow: 0 16px 26px rgba(73, 182, 108, 0.22);
}

.v2-hw-card-grid.is-list-view .v2-hw-card-price-bubble small {
    font-size: 0.54rem;
}

.v2-hw-card-grid.is-list-view .v2-hw-card-price-bubble strong {
    font-size: 1.42rem;
}

.v2-hw-card-grid.is-list-view .v2-hw-card-body {
    grid-template-columns: minmax(0, 1fr) minmax(220px, 0.46fr);
    grid-template-areas:
        "copy footer"
        "meta footer";
    align-items: center;
    gap: 0.9rem 1.3rem;
    padding: 1.08rem 1.18rem 1.02rem;
}

.v2-hw-card-grid.is-list-view .v2-hw-card-copy {
    grid-area: copy;
    align-self: end;
}

.v2-hw-card-grid.is-list-view .v2-hw-card-copy h3 {
    font-size: 0.98rem;
    font-weight: 620;
}

.v2-hw-card-grid.is-list-view .v2-hw-card-location {
    margin-top: 0.42rem;
    font-size: 0.8rem;
}

.v2-hw-card-grid.is-list-view .v2-hw-card-rating {
    margin-top: 0.36rem;
    font-size: 0.82rem;
}

.v2-hw-card-grid.is-list-view .v2-hw-card-meta {
    grid-area: meta;
    align-self: start;
    gap: 0.5rem 0.95rem;
    padding-top: 0.9rem;
    font-size: 0.8rem;
}

.v2-hw-card-grid.is-list-view .v2-hw-card-footer {
    grid-area: footer;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    gap: 1.1rem;
    min-height: 100%;
    padding-left: 1.25rem;
    border-left: 1px solid #edf2f8;
}

.v2-hw-card-grid.is-list-view .v2-hw-card-price {
    gap: 0.18rem 0.42rem;
}

.v2-hw-card-grid.is-list-view .v2-hw-card-price span,
.v2-hw-card-grid.is-list-view .v2-hw-card-price small {
    font-size: 0.76rem;
}

.v2-hw-card-grid.is-list-view .v2-hw-card-price strong {
    font-size: 1.56rem;
    font-weight: 670;
}

.v2-hw-card-grid.is-list-view .v2-hw-card-action {
    width: 100%;
    min-width: 0;
    min-height: 3.25rem;
    border-color: rgba(111, 197, 136, 0.55);
    background: #ffffff;
    color: #49a969;
    box-shadow: none;
}

.v2-hw-card-grid.is-list-view .v2-hw-card-action:hover {
    border-color: rgba(83, 182, 110, 0.7);
    background: #f8fffa;
    color: #339356;
    box-shadow: none;
}

@media (max-width: 1100px) {
    .v2-hw-results-grid {
        grid-template-columns: 1fr;
    }

    .v2-hw-intro-shell {
        grid-template-columns: 1fr;
    }

    .v2-hw-sidebar {
        position: static;
    }

    .v2-hw-card,
    .v2-hw-card-grid.is-grid-view .v2-hw-card {
        grid-template-columns: 1fr;
    }

    .v2-hw-card-media,
    .v2-hw-card-grid.is-grid-view .v2-hw-card-media {
        min-height: 16rem;
        border-right: 0;
        border-bottom: 1px solid #edf2f8;
    }

    .v2-hw-card-grid.is-grid-view {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .v2-hw-card-grid.is-list-view .v2-hw-card-body {
        grid-template-columns: 1fr;
        grid-template-areas:
            "copy"
            "meta"
            "footer";
        gap: 0.86rem;
    }

    .v2-hw-card-grid.is-list-view .v2-hw-card-footer {
        padding-left: 0;
        padding-top: 0.9rem;
        border-left: 0;
        border-top: 1px solid #edf2f8;
    }
}

@media (max-width: 760px) {
    .v2-hw-hero-shell {
        padding: 8rem 0 2.2rem;
    }

    .v2-hw-category-section {
        margin-top: -3.5rem;
    }

    .v2-hw-intro {
        padding-top: 0.95rem;
    }

    .v2-hw-category-shell,
    .v2-hw-results-pane,
    .v2-hw-sidebar-card {
        border-radius: 1rem;
    }

    .v2-hw-category-shell {
        padding: 0.5rem 0.48rem 0.42rem;
        border-radius: 0.92rem;
    }

    .v2-hw-category-list {
        grid-template-columns: 1fr 1fr;
        gap: 0.16rem 0.2rem;
    }

    .v2-hw-category-pill {
        min-height: 5.45rem;
        gap: 0.34rem;
        padding: 0.3rem 0.22rem 0.34rem;
        border-radius: 0.68rem;
    }

    .v2-hw-category-pill-bubble {
        width: 2.45rem;
        height: 2.45rem;
        border-radius: 0.72rem;
    }

    .v2-hw-category-pill-icon {
        width: 1.2rem;
        height: 1.2rem;
        font-size: 0.82rem;
    }

    .v2-hw-category-pill-label {
        font-size: 0.7rem;
        line-height: 1.24;
    }

    .v2-hw-category-pill-line {
        width: 1.05rem;
    }

    .v2-hw-category-pill:hover .v2-hw-category-pill-line,
    .v2-hw-category-pill.is-active .v2-hw-category-pill-line {
        width: 1.7rem;
    }

    .v2-hw-category-head,
    .v2-hw-results-head,
    .v2-hw-card-footer,
    .v2-hw-pagination {
        flex-direction: column;
        align-items: flex-start;
    }

    .v2-hw-toolbar-field,
    .v2-hw-toolbar-select {
        width: 100%;
    }

    .v2-hw-results-tools {
        width: 100%;
        justify-content: space-between;
    }

    .v2-hw-card-grid.is-grid-view {
        grid-template-columns: 1fr;
    }

    .v2-hw-view-toggle button {
        width: 2.65rem;
        height: 2.65rem;
    }

    .v2-hw-card-body {
        padding: 1rem;
        gap: 0.9rem;
    }

    .v2-hw-card-copy h3 {
        font-size: 1rem;
    }

    .v2-hw-card-location,
    .v2-hw-card-rating,
    .v2-hw-card-meta {
        font-size: 0.82rem;
    }

    .v2-hw-card-price strong {
        font-size: 1.42rem;
    }

    .v2-hw-card-action {
        min-width: 0;
        width: 100%;
        min-height: 3.4rem;
        font-size: 0.9rem;
    }

    .v2-hw-card-price-bubble {
        width: 4.6rem;
        height: 4.6rem;
    }

    .v2-hw-card-price-bubble strong {
        font-size: 1.28rem;
    }

    .v2-hw-card-grid.is-list-view .v2-hw-card-media {
        min-height: 13.2rem;
    }

    .v2-hw-card-grid.is-list-view .v2-hw-card-price-bubble {
        width: 4.55rem;
        height: 4.55rem;
    }

    .v2-hw-card-grid.is-list-view .v2-hw-card-price strong {
        font-size: 1.38rem;
    }

    .v2-hw-pagination-pages {
        width: 100%;
    }

    .v2-hw-pagination-link,
    .v2-hw-pagination-page {
        width: 100%;
    }
}

/* Final list-only overrides: keep each result calm and fully tappable. */
.v2-hw-results-section .v2-hw-card {
    color: inherit;
    text-decoration: none;
    border-color: #e4eaf2;
    border-radius: 12px;
    background: #fff;
    box-shadow: none;
    transition: none;
}

.v2-hw-results-section .v2-hw-card:hover {
    color: inherit;
    box-shadow: none;
    transform: none;
}

.v2-hw-results-section .v2-hw-card :is(h3, strong, .v2-hw-card-price-bubble strong) {
    font-weight: 600;
}

.v2-hw-results-section .v2-hw-card h3 a,
.v2-hw-results-section .v2-hw-card-action {
    display: none;
}

.v2-hw-hero {
    height: calc(50vh + 7.75rem);
}

.v2-hw-hero-shell {
    padding: 10rem 0 2rem;
}

.v2-hw-hero-copy {
    transform: translateY(2rem);
}

@media (max-width: 760px) {
    .v2-hw-hero {
        height: calc(50svh + 4.7rem);
        margin-top: -4.7rem;
    }

    .v2-hw-hero-shell {
        padding: 6.2rem 0 1.6rem;
    }

    .v2-hw-hero-copy {
        transform: translateY(1.25rem);
    }
}

/* Align the list treatment with AKAP: one quiet filter surface and plain results. */

.v2-hw-results-section .v2-hw-sidebar-card {
    border-color: #e1e8f1;
    border-radius: 15px;
    background: #fff;
    box-shadow: none;
}

.v2-hw-results-section .v2-hw-results-pane {
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

.v2-hw-results-section .v2-hw-sidebar-head {
    padding: 17px;
}

.v2-hw-results-section .v2-hw-sidebar-head h3,
.v2-hw-results-section .v2-hw-results-head h3,
.v2-hw-results-section .v2-hw-filter-title {
    font-weight: 600;
}

.v2-hw-results-section .v2-hw-filter-block .v6-field-shell {
    border-color: #dfe6ef;
    border-radius: 9px;
    background: #fff;
    box-shadow: none;
    transition: none;
}

.v2-hw-results-section .v2-hw-filter-block .v6-field-shell:hover {
    border-color: #dfe6ef;
    box-shadow: none;
}

.v2-hw-results-section .v2-hw-filter-title {
    color: #4e607b;
    font-size: 11.5px;
}

.v2-hw-results-section .v2-hw-check {
    color: #708097;
    font-size: 10.5px;
    font-weight: 500;
}

.v2-hw-results-section .v2-hw-card {
    border-color: #e1e8f1;
    border-radius: 15px;
}

/* Shared payment finish for Trip and Wisata & Event. */
.v2-hw-payment :is(.v2-hw-payment__card, .v2-hw-payment__summary) {
    border-color: #e1e8f1;
    border-radius: 12px;
    background: #fff;
    box-shadow: none;
    transition: none;
}

.v2-hw-payment .v2-hw-payment__card:hover {
    border-color: #e1e8f1;
    box-shadow: none;
    transform: none;
}

.v2-hw-payment
:is(h1, h2, h3, strong, b, button, .v2-hw-payment__rows dd, .v2-hw-payment__amount strong) {
    font-weight: 600;
}

.v2-hw-payment .v2-hw-payment__rows dt {
    padding-left: 0;
}

.v2-hw-payment .v2-hw-payment__rows dt::before {
    display: none;
}

/* Wisata & Trip cards keep price in the reading flow, after the schedule. */
.v2-hw-card-grid.is-grid-view .v2-hw-card-media {
    width: 100%;
    height: clamp(15rem, 23vw, 19rem);
    min-height: 0;
    aspect-ratio: auto;
    border-bottom: 0;
}

/* A CSS background prevents source image dimensions from creating empty space. */
.v2-hw-card-media--cover {
    background-image: var(--v2-hw-card-image) !important;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}

.v2-hw-card-media--cover > .v2-hw-card-image {
    display: none;
}

.v2-hw-card-grid.is-grid-view {
    grid-auto-rows: auto;
}

.v2-hw-card-grid.is-grid-view .v2-hw-card {
    height: auto;
}

.v2-hw-card-grid.is-grid-view .v2-hw-card-body {
    grid-template-rows: auto auto auto;
    flex: 0 0 auto;
}

.v2-hw-card-grid.is-grid-view .v2-hw-card-footer {
    margin-top: 0;
}

.v2-hw-card .v2-hw-card-price-bubble {
    display: none;
}

.v2-hw-card .v2-hw-card-facts {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: .35rem .85rem;
    margin-top: .48rem;
}

.v2-hw-card .v2-hw-card-location {
    margin: 0;
}

.v2-hw-card .v2-hw-card-rating {
    padding-left: .85rem;
    border-left: 1px solid #dfe6ef;
}

.v2-hw-card .v2-hw-card-footer {
    display: block;
    padding-top: .15rem;
}

.v2-hw-card .v2-hw-card-price strong {
    font-size: 1.12rem;
    font-weight: 600;
}

.v2-hw-card:hover .v2-hw-card-image {
    transform: none;
    filter: none;
}

@media (max-width: 560px) {
    .v2-hw-card-grid .v2-hw-card-body,
    .v2-hw-card-grid.is-list-view .v2-hw-card-body {
        display: flex;
        flex-direction: column;
        grid-template: none;
        gap: .8rem;
        padding: .9rem;
    }

    .v2-hw-card-grid .v2-hw-card-copy,
    .v2-hw-card-grid.is-list-view .v2-hw-card-copy,
    .v2-hw-card-grid.is-list-view .v2-hw-card-footer {
        align-self: auto;
        min-height: 0;
        margin: 0;
    }

    .v2-hw-card-grid .v2-hw-card-footer {
        margin-top: 0;
    }

    .v2-hw-card .v2-hw-card-rating {
        padding-left: 0;
        border-left: 0;
    }
}
