/* ================================================================
   Tours Suite — Slideshow Cards CSS  v1.4.3
   Exactly matches BMTS2 reference screenshot
   Prefix: pvts- (cards)  pvtb- (popup)
   ================================================================ */

:root { --pvts-pri: #F5A623; }

/* ── Reset ── */
.pvts-wrap, .pvts-wrap * { box-sizing: border-box !important; }
.pvts-wrap {
    width: 100% !important;
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Arial, sans-serif !important;
}

/* ════════════════════════════════════════════════════════════
   GRID
════════════════════════════════════════════════════════════ */
.pvts-grid {
    display: grid !important;
    gap: 24px !important;
}
.pvts-cols-1 { grid-template-columns: 1fr !important; }
.pvts-cols-2 { grid-template-columns: repeat(2,1fr) !important; }
.pvts-cols-3 { grid-template-columns: repeat(3,1fr) !important; }
.pvts-cols-4 { grid-template-columns: repeat(4,1fr) !important; }

@media (max-width:1024px) {
    .pvts-cols-3, .pvts-cols-4 { grid-template-columns: repeat(2,1fr) !important; }
    .pvts-grid { gap: 18px !important; }
}
@media (max-width:768px) {
    .pvts-cols-2,.pvts-cols-3,.pvts-cols-4 { grid-template-columns: 1fr !important; }
    .pvts-grid { gap: 16px !important; }
    .pvts-hl-list { grid-template-columns: 1fr !important; gap: 5px 0 !important; }
    .pvts-hotels ul { grid-template-columns: 1fr !important; }
    .pvts-pfrom-num { font-size: 22px !important; }
    .pvts-title { font-size: 20px !important; }
    .pvts-info  { padding: 14px 14px 16px !important; }
    .pvts-tbl   { font-size: 11.5px !important; }
}
@media (max-width:480px) {
    .pvts-grid  { gap: 12px !important; }
    .pvts-info  { padding: 12px 12px 14px !important; gap: 8px !important; }
    .pvts-btn   { padding: 10px 12px !important; font-size: 12px !important; }
    .pvts-pfrom-num { font-size: 20px !important; }
}

/* ════════════════════════════════════════════════════════════
   CARD SHELL
════════════════════════════════════════════════════════════ */
.pvts-card {
    display: flex !important;
    flex-direction: column !important;
    background: #1a1a1a !important;
    border-radius: 16px !important;
    overflow: hidden !important;
    border: 1px solid rgba(255,255,255,.08) !important;
    box-shadow: 0 4px 24px rgba(0,0,0,.5) !important;
    transition: transform .22s ease, box-shadow .22s ease !important;
    position: relative !important;
}
.pvts-card:hover {
    transform: translateY(-4px) !important;
    box-shadow: 0 16px 48px rgba(0,0,0,.65) !important;
}

/* ════════════════════════════════════════════════════════════
   SLIDESHOW — 4:5 portrait
════════════════════════════════════════════════════════════ */
.pvts-slider {
    position: relative !important;
    width: 100% !important;
    padding-top: 125% !important;   /* 4:5 ratio */
    background: #111 !important;
    overflow: hidden !important;
    flex-shrink: 0 !important;
    user-select: none !important;
    -webkit-user-select: none !important;
}
.pvts-nophoto { background: linear-gradient(145deg,#1a1a1a,#2a2a2a) !important; }

.pvts-track {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
}

/* Each slide */
.pvts-slide {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    background-size: cover !important;
    background-position: center top !important;
    background-repeat: no-repeat !important;
    background-color: #111 !important;
    opacity: 0 !important;
    transition: opacity .5s ease !important;
    will-change: opacity !important;
}
.pvts-slide.is-active { opacity: 1 !important; z-index: 1 !important; }
.pvts-nophoto-slide   { opacity: 1 !important; background: linear-gradient(145deg,#1a1a1a,#2a2a2a) !important; }

/* Gradient overlay on image */
.pvts-grad {
    position: absolute !important;
    bottom: 0 !important; left: 0 !important; right: 0 !important;
    height: 45% !important;
    background: linear-gradient(to top, rgba(10,10,10,.9) 0%, transparent 100%) !important;
    z-index: 2 !important;
    pointer-events: none !important;
}

/* ── Badge (top-left pill) ── */
.pvts-badge {
    position: absolute !important;
    top: 14px !important; left: 14px !important;
    z-index: 5 !important;
    font-size: 10px !important; font-weight: 800 !important;
    letter-spacing: .7px !important; text-transform: uppercase !important;
    padding: 5px 14px !important; border-radius: 20px !important; line-height: 1.4 !important;
}
.pvts-badge-or { background: #E8732A !important; color: #fff !important; }
.pvts-badge-re { background: #DC2626 !important; color: #fff !important; }
.pvts-badge-gr { background: #059669 !important; color: #fff !important; }
.pvts-badge-tl { background: #0D9488 !important; color: #fff !important; }
.pvts-badge-bl { background: #2563EB !important; color: #fff !important; }
.pvts-badge-dk { background: rgba(0,0,0,.7) !important; color: var(--pvts-pri) !important; border: 1px solid var(--pvts-pri) !important; }

/* ── Ribbon (top-right corner) ── */
.pvts-ribbon {
    position: absolute !important; top: 0 !important; right: 0 !important; z-index: 5 !important;
    width: 90px !important; height: 90px !important; overflow: hidden !important; pointer-events: none !important;
}
.pvts-ribbon span {
    position: absolute !important; display: block !important; width: 126px !important;
    background: var(--rb, #E8732A) !important; color: var(--rt, #fff) !important;
    font-size: 9px !important; font-weight: 800 !important; letter-spacing: .5px !important;
    text-transform: uppercase !important; text-align: center !important; line-height: 22px !important;
    top: 21px !important; right: -32px !important; transform: rotate(45deg) !important;
    box-shadow: 0 2px 6px rgba(0,0,0,.4) !important;
}

/* ── Arrows ── */
.pvts-arr {
    position: absolute !important; top: 50% !important; transform: translateY(-50%) !important;
    z-index: 6 !important; width: 38px !important; height: 38px !important; border-radius: 50% !important;
    background: rgba(0,0,0,.65) !important; border: 1.5px solid rgba(255,255,255,.2) !important;
    color: #fff !important; display: flex !important; align-items: center !important;
    justify-content: center !important; cursor: pointer !important; padding: 0 !important;
    transition: background .16s, opacity .18s !important;
    opacity: 0 !important; pointer-events: none !important;
    backdrop-filter: blur(4px) !important;
}
.pvts-arr-l { left: 10px !important; }
.pvts-arr-r { right: 10px !important; }
.pvts-card:hover .pvts-arr { opacity: 1 !important; pointer-events: all !important; }
.pvts-arr:hover { background: rgba(0,0,0,.88) !important; border-color: rgba(255,255,255,.5) !important; }
@media (hover: none) { .pvts-arr { opacity: 1 !important; pointer-events: all !important; } }

/* ── Dots ── */
.pvts-dots {
    position: absolute !important; bottom: 14px !important; left: 50% !important;
    transform: translateX(-50%) !important; z-index: 5 !important;
    display: flex !important; gap: 5px !important; align-items: center !important;
}
.pvts-dot {
    width: 7px !important; height: 7px !important; border-radius: 4px !important;
    background: rgba(255,255,255,.35) !important; border: none !important; padding: 0 !important;
    cursor: pointer !important; transition: background .2s, width .2s !important;
    flex-shrink: 0 !important;
}
.pvts-dot.is-active { background: var(--pvts-pri) !important; width: 22px !important; }

/* ── Slide counter (top-right) ── */
.pvts-ctr {
    position: absolute !important; top: 12px !important; right: 12px !important; z-index: 5 !important;
    background: rgba(0,0,0,.65) !important; backdrop-filter: blur(4px) !important;
    color: rgba(255,255,255,.8) !important; font-size: 11px !important; font-weight: 700 !important;
    padding: 3px 10px !important; border-radius: 20px !important;
}
.pvts-curidx { color: var(--pvts-pri) !important; }

/* ── Duration / Date chips (bottom of image) ── */
.pvts-chips {
    position: absolute !important; left: 12px !important; bottom: 12px !important;
    z-index: 5 !important; display: flex !important; gap: 6px !important; flex-wrap: wrap !important;
}
/* Push chips up when dots are visible */
.pvts-slider:has(.pvts-dots) .pvts-chips { bottom: 38px !important; }
.pvts-chip {
    background: rgba(0,0,0,.8) !important; backdrop-filter: blur(4px) !important;
    color: #fff !important; font-size: 11px !important; font-weight: 700 !important;
    padding: 5px 11px !important; border-radius: 6px !important;
    display: inline-flex !important; align-items: center !important; gap: 5px !important;
    border: 1px solid rgba(255,255,255,.15) !important;
}
.pvts-chip-hl {
    background: var(--pvts-pri) !important;
    color: #1a0a00 !important; border-color: transparent !important;
}
.pvts-chipdot {
    width: 5px !important; height: 5px !important; border-radius: 50% !important;
    background: var(--pvts-pri) !important; flex-shrink: 0 !important;
}
.pvts-chip-hl .pvts-chipdot { background: rgba(0,0,0,.4) !important; }

/* ════════════════════════════════════════════════════════════
   CARD CONTENT
════════════════════════════════════════════════════════════ */
.pvts-info {
    padding: 20px 20px 22px !important;
    display: flex !important; flex-direction: column !important; gap: 12px !important;
    flex: 1 !important; background: #1a1a1a !important;
}

/* Tagline above title */
.pvts-tagline {
    font-size: 10px !important; letter-spacing: 2px !important;
    text-transform: uppercase !important; color: var(--pvts-pri) !important;
    font-weight: 800 !important; margin: 0 !important;
}

/* Tour title — matches BMTS2 large bold style */
.pvts-title {
    font-size: clamp(20px, 2.2vw, 24px) !important;
    font-weight: 900 !important; color: #ffffff !important;
    line-height: 1.15 !important; margin: 0 !important;
    letter-spacing: -.3px !important;
    text-transform: uppercase !important;
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Arial, sans-serif !important;
}

/* Description */
.pvts-desc {
    font-size: 13.5px !important; color: rgba(255,255,255,.55) !important;
    line-height: 1.65 !important; margin: 0 !important;
}

/* ── Highlights ── */
.pvts-hl-section { margin: 0 !important; }
.pvts-hl-label {
    font-size: 10px !important; font-weight: 800 !important;
    color: rgba(255,255,255,.3) !important; text-transform: uppercase !important;
    letter-spacing: 1px !important; display: block !important;
    margin: 0 0 10px !important; padding: 0 !important;
}
.pvts-hl-list {
    list-style: none !important; margin: 0 !important; padding: 0 !important;
    display: grid !important; grid-template-columns: 1fr 1fr !important;
    gap: 6px 16px !important;
}
.pvts-hl-list li {
    display: flex !important; align-items: flex-start !important; gap: 8px !important;
    font-size: 13px !important; font-weight: 500 !important;
    color: rgba(255,255,255,.8) !important;
    list-style: none !important; padding: 0 !important; margin: 0 !important;
    line-height: 1.3 !important;
}
.pvts-hl-list li svg {
    flex-shrink: 0 !important; margin-top: 2px !important;
    stroke: var(--pvts-pri) !important; width: 13px !important; height: 13px !important;
}

/* ── Hotels ── */
.pvts-hotels {
    border-top: 1px solid rgba(255,255,255,.07) !important;
    padding-top: 10px !important; margin: 0 !important;
}
.pvts-hotels-lbl {
    font-size: 10px !important; font-weight: 800 !important;
    color: rgba(255,255,255,.3) !important; text-transform: uppercase !important;
    letter-spacing: 1px !important; display: block !important; margin-bottom: 8px !important;
}
.pvts-hotels ul {
    list-style: none !important; margin: 0 !important; padding: 0 !important;
    display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 4px 12px !important;
}
.pvts-hotels li {
    display: flex !important; align-items: center !important; gap: 6px !important;
    font-size: 12.5px !important; font-weight: 600 !important;
    color: rgba(255,255,255,.65) !important;
    list-style: none !important; padding: 0 !important; margin: 0 !important;
}
.pvts-hdot {
    width: 5px !important; height: 5px !important; border-radius: 50% !important;
    background: var(--pvts-pri) !important; flex-shrink: 0 !important;
}

/* ── Price Box ── */
.pvts-price-box {
    background: #111 !important;
    border: 1px solid rgba(255,255,255,.08) !important;
    border-radius: 10px !important; padding: 14px 16px !important; margin: 0 !important;
}
.pvts-pfrom-row {
    display: flex !important; align-items: baseline !important;
    gap: 10px !important; margin-bottom: 14px !important;
}
.pvts-pfrom-lbl {
    font-size: 10px !important; color: rgba(255,255,255,.4) !important;
    text-transform: uppercase !important; letter-spacing: .8px !important;
    font-weight: 800 !important; white-space: nowrap !important;
}
.pvts-pfrom-num {
    font-size: 28px !important; font-weight: 900 !important;
    color: var(--pvts-pri) !important; line-height: 1 !important;
}

/* Pricing table */
.pvts-tbl-wrap { overflow-x: auto !important; }
.pvts-tbl {
    width: 100% !important; border-collapse: collapse !important;
    font-size: 12.5px !important; min-width: 220px !important;
}
.pvts-tbl thead tr { background: rgba(0,0,0,.3) !important; }
.pvts-tbl thead th {
    color: rgba(255,255,255,.4) !important; padding: 8px 10px !important;
    font-size: 10px !important; font-weight: 800 !important;
    text-transform: uppercase !important; letter-spacing: .8px !important;
    text-align: left !important; white-space: nowrap !important;
    background: transparent !important; border: none !important;
}
.pvts-tbl tbody td {
    padding: 9px 10px !important;
    border-bottom: 1px solid rgba(255,255,255,.06) !important;
    color: rgba(255,255,255,.75) !important; font-size: 12.5px !important;
    background: transparent !important;
}
.pvts-tbl tbody tr:last-child td { border-bottom: none !important; }
.pvts-tbl tbody tr:hover td { background: rgba(255,255,255,.03) !important; }
.pvts-pkg-n { font-weight: 700 !important; color: #fff !important; }
.pvts-tip {
    display: inline-flex !important; align-items: center !important;
    justify-content: center !important; width: 14px !important; height: 14px !important;
    border-radius: 50% !important; background: rgba(255,255,255,.12) !important;
    cursor: help !important; margin-left: 4px !important; vertical-align: middle !important;
}
.pvts-na { color: rgba(255,255,255,.2) !important; }

/* Footnotes */
.pvts-footnotes {
    font-size: 11px !important; color: rgba(255,255,255,.3) !important;
    line-height: 1.5 !important; margin: 0 !important;
    border-top: 1px dashed rgba(255,255,255,.08) !important;
    padding-top: 8px !important; font-style: italic !important;
}

/* ── CTA Buttons ── */
.pvts-btns {
    display: flex !important; gap: 10px !important;
    margin-top: auto !important; padding-top: 6px !important;
}
.pvts-btn {
    display: inline-flex !important; align-items: center !important;
    justify-content: center !important; padding: 13px 20px !important;
    border-radius: 50px !important; font-size: 14px !important; font-weight: 700 !important;
    cursor: pointer !important; transition: all .18s !important;
    font-family: inherit !important; text-decoration: none !important;
    line-height: 1 !important; white-space: nowrap !important; border: none !important;
    flex: 1 !important;
}
.pvts-btn-ol {
    background: transparent !important;
    border: 1.5px solid rgba(255,255,255,.2) !important;
    color: rgba(255,255,255,.75) !important;
}
.pvts-btn-ol:hover {
    border-color: rgba(255,255,255,.5) !important;
    color: #fff !important;
    background: rgba(255,255,255,.05) !important;
}
.pvts-btn-pk {
    background: var(--pvts-pri) !important;
    color: #1a0a00 !important; font-weight: 800 !important;
}
.pvts-btn-pk:hover { filter: brightness(1.12) !important; }

/* ════════════════════════════════════════════════════════════
   BOOKING POPUP  (pvtb- prefix)
   Scoped to #pvtbOverlay to avoid all theme conflicts
════════════════════════════════════════════════════════════ */
#pvtbOverlay {
    display: none !important;
    position: fixed !important; inset: 0 !important;
    z-index: 2147483647 !important;
    background: rgba(0,0,0,.88) !important;
    backdrop-filter: blur(8px) !important;
    -webkit-backdrop-filter: blur(8px) !important;
    align-items: center !important; justify-content: center !important;
    padding: 16px !important; box-sizing: border-box !important;
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
}
#pvtbOverlay.pvtb-open { display: flex !important; }

#pvtbOverlay .pvtb-modal {
    background: #1a1a1a !important;
    border-radius: 18px !important; width: 100% !important; max-width: 520px !important;
    max-height: 92vh !important; overflow-y: auto !important; overflow-x: hidden !important;
    box-shadow: 0 32px 80px rgba(0,0,0,.9), 0 0 0 1px rgba(255,255,255,.07) !important;
    scrollbar-width: thin !important; scrollbar-color: #333 transparent !important;
    animation: pvtbIn .24s cubic-bezier(.34,1.4,.64,1) !important;
    position: relative !important;
}
#pvtbOverlay .pvtb-modal::-webkit-scrollbar { width: 4px !important; }
#pvtbOverlay .pvtb-modal::-webkit-scrollbar-thumb { background: #333 !important; border-radius: 4px !important; }

@keyframes pvtbIn {
    from { opacity: 0; transform: translateY(24px) scale(.96); }
    to   { opacity: 1; transform: none; }
}
@keyframes pvtbShake {
    0%,100%{transform:translateX(0)} 20%{transform:translateX(-9px)}
    40%{transform:translateX(9px)} 60%{transform:translateX(-6px)} 80%{transform:translateX(6px)}
}
#pvtbOverlay .pvtb-modal.pvtb-shake { animation: pvtbShake .28s ease !important; }

/* Header */
#pvtbOverlay .pvtb-header {
    display: flex !important; align-items: flex-start !important; gap: 14px !important;
    padding: 20px 20px 16px !important; background: #1a1a1a !important;
    border-bottom: 1px solid rgba(255,255,255,.08) !important;
    position: sticky !important; top: 0 !important; z-index: 10 !important;
}
#pvtbOverlay .pvtb-header-icon {
    width: 48px !important; height: 48px !important; min-width: 48px !important;
    flex-shrink: 0 !important; background: var(--pvts-pri) !important;
    border-radius: 12px !important; display: flex !important;
    align-items: center !important; justify-content: center !important;
    color: #1a0a00 !important;
}
#pvtbOverlay .pvtb-header-text { flex: 1 !important; min-width: 0 !important; }
#pvtbOverlay .pvtb-header-title {
    font-size: 16px !important; font-weight: 900 !important;
    letter-spacing: 1.8px !important; text-transform: uppercase !important;
    color: #fff !important; margin: 0 0 4px !important; line-height: 1.1 !important;
}
#pvtbOverlay .pvtb-header-tour {
    font-size: 14px !important; font-weight: 700 !important;
    color: var(--pvts-pri) !important; margin: 0 0 2px !important; line-height: 1.3 !important;
}
#pvtbOverlay .pvtb-header-meta {
    font-size: 12px !important; color: rgba(255,255,255,.4) !important; margin: 0 !important;
}
#pvtbOverlay .pvtb-close {
    flex-shrink: 0 !important; width: 34px !important; height: 34px !important;
    min-width: 34px !important; background: rgba(255,255,255,.08) !important;
    border: 1px solid rgba(255,255,255,.15) !important; border-radius: 8px !important;
    cursor: pointer !important; display: flex !important; align-items: center !important;
    justify-content: center !important; color: rgba(255,255,255,.7) !important;
    font-size: 18px !important; font-weight: 700 !important; line-height: 1 !important;
    font-family: inherit !important; padding: 0 !important; margin: 0 !important;
    transition: background .15s, color .15s !important;
}
#pvtbOverlay .pvtb-close:hover {
    background: rgba(255,255,255,.18) !important; color: #fff !important;
}

/* Chips row */
#pvtbOverlay .pvtb-chips {
    display: flex !important; flex-wrap: wrap !important; gap: 7px !important;
    padding: 12px 20px !important; background: #111 !important;
    border-bottom: 1px solid rgba(255,255,255,.06) !important;
    min-height: 46px !important; align-items: center !important;
}
#pvtbOverlay .pvtb-chip {
    display: inline-flex !important; align-items: center !important;
    padding: 5px 12px !important; border-radius: 6px !important;
    font-size: 12px !important; font-weight: 600 !important;
    background: rgba(255,255,255,.1) !important;
    color: rgba(255,255,255,.8) !important; white-space: nowrap !important;
}
#pvtbOverlay .pvtb-chip-price {
    background: var(--pvts-pri) !important; color: #1a0a00 !important; font-weight: 800 !important;
}

/* Sections */
#pvtbOverlay .pvtb-section { padding: 14px 20px 4px !important; }
#pvtbOverlay .pvtb-section-label {
    font-size: 10px !important; font-weight: 800 !important; letter-spacing: 1.2px !important;
    text-transform: uppercase !important; color: rgba(255,255,255,.3) !important; margin: 0 0 10px !important;
}

/* Pill selector */
#pvtbOverlay .pvtb-pills { display: flex !important; flex-wrap: wrap !important; gap: 8px !important; }
#pvtbOverlay .pvtb-pill {
    padding: 9px 22px !important; border-radius: 8px !important;
    border: 1.5px solid rgba(255,255,255,.2) !important;
    background: transparent !important; color: rgba(255,255,255,.75) !important;
    font-size: 13px !important; font-weight: 700 !important;
    cursor: pointer !important; font-family: inherit !important;
    transition: all .15s !important; line-height: 1 !important; white-space: nowrap !important;
}
#pvtbOverlay .pvtb-pill:hover {
    border-color: var(--pvts-pri) !important; color: var(--pvts-pri) !important;
}
#pvtbOverlay .pvtb-pill.pvtb-pill-active {
    background: var(--pvts-pri) !important; border-color: var(--pvts-pri) !important;
    color: #1a0a00 !important; font-weight: 800 !important;
}

/* Price bar */
#pvtbOverlay .pvtb-price-bar {
    display: flex !important; align-items: center !important; justify-content: space-between !important;
    margin: 12px 20px !important; padding: 14px 18px !important;
    background: rgba(255,255,255,.04) !important;
    border: 1.5px solid var(--pvts-pri) !important; border-radius: 10px !important;
}
#pvtbOverlay .pvtb-price-label {
    font-size: 11px !important; font-weight: 800 !important; letter-spacing: .9px !important;
    text-transform: uppercase !important; color: rgba(255,255,255,.4) !important;
}
#pvtbOverlay .pvtb-price-value {
    font-size: 26px !important; font-weight: 900 !important;
    color: var(--pvts-pri) !important; line-height: 1 !important;
}

/* Divider */
#pvtbOverlay .pvtb-divider {
    display: flex !important; align-items: center !important; gap: 12px !important;
    padding: 12px 20px 8px !important; font-size: 10px !important; font-weight: 800 !important;
    letter-spacing: 1.2px !important; text-transform: uppercase !important;
    color: rgba(255,255,255,.25) !important;
}
#pvtbOverlay .pvtb-divider::before,
#pvtbOverlay .pvtb-divider::after {
    content: '' !important; flex: 1 !important; height: 1px !important;
    background: rgba(255,255,255,.1) !important;
}

/* Form fields */
#pvtbOverlay .pvtb-fields {
    display: grid !important; grid-template-columns: 1fr 1fr !important;
    gap: 10px 12px !important; padding: 0 20px !important;
}
#pvtbOverlay .pvtb-field { display: flex !important; flex-direction: column !important; gap: 5px !important; }
#pvtbOverlay .pvtb-field-full { grid-column: 1/-1 !important; }
#pvtbOverlay .pvtb-label {
    font-size: 10px !important; font-weight: 800 !important; letter-spacing: .8px !important;
    text-transform: uppercase !important; color: rgba(255,255,255,.4) !important; line-height: 1 !important;
}
#pvtbOverlay .pvtb-req { color: var(--pvts-pri) !important; margin-left: 2px !important; }

/* All inputs inside popup */
#pvtbOverlay input:not([type=hidden]):not([type=checkbox]),
#pvtbOverlay select,
#pvtbOverlay textarea {
    background: #111 !important; color: #e8e8e8 !important;
    border: 1.5px solid rgba(255,255,255,.14) !important; border-radius: 8px !important;
    padding: 10px 13px !important; font-size: 13px !important;
    font-family: inherit !important; width: 100% !important;
    box-sizing: border-box !important; outline: none !important;
    -webkit-appearance: none !important; appearance: none !important;
    line-height: 1.4 !important; display: block !important;
    -webkit-text-fill-color: #e8e8e8 !important; caret-color: #e8e8e8 !important;
    transition: border-color .15s, background .15s !important;
}
#pvtbOverlay input:not([type=hidden]):not([type=checkbox]):focus,
#pvtbOverlay select:focus, #pvtbOverlay textarea:focus {
    border-color: var(--pvts-pri) !important; background: #151515 !important;
    box-shadow: 0 0 0 3px rgba(245,166,35,.15) !important; outline: none !important;
}
#pvtbOverlay input::placeholder, #pvtbOverlay textarea::placeholder {
    color: rgba(255,255,255,.22) !important;
}
#pvtbOverlay input:-webkit-autofill,
#pvtbOverlay input:-webkit-autofill:hover,
#pvtbOverlay input:-webkit-autofill:focus {
    -webkit-box-shadow: 0 0 0 100px #111 inset !important;
    -webkit-text-fill-color: #e8e8e8 !important; caret-color: #e8e8e8 !important;
}
#pvtbOverlay select option { background: #1a1a1a !important; color: #e8e8e8 !important; }
#pvtbOverlay .pvtb-select-wrap { position: relative !important; display: block !important; }
#pvtbOverlay .pvtb-select { padding-right: 36px !important; }
#pvtbOverlay .pvtb-select-chevron {
    position: absolute !important; right: 11px !important; top: 50% !important;
    transform: translateY(-50%) !important; pointer-events: none !important;
    color: rgba(255,255,255,.4) !important; z-index: 1 !important;
}
#pvtbOverlay .pvtb-err { border-color: #ef4444 !important; background: #1a0808 !important; }
#pvtbOverlay textarea { min-height: 88px !important; resize: vertical !important; }

/* T&C row */
#pvtbOverlay .pvtb-tnc { padding: 10px 20px 4px !important; }
#pvtbOverlay .pvtb-tnc-row {
    display: flex !important; align-items: flex-start !important; gap: 10px !important;
    cursor: pointer !important; font-size: 12px !important; color: rgba(255,255,255,.5) !important;
    line-height: 1.5 !important; user-select: none !important;
    padding: 12px 14px !important; background: rgba(255,255,255,.04) !important;
    border: 1px solid rgba(255,255,255,.1) !important; border-radius: 8px !important;
}
#pvtbOverlay .pvtb-tnc-cb {
    width: 16px !important; height: 16px !important; min-width: 16px !important;
    margin-top: 2px !important; cursor: pointer !important; accent-color: var(--pvts-pri) !important;
    flex-shrink: 0 !important; display: inline !important;
    -webkit-appearance: checkbox !important; appearance: checkbox !important;
    background: transparent !important; border: none !important; padding: 0 !important;
}
#pvtbOverlay .pvtb-tnc-row a { color: var(--pvts-pri) !important; font-weight: 700 !important; text-decoration: underline !important; }
#pvtbOverlay .pvtb-tnc-row.pvtb-tnc-err { border-color: #ef4444 !important; background: rgba(239,68,68,.08) !important; }

/* Footer */
#pvtbOverlay .pvtb-footer { padding: 14px 20px 22px !important; }
#pvtbOverlay .pvtb-msg { display: none !important; padding: 11px 14px !important; border-radius: 8px !important; font-size: 13px !important; font-weight: 600 !important; text-align: center !important; margin-bottom: 10px !important; }
#pvtbOverlay .pvtb-msg.pvtb-ok { display: block !important; background: rgba(34,197,94,.12) !important; color: #4ade80 !important; border: 1px solid rgba(34,197,94,.25) !important; }
#pvtbOverlay .pvtb-msg.pvtb-err-msg { display: block !important; background: rgba(239,68,68,.12) !important; color: #f87171 !important; border: 1px solid rgba(239,68,68,.25) !important; }

#pvtbOverlay .pvtb-actions { display: flex !important; gap: 10px !important; }
#pvtbOverlay .pvtb-btn-cancel {
    flex: 1 !important; padding: 14px 20px !important;
    background: rgba(255,255,255,.08) !important; border: 1.5px solid rgba(255,255,255,.18) !important;
    border-radius: 50px !important; font-size: 14px !important; font-weight: 700 !important;
    cursor: pointer !important; color: rgba(255,255,255,.7) !important;
    font-family: inherit !important; transition: all .15s !important; white-space: nowrap !important;
    text-align: center !important; -webkit-appearance: none !important; appearance: none !important;
    -webkit-text-fill-color: rgba(255,255,255,.7) !important;
}
#pvtbOverlay .pvtb-btn-cancel:hover {
    background: rgba(255,255,255,.15) !important; color: #fff !important;
    -webkit-text-fill-color: #fff !important;
}
#pvtbOverlay .pvtb-btn-wa {
    flex: 1 !important; padding: 14px 20px !important;
    background: #25D366 !important; color: #fff !important; border: none !important;
    border-radius: 50px !important; font-size: 14px !important; font-weight: 800 !important;
    cursor: pointer !important; display: flex !important; align-items: center !important;
    justify-content: center !important; gap: 9px !important; font-family: inherit !important;
    transition: background .15s, transform .1s !important; white-space: nowrap !important;
    -webkit-text-fill-color: #fff !important;
}
#pvtbOverlay .pvtb-btn-wa:hover { background: #1dbd57 !important; }
#pvtbOverlay .pvtb-btn-wa:active { transform: scale(.98) !important; }
#pvtbOverlay .pvtb-btn-wa:disabled { opacity: .55 !important; cursor: not-allowed !important; transform: none !important; }

/* Responsive popup */
@media (max-width: 480px) {
    #pvtbOverlay { align-items: flex-end !important; padding: 0 !important; }
    #pvtbOverlay .pvtb-modal { border-radius: 18px 18px 0 0 !important; max-height: 96vh !important; max-width: 100% !important; }
    #pvtbOverlay .pvtb-fields { grid-template-columns: 1fr !important; }
    #pvtbOverlay .pvtb-field-full { grid-column: 1 !important; }
    #pvtbOverlay .pvtb-actions { flex-direction: column !important; }
    #pvtbOverlay .pvtb-header-title { font-size: 15px !important; }
}
