/* V229: cleaner package checkout rhythm for £149 and £249 pages. */
.v229-checkout-section {
  padding: clamp(28px, 3.25vw, 46px) 0 clamp(30px, 3.5vw, 50px);
  border-top: 1px solid #dce9f7;
  background: #fff;
}

.v229-checkout-panel {
  display: grid;
  grid-template-columns: minmax(250px, .72fr) minmax(0, 1.28fr);
  gap: clamp(24px, 3vw, 50px);
  align-items: center;
  padding: clamp(20px, 2.25vw, 32px);
  border: 1px solid #c9ddf3;
  border-radius: 20px;
  box-shadow: 0 14px 32px rgba(13, 69, 133, .08);
}
.v229-checkout-panel--one { background: linear-gradient(135deg, #f6fbff 0%, #ebf5ff 100%); }
.v229-checkout-panel--google { background: linear-gradient(135deg, #f4faff 0%, #edf6ff 100%); }
.v229-checkout-panel__qr { display: flex; justify-content: center; }
.v229-checkout-panel .package-qr-panel { margin: 0; }
.v229-checkout-panel .paypal-payment-options { margin: 0; }
.v229-checkout-panel__fee {
  max-width: 68ch;
  margin: 14px 0 0;
  color: #365b85;
}

.v109-page .v229-package-highlights { border-top: 0; }
.v109-page .v229-package-highlights .v109-strip__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.pkg115--google .v229-checkout-features {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  margin-top: 18px;
}
.pkg115--google .v229-checkout-features .pkg115-chip { min-height: 100%; align-items: center; padding: 15px 16px; }

@media (min-width: 981px) {
  .v109-page .v109-hero { padding-bottom: clamp(42px, 4vw, 64px); }
  .v109-page .v109-hero__grid { align-items: center; }
  .v109-page .v109-hero__visual { transform: scale(.94); transform-origin: center; }
  .pkg115--google .pkg115-hero { padding-bottom: clamp(42px, 4vw, 64px); }
  .pkg115--google .pkg115-hero__grid { align-items: center; }
  .pkg115--google .pkg115-visual { min-height: clamp(470px, 33vw, 540px); transform: scale(.93); transform-origin: center; }
}

@media (max-width: 980px) {
  .v229-checkout-panel { grid-template-columns: 1fr; }
  .v109-page .v229-package-highlights .v109-strip__grid,
  .pkg115--google .v229-checkout-features { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 900px) {
  .v229-checkout-panel__qr { display: none; }
}

@media (max-width: 640px) {
  .v229-checkout-section { padding: 24px 0 32px; }
  .v229-checkout-panel { padding: 18px; border-radius: 16px; }
  .v109-page .v229-package-highlights .v109-strip__grid,
  .pkg115--google .v229-checkout-features { grid-template-columns: 1fr; gap: 10px; }
}
