.tap-booking-root, .tap-dashboard-root{min-height:400px; overflow:visible!important;}.tap-booking-card{border:1.5px solid var(--tap-line); border-radius:var(--tap-r-lg);
  padding:14px; margin-bottom:10px; cursor:pointer;
  transition:all var(--dur-fast);}.tap-booking-card:hover{border-color:var(--tap-purple);}@media (max-width:600px){
  .tap-booking-root .tap-progress-bar{position:relative!important;top:auto!important;z-index:20!important;padding:10px 12px 9px!important;border-radius:0!important;}
  .tap-booking-root .tap-progress-step{min-width:54px!important;}
  .tap-booking-root .tap-progress-line{max-width:28px!important;}
}@media (min-width: 1024px) {
	/* Desktop booking flow: the content column used to render at phone
	   width inside a 1900px window (v5.6.0 feedback, screenshots 1+3).
	   The booking root now uses the same comfortable measure as the rest
	   of the app; sections keep their readable max width. */
	.tap-booking-root { max-width: 1160px; }
	/* PDP gallery thumbs can afford to be bigger on desktop. */
	.tap-root .tap-gallery { grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); }
}@media (max-width: 1023px) {
	body.tap-canvas .tap-booking-root,
	body.tap-canvas .tap-root:has(> .tap-sticky) {
		padding-bottom: calc(150px + env(safe-area-inset-bottom, 0px));
	}
	.tap-root .tap-delivery-chips { display: flex; flex-wrap: wrap; gap: 8px; }
	.tap-root .tap-delivery-chip { min-width: 0; }
}@media (max-width: 767px) {
 .tap-root, .tap-booking-root {
	box-sizing: border-box;
	max-width: 100%;
	overflow-x: clip;
}
	.tap-root .tap-input, .tap-root textarea.tap-input, .tap-root select.tap-input { max-width: 100%; box-sizing: border-box; }
	/* v6.9.9: rows carry name + gotra + relation now. */
	.tap-root .tap-member-row { display: grid; grid-template-columns: 1.2fr 1fr 1fr 32px; gap: 8px; align-items: center; }
	.tap-root .tap-member-row .tap-inp, .tap-root .tap-member-row .tap-input { min-width: 0; }
	.tap-root .tap-addon-card { min-width: 0; }
	.tap-root .tap-addon-bottom { flex-wrap: wrap; row-gap: 4px; }
	.tap-root h1, .tap-root h2, .tap-root h3 { overflow-wrap: anywhere; }
}body.tap-canvas .tap-booking-root,
body.tap-canvas .tap-root:has(> .tap-sticky) {
	padding-bottom: calc(150px + env(safe-area-inset-bottom, 0px));
}@media (min-width: 1024px) {
	body.tap-canvas .tap-booking-root,
	body.tap-canvas .tap-root:has(> .tap-sticky) {
		padding-bottom: 132px;
	}
}.tap-root, .tap-booking-root {
	box-sizing: border-box;
	max-width: 100%;
	overflow-x: clip;
}@media (max-width: 1023px) {
	body.tap-canvas.tap-has-bottomnav.tap-nav-mobile .tap-booking-root,
	body.tap-canvas.tap-has-bottomnav.tap-nav-mobile .tap-root:has(> .tap-sticky),
	body.tap-canvas.tap-has-bottomnav.tap-nav-always .tap-booking-root,
	body.tap-canvas.tap-has-bottomnav.tap-nav-always .tap-root:has(> .tap-sticky) {
		padding-bottom: calc(150px + var(--tap-navbar-h));
	}
}.tap-dashboard-root .tap-account-tabs {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 10px;
	overflow: visible;
}.tap-dashboard-root .tap-account-tabs .tap-tab {
	min-height: 78px;
	padding: 10px 6px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 6px;
	white-space: normal;
	text-align: center;
	line-height: 1.2;
}.tap-dashboard-root .tap-account-tabs .tap-tab-ic {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 24px;
}.tap-dashboard-root .tap-dashboard-panel {
	min-width: 0;
}.tap-dashboard-root .tap-prof-completion {
	margin: 14px 0 18px;
	padding: 14px 16px;
	border: 1px solid #e8dcf5;
	border-radius: 16px;
	background: linear-gradient(135deg, #fbf8ff, #fffaf4);
}.tap-dashboard-root .tap-prof-completion-row {
	display: flex;
	justify-content: space-between;
	gap: 12px;
	font-size:calc(0.8125 * var(--tap-fs));
}.tap-dashboard-root .tap-prof-progress {
	height: 8px;
	margin: 10px 0 8px;
	border-radius: 999px;
	background: #eadff5;
	overflow: hidden;
}.tap-dashboard-root .tap-prof-progress span {
	display: block;
	height: 100%;
	border-radius: inherit;
	background: linear-gradient(90deg, var(--tap-purple), #ee5b1a);
	transition: width .25s ease;
}.tap-dashboard-root .tap-prof-completion p {
	margin: 0;
	color: var(--tap-muted, #756b80);
	font-size:calc(0.75 * var(--tap-fs));
	line-height: 1.45;
}@media (min-width: 640px) {
	.tap-dashboard-root .tap-account-tabs {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}
}@media (min-width: 1024px) {
	.tap-dashboard-root .tap-account-tabs {
		grid-template-columns: repeat(5, minmax(0, 1fr));
	}
}.tap-root,
.tap-root > *,
.tap-booking-root,
.tap-consult-root,
.tap-dashboard-root,
.tap-section,
.tap-container,
.tap-section-scroller,
.tap-hscroll,
.tap-hscroll-snap,
.tap-filter-bar,
.tap-deity-grid,
.tap-tabs,
.tap-ptabs,
.tap-cst-chiprow {
	box-sizing: border-box;
	min-width: 0;
	max-width: 100%;
}body.tap-has-transaction-sticky .tap-booking-root {
	padding-bottom: calc(var(--tap-fixed-nav-h, 0px) + var(--tap-fixed-cta-h, 0px) + 28px) !important;
}.tap-root,
.tap-root.tap-booking-root,
.tap-booking-root,
.tap-consult-root,
.tap-dashboard-root {
	overflow-x: hidden !important;
	overflow-x: clip !important;
}.tap-root,
.tap-home-root,
.tap-booking-root,
.tap-dashboard-root,
.tap-consult-root,
.tap-astrologer-panel-root{contain:inline-size}.tap-root,.tap-home-root,.tap-booking-root,.tap-dashboard-root,.tap-consult-root{
  /* One place to retune the scale. Consumed below; safe to override per-site. */
  --tap-fluid-gutter : clamp(1rem, 0.59rem + 1.77vw, 2rem);
  --tap-fluid-section: clamp(3rem, 2.38rem + 2.65vw, 4.5rem);
  --tap-fluid-h1     : clamp(1.5rem, 1.24rem + 1.10vw, 2.125rem);
  --tap-fluid-h2     : clamp(1.375rem, 1.12rem + 1.10vw, 2rem);
  --tap-fluid-lead   : clamp(0.875rem, 0.80rem + 0.33vw, 1.0625rem);
  --tap-fluid-gap    : clamp(0.75rem, 0.6rem + 0.66vw, 1.25rem);
}.tap-root img,.tap-root video,.tap-root svg:not(.tap-i),
.tap-home-root img,.tap-home-root video,
.tap-booking-root img,.tap-dashboard-root img,.tap-consult-root img{
  max-width:100%;
  height:auto;
}.tap-root table,.tap-dashboard-root table{width:100%;border-collapse:collapse}.tap-root .tap-table-wrap,.tap-dashboard-root .tap-table-wrap{
  overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:100%;
}.tap-root,
.tap-home-root,
.tap-booking-root,
.tap-dashboard-root,
.tap-consult-root,
.tap-astrologer-panel-root{
  padding-left:0;
  padding-right:0;
  /* margins handled by the corrected block below */
}.tap-root .tap-container,
.tap-home-root .tap-container,
.tap-booking-root .tap-container,
.tap-dashboard-root .tap-container{
  padding-left:var(--tap-fluid-gutter);
  padding-right:var(--tap-fluid-gutter);
  max-width:var(--tap-content-max, 1120px);
  margin-left:auto;
  margin-right:auto;
  width:100%;
  box-sizing:border-box;
}.tap-root,
.tap-home-root,
.tap-booking-root,
.tap-dashboard-root,
.tap-consult-root,
.tap-astrologer-panel-root{
  box-sizing:border-box;
  max-width:none;
  width:calc(100% + var(--wp--style--root--padding-left, 0px) + var(--wp--style--root--padding-right, 0px));
  /* !important is deliberate and load-bearing. Without it these lose to an
     earlier layer of our OWN stylesheets and compute to 0 — measured: the
     identical declaration applies with it and is dropped without it. */
  margin-left:calc(0px - var(--wp--style--root--padding-left, 0px)) !important;
  margin-right:calc(0px - var(--wp--style--root--padding-right, 0px)) !important;
}.tap-root .tap-container,
.tap-home-root .tap-container,
.tap-booking-root .tap-container,
.tap-dashboard-root .tap-container,
.tap-consult-root .tap-container{
  max-width:var(--tap-content-max, 1120px);
  margin-left:auto;
  margin-right:auto;
}.tap-root,
.tap-home-root,
.tap-booking-root,
.tap-dashboard-root,
.tap-consult-root,
.tap-astrologer-panel-root,
.tap-app .tap-modal,
.tap-app .tap-bsheet,
.tap-app .tap-toast,
.tap-bottom-nav,
.tap-bn,
.tap-topnav,
.tap-site-footer{
  --tap-fs: clamp(1rem, 0.957rem + 0.188vw, var(--tap-fs-max, 1.125rem));
}.tap-app .tap-app-shell > .tap-root,
.tap-app .tap-app-shell > .tap-home-root,
.tap-app .tap-app-shell > .tap-booking-root,
.tap-app .tap-app-shell > .tap-dashboard-root,
.tap-app .tap-app-shell > .tap-consult-root,
.tap-app .tap-app-shell > .tap-astrologer-panel-root {
  box-sizing: border-box;
  inline-size: 100% !important;
  max-inline-size: none !important;
  margin-inline: 0 !important;
  min-inline-size: 0;
}.tap-app-shell > .tap-root > *:not(.tap-sticky),
.tap-app-shell > .tap-home-root > *:not(.tap-sticky),
.tap-app-shell > .tap-booking-root > *:not(.tap-sticky),
.tap-app-shell > .tap-dashboard-root > *:not(.tap-sticky),
.tap-app-shell > .tap-consult-root > *:not(.tap-sticky) {
  max-inline-size: var(--tap-content-max, 1160px);
  /* !important is load-bearing, for the same reason the v7.6.2b full-bleed
     block needs it: `.tap-root *{margin:0}` wins over this selector in
     practice even though this one is more specific. MEASURED on the live page,
     not reasoned about — without !important getComputedStyle().marginLeft is
     `0px` and the block stays hard left; with it the same block reports
     `138.4px` and centres. max-inline-size applied correctly either way, which
     is what made the failure look like a centring bug rather than a cascade
     one. Do not "clean this up" without re-measuring. */
  margin-inline: auto !important;
}