/* DIVSA canonical booking surfaces — Phase 6 premium UI.
 * One responsive contract from PDP → Review → Payment → Success/Sankalp.
 * Brand appearance comes only from white-label design tokens. */

.tap-booking-root{
  min-block-size:400px;
  min-inline-size:0;
  overflow:visible;
}
.tap-booking-root,.tap-root.tap-view-puja,.tap-root.tap-view-summary{container-type:inline-size}
.tap-booking-root :where(*),.tap-root.tap-view-puja :where(*),.tap-root.tap-view-summary :where(*){box-sizing:border-box}

/* ---------- Booking progress ---------- */
.tap-booking-root .tap-progress-bar,
.tap-root.tap-view-puja .tap-progress-bar,
.tap-root.tap-view-summary .tap-progress-bar{
  position:relative;
  inset:auto;
  z-index:1;
  inline-size:100%;
  max-inline-size:860px;
  margin:0 auto var(--tap-space-5);
  padding:12px 14px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:0;
  border:1px solid var(--tap-line);
  border-radius:var(--tap-radius);
  background:var(--tap-card);
  box-shadow:var(--tap-shadow-sm);
}
.tap-progress-step{display:flex;flex-direction:column;align-items:center;gap:4px;min-inline-size:60px}
.tap-ps-num{
  inline-size:28px;block-size:28px;border-radius:var(--tap-radius-full);
  display:grid;place-items:center;background:var(--tap-surface-2);color:var(--tap-muted);
  border:1px solid var(--tap-line);font-size:calc(.75 * var(--tap-fs));font-weight:800;
}
.tap-ps-lbl{color:var(--tap-muted);font-size:calc(.625 * var(--tap-fs));font-weight:750;letter-spacing:.035em;text-transform:uppercase}
.tap-progress-step.active .tap-ps-num{background:var(--tap-primary);color:var(--tap-on-primary);border-color:var(--tap-primary);box-shadow:var(--tap-glow)}
.tap-progress-step.active .tap-ps-lbl{color:var(--tap-brand-ink-safe)}
.tap-progress-step.done .tap-ps-num{background:var(--tap-success);color:var(--tap-on-primary);border-color:var(--tap-success)}
.tap-progress-line{flex:1 1 36px;min-inline-size:14px;max-inline-size:58px;block-size:2px;background:var(--tap-line)}
.tap-progress-step.done + .tap-progress-line{background:var(--tap-success)}

/* ---------- Premium PDP hero ---------- */
.tap-root.tap-view-puja .tap-vh{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:var(--tap-space-4);
  align-items:start;
  margin:0 0 var(--tap-space-5);
}
.tap-root.tap-view-puja .tap-vh-car{
  position:relative;
  inset:auto;
  min-inline-size:0;
  overflow:hidden;
  border:1px solid var(--tap-line);
  border-radius:var(--tap-radius-xl);
  background:var(--tap-surface-2);
  box-shadow:var(--tap-shadow-md);
}
.tap-root.tap-view-puja .tap-vh-track{
  display:flex;overflow-x:auto;scroll-snap-type:inline mandatory;scrollbar-width:none;overscroll-behavior-inline:contain
}
.tap-root.tap-view-puja .tap-vh-track::-webkit-scrollbar{display:none}
.tap-root.tap-view-puja .tap-vh-slide{
  flex:0 0 100%;inline-size:100%;aspect-ratio:4/3;max-block-size:none;
  background-size:cover;background-position:center;scroll-snap-align:center
}
.tap-root.tap-view-puja .tap-vh-count,
.tap-root.tap-view-puja .tap-vh-all,
.tap-root.tap-view-puja .tap-vh-eyebrow{
  position:absolute;z-index:2;border-radius:var(--tap-radius-full);backdrop-filter:blur(10px)
}
.tap-root.tap-view-puja .tap-vh-count{
  inset-inline-end:10px;inset-block-end:10px;padding:4px 9px;
  background:color-mix(in srgb,var(--tap-ink) 62%,transparent);color:var(--tap-on-dark);font-size:calc(.75 * var(--tap-fs));font-weight:750
}
.tap-root.tap-view-puja .tap-vh-all{
  inset-inline-end:10px;inset-block-start:10px;min-block-size:38px;padding:7px 11px;
  border:1px solid color-mix(in srgb,var(--tap-card) 72%,var(--tap-line));background:color-mix(in srgb,var(--tap-card) 88%,transparent);color:var(--tap-ink);font:inherit;font-size:calc(.75 * var(--tap-fs));font-weight:750;cursor:pointer
}
.tap-root.tap-view-puja .tap-vh-eyebrow{
  inset-inline-start:10px;inset-block-start:10px;padding:6px 10px;
  background:var(--tap-primary);color:var(--tap-on-primary);font-size:calc(.6875 * var(--tap-fs));font-weight:800;letter-spacing:.05em;text-transform:uppercase
}
.tap-root.tap-view-puja .tap-vh-meta{
  min-inline-size:0;padding:0;display:flex;flex-direction:column;gap:var(--tap-space-3)
}
.tap-root.tap-view-puja .tap-vh-title{
  margin:0;color:var(--tap-ink);font-family:var(--tap-font-heading);font-size:clamp(1.55rem,1.2rem + 1.6cqi,2.35rem);font-weight:var(--tap-font-heading-weight);line-height:1.14;letter-spacing:-.025em;overflow-wrap:anywhere
}
.tap-root.tap-view-puja .tap-vh-row{display:flex;flex-wrap:wrap;gap:var(--tap-space-2);margin:0}
.tap-root.tap-view-puja .tap-vh-chip{
  display:inline-flex;align-items:center;gap:5px;max-inline-size:100%;padding:6px 10px;
  border:1px solid color-mix(in srgb,var(--tap-primary) 18%,var(--tap-line));border-radius:var(--tap-radius-full);
  background:var(--tap-primary-soft);color:var(--tap-ink);font-size:calc(.75 * var(--tap-fs));font-weight:650
}
.tap-root.tap-view-puja .tap-vh-gold{background:var(--tap-cta-pale);border-color:color-mix(in srgb,var(--tap-cta) 26%,var(--tap-line));color:var(--tap-ink)}
.tap-root.tap-view-puja .tap-vh-social{margin:0;color:var(--tap-brand-ink-safe);font-size:calc(.8125 * var(--tap-fs));font-weight:700}
.tap-root.tap-view-puja .tap-vh-benefit{
  display:flex;gap:var(--tap-space-2);align-items:flex-start;margin:0;padding:12px 14px;
  border:1px solid color-mix(in srgb,var(--tap-cta) 24%,var(--tap-line));border-radius:var(--tap-radius-sm);
  background:var(--tap-cta-pale);color:var(--tap-ink);font-size:calc(.875 * var(--tap-fs));line-height:1.55
}
.tap-root.tap-view-puja .tap-vh-benefit-ic{flex:0 0 auto;color:var(--tap-cta-deep)}

@media(min-width:1024px){
  .tap-root.tap-view-puja .tap-vh{
    grid-template-columns:minmax(0,1.02fr) minmax(360px,.98fr);
    gap:clamp(28px,3vw,44px);
    align-items:start;
  }
  .tap-root.tap-view-puja .tap-vh-car{position:sticky;top:calc(var(--tap-header-h,72px) + 18px)}
  .tap-root.tap-view-puja .tap-vh-slide{aspect-ratio:4/3;max-block-size:560px}
  .tap-root.tap-view-puja .tap-vh-meta{
    padding:var(--tap-space-5);border:1px solid var(--tap-line);border-radius:var(--tap-radius-xl);background:var(--tap-card);box-shadow:var(--tap-shadow-sm)
  }
}

/* ---------- Information and content sections ---------- */
.tap-root.tap-view-puja > .tap-section,
.tap-root.tap-view-puja .tap-section{
  inline-size:100%;min-inline-size:0;margin-block:var(--tap-space-4);padding:var(--tap-space-4);
  border:1px solid var(--tap-line);border-radius:var(--tap-radius);background:var(--tap-card);box-shadow:var(--tap-shadow-sm)
}
.tap-root.tap-view-puja .tap-section > h2,
.tap-root.tap-view-puja .tap-section-title{margin:0 0 var(--tap-space-3);font-family:var(--tap-font-heading);font-size:clamp(1.05rem,.95rem + .45cqi,1.3rem);font-weight:var(--tap-font-heading-weight);color:var(--tap-ink)}
.tap-root.tap-view-puja .tap-info-chips{display:flex;gap:var(--tap-space-2);overflow-x:auto;padding-block-end:4px;scrollbar-width:none}
.tap-root.tap-view-puja .tap-info-chips::-webkit-scrollbar{display:none}
.tap-root.tap-view-puja .tap-info-chip{
  flex:0 0 auto;min-block-size:42px;padding:8px 12px;border:1px solid var(--tap-line);border-radius:var(--tap-radius-full);
  background:var(--tap-card);color:var(--tap-muted);font:inherit;font-size:calc(.8125 * var(--tap-fs));font-weight:700;cursor:pointer
}
.tap-root.tap-view-puja .tap-info-chip.is-on{background:var(--tap-primary-soft);border-color:var(--tap-primary);color:var(--tap-brand-ink-safe)}
.tap-root.tap-view-puja .tap-info-panel{padding-block-start:var(--tap-space-3);color:var(--tap-ink);line-height:1.65}
.tap-root.tap-view-puja .tap-temple-info{display:grid;grid-template-columns:auto minmax(0,1fr);gap:var(--tap-space-3);align-items:start;padding:var(--tap-space-3);border:1px solid var(--tap-line);border-radius:var(--tap-radius-sm);background:var(--tap-surface-2)}
.tap-root.tap-view-puja .tap-temple-thumb{inline-size:64px;block-size:64px;border-radius:var(--tap-radius-sm);background-size:cover;background-position:center}

/* ---------- Selection controls used on-page and inside canonical Dialog ---------- */
.tap-root .tap-tiers,.tap-component-scope .tap-tiers{display:grid;grid-template-columns:1fr;gap:10px;margin:0}
.tap-root .tap-tier-card,.tap-component-scope .tap-tier-card{
  min-inline-size:0;min-block-size:82px;position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;
  padding:14px 15px;border:1px solid var(--tap-line);border-radius:var(--tap-radius-sm);background:var(--tap-card);cursor:pointer;overflow:visible
}
.tap-root .tap-tier-card.is-sel,.tap-component-scope .tap-tier-card.is-sel{border-color:var(--tap-primary);background:var(--tap-primary-soft);box-shadow:var(--tap-glow)}
.tap-root .tap-tier-card.is-popular,.tap-component-scope .tap-tier-card.is-popular{padding-block-start:20px;border-color:color-mix(in srgb,var(--tap-cta) 48%,var(--tap-line))}
.tap-root .tap-tier-badge,.tap-component-scope .tap-tier-badge{
  position:absolute;inset-block-start:-10px;inset-inline-start:14px;transform:none;max-inline-size:calc(100% - 28px);padding:4px 9px;
  border-radius:var(--tap-radius-full);background:var(--tap-cta);color:var(--tap-cta-text);font-size:calc(.625 * var(--tap-fs));font-weight:800;white-space:nowrap
}
.tap-root .tap-tier-head,.tap-component-scope .tap-tier-head{display:flex;gap:10px;align-items:center;min-inline-size:0;margin:0}
.tap-root .tap-tier-price-block,.tap-component-scope .tap-tier-price-block{display:flex;flex-direction:column;align-items:flex-end;gap:2px;margin:0;text-align:end}
.tap-root .tap-tier-price,.tap-component-scope .tap-tier-price{color:var(--tap-brand-ink-safe);font-family:var(--tap-font-heading);font-size:calc(1.0625 * var(--tap-fs));font-weight:800;white-space:nowrap}
.tap-root .tap-tier-check,.tap-component-scope .tap-tier-check{display:none}

.tap-root .tap-addons-grid,.tap-component-scope .tap-addons-grid{display:grid;grid-template-columns:1fr;gap:10px;margin:0}
.tap-root .tap-addon-card,.tap-component-scope .tap-addon-card{
  min-inline-size:0;min-block-size:82px;padding:14px 15px;border:1px solid var(--tap-line);border-radius:var(--tap-radius-sm);background:var(--tap-card);cursor:pointer
}
.tap-root .tap-addon-card.is-on,.tap-component-scope .tap-addon-card.is-on{border-color:var(--tap-primary);background:var(--tap-primary-soft);box-shadow:var(--tap-glow)}
.tap-root .tap-addon-bottom,.tap-component-scope .tap-addon-bottom{display:flex;align-items:center;justify-content:space-between;gap:var(--tap-space-2);margin-block-start:auto}
.tap-root .tap-addon-price-tag,.tap-component-scope .tap-addon-price-tag{color:var(--tap-brand-ink-safe);font-weight:800;white-space:nowrap}
.tap-root .tap-addon-togbtn,.tap-component-scope .tap-addon-togbtn{min-block-size:34px;padding:6px 10px;border-radius:var(--tap-radius-full);background:var(--tap-primary-soft);color:var(--tap-brand-ink-safe);font-weight:750;white-space:nowrap}
.tap-root .tap-addon-togbtn.on,.tap-component-scope .tap-addon-togbtn.on{background:var(--tap-primary);color:var(--tap-on-primary)}

.tap-root .tap-slots{display:grid;grid-template-columns:1fr;gap:10px;margin:0}
.tap-root .tap-slot{
  min-inline-size:0;min-block-size:74px;margin:0;padding:12px 14px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;
  border:1px solid var(--tap-line);border-radius:var(--tap-radius-sm);background:var(--tap-card);color:var(--tap-ink);cursor:pointer
}
.tap-root .tap-slot.is-sel{border-color:var(--tap-primary);background:var(--tap-primary-soft);box-shadow:var(--tap-glow);transform:none}
.tap-root .tap-slot.is-disabled,.tap-root .tap-slot.is-full{opacity:.58;cursor:not-allowed}

/* ---------- Review / payment ---------- */
.tap-root.tap-view-summary .tap-summary-panel{
  inline-size:100%;max-inline-size:720px;margin:12px auto 120px;padding:clamp(16px,3cqi,24px);
  border:1px solid var(--tap-line);border-radius:var(--tap-radius-xl);background:var(--tap-card);box-shadow:var(--tap-shadow-md)
}
.tap-root.tap-view-summary .tap-summary-headrow{display:flex;align-items:center;justify-content:space-between;gap:var(--tap-space-3);margin-block-end:var(--tap-space-3)}
.tap-root.tap-view-summary .tap-summary-kicker{margin:0;color:var(--tap-brand-ink-safe);font-size:calc(.6875 * var(--tap-fs));font-weight:800;letter-spacing:.07em;text-transform:uppercase}
.tap-root.tap-view-summary .tap-summary-panel > h2,
.tap-root.tap-view-summary .tap-summary-headrow + h2{margin:0 0 var(--tap-space-4);font-family:var(--tap-font-heading);font-size:clamp(1.45rem,1.25rem + .8cqi,1.9rem);font-weight:var(--tap-font-heading-weight);line-height:1.18;color:var(--tap-ink)}
.tap-root.tap-view-summary .tap-summary-context{display:grid;gap:8px;margin:0 0 var(--tap-space-4);padding:12px 14px;border:1px solid var(--tap-line);border-radius:var(--tap-radius-sm);background:var(--tap-surface-2)}
.tap-root.tap-view-summary .tap-summary-context-row{display:grid;grid-template-columns:minmax(90px,.42fr) minmax(0,1fr);gap:10px;align-items:start;font-size:calc(.8125 * var(--tap-fs));line-height:1.45}
.tap-root.tap-view-summary .tap-summary-context-row > :first-child{color:var(--tap-muted)}
.tap-root.tap-view-summary .tap-summary-context-row > :last-child{text-align:end;font-weight:700;overflow-wrap:anywhere}
.tap-root.tap-view-summary .tap-summary{padding:0;border:1px solid var(--tap-line);border-radius:var(--tap-radius-sm);background:var(--tap-card);box-shadow:none;overflow:hidden}
.tap-root.tap-view-summary .tap-sumrow{display:flex;justify-content:space-between;gap:12px;padding:10px 14px;border-block-end:1px solid var(--tap-line);font-size:calc(.84375 * var(--tap-fs));line-height:1.45}
.tap-root.tap-view-summary .tap-sumrow:last-child{border-block-end:0}
.tap-root.tap-view-summary .tap-sumrow > :first-child{min-inline-size:0;overflow-wrap:anywhere;color:var(--tap-muted)}
.tap-root.tap-view-summary .tap-sumrow > :last-child{flex:0 0 auto;white-space:nowrap;color:var(--tap-ink);font-weight:700;font-variant-numeric:tabular-nums}
.tap-root.tap-view-summary .tap-total{padding-block:13px;font-family:var(--tap-font-heading);font-size:calc(1.05 * var(--tap-fs));font-weight:800;background:var(--tap-primary-soft)}
.tap-root.tap-view-summary .tap-summary-section-title{margin:var(--tap-space-4) 0 var(--tap-space-2);color:var(--tap-muted);font-size:calc(.6875 * var(--tap-fs));font-weight:800;letter-spacing:.055em;text-transform:uppercase}
.tap-root.tap-view-summary .tap-paymethod{padding:12px 14px;border:1px solid var(--tap-line);border-radius:var(--tap-radius-sm);background:var(--tap-card)}
.tap-root.tap-view-summary .tap-summary-panel > .tap-btn-block{inline-size:100%;min-block-size:52px;margin-block-start:var(--tap-space-4)}
.tap-root.tap-view-summary .tap-summary-panel > p{margin:10px 0 0;text-align:center;color:var(--tap-muted)}

/* ---------- Transaction sticky CTA ---------- */
.tap-root .tap-sticky{
  position:fixed;z-index:var(--tap-layer-sticky);display:flex;flex-direction:column;gap:6px;
  margin:0;background:color-mix(in srgb,var(--tap-card) 96%,transparent);color:var(--tap-ink);backdrop-filter:blur(18px) saturate(140%);
  border:1px solid var(--tap-line);box-shadow:var(--tap-shadow-lg)
}
.tap-root .tap-sticky-inner{inline-size:100%;display:flex;align-items:center;gap:var(--tap-space-3)}
.tap-root .tap-sticky-price{min-inline-size:0;flex:1 1 auto;display:flex;flex-direction:column;gap:1px;background:transparent;border:0;box-shadow:none;color:var(--tap-ink);font-family:var(--tap-font-heading)}
.tap-root .tap-sticky-price::before{color:var(--tap-muted);font-family:var(--tap-font-body);font-size:calc(.625 * var(--tap-fs));font-weight:700;letter-spacing:.05em;text-transform:uppercase}
.tap-root .tap-sticky-total{color:var(--tap-ink);font-family:var(--tap-font-heading);font-size:clamp(1.1rem,4.5cqi,1.35rem);font-weight:800;white-space:nowrap}
.tap-root .tap-sticky .tap-btn-cta{flex:0 1 auto;min-block-size:50px;min-inline-size:min(52%,220px);max-inline-size:64%;padding-inline:14px;white-space:normal;line-height:1.25}
.tap-root .tap-sticky-trust{inline-size:100%;display:flex;flex-wrap:wrap;justify-content:center;gap:6px 12px;padding:0;color:var(--tap-muted);font-size:calc(.625 * var(--tap-fs));font-weight:650}

@media(max-width:1023.98px){
  .tap-root .tap-sticky{
    inset-inline:var(--tap-shell-gutter);inset-block-end:var(--tap-fixed-gap);
    inline-size:auto;max-inline-size:none;padding:10px 12px;border-radius:var(--tap-radius)
  }
}

@media(max-width:1023.98px){
  body.tap-has-active-nav .tap-root .tap-sticky{inset-block-end:calc(var(--tap-bottom-nav-h) + var(--tap-fixed-gap))}
  body:not(.tap-has-active-nav) .tap-root .tap-sticky{inset-block-end:max(var(--tap-fixed-gap),var(--tap-safe-bottom))}
}
@media(min-width:1024px){
  .tap-root .tap-sticky{
    inset-inline-start:50%;inset-inline-end:auto;inset-block-end:var(--tap-safe-bottom);transform:translateX(-50%);
    inline-size:min(calc(100vw - (2 * var(--tap-shell-gutter))),980px);max-inline-size:980px;padding:10px 16px 12px;border-radius:var(--tap-radius) var(--tap-radius) 0 0
  }
  .tap-root .tap-sticky .tap-btn-cta{min-inline-size:250px;max-inline-size:330px}
}


/* ---------- Success + Sankalp ---------- */
.tap-root .tap-panel.tap-success,
.tap-root .tap-success,
.tap-root .tap-panel:has(> .tap-sankalp-sacred),
.tap-root .tap-panel:has(.tap-snk-invite){inline-size:100%;max-inline-size:720px;margin-inline:auto}
.tap-root .tap-success{padding:clamp(24px,6cqi,40px) clamp(16px,4cqi,28px);text-align:center;border:1px solid var(--tap-line);border-radius:var(--tap-radius-xl);background:var(--tap-card);box-shadow:var(--tap-shadow-md)}
.tap-root .tap-success h2{margin:0 0 8px;font-family:var(--tap-font-heading);font-size:clamp(1.55rem,1.2rem + 1.5cqi,2rem);font-weight:var(--tap-font-heading-weight);color:var(--tap-ink)}
.tap-root .tap-success-id{display:inline-flex;max-inline-size:100%;margin:12px 0;padding:8px 14px;border-radius:var(--tap-radius-full);background:var(--tap-primary-soft);color:var(--tap-brand-ink-safe);font-family:var(--tap-font-mono);font-size:calc(.8125 * var(--tap-fs));font-weight:750;overflow-wrap:anywhere}
.tap-root .tap-success-actions{display:grid;grid-template-columns:1fr;gap:10px;margin-block-start:var(--tap-space-5)}
.tap-root .tap-success .tap-btn-wa{inline-size:100%;max-inline-size:100%;white-space:normal;line-height:1.35}
.tap-root .tap-sankalp-sacred{padding:var(--tap-space-4);border:1px solid var(--tap-line);border-radius:var(--tap-radius);background:var(--tap-surface-2)}
.tap-root .tap-member-row,.tap-root .tap-member-row-fixed{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;inline-size:100%}
.tap-root .tap-member-row :is(input,select,.tap-inp,.tap-input),
.tap-root .tap-member-row-fixed :is(input,select,.tap-inp,.tap-input){inline-size:100%;min-inline-size:0;min-block-size:48px;max-inline-size:100%}
@media(max-width:767.98px){
  .tap-root .tap-member-row,.tap-root .tap-member-row-fixed{grid-template-columns:1fr}
  .tap-root .tap-success-actions{grid-template-columns:1fr}
}

/* ---------- Availability ---------- */
.tap-availability-notice{
  display:grid;justify-items:center;gap:var(--tap-space-3);margin-block:var(--tap-space-3);padding:var(--tap-space-4);
  border:1px solid var(--tap-line);border-radius:var(--tap-radius-sm);background:var(--tap-surface-2);color:var(--tap-ink);text-align:center
}
.tap-availability-notice-title,.tap-availability-notice-copy{margin:0}
.tap-availability-notice-title{font-weight:750}
.tap-availability-notice-copy{color:var(--tap-muted);font-size:calc(.8125 * var(--tap-fs))}
.tap-availability-notice .tap-btn-wa{inline-size:min(100%,320px);min-block-size:44px;justify-content:center;white-space:normal}

/* ---------- Loading / defensive responsive ---------- */
.tap-root .tap-input,.tap-root textarea.tap-input,.tap-root select.tap-input{max-inline-size:100%}
.tap-root h1,.tap-root h2,.tap-root h3{overflow-wrap:anywhere}
.tap-root .tap-addon-card{min-inline-size:0}
.tap-root .tap-addon-bottom{flex-wrap:wrap;row-gap:4px}
.tap-root .tap-btn.is-loading{display:inline-flex;align-items:center;justify-content:center;gap:10px;opacity:.78;color:currentColor}
.tap-root .tap-btn.is-loading::before{content:"";inline-size:16px;block-size:16px;border:2px solid currentColor;border-inline-end-color:transparent;border-radius:var(--tap-radius-full);animation:tapBookingSpin .72s linear infinite}
@keyframes tapBookingSpin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.tap-root .tap-btn.is-loading::before{animation:none}}

/* Layout Studio checkout-density options remain admin-controlled, but their
 * presentation lives here rather than in tap-core.css. */
.tap-root.tap-view-summary.tap-summary-compact .tap-summary-panel{max-inline-size:640px;padding:14px}
.tap-root.tap-view-summary.tap-summary-compact .tap-summary-context{padding:9px 11px;margin-block-end:10px;gap:5px}
.tap-root.tap-view-summary.tap-summary-compact .tap-sumrow{padding:7px 11px;font-size:calc(.8125 * var(--tap-fs))}
.tap-root.tap-view-summary.tap-summary-balanced .tap-summary-panel{max-inline-size:700px}
.tap-root.tap-view-summary.tap-summary-detailed .tap-summary-panel{max-inline-size:780px}
.tap-root.tap-view-summary.tap-summary-detailed .tap-sumrow{padding:11px 15px}
.tap-root.tap-view-summary.tap-summary-detailed .tap-sumrow-sub{padding-inline-start:26px;background:var(--tap-surface-2)}
.tap-root.tap-view-summary.tap-summary-detailed .tap-total{background:var(--tap-primary-soft)}
.tap-root.tap-view-summary.tap-summary-detailed .tap-sumsaved{background:var(--tap-ok-pale);color:var(--tap-success)}

.tap-root.tap-view-summary .tap-summary-headrow .tap-back{
  flex:0 0 auto;min-block-size:38px;margin:0;padding:7px 10px;border:1px solid var(--tap-line);border-radius:var(--tap-radius-full);
  background:var(--tap-card);color:var(--tap-brand-ink-safe);font:inherit;font-size:calc(.75 * var(--tap-fs));font-weight:700;text-decoration:none;cursor:pointer
}

/* ---------- Phase 8 renderer/CSS separation ----------
 * Static presentation was removed from tap-frontend.js. These rules consume
 * only white-label semantic tokens; renderer JS now owns data/state only. */
.tap-root .tap-live-price{padding:8px 0 4px;color:var(--tap-brand-ink-safe);font-family:var(--tap-font-heading);font-size:20px;font-weight:800;text-align:center}
.tap-root .tap-pricing-missing{margin:12px 0;padding:14px 16px;border:1px solid var(--tap-accent);border-radius:var(--tap-radius-sm);background:var(--tap-warn-bg);font-size:14px}
.tap-root .tap-pricing-missing-copy{margin:0;color:var(--tap-warn-fg)}
.tap-root .tap-sticky-prompt{max-inline-size:220px;color:var(--tap-muted);font-size:12.5px;font-weight:600;line-height:1.35}
.tap-root .tap-sticky-qty{color:var(--tap-muted);font-size:11px}
.tap-root .tap-sticky-amount{color:var(--tap-brand-ink-safe);font-family:var(--tap-font-heading);font-size:20px;font-weight:900}

.tap-root .tap-service-pricebar{display:flex;align-items:center;justify-content:space-between;margin-block-end:18px;padding:14px 0;border-block-end:1px solid var(--tap-line)}
.tap-root .tap-service-price-label{color:var(--tap-muted);font-size:11px;letter-spacing:.06em;text-transform:uppercase}
.tap-root .tap-service-price-value{color:var(--tap-brand-ink-safe);font-family:var(--tap-font-heading);font-size:26px;font-weight:900}
.tap-root .tap-service-price-was{color:var(--tap-muted);font-size:13px}
.tap-root .tap-service-copy{margin-block-end:18px;color:var(--tap-muted);font-size:14px;line-height:1.8}
.tap-root .tap-service-section-title{margin:0 0 6px;font-size:17px}
.tap-root .tap-service-section-copy{margin-block-end:12px;color:var(--tap-muted);font-size:13px}
.tap-root .tap-service-warning{margin-block-end:18px;padding:14px;border-radius:var(--tap-radius-sm);background:var(--tap-warn-bg);color:var(--tap-warn-fg);font-size:14px}
.tap-root .tap-offering-cartbar{display:flex;align-items:center;justify-content:space-between;margin-block-end:14px;padding:10px 14px;border-radius:var(--tap-radius-sm);background:var(--tap-warn-bg)}
.tap-root .tap-offering-cartcount{color:var(--tap-warn-fg);font-size:14px;font-weight:700}
.tap-root .tap-offering-cartamount{color:var(--tap-brand-ink-safe);font-family:var(--tap-font-heading);font-size:16px;font-weight:900}
.tap-root .tap-session-meta-card{display:flex;flex-wrap:wrap;gap:14px;margin-block-end:18px;padding:14px 16px;border-radius:var(--tap-radius-sm);background:var(--tap-primary-soft)}
.tap-root .tap-session-meta-primary{color:var(--tap-brand-ink-safe);font-size:14px;font-weight:700}
.tap-root .tap-session-meta-secondary{color:var(--tap-ink);font-size:14px;font-weight:700}
.tap-root .tap-session-meta-muted{color:var(--tap-muted);font-size:13px}
.tap-root .tap-service-slots{display:flex;flex-wrap:wrap;gap:10px;margin-block-end:18px}
.tap-root .tap-service-slot{min-inline-size:110px}
.tap-root .tap-service-slot-title{display:block;font-size:13px}
.tap-root .tap-service-slot-meta{display:block;color:var(--tap-muted);font-size:11px}
.tap-root .tap-service-slot-meta.is-full{color:var(--tap-err)}
.tap-root .tap-service-coupon-row{display:flex;gap:8px;margin-block-end:18px}
.tap-root .tap-service-coupon-input{flex:1;margin:0;min-inline-size:0}
.tap-root .tap-service-coupon-msg{margin-block:-10px 8px;font-size:12px}
.tap-root .tap-service-coupon-ok{color:var(--tap-success);font-weight:600}
.tap-root .tap-service-faq{margin-block-end:18px}
.tap-root .tap-service-faq > .tap-service-section-title{margin-block-end:10px}
.tap-root .tap-pay-cta{margin-block-start:14px}
.tap-root .tap-summary-trust-note{margin:12px 0 0;color:var(--tap-muted);font-size:12px;text-align:center}

.tap-root .tap-member-row .tap-input,.tap-root .tap-member-row-fixed .tap-input{margin:0}
.tap-root .tap-sankalp-submit{margin-block-start:6px}
.tap-root .tap-sankalp-intro{margin-block-end:16px}
.tap-root .tap-sankalp-intro-copy{margin:4px 0 0;color:var(--tap-muted);font-size:14px}
.tap-root .tap-sankalp-grid.tap-sankalp-grid-single{grid-template-columns:1fr}
.tap-root .tap-check-input{inline-size:18px;block-size:18px;accent-color:var(--tap-primary);cursor:pointer}
.tap-root .tap-prasad-check{display:flex;align-items:center;gap:10px;color:var(--tap-ink);font-size:14px;font-weight:600;cursor:pointer}
.tap-root .tap-prasad-address{margin-block-start:10px}
.tap-root .tap-sankalp-skip{margin-block-start:8px;text-align:center}

.tap-root .tap-success-name{color:var(--tap-muted)}
.tap-root .tap-success-business-id{margin-block-end:-6px;color:var(--tap-muted);font-family:var(--tap-font-mono);font-size:13px}
.tap-root .tap-success-booking-code{margin:12px 0;padding:10px 16px;border-radius:var(--tap-radius-sm);background:var(--tap-primary-soft);color:var(--tap-brand-ink-safe);font-family:var(--tap-font-mono);font-size:18px;font-weight:800;overflow-wrap:anywhere}
.tap-root .tap-success-payment-line{margin:-2px 0 10px;color:var(--tap-ink);font-size:14px;font-weight:600}
.tap-root .tap-success-copy{color:var(--tap-muted);font-size:14px}
.tap-root .tap-success-blessing{margin-block-start:6px}
.tap-root .tap-success-action-row{margin-block-start:10px}
.tap-root .tap-guest-account-card{margin-block-start:10px;padding:14px;border-radius:var(--tap-radius-sm);background:var(--tap-primary-soft)}
.tap-root .tap-guest-account-copy{margin:0 0 10px;color:var(--tap-ink);font-size:13px;text-align:center}

/* ---------- Phase 8 migrated transactional internals ----------
 * These selectors used to live in tap-core.css as the historical "detail v3"
 * patch. Booking is now their only owner. */
.tap-root .tap-tier-card{transition:transform var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out),border-color var(--dur-fast)}
.tap-root .tap-tier-card:hover{transform:translateY(-2px);box-shadow:var(--tap-shadow-md)}
.tap-root .tap-tier-icon{inline-size:44px;block-size:44px;display:grid;place-items:center;flex:0 0 auto;border-radius:var(--tap-radius-sm);background:var(--tap-surface-2)}
.tap-root .tap-tier-icon svg{inline-size:28px;block-size:22px}
.tap-root .tap-tier-name{color:var(--tap-ink);font-size:calc(.9375 * var(--tap-fs));font-weight:750;overflow-wrap:anywhere}
.tap-root .tap-tier-desc,.tap-root .tap-tier-who{color:var(--tap-muted);font-size:calc(.78125 * var(--tap-fs));overflow-wrap:anywhere}
.tap-root .tap-tier-orig{color:var(--tap-muted);font-size:calc(.6875 * var(--tap-fs));text-decoration:line-through}
.tap-root .tap-tier-save{max-inline-size:100%;padding:1px 6px;border-radius:var(--tap-radius-full);background:var(--tap-ok-pale);color:var(--tap-success);font-size:calc(.625 * var(--tap-fs));font-weight:750;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tap-root .tap-tier-tapnote{color:var(--tap-muted);font-size:calc(.6875 * var(--tap-fs));overflow-wrap:anywhere}

.tap-root .tap-slot2{display:flex;align-items:center;gap:14px;padding:12px 14px;border:1px solid var(--tap-line);border-radius:var(--tap-radius-sm);background:var(--tap-card);cursor:pointer}
.tap-root .tap-slot2::after{display:none}
.tap-root .tap-slot2.is-sel{border-color:var(--tap-primary);background:var(--tap-primary-soft);box-shadow:var(--tap-glow)}
.tap-root .tap-slot2-date{inline-size:54px;flex:0 0 auto;display:flex;flex-direction:column;padding:9px 0;border-radius:var(--tap-radius-sm);background:var(--tap-surface-2);line-height:1.15;text-align:center}
.tap-root .tap-slot2.is-sel .tap-slot2-date{background:var(--tap-primary);color:var(--tap-on-primary)}
.tap-root .tap-slot2-day{color:var(--tap-muted);font-size:calc(.65625 * var(--tap-fs));font-weight:600}
.tap-root .tap-slot2-num{color:var(--tap-ink);font-family:var(--tap-font-heading);font-size:calc(1.25 * var(--tap-fs));font-weight:700}
.tap-root .tap-slot2-mon{color:var(--tap-muted);font-size:calc(.625 * var(--tap-fs))}
.tap-root .tap-slot2.is-sel :is(.tap-slot2-day,.tap-slot2-mon,.tap-slot2-num){color:var(--tap-on-primary)}
.tap-root .tap-slot2-info{flex:1;min-inline-size:0}
.tap-root .tap-slot2-time{display:flex;align-items:center;gap:5px;color:var(--tap-ink);font-size:calc(.90625 * var(--tap-fs));font-weight:700}
.tap-root .tap-slot2-clock{font-size:calc(.8125 * var(--tap-fs))}
.tap-root .tap-slot2 .tap-countdown-live{margin:3px 0;padding:2px 7px;font-size:calc(.6875 * var(--tap-fs))}
.tap-root .tap-slot2-seats{margin-block-start:3px;color:var(--tap-success);font-size:calc(.71875 * var(--tap-fs));font-weight:600}
.tap-root .tap-slot2-seats:is(.is-low,.is-full-txt){color:var(--tap-err)}
.tap-root .tap-slot2-radio{inline-size:20px;block-size:20px;display:grid;place-items:center;flex:0 0 auto;border:2px solid var(--tap-control-border);border-radius:var(--tap-radius-full)}
.tap-root .tap-slot2.is-sel .tap-slot2-radio{border-color:var(--tap-primary)}
.tap-root .tap-slot2.is-sel .tap-slot2-radio::after{content:"";inline-size:10px;block-size:10px;border-radius:var(--tap-radius-full);background:var(--tap-primary)}
.tap-root .tap-slot2.is-upcoming{border-color:var(--tap-accent);background:var(--tap-cta-pale)}

.tap-root .tap-addon-card{display:grid;grid-template-columns:44px minmax(0,1fr) auto;grid-template-rows:auto auto;gap:2px 13px;align-items:center}
.tap-root .tap-addon-emoji{grid-row:1/3;inline-size:44px;block-size:44px;display:grid;place-items:center;border-radius:var(--tap-radius-sm);background:var(--tap-surface-2);font-size:calc(1.25 * var(--tap-fs))}
.tap-root .tap-addon-name-txt{grid-column:2;grid-row:1;color:var(--tap-ink);font-size:calc(.875 * var(--tap-fs));font-weight:700;overflow-wrap:anywhere}
.tap-root .tap-addon-desc{grid-column:2;grid-row:2;display:-webkit-box;overflow:hidden;color:var(--tap-muted);font-size:calc(.75 * var(--tap-fs));-webkit-box-orient:vertical;-webkit-line-clamp:2}
.tap-root .tap-addon-bottom{grid-column:3;grid-row:1/3;align-items:flex-end;flex-direction:column;gap:7px;min-inline-size:0}
.tap-root .tap-addon-togbtn{inline-size:34px;block-size:34px;display:grid;place-items:center;padding:0;border:1px solid var(--tap-control-border);border-radius:var(--tap-radius-sm);font-size:0;line-height:1}
.tap-root .tap-addon-togbtn.on::before{content:"✓";color:var(--tap-on-primary);font-size:13px;font-weight:800}

.tap-root .tap-pf-head{margin:24px 0 12px}
.tap-root .tap-pf-eyebrow{margin-block-end:3px;color:var(--tap-accent);font-size:calc(.6875 * var(--tap-fs));font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.tap-root .tap-pf-title{margin:0;color:var(--tap-ink);font-family:var(--tap-font-heading);font-size:calc(1.25 * var(--tap-fs));font-weight:600}
.tap-root .tap-pf-card{display:flex;align-items:center;gap:13px;margin-block-end:12px;padding:14px 16px;border:1px solid var(--tap-line);border-radius:var(--tap-radius-sm);background:var(--tap-card);box-shadow:var(--tap-shadow-sm);cursor:pointer;transition:border-color var(--dur-fast),opacity var(--dur-fast)}
.tap-root .tap-pf-card.is-on{border-color:var(--tap-primary);box-shadow:var(--tap-glow)}
.tap-root .tap-pf-card.is-dim{opacity:.5}
.tap-root .tap-pf-ic{inline-size:44px;block-size:44px;display:grid;place-items:center;flex:0 0 auto;border-radius:var(--tap-radius-sm);background:var(--tap-surface-2);font-size:calc(1.1875 * var(--tap-fs))}
.tap-root .tap-pf-ic-saffron{background:var(--tap-cta-pale);color:var(--tap-accent)}
.tap-root .tap-pf-mid{flex:1;min-inline-size:0}
.tap-root .tap-pf-name{color:var(--tap-ink);font-size:calc(.90625 * var(--tap-fs));font-weight:700}
.tap-root .tap-pf-sub{margin-block-start:1px;color:var(--tap-muted);font-size:calc(.75 * var(--tap-fs))}
.tap-root .tap-pf-check{inline-size:24px;block-size:24px;display:grid;place-items:center;flex:0 0 auto;border:1px solid var(--tap-control-border);border-radius:var(--tap-radius-sm);background:var(--tap-card);color:var(--tap-on-primary)}
.tap-root .tap-pf-card.is-on .tap-pf-check{border-color:var(--tap-primary);background:var(--tap-primary)}
.tap-root .tap-pf-step{display:flex;align-items:center;gap:10px;flex:0 0 auto}
.tap-root .tap-pf-step button{inline-size:32px;block-size:32px;display:grid;place-items:center;border-radius:var(--tap-radius-sm);font:inherit;font-size:calc(1.0625 * var(--tap-fs));line-height:1;cursor:pointer}
.tap-root .tap-pf-step-minus{border:1px solid var(--tap-primary);background:var(--tap-card);color:var(--tap-brand-ink-safe)}
.tap-root .tap-pf-step-plus{border:0;background:var(--tap-primary);color:var(--tap-on-primary)}
.tap-root .tap-pf-step button:disabled{opacity:.4;cursor:not-allowed}
.tap-root .tap-pf-count{min-inline-size:20px;color:var(--tap-ink);font-size:calc(1 * var(--tap-fs));font-weight:700;text-align:center}

.tap-root .tap-chad-sum{margin:8px 0 18px;padding:16px;border-radius:var(--tap-radius-sm);background:var(--tap-surface-2)}
.tap-root .tap-chad-sum-hd{margin-block-end:12px;color:var(--tap-brand-ink-safe);font-size:calc(.78125 * var(--tap-fs));font-weight:700;letter-spacing:.06em}
.tap-root .tap-chad-sum-row{display:flex;justify-content:space-between;margin-block-end:8px;color:var(--tap-muted);font-size:calc(.84375 * var(--tap-fs))}
.tap-root .tap-chad-sum-row span:last-child{color:var(--tap-ink);font-weight:700}
.tap-root .tap-chad-sum-line{block-size:1px;margin:10px 0;background:var(--tap-line)}
.tap-root .tap-chad-sum-total{display:flex;align-items:center;justify-content:space-between}
.tap-root .tap-chad-sum-total span:first-child{color:var(--tap-ink);font-family:var(--tap-font-heading);font-size:calc(1 * var(--tap-fs));font-weight:600}
.tap-root .tap-chad-sum-amt{color:var(--tap-brand-ink-safe);font-family:var(--tap-font-heading);font-size:calc(1.375 * var(--tap-fs));font-weight:700}
@media(max-width:767.98px){.tap-root .tap-tier-tapnote{flex-basis:100%;white-space:normal}.tap-root .tap-addon-card{grid-template-columns:44px minmax(0,1fr) auto}}
/* Phase 10 QA: on narrow phones the add-on action/price becomes a full-width
 * second row instead of squeezing the description into a third-column layout. */
@media(max-width:420px){
  .tap-root .tap-addon-card{grid-template-columns:44px minmax(0,1fr);grid-template-rows:auto auto auto}
  .tap-root .tap-addon-bottom{grid-column:2;grid-row:3;inline-size:100%;align-items:center;justify-content:space-between;flex-direction:row;gap:10px}
  .tap-root .tap-addon-price-tag{min-inline-size:0;white-space:normal;overflow-wrap:anywhere}
}
@media(prefers-reduced-motion:reduce){.tap-root :is(.tap-tier-card,.tap-slot2-radio,.tap-pf-card,.tap-pf-check){transition:none}}

/* Phase 4 — participation geometry is Smart Auto. The operator chooses the
 * card scale; CSS Grid chooses 1/2/3 columns from the space the booking surface
 * actually receives. Legacy --tap-tier-cols-* variables remain harmless for
 * reversible imports but are no longer runtime layout owners. */
.tap-root .tap-tiers,.tap-component-scope .tap-tiers{grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr))}
.tap-root .tap-tier-card{padding:var(--tap-tier-pad,14px 15px)}
.tap-root .tap-tier-card.is-popular{padding-block-start:max(var(--tap-tier-pad-top-pop,20px),20px)}
.tap-root .tap-tier-icon{inline-size:var(--tap-tier-icon,44px);block-size:var(--tap-tier-icon,44px)}
.tap-root .tap-tier-icon svg{inline-size:calc(var(--tap-tier-icon,44px) * .64);block-size:calc(var(--tap-tier-icon,44px) * .5)}
.tap-root .tap-tier-name{font-size:var(--tap-tier-name,15px)}
.tap-root .tap-tiers-price-after .tap-tier-card:not(.is-sel) .tap-tier-price-block{display:none}
.tap-root .tap-tiers-price-after .tap-tier-card.is-sel .tap-tier-tapnote{display:none}

.tap-root .tap-sankalp-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:10px}
.tap-root .tap-sankalp-grid.tap-sankalp-grid-single{grid-template-columns:1fr}
.tap-root .tap-sankalp-grid .tap-input{inline-size:100%;min-inline-size:0}
.tap-root .tap-step-h{margin-block-end:10px;font-size:calc(1.0625 * var(--tap-fs))}
.tap-root .tap-ic-dt{display:inline-block;font-size:1em;line-height:1;vertical-align:-.05em}
.tap-root .tap-date-note{margin-block-end:18px;padding:10px 14px;border-radius:var(--tap-radius-sm);background:var(--tap-warn-bg);color:var(--tap-warn-fg);font-size:calc(.8125 * var(--tap-fs))}

/* Touch targets are sized here directly; no later !important repair layer. */
.tap-root .tap-addon-togbtn{inline-size:44px;block-size:44px;min-inline-size:44px;min-block-size:44px}
.tap-root .tap-pf-step button{inline-size:44px;block-size:44px;min-inline-size:44px;min-block-size:44px}

/* Phase 9 QA: renderer state classes replace static inline presentation. */
.tap-root .tap-tier-icon-img{display:block;inline-size:100%;block-size:100%;object-fit:contain}
.tap-root .tap-tier-icon--emoji{font-size:calc(var(--tap-tier-icon,44px) * .55)}
.tap-root .tap-price-from.is-prompt,.tap-root .tap-price.is-prompt{color:var(--tap-muted);font-size:13.5px;font-weight:600;font-family:var(--tap-font-body)}
.tap-root .tap-price-op{color:var(--tap-muted);font:inherit}

/* v8.6.29 Bulk Content Studio: imported editorial sections are first-class PDP content. */
.tap-service-rich-section{margin:18px 0;padding:0;min-width:0}
.tap-service-rich-section .tap-service-copy{overflow-wrap:anywhere}
.tap-service-rich-section .tap-service-copy>:first-child{margin-top:0}
.tap-service-rich-section .tap-service-copy>:last-child{margin-bottom:0}
.tap-service-rich-section ul,.tap-service-rich-section ol{padding-inline-start:1.25rem}

/* ══════════════════════════════════════════════════════════════════════════
   RESPONSIVE CORRECTIONS (audited 2026-08-27)
   ══════════════════════════════════════════════════════════════════════════ */

/* .tap-root .tap-addons-grid pins one column at (0,2,0); the multi-column
   rules in tap-core are (0,1,0) and tap-core loads first, so they could never
   win. On a desktop the add-ons list was a single narrow column with the right
   two-thirds of the panel empty. */
@media (min-width:768px){
  .tap-root .tap-addons-grid,.tap-component-scope .tap-addons-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (min-width:1024px){
  .tap-root .tap-addons-grid,.tap-component-scope .tap-addons-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* This file had no 768–1023.98 rule at all: the .tap-vh two-column split
   starts at 1024, so every tablet got a single column stretched to ~970px —
   100-character line lengths and a gallery running the full width. The aside
   needs 360px, which does not split usefully at 768, so the tablet band keeps
   one column but constrains the measure and caps the slide. */
@media (min-width:768px) and (max-width:1023.98px){
  .tap-root.tap-view-puja .tap-vh{
    grid-template-columns:minmax(0,1fr);
    gap:24px;
    max-inline-size:760px;
    margin-inline:auto;
  }
  .tap-root.tap-view-puja .tap-vh-slide{aspect-ratio:16/10;max-block-size:420px}
  .tap-root.tap-view-puja .tap-vh-meta{padding:var(--tap-space-4)}
}

/* ══════════════════════════════════════════════════════════════════════════
   SHEET GRIDS — no orphan row (audited 2026-08-27)

   Participation: the three tiers were minmax(280px,1fr), so only two fitted
   the ~660px sheet and Family dropped alone onto a second row at half width.
   A tier list is a comparison — the "Recommended" badge only means anything
   when the options it is being recommended over are beside it — so the min
   drops to 200px and all three sit in one row. Below that they stack, which
   is correct on a phone.

   Add-ons: four items across three columns left one card stranded. Two even
   columns give a 2x2 block and more room for each description.
   ══════════════════════════════════════════════════════════════════════════ */
.tap-root .tap-tiers,.tap-component-scope .tap-tiers{grid-template-columns:repeat(auto-fill,minmax(min(100%,200px),1fr))}

/* ══════════════════════════════════════════════════════════════════════════
   TIER ARTWORK WAS INVISIBLE (audited 2026-08-27)

   Every .tap-tier-icon rule was scoped to `.tap-root`, but the participation
   sheet is appended to <body> and its root is `.tap-component-scope`, not
   `.tap-root`. So inside the sheet the icon box matched no size rule at all and
   computed to 0px wide — the shipped SVG was in the DOM on every tier card and
   had never once been visible. (`.tap-tiers` a few rules up already carries
   both scopes, which is why the grid itself worked.)
   ══════════════════════════════════════════════════════════════════════════ */
.tap-component-scope .tap-tier-icon{
  inline-size:var(--tap-tier-icon,44px);
  block-size:var(--tap-tier-icon,44px);
  display:grid;place-items:center;flex:0 0 auto;
  border-radius:var(--tap-radius-sm);
  background:var(--tap-surface-2);
  overflow:hidden;
}
.tap-component-scope .tap-tier-icon svg{
  inline-size:calc(var(--tap-tier-icon,44px) * .64);
  block-size:calc(var(--tap-tier-icon,44px) * .5);
}
.tap-component-scope .tap-tier-icon-img{display:block;inline-size:100%;block-size:100%;object-fit:cover}
.tap-component-scope .tap-tier-icon--emoji{font-size:calc(var(--tap-tier-icon,44px) * .55)}
