/* Site-wide additions loaded by tg-home.js: Tours mega menu and mobile product sliders. */

/* ---------- Tours mega menu ---------- */
/* Hide the original small dropdown once the mega menu is active (html.tg-mega is set by tg-home.js). */
html.tg-mega header nav div.relative:has(> button[aria-haspopup="true"]) > div{display:none !important}

.tgMega{position:fixed;z-index:45;left:0;top:0;width:min(1040px,calc(100vw - 32px));color:var(--color-ink,#0f1222);font-family:inherit;opacity:0;visibility:hidden;transform:translateY(-10px) scale(.985);transform-origin:50% 0;transition:opacity .22s ease,transform .32s cubic-bezier(.22,.8,.2,1),visibility 0s linear .32s}
.tgMega.is-open{opacity:1;visibility:visible;transform:none;transition:opacity .22s ease,transform .38s cubic-bezier(.22,.8,.2,1),visibility 0s}
.tgMegaInner{display:grid;grid-template-columns:300px 1fr;margin-top:10px;overflow:hidden;border:1px solid rgba(15,18,34,.06);border-radius:28px;background:#fff;box-shadow:0 30px 80px -20px rgba(15,18,34,.35),0 0 0 1px rgba(255,255,255,.6) inset}
.tgMega.is-open .tgMegaInner{animation:tgMegaClip .45s cubic-bezier(.22,.8,.2,1)}
@keyframes tgMegaClip{from{clip-path:inset(0 0 100% 0 round 28px)}to{clip-path:inset(0 0 0 0 round 28px)}}

.tgMegaSide{position:relative;max-height:min(520px,calc(100vh - 140px));overflow:auto;padding:18px 12px 18px 14px;background:linear-gradient(160deg,var(--color-brand-50,#f3f1ff),#fff 70%);scrollbar-width:thin}
.tgMegaEyebrow{margin:0 0 10px 10px;font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--color-brand-700,#4c22cf)}
.tgMegaList{position:relative;margin:0;padding:0;list-style:none}
.tgMegaIndicator{position:absolute;left:0;right:0;top:0;height:0;border-radius:16px;background:#fff;box-shadow:0 8px 24px -10px rgba(15,18,34,.25);transition:transform .35s cubic-bezier(.22,.8,.2,1),height .35s cubic-bezier(.22,.8,.2,1);pointer-events:none}
.tgMegaDest{position:relative;z-index:1;display:flex;align-items:center;gap:12px;padding:8px 10px;border-radius:16px;color:inherit;text-decoration:none;opacity:0;transform:translateX(-10px)}
.tgMega.is-open .tgMegaDest{animation:tgMegaIn .45s cubic-bezier(.22,.8,.2,1) forwards;animation-delay:calc(var(--i) * 35ms + 80ms)}
@keyframes tgMegaIn{to{opacity:1;transform:none}}
.tgMegaThumb{flex:none;width:44px;height:44px;overflow:hidden;border-radius:12px;background:#e9e5ff}
.tgMegaThumb img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.tgMegaDest[aria-current="true"] .tgMegaThumb img,.tgMegaDest:hover .tgMegaThumb img{transform:scale(1.15)}
.tgMegaThumbAll{display:grid;place-items:center;color:#fff;background:linear-gradient(135deg,var(--color-brand-500,#6f45ff),var(--color-coral-500,#ff6a3d))}
.tgMegaThumbAll svg{width:20px;height:20px}
.tgMegaName{min-width:0;flex:1}
.tgMegaName b{display:block;overflow:hidden;font-size:14px;font-weight:700;white-space:nowrap;text-overflow:ellipsis}
.tgMegaName small{display:block;overflow:hidden;font-size:12px;color:#64748b;white-space:nowrap;text-overflow:ellipsis}
.tgMegaCount{flex:none;padding:3px 8px;border-radius:999px;font-size:11px;font-weight:700;color:var(--color-brand-700,#4c22cf);background:var(--color-brand-100,#e9e5ff);transition:background .25s ease,color .25s ease}
.tgMegaDest[aria-current="true"] .tgMegaCount{color:#fff;background:var(--color-brand-600,#5b2df0)}

.tgMegaMain{display:flex;min-width:0;flex-direction:column;padding:22px 24px 18px}
.tgMegaHead{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:14px}
.tgMegaHead p{margin:0;font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--color-coral-600,#ee4f22)}
.tgMegaHead h3{margin:2px 0 0;font-size:22px;font-weight:800;letter-spacing:-.02em;line-height:1.2}
.tgMegaMore{flex:none;display:inline-flex;align-items:center;gap:4px;font-size:13px;font-weight:700;color:var(--color-brand-700,#4c22cf);text-decoration:none;transition:gap .2s ease}
.tgMegaMore:hover{gap:9px}
.tgMegaMore svg,.tgMegaFoot a svg{width:15px;height:15px}
.tgMegaCards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.tgMegaCard{display:flex;min-width:0;flex-direction:column;overflow:hidden;border-radius:18px;background:#fff;color:inherit;text-decoration:none;box-shadow:0 0 0 1px rgba(15,18,34,.06);opacity:0;transform:translateY(14px);animation:tgMegaCard .5s cubic-bezier(.22,.8,.2,1) forwards;animation-delay:calc(var(--i) * 70ms + 60ms);transition:box-shadow .3s ease,translate .3s cubic-bezier(.22,.8,.2,1)}
@keyframes tgMegaCard{to{opacity:1;transform:none}}
.tgMegaCard:hover{translate:0 -4px;box-shadow:0 18px 40px -16px rgba(15,18,34,.35),0 0 0 1px rgba(15,18,34,.04)}
.tgMegaImg{position:relative;aspect-ratio:4/3;overflow:hidden;background:#eef0f6}
.tgMegaImg img{width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.22,.8,.2,1)}
.tgMegaCard:hover .tgMegaImg img{transform:scale(1.08)}
.tgMegaImg span{position:absolute;left:8px;top:8px;padding:3px 8px;border-radius:999px;font-size:10px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:#0f1222;background:rgba(255,255,255,.92)}
.tgMegaBody{display:flex;flex:1;flex-direction:column;padding:10px 12px 12px}
.tgMegaBody h4{display:-webkit-box;margin:0;overflow:hidden;font-size:13.5px;font-weight:700;line-height:1.35;-webkit-line-clamp:2;-webkit-box-orient:vertical;transition:color .2s ease}
.tgMegaCard:hover h4{color:var(--color-brand-700,#4c22cf)}
.tgMegaMeta{display:flex;flex-wrap:wrap;gap:4px 10px;margin-top:6px;font-size:11.5px;color:#64748b}
.tgMegaMeta .star{color:#f59e0b}
.tgMegaPrice{display:flex;align-items:baseline;justify-content:flex-end;gap:4px;margin-top:auto;padding-top:8px;font-size:11px;color:#64748b}
.tgMegaPrice b{font-size:16px;font-weight:800;color:var(--color-ink,#0f1222)}
.tgMegaEmpty{padding:40px 0;text-align:center;font-size:14px;color:#64748b}
.tgMegaSkel{border-radius:18px;background:linear-gradient(90deg,#f1f3f8 25%,#e6e9f2 50%,#f1f3f8 75%);background-size:200% 100%;animation:tgMegaShimmer 1.2s linear infinite;aspect-ratio:3/4}
@keyframes tgMegaShimmer{to{background-position:-200% 0}}
.tgMegaFoot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;margin-top:16px;padding-top:14px;border-top:1px solid #eef0f6;font-size:12px;color:#64748b}
.tgMegaFoot span{display:inline-flex;align-items:center;gap:6px;margin-right:14px}
.tgMegaFoot span::before{content:"";width:6px;height:6px;border-radius:999px;background:#10b981}
.tgMegaFoot a{display:inline-flex;align-items:center;gap:6px;padding:9px 16px;border-radius:999px;font-size:13px;font-weight:700;color:#fff;text-decoration:none;background:var(--color-brand-600,#5b2df0);transition:transform .25s cubic-bezier(.34,1.56,.64,1),box-shadow .25s ease}
.tgMegaFoot a:hover{transform:translateY(-2px);box-shadow:0 10px 24px -8px var(--color-brand-600,#5b2df0)}
@media (max-width:1100px){.tgMegaInner{grid-template-columns:260px 1fr}.tgMegaCard:nth-child(3){display:none}.tgMegaCards{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* ---------- Search bar, before typing: top searches and top destinations (tg-home.js 5b) ---------- */
/* Built on the Tours menu's classes above (.tgMega …): the same reveal, staggered list, hover highlight and cards. */
.tgSrch{z-index:70}
.tgSrch .tgMegaInner{grid-template-columns:270px 1fr}
.tgSrch .tgMegaSide{max-height:var(--tgSrchRoom,520px)}
.tgSrch .tgSrchMain{max-height:var(--tgSrchRoom,520px);overflow:auto;padding-top:18px;scrollbar-width:thin}
.tgSrchTop{margin-bottom:18px}
.tgSrchTop .tgMegaEyebrow{margin-left:0}
.tgSrchTags{display:flex;flex-wrap:wrap;gap:8px}
.tgSrchTag{display:inline-flex;align-items:center;gap:6px;padding:7px 13px;border:1px solid transparent;border-radius:999px;font-size:13px;font-weight:600;color:var(--color-ink,#0f1222);text-decoration:none;background:var(--color-brand-50,#f3f1ff);opacity:0;transform:translateY(6px);transition:background .2s ease,border-color .2s ease,color .2s ease,box-shadow .25s ease,translate .25s cubic-bezier(.22,.8,.2,1)}
.tgSrch.is-open .tgSrchTag{animation:tgMegaIn .45s cubic-bezier(.22,.8,.2,1) forwards;animation-delay:calc(var(--i) * 35ms + 120ms)}
.tgSrchTag svg{width:14px;height:14px;flex:none;color:var(--color-brand-600,#5b2df0);transition:transform .25s ease}
.tgSrchTag:hover,.tgSrchTag:focus-visible{border-color:var(--color-brand-300,#b9a6ff);color:var(--color-brand-700,#4c22cf);background:#fff;translate:0 -2px;box-shadow:0 8px 20px -10px rgba(91,45,240,.45)}
.tgSrchTag:hover svg,.tgSrchTag:focus-visible svg{transform:translate(2px,-2px)}
.tgSrch .tgMegaDest:focus-visible,.tgSrch .tgMegaCard:focus-visible,.tgSrchTag:focus-visible{outline:2px solid var(--color-brand-500,#6f45ff);outline-offset:2px}
@media (max-width:767px){
  .tgSrch .tgMegaInner{grid-template-columns:1fr;max-height:var(--tgSrchRoom,520px);overflow:auto}
  .tgSrch .tgSrchMain{order:-1;max-height:none;overflow:visible;padding:16px 16px 4px}
  .tgSrch .tgMegaSide{max-height:none;overflow:visible;padding-top:10px}
  .tgSrch .tgSrchCards,.tgSrch .tgMegaFoot{display:none}
  .tgSrchTop{margin-bottom:4px}
}

/* ---------- Home page product rails: one card at a time on phones ---------- */
.tgRailDots{display:none}
@media (max-width:639px){
  .tgRailM .snap-x>div{width:100% !important}
  .tgRailM>div.mx-auto.mt-3.h-1{display:none}
  .tgRailDots{display:flex;justify-content:center;align-items:center;gap:6px;margin-top:4px;min-height:12px}
  .tgRailDot{width:7px;height:7px;padding:0;border:0;border-radius:999px;background:#d7dbe6;cursor:pointer;transition:width .35s cubic-bezier(.22,.8,.2,1),background .35s ease}
  .tgRailDot[aria-current="true"]{width:22px;background:var(--color-brand-600,#5b2df0)}
  /* the card that is sliding in settles with a slight scale */
  .tgRailM .snap-x>div>*{transition:transform .5s cubic-bezier(.22,.8,.2,1),opacity .5s ease}
  .tgRailM .snap-x>div:not(.is-current)>*{transform:scale(.94);opacity:.6}
}

@media (prefers-reduced-motion:reduce){
  .tgMega,.tgMega *,.tgRailM .snap-x>div>*{animation:none !important;transition:none !important}
  .tgMegaDest,.tgMegaCard,.tgSrchTag{opacity:1;transform:none}
}

/* ---------- Admin > Payment links (mounted on /admin/payments?view=links by tg-home.js) ---------- */
html.tgpl-on main > :not(#tgpl-root){display:none !important}
html.tgpl-on a[href="/admin/payments"]{background:transparent !important;color:rgba(255,255,255,.6) !important}
html.tgpl-on a.tgPayLinksNav{background:rgba(255,255,255,.1);color:#fff}
.tgpl-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:24px;align-items:start}
.tgpl-step{display:flex;gap:12px;margin-bottom:18px}
.tgpl-num{flex:none;display:grid;place-items:center;width:26px;height:26px;margin-top:26px;border-radius:999px;background:var(--color-brand-50,#f3f1ff);color:var(--color-brand-700,#4c22cf);font-size:12px;font-weight:800;transition:background .2s,color .2s}
.tgpl-step.done .tgpl-num{background:var(--color-brand-600,#5b2df0);color:#fff}
.tgpl-field{flex:1;min-width:0}
.tgpl-row2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.tgpl-combo{position:relative}
.tgpl-combo .input{padding-right:40px}
.tgpl-clear{position:absolute;right:8px;top:50%;transform:translateY(-50%);display:none;width:26px;height:26px;border:0;border-radius:999px;background:#eef0f6;cursor:pointer}
.tgpl-combo.has .tgpl-clear{display:block}
.tgpl-list{position:absolute;z-index:30;left:0;right:0;top:calc(100% + 6px);display:none;max-height:340px;overflow:auto;padding:6px;border:1px solid #eef0f6;border-radius:14px;background:#fff;box-shadow:0 24px 60px -20px rgba(15,18,34,.35)}
.tgpl-list.open{display:block}
.tgpl-opt{display:block;width:100%;padding:9px 12px;border:0;border-radius:10px;background:none;text-align:left;cursor:pointer}
.tgpl-opt:hover,.tgpl-opt[aria-selected="true"]{background:var(--color-brand-50,#f3f1ff)}
.tgpl-r1{display:flex;align-items:center;gap:8px}
.tgpl-r2{display:block;overflow:hidden;font-size:12.5px;color:#64748b;white-space:nowrap;text-overflow:ellipsis}
.tgpl-cust{display:none;margin:-6px 0 18px 38px;padding:14px 16px;border-radius:14px;background:var(--color-brand-50,#f3f1ff)}
.tgpl-cust.show{display:block;animation:tgplFade .25s ease}
@keyframes tgplFade{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.tgpl-kv,.tgpl-facts{display:grid;grid-template-columns:auto 1fr;gap:4px 14px;margin:8px 0 0;font-size:13px}
.tgpl-kv dt,.tgpl-facts dt{color:#64748b}
.tgpl-kv dd,.tgpl-facts dd{margin:0;font-weight:600;overflow-wrap:anywhere}
.tgpl-facts{grid-template-columns:110px 1fr;gap:9px 14px;margin:14px 0}
.tgpl-warn{margin-top:10px;padding:10px 12px;border-radius:12px;background:#fffbeb;color:#b45309;font-size:13px;font-weight:600}
.tgpl-money{position:relative}
.tgpl-sym{position:absolute;left:14px;top:50%;transform:translateY(-50%);font-weight:700;color:#475569;pointer-events:none}
.tgpl-money .input{padding-left:58px;font-weight:700}
.tgpl-bad{border-color:#ef4444 !important;box-shadow:0 0 0 4px rgba(239,68,68,.1) !important}
.tgpl-err{margin-top:6px;font-size:12px;font-weight:600;color:#dc2626}
.tgpl-quick{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.tgpl-quick:empty{display:none}
.tgpl-success{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:14px;background:#ecfdf5}
.tgpl-tick{display:grid;place-items:center;flex:none;width:34px;height:34px;border-radius:999px;background:#10b981;color:#fff;font-weight:800}
.tgpl-linkbox{display:flex;gap:8px;margin-top:14px}
.tgpl-mono{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:12px;background:#fafbff}
.tgpl-tools{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.tgpl-search{width:16rem;padding-top:.5rem;padding-bottom:.5rem}
.tgpl-filters{display:flex;flex-wrap:wrap;gap:6px}
.tgpl-filters button{padding:5px 11px;border:1px solid #e2e8f0;border-radius:999px;background:#fff;font-size:12px;font-weight:700;cursor:pointer}
.tgpl-filters button[aria-pressed="true"]{background:#0f1222;border-color:#0f1222;color:#fff}
.tgpl-tiny{font-size:11px}
.tgpl-trunc{max-width:11rem;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.tgpl-acts{display:flex;justify-content:flex-end;gap:6px}
.tgpl-danger{color:#dc2626 !important}
.tgpl-pager{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 20px;border-top:1px solid #f1f5f9;color:#64748b;font-size:13px}
.tgpl-toast{position:fixed;z-index:80;left:50%;bottom:24px;max-width:min(560px,calc(100vw - 32px));padding:12px 18px;border-radius:14px;background:#0f1222;color:#fff;font-weight:600;font-size:14px;box-shadow:0 20px 50px -12px rgba(15,18,34,.45);opacity:0;transform:translate(-50%,20px);transition:opacity .25s,transform .25s;pointer-events:none}
.tgpl-toast.show{opacity:1;transform:translate(-50%,0)}
.tgpl-toast.bad{background:#b91c1c}
@media (max-width:1100px){.tgpl-grid{grid-template-columns:1fr}}
@media (max-width:640px){.tgpl-row2{grid-template-columns:1fr}.tgpl-num{display:none}.tgpl-cust{margin-left:0}.tgpl-linkbox{flex-direction:column}.tgpl-search{width:100%}.tgpl-facts{grid-template-columns:90px 1fr}}

/* ---------- Payment links on booking pages (customer ticket page + admin booking > Money) ---------- */
.tgpl-due{margin-top:14px;padding:14px;border:1.5px solid var(--color-brand-200,#d5cdff);border-radius:14px;background:linear-gradient(135deg,var(--color-brand-50,#f3f1ff),#fff)}
.tgpl-due .tgpl-due-h{display:flex;align-items:baseline;justify-content:space-between;gap:10px}
.tgpl-due b.amt{font-size:18px;font-weight:800}
.tgpl-due p{margin:2px 0 0;font-size:12.5px;color:#64748b}
.tgpl-due a.btn-primary{margin-top:10px;width:100%}
.tgpl-extra{margin-top:12px;padding-top:10px;border-top:1px solid #f1f5f9}
.tgpl-extra-h{margin:0 0 4px;font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#94a3b8}
.tgpl-line{display:flex;justify-content:space-between;gap:10px;padding:3px 0;font-size:13.5px}
.tgpl-line small{display:block;font-size:11.5px;color:#64748b}
.tgpl-line .v{font-weight:700;white-space:nowrap}
.tgpl-admin{margin-top:12px;padding-top:12px;border-top:1px solid #f1f5f9}
.tgpl-admin-row{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;padding:7px 0;border-bottom:1px dashed #eef0f6;font-size:12.5px}
.tgpl-admin-row:last-of-type{border-bottom:0}
.tgpl-admin-row .amt{font-weight:800;font-variant-numeric:tabular-nums}
.tgpl-admin-row .meta{flex-basis:100%;color:#64748b;font-size:11.5px}
.tgpl-admin-row .acts{display:flex;gap:6px;margin-left:auto}
.tgpl-admin-sum{display:flex;justify-content:space-between;margin-top:6px;font-size:13px;font-weight:700}

/* Experience page time slots: every button keeps the same height whether or not it shows "N left" */
.tgSlot{min-height:60px;display:flex;flex-direction:column;align-items:center;justify-content:center}
.tgSlotLow::before{content:"";display:inline-block;width:5px;height:5px;margin:0 3px 1px 0;border-radius:50%;background:currentColor;vertical-align:middle;animation:tgSlotPulse 1.6s ease-in-out infinite}
.tgSlotHurry{display:flex;align-items:center;gap:8px;margin-top:8px;padding:7px 11px;border-radius:12px;background:var(--color-coral-50,#fff1ee);color:var(--color-coral-600,#e8553d);font-size:12px;font-weight:600;animation:tgSlotIn .25s ease-out}
.tgSlotHurry::before{content:"";flex:none;width:6px;height:6px;border-radius:50%;background:var(--color-coral-500,#f26a50);animation:tgSlotPulse 1.6s ease-in-out infinite}
@keyframes tgSlotPulse{0%,100%{opacity:1}50%{opacity:.35}}
@keyframes tgSlotIn{from{opacity:0;transform:translateY(-3px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.tgSlotLow::before,.tgSlotHurry,.tgSlotHurry::before{animation:none}}

/* ---------- Admin > Penalties (tg-penalties.js on /admin?view=penalties) ---------- */
html.tgpn-on main > :not(#tgpn-root){display:none !important}
html.tgpn-on nav a.rounded-xl[href="/admin"]{background:transparent !important;color:rgba(255,255,255,.6) !important}
html.tgpn-on nav a.rounded-xl[href="/admin"] svg{color:inherit !important}
html.tgpn-on a.tgPenaltiesNav{background:rgba(255,255,255,.1);color:#fff}
html.tgpn-on a.tgPenaltiesNav svg{color:var(--color-coral-400,#fb7185)}
.tgPenaltiesNav .tgpn-badge{margin-left:auto;min-width:20px;padding:0 6px;border-radius:999px;background:var(--color-coral-500,#f43f5e);color:#fff;font-size:11px;font-weight:800;line-height:18px;text-align:center}
.tgpn-seg{display:inline-flex;padding:3px;border-radius:12px;background:#f1f5f9}
.tgpn-seg button{padding:6px 12px;border-radius:9px;font-size:13px;font-weight:600;color:#475569}
.tgpn-seg button[aria-pressed="true"]{background:#fff;color:#0f172a;box-shadow:0 1px 2px rgba(15,23,42,.1)}
.tgpn-ranges{display:flex;flex-wrap:wrap;gap:6px}
.tgpn-ranges button{padding:7px 12px;border:1px solid #e2e8f0;border-radius:999px;background:#fff;font-size:13px;font-weight:600;color:#475569;transition:background .15s ease,color .15s ease,border-color .15s ease}
.tgpn-ranges button:hover{border-color:#cbd5e1}
.tgpn-ranges button[aria-pressed="true"]{border-color:var(--color-brand-600,#5b2df0);background:var(--color-brand-600,#5b2df0);color:#fff}
.tgpn-custom{display:flex;align-items:center;gap:6px}
.tgpn-custom[hidden]{display:none}
.tgpn-bars{display:flex;flex-direction:column;gap:4px}
.tgpn-row{display:grid;grid-template-columns:minmax(120px,200px) 1fr 120px;align-items:center;gap:12px;width:100%;padding:6px 8px;border-radius:12px;text-align:left;transition:background .15s ease,opacity .15s ease}
.tgpn-row:hover{background:#f8fafc}
.tgpn-row.is-on{background:var(--color-brand-50,#f3f0ff)}
.tgpn-row.is-dim{opacity:.45}
.tgpn-who{min-width:0}
.tgpn-who b{display:block;overflow:hidden;font-size:13px;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}
.tgpn-who small{display:block;font-size:11px;color:#94a3b8}
.tgpn-track{position:relative;height:22px;overflow:hidden;border-radius:7px;background:#f1f5f9}
.tgpn-bar{display:flex;height:100%;overflow:hidden;border-radius:7px;transition:width .5s cubic-bezier(.22,1,.36,1)}
.tgpn-bar i{display:block;min-width:3px;height:100%}
.tgpn-c-active{background:#f43f5e}
.tgpn-c-settled{background:#10b981}
.tgpn-c-waived,.tgpn-c-closed{background:#94a3b8}
.tgpn-val{font-size:13px;font-weight:700;font-variant-numeric:tabular-nums;text-align:right}
.tgpn-val.is-zero{color:#cbd5e1;font-weight:500}
.tgpn-legend{display:flex;flex-wrap:wrap;gap:14px;font-size:12px;color:#64748b}
.tgpn-legend span{display:inline-flex;align-items:center;gap:6px}
.tgpn-legend i{display:inline-block;width:10px;height:10px;border-radius:3px}
.tgpn-table td{vertical-align:top}
.tgpn-reason{min-width:200px;max-width:340px}
.tgpn-eq{font-size:12px;color:#64748b}
.tgpn-edit{display:flex;flex-direction:column;gap:6px;min-width:220px;margin-top:6px}
.tgpn-edit[hidden]{display:none}
.tgpn-ok{display:grid;place-items:center;width:28px;height:28px;flex:none;border-radius:999px;background:#ecfdf5;color:#059669;font-weight:800}
@media (max-width:640px){.tgpn-row{grid-template-columns:1fr 96px}.tgpn-who{grid-column:1/-1}}

/* ---------- Admin > product form: time slots under each price tier (tg-admin-slots.js) ---------- */
tr.tgTierSlots>td{padding:0!important;border-top:0!important;background:transparent}
tr.tgTierSlots>td:empty{display:none}
.tgts{position:sticky;left:0;box-sizing:border-box;padding:2px 12px 12px;font-size:13px}
.tgts-bar{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.tgts-bar svg{width:14px;height:14px;flex:none}
.tgts-toggle .tgts-count{margin-left:2px;padding:1px 7px;border-radius:999px;background:var(--color-brand-50,#f3f1ff);color:var(--color-brand-700,#4c22cf);font-size:11px;font-weight:700}
.tgts-toggle .tgts-count:empty{display:none}
.tgts-chev{transition:transform .2s ease}
.tgts-toggle[aria-expanded="true"]{border-color:var(--color-brand-300,#b6a6ff);background:var(--color-brand-50,#f3f1ff);color:var(--color-brand-700,#4c22cf)}
.tgts-toggle[aria-expanded="true"] .tgts-chev{transform:rotate(180deg)}
.tgts-hint{font-size:12px;color:#64748b}
.tgts-msg{font-size:12px;font-weight:600}
.tgts-msg.is-ok{color:#059669}
.tgts-msg.is-error{color:#dc2626}
.tgts-confirm{display:inline-flex;flex-wrap:wrap;align-items:center;gap:6px;padding:4px 6px 4px 10px;border-radius:12px;background:#fff7ed;color:#9a3412;font-weight:600}
.tgts-drop{margin-top:10px;padding:14px;border:1px solid #e9e5ff;border-radius:16px;background:#fbfaff}
.tgts-drop[hidden]{display:none}
.tgts-tools{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin-bottom:12px;color:#475569}
.tgts-tools label{display:inline-flex;align-items:center;gap:6px}
.tgts-tools .input{width:auto;padding-block:6px}
.tgts-tools svg{width:14px;height:14px}
.tgts-sum{margin-left:auto;font-size:12px;color:#64748b}
.tgts-add{display:grid;grid-template-columns:repeat(4,minmax(120px,1fr)) auto;align-items:end;gap:10px;margin-bottom:14px;padding:12px;border:1px dashed #d5cdff;border-radius:14px;background:#fff}
.tgts-add .label{margin-bottom:4px}
.tgts-add .input{padding-block:7px}
.tgts-list{display:flex;flex-direction:column;gap:10px;max-height:460px;overflow-y:auto;padding-right:2px}
.tgts-day{flex:none;border:1px solid #eef0f4;border-radius:14px;background:#fff;overflow:hidden}
.tgts-dayhead{display:flex;justify-content:space-between;margin:0;padding:8px 12px;background:#f8fafc;font-weight:700;color:#0f1222}
.tgts-dayhead span{font-weight:500;font-size:12px;color:#64748b}
.tgts-tbl{width:100%}
.tgts-tbl th{font-size:11px}
.tgts-tbl td{padding-block:6px!important;vertical-align:middle}
.tgts-tbl .input{padding-block:5px;max-width:150px}
.tgts-tbl .tgts-f-cap{max-width:90px}
.tgts-tbl tr.is-closed td{background:#fafafa;color:#94a3b8}
.tgts-tbl tr.is-saving .input{opacity:.6}
.tgts-tbl tr.is-saved td{background:#ecfdf5;transition:background .6s ease}
.tgts-tbl svg{width:15px;height:15px}
.tgts-del.is-confirm{color:#dc2626;font-weight:700;font-size:12px}
.tgts-allday{margin-left:8px;font-size:11px;font-weight:700;color:#64748b}
.tgts-empty{margin:4px 0;color:#64748b}
.tgts-empty.is-error{color:#dc2626}
.tgts-modal{position:fixed;inset:0;z-index:80;display:grid;place-items:center;padding:16px;background:rgba(15,18,34,.45);backdrop-filter:blur(2px)}
.tgts-sheet{width:min(640px,100%);max-height:calc(100vh - 32px);display:flex;flex-direction:column;border-radius:22px;background:#fff;box-shadow:0 30px 80px -20px rgba(15,18,34,.45);overflow:hidden}
.tgts-sheet-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:18px 20px;border-bottom:1px solid #f1f5f9}
.tgts-title{margin:0;font-size:18px;font-weight:800;color:#0f1222}
.tgts-sub{margin:2px 0 0;font-size:13px;color:#64748b}
.tgts-sheet-body{padding:16px 20px;overflow-y:auto;display:flex;flex-direction:column;gap:6px}
.tgts-sheet-body .label{margin:8px 0 4px}
.tgts-row{display:flex;align-items:center;gap:8px;color:#64748b}
.tgts-row .input{width:auto}
.tgts-days{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.tgts-day-chip{padding:6px 12px;border:1px solid #e2e8f0;border-radius:999px;background:#fff;font-weight:700;font-size:13px;color:#475569}
.tgts-day-chip.is-on{border-color:var(--color-brand-600,#5b2df0);background:var(--color-brand-600,#5b2df0);color:#fff}
.tgts-every{margin-left:4px;font-size:13px;font-weight:700;color:var(--color-brand-700,#4c22cf)}
.tgts-check{display:flex;align-items:center;gap:8px;margin:10px 0 2px;font-weight:600;color:#0f1222}
.tgts-check input{width:16px;height:16px;accent-color:var(--color-brand-600,#5b2df0)}
.tgts-grid3,.tgts-grid2{display:grid;gap:10px}
.tgts-grid3{grid-template-columns:repeat(3,1fr)}
.tgts-grid2{grid-template-columns:repeat(2,1fr)}
.tgts-grid3[hidden]{display:none}
.tgts-grid3 > [hidden]{display:none}
/* Open inventory, gap "Custom times": the admin's own start times */
.tgts-custom{padding:12px;border:1px dashed #d5cdff;border-radius:14px;background:#fbfaff}
.tgts-custom .label{margin-top:0}
.tgts-ct-list{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px}
.tgts-ct-row{display:inline-flex;align-items:center;gap:2px;padding:2px 2px 2px 0;border-radius:12px}
.tgts-ct-row .input{width:auto;padding-block:6px}
.tgts-ct-x{padding-inline:6px!important;color:#94a3b8}
.tgts-ct-x:hover{color:#dc2626}
.tgts-ct-x svg{width:15px;height:15px}
.tgts-est{margin:12px 0 0;padding:12px 14px;border-radius:14px;background:#f5f3ff;color:#334155}
.tgts-err{margin:6px 0 0;color:#dc2626;font-weight:600}
.tgts-err:empty{display:none}
.tgts-sheet-foot{display:flex;justify-content:flex-end;gap:8px;padding:14px 20px;border-top:1px solid #f1f5f9}
@media (max-width:760px){.tgts-add{grid-template-columns:1fr 1fr}.tgts-grid3,.tgts-grid2{grid-template-columns:1fr}.tgts-sum{margin-left:0}}
.tgts-scope{display:flex;flex-wrap:wrap;gap:8px 18px;font-weight:600;color:#0f1222}
.tgts-scope label{display:inline-flex;align-items:center;gap:6px}
.tgts-scope input{accent-color:var(--color-brand-600,#5b2df0)}
.tgts-sheet .tgts-hint{flex-basis:100%;margin:2px 0 0}
.tgts-o-pricebox,.tgts-o-seatbox{padding:12px;border:1px solid #eef0f4;border-radius:14px;background:#fbfaff}
.tgts-o-pricebox.is-off{opacity:.5}
.tgts-o-seatbox[hidden]{display:none}
.tgts-sub-check{margin:10px 0 0;font-weight:500;font-size:13px}
.tgts-legacy{margin-top:8px;padding:10px 12px;border:1px dashed #e2e8f0;border-radius:14px}
.tgts-legacy[hidden]{display:none}
.tgts-legacy-row{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:4px 0;font-size:13px;color:#334155}
.tgts-toast{position:fixed;right:20px;bottom:20px;z-index:90;max-width:420px;padding:12px 16px;border-radius:14px;background:#0f1222;color:#fff;font-size:14px;font-weight:600;box-shadow:0 20px 40px -16px rgba(15,18,34,.5)}
.tgts-toast.is-error{background:#b91c1c}

/* ---------- Product page booking box (#book, tg-book.js): option → date → time → travelers → Book now ---------- */
/* Steps: a tick on finished ones, the next one highlighted. */
#book [data-tgbk-step] > p.label{display:flex;align-items:center;gap:6px;transition:color .2s ease}
#book [data-tgbk-done]:not([data-tgbk-step="promo"]):not([data-tgbk-step="total"]) > p.label::before{content:"";flex:none;width:16px;height:16px;border-radius:999px;background:#10b981 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center/11px no-repeat}
#book [data-tgbk-next]:not([data-tgbk-step="total"]){position:relative}
#book [data-tgbk-next]:not([data-tgbk-step="total"])::before{content:"";position:absolute;left:-16px;top:-6px;bottom:-6px;width:3px;border-radius:0 3px 3px 0;background:var(--color-brand-600,#5b2df0)}
#book [data-tgbk-next] > p.label{color:var(--color-brand-700,#4c22cf)}
#book [data-tgbk-step="total"][data-tgbk-next] button.btn-lg{animation:tgbk-pulse 1.6s ease-out 2}
@keyframes tgbk-pulse{0%{box-shadow:0 0 0 0 rgba(91,45,240,.45)}100%{box-shadow:0 0 0 14px rgba(91,45,240,0)}}
/* Traveler buttons: 34px with a mouse, 38px on touch screens. */
#book button[aria-label="Increase"],#book button[aria-label="Decrease"]{width:34px;height:34px}
@media (pointer:coarse){#book button[aria-label="Increase"],#book button[aria-label="Decrease"]{width:38px;height:38px}}
.tgbk-close{display:none}

/* Desktop: the box sits beside the title and photos (the content grid is flattened into the page grid), stays in
   view while the page scrolls, scrolls inside itself, and keeps the total and Book now at its bottom. */
@media (min-width:1024px){
  main .container-x:has(> div[class*="grid-cols-[1fr_400px]"]){display:grid;grid-template-columns:minmax(0,1fr) 360px;column-gap:36px;align-items:start}
  main .container-x:has(> div[class*="grid-cols-[1fr_400px]"]) > *{grid-column:1;min-width:0}
  main .container-x > div[class*="grid-cols-[1fr_400px]"]{display:contents}
  main .container-x > div[class*="grid-cols-[1fr_400px]"] > div{grid-column:1;min-width:0;margin-top:2rem}
  main .container-x > div[class*="grid-cols-[1fr_400px]"] > aside{grid-column:2;grid-row:1 / span 30;position:sticky;top:96px;align-self:start}
  aside #book{display:flex;flex-direction:column;max-height:calc(100vh - 112px)}
  aside #book > :first-child{flex:none}
  aside #book > :nth-child(2){flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}
  aside #book [data-tgbk-step="total"]{position:sticky;bottom:-14px;z-index:2;margin:0 -16px;padding:10px 16px 14px;background:#fff;box-shadow:0 -14px 24px -20px rgba(15,18,34,.45)}
}
@media (min-width:1024px) and (max-width:1279px){
  main .container-x:has(> div[class*="grid-cols-[1fr_400px]"]){grid-template-columns:minmax(0,1fr) 340px;column-gap:28px}
}

/* Phones and tablets: "Check availability" opens the box as a full-height sheet with Book now pinned at the bottom. */
@media (max-width:1023px){
  html.tgbk-sheet{overflow:hidden}
  html.tgbk-sheet body::after{content:"";position:fixed;inset:0;z-index:58;background:rgba(15,18,34,.5);animation:tgbk-fade .25s ease-out}
  html.tgbk-sheet #book{position:fixed;left:0;right:0;top:48px;bottom:0;z-index:60;margin:0;display:flex;flex-direction:column;border-radius:24px 24px 0 0;box-shadow:0 -24px 60px -20px rgba(15,18,34,.45);animation:tgbk-up .32s cubic-bezier(.2,.8,.2,1)}
  html.tgbk-sheet #book > :first-child{flex:none;position:relative;padding:20px 60px 10px 16px}
  html.tgbk-sheet #book > :first-child::before{content:"";position:absolute;top:8px;left:50%;width:40px;height:4px;margin-left:-20px;border-radius:4px;background:#d6d3e0}
  html.tgbk-sheet #book > :nth-child(2){flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
  html.tgbk-sheet #book [data-tgbk-step="total"]{position:sticky;bottom:-14px;z-index:2;margin:0 -16px;padding:10px 16px calc(14px + env(safe-area-inset-bottom));background:#fff;box-shadow:0 -14px 24px -20px rgba(15,18,34,.45)}
  html.tgbk-sheet [data-tgbk-bar]{display:none!important}
  html.tgbk-sheet .tgbk-close{display:grid;position:fixed;top:60px;right:14px;z-index:61;width:40px;height:40px;place-items:center;border:1px solid #e2e8f0;border-radius:999px;background:#fff;color:#0f1222;box-shadow:0 6px 18px -8px rgba(15,18,34,.35)}
  .tgbk-close svg{width:18px;height:18px}
}
@keyframes tgbk-up{from{transform:translateY(56px);opacity:.4}to{transform:none;opacity:1}}
@keyframes tgbk-fade{from{opacity:0}to{opacity:1}}
@media (prefers-reduced-motion:reduce){html.tgbk-sheet #book,html.tgbk-sheet body::after{animation:none}#book [data-tgbk-next] button.btn-lg{animation:none}}

/* Compact booking box: everything a little smaller and tighter, the same steps (all screens). */
#book{border-radius:20px}
#book > :first-child{display:flex;flex-wrap:wrap;align-items:baseline;column-gap:6px;padding:12px 16px}
#book > :first-child > p:first-child{font-size:12px}
#book > :first-child > p:nth-child(2){gap:6px}
#book > :first-child .text-3xl{font-size:22px;line-height:1.2}
#book > :first-child > p:last-child{flex-basis:100%;margin-top:2px;font-size:11px}
#book > :nth-child(2){padding:14px 16px}
#book > :nth-child(2) > *{margin-block:0}
#book > :nth-child(2) > * + *{margin-top:14px}
#book p.label{margin-bottom:6px;font-size:11px}
/* options: one line each until chosen; the chosen one shows its description */
#book [data-tgbk-step="option"] .space-y-2 > *{margin-block:0}
#book [data-tgbk-step="option"] .space-y-2 > * + *{margin-top:6px}
#book [data-tgbk-step="option"] button{padding:9px 12px;border-radius:14px}
#book [data-tgbk-step="option"] button > div{gap:10px}
#book [data-tgbk-step="option"] button > div > span:first-child{width:18px;height:18px;margin-top:1px}
#book [data-tgbk-step="option"] button .text-sm{font-size:13px}
#book [data-tgbk-step="option"] button[aria-pressed="false"] .min-w-0 > span:nth-child(2){display:none}
#book [data-tgbk-step="option"] button .min-w-0 > span:nth-child(3){margin-top:3px;column-gap:8px;font-size:10.5px}
/* calendar: shorter day cells */
#book [data-tgbk-step="date"] .mb-2{margin-bottom:2px}
#book [data-tgbk-step="date"] .grid-cols-7{gap:2px}
#book [data-tgbk-step="date"] .grid-cols-7 > span.py-1{padding-block:1px}
#book .cal-day{aspect-ratio:auto;height:34px;border-radius:9px;font-size:13px}
#book [data-tgbk-step="date"] p.mt-2{margin-top:4px}
/* times: four in a row */
#book [data-tgbk-step="time"] .grid-cols-3{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
#book button.tgSlot{padding:6px 2px;border-radius:10px;font-size:13px}
/* travelers */
#book [data-tgbk-step="travelers"] .px-4{padding:7px 12px}
#book [data-tgbk-step="travelers"] .text-sm{font-size:13px}
#book [data-tgbk-step="travelers"] .rounded-2xl{border-radius:14px}
/* total and the button */
#book [data-tgbk-step="total"] > *{margin-block:0}
#book [data-tgbk-step="total"] > * + *{margin-top:8px}
#book [data-tgbk-step="total"] > :first-child{padding:9px 12px;border-radius:14px}
#book [data-tgbk-step="total"] .text-2xl{font-size:20px}
#book [data-tgbk-step="total"] .btn-lg{padding-block:11px;font-size:15px}
#book > :nth-child(2) > ul{font-size:11px}
#book > :nth-child(2) > ul > * + *{margin-top:4px}
@media (pointer:coarse){#book .cal-day{height:38px}#book button.tgSlot{padding-block:8px}}

/* ---------- Date fields: DD-MM-YYYY (tg-dates.js, Chromium browsers) ---------- */
/* The field's own text (in the browser language's order) is hidden and data-dmy is drawn over it in the same font. */
html.tg-dmy input[type="date"][data-dmy]{position:relative}
html.tg-dmy input[type="date"][data-dmy]::-webkit-datetime-edit{opacity:0}
html.tg-dmy input[type="date"][data-dmy]::before{content:attr(data-dmy);position:absolute;inset:0;display:flex;align-items:center;padding:inherit;padding-right:0;font:inherit;line-height:normal;color:inherit;white-space:nowrap;pointer-events:none}
html.tg-dmy input[type="date"][data-dmy-empty]::before{color:#94a3b8}
/* A typed date that is not a real date or is outside the field's min / max (tg-dates.js). */
html.tg-dmy input[type="date"][data-dmy-invalid]::before{color:#dc2626}
html.tg-dmy input[type="date"][data-dmy]:disabled::before{opacity:.6}

/* ---------- Product page booking calendar and time slots: prices in lighter text (patch-home.js EXP_PRICES) ---------- */
.cal-day:has(.tgCalPrice){display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;line-height:1}
.cal-day .tgCalPrice{display:block;font-size:10px;font-weight:500;line-height:1;letter-spacing:0;color:#94a3b8}
.cal-day.bg-brand-600 .tgCalPrice{color:rgba(255,255,255,.8)}
.cal-day:has(.tgCalPrice) > span.absolute{top:4px;right:4px;bottom:auto;left:auto;transform:none}
#book .cal-day:has(.tgCalPrice){height:44px}
@media (pointer:coarse){#book .cal-day:has(.tgCalPrice){height:46px}}
.tgCalCur{margin-left:auto;color:#64748b}
.tgSlot .tgSlotPrice{display:block;margin-top:1px;font-size:10.5px;font-weight:500;line-height:1.2;color:#94a3b8}
.tgSlot.bg-brand-600 .tgSlotPrice{color:rgba(255,255,255,.8)}

/* ---------- Admin → booking → Reschedule: free slot / date range, and the channels to notify on ---------- */
.tgRsTabs{display:inline-flex;gap:2px;padding:3px;border-radius:999px;background:#f1f5f9}
.tgRsTab{padding:6px 14px;border-radius:999px;font-size:13px;font-weight:700;color:#475569;transition:background .15s ease,color .15s ease}
.tgRsTab[aria-selected="true"]{background:#fff;color:#0f1222;box-shadow:0 1px 3px rgba(15,18,34,.12)}
.tgRsNotify{display:flex;flex-wrap:wrap;align-items:center;gap:8px 18px;padding:10px 12px;border-radius:14px;background:#f8fafc}
.tgRsCheck{display:inline-flex;align-items:center;gap:6px;font-size:14px;font-weight:600;color:#0f1222;cursor:pointer}
.tgRsCheck input{width:16px;height:16px;accent-color:var(--color-brand-600,#5b2df0)}

/* ---------- Product page "Compare options": each row picks its variant in the booking box (tg-book.js) ---------- */
.tgCompareRow{position:relative;cursor:pointer;padding-right:132px!important;transition:background .2s ease}
.tgCompareRow:hover{background:var(--color-brand-50,#f3f1ff)}
.tgCompareRow:focus-visible{outline:2px solid var(--color-brand-500,#6f45ff);outline-offset:-2px}
.tgCompareRow::after{content:"Select";position:absolute;right:16px;top:50%;transform:translateY(-50%);padding:5px 12px;border:1px solid var(--color-brand-200,#d5cdff);border-radius:999px;font-size:12px;font-weight:700;color:var(--color-brand-700,#4c22cf);background:#fff;transition:background .2s ease,color .2s ease,border-color .2s ease}
.tgCompareRow:hover::after{background:var(--color-brand-600,#5b2df0);border-color:var(--color-brand-600,#5b2df0);color:#fff}
.tgCompareRow[aria-pressed="true"]{background:var(--color-brand-50,#f3f1ff)}
.tgCompareRow[aria-pressed="true"]::after{content:"✓ Selected";background:var(--color-brand-600,#5b2df0);border-color:var(--color-brand-600,#5b2df0);color:#fff}
@media (max-width:479px){.tgCompareRow{padding-right:16px!important;padding-bottom:48px!important}.tgCompareRow::after{top:auto;bottom:12px;transform:none}}
.tgts-started{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:999px;font-size:12px;font-weight:700;white-space:nowrap;color:#64748b;background:#f1f5f9}
/* Fixed override (tg-admin-slots.js): the button lights up while it is on; the popup's on/off switch; covered days */
.tgts-fixed.is-on{border-color:var(--color-brand-600,#5b2df0);background:var(--color-brand-50,#f3f1ff);color:var(--color-brand-700,#4c22cf)}
.tgts-fixed.is-on::before{content:"";width:8px;height:8px;margin-right:2px;border-radius:999px;background:#10b981;box-shadow:0 0 0 3px rgba(16,185,129,.2);animation:tgSlotPulse 1.6s ease-in-out infinite}
.tgts-fixed b{font-weight:800}
.tgts-sheet-sm{width:min(520px,100%)}
.tgts-switch{display:inline-flex;align-items:center;gap:10px;margin:2px 0 8px;font-weight:700;color:#0f1222;cursor:pointer;user-select:none}
.tgts-switch input{position:absolute;opacity:0;width:1px;height:1px}
.tgts-switch-track{position:relative;width:44px;height:24px;border-radius:999px;background:#cbd5e1;transition:background .2s ease}
.tgts-switch-track span{position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:999px;background:#fff;box-shadow:0 1px 3px rgba(15,18,34,.25);transition:transform .2s ease}
.tgts-switch input:checked + .tgts-switch-track{background:var(--color-brand-600,#5b2df0)}
.tgts-switch input:checked + .tgts-switch-track span{transform:translateX(20px)}
.tgts-switch input:focus-visible + .tgts-switch-track{outline:2px solid var(--color-brand-500,#6f45ff);outline-offset:2px}
.tgts-fx-fields.is-off{opacity:.45;pointer-events:none}
.tgts-daydate{display:inline-flex;align-items:center;gap:8px}
.tgts-fixedchip{padding:2px 8px;border-radius:999px;font-size:11px;font-style:normal;font-weight:800;color:var(--color-brand-700,#4c22cf);background:var(--color-brand-100,#e9e5ff)}
