.text-shadow {
  text-shadow: 0px 2px 0px rgba(0, 0, 0, 0.7);
}

.webshop-page {
  padding-top: 144px;
  gap: 0;
}

.webshop-page > footer {
  margin-top: 48px;
}

.webshop-banner {
  display: flex;
  justify-content: center;
  padding: 16px 24px 24px;
}

.webshop-banner-login {
  width: 100%;
  max-width: 650px;
  border-radius: 16px;
}

.webshop-banner-login:focus-visible {
  outline: 3px solid #b9afe5;
  outline-offset: 4px;
}

.webshop-banner-image {
  display: block;
  width: 100%;
  max-width: 650px;
  height: auto;
  object-fit: contain;
}

.claimed-offer-overlay {
  position: absolute;
  inset: 0;
  z-index: 40;
  background: rgba(0, 0, 0, 0.55);
  display: flex;
  align-items: flex-end;
  justify-content: center;
  padding: 24px 8px;
}

.claimed-offer-label {
  display: flex;
  align-items: center;
  gap: 8px;
  color: white;
  font-size: 22px;
  font-weight: 600;
}

.claimed-offer-label img {
  width: 28px;
  height: 28px;
}

.offer-card-claimed .payment-button,
.offer-card-claimed button[data-offer-id] {
  visibility: hidden;
}

@media (max-width: 639px) {
  .webshop-page {
    padding-top: 136px;
  }

  .webshop-banner {
    padding: 8px 16px 16px;
  }
}

.footer-text {
  text-shadow: 0px 0px 5px rgba(0, 0, 0, 0.5);
  font-weight: 600;
  paint-order: stroke fill;
  color: rgba(255, 255, 255, 0.95);
  -webkit-text-stroke: 0.75px black;
  font-size: 15px;
}

.noto-kufi-arabic {
  font-family: "Noto Kufi Arabic", sans-serif;
  font-optical-sizing: auto;
  font-weight: auto;
  font-style: normal;
}

[data-payment-modal] { container-type: inline-size; }
#payment-container-payment-methods {
  display: grid !important; overflow: visible !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .5rem !important;
  margin-left: 0 !important; margin-right: 0 !important;
}
@container (min-width: 640px) { #payment-container-payment-methods { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
#payment-container-payment-methods > :not(.payment-method-btn) { grid-column: 1 / -1; }
#payment-container-payment-methods .payment-method-btn { width: 100% !important; white-space: normal !important; }
#payment-container-payment-methods .payment-method-btn h1 { text-align: center; }
[data-payment-modal] { transition: width .3s ease-out; }
@media (min-width: 960px) {
  [data-payment-modal].payment-method-selected { width: 900px; max-width: calc(100vw - 2rem); }
  .payment-method-selected #select-payment-methods-section {
    display: grid !important; grid-template-columns: minmax(200px, 2fr) minmax(0, 3fr);
    column-gap: 1.5rem; align-items: start;
  }
  .payment-method-selected #select-payment-methods-section > :first-child { grid-column: 1 / -1; }
  .payment-method-selected #payment-container-payment-methods {
    grid-column: 1; grid-row: 2; grid-template-columns: minmax(0, 1fr);
    animation: payment-methods-to-side .35s ease-out;
  }
  .payment-method-selected #payment-container-payment-methods .payment-method-btn {
    flex-direction: row !important; justify-content: flex-start !important; gap: .75rem;
    height: 56px !important; padding: .5rem 1rem !important;
  }
  .payment-method-selected #payment-container-payment-methods .payment-method-btn img { margin-bottom: 0 !important; height: 1.75rem !important; }
  .payment-method-selected #payment-container-payment-methods .payment-method-btn h1 { text-align: start; }
  .payment-method-selected [id^="payment-with-"].translate-y-4 { transform: translateX(24px) !important; }
  @keyframes payment-methods-to-side { from { opacity: .3; transform: translateX(24px); } to { opacity: 1; transform: none; } }
  .payment-method-selected #select-payment-methods-section > .relative { grid-column: 2; grid-row: 2; }
  .payment-method-selected [id^="payment-with-"] { margin-top: .5rem; }
  .payment-method-selected #payment-with-card > :first-child { display: none; }
  .payment-method-selected [id^="payment-with-"]:not(.opacity-0) { position: static; }
}
