/* ESAGAMES Partners public pages. Flat: theme tokens only, no literal colours, no shadows or glow;
   hover changes a border colour and nothing else. Builds on the theme's esa-landing.css. */
.page-partners-hub, .page-partners-view, .page-partners-gone { background: var(--esa26c-bg) !important; }
/* The theme's light-mode body rule outranks the line above; without this, white cards sit on a white page. */
:root[data-theme="light"] body.page-partners-hub, :root[data-theme="light"] body.page-partners-view, :root[data-theme="light"] body.page-partners-gone { background: var(--esa26c-bg) !important; }
.page-partners-hub #main-body, .page-partners-view #main-body, .page-partners-gone #main-body { background: transparent !important; padding: 0 !important; }

.esa-partners-public .sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.esa-p-hero h1 { overflow-wrap: anywhere; }

.esa-p-filters { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 12px; margin: 0 0 24px; }
.esa-p-field { display: flex; flex-direction: column; gap: 4px; min-width: 0; flex: 1 1 100%; }
@media (min-width: 560px) { .esa-p-field { flex: 0 1 220px; } }
.esa-p-field-grow { flex: 1 1 220px; }
.esa-p-field label { font-size: 13px; font-weight: 600; color: var(--esa26c-ink-mute); }
.esa-p-field input::placeholder { color: var(--esa26c-ink-dim); opacity: 1; }
.esa-p-filters .gl-btn { min-height: 44px; padding-block: 10px; }
.esa-p-field select, .esa-p-field input {
  width: 100%; min-height: 44px; padding: 8px 12px; border-radius: 8px;
  border: 1px solid var(--esa26c-field-line); background: var(--esa26c-field); color: var(--esa26c-ink); font: inherit;
}
.esagl .esa-p-reset, .esagl .esa-p-links a { display: inline-flex; align-items: center; min-height: 44px; color: var(--brand-text); overflow-wrap: anywhere; }
.esagl .esa-p-reset { align-self: flex-end; }

.esa-p-grid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: 1fr; gap: 16px; }
@media (min-width: 560px) { .esa-p-grid { grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 20px; } }
.esa-p-card {
  height: 100%; display: flex; flex-direction: column; gap: 12px; padding: 24px;
  border: 1px solid var(--esa26c-line-2); border-radius: var(--radius, 16px); background: var(--esa26c-surface); color: var(--esa26c-ink);
}
.esa-p-card:hover, .esa-p-card:focus-within { border-color: var(--esa26c-line-brand-hover, var(--brand)); }
.esa-p-card-head { display: flex; align-items: center; gap: 12px; min-width: 0; }
/* A flex child only lets a long word wrap when it may shrink. */
.esa-p-card-head > div { min-width: 0; }
.esa-p-card h3 { margin: 0; font-size: 18px; overflow-wrap: anywhere; }
.esa-p-card { position: relative; }
.esa-p-card h3 a { color: inherit; text-decoration: none; }
/* The whole card is the target for its page; the website link stays clickable above it. */
.esa-p-card h3 a::after { content: ""; position: absolute; inset: 0; }
.esagl .esa-p-links a { position: relative; z-index: 1; }
.esa-p-card h3 a:hover, .esa-p-card h3 a:focus { text-decoration: underline; }
.esagl .esa-p-meta { margin: 2px 0 0; font-size: 13px; line-height: 1.4; color: var(--esa26c-ink-dim); }
.esa-p-logo { width: 56px; height: 56px; flex: 0 0 auto; border-radius: 10px; object-fit: contain; background: var(--esa26c-surface-2); }
.esa-p-logo-large { width: 96px; height: 96px; }
.esa-p-logo-empty { display: inline-flex; align-items: center; justify-content: center; font-weight: 800; font-size: 22px; color: var(--brand-text); }
.esagl .esa-p-excerpt { margin: 0; color: var(--esa26c-ink-mute); overflow-wrap: anywhere; }
.esagl .esa-p-deal { margin: auto 0 0; }
.esagl .esa-p-deal strong { color: var(--brand-text); }
.esa-partners-public code { padding: 1px 6px; border-radius: 4px; border: 1px solid var(--esa26c-line-2); background: var(--esa26c-surface-2); color: var(--esa26c-ink); overflow-wrap: anywhere; }
.esagl .esa-p-links { display: flex; flex-wrap: wrap; gap: 0 16px; margin: 0; font-size: 14px; }
.esagl .esa-p-empty { padding: 24px; border: 1px dashed var(--esa26c-line-2); border-radius: 12px; color: var(--esa26c-ink-mute); }

.esagl .esa-p-conditions { display: grid; gap: 20px; max-width: 760px; margin: 0 auto; }
#esa-p-conditions { scroll-margin-top: 96px; }
.esa-p-tiers { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
@media (max-width: 399px) { .esa-p-tiers { grid-template-columns: 1fr; } }
.esa-p-tier { padding: 16px 8px; border: 1px solid var(--esa26c-line-2); border-radius: 12px; background: var(--esa26c-surface); text-align: center; }
.esa-p-tier strong { display: block; font-size: clamp(20px, 5vw, 28px); white-space: nowrap; color: var(--brand-text); }
.esa-p-tier span { color: var(--esa26c-ink-mute); }
.esagl ul.esa-p-rules { margin: 0; padding-left: 20px; color: var(--esa26c-ink-mute); display: grid; gap: 8px; list-style: disc outside; font-size: 16px; }
.esagl ul.esa-p-rules li { display: list-item; list-style: inherit; }

.esa-p-banner { display: block; max-width: 100%; height: auto; margin: 0 0 12px; }
.esa-p-snippet { overflow-x: auto; padding: 16px; border-radius: 8px; border: 1px solid var(--esa26c-line-2); background: var(--esa26c-surface); color: var(--esa26c-ink); font-size: 13px; }
.esa-p-snippet code { border: 0; padding: 0; background: none; }
.esa-p-snippet-alt { color: var(--esa26c-ink-mute); overflow-wrap: anywhere; }

.esagl .esa-p-columns { display: grid; grid-template-columns: minmax(0, 1fr); gap: 16px; margin-top: 74px; }
@media (max-width: 599px) { .esagl .esa-p-columns { margin-top: 52px; } }
.esagl .esa-p-columns .esa-p-panel { margin-top: 0; }
@media (min-width: 900px) { .esagl .esa-p-columns { grid-template-columns: minmax(0, 3fr) minmax(0, 2fr); align-items: start; } }
.esagl .esa-p-panel h2, .esagl .esa-p-panel p { overflow-wrap: anywhere; }
.esa-p-hero .gl-btn { max-width: 100%; white-space: normal; overflow-wrap: anywhere; }
@media (max-width: 479px) { .esa-p-hero-partner .esa-p-card-head { flex-direction: column; align-items: flex-start; } }
.esagl .esa-p-panel { padding: 20px; border: 1px solid var(--esa26c-line-2); border-radius: 12px; background: var(--esa26c-surface); color: var(--esa26c-ink); }
.esagl .esa-p-panel h2 { margin: 0 0 12px; font-size: clamp(22px, 4vw, 28px); line-height: 1.25; }
.esagl .esa-p-panel h3 { margin: 24px 0 8px; font-size: 18px; line-height: 1.3; }
.esagl .esa-p-panel p { font-size: 16px; }
.esagl .esa-p-description { overflow-wrap: anywhere; color: var(--esa26c-ink-mute); }
.esagl .esa-p-panel.esa-p-deal-panel { border-color: var(--esa26c-line-brand, var(--brand)); }
.esagl .esa-p-panel p.esa-p-deal-big { margin: 0; font-size: 40px; font-weight: 800; line-height: 1.1; color: var(--brand-text); }
.esagl .esa-p-code-row { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 16px 0 24px; }
.esa-p-code-row code { font-size: clamp(16px, 5vw, 20px); font-weight: 700; user-select: all; }
.esa-p-copied { color: var(--esa26c-ink-mute); font-size: 14px; }
.esagl .esa-p-hosting { margin: 16px 0 0; }
.esagl .esa-p-hosting a { display: inline-flex; align-items: center; min-height: 44px; color: var(--brand-text); }
