/*
 * Shared light Blue2Pink theme, enabled explicitly by a template's body class.
 * The homepage, category portals and processing laboratory use these tokens;
 * unmarked pages keep their appearance. Upload behavior is unchanged.
 */
body.b2p-light-theme {
  --bg-color: #f1f4ff;
  --surface-color: #ffffff;
  --border-color: #d9e1f5;
  --text-main: #14254a;
  --text-muted: #52627f;
  --text-light: #71809c;
  --primary: #2453d4;
  --primary-hover: #183fae;
  --primary-light: #e5edff;
  --secondary: #d7358b;
  --success: #16734e;
  --shadow-sm: 0 2px 7px rgba(35, 57, 112, .06);
  --shadow-md: 0 8px 24px rgba(35, 57, 112, .08);
  --shadow-lg: 0 18px 46px rgba(35, 57, 112, .11);
  background-color: #f1f4ff !important;
  color: #14254a !important;
}

body.b2p-light-theme::before {
  background-image: radial-gradient(rgba(80, 108, 178, .13) 1px, transparent 1px);
  opacity: .34;
}

body.b2p-light-theme .page-shell,
body.b2p-light-theme .folder-site {
  color: #14254a;
}

/* Shared site chrome */
body.b2p-light-theme .top-navbar {
  background-color: rgba(248, 250, 255, .94) !important;
  border-bottom-color: #dce4f7;
  box-shadow: 0 5px 20px rgba(38, 61, 118, .045);
}
body.b2p-light-theme .navbar-brand,
body.b2p-light-theme .navbar-guide-link,
body.b2p-light-theme .navbar-live-balance,
body.b2p-light-theme .lang-btn,
body.b2p-light-theme .profile-trigger {
  color: #14254a;
}
body.b2p-light-theme .navbar-token-button {
  color: #fff;
  background: linear-gradient(105deg, #2453d4, #c83183);
  border-color: rgba(202, 49, 132, .22);
  box-shadow: 0 5px 14px rgba(83, 68, 163, .15);
}
body.b2p-light-theme .navbar-token-button:hover {
  box-shadow: 0 7px 18px rgba(83, 68, 163, .2);
}
body.b2p-light-theme .site-footer {
  border-top: 1px solid #d9e1f5;
  color: #52627f;
  background: rgba(230, 236, 252, .7);
}
body.b2p-light-theme .site-footer a,
body.b2p-light-theme .footer-brand {
  color: #14254a;
}

/* Homepage and category surfaces */
body.b2p-light-theme .folder-home-hero,
body.b2p-light-theme .folder-page-heading,
body.b2p-light-theme .folder-portal-section,
body.b2p-light-theme .folder-info-card,
body.b2p-light-theme .folder-pricing,
body.b2p-light-theme .folder-invite,
body.b2p-light-theme .folder-unavailable {
  color: #14254a;
  border-color: #d8e1f5;
  background-color: #fff;
  box-shadow: 0 12px 36px rgba(39, 61, 117, .075);
}
body.b2p-light-theme .folder-home-hero {
  background:
    radial-gradient(ellipse at 92% 0%, rgba(83, 126, 238, .16), transparent 42%),
    linear-gradient(135deg, #fff 0%, #f8f9ff 100%);
}
body.b2p-light-theme .folder-eyebrow,
body.b2p-light-theme .folder-back-link,
body.b2p-light-theme .folder-guide-link,
body.b2p-light-theme .folder-card-icon {
  color: #2453d4;
}
body.b2p-light-theme .folder-home-hero h1,
body.b2p-light-theme .folder-page-heading h1,
body.b2p-light-theme .folder-section-heading h2,
body.b2p-light-theme .folder-info-card h2,
body.b2p-light-theme .folder-info-card h3,
body.b2p-light-theme .folder-invite h2,
body.b2p-light-theme .folder-unavailable h2,
body.b2p-light-theme .folder-portal-heading h2 {
  color: #14254a;
}
/* Advertisement hierarchy: dark headline, blue emphasis, grey body copy. */
body.b2p-light-theme .folder-home-hero h1 {
  color: #101528;
}
body.b2p-light-theme .folder-home-hero .folder-title-accent {
  display: block;
  color: #2453d4;
}
body.b2p-light-theme .folder-page-heading h1,
body.b2p-light-theme .folder-section-heading h2,
body.b2p-light-theme .folder-info-card h2 {
  color: #2453d4;
}
body.b2p-light-theme .folder-home-hero > p:not(.folder-eyebrow),
body.b2p-light-theme .folder-section-heading p,
body.b2p-light-theme .folder-info-card > p,
body.b2p-light-theme .folder-invite p,
body.b2p-light-theme .folder-unavailable p,
body.b2p-light-theme .folder-pricing-foot,
body.b2p-light-theme .folder-payment-signin p {
  color: #52627f;
}
body.b2p-light-theme .folder-offer {
  border-color: #cad8ff;
  background: linear-gradient(105deg, #e8efff, #f9eaf4);
}
body.b2p-light-theme .home-photo-trial {
  align-items: center;
  gap: 18px;
  border-color: #b9cafa;
  background: linear-gradient(110deg, #e7efff 0%, #f5f2ff 62%, #faedf5 100%);
}
body.b2p-light-theme .home-photo-trial > div {
  min-width: 0;
}
body.b2p-light-theme .home-photo-trial strong {
  color: #173d9e;
  font-size: 1.08rem;
}
body.b2p-light-theme .home-photo-trial p,
body.b2p-light-theme .photo-trial-terms {
  color: #465a7d;
  line-height: 1.5;
}
body.b2p-light-theme .home-photo-trial p {
  margin: 5px 0 0;
}
body.b2p-light-theme .photo-trial-terms {
  margin: -8px 0 20px;
  padding: 11px 14px;
  border-left: 3px solid #d7358b;
  border-radius: 0 8px 8px 0;
  background: #f8f1f7;
  font-size: .94rem;
}
body.b2p-light-theme .folder-card {
  color: #14254a;
  border-color: #d9e1f5;
  background: #fff;
  box-shadow: 0 6px 18px rgba(39, 61, 117, .055);
}
body.b2p-light-theme .folder-card:hover,
body.b2p-light-theme .folder-card:focus-visible {
  border-color: #aebff0;
  background: #f5f7ff;
}
body.b2p-light-theme .folder-card > span:not(.folder-card-icon):not(.folder-card-arrow),
body.b2p-light-theme .folder-card-arrow {
  color: #52627f;
}
body.b2p-light-theme .folder-nav a {
  border-color: #d5def2;
  color: #52627f;
  background: #fff;
}
body.b2p-light-theme .folder-nav a.is-current,
body.b2p-light-theme .folder-nav a:hover {
  border-color: #a9bdf2;
  background: #e8eeff;
  color: #173d9e;
}
body.b2p-light-theme .folder-auth-gate,
body.b2p-light-theme .folder-payment-signin {
  border-color: #d9e1f5;
  background: #f7f9ff;
}
body.b2p-light-theme .folder-price-card,
body.b2p-light-theme .paypal-package {
  color: #14254a;
  border-color: #d9e1f5;
  background: #fff;
}
body.b2p-light-theme .folder-price-card > span,
body.b2p-light-theme .folder-upload-price {
  color: #52627f;
}
body.b2p-light-theme .folder-status-label {
  color: #8a5a0b;
  border-color: #ead39e;
  background: #fff8e9;
}

/* The working upload panel, drop zone, queue and result states */
body.b2p-light-theme .folder-portal-section .sandbox-card,
body.b2p-light-theme .universal-main-portal {
  color: #14254a;
}
body.b2p-light-theme .folder-portal-section .sandbox-form-header h3 {
  color: #14254a;
}
body.b2p-light-theme .universal-main-portal .sandbox-drop-zone,
body.b2p-light-theme .folder-auth-gate .sandbox-drop-zone {
  color: #14254a;
  border-color: #9db4ef !important;
  background: #f3f6ff !important;
}
body.b2p-light-theme .universal-main-portal .sandbox-drop-zone:hover,
body.b2p-light-theme .universal-main-portal .sandbox-drop-zone.is-dragover,
body.b2p-light-theme .folder-auth-gate .sandbox-drop-zone:hover {
  border-color: #2453d4 !important;
  background: #e9efff !important;
}
body.b2p-light-theme .universal-main-portal .drop-zone-title,
body.b2p-light-theme .universal-main-portal .drop-zone-content,
body.b2p-light-theme .folder-auth-gate .drop-zone-content {
  color: #14254a;
}
body.b2p-light-theme .universal-main-portal .drop-zone-hint,
body.b2p-light-theme .folder-auth-gate .drop-zone-content small,
body.b2p-light-theme .universal-main-portal .drop-zone-content > span:not(.twins-lab-drop-icon) {
  color: #52627f;
}
body.b2p-light-theme .twins-lab-drop-icon {
  color: #2453d4;
  background: #e1eaff;
  border-color: #c6d5fb;
}
body.b2p-light-theme .universal-main-portal .sandbox-file-queue .queue-item,
body.b2p-light-theme .universal-main-portal .queue-item {
  color: #14254a;
  border-color: #d6def0;
  background-color: #fff;
  box-shadow: 0 4px 14px rgba(39, 61, 117, .055);
}
body.b2p-light-theme .universal-main-portal .queue-item.is-complete {
  border-color: #add9c7;
  background-color: #f0faf5;
}
body.b2p-light-theme .universal-main-portal .queue-item.is-error {
  border-color: #efc2c2;
  background-color: #fff5f5;
}
body.b2p-light-theme .universal-main-portal .queue-item-name,
body.b2p-light-theme .universal-main-portal .queue-item-header,
body.b2p-light-theme .universal-main-portal .queue-item-status {
  color: #14254a;
}
body.b2p-light-theme .universal-main-portal .queue-item-size,
body.b2p-light-theme .universal-main-portal .queue-item-status small {
  color: #52627f;
}
body.b2p-light-theme .universal-main-portal .queue-image-preview,
body.b2p-light-theme .universal-main-portal .queue-file-preview,
body.b2p-light-theme .homepage-result-summary dl div {
  border-color: #d6def0;
  background: #f4f6fc !important;
}
body.b2p-light-theme .homepage-result-summary,
body.b2p-light-theme .homepage-result-summary h3,
body.b2p-light-theme .homepage-result-summary p,
body.b2p-light-theme .homepage-result-summary dd,
body.b2p-light-theme .homepage-result-summary dt,
body.b2p-light-theme .twins-job-card {
  color: #14254a;
}
body.b2p-light-theme .twins-job-card {
  border-color: #d6def0;
  background: #fff;
}
body.b2p-light-theme .twins-ab-comparison,
body.b2p-light-theme .twins-ab-grid article,
body.b2p-light-theme .hybrid-gzip-option,
body.b2p-light-theme .photo-q85-option,
body.b2p-light-theme .lab-metric-card,
body.b2p-light-theme .game-package-guide {
  color: #14254a;
  border-color: #d5def2;
  background: #f5f7fd;
}
body.b2p-light-theme .twins-ab-heading h3,
body.b2p-light-theme .twins-ab-grid h4,
body.b2p-light-theme .twins-ab-grid dd,
body.b2p-light-theme .game-package-guide strong,
body.b2p-light-theme .hybrid-gzip-option strong,
body.b2p-light-theme .photo-q85-option strong,
body.b2p-light-theme .lab-metric-card strong {
  color: #14254a;
}
body.b2p-light-theme .twins-ab-heading small,
body.b2p-light-theme .twins-ab-grid article > span,
body.b2p-light-theme .twins-ab-grid dt,
body.b2p-light-theme .twins-ab-comparison > p,
body.b2p-light-theme .hybrid-gzip-option p,
body.b2p-light-theme .photo-q85-option p,
body.b2p-light-theme .game-package-guide p {
  color: #52627f;
}
body.b2p-light-theme .twins-ab-result.is-melhorou {
  color: #176344;
  background: #dff4e9;
}
body.b2p-light-theme .twins-ab-result:not(.is-melhorou):not(.is-piorou) {
  color: #52627f;
  background: #e9edf5;
}
body.b2p-light-theme .b2p-copy-identity {
  border-color: #c8d6fa;
  color: #14254a;
  background: #eaf0ff;
}
body.b2p-light-theme .folder-portal-section .twins-ab-comparison,
body.b2p-light-theme .folder-portal-section .hybrid-gzip-option,
body.b2p-light-theme .folder-portal-section .photo-q85-option {
  background: #f5f7fd;
}
body.b2p-light-theme .twins-ab-result {
  color: #14254a;
  background: #edf2ff;
}
body.b2p-light-theme .sandbox-status {
  color: #52627f;
}
body.b2p-light-theme .sandbox-status [data-status] {
  color: #52627f;
}
body.b2p-light-theme .btn-primary,
body.b2p-light-theme .btn-primary:hover,
body.b2p-light-theme .sandbox-actions .btn-primary {
  color: #fff !important;
}
body.b2p-light-theme .btn-primary {
  box-shadow: 0 5px 14px rgba(36, 83, 212, .19) !important;
}
/* Explicit upload button styling avoids native white button surfaces on iOS. */
body.b2p-light-theme .sandbox-actions .btn-primary {
  -webkit-appearance: none;
  appearance: none;
  background-color: #2453d4 !important;
  background-image: none !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff;
  opacity: 1;
  min-height: 48px;
  white-space: normal;
}
body.b2p-light-theme .sandbox-actions .btn-primary:hover:not(:disabled),
body.b2p-light-theme .sandbox-actions .btn-primary:active:not(:disabled) {
  background-color: #183fae !important;
}
body.b2p-light-theme .sandbox-actions .btn-primary:focus-visible {
  outline: 3px solid #d7358b;
  outline-offset: 3px;
}
body.b2p-light-theme .sandbox-actions .btn-primary:disabled {
  background-color: #52627f !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff;
  opacity: 1;
}
body.b2p-light-theme .btn-secondary {
  color: #14254a !important;
  border-color: #d2dcf0;
  background: #fff !important;
}
body.b2p-light-theme .btn-secondary:hover {
  background: #f0f4ff !important;
}

/* Real photo/FPS evidence and caution notes stay readable on light surfaces. */
body.b2p-light-theme .folder-photo-example .real-result-proof {
  border-color: #d9e1f5;
  background: #f5f7fc;
}
body.b2p-light-theme .folder-photo-example .real-result-proof figcaption {
  color: #52627f;
}
body.b2p-light-theme .real-result-eyebrow {
  color: #2453d4;
}
body.b2p-light-theme .real-result-copy h3,
body.b2p-light-theme .real-result-copy p {
  color: #14254a;
}
body.b2p-light-theme .folder-info-card .lab-observation-banner,
body.b2p-light-theme .folder-info-card .guide-games-banner {
  color: #14254a;
  border-color: #d5def2;
  background: linear-gradient(135deg, #f7f9ff, #fbedf5) !important;
}
body.b2p-light-theme .lab-observation-banner h3,
body.b2p-light-theme .lab-observation-banner p,
body.b2p-light-theme .lab-obs-label,
body.b2p-light-theme .guide-games-banner h3,
body.b2p-light-theme .guide-games-banner p {
  color: #14254a;
}
body.b2p-light-theme .lab-obs-disclaimer,
body.b2p-light-theme .guide-games-banner-note {
  color: #52627f;
  border-color: #d9e1f5;
  background: #edf1fb;
}
body.b2p-light-theme .lab-obs-state,
body.b2p-light-theme .lab-obs-label {
  border-color: #d9e1f5;
  background: #fff;
}
body.b2p-light-theme .lab-obs-badge {
  color: #2453d4;
  border-color: #cbd8fb;
  background: #eaf0ff;
}
body.b2p-light-theme .guide-games-banner-copy .guide-kicker {
  color: #2453d4;
}

/* Payment and support surfaces opened from the scoped pages */
body.b2p-light-theme .paypal-checkout,
body.b2p-light-theme .paypal-package {
  color: #14254a;
  border-color: #d9e1f5;
  background: #fff;
}
body.b2p-light-theme .paypal-checkout-heading h3,
body.b2p-light-theme .paypal-checkout-heading p {
  color: #14254a;
}
body.b2p-light-theme .token-purchase-modal {
  color: #14254a;
  border-color: #d4def3;
  background: #f8f9ff;
  box-shadow: 0 24px 70px rgba(28, 45, 92, .25);
}
body.b2p-light-theme .token-purchase-modal::backdrop,
body.b2p-light-theme .modal-backdrop {
  background: rgba(22, 34, 67, .44);
}
body.b2p-light-theme .token-modal-header h2,
body.b2p-light-theme .token-modal-challenge strong,
body.b2p-light-theme .token-modal-package-main > strong,
body.b2p-light-theme .token-modal-close {
  color: #14254a;
}
body.b2p-light-theme .token-modal-header p,
body.b2p-light-theme .token-modal-challenge p,
body.b2p-light-theme .token-modal-challenge-stats small {
  color: #52627f;
}
body.b2p-light-theme .token-modal-challenge {
  border-color: #d6dff4;
  background: linear-gradient(115deg, #e8efff, #f9eaf4);
}
body.b2p-light-theme .token-modal-package {
  border-color: #d9e1f5;
  background: #fff;
}
body.b2p-light-theme .token-modal-package.is-challenge {
  border-color: #e6b7d2;
  background: #fff9fc;
}
body.b2p-light-theme .token-modal-close {
  border-color: #d5def2;
  background: #fff;
}
body.b2p-light-theme .support-chat-panel {
  color: #14254a;
  border-color: #d4def3;
  background: #fff;
  box-shadow: 0 18px 54px rgba(28, 45, 92, .2);
}
body.b2p-light-theme .support-chat-messages,
body.b2p-light-theme .support-chat-form textarea {
  color: #14254a;
  background: #f4f6fc;
}
body.b2p-light-theme .support-chat-message.is-assistant {
  color: #14254a;
  background: #eaf0ff;
}
body.b2p-light-theme .support-chat-disclaimer {
  color: #52627f;
}

@media (max-width: 640px) {
  body.b2p-light-theme .home-photo-trial {
    align-items: stretch;
    gap: 12px;
  }
  body.b2p-light-theme .home-photo-trial .btn {
    width: 100%;
    min-height: 48px;
    white-space: normal;
  }
  body.b2p-light-theme .photo-trial-terms {
    margin-top: -10px;
    font-size: .9rem;
  }
  body.b2p-light-theme .top-navbar .navbar-actions {
    flex-wrap: wrap;
    width: 100%;
    max-width: 100%;
  }
  body.b2p-light-theme .top-navbar .navbar-actions > form {
    min-width: 0;
    margin: 0;
  }
  body.b2p-light-theme .top-navbar .navbar-brand {
    max-width: 100%;
  }
  body.b2p-light-theme .top-navbar .navbar-brand .brand-text {
    min-width: 0;
    white-space: normal;
    overflow-wrap: anywhere;
  }
}

body.b2p-light-theme .token-modal-packages {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

body.b2p-light-theme .token-modal-payment-actions .btn {
  white-space: normal;
}

body.b2p-light-theme .token-modal-package-main {
  flex-direction: column;
  gap: 7px;
}

@media (max-width: 640px) {
  body.b2p-light-theme .token-modal-packages {
    grid-template-columns: 1fr;
  }
}