/* Shared language control and payment-method presentation; capabilities come from the adopter. */
[data-language-select] {
  appearance: none;
  -webkit-appearance: none;
  box-sizing: border-box;
  min-height: 44px;
  padding: 9px 34px 9px 15px;
  border: 1px solid var(--line-strong, #d6d1c7);
  border-radius: var(--radius-sm, 8px);
  background-color: transparent;
  background-image: linear-gradient(45deg, transparent 50%, currentColor 50%), linear-gradient(135deg, currentColor 50%, transparent 50%);
  background-position: right 16px center, right 12px center;
  background-size: 4px 4px;
  background-repeat: no-repeat;
  color: var(--ink, inherit);
  font: 560 14px/1.65 var(--sans, system-ui, sans-serif);
  letter-spacing: -.01em;
  cursor: pointer;
  flex-shrink: 0;
  transition: background-color .15s ease, border-color .15s ease;
}
[data-language-select]:hover { border-color: var(--coral, #ea4b71); background-color: var(--coral-wash, #fdeef2); }
[data-language-select]:focus-visible { outline: 2px solid var(--coral, #ea4b71); outline-offset: 3px; }
[data-language-select] option { background: #fff; color: #101330; }
.site-footer [data-language-select] { color: #fff; border-color: rgba(255,255,255,.3); }
.site-footer [data-language-select]:hover { background-color: rgba(255,255,255,.1); border-color: rgba(255,255,255,.6); }
.payment-method-badges { display: flex; flex-wrap: wrap; gap: 10px; }
.payment-method-badges span { padding: 8px 14px; border: 1px solid #d5d7df; border-radius: 6px; font-weight: 700; background: #fff; color: #17182d; }
.card-network-logos { display: flex; flex-wrap: wrap; gap: 10px; margin-block: 12px; }
.card-network-logos figure { margin: 0; text-align: center; }
.card-network-logos img { display: block; width: 64px; height: 40px; object-fit: contain; }
.card-network-logos figcaption { font-size: 11px; line-height: 1.5; color: inherit; }
.card-network-note { font-size: 13px; line-height: 1.6; }
.website-business-details { margin-block: 16px; font-size: 13px; line-height: 1.7; overflow-wrap: anywhere; }
.website-business-name { font-weight: 600; }
.website-business-address { margin-block-start: 4px; font: inherit; }
.website-business-email, .website-business-phone { display: block; width: fit-content; margin-block-start: 6px; }
.website-footer { border-top: 1px solid var(--line-strong, #d6d1c7); }
.website-footer .website-footer-grid { display: grid; grid-template-columns: 1.1fr 1fr 1.5fr; gap: 40px; }
.website-footer .brand { display: inline-flex; align-items: center; gap: 8px; }
.website-footer .website-footer-description { margin: 20px 0 16px; max-width: 34ch; font-size: 14px; line-height: 1.7; }
.website-footer .website-footer-grid h2, .website-footer .website-footer-payments h2 { margin: 0 0 18px; font-weight: 600; font-family: inherit; font-size: 13px; line-height: 1.6; letter-spacing: .03em; }
.website-footer .website-footer-policies > div { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 24px; }
.website-footer a { overflow-wrap: anywhere; }
.website-footer .website-footer-navigation { display: flex; flex-wrap: wrap; gap: 10px 16px; margin-top: 20px; }
.website-footer .website-footer-navigation a, .website-footer .website-footer-policies a { font-size: 13px; line-height: 1.6; }
.website-footer a:hover { text-decoration: underline; text-underline-offset: 3px; }
.website-footer a:focus-visible, .website-footer button:focus-visible { outline: 2px solid currentColor; outline-offset: 4px; }
.website-footer .website-footer-billing { display: grid; grid-template-columns: 1fr 2fr; gap: 40px; border-top: 1px solid var(--line-strong, #d6d1c7); margin-top: 32px; padding-top: 24px; }
.website-footer .website-footer-statement, .website-footer .card-network-note { font-size: 13px; line-height: 1.7; }
.website-footer .website-footer-statement strong { display: block; color: inherit; overflow-wrap: anywhere; }
.website-footer .website-footer-bottom { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px; border-top: 1px solid var(--line-strong, #d6d1c7); margin-top: 28px; padding-top: 20px; font-size: 12px; }
@media (max-width: 760px) {
  .website-footer .website-footer-grid, .website-footer .website-footer-billing { grid-template-columns: 1fr; gap: 28px; }
}
@media (max-width: 360px) {
  .website-footer .website-footer-policies > div { grid-template-columns: 1fr; }
}
