/* PHP-only integration: the original landing styles remain unchanged. */
.landing-site { isolation: isolate; }
.landing-background { position: fixed; inset: 0; z-index: -1; width: 100%; height: 100%; object-fit: cover; opacity: .2; pointer-events: none; }
/* The configured image is the continuous page backdrop, not a section fill.
   Keep card surfaces intact and preserve the original design without an image. */
.landing-site--background .landing > :is(.hero, .benefits, .methods, .pricing, .faq, .ready) {
  background: none;
}
.landing-site--background .ready-wash { display: none; }

.captcha-image-row { display: flex; align-items: center; justify-content: center; gap: 12px; }
.captcha-image { display: block; width: 180px; height: 50px; max-width: calc(100% - 56px); object-fit: contain; border-radius: 10px; background: #181a24; }
.captcha-refresh { display: grid; place-items: center; flex: 0 0 44px; width: 44px; height: 44px; padding: 0; border: 1px solid #ffffff24; border-radius: 12px; color: #b7b8c2; background: #ffffff08; cursor: pointer; transition: background-color 160ms ease, color 160ms ease; }
.captcha-refresh:hover { color: #fff; background: #ffffff10; }
.captcha-refresh:disabled { opacity: .5; cursor: wait; }
.captcha-refresh[hidden] { display: none; }
.captcha-status:empty { display: none; }
.captcha-status { color: #b7b8c2; font-size: 13px; line-height: 1.5; }
.captcha-status[data-tone="error"] { color: #ff8590; }
.captcha-field { grid-template-columns: minmax(0, 1fr); gap: 8px; }
.captcha-field > label, .captcha-field > input, .captcha-field > .field-error,
.captcha-field > .captcha-image-row, .captcha-field > .captcha-status { grid-area: auto; min-width: 0; }
.captcha-field > input, .captcha-field .field-hint,
.captcha-field .field-error { text-align: center; }
.captcha-field .captcha-status:empty { display: none; }
.captcha-image-row { min-height: 50px; }
@media (width < 380px) { .captcha-image { width: min(180px, calc(100vw - 112px)); } }
.auth-form[aria-busy="true"] .auth-submit { cursor: wait; }
.auth-status[data-tone="warning"] { color: #ffd49a; }
.auth-flash { margin-top: 16px; }
.catalog-empty { color: #b7b8c2; font-size: 14px; line-height: 1.5; }
.method-free { margin-left: 6px; font-size: 11px; color: #b7b8c2; }
.plan-price { text-decoration: none; overflow-wrap: anywhere; text-align: center; }
.hero-media--youtube iframe { display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; border: 0; }
@media (prefers-reduced-motion: reduce) { .captcha-refresh { transition: none; } }

.target-grid--solo, .target-grid--network-only { grid-template-columns: minmax(0, 1fr); }
.target-grid--solo .target-stack { grid-template-columns: repeat(auto-fit, minmax(min(100%, 360px), 1fr)); }
.catalog-empty { margin-top: 32px; padding: 20px 24px; border: 1px solid #ffffff1c; border-radius: 16px; background: #ffffff06; }

.protocol-rail--count-1 { grid-template-columns: minmax(0, 1fr); }
.protocol-rail--count-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
@container (width < 460px) { .protocol-rail--count-2 { grid-template-columns: minmax(0, 1fr); } }
