
/* Tom Photography Suite v2.7.0 — public experience refresh
   Portfolio, Booking and Client Gallery only. No site-header/menu selectors. */

:root{
  --tps7-ink:#171719;
  --tps7-muted:#716e69;
  --tps7-line:#e6e2dc;
  --tps7-line-strong:#d9d4cc;
  --tps7-soft:#f7f5f1;
  --tps7-soft-2:#fbfaf8;
  --tps7-paper:#fff;
  --tps7-shadow:0 18px 55px rgba(20,20,20,.065);
  --tps7-shadow-soft:0 8px 26px rgba(20,20,20,.05);
  --tps7-radius:22px;
}

/* -------------------------------------------------------------------------
   BOOKINGS
   ------------------------------------------------------------------------- */
.tpb-v4{
  overflow:hidden!important;
  border:1px solid var(--tps7-line)!important;
  border-radius:22px!important;
  background:#fff!important;
  box-shadow:var(--tps7-shadow)!important;
}
.tpb-v4 .tpb-head{
  position:relative;
  max-width:none!important;
  margin:calc(var(--tpb-padding,28px) * -1) calc(var(--tpb-padding,28px) * -1) 28px!important;
  padding:30px var(--tpb-padding,28px) 28px!important;
  border-bottom:1px solid var(--tps7-line)!important;
  background:linear-gradient(145deg,#fbfaf8 0%,#fff 65%)!important;
}
.tpb-v4 .tpb-head:after{
  content:"";
  position:absolute;
  right:-90px;
  top:-125px;
  width:280px;
  height:280px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(20,20,20,.035),rgba(20,20,20,0) 68%);
  pointer-events:none;
}
.tpb-v4 .tpb-eyebrow{
  min-height:26px!important;
  padding:4px 9px!important;
  border:1px solid var(--tps7-line)!important;
  border-radius:999px!important;
  background:#fff!important;
  color:#69655f!important;
  font-size:10px!important;
  font-weight:800!important;
  letter-spacing:.13em!important;
  text-transform:uppercase!important;
}
.tpb-v4 .tpb-head h2{
  max-width:760px!important;
  margin:13px 0 8px!important;
  color:var(--tps7-ink)!important;
  font-size:clamp(31px,4.5vw,52px)!important;
  line-height:1.01!important;
  letter-spacing:-.05em!important;
}
.tpb-v4 .tpb-head p{
  max-width:720px!important;
  margin:0!important;
  color:var(--tps7-muted)!important;
  font-size:14px!important;
  line-height:1.65!important;
}
.tpb-v4 .tpb-price-note{
  margin-top:14px!important;
  padding:7px 10px!important;
  border:1px solid #ebe7e0!important;
  border-radius:9px!important;
  background:#f8f6f2!important;
  color:#625e58!important;
  font-size:11px!important;
}
.tpb-v4 .tpb-calendar{
  padding:17px!important;
  border:1px solid var(--tps7-line)!important;
  border-radius:16px!important;
  background:var(--tps7-soft-2)!important;
}
.tpb-v4 .tpb-cal-top{
  margin-bottom:10px!important;
  padding-bottom:13px!important;
  border-bottom:1px solid var(--tps7-line)!important;
}
.tpb-v4 .tpb-cal-title{
  color:#242426!important;
  font-size:15px!important;
  font-weight:750!important;
  letter-spacing:-.015em!important;
}
.tpb-v4 .tpb-prev,
.tpb-v4 .tpb-next{
  width:38px!important;
  height:38px!important;
  min-height:38px!important;
  padding:0!important;
  border:1px solid var(--tps7-line)!important;
  border-radius:10px!important;
  background:#fff!important;
  color:#2f3135!important;
  box-shadow:none!important;
}
.tpb-v4 .tpb-week{
  margin-bottom:5px!important;
  color:#88837c!important;
  font-size:10px!important;
  font-weight:800!important;
  letter-spacing:.075em!important;
  text-transform:uppercase!important;
}
.tpb-v4 .tpb-day{
  min-height:40px!important;
  border:1px solid transparent!important;
  border-radius:10px!important;
  background:transparent!important;
  color:#242426!important;
  font-weight:650!important;
}
.tpb-v4 .tpb-day:not(:disabled):hover{
  border-color:var(--tps7-line)!important;
  background:#fff!important;
  box-shadow:0 4px 12px rgba(20,20,20,.04)!important;
}
.tpb-v4 .tpb-day.is-selected,
.tpb-v4 .tpb-day[aria-selected="true"]{
  background:#202022!important;
  border-color:#202022!important;
  color:#fff!important;
  box-shadow:none!important;
}
.tpb-v4 .tpb-times{
  margin-top:14px!important;
  padding:15px!important;
  border:1px solid var(--tps7-line)!important;
  border-radius:14px!important;
  background:#fff!important;
}
.tpb-v4 .tpb-times-title,
.tpb-v4 .tpb-time-title{
  margin-bottom:9px!important;
  color:#4a4743!important;
  font-size:11px!important;
  font-weight:800!important;
  letter-spacing:.06em!important;
  text-transform:uppercase!important;
}
.tpb-v4 .tpb-time{
  min-height:40px!important;
  border:1px solid var(--tps7-line)!important;
  border-radius:10px!important;
  background:#fff!important;
  color:#2c2c2e!important;
  font-size:12px!important;
  font-weight:700!important;
  box-shadow:none!important;
}
.tpb-v4 .tpb-time:hover{
  border-color:#bbb5ad!important;
  background:#fbfaf8!important;
}
.tpb-v4 .tpb-time.is-selected,
.tpb-v4 .tpb-time[aria-pressed="true"]{
  background:#202022!important;
  border-color:#202022!important;
  color:#fff!important;
}
.tpb-v4 .tpb-form-grid{
  gap:16px 18px!important;
}
.tpb-v4 .tpb-form-grid label,
.tpb-v4 .tpb-duration-wrap label,
.tpb-v4 .tpb-discount>label{
  color:#353538!important;
  font-size:12px!important;
  font-weight:700!important;
}
.tpb-v4 .tpb-form-grid input,
.tpb-v4 .tpb-form-grid select,
.tpb-v4 .tpb-form-grid textarea,
.tpb-v4 .tpb-duration-wrap input,
.tpb-v4 .tpb-duration-wrap select,
.tpb-v4 .tpb-discount-row input{
  min-height:46px!important;
  padding:10px 12px!important;
  border:1px solid var(--tps7-line)!important;
  border-radius:10px!important;
  background:#fff!important;
  color:#242426!important;
  box-shadow:none!important;
}
.tpb-v4 .tpb-form-grid textarea{
  min-height:120px!important;
  resize:vertical!important;
}
.tpb-v4 .tpb-form-grid input:focus,
.tpb-v4 .tpb-form-grid select:focus,
.tpb-v4 .tpb-form-grid textarea:focus,
.tpb-v4 .tpb-duration-wrap input:focus,
.tpb-v4 .tpb-duration-wrap select:focus,
.tpb-v4 .tpb-discount-row input:focus{
  border-color:#aaa49a!important;
  box-shadow:0 0 0 4px rgba(20,20,20,.045)!important;
}
.tpb-v4 .tpb-discount{
  margin-top:2px!important;
  padding:14px!important;
  border:1px solid #e5e1da!important;
  border-radius:13px!important;
  background:#faf9f7!important;
}
.tpb-v4 .tpb-discount-row{
  grid-template-columns:minmax(0,1fr) auto!important;
  gap:8px!important;
}
.tpb-v4 .tpb-discount-apply{
  min-height:46px!important;
  padding:0 17px!important;
  border:1px solid #202022!important;
  border-radius:10px!important;
  background:#202022!important;
  color:#fff!important;
  box-shadow:none!important;
  font-size:12px!important;
  font-weight:750!important;
}
.tpb-v4 .tpb-discount-status{
  margin-top:6px!important;
  font-size:11px!important;
}
.tpb-v4 .tpb-selected-summary{
  margin-top:16px!important;
  padding:13px 14px!important;
  border:1px solid var(--tps7-line)!important;
  border-radius:12px!important;
  background:#faf9f7!important;
  color:#5e5a54!important;
}
.tpb-v4 .tpb-booking-action{
  display:grid!important;
  grid-template-columns:minmax(180px,1fr) auto!important;
  align-items:stretch!important;
  gap:10px!important;
  margin-top:20px!important;
  padding-top:18px!important;
  border-top:1px solid var(--tps7-line)!important;
}
.tpb-v4 .tpb-estimate{
  min-height:52px!important;
  padding:10px 14px!important;
  border:1px solid var(--tps7-line)!important;
  border-radius:12px!important;
  background:#faf9f7!important;
  box-shadow:none!important;
}
.tpb-v4 .tpb-estimate span{
  color:#77726b!important;
  font-size:9px!important;
  font-weight:800!important;
  letter-spacing:.11em!important;
}
.tpb-v4 .tpb-estimate strong{
  color:#202022!important;
  font-size:20px!important;
  font-weight:800!important;
}
.tpb-v4 .tpb-submit{
  min-width:190px!important;
  min-height:52px!important;
  padding:0 22px!important;
  border-radius:12px!important;
  background:#202022!important;
  color:#fff!important;
  box-shadow:none!important;
  font-size:13px!important;
  font-weight:800!important;
}
.tpb-v4 .tpb-submit:not(:disabled):hover{
  background:#000!important;
  transform:translateY(-1px)!important;
  box-shadow:0 9px 20px rgba(20,20,20,.12)!important;
}
.tpb-v4 .tpb-confirmation{
  padding:8px 0 0!important;
}
.tpb-v4 .tpb-confirmation-icon{
  width:52px!important;
  height:52px!important;
  border-radius:50%!important;
  box-shadow:none!important;
}
.tpb-v4 .tpb-confirmation h2{
  margin-top:16px!important;
  letter-spacing:-.04em!important;
}
.tpb-v4 .tpb-confirmation-details{
  margin-top:20px!important;
  border:1px solid var(--tps7-line)!important;
  border-radius:14px!important;
  background:#fff!important;
  box-shadow:var(--tps7-shadow-soft)!important;
}
.tpb-v4 .tpb-confirmation-details>div{
  padding:13px 15px!important;
  border-color:#efebe5!important;
}
.tpb-v4 .tpb-confirmation-email{
  margin-top:14px!important;
  padding:13px 15px!important;
  border-radius:12px!important;
  background:#f8f6f2!important;
}
.tpb-v4 .tpb-start-again,
.tpb-v4 .tpb-confirmation-again{
  border-radius:9px!important;
}

/* -------------------------------------------------------------------------
   PORTFOLIO / PURCHASE GALLERY
   ------------------------------------------------------------------------- */
.pgp-avada-gallery{
  color:var(--tps7-ink)!important;
}
.pgp-avada-heading{
  margin:0 0 18px!important;
  color:var(--tps7-ink)!important;
  font-size:clamp(30px,4vw,50px)!important;
  line-height:1!important;
  font-weight:650!important;
  letter-spacing:-.05em!important;
}
.pgp-avada-preview-notice,
.pgp-avada-licence-warning{
  border:1px solid var(--tps7-line)!important;
  border-radius:13px!important;
  background:#faf9f7!important;
  color:#5c5852!important;
  box-shadow:none!important;
}
.pgp-avada-licence-warning-icon{
  background:#202022!important;
  color:#fff!important;
}
.pgp-avada-licence-warning-copy strong{
  color:#242426!important;
}
.pgp-avada-licence-warning-link{
  color:#242426!important;
  text-underline-offset:3px!important;
}
.pgp-avada-toolbar{
  margin:0 0 18px!important;
  padding:11px 12px!important;
  border:1px solid var(--tps7-line)!important;
  border-radius:13px!important;
  background:#fff!important;
  box-shadow:none!important;
}
.pgp-avada-count{
  color:#242426!important;
  font-size:13px!important;
  font-weight:750!important;
}
.pgp-avada-selected{
  color:var(--tps7-muted)!important;
  font-size:12px!important;
}
.pgp-avada-secondary{
  min-height:38px!important;
  padding:0 12px!important;
  border:1px solid var(--tps7-line)!important;
  border-radius:9px!important;
  background:#fff!important;
  color:#38383b!important;
  box-shadow:none!important;
  font-size:12px!important;
  font-weight:700!important;
}
.pgp-avada-buy{
  min-height:38px!important;
  padding:0 15px!important;
  border-radius:9px!important;
  background:#202022!important;
  color:#fff!important;
  box-shadow:none!important;
  font-size:12px!important;
  font-weight:800!important;
}
.pgp-avada-grid{
  gap:14px!important;
}
.pgp-avada-card{
  border:1px solid var(--tps7-line)!important;
  border-radius:15px!important;
  background:#fff!important;
  box-shadow:0 5px 18px rgba(20,20,20,.045)!important;
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease!important;
}
.pgp-avada-card:hover{
  transform:translateY(-2px)!important;
  border-color:#d6d0c7!important;
  box-shadow:0 12px 30px rgba(20,20,20,.075)!important;
}
.pgp-avada-card:has(.pgp-avada-select:checked){
  border-color:#202022!important;
  box-shadow:0 0 0 1px #202022,0 10px 26px rgba(20,20,20,.07)!important;
}
.pgp-avada-image-wrap{
  background:#f1efeb!important;
}
.pgp-avada-card img{
  transition:transform .35s cubic-bezier(.2,.7,.2,1)!important;
}
.pgp-avada-card:hover img{
  transform:scale(1.025)!important;
}
.pgp-avada-check{
  top:10px!important;
  left:10px!important;
  width:27px!important;
  height:27px!important;
  border:1px solid rgba(255,255,255,.7)!important;
  background:rgba(20,20,20,.42)!important;
  backdrop-filter:blur(6px)!important;
  box-shadow:none!important;
}
.pgp-avada-card:has(.pgp-avada-select:checked) .pgp-avada-check{
  background:#202022!important;
}
.pgp-avada-favourite{
  top:10px!important;
  right:10px!important;
  width:34px!important;
  height:34px!important;
  border:1px solid rgba(255,255,255,.65)!important;
  background:rgba(255,255,255,.92)!important;
  box-shadow:none!important;
  backdrop-filter:blur(6px)!important;
}
.pgp-avada-preview-expand{
  border:1px solid rgba(255,255,255,.62)!important;
  border-radius:9px!important;
  background:rgba(20,20,20,.52)!important;
  color:#fff!important;
  backdrop-filter:blur(6px)!important;
  box-shadow:none!important;
}
.pgp-avada-info{
  padding:12px 13px 13px!important;
}
.pgp-avada-title{
  color:#2c2c2e!important;
  font-size:12px!important;
  font-weight:700!important;
}
.pgp-avada-price{
  color:#2c2c2e!important;
  font-size:12px!important;
  font-weight:800!important;
}
.pgp-avada-cart{
  padding:18px!important;
  border:1px solid var(--tps7-line)!important;
  border-radius:16px!important;
  background:#fff!important;
  box-shadow:var(--tps7-shadow)!important;
}
.pgp-avada-cart-header{
  padding-bottom:13px!important;
  border-bottom:1px solid var(--tps7-line)!important;
}
.pgp-avada-cart-header strong{
  color:#202022!important;
  font-size:17px!important;
  letter-spacing:-.02em!important;
}
.pgp-avada-cart-count{
  color:var(--tps7-muted)!important;
}
.pgp-avada-cart-item{
  padding:12px 0!important;
  border-bottom:1px solid #efebe5!important;
}
.pgp-avada-cart-item strong{
  color:#2d2d30!important;
}
.pgp-avada-cart-item span{
  color:var(--tps7-muted)!important;
}
.pgp-avada-cart-remove{
  color:#8a8680!important;
}
.pgp-avada-coupon{
  gap:7px!important;
  margin-top:14px!important;
}
.pgp-avada-coupon input{
  min-height:40px!important;
  border:1px solid var(--tps7-line)!important;
  border-radius:9px!important;
  background:#fff!important;
}
.pgp-avada-coupon button{
  min-height:40px!important;
  border:1px solid var(--tps7-line)!important;
  border-radius:9px!important;
  background:#faf9f7!important;
  color:#2e2e31!important;
  font-weight:700!important;
}
.pgp-avada-cart-total{
  margin-top:12px!important;
  padding:14px 0!important;
  border-top:1px solid var(--tps7-line)!important;
}
.pgp-avada-cart-total strong{
  font-size:19px!important;
  letter-spacing:-.02em!important;
}
.pgp-avada-clear-cart{
  border:1px solid var(--tps7-line)!important;
  border-radius:9px!important;
  background:#fff!important;
  color:#5d5953!important;
}
.pgp-avada-cart-checkout{
  border-radius:9px!important;
  background:#202022!important;
  color:#fff!important;
  font-weight:800!important;
  box-shadow:none!important;
}
.pgp-avada-mobile-cart-toggle{
  min-height:42px!important;
  padding:0 14px!important;
  border:1px solid #202022!important;
  border-radius:10px!important;
  background:#202022!important;
  color:#fff!important;
  font-weight:800!important;
}
.pgp-avada-lightbox{
  background:rgba(14,14,16,.94)!important;
  backdrop-filter:blur(8px)!important;
}
.pgp-avada-lightbox-close,
.pgp-avada-lightbox-add{
  border-radius:10px!important;
}
.pgp-avada-licence-footer{
  margin-top:20px!important;
  padding-top:14px!important;
  border-top:1px solid var(--tps7-line)!important;
}
.pgp-avada-licence-footer a{
  color:#5f5b55!important;
  font-size:11px!important;
  text-underline-offset:3px!important;
}

/* -------------------------------------------------------------------------
   PRIVATE CLIENT GALLERY
   ------------------------------------------------------------------------- */
.tpscg-login,
.tpscg-gallery{
  color:var(--tps7-ink)!important;
}
.tpscg-login{
  max-width:600px!important;
  padding:42px!important;
  border:1px solid var(--tps7-line)!important;
  border-radius:22px!important;
  background:linear-gradient(145deg,#fff,#faf9f7)!important;
  box-shadow:var(--tps7-shadow)!important;
}
.tpscg-kicker{
  color:#75716b!important;
  font-size:10px!important;
  font-weight:800!important;
  letter-spacing:.14em!important;
}
.tpscg-login h1,
.tpscg-head h1{
  margin:12px 0 9px!important;
  color:#171719!important;
  font-size:clamp(34px,6vw,56px)!important;
  line-height:1!important;
  font-weight:650!important;
  letter-spacing:-.055em!important;
}
.tpscg-login p,
.tpscg-head p{
  color:var(--tps7-muted)!important;
  font-size:14px!important;
  line-height:1.6!important;
}
.tpscg-code-form{
  grid-template-columns:minmax(0,1fr) auto!important;
  gap:8px!important;
  margin-top:24px!important;
}
.tpscg-code-form label{
  color:#39383b!important;
  font-size:12px!important;
  font-weight:750!important;
}
.tpscg-code-form input{
  min-height:48px!important;
  padding:9px 12px!important;
  border:1px solid var(--tps7-line)!important;
  border-radius:11px!important;
  background:#fff!important;
  color:#242426!important;
  font-size:21px!important;
  font-weight:700!important;
  letter-spacing:.2em!important;
  box-shadow:none!important;
}
.tpscg-code-form input:focus{
  outline:none!important;
  border-color:#aaa49a!important;
  box-shadow:0 0 0 4px rgba(20,20,20,.045)!important;
}
.tpscg-code-form button,
.tpscg-download-all{
  min-height:48px!important;
  padding:0 17px!important;
  border:1px solid #202022!important;
  border-radius:11px!important;
  background:#202022!important;
  color:#fff!important;
  font-size:12px!important;
  font-weight:800!important;
  box-shadow:none!important;
}
.tpscg-code-form button:hover,
.tpscg-download-all:hover{
  background:#000!important;
}
.tpscg-error{
  margin-top:16px!important;
  padding:11px 12px!important;
  border:1px solid #efcecc!important;
  border-radius:10px!important;
  background:#fff7f6!important;
  color:#9d2b23!important;
  font-size:12px!important;
}
.tpscg-gallery{
  max-width:1800px!important;
}
.tpscg-head{
  align-items:flex-end!important;
  gap:24px!important;
  margin-bottom:18px!important;
  padding-bottom:18px!important;
  border-bottom:1px solid var(--tps7-line)!important;
}
.tpscg-head h1{
  margin-bottom:7px!important;
}
.tpscg-download-all{
  min-width:190px!important;
}
.tpscg-toolbar{
  min-height:46px!important;
  margin:0 0 15px!important;
  padding:9px 11px!important;
  border:1px solid var(--tps7-line)!important;
  border-radius:11px!important;
  background:#faf9f7!important;
  color:#68645e!important;
  font-size:12px!important;
}
.tpscg-toolbar button{
  min-height:34px!important;
  padding:0 11px!important;
  border:1px solid var(--tps7-line)!important;
  border-radius:8px!important;
  background:#fff!important;
  color:#39383b!important;
  font-size:11px!important;
  font-weight:700!important;
}
.tpscg-grid{
  gap:14px!important;
}
.tpscg-photo{
  border:1px solid var(--tps7-line)!important;
  border-radius:15px!important;
  background:#fff!important;
  box-shadow:0 5px 18px rgba(20,20,20,.045)!important;
  transition:transform .18s ease,box-shadow .18s ease!important;
}
.tpscg-photo:hover{
  transform:translateY(-2px)!important;
  box-shadow:0 12px 30px rgba(20,20,20,.075)!important;
}
.tpscg-photo img{
  background:#f1efeb!important;
  transition:transform .35s cubic-bezier(.2,.7,.2,1)!important;
}
.tpscg-photo:hover img{
  transform:scale(1.022)!important;
}
.tpscg-fav{
  top:10px!important;
  right:10px!important;
  width:34px!important;
  height:34px!important;
  border:1px solid rgba(255,255,255,.68)!important;
  border-radius:50%!important;
  background:rgba(255,255,255,.92)!important;
  color:#272729!important;
  font-size:20px!important;
  box-shadow:none!important;
  backdrop-filter:blur(6px)!important;
}
.tpscg-photo.is-favourite .tpscg-fav{
  background:#202022!important;
  color:#fff!important;
}
.tpscg-photo-foot{
  align-items:center!important;
  padding:11px 12px!important;
  border-top:1px solid #f0ede8!important;
  font-size:11px!important;
}
.tpscg-photo-foot span{
  color:#77726b!important;
}
.tpscg-photo-foot a{
  color:#272729!important;
  font-weight:800!important;
  text-decoration:none!important;
}
.tpscg-photo-foot a:hover{
  text-decoration:underline!important;
  text-underline-offset:3px!important;
}
.tpscg-empty{
  padding:36px!important;
  border:1px dashed #d9d4cc!important;
  border-radius:14px!important;
  background:#faf9f7!important;
  color:#716d67!important;
}

/* -------------------------------------------------------------------------
   Responsive
   ------------------------------------------------------------------------- */
@container (max-width:860px){
  .pgp-avada-heading{
    font-size:clamp(28px,7cqw,42px)!important;
  }
}
@container (max-width:560px){
  .tpb-v4{
    border-radius:16px!important;
    box-shadow:0 10px 30px rgba(20,20,20,.055)!important;
  }
  .tpb-v4 .tpb-head{
    margin:-16px -16px 22px!important;
    padding:24px 16px 22px!important;
  }
  .tpb-v4 .tpb-head h2{
    font-size:clamp(29px,9cqw,37px)!important;
  }
  .tpb-v4 .tpb-booking-action{
    grid-template-columns:1fr!important;
  }
  .tpb-v4 .tpb-submit{
    width:100%!important;
    min-width:0!important;
  }
  .tpb-v4 .tpb-discount-row{
    grid-template-columns:1fr!important;
  }
  .tpb-v4 .tpb-discount-apply{
    width:100%!important;
  }
  .pgp-avada-toolbar{
    padding:10px!important;
  }
  .pgp-avada-actions{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:7px!important;
  }
  .pgp-avada-buy{
    grid-column:1/-1!important;
  }
  .pgp-avada-card{
    border-radius:13px!important;
  }
  .tpscg-login{
    padding:24px 18px!important;
    border-radius:16px!important;
  }
  .tpscg-login h1{
    font-size:clamp(31px,10cqw,39px)!important;
  }
  .tpscg-code-form{
    grid-template-columns:1fr!important;
  }
  .tpscg-code-form button{
    width:100%!important;
  }
  .tpscg-head{
    align-items:flex-start!important;
    flex-direction:column!important;
  }
  .tpscg-download-all{
    width:100%!important;
    min-width:0!important;
  }
  .tpscg-toolbar{
    align-items:stretch!important;
    flex-direction:column!important;
  }
  .tpscg-toolbar button{
    width:100%!important;
  }
}


/* v2.7.1 — booking calendar interaction safety
   Explicitly keep the interactive layer above decorative/layout surfaces. */
.tpb-v4 .tpb-form,
.tpb-v4 .tpb-calendar,
.tpb-v4 .tpb-cal-top,
.tpb-v4 .tpb-days,
.tpb-v4 .tpb-times{
  position:relative!important;
  z-index:2!important;
}
.tpb-v4 .tpb-calendar,
.tpb-v4 .tpb-times{
  pointer-events:auto!important;
}
.tpb-v4 .tpb-prev,
.tpb-v4 .tpb-next,
.tpb-v4 .tpb-day:not(:disabled),
.tpb-v4 .tpb-time:not(:disabled){
  position:relative!important;
  z-index:3!important;
  pointer-events:auto!important;
  touch-action:manipulation!important;
  cursor:pointer!important;
}
.tpb-v4 .tpb-day:disabled,
.tpb-v4 .tpb-time:disabled{
  pointer-events:none!important;
  cursor:not-allowed!important;
}
.tpb-v4 .tpb-day.selected{
  background:#202022!important;
  border-color:#202022!important;
  color:#fff!important;
  box-shadow:none!important;
}
.tpb-v4 .tpb-time.selected{
  background:#202022!important;
  border-color:#202022!important;
  color:#fff!important;
  box-shadow:none!important;
}
.tpb-v4 .tpb-day:focus-visible,
.tpb-v4 .tpb-time:focus-visible,
.tpb-v4 .tpb-prev:focus-visible,
.tpb-v4 .tpb-next:focus-visible{
  outline:2px solid #202022!important;
  outline-offset:2px!important;
}
