.dtpb-wrap{--dtpb-accent:#b96b18;--dtpb-ink:#20252b;--dtpb-muted:#68717c;color:var(--dtpb-ink);font-family:inherit;margin:24px 0}.dtpb-wrap h2{font-size:clamp(24px,3vw,34px);margin:0 0 20px}.dtpb-package-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:18px 0 30px}.dtpb-package-card{display:flex;flex-direction:column;gap:8px;cursor:pointer;position:relative;border:1px solid #e0e3e7;border-radius:12px;padding:14px;background:#fff;transition:border-color .15s,box-shadow .15s}.dtpb-package-card>input{position:absolute;top:14px;right:14px;z-index:2;accent-color:var(--dtpb-accent);width:18px;height:18px}.dtpb-package-card>img{width:100%;height:170px;object-fit:cover;border-radius:8px}.dtpb-package-card strong{padding-right:25px;font-size:17px}.dtpb-package-card p{color:var(--dtpb-muted);font-size:14px;line-height:1.5;margin:2px 0}.dtpb-package-card b{color:var(--dtpb-accent);margin-top:auto}.dtpb-package-card:hover,.dtpb-package-card.is-selected{border-color:var(--dtpb-accent);box-shadow:0 0 0 2px #b96b1820}.dtpb-gallery{display:flex;gap:5px;flex-wrap:wrap;margin:5px 0}.dtpb-gallery img{width:48px;height:48px;object-fit:cover;border-radius:5px;border:1px solid #e0e3e7}.dtpb-booking-form{background:#f8f8f7;border:1px solid #e5e5e3;border-radius:14px;padding:22px;margin-top:24px}.dtpb-booking-form h3{margin:0 0 18px;font-size:22px}.dtpb-field{margin-bottom:14px}.dtpb-field label{display:block;font-weight:600;margin-bottom:6px;font-size:14px}.dtpb-field input,.dtpb-field textarea,.dtpb-field select{box-sizing:border-box;width:100%;padding:11px 12px;border:1px solid #cfd4da;border-radius:7px;background:#fff;font:inherit;max-width:100%}.dtpb-field small{display:block;color:var(--dtpb-muted);margin-top:5px}.dtpb-total{padding:16px;border-radius:10px;background:#fff;border:1px solid #e4d2bd;margin:18px 0;font-size:18px}.dtpb-total strong{font-size:25px;color:var(--dtpb-accent);margin-left:8px}.dtpb-submit{display:inline-block;width:100%;padding:13px 16px;border:0;border-radius:8px;background:var(--dtpb-accent);color:#fff;font:inherit;font-weight:700;cursor:pointer}.dtpb-submit:hover{filter:brightness(.93)}.dtpb-privacy{font-size:12px;line-height:1.5;color:var(--dtpb-muted)}.dtpb-result,.dtpb-notice{padding:13px 16px;margin:0 0 18px;border-radius:8px;background:#eef8ee;border:1px solid #b9dfb9}.dtpb-result-invalid,.dtpb-result-error,.dtpb-result-payment_error{background:#fff4e5;border-color:#f0d2a2}.dtpb-account-booking{padding:16px;border:1px solid #e0e3e7;border-radius:10px;margin:14px 0}.dtpb-account-booking h3{margin-top:0}@media(max-width:900px){.dtpb-package-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:520px){.dtpb-package-grid{grid-template-columns:1fr}.dtpb-package-card>img{height:190px}.dtpb-booking-form{padding:16px}}
.dtpb-voucher{max-width:760px;margin:24px auto;padding:28px;border:2px solid #b96b18;border-radius:12px;background:#fff;color:#20252b}.dtpb-voucher h1{font-size:30px}.dtpb-voucher-actions{display:flex;gap:12px;margin-bottom:24px}.dtpb-voucher-actions button{padding:9px 14px;cursor:pointer}@media print{body *{visibility:hidden!important}.dtpb-voucher,.dtpb-voucher *{visibility:visible!important}.dtpb-voucher{position:absolute;left:0;top:0;width:100%;max-width:none;margin:0;padding:20px;border:1px solid #777;box-sizing:border-box}.dtpb-voucher-actions{display:none!important}}

/* Digicube visual refresh: package discovery and checkout */
.dtpb-wrap{--dtpb-accent:#3659e3;--dtpb-ink:#172033;--dtpb-muted:#65718a}
.dtpb-wrap>h2{font-weight:800;letter-spacing:-.7px}
.dtpb-wrap>h2:after{content:"";display:block;width:58px;height:4px;margin-top:10px;border-radius:10px;background:linear-gradient(90deg,#3659e3,#14b8a6)}
.dtpb-package-grid{gap:20px}
.dtpb-package-card{overflow:hidden;border-color:#e5eaf3;border-radius:16px;padding:0 0 16px;box-shadow:0 4px 18px rgba(20,35,70,.045);transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}
.dtpb-package-card>input{top:15px;right:15px;width:21px;height:21px;background:#fff;box-shadow:0 2px 8px #0f172a20}
.dtpb-package-card>img{height:205px;border-radius:0;display:block;margin:0 0 7px;transition:transform .35s ease}
.dtpb-package-card:hover{transform:translateY(-3px);box-shadow:0 12px 30px rgba(20,35,70,.11)}
.dtpb-package-card:hover>img{transform:scale(1.025)}
.dtpb-package-card>strong,.dtpb-package-card>span,.dtpb-package-card>p,.dtpb-package-card>b,.dtpb-package-card>.dtpb-gallery,.dtpb-package-card>.dtpb-extra-charges{margin-left:16px;margin-right:16px}
.dtpb-package-card>strong{display:block;font-size:18px;line-height:1.35;color:#172033}
.dtpb-package-card>span{color:#64748b;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.04em}
.dtpb-package-card p{font-size:13px}
.dtpb-package-card>b{display:block;margin-top:10px;font-size:18px;color:#3659e3}
.dtpb-extra-charges{padding:10px 12px;background:#f8fafc;border-radius:9px;border:1px solid #edf1f7;font-size:12px}
.dtpb-extra-charges ul{margin:6px 0 0 17px}.dtpb-extra-charges li{margin:3px 0;color:#596579}
.dtpb-package-card.is-selected{border-color:#3659e3;box-shadow:0 0 0 2px #3659e326,0 12px 28px #3659e31a}
.dtpb-booking-form{background:linear-gradient(180deg,#f8faff,#fff);border-color:#e0e7f5;box-shadow:0 10px 30px rgba(20,35,70,.055);border-radius:18px}
.dtpb-booking-form>h3{display:flex;align-items:center;gap:10px;font-weight:800;color:#172033}
.dtpb-booking-form>h3:before{content:"";width:5px;height:24px;background:#3659e3;border-radius:8px}
.dtpb-field label{color:#263449;font-size:13px}
.dtpb-field input:focus,.dtpb-field textarea:focus,.dtpb-field select:focus{outline:0;border-color:#3659e3;box-shadow:0 0 0 3px #3659e31c}
.dtpb-total{border:1px solid #dbe5ff;background:linear-gradient(110deg,#eef3ff,#f0fdfa);border-radius:12px}
.dtpb-total strong{color:#2449ce}
.dtpb-submit{background:linear-gradient(100deg,#3659e3,#2848c7);box-shadow:0 5px 12px #3659e32b;transition:transform .15s,box-shadow .15s}
.dtpb-submit:hover{filter:none;transform:translateY(-1px);box-shadow:0 8px 18px #3659e33b}
.dtpb-result{border-radius:10px;box-shadow:0 3px 10px #0f172a08}
.dtpb-account{max-width:1000px;margin:28px auto;color:#172033}
.dtpb-account>h2{font-size:clamp(24px,3vw,34px);font-weight:800;letter-spacing:-.6px}
.dtpb-account-booking{padding:20px;border-color:#e2e8f0;border-radius:14px;box-shadow:0 4px 16px #0f172a08}
.dtpb-account-booking h3{font-size:18px;color:#172033}
.dtpb-account-booking .button{display:inline-block;padding:8px 13px;border-radius:7px;background:#eef2ff;color:#2949c7;text-decoration:none;border:1px solid #dbe3ff}
.dtpb-voucher{border-color:#d8e2ff;border-radius:16px;box-shadow:0 12px 35px #17255412}
@media(max-width:520px){.dtpb-package-card>img{height:200px}.dtpb-booking-form{padding:16px}.dtpb-package-card>strong,.dtpb-package-card>span,.dtpb-package-card>p,.dtpb-package-card>b,.dtpb-package-card>.dtpb-gallery,.dtpb-package-card>.dtpb-extra-charges{margin-left:13px;margin-right:13px}}


/* v2.2.6 package discovery and detail-to-booking flow */
.dtpb-page-heading{margin:0 0 24px}.dtpb-page-heading h2{margin:0 0 8px;font-size:clamp(27px,3vw,36px);line-height:1.2;color:#172033}.dtpb-page-heading p{margin:0;color:#64748b}.dtpb-listing-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.dtpb-listing-card{display:flex;flex-direction:column;overflow:hidden;border:1px solid #e2e8f0;border-radius:18px;background:#fff;box-shadow:0 8px 26px rgba(15,23,42,.06);transition:transform .2s ease,box-shadow .2s ease}.dtpb-listing-card:hover{transform:translateY(-3px);box-shadow:0 16px 34px rgba(15,23,42,.12)}.dtpb-card-image-link{display:block;overflow:hidden;aspect-ratio:16/10;background:#f1f5f9}.dtpb-card-image-link img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .35s ease}.dtpb-listing-card:hover .dtpb-card-image-link img{transform:scale(1.035)}.dtpb-card-body{display:flex;flex:1;flex-direction:column;padding:20px}.dtpb-card-body h3{margin:5px 0 9px;font-size:21px;line-height:1.3;color:#172033}.dtpb-card-body p{color:#64748b;font-size:14px;line-height:1.65}.dtpb-duration{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#3659e3}.dtpb-card-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:auto;padding-top:18px}.dtpb-price{font-size:19px;color:#2548d8}.dtpb-price small,.dtpb-detail-hero small,.dtpb-detail-title small{font-size:12px;font-weight:500;color:#64748b}.dtpb-details-button{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:0 17px;border-radius:9px;background:#3659e3;color:#fff!important;text-decoration:none!important;font-weight:700;font-size:14px;white-space:nowrap}.dtpb-details-button:hover{background:#2444c7;color:#fff!important}.dtpb-breadcrumb{margin:0 0 18px;color:#64748b;font-size:14px}.dtpb-breadcrumb a{color:#3659e3;text-decoration:none}.dtpb-detail{overflow:hidden;border:1px solid #e2e8f0;border-radius:20px;background:#fff;box-shadow:0 12px 36px rgba(15,23,42,.06)}.dtpb-detail-hero{position:relative;min-height:260px;max-height:480px;overflow:hidden;background:#e2e8f0}.dtpb-detail-hero:after{content:"";position:absolute;inset:25% 0 0;background:linear-gradient(transparent,rgba(15,23,42,.82))}.dtpb-detail-hero>img{display:block;width:100%;height:clamp(280px,42vw,480px);object-fit:cover}.dtpb-detail-hero-overlay{position:absolute;z-index:1;left:clamp(20px,4vw,48px);right:20px;bottom:28px;color:#fff}.dtpb-detail-hero-overlay span,.dtpb-detail-title>span,.dtpb-booking-section>header>span{display:inline-block;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.dtpb-detail-hero-overlay h2{margin:8px 0;font-size:clamp(28px,4vw,42px);color:#fff}.dtpb-detail-hero-overlay strong{font-size:22px}.dtpb-detail-hero-overlay small{color:#fff}.dtpb-detail-title{padding:30px 34px;background:#f8fafc}.dtpb-detail-title h2{margin:8px 0;font-size:34px}.dtpb-detail-content{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:34px;padding:30px clamp(20px,4vw,42px)}.dtpb-detail-content h3{margin:0 0 12px;color:#172033;font-size:21px}.dtpb-description{color:#475569;line-height:1.8}.dtpb-detail-meta{padding:12px 14px;border-radius:10px;background:#f8fafc}.dtpb-charge-list{padding-left:22px;color:#475569;line-height:1.8}.dtpb-detail-gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.dtpb-detail-gallery a{display:block;overflow:hidden;border-radius:10px;aspect-ratio:4/3}.dtpb-detail-gallery img{width:100%;height:100%;object-fit:cover;transition:transform .25s ease}.dtpb-detail-gallery a:hover img{transform:scale(1.05)}.dtpb-detail-summary{align-self:start;position:sticky;top:20px;padding:22px;border:1px solid #dbe4ff;border-radius:14px;background:#f8faff}.dtpb-detail-summary>span,.dtpb-detail-summary>small{display:block;color:#64748b;font-size:13px}.dtpb-detail-summary>strong{display:block;margin:5px 0;font-size:27px;color:#2548d8}.dtpb-detail-summary .dtpb-details-button{width:100%;box-sizing:border-box;margin-top:18px}.dtpb-detail-summary p{font-size:12px;line-height:1.6;color:#64748b}.dtpb-booking-section{margin-top:34px;padding:clamp(20px,4vw,38px);border:1px solid #e2e8f0;border-radius:20px;background:#f8fafc}.dtpb-booking-section>header{margin-bottom:22px}.dtpb-booking-section>header>span{color:#3659e3}.dtpb-booking-section>header h2{margin:7px 0;font-size:clamp(25px,3vw,32px);color:#172033}.dtpb-booking-section>header p{margin:0;color:#64748b}.dtpb-selected-package{display:flex;align-items:center;gap:12px;padding:15px;margin-bottom:22px;border:1px solid #dbe4ff;border-radius:12px;background:#fff}.dtpb-selected-package input{accent-color:#3659e3}.dtpb-selected-package strong,.dtpb-selected-package span{display:block}.dtpb-selected-package span{margin-top:3px;color:#3659e3;font-size:13px}.dtpb-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.dtpb-field-full{grid-column:1/-1}.dtpb-account-option,.dtpb-pay-choice{margin:18px 0;color:#475569}.dtpb-account-option label,.dtpb-pay-choice label{display:flex;gap:9px;align-items:flex-start}.dtpb-total{display:flex;justify-content:space-between;align-items:center;gap:15px;margin:20px 0;padding:17px 20px;border-radius:12px;background:#eef2ff;color:#172033}.dtpb-total strong{font-size:22px;color:#2548d8}.dtpb-booking-form .dtpb-submit{min-height:48px;padding:0 24px;border:0;border-radius:10px;background:#3659e3;color:#fff;font-weight:800;cursor:pointer}.dtpb-booking-form .dtpb-submit:hover{background:#2444c7}.dtpb-privacy{font-size:12px;color:#64748b}.dtpb-listing-card .dtpb-gallery{display:none}
@media(max-width:900px){.dtpb-listing-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dtpb-detail-content{grid-template-columns:minmax(0,1fr)}.dtpb-detail-summary{position:static}.dtpb-detail-gallery{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:600px){.dtpb-listing-grid{grid-template-columns:1fr}.dtpb-card-body{padding:16px}.dtpb-card-footer{align-items:flex-start;flex-direction:column}.dtpb-details-button{width:100%;box-sizing:border-box}.dtpb-form-grid{grid-template-columns:1fr}.dtpb-field-full{grid-column:auto}.dtpb-detail-content{padding:22px 18px}.dtpb-detail-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.dtpb-booking-section{padding:20px 15px}.dtpb-total{align-items:flex-start;flex-direction:column}}


/* v2.3.4 accessible gallery lightbox */
.dtpb-detail-gallery a.dtpb-lightbox-trigger{cursor:zoom-in;position:relative}
.dtpb-detail-gallery a.dtpb-lightbox-trigger:focus-visible{outline:3px solid #3659e3;outline-offset:3px}
.dtpb-lightbox[hidden]{display:none!important}
.dtpb-lightbox{position:fixed;inset:0;z-index:999999;display:flex;align-items:center;justify-content:center;background:rgba(4,8,18,.94);padding:64px 76px;box-sizing:border-box}
.dtpb-lightbox-figure{display:flex;flex-direction:column;align-items:center;justify-content:center;max-width:min(1100px,100%);max-height:100%;margin:0}
.dtpb-lightbox-figure img{display:block;max-width:100%;max-height:calc(100vh - 150px);width:auto;height:auto;object-fit:contain;border-radius:5px;box-shadow:0 16px 55px rgba(0,0,0,.35)}
.dtpb-lightbox-figure figcaption{color:#fff;text-align:center;font-size:14px;margin-top:12px;max-width:80vw}
.dtpb-lightbox button{position:absolute;display:flex;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.25);background:rgba(255,255,255,.12);color:#fff;cursor:pointer;line-height:1;transition:background .15s ease}
.dtpb-lightbox button:hover,.dtpb-lightbox button:focus-visible{background:rgba(255,255,255,.25);outline:2px solid #fff;outline-offset:2px}
.dtpb-lightbox-close{top:18px;right:22px;width:46px;height:46px;border-radius:50%;font-size:34px}
.dtpb-lightbox-prev,.dtpb-lightbox-next{top:50%;transform:translateY(-50%);width:52px;height:64px;border-radius:12px;font-size:25px}
.dtpb-lightbox-prev{left:18px}.dtpb-lightbox-next{right:18px}
.dtpb-lightbox-counter{position:absolute;bottom:18px;left:50%;transform:translateX(-50%);color:#fff;background:rgba(0,0,0,.4);padding:6px 12px;border-radius:20px;font-size:13px}
body.dtpb-lightbox-open{overflow:hidden}
@media(max-width:600px){.dtpb-lightbox{padding:60px 46px}.dtpb-lightbox-prev,.dtpb-lightbox-next{width:38px;height:50px;font-size:20px}.dtpb-lightbox-prev{left:5px}.dtpb-lightbox-next{right:5px}.dtpb-lightbox-close{top:10px;right:10px;width:40px;height:40px}.dtpb-lightbox-figure img{max-height:calc(100vh - 135px)}}
