/*
 * Shared Authentico presentation layer.
 *
 * This is the site's one maintained theme: clear hierarchy, calm surfaces,
 * and legible decision points without separate visual variants.
 */

body.website {
  --surface: #ffffff;
  --surface-muted: #f6f8fc;
  --surface-soft: #eef3fb;
  --stroke: rgba(21, 36, 70, 0.14);
  --shadow-lg: 0 22px 46px rgba(15, 35, 72, 0.1);
  --text: #132033;
  --text-soft: #536174;
  --accent: #1746d1;
  --accent-soft: rgba(23, 70, 209, 0.1);
  --radius-lg: 16px;
  --font-sans: "Inter", "Segoe UI", system-ui, -apple-system, sans-serif;
  --theme-content-width: 1100px;
  --theme-reading-measure: 68ch;
  --theme-focus-ring: 0 0 0 3px rgba(23, 70, 209, 0.24);
  --theme-action: #1746d1;
  --theme-action-hover: #1038b5;
  --theme-trust: #245945;
  --theme-card-border: rgba(21, 36, 70, 0.15);
  --theme-card-shadow: 0 16px 34px rgba(15, 35, 72, 0.08);
}

body.website :where(a, button, input, select, textarea, summary):focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 3px;
  box-shadow: var(--theme-focus-ring);
}

body.website :where(.product-entry, .product-card, .sumup-checkout, .business-widget, .booking-widget) {
  scroll-margin-top: 7rem;
}

body.website .site-header {
  border-bottom-color: var(--theme-card-border);
  box-shadow: 0 8px 24px rgba(15, 35, 72, 0.035);
}

body.website .site-header .inner,
body.website .site-footer .inner {
  width: min(1140px, 100% - 2.5rem);
}

body.website :is(.content, .life-dev-layout, .life-dev-page-content) :is(p, li) {
  max-width: var(--theme-reading-measure);
}

body.website :is(
  .product-entry,
  .product-card,
  .sumup-checkout:not(.sumup-checkout--bridge),
  .business-widget,
  .booking-widget,
  .bridge-access,
  .bridge-proceed,
  .access-pass-box
) {
  border-color: var(--theme-card-border);
  border-radius: var(--radius-lg);
  box-shadow: var(--theme-card-shadow);
}

body.website :is(.product-entry, .product-card, .business-widget, .booking-widget, .access-pass-box) {
  background: rgba(255, 255, 255, 0.92);
}

body.website :is(.product-entry, .product-card, .business-widget, .booking-widget) :is(h2, h3, h4) {
  color: #102f68;
}

body.website :is(.product-entry, .product-card, .business-widget, .booking-widget) :is(p, li) {
  color: var(--text-soft);
}

body.website :is(
  .button,
  .booking-widget__button,
  .sumup-checkout__button,
  .business-widget__actions button,
  .subscribe-form button,
  .cta-field
) {
  border-radius: 10px;
  box-shadow: 0 5px 12px rgba(23, 70, 209, 0.14);
  font-weight: 700;
  letter-spacing: 0.005em;
}

body.website :is(
  .button,
  .booking-widget__button,
  .sumup-checkout__button:not(.sumup-checkout__button--secondary),
  .business-widget__actions button:not(.business-widget__ghost),
  .subscribe-form button,
  .cta-field
) {
  background: var(--theme-action);
  border-color: var(--theme-action);
  color: #ffffff;
}

body.website :is(
  .button,
  .booking-widget__button,
  .sumup-checkout__button:not(.sumup-checkout__button--secondary),
  .business-widget__actions button:not(.business-widget__ghost),
  .subscribe-form button,
  .cta-field
):hover {
  background: var(--theme-action-hover);
  border-color: var(--theme-action-hover);
  color: #ffffff;
  text-decoration: none;
  transform: translateY(-1px);
}

body.website .sumup-checkout__summary,
body.website .sumup-checkout__terms,
body.website .sumup-checkout__summary-refunds,
body.website .business-widget__note {
  border-color: rgba(36, 89, 69, 0.25);
}

body.website .sumup-checkout__summary-refunds strong,
body.website .business-widget__note {
  color: var(--theme-trust);
}

body.website .site-footer {
  border-top-color: var(--theme-card-border);
}

@media (prefers-reduced-motion: reduce) {
  body.website *,
  body.website *::before,
  body.website *::after {
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
  }
}

@media (max-width: 760px) {
  body.website .site-header .inner,
  body.website .site-footer .inner {
    width: min(100% - 1.5rem, 1140px);
  }

  body.website :is(.product-entry, .sumup-checkout, .business-widget, .booking-widget) {
    border-radius: 14px;
  }
}
