.install-opening-offer {
  display: flex;
  align-items: center;
  gap: 16px;
  width: min(1180px, calc(100% - 32px));
  box-sizing: border-box;
  margin: 18px auto;
  padding: 18px 22px;
  border: 1px solid #e7d9ec;
  border-radius: 20px;
  background: #fffaf0;
  color: #291332;
  box-shadow: 0 6px 24px #29133208;
}
.install-opening-offer > img { flex: 0 0 52px; border-radius: 12px; }
.install-offer-copy { min-width: 0; flex: 1; text-align: left; }
.install-offer-copy strong { display: block; font-size: 18px; line-height: 1.3; }
.install-offer-copy p { margin: 5px 0 0; color: #6c5e70; font: inherit; font-size: 14px; line-height: 1.45; }
.install-offer-actions { display: flex; gap: 8px; flex-shrink: 0; }
.install-offer-actions button {
  min-height: 44px;
  border: 1px solid #e1d3e8;
  border-radius: 12px;
  padding: 11px 16px;
  background: white;
  color: #532767;
  font: inherit;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.3;
  cursor: pointer;
}
.install-offer-actions button:first-child { background: #532767; color: white; border-color: #532767; }
.install-offer-actions button:focus-visible { outline: 3px solid #e9af2f; outline-offset: 3px; }
.is-installed .install-opening-offer { display: none; }
.gate-install-offer { width: min(600px, 100%); margin: 24px auto; padding: 14px; }
.gate-install-offer .install-offer-copy p { font-size: 13px; }
.location-onboarding {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr) auto;
  align-items: center;
  gap: 14px;
  width: min(1180px, calc(100% - 32px));
  box-sizing: border-box;
  margin: 18px auto;
  padding: 18px 22px;
  border-radius: 20px;
  border: 1px solid #e7d9ec;
  background: #f6f0f8;
  color: #291332;
}
.location-onboarding .location-onboarding-status { margin-top: 8px; font-weight: 650; color: #532767; }
.location-onboarding > button { min-height: 44px; max-width: 100%; }
.location-onboarding > button:disabled { opacity: .6; cursor: default; }
.location-onboarding > .location-permission-help { grid-column: 1 / -1; min-width: 0; }
@media (max-width: 600px) {
  .install-opening-offer { display: grid; grid-template-columns: 44px minmax(0, 1fr); gap: 12px; padding: 16px; }
  .install-opening-offer > img { width: 44px; height: 44px; }
  .install-offer-copy strong { font-size: 16px; }
  .install-offer-actions { grid-column: 1 / -1; display: grid; grid-template-columns: 1fr 1fr; }
  .install-offer-actions button { width: 100%; }
  .location-onboarding { grid-template-columns: 32px minmax(0, 1fr); padding: 16px; gap: 12px; }
  .location-onboarding > button { grid-column: 1 / -1; width: 100%; }
}
