/**
 * Integration Detail Pages
 *
 * Shared styles for integration detail pages across all categories:
 * - /koppelingen/fulfilment/* (amazon-fba, bol-lvb, monta, qls, etc.)
 * - /koppelingen/vervoerders/* (hst, etc.)
 * - /koppelingen/boekhouding/* (exact-online, etc.)
 *
 * Structure:
 * - .page--dark (page wrapper)
 *   - .contact-form-section (contains back-link and hero)
 *     - .hero-section (title area)
 *     - .back-link (navigation)
 *     - .partner-hero (logo + title)
 *   - .intro-with-sidebar (optional 2-column layout)
 *     - .intro-first (lead paragraph)
 *     - .links-box (sidebar navigation)
 *     - .intro-section (content sections)
 *   - .intro-section--standalone (single column variant)
 *   - .contact-simple (CTA box)
 *   - .pricing-notice (demo CTA)
 */

/* ==========================================================================
   PAGE WRAPPER
   ========================================================================== */

html:has(.page--dark),
body:has(.page--dark) {
  background: #001c38 !important;
}

/* ==========================================================================
   HERO SECTION
   ========================================================================== */

.page--dark .hero-section {
  min-height: 120px;
}

/* ==========================================================================
   TYPOGRAPHY
   ========================================================================== */

.page--dark h1,
.page--dark h2 {
  color: rgba(204, 229, 255, 0.95);
  font-family: var(--font-family-primary, "Source Sans 3", sans-serif);
}

.page--dark h1 {
  font-size: 40px;
  font-weight: 700;
  line-height: 48px;
  letter-spacing: 1px;
  margin: 0 0 16px 0;
  max-width: 800px;
}

.page--dark .hero-description,
.page--dark .contact-form-section .hero-section .hero-description {
  font-size: 16px;
  line-height: 24px;
  letter-spacing: 1px;
  max-width: 50%;
}

/* ==========================================================================
   CONTACT FORM SECTION (Hero container)
   ========================================================================== */

.page--dark .contact-form-section {
  position: relative;
  margin-bottom: 40px;
}

/* ==========================================================================
   BACK LINK
   ========================================================================== */

.page--dark .back-link {
  position: absolute;
  top: -40px;
  left: 0;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: rgba(204, 229, 255, 0.7);
  text-decoration: none;
  font-size: 14px;
  transition: color 0.2s ease;
}

.page--dark .back-link:hover {
  color: var(--brand-green, #00dd8d);
}

.page--dark .back-link svg {
  width: 16px;
  height: 16px;
}

/* ==========================================================================
   PARTNER HERO (Logo + Title)
   ========================================================================== */

.page--dark .partner-hero {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  margin-bottom: 0;
  padding-top: 200px;
}

@media (max-width: 1023px) {
  .page--dark .partner-hero {
    padding-top: 32px;
  }
}

.page--dark .partner-hero__logo {
  width: 48px;
  height: 48px;
  flex-shrink: 0;
  background: #002345;
  border: 1px solid var(--blue-400, #05386B);
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 6px;
  box-sizing: border-box;
}

.page--dark .partner-hero__logo img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  user-select: none;
  pointer-events: none;
}

.page--dark .partner-hero__content {
  flex: 1;
}

.page--dark .partner-hero__content h1 {
  margin-bottom: 16px;
}

/* Alternate mobile layout: show logo stacked */
@media (max-width: 600px) {
  .page--dark .partner-hero--stacked {
    flex-direction: column;
    gap: 20px;
  }

  .page--dark .partner-hero--stacked .partner-hero__logo {
    display: flex;
    width: 64px;
    height: 64px;
  }
}

/* ==========================================================================
   TWO-COLUMN LAYOUT (Content + Sidebar)
   ========================================================================== */

.page--dark .intro-with-sidebar {
  position: relative;
}

.page--dark .intro-with-sidebar .intro-first {
  max-width: 50%;
  color: rgba(204, 229, 255, 0.95);
  font-family: var(--font-family-primary, "Source Sans 3", sans-serif);
  font-size: 16px;
  font-weight: 400;
  line-height: 24px;
  letter-spacing: 1px;
  margin: 0 0 32px 0;
}

.page--dark .intro-with-sidebar .intro-section {
  max-width: 50%;
}

/* ==========================================================================
   LINKS BOX (Sidebar Navigation)
   ========================================================================== */

.page--dark .links-box {
  position: absolute;
  top: -80px;
  right: 0;
  width: 38%;
  background: #002345;
  border: 1px solid var(--blue-400, #05386B);
  border-radius: 12px;
  padding: 20px;
}

.page--dark .links-box__title {
  color: rgba(204, 229, 255, 0.95);
  font-size: 20px;
  font-weight: 600;
  line-height: 1.3;
  margin: 0 0 4px 0;
}

.page--dark .links-box__subtitle {
  color: rgba(204, 229, 255, 0.7);
  font-family: var(--font-family-primary, "Source Sans 3", sans-serif);
  font-size: 16px;
  font-weight: 400;
  line-height: var(--font-line-height-body-default, 1.5);
  letter-spacing: var(--font-letter-spacing-body-default, normal);
  margin-bottom: 24px;
}

.page--dark .links-box__list {
  list-style: disc;
  padding-left: 20px;
  margin: 0;
  color: rgba(204, 229, 255, 0.7);
}

.page--dark .links-box__list li {
  margin-bottom: 4px;
  line-height: 24px;
  padding-left: 4px;
}

.page--dark .links-box__list li:last-child {
  margin-bottom: 0;
}

.page--dark .links-box__list a {
  color: var(--brand-green, #00dd8d);
  text-decoration: underline;
  font-family: var(--font-family-primary, "Source Sans 3", sans-serif);
  font-size: 16px;
  font-weight: 400;
  letter-spacing: 1px;
}

.page--dark .links-box__list a:hover {
  color: rgba(204, 229, 255, 0.95);
}

.page--dark .links-box__list .is-current {
  color: rgba(204, 229, 255, 0.95);
  font-family: var(--font-family-primary, "Source Sans 3", sans-serif);
  font-size: 16px;
  font-weight: 400;
  letter-spacing: 1px;
}

/* ==========================================================================
   INTRO SECTION (Content Blocks)
   ========================================================================== */

.page--dark .intro-section {
  margin-bottom: 0;
}

.page--dark .intro-section--standalone {
  max-width: 50%;
  margin-bottom: 0;
}

/* Contact simple inside standalone section should fill the section width */
.page--dark .intro-section--standalone .contact-simple {
  max-width: 100%;
}

/* Prevent intro-section styles from overriding contact-simple */
.page--dark .intro-section .contact-simple__title {
  color: rgba(204, 229, 255, 0.95);
  font-size: 22px;
  font-weight: 600;
  margin-top: 0;
  margin-bottom: 8px;
  line-height: 1.3;
}

.page--dark .intro-section .contact-simple__subtitle {
  color: rgba(204, 229, 255, 0.7);
  font-size: 16px;
  margin-bottom: 24px;
}

.page--dark .intro-section .contact-simple__phone {
  color: rgba(204, 229, 255, 0.7);
  font-size: 14px;
  margin-bottom: 0;
}

.page--dark .intro-section h2 {
  color: rgba(204, 229, 255, 0.95);
  font-size: 32px;
  font-weight: 600;
  margin-top: 32px;
  margin-bottom: 16px;
  line-height: 1.2;
}

.page--dark .intro-section h2:first-child {
  margin-top: 0;
}

.page--dark .intro-section p {
  color: rgba(204, 229, 255, 0.95);
  font-family: var(--font-family-primary, "Source Sans 3", sans-serif);
  font-size: 16px;
  font-weight: 400;
  line-height: 24px;
  letter-spacing: 1px;
  margin-bottom: 16px;
}

.page--dark .intro-section p:last-child {
  margin-bottom: 0;
}

/* ==========================================================================
   CONTACT SIMPLE (CTA Box)
   ========================================================================== */

.page--dark .contact-simple {
  margin-top: 60px;
  background: #011627;
  border: 1px solid var(--blue-400, #05386B);
  border-radius: 16px;
  padding: 32px;
  max-width: 50%;
}

.page--dark .contact-simple__title {
  color: rgba(204, 229, 255, 0.95);
  font-size: 22px;
  font-weight: 600;
  margin-bottom: 8px;
  line-height: 1.3;
}

.page--dark .contact-simple__subtitle {
  color: rgba(204, 229, 255, 0.7);
  font-family: var(--font-family-primary, "Source Sans 3", sans-serif);
  font-size: 16px;
  font-weight: 400;
  margin-bottom: 24px;
}

.page--dark .contact-simple__buttons {
  display: flex;
  gap: 16px;
  margin-bottom: 20px;
}

.page--dark .contact-simple__phone {
  color: rgba(204, 229, 255, 0.7);
  font-size: 14px;
}

.page--dark .contact-simple__phone a {
  color: var(--brand-green, #00dd8d);
  text-decoration: underline;
}

.page--dark .contact-simple__phone a:hover {
  color: rgba(204, 229, 255, 0.95);
}

/* ==========================================================================
   PRICING NOTICE (Demo CTA Block)
   ========================================================================== */

.page--dark .pricing-notice {
  margin-top: 80px;
  max-width: 50%;
  margin-left: 0;
  min-height: 200px;
  box-sizing: border-box;
}

/* ==========================================================================
   RESPONSIVE - TABLET (max-width: 1023px)
   ========================================================================== */

@media (max-width: 1023px) {
  /* Hero container */
  .page--dark .contact-form-section {
    margin-bottom: 24px;
  }

  /* Partner hero */
  .page--dark .partner-hero {
    margin-bottom: 24px;
  }

  .page--dark .partner-hero__logo {
    display: none;
  }

  .page--dark .partner-hero__content h1 {
    margin-bottom: 0;
  }

  /* Two-column layout */
  .page--dark .intro-with-sidebar {
    display: flex;
    flex-direction: column;
  }

  .page--dark .intro-with-sidebar .intro-first {
    max-width: 100%;
    order: 1;
  }

  .page--dark .intro-with-sidebar .intro-section {
    max-width: 100%;
    order: 2;
  }

  .page--dark .intro-with-sidebar .links-box {
    order: 3;
  }

  /* Links box - contained variant with rounded corners */
  .page--dark .links-box {
    position: static;
    width: 100%;
    margin: 32px 0 16px 0;
    padding: 32px;
    background: #002345;
    border: 1px solid var(--blue-400, #05386B);
    border-radius: 16px;
    box-sizing: border-box;
  }

  .page--dark .links-box__title {
    font-size: 22px;
    margin-bottom: 8px;
  }

  .page--dark .links-box__list a,
  .page--dark .links-box__list .is-current {
    font-size: 16px;
  }

  /* Intro section typography with padding */
  .page--dark .intro-section h2,
  .page--dark .intro-section p {
    padding-left: 16px;
    padding-right: 16px;
  }

  /* Hero description */
  .page--dark .hero-description,
  .page--dark .contact-form-section .hero-section .hero-description {
    max-width: 100%;
    padding-left: 16px;
    padding-right: 16px;
  }

  /* Standalone variant */
  .page--dark .intro-section--standalone {
    max-width: 100%;
  }

  /* Contact simple */
  .page--dark .contact-simple {
    max-width: 100%;
    margin-left: 0;
    margin-right: 0;
    margin-top: 16px;
  }

  .page--dark .contact-simple__buttons {
    flex-direction: column;
  }

  .page--dark .contact-simple__buttons a {
    width: 100%;
    justify-content: center;
  }
}

/* ==========================================================================
   INFO BOX (Generic sidebar box - checklist, text, etc.)
   ========================================================================== */

.page--dark .info-box {
  background: #002345;
  border: 1px solid var(--blue-400, #05386B);
  border-radius: 20px;
  padding: 32px;
}

.page--dark .info-box__title {
  font-size: 22px;
  font-weight: 600;
  color: rgba(204, 229, 255, 0.95);
  margin: 0 0 24px 0;
}

.page--dark .info-box__subtitle {
  color: rgba(204, 229, 255, 0.7);
  font-family: var(--font-family-primary, "Source Sans 3", sans-serif);
  font-size: 16px;
  font-weight: 400;
  line-height: 1.5;
  margin: -20px 0 24px 0;
}

.page--dark .info-box__text {
  color: rgba(204, 229, 255, 0.95);
  font-family: var(--font-family-primary, "Source Sans 3", sans-serif);
  font-size: 16px;
  font-weight: 400;
  line-height: 1.6;
  margin: 0;
}

.page--dark .info-box__list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.page--dark .info-box__list li {
  display: flex;
  align-items: center;
  gap: 14px;
}

.page--dark .info-box__list svg {
  flex-shrink: 0;
}

.page--dark .info-box__list li span {
  font-family: var(--font-family-primary, "Source Sans 3", sans-serif);
  font-size: 16px;
  font-weight: 400;
  line-height: 24px;
  letter-spacing: 1px;
  color: rgba(204, 229, 255, 0.95);
}

.page--dark .info-box__links {
  list-style: disc;
  padding-left: 20px;
  margin: 0;
  color: rgba(204, 229, 255, 0.7);
}

.page--dark .info-box__links li {
  margin-bottom: 4px;
  line-height: 24px;
  padding-left: 4px;
}

.page--dark .info-box__links a {
  color: var(--brand-green, #00dd8d);
  text-decoration: underline;
  font-size: 16px;
  letter-spacing: 1px;
}

.page--dark .info-box__links a:hover {
  color: rgba(204, 229, 255, 0.95);
}

.page--dark .info-box__links .is-current {
  color: rgba(204, 229, 255, 0.95);
  font-size: 16px;
  letter-spacing: 1px;
}

/* ==========================================================================
   PAGE LAYOUT (Two-column: content + sidebar)
   ========================================================================== */

.page--dark .page-layout {
  display: grid;
  grid-template-columns: 55fr 45fr;
  gap: 60px;
  align-items: start;
}

.page--dark .page-layout__content {
  /* Content flows naturally */
}

.page--dark .page-layout__content .lead {
  font-size: 16px;
  line-height: 1.6;
  color: rgba(204, 229, 255, 0.95);
  margin-bottom: 32px;
}

.page--dark .page-layout__content h2 {
  color: rgba(204, 229, 255, 0.95);
  font-size: 28px;
  font-weight: 600;
  margin-top: 40px;
  margin-bottom: 16px;
  line-height: 1.3;
}

.page--dark .page-layout__content h2:first-of-type {
  margin-top: 0;
}

.page--dark .page-layout__content p {
  color: rgba(204, 229, 255, 0.95);
  font-size: 16px;
  line-height: 1.6;
  margin-bottom: 16px;
}

.page--dark .page-layout__content p a {
  color: var(--brand-green, #00dd8d);
  text-decoration: underline;
}

.page--dark .page-layout__content p a:hover {
  color: rgba(204, 229, 255, 0.95);
}

.page--dark .page-layout__content .contact-simple {
  margin-top: 60px;
  max-width: 100%;
}

.page--dark .page-layout__content .contact-simple__title {
  font-size: 22px;
  margin-top: 0;
  margin-bottom: 8px;
}

.page--dark .page-layout__content .contact-simple__subtitle {
  color: rgba(204, 229, 255, 0.7);
  margin-bottom: 24px;
}

.page--dark .page-layout__content .contact-simple__phone {
  color: rgba(204, 229, 255, 0.7);
  font-size: 14px;
  margin-bottom: 0;
}

.page--dark .page-layout__sidebar {
  position: sticky;
  top: 100px;
}

@media (max-width: 1023px) {
  .page--dark .page-layout {
    grid-template-columns: 1fr;
    gap: 32px;
  }

  .page--dark .page-layout__sidebar {
    position: static;
    /* Sidebar appears after content on mobile (before contact CTA) */
  }

  .page--dark .info-box {
    padding: 24px 20px;
  }
}

/* ==========================================================================
   PAGE SIDEBAR (Absolute positioned - legacy)
   ========================================================================== */

.page--dark .container--with-sidebar {
  position: relative;
}

.page--dark .page-sidebar {
  position: absolute;
  top: 60px;
  right: 0;
  width: 44%;
}

@media (max-width: 1023px) {
  .page--dark .page-sidebar {
    position: static;
    width: 100%;
    margin-bottom: 32px;
  }
}

/* ==========================================================================
   RESPONSIVE - MOBILE (max-width: 900px)
   ========================================================================== */

@media (max-width: 900px) {
  .page--dark .pricing-notice {
    max-width: 100%;
  }
}
