/*
 * otherPartners.css
 * Shared stylesheet for Uber connect-static-htmls pages.
 *
 * Scope: self-contained to this folder only.
 * Used by: fraud-wraning.html, product-details.html, terms.html
 *
 * DO NOT import this file from other projects — it is intentionally
 * scoped to the pages in this directory.
 */

/* ==========================================================================
   1. Reset & Base
   ========================================================================== */

*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  -webkit-text-size-adjust: 100%;
  scroll-behavior: smooth;
}

body {
  margin: 0;
  padding: 24px 0 48px;
  /* Neutral backdrop makes the white page stand out like a real document */
  background: #e6e6e6;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* ==========================================================================
   2. Page Container  (8.5 in × screen at 96 dpi = 816 px)
   ========================================================================== */

.page {
  max-width: 816px;
  margin: 0 auto;
  padding: 56px 72px 64px;
  background: #ffffff;
  /* Subtle paper shadow */
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.18);
}

/* ==========================================================================
   3. Common Inline Elements
   ========================================================================== */

strong { font-weight: bold; }
em     { font-style: italic; }
u      { text-decoration: underline; }
del    { text-decoration: line-through; }

a {
  color: inherit;
  text-decoration: underline;
}

/* ==========================================================================
   4. Images
   ========================================================================== */

.doc-img {
  display: block;
  max-width: 100%;
  height: auto;
  margin-bottom: 18px;
}

/* ==========================================================================
   5. Tables
   ========================================================================== */

.doc-table {
  width: 100%;
  border-collapse: collapse;
  margin: 14px 0 18px;
  font-size: inherit;
}

.doc-table td,
.doc-table th {
  border: 1px solid #bbb;
  padding: 8px 12px;
  vertical-align: top;
  line-height: 1.5;
}

.doc-table td p,
.doc-table th p {
  margin: 0 0 4px 0 !important;
  line-height: 1.5 !important;
}

.doc-table td p:last-child,
.doc-table th p:last-child {
  margin-bottom: 0 !important;
}

/* ==========================================================================
   6. Lists (shared)
   ========================================================================== */

ul, ol {
  padding-left: 1.5em;
  margin: 8pt 0;
}

li {
  line-height: 1.45;
  margin-bottom: 5px;
}

/* ==========================================================================
   7. Section headings promoted from single-item list items
      (class added by convert.py flush_list)
   ========================================================================== */

.section-heading {
  font-weight: bold;
  margin: 18pt 0 8pt 0;
  line-height: 1.3;
}

/* ==========================================================================
   8. Document: fraud-wraning
      Fonts:   "Chubb Publico Office" (proprietary) → Georgia fallback
               "Lato" → system-ui fallback
      Sizes:   20pt title · 16pt state headings · 10pt body
      Indent:  ~0.09 in left margin on all paragraphs
   ========================================================================== */

.doc-fraud {
  /*
   * Heading runs carry "Chubb Publico Office" inline → falls back to Georgia.
   * Body runs carry "Times New Roman" inline.
   * This stack covers both: proprietary heading font → Georgia → TNR.
   */
  font-family: "Chubb Publico Office", "Lato", Georgia, "Times New Roman", serif;
  font-size: 10pt;
  color: #1a1a1a;
}

.doc-fraud .page {
  padding: 40px 52px 52px;
}

/* Align logo with the 0.094 in left indent used on all paragraphs */
.doc-fraud .doc-img {
  margin-left: 0.094in;
}

/* All body paragraphs — Times New Roman is the canonical body font.
   Heading spans still override with their own inline font-family. */
.doc-fraud p {
  margin: 0 0 7pt 0.094in;
  font-family: "Times New Roman", Times, serif, 'Lato';
  font-size: 10pt;
  line-height: 1.45;
  color: #1a1a1a;
}

/* 20pt title paragraph (e.g. "Fraud Notifications") */
.doc-fraud .heading-xl {
  font-size: 20pt;
  font-weight: bold;
  line-height: 1.2;
  margin: 0 0 16pt 0.094in;
  padding: 10pt 0;
  border-top: 3px solid #1a1a1a;
  border-bottom: 3px solid #1a1a1a;
  color: #000;
}

/* 16pt state/section heading paragraphs (e.g. "ALABAMA") */
.doc-fraud .heading-lg {
  font-size: 16pt;
  line-height: 1.2;
  margin: 18pt 0 4pt 0.094in;
  padding-top: 10pt;
  border-top: 1px solid #ddd;
  color: #000;
}

/* Remove the top border for the very first state heading that immediately
   follows the intro text (no extra gap needed after a large heading) */
.doc-fraud .heading-xl + .heading-lg {
  border-top: none;
  margin-top: 10pt;
}

/* Body Text style class */
.doc-fraud .p-bodytext,
.doc-fraud .p-body-text {
  line-height: 1.45;
}

/* ==========================================================================
   9. Document: product-details
      Fonts:   "Times New Roman" · 12pt
      Align:   justified body · centered title
      Accents: section numbers in #00B0F0 (Chubb blue)
   ========================================================================== */

.doc-product {
  font-family: "Times New Roman", Times, serif;
  font-size: 12pt;
  color: #000;
}

.doc-product .page {
  padding: 52px 72px 60px;
}

/* Body paragraphs — increase line-height from the docx's tight 1.0 */
.doc-product p {
  margin: 0 0 8pt 0;
  font-size: 12pt;
  line-height: 1.45;
}

/* Document title (centered, bold) */
.doc-product .heading-xl,
.doc-product .heading-lg {
  font-weight: bold;
  line-height: 1.3;
  margin: 16pt 0 8pt 0;
}

/* Blue numbered section headers (e.g. "1. ELECTRONIC TRANSACTIONS") —
   color is already inline; add spacing so they breathe */
.doc-product p:has(> span[style*="color:#00B0F0"]),
.doc-product p:has(> span[style*="color: #00B0F0"]) {
  margin-top: 20pt;
  margin-bottom: 6pt;
}

/* Sub-section headings (bold + underline, indented) */
.doc-product p:has(> span > strong > u),
.doc-product p:has(> span > u > strong) {
  margin-top: 10pt;
  margin-bottom: 4pt;
  margin-left: 0.5in;
  text-transform: uppercase;
}

/* List Paragraph style */
.doc-product .p-listparagraph,
.doc-product .p-list-paragraph {
  margin-left: 0;
  line-height: 1.4;
}

.doc-product ul,
.doc-product ol {
  list-style: none;
  padding-left: 0.5in;
  margin: 6pt 0 10pt;
}

.doc-product li {
  font-family: "Times New Roman", Times, serif;
  font-size: 12pt;
  line-height: 1.45;
  text-align: justify;
  margin-bottom: 4pt;
  padding-left: 1.4em;
  position: relative;
}

.doc-product li::before {
  content: "✓";
  position: absolute;
  left: 0;
  color: #000;
  font-weight: bold;
}

/* ==========================================================================
   10. Document: terms
       Fonts:   Georgia
       Body:    justified · 6pt space-after · color #000
       Indents: 0.25 in / 0.5 in levels
   ========================================================================== */

.doc-terms {
  font-family: Georgia, "Times New Roman", serif;
  font-size: 11pt;
  line-height: 1.5;
  color: #000;
}

.doc-terms .page {
  padding: 52px 72px 60px;
}

.doc-terms p {
  margin: 0 0 8pt 0;
  line-height: 1.5;
  text-align: justify;
  color: #000;
}

/* Section headings promoted from single-item list items */
.doc-terms .section-heading {
  font-family: Georgia, serif;
  font-size: 11pt;
  font-weight: bold;
  line-height: 1.3;
  margin: 20pt 0 8pt 0;
  color: #000;
  text-align: left;
}

/* First section heading after preamble needs less top gap */
.doc-terms .doc-table + .section-heading {
  margin-top: 14pt;
}

.doc-terms ul,
.doc-terms ol {
  padding-left: 0.5in;
  margin: 6pt 0 10pt;
}

.doc-terms li {
  font-family: Georgia, serif;
  font-size: 11pt;
  line-height: 1.5;
  margin-bottom: 5pt;
  text-align: justify;
}

/* ==========================================================================
   11. Document: terms1
       Source:  terms1.pdf  (Chubb Vehicle Interruption Coverage Policy)
       Fonts:   Georgia (policy) · Lato (privacy notice, loaded from Google Fonts)
       Sizes:   10pt body · 14pt section headings · 16pt CA notice body
   ========================================================================== */

.doc-terms1 {
  font-family: Georgia, "Times New Roman", serif;
  font-size: 10pt;
  color: #000;
}

.doc-terms1 .page {
  padding: 52px 64px 64px;
}

/* Chubb logo in header */
.doc-terms1 .doc-logo {
  display: block;
  height: 18px;
  width: auto;
  margin-bottom: 8px;
}

/* Continuation page header (pages 2, 4-11) */
.doc-terms1 .doc-cont-header {
  margin-bottom: 18pt;
  padding-bottom: 10pt;
  border-bottom: 2px solid #1a1a1a;
  font-size: 9pt;
  line-height: 1.5;
}

.doc-terms1 .doc-cont-header-top {
  display: flex;
  align-items: center;
  gap: 10px;
  padding-bottom: 5pt;
  border-bottom: 1px solid #ccc;
  margin-bottom: 5pt;
}

.doc-terms1 .doc-cont-header-top .doc-logo {
  height: 14px;
  margin-bottom: 0;
  flex-shrink: 0;
}

.doc-terms1 .doc-cont-insurer {
  font-weight: bold;
  font-size: 9.5pt;
  flex: 1;
}


.doc-terms1 .doc-cont-fields {
  font-size: 9pt;
  color: #111;
}

.doc-terms1 .doc-cont-fields-row {
  display: flex;
  gap: 24px;
  margin-top: 2pt;
}

.doc-terms1 .doc-cont-field-named {
  flex: 1;
}

.doc-terms1 .doc-cont-field-policy {
  flex-shrink: 0;
  white-space: nowrap;
}

/* Endorsement table (SERVICE OF SUIT, 3×3) */
.doc-terms1 .doc-sig-block {
  margin: 8pt 0 0 0;
}

.doc-terms1 .doc-sig-img {
  width: 100%;
  max-width: 6.5in;
  display: block;
}

.doc-terms1 .endorsement-table {
  margin: 0 0 16pt 0;
  font-size: 9.5pt;
}

.doc-terms1 .endorsement-table td {
  border: 1px solid #888;
  padding: 5px 10px;
  vertical-align: top;
  line-height: 1.4;
}

/* Sharing matrix: 3-column privacy table */
.doc-terms1 .doc-privacy .sharing-matrix th,
.doc-terms1 .doc-privacy .sharing-matrix td {
  text-align: center;
  font-size: 9.5pt;
}

.doc-terms1 .doc-privacy .sharing-matrix th:first-child,
.doc-terms1 .doc-privacy .sharing-matrix td:first-child {
  text-align: left;
  width: 55%;
}

.doc-terms1 .doc-privacy .sharing-matrix th:not(:first-child),
.doc-terms1 .doc-privacy .sharing-matrix td:not(:first-child) {
  width: 22.5%;
}

/* Two-column header: company info left, document title right */
.doc-terms1 .doc-header-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0 24px;
  margin-bottom: 28pt;
  padding-bottom: 16pt;
  border-bottom: 1px solid #ccc;
}

.doc-terms1 .doc-header-left {
  font-size: 10pt;
  line-height: 1.55;
}

.doc-terms1 .doc-header-right {
  font-size: 13pt;
  font-weight: bold;
  line-height: 1.4;
  text-align: right;
}

/* Body paragraphs */
.doc-terms1 p {
  margin: 0 0 7pt 0;
  line-height: 1.5;
  color: #000;
}

/* Heading levels */
.doc-terms1 .heading-xl {
  font-size: 18pt;
  font-weight: bold;
  line-height: 1.2;
  margin: 20pt 0 10pt 0;
}

.doc-terms1 .heading-lg {
  font-size: 13pt;
  font-weight: bold;
  line-height: 1.3;
  margin: 16pt 0 6pt 0;
}

/* Small all-bold paragraphs (e.g. "SCHEDULE OF BENEFITS", "A. INSURING AGREEMENT") */
.doc-terms1 .heading-sm {
  font-size: 10pt;
  font-weight: bold;
  line-height: 1.4;
  margin: 14pt 0 4pt 0;
}

/* Lettered sub-points (a., b., c., d.) — hanging indent matching DOCX */
.doc-terms1 .p-sub {
  margin-left: 0.5in;
  text-indent: -0.25in;
}

/* Numbered items where first sub-letter (a.) is inline with the number.
   Uses flex so a., b., c. all start at the same column. */
.doc-terms1 .p-item-with-sub {
  display: flex;
  align-items: baseline;
}
.doc-terms1 .p-num-col {
  flex: 0 0 0.25in;
  font-weight: bold;
}
.doc-terms1 .p-sub-inline {
  flex: 1;
  padding-left: 0.25in;
  text-indent: -0.25in;
}

/* Benefit Amount / Claim Limit bordered box */
.doc-terms1 .benefit-box {
  width: 100%;
  margin: 6pt 0 14pt;
}

.doc-terms1 .benefit-box td {
  border: 1px solid #888;
  padding: 6px 14px;
  font-size: 10pt;
  line-height: 1.5;
}

.doc-terms1 .benefit-box td:first-child {
  width: 35%;
  font-weight: bold;
}

/* Section dividers */
.doc-terms1 .doc-section {
  margin-top: 28pt;
  padding-top: 20pt;
  border-top: 1px solid #ddd;
}

/* Section label chip (e.g. "California Surplus Lines Notification") */
.doc-terms1 .section-label {
  font-size: 10pt;
  font-weight: bold;
  color: #666;
  margin: 0 0 14pt 0;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

/* Privacy Notice section — switch to Lato */
.doc-terms1 .doc-privacy,
.doc-terms1 .doc-privacy p,
.doc-terms1 .doc-privacy .heading-xl,
.doc-terms1 .doc-privacy .heading-lg,
.doc-terms1 .doc-privacy .heading-sm {
  font-family: "Lato", system-ui, sans-serif;
}

.doc-terms1 .doc-privacy .heading-xl { font-size: 16pt; }

/* Privacy notice title "CHUBB GROUP U.S. PRIVACY NOTICE" */
.doc-terms1 .doc-privacy > :first-child {
  font-size: 11pt;
  font-weight: bold;
  text-align: center;
  letter-spacing: 0.05em;
  margin: 0 0 10pt 0;
  padding: 0;
}

/* Section headings inside privacy notice ("Who we are" / "What we do" / "Definitions") */
.doc-terms1 .doc-privacy .heading-sm {
  background: #2d5fa8;
  color: #fff;
  padding: 5px 10px;
  margin: 12pt 0 0 0;
  font-size: 10pt;
  font-weight: bold;
  border: 1px solid #2d5fa8;
}

/* ---- Privacy Q&A tables (.privacy-dl) --------------------------------- */

/* Base: collapse all margins so rows sit flush when adjacent */
.doc-terms1 .doc-privacy .privacy-dl {
  margin: 0;
  font-family: "Lato", system-ui, sans-serif;
  font-size: 9.5pt;
}

/* Gap after each table group (restored by paragraphs between tables) */
.doc-terms1 .doc-privacy .privacy-dl + p,
.doc-terms1 .doc-privacy .privacy-dl + .heading-sm {
  margin-top: 10pt;
}

/* Collapse shared border when two tables are directly adjacent */
.doc-terms1 .doc-privacy .privacy-dl + .privacy-dl {
  margin-top: -1px;
}

/* Cell defaults */
.doc-terms1 .doc-privacy .privacy-dl th,
.doc-terms1 .doc-privacy .privacy-dl td {
  border: 1px solid #777;
  padding: 7px 10px;
  vertical-align: top;
  line-height: 1.5;
  font-family: "Lato", system-ui, sans-serif;
  font-size: 9.5pt;
}

/* Label column (left) */
.doc-terms1 .doc-privacy .privacy-dl th {
  background: #d5e4f3;
  font-weight: bold;
  text-align: left;
  width: 27%;
}

/* Answer column (right) */
.doc-terms1 .doc-privacy .privacy-dl td {
  background: #fff;
}

/* Bullet list inside privacy table cells */
.doc-terms1 .doc-privacy .priv-list {
  margin: 4pt 0;
  padding-left: 18pt;
}
.doc-terms1 .doc-privacy .priv-list li {
  margin-bottom: 2pt;
}

/* Continuation paragraphs inside a <td> (second paragraph of the same answer) */
.doc-terms1 .doc-privacy .priv-continuation {
  margin: 6pt 0 0;
}

/* "FACTS | WHAT DOES CHUBB GROUP DO WITH YOUR PERSONAL INFORMATION?"
   — first .privacy-dl table in the privacy section, rendered as a dark
   navy banner matching the PDF header bar */
.doc-terms1 .doc-privacy .privacy-dl:first-of-type th,
.doc-terms1 .doc-privacy .privacy-dl:first-of-type td {
  background: #1a3461;
  color: #fff;
  border-color: #1a3461;
  vertical-align: middle;
}

.doc-terms1 .doc-privacy .privacy-dl:first-of-type th {
  font-size: 14pt;
  font-weight: 900;
  text-align: center;
  letter-spacing: 0.04em;
  width: 18%;
}

.doc-terms1 .doc-privacy .privacy-dl:first-of-type td {
  font-size: 11pt;
  font-weight: bold;
}

/* Ensure a small gap after the FACTS banner before the Why/What/How rows */
.doc-terms1 .doc-privacy .privacy-dl:first-of-type {
  margin-bottom: 10pt;
}

/* <strong> inside th is already bold — keep same weight to avoid double-bold */
.doc-terms1 .doc-privacy .privacy-dl th strong {
  font-weight: bold;
}

/* <strong> inside blue .heading-sm headings — inherit white color */
.doc-terms1 .doc-privacy .heading-sm strong {
  font-weight: bold;
  color: inherit;
}

/* ==========================================================================
   12. Print overrides
   ========================================================================== */

@media print {
  body {
    background: #fff;
    padding: 0;
  }

  .page {
    max-width: 100%;
    padding: 0;
    box-shadow: none;
  }
}

/* ==========================================================================
   13. Mobile responsive  (≤ 600 px)
   ========================================================================== */

@media (max-width: 600px) {
  /* Remove grey backdrop — white page fills the screen edge-to-edge */
  body {
    padding: 0;
    background: #fff;
  }

  /* Trim side padding from up to 72 px down to 16 px */
  .page,
  .doc-fraud .page,
  .doc-product .page,
  .doc-terms  .page,
  .doc-terms1 .page {
    padding: 20px 16px 32px;
    box-shadow: none;
  }

  /* Justified text creates ugly word-gaps on narrow screens;
     centred paragraphs are unaffected (they don't have this style) */
  [style*="text-align:justify"],
  [style*="text-align: justify"] {
    text-align: left !important;
  }

  /* ---- Cap large inline left-margins that would overflow narrow screens ----
     terms1.html uses pt-based indents (up to 184 pt ≈ 245 px)               */
  [style*="margin-left:184pt"] { margin-left: 2.5em !important; }
  [style*="margin-left:108pt"] { margin-left: 2em   !important; }
  [style*="margin-left:86pt"]  { margin-left: 1.75em !important; }
  [style*="margin-left:72pt"]  { margin-left: 1.5em  !important; }
  [style*="margin-left:54pt"]  { margin-left: 1.2em  !important; }

  /* terms.html uses inch-based indents (up to 1.75 in ≈ 168 px) */
  [style*="margin-left:1.750in"] { margin-left: 2.5em  !important; }
  [style*="margin-left:1.250in"] { margin-left: 2em    !important; }
  [style*="margin-left:1.000in"] { margin-left: 1.75em !important; }
  [style*="margin-left:0.917in"] { margin-left: 1.5em  !important; }
  [style*="margin-left:0.750in"] { margin-left: 1.2em  !important; }

  /* Cap logo width so it doesn't stretch across the full screen on mobile */
  .doc-fraud .doc-img {
    max-width: 200px;
  }

  /* Scale down large fraud-document headings to prevent overflow */
  .doc-fraud .heading-xl { font-size: 16pt; }
  .doc-fraud .heading-lg { font-size: 13pt; }

  /* Reduce list indentation so items don't crowd the right edge */
  ul,
  ol {
    padding-left: 1.2em;
  }

  /* Product-details: remove 0.5 in indent from section/sub-section headings.
     !important is required to beat the inline style="margin-left:0.500in" */
  .doc-product p:has(> span > strong > u),
  .doc-product p:has(> span > u > strong) {
    margin-left: 0 !important;
  }

  /* Override the higher-specificity .doc-product ul rule so lists actually
     shrink on mobile (the generic ul,ol rule above isn't specific enough) */
  .doc-product ul,
  .doc-product ol {
    padding-left: 1.2em !important;
  }

  /* li text-align is set via CSS rule (not inline style), so the
     [style*="text-align:justify"] selector can't reach it — fix here */
  .doc-product li {
    text-align: left;
  }

  /* Terms1: stack the two-column policy header vertically */
  .doc-terms1 .doc-header-grid {
    grid-template-columns: 1fr;
    gap: 12px 0;
    margin-bottom: 16pt;
  }

  .doc-terms1 .doc-header-right {
    text-align: left;
    font-size: 12pt;
  }

  .doc-terms1 .p-sub {
    margin-left: 1em;
    text-indent: -0.5em;
  }

  /* Align item-18 a. with b./c. on mobile (matches p-sub mobile values) */
  .doc-terms1 .p-num-col {
    flex: 0 0 0.5em;
  }
  .doc-terms1 .p-sub-inline {
    padding-left: 0.5em;
    text-indent: -0.5em;
  }

  /* Stack Named Insured / Policy No fields on narrow screens */
  .doc-terms1 .doc-cont-fields-row {
    flex-wrap: wrap;
    gap: 4px;
  }
  .doc-terms1 .doc-cont-field-policy {
    white-space: normal;
  }
}
