/* Core checkout runtime. Header/footer stay website-owned; the form surface is isolated here. */
.song-checkout-shell,
.song-checkout-overlay {
  --song-white: #fff;
  --song-paper: #fdfbf7;
  --song-navy: #1a2c42;
  --song-gold: #c5a059;
  --song-muted: #64748b;
  --song-muted-soft: #94a3b8;
  --song-border: rgba(15, 23, 42, 0.08);
  --song-border-dark: rgba(15, 23, 42, 0.15);
  --song-container-x: clamp(1rem, 4vw, 2rem);
  --song-radius-none: 0;
  --song-radius-content: 6px;
  --song-radius-control: 6px;
  --song-shadow-none: none;
  --song-gold-soft-bg: #fffaf1;
  --song-gold-hover-inset: inset 0 0 0 1px rgba(197, 160, 89, 0.45);
  --song-gold-focus-ring-2: 0 0 0 2px rgba(197, 160, 89, 0.18);
  --song-status-info-bg: #eff6ff;
  --song-status-info-border: #bfdbfe;
  --song-status-info-text: #1e3a8a;
  --song-status-warning-bg: #fff7ed;
  --song-status-warning-border: #fed7aa;
  --song-status-warning-text: #9a3412;
  --song-status-danger-bg: #fef2f2;
  --song-status-danger-border: #fecaca;
  --song-status-danger-text: #991b1b;
  --vf-control-border: var(--song-border-dark);
  --vf-control-radius: var(--song-radius-control);
  --vf-control-bg: var(--song-white);
  --vf-control-text: var(--song-navy);
  --vf-control-accent: var(--song-gold);
  --vf-control-padding: 0.5rem 0.85rem;
  --checkout-control-height: 38px;
  --checkout-placeholder: #b4bfce;
  color: var(--song-navy);
  font-family: Roboto, Arial, Helvetica, sans-serif;
}

.song-checkout-shell {
  background:
    linear-gradient(180deg, rgba(26, 44, 66, 0.035), rgba(253, 251, 247, 0) 18rem),
    var(--song-paper);
  padding-block: 1rem 2rem;
}

.song-checkout-shell .song-container {
  width: 100%;
  max-width: 1280px;
  margin-inline: auto;
  padding-inline: var(--song-container-x);
}

.song-checkout-shell .song-eyebrow {
  display: block;
  color: var(--song-gold);
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.32em;
  text-transform: uppercase;
}

.song-checkout-shell .song-button {
  display: inline-flex;
  min-height: 48px;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  padding: 0.95rem 2rem;
  border: 1px solid transparent;
  border-radius: var(--song-radius-none);
  background: var(--song-gold);
  color: var(--song-white);
  font-size: 0.8125rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  line-height: 1.2;
  text-align: center;
  text-decoration: none;
  text-transform: uppercase;
  cursor: pointer;
  transition: background-color 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease, color 0.2s ease;
}

.song-checkout-shell .song-button:hover,
.song-checkout-shell .song-button:focus-visible {
  border-color: var(--song-gold);
  background: var(--song-gold);
  color: var(--song-white);
  text-decoration: none;
  box-shadow: var(--song-gold-hover-inset);
  outline: none;
}

.song-checkout-shell .song-button--navy {
  background: var(--song-navy);
}

.song-checkout-shell .song-button--navy:hover,
.song-checkout-shell .song-button--navy:focus-visible {
  background: var(--song-gold);
}

.song-checkout-shell .song-button--full {
  width: 100%;
}

.song-checkout-shell .song-button:disabled {
  cursor: not-allowed;
  opacity: 0.55;
}

.song-checkout-shell .song-badge {
  display: inline-flex;
  width: fit-content;
  align-items: center;
  border: 1px solid rgba(197, 160, 89, 0.35);
  background: rgba(197, 160, 89, 0.09);
  color: var(--song-navy);
  padding: 0.25rem 0.55rem;
  font-size: 0.75rem;
  font-weight: 700;
  line-height: 1.2;
}

.song-checkout-shell .song-alert {
  border: 1px solid var(--song-status-info-border);
  border-radius: var(--song-radius-none);
  background: var(--song-status-info-bg);
  color: var(--song-status-info-text);
  padding: 1rem;
  font-size: 0.9375rem;
  line-height: 1.55;
}

.song-checkout-shell .song-alert--warning {
  border-color: var(--song-status-warning-border);
  background: var(--song-status-warning-bg);
  color: var(--song-status-warning-text);
}

.song-checkout-shell .song-alert--danger {
  border-color: var(--song-status-danger-border);
  background: var(--song-status-danger-bg);
  color: var(--song-status-danger-text);
}

.song-checkout-shell .song-danger-text {
  color: var(--song-status-danger-text);
}

.song-checkout-shell .grid,
.song-checkout-shell .song-u-grid { display: grid; }
.song-checkout-shell .flex,
.song-checkout-shell .song-u-flex { display: flex; }
.song-checkout-shell .inline-flex,
.song-checkout-shell .song-u-inline-flex { display: inline-flex; }
.song-checkout-shell .relative,
.song-checkout-shell .song-u-relative { position: relative; }
.song-checkout-shell .absolute,
.song-checkout-shell .song-u-absolute { position: absolute; }
.song-checkout-shell .fixed,
.song-checkout-shell.song-checkout-overlay { position: fixed; }
.song-checkout-shell .inset-0,
.song-checkout-shell .song-u-inset-0,
.song-checkout-overlay.song-u-inset-0 { inset: 0; }
.song-checkout-shell .items-start,
.song-checkout-shell .song-u-items-start { align-items: flex-start; }
.song-checkout-shell .items-center,
.song-checkout-shell .song-u-items-center { align-items: center; }
.song-checkout-shell .justify-center,
.song-checkout-shell .song-u-justify-center { justify-content: center; }
.song-checkout-shell .justify-between,
.song-checkout-shell .song-u-justify-between { justify-content: space-between; }
.song-checkout-shell .justify-end,
.song-checkout-shell .song-u-justify-end { justify-content: flex-end; }
.song-checkout-shell .song-u-self-start { align-self: flex-start; }
.song-checkout-shell .grid-cols-1,
.song-checkout-shell .song-u-grid-cols-1 { grid-template-columns: minmax(0, 1fr); }
.song-checkout-shell .song-u-flex-col { flex-direction: column; }
.song-checkout-shell .song-u-flex-1 { flex: 1 1 0%; }
.song-checkout-shell .min-w-0,
.song-checkout-shell .song-u-min-w-0 { min-width: 0; }
.song-checkout-shell .w-full,
.song-checkout-shell .song-u-w-full { width: 100%; }
.song-checkout-shell .h-full,
.song-checkout-shell .song-u-h-full { height: 100%; }
.song-checkout-shell .song-u-w-24 { width: 6rem; }
.song-checkout-shell .song-u-h-16 { height: 4rem; }
.song-checkout-shell .song-u-w-10 { width: 2.5rem; }
.song-checkout-shell .song-u-h-10 { height: 2.5rem; }
.song-checkout-shell .song-u-w-4 { width: 1rem; }
.song-checkout-shell .song-u-h-4 { height: 1rem; }
.song-checkout-shell .song-u-shrink-0 { flex-shrink: 0; }
.song-checkout-shell .song-u-overflow-hidden { overflow: hidden; }
.song-checkout-shell .song-u-object-cover { object-fit: cover; }
.song-checkout-shell .song-u-z-\[9999\],
.song-checkout-overlay.song-u-z-\[9999\] { z-index: 9999; }

.song-checkout-shell .song-u-gap-1\.5 { gap: 0.375rem; }
.song-checkout-shell .gap-2,
.song-checkout-shell .song-u-gap-2 { gap: 0.5rem; }
.song-checkout-shell .gap-3,
.song-checkout-shell .song-u-gap-3 { gap: 0.75rem; }
.song-checkout-shell .gap-4,
.song-checkout-shell .song-u-gap-4 { gap: 1rem; }
.song-checkout-shell .song-u-gap-6 { gap: 1.5rem; }
.song-checkout-shell .song-u-space-y-2 > * + * { margin-top: 0.5rem; }
.song-checkout-shell .song-u-space-y-3 > * + * { margin-top: 0.75rem; }
.song-checkout-shell .song-u-space-y-4 > * + * { margin-top: 1rem; }
.song-checkout-shell .space-y-6 > * + *,
.song-checkout-shell .song-u-space-y-6 > * + * { margin-top: 1.5rem; }
.song-checkout-shell .mt-1,
.song-checkout-shell .song-u-mt-1 { margin-top: 0.25rem; }
.song-checkout-shell .mt-3,
.song-checkout-shell .song-u-mt-3 { margin-top: 0.75rem; }
.song-checkout-shell .song-u-mt-4 { margin-top: 1rem; }
.song-checkout-shell .song-u-mt-5 { margin-top: 1.25rem; }
.song-checkout-shell .mb-0 { margin-bottom: 0; }
.song-checkout-shell .mb-1\.5 { margin-bottom: 0.375rem; }
.song-checkout-shell .song-u-mb-2 { margin-bottom: 0.5rem; }
.song-checkout-shell .mb-3,
.song-checkout-shell .song-u-mb-3 { margin-bottom: 0.75rem; }
.song-checkout-shell .mb-4,
.song-checkout-shell .song-u-mb-4 { margin-bottom: 1rem; }
.song-checkout-shell .song-u-mb-6 { margin-bottom: 1.5rem; }
.song-checkout-shell .song-u-mb-8 { margin-bottom: 2rem; }
.song-checkout-shell .song-u-pt-3 { padding-top: 0.75rem; }
.song-checkout-shell .song-u-pt-4 { padding-top: 1rem; }
.song-checkout-shell .song-u-pt-5 { padding-top: 1.25rem; }
.song-checkout-shell .song-u-pb-2 { padding-bottom: 0.5rem; }
.song-checkout-shell .song-u-pb-3 { padding-bottom: 0.75rem; }
.song-checkout-shell .p-4,
.song-checkout-shell .song-u-p-4 { padding: 1rem; }
.song-checkout-shell .song-u-p-5 { padding: 1.25rem; }
.song-checkout-shell .p-6,
.song-checkout-shell .song-u-p-6 { padding: 1.5rem; }
.song-checkout-shell .px-3,
.song-checkout-shell .song-u-px-3 { padding-left: 0.75rem; padding-right: 0.75rem; }
.song-checkout-shell .px-4,
.song-checkout-shell .song-u-px-4 { padding-left: 1rem; padding-right: 1rem; }
.song-checkout-shell .py-2,
.song-checkout-shell .song-u-py-2 { padding-top: 0.5rem; padding-bottom: 0.5rem; }
.song-checkout-shell .py-3,
.song-checkout-shell .song-u-py-3 { padding-top: 0.75rem; padding-bottom: 0.75rem; }
.song-checkout-shell .song-u-py-10 { padding-top: 2.5rem; padding-bottom: 2.5rem; }
.song-checkout-shell .song-u-border { border: 1px solid var(--song-border); }
.song-checkout-shell .song-u-border-t { border-top: 1px solid var(--song-border); }
.song-checkout-shell .song-u-border-r { border-right: 1px solid var(--song-border); }
.song-checkout-shell .song-u-border-b { border-bottom: 1px solid var(--song-border); }
.song-checkout-shell .song-u-border-l { border-left: 1px solid var(--song-border); }
.song-checkout-shell .song-u-border-dark { border-color: var(--song-border-dark); }
.song-checkout-shell .song-u-border-slate-200 { border-color: #e2e8f0; }
.song-checkout-shell .song-u-border-slate-300 { border-color: #cbd5e1; }
.song-checkout-shell .song-u-bg-white { background: var(--song-white); }
.song-checkout-shell .song-u-text-left { text-align: left; }
.song-checkout-shell .text-right,
.song-checkout-shell .song-u-text-right { text-align: right; }
.song-checkout-shell .text-center,
.song-checkout-shell .song-u-text-center { text-align: center; }
.song-checkout-shell .text-xs { font-size: 0.75rem; }
.song-checkout-shell .text-\[10px\] { font-size: 10px; }
.song-checkout-shell .text-\[13px\] { font-size: 13px; }
.song-checkout-shell .text-sm { font-size: 0.875rem; }
.song-checkout-shell .text-base { font-size: 1rem; }
.song-checkout-shell .text-xl { font-size: 1.25rem; }
.song-checkout-shell .text-2xl { font-size: 1.5rem; }
.song-checkout-shell .text-3xl { font-size: 1.875rem; }
.song-checkout-shell .text-4xl { font-size: 2.25rem; }
.song-checkout-shell .font-medium { font-weight: 500; }
.song-checkout-shell .font-semibold { font-weight: 600; }
.song-checkout-shell .font-bold { font-weight: 700; }
.song-checkout-shell .leading-tight { line-height: 1.25; }
.song-checkout-shell .leading-normal { line-height: 1.5; }
.song-checkout-shell .leading-relaxed { line-height: 1.625; }
.song-checkout-shell .uppercase { text-transform: uppercase; }
.song-checkout-shell .tracking-wide { letter-spacing: 0.025em; }
.song-checkout-shell .tracking-\[0\.12em\] { letter-spacing: 0.12em; }
.song-checkout-shell .tracking-\[0\.2em\] { letter-spacing: 0.2em; }
.song-checkout-shell .text-slate-400 { color: #94a3b8; }
.song-checkout-shell .text-slate-500,
.song-checkout-shell .text-slate-600 { color: var(--song-muted); }
.song-checkout-shell .text-slate-900,
.song-checkout-shell .text-\[--song-navy\],
.song-checkout-overlay .text-\[--song-navy\] { color: var(--song-navy); }
.song-checkout-shell .hover\:text-slate-900:hover { color: var(--song-navy); }
.song-checkout-shell .hidden,
.song-checkout-shell.hidden,
.song-checkout-overlay.hidden { display: none; }
.song-checkout-shell .cursor-pointer { cursor: pointer; }
.song-checkout-shell .underline { text-decoration: underline; }
.song-checkout-shell .pl-2 { padding-left: 0.5rem; }
.song-checkout-shell .ml-1 { margin-left: 0.25rem; }
.song-checkout-shell .mr-2 { margin-right: 0.5rem; }
.song-checkout-shell .mx-auto { margin-left: auto; margin-right: auto; }
.song-checkout-shell .max-w-xl { max-width: 36rem; }
.song-checkout-shell .min-h-\[520px\] { min-height: 520px; }
.song-checkout-shell .h-px { height: 1px; }
.song-checkout-shell .bg-slate-200 { background: #e2e8f0; }
.song-checkout-shell .left-0 { left: 0; }
.song-checkout-shell .bottom-full { bottom: 100%; }
.song-checkout-shell .z-10 { z-index: 10; }
.song-checkout-overlay.song-u-flex { display: flex; }
.song-checkout-overlay.song-u-flex-col { flex-direction: column; }
.song-checkout-overlay.song-u-items-center { align-items: center; }
.song-checkout-overlay.song-u-justify-center { justify-content: center; }
.song-checkout-overlay.song-u-z-\[9999\] { z-index: 9999; }
.song-checkout-overlay.hidden { display: none; }

.song-checkout-shell .song-checkout-page {
  padding-top: 0;
  padding-bottom: 3rem;
}

.song-checkout-shell .song-checkout-header {
  max-width: 42rem;
  margin-bottom: 1.25rem;
}

.song-checkout-shell .song-checkout-header .song-eyebrow {
  margin-bottom: 0.75rem;
  letter-spacing: 0.32em;
}

.song-checkout-shell .song-checkout-header h1 {
  margin-bottom: 0;
  color: var(--song-navy);
  font-family: inherit;
  font-size: clamp(1.5rem, 3vw, 2.25rem);
  font-weight: 700;
  line-height: 1.08;
  letter-spacing: -0.02em;
}

.song-checkout-shell .song-checkout-card {
  background: var(--song-white);
  border: 1px solid rgba(26, 44, 66, 0.12);
  border-radius: var(--song-radius-none);
  box-shadow: var(--song-shadow-none);
}

.song-checkout-shell .song-checkout-request-card {
  padding: 0;
  border-top: 2px solid rgba(197, 160, 89, 0.65);
  overflow: visible;
}

.song-checkout-shell .song-checkout-billing-card {
  border-top: 2px solid rgba(26, 44, 66, 0.18);
}

.song-checkout-shell .song-checkout-request-stack {
  display: grid;
  gap: 0;
}

.song-checkout-shell .song-checkout-destination {
  gap: 1rem;
  padding: 1.25rem 1.5rem;
  border-bottom-color: rgba(26, 44, 66, 0.1);
  background: linear-gradient(135deg, rgba(26, 44, 66, 0.055), rgba(197, 160, 89, 0.08));
}

.song-checkout-shell .song-checkout-form {
  margin: 1.25rem 0;
}

.song-checkout-shell .song-checkout-request-body {
  display: grid;
  gap: 1.25rem;
  padding: 1.25rem 1.5rem;
}

.song-checkout-shell .song-checkout-destination-copy {
  display: grid;
  align-content: center;
  gap: 0.5rem;
  min-width: 0;
}

.song-checkout-shell .song-checkout-destination h3 {
  margin: 0;
  font-size: 1.6rem;
  letter-spacing: 0;
}

.song-checkout-shell .song-label {
  color: rgba(26, 44, 66, 0.72);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.2em;
  text-transform: uppercase;
}

.song-checkout-shell .song-checkout-control-group .song-label,
.song-checkout-shell .song-checkout-summary-block .song-label {
  color: rgba(26, 44, 66, 0.72);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.2em;
  text-transform: uppercase;
}

.song-checkout-shell .song-checkout-form-section h3 {
  color: rgba(26, 44, 66, 0.72);
  margin-bottom: 0.75rem;
  font-size: 0.9375rem;
  font-weight: 700;
  line-height: 1.55;
  letter-spacing: 0.2em;
  text-transform: uppercase;
}

.song-checkout-shell .song-checkout-control {
  height: var(--checkout-control-height);
  min-height: var(--checkout-control-height);
  padding: var(--vf-control-padding);
  border: 1px solid var(--vf-control-border);
  border-radius: var(--vf-control-radius);
  background: var(--vf-control-bg);
  color: var(--vf-control-text);
  font-family: inherit;
  font-size: 0.9375rem;
  font-weight: 400;
  line-height: 1.35;
}

.song-checkout-shell .song-checkout-control::placeholder {
  color: var(--checkout-placeholder);
  font-weight: 400;
  opacity: 0.78;
}

.song-checkout-shell select.song-checkout-control,
.song-checkout-shell .country-picker-trigger {
  padding-right: 2.5rem;
}

.song-checkout-shell .country-picker-native {
  appearance: none;
  position: absolute;
  width: 1px;
  height: 1px;
  min-width: 0;
  min-height: 0;
  max-width: 1px;
  max-height: 1px;
  margin: -1px;
  padding: 0;
  border: 0;
  clip: rect(0, 0, 0, 0);
  clip-path: inset(50%);
  opacity: 0;
  overflow: hidden;
  pointer-events: none;
  white-space: nowrap;
}

.song-checkout-shell .country-picker-trigger {
  appearance: none;
  box-sizing: border-box;
  display: block;
  position: relative;
  width: 100%;
  height: auto;
  min-height: var(--checkout-control-height);
  padding: var(--vf-control-padding);
  border: 1px solid var(--vf-control-border);
  border-radius: var(--vf-control-radius);
  background: var(--vf-control-bg);
  color: var(--vf-control-text);
  cursor: pointer;
  font-family: inherit;
  font-size: 0.9375rem;
  font-weight: 400;
  line-height: 1.35;
  white-space: normal;
  text-align: left;
}

.song-checkout-shell .country-picker-trigger::after {
  content: "";
  position: absolute;
  right: 1rem;
  top: 50%;
  width: 0.55rem;
  height: 0.55rem;
  border-right: 1px solid var(--song-muted);
  border-bottom: 1px solid var(--song-muted);
  transform: translateY(-70%) rotate(45deg);
  pointer-events: none;
}

.song-checkout-shell .song-checkout-control:hover,
.song-checkout-shell .country-picker-trigger:hover,
.song-checkout-shell .song-checkout-choice:hover {
  border-color: var(--song-gold);
  box-shadow: var(--song-gold-hover-inset);
}

.song-checkout-shell .song-checkout-control:focus,
.song-checkout-shell .country-picker-trigger:focus-visible,
.song-checkout-shell .country-picker-trigger[aria-expanded="true"],
.song-checkout-shell .song-checkout-choice:focus-within {
  outline: none;
  border-color: var(--song-gold);
  box-shadow: var(--song-gold-focus-ring-2);
}

.country-picker-panel {
  --song-white: #fff;
  --song-navy: #1a2c42;
  --song-gold: #c5a059;
  --song-muted: #64758b;
  --song-gold-focus-ring-2: 0 0 0 3px rgba(197, 160, 89, 0.15);
  position: fixed;
  z-index: 2000;
  display: flex;
  max-height: min(420px, calc(100vh - 32px));
  flex-direction: column;
  overflow: hidden;
  border: 1px solid #dbe3ec;
  border-radius: var(--song-radius-none);
  background: var(--song-white);
  box-shadow: 0 12px 24px rgba(15, 23, 42, 0.2);
}

.country-picker-panel[hidden] { display: none; }
.country-picker-search-wrap { padding: 8px; border-bottom: 1px solid #edf2f7; }
.country-picker-panel-no-search .country-picker-search-wrap { display: none; }
.country-picker-panel-no-search .country-picker-list { padding-top: 10px; }
.country-picker-search {
  width: 100%;
  height: 42px;
  padding: 0 12px;
  border: 1px solid #dbe3ec;
  border-radius: 8px;
  color: var(--song-navy);
  font-size: 14px;
}
.country-picker-search:focus {
  outline: none;
  border-color: var(--song-gold);
  box-shadow: var(--song-gold-focus-ring-2);
}
.country-picker-list {
  display: grid;
  grid-template-columns: 1fr;
  gap: 6px;
  overflow: auto;
  padding: 8px;
}
.country-picker-option {
  width: 100%;
  min-height: 38px;
  padding: 8px 12px;
  border: 1px solid #edf2f7;
  border-radius: 8px;
  background: var(--song-white);
  color: var(--song-navy);
  cursor: pointer;
  font-size: 14px;
  text-align: left;
}
.country-picker-option:hover,
.country-picker-option:focus-visible {
  outline: none;
  border-color: #d9e2ec;
  background: #f8fafc;
}
.country-picker-option.is-highlighted {
  outline: none;
  border-color: rgba(197, 160, 89, 0.4);
  background: #fffaf1;
}
.country-picker-option.is-selected {
  border-color: rgba(197, 160, 89, 0.55);
  background: #fff9ed;
}
.country-picker-match {
  padding: 0 1px;
  border-radius: 3px;
  background: rgba(197, 160, 89, 0.28);
  font-weight: 700;
}
.country-picker-empty { padding: 20px 12px; color: var(--song-muted); font-size: 14px; text-align: center; }

.song-checkout-shell .song-checkout-muted-panel {
  border: 1px solid #e2e8f0;
  background: #f8fafc;
  border-radius: 0;
  font-size: 0.9375rem;
  line-height: 1.55;
}

.song-checkout-shell #visa-product-details {
  border: 0;
}

.song-checkout-shell #addons-empty {
  width: auto;
  min-height: 0;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--song-muted);
}

.song-checkout-shell #addons-section.has-no-addons { display: none; }

.song-checkout-shell .song-checkout-summary-block {
  margin: 0;
  padding: 1rem 1.5rem 1.25rem;
  border: 0;
  border-top: 1px solid rgba(26, 44, 66, 0.1);
  background: linear-gradient(135deg, rgba(26, 44, 66, 0.045), rgba(197, 160, 89, 0.1));
}

.song-checkout-shell .song-checkout-summary-row {
  gap: 1rem;
  padding-block: 0.15rem;
  font-size: 0.9375rem;
  line-height: 1.45;
}

.song-checkout-shell .song-checkout-summary-total {
  border-top-color: rgba(197, 160, 89, 0.36);
  font-size: 0.9375rem;
  line-height: 1.55;
  margin-top: 0.5rem;
}

.song-checkout-shell .song-checkout-summary-total > span:first-child {
  color: var(--song-navy);
  font-size: 0.9rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.song-checkout-shell #visa-application-badge {
  display: inline-flex;
  max-width: 100%;
  margin: 0;
  border-color: #e0e7ff;
  background: #eef2ff;
  color: #4338ca;
  padding: 0.25rem 0.5rem;
  font-weight: 500;
  white-space: normal;
  line-height: 1.25;
}

.song-checkout-shell .song-country-thumb {
  border-radius: var(--song-radius-content);
  border: 1px solid var(--song-border);
  background: var(--song-status-info-bg);
  box-shadow: none;
}

.song-checkout-shell .song-checkout-choice {
  display: grid;
  min-height: var(--checkout-control-height);
  grid-template-columns: 1rem minmax(0, 1fr);
  align-items: center;
  column-gap: 0.75rem;
  border: 1px solid var(--song-border-dark);
  border-radius: var(--song-radius-control);
  background: var(--song-white);
  padding: var(--vf-control-padding);
  font-size: 0.9375rem;
  line-height: 1.15;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.song-checkout-shell .song-checkout-choice input[type="radio"] {
  margin: 0;
  align-self: center;
  color: var(--song-gold);
}

.song-checkout-shell .song-checkout-choice span {
  display: flex;
  min-height: 1rem;
  min-width: 0;
  align-items: center;
}

.song-checkout-shell .song-stepper {
  --song-stepper-size: var(--checkout-control-height);
  --song-stepper-value-width: 4.75rem;
}

.song-checkout-shell .song-checkout-applicants-row {
  width: calc((var(--checkout-control-height) * 2) + 4.75rem);
  max-width: 100%;
}

.song-checkout-shell .song-checkout-full-row { grid-column: 1 / -1; }
.song-checkout-shell .song-checkout-no-gutter { padding-left: 0; padding-right: 0; }
.song-checkout-shell #checkout-request-aside {
  position: relative;
  z-index: 20;
}

.song-checkout-shell #addon-help-trigger {
  width: 1rem;
  height: 1rem;
  padding: 0;
  border: 0;
  border-radius: 9999px;
  background: transparent;
  box-shadow: none;
  line-height: 1;
}

.song-checkout-shell #addon-help-trigger .fa {
  display: inline-flex;
  width: 1rem;
  height: 1rem;
  min-width: 1rem;
  align-items: center;
  justify-content: center;
  border: 1px solid #cbd5e1;
  border-radius: 9999px;
  background: #f8fafc;
  color: #64748b;
  font-size: 0.6875rem;
  font-weight: 700;
  line-height: 1;
}

.song-checkout-shell #addon-help-trigger:hover,
.song-checkout-shell #addon-help-trigger:focus-visible {
  background: transparent;
  box-shadow: none;
  outline: none;
}

.song-checkout-shell #addon-help-trigger:hover .fa,
.song-checkout-shell #addon-help-trigger:focus-visible .fa {
  border-color: rgba(197, 160, 89, 0.55);
  background: #fffaf1;
  color: var(--song-navy);
}

.song-checkout-shell .song-help-popup {
  width: min(280px, calc(100vw - 32px));
}
.song-checkout-shell .addon-help-wrap { position: relative; z-index: 60; }
.song-checkout-shell #addon-help-popup {
  display: none;
  left: 50%;
  right: auto;
  transform: translateX(-50%);
  z-index: 100;
}
.song-checkout-shell #addon-help-popup.is-visible { display: block; }
.song-checkout-shell .addon-help-wrap:hover #addon-help-popup,
.song-checkout-shell .addon-help-wrap:focus-within #addon-help-popup { display: block; }

#addon-item-tooltip {
  display: none;
  position: fixed;
  z-index: 1000;
  width: min(280px, calc(100vw - 24px));
  pointer-events: none;
}
#addon-item-tooltip.is-visible { display: block; }
#addon-item-tooltip .song-checkout-tooltip,
.song-checkout-shell .song-checkout-tooltip {
  border: 1px solid #e2e8f0;
  background: #fff;
  color: #475569;
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.14);
}

.song-checkout-shell .song-checkout-panel-heading { max-width: 34rem; }
.song-checkout-shell .song-checkout-panel-heading h2 {
  color: var(--song-navy);
  font-family: "Playfair Display", Georgia, serif;
  font-weight: 500;
  line-height: 1.08;
  letter-spacing: 0;
}

.song-checkout-shell .song-checkout-submit-row { border-top-color: rgba(26, 44, 66, 0.12); }
.song-checkout-shell #checkout-submit-btn { font-size: 0.9375rem; line-height: 1.2; }
.song-checkout-shell .song-checkout-payment-note {
  margin: 0.5rem 0 0;
  color: var(--song-muted);
  font-size: 0.75rem;
  line-height: 1.45;
  text-align: center;
}
.song-checkout-shell .is-field-invalid {
  border-color: var(--song-status-danger-border);
  box-shadow: 0 0 0 2px rgba(127, 39, 26, 0.1);
}
.song-checkout-shell .song-checkout-error {
  border-color: var(--song-status-danger-border);
  background: var(--song-status-danger-bg);
  color: var(--song-status-danger-text);
  border-radius: 0;
}

.song-checkout-shell .song-checkout-success-mark {
  width: 5rem;
  height: 5rem;
  border: 1px solid #d1fae5;
  border-radius: 9999px;
  background: #ecfdf5;
  color: #059669;
}
.song-checkout-shell .song-checkout-success-mark .fa,
.song-checkout-shell #payment-summary-total { color: #059669; }

.song-checkout-shell #checkout-request-aside.is-request-locked {
  opacity: 0.6;
  pointer-events: none;
  user-select: none;
}
.song-checkout-shell #checkout-request-aside select:disabled,
.song-checkout-shell #checkout-request-aside input:disabled,
.song-checkout-shell #checkout-request-aside button:disabled {
  opacity: 0.45;
  background-color: var(--song-status-info-bg);
  color: var(--song-muted);
  cursor: not-allowed;
}

.song-checkout-shell.song-checkout-overlay {
  background: rgba(255, 255, 255, 0.85);
  backdrop-filter: blur(4px);
}
.song-checkout-shell .song-checkout-overlay-spinner,
.song-checkout-overlay .song-checkout-overlay-spinner {
  font-size: 3.5rem;
}

@media (min-width: 640px) {
  .song-checkout-shell .sm\:song-u-grid-cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (min-width: 768px) {
  .song-checkout-shell .md\:song-u-grid-cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .song-checkout-shell .md\:song-u-p-8 { padding: 2rem; }
}

@media (min-width: 1024px) {
  .song-checkout-shell .lg\:song-u-grid-cols-12 { grid-template-columns: repeat(12, minmax(0, 1fr)); }
  .song-checkout-shell .lg\:song-u-col-span-4 { grid-column: span 4 / span 4; }
  .song-checkout-shell .lg\:song-u-col-span-8 { grid-column: span 8 / span 8; }
  .song-checkout-shell .lg\:song-u-gap-8 { gap: 2rem; }
}

@media (max-width: 767px) {
  .song-checkout-shell,
  .song-checkout-overlay {
    --checkout-control-height: 44px;
    --vf-control-padding: 0.72rem 0.85rem;
  }

  .song-checkout-shell {
    background: var(--song-paper);
    padding-block: 0;
  }

  .song-checkout-shell .song-checkout-page {
    padding: 0.75rem var(--song-container-x) 1.5rem;
  }

  .song-checkout-shell .song-checkout-header {
    margin-bottom: 0.75rem;
  }

  .song-checkout-shell .song-checkout-header .song-eyebrow,
  .song-checkout-shell .song-checkout-header p {
    display: none;
  }

  .song-checkout-shell .song-checkout-header h1 {
    font-size: 1.35rem;
    line-height: 1.16;
  }

  .song-checkout-shell .song-checkout-form.is-billing-visible #checkout-request-aside {
    display: none;
  }

  .song-checkout-shell .song-checkout-request-card,
  .song-checkout-shell .song-checkout-billing-card {
    padding: 0;
    border: 0;
    background: transparent;
  }

  .song-checkout-shell .song-checkout-request-stack {
    width: calc(100% + (var(--song-container-x) * 2));
    margin-right: calc(var(--song-container-x) * -1);
    margin-left: calc(var(--song-container-x) * -1);
    background: var(--song-white);
  }

  .song-checkout-shell .song-checkout-destination,
  .song-checkout-shell .song-checkout-request-body,
  .song-checkout-shell .song-checkout-summary-block,
  .song-checkout-shell .song-checkout-request-continue-row {
    padding-right: var(--song-container-x);
    padding-left: var(--song-container-x);
  }

  .song-checkout-shell .song-checkout-panel-heading {
    padding-top: 1.25rem;
    border-top: 1px solid rgba(26, 44, 66, 0.12);
    margin-bottom: 1.25rem;
  }

  .song-checkout-shell .song-checkout-panel-heading h2 {
    font-size: 2rem;
  }

  .song-checkout-shell #checkout-billing-fields > .space-y-6 {
    display: grid;
    gap: 1.25rem;
  }

  .song-checkout-shell #checkout-billing-fields .space-y-6 > :where(section, div) {
    margin-top: 0;
  }

  .song-checkout-shell .song-checkout-form-section .grid {
    gap: 0.75rem;
  }

  .song-checkout-shell .song-checkout-submit-row {
    padding-top: 1rem;
  }

  .song-checkout-shell #checkout-submit-btn {
    min-height: 48px;
    justify-content: center;
    letter-spacing: 0.08em;
  }

  .song-checkout-shell .song-checkout-error.is-mobile-floating-error {
    position: fixed;
    top: calc(env(safe-area-inset-top, 0px) + 0.75rem);
    left: 1rem;
    right: 1rem;
    z-index: 10000;
    box-shadow: 0 18px 40px rgba(15, 23, 42, 0.22);
  }
}
