/* =========================================
   SIDRI ADDITIONAL CSS — .COM
   PEARL V1.2 (2026-06-29) | sidriinternational.com
   WP Admin -> Appearance -> Additional CSS
   Replaces: sidri-com-additional-pearl-v1.1.css
   CHANGE V1.2: Section 18 added — global content
   table styling (dynamic blocks, no CSS class needed)
   ========================================= */

/* PEARL PALETTE — .COM "Deep Mauve / Pearl / Coral"
   Primary:   #4F3845  Deep Mauve      (H1-H3, table headers, footer)
   Accent:    #BD5F4B  Coral           (links, firsthand, byline)
   Base:      #FCFAF7  Pearl White     (page background)
   Soft:      #F6F0EA  Champagne       (alternating sections, even rows)
   Tint:      #F4ECF0  Mauve Tint      (TLDR fill, highlight)
   Border:    #E8E0D6  Pearl Border
   Text:      #2B2528  Warm Black
   Muted:     #6E6168  Mauve Grey      (H4-H6, captions, disclaimer)
   Alarm:     #BC3B2A  Alarm Red       (sidri-red-flag ONLY)
   CTA:       #25D366 / #075E54        (WhatsApp green — Elementor global,
                                        the single action color)
   ======================================== */

/* 1. BREADCRUMBS  (Elementor CSS class: sidri-breadcrumbs) */
.sidri-breadcrumbs,
.sidri-breadcrumbs * {
  font-size: 14px !important;
}
.sidri-breadcrumbs a {
  color: #4F3845 !important;
  text-decoration: none;
}
.sidri-breadcrumbs a:hover,
.sidri-breadcrumbs a:focus {
  text-decoration: underline;
}

/* 2. TOP BYLINE ROW  (Elementor CSS class: sidri-byline) */
.sidri-byline {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 16px;
  padding: 18px 18px 14px;
  border-bottom: 1px solid #E8E0D6;
  font-size: 13px;
  color: #6E6168;
  margin-bottom: 16px;
}

/* 3. BOTTOM BIO ROW  (Elementor CSS class: sidri-bio) */
.sidri-bio {
  display: flex;
  align-items: flex-start;
  flex-wrap: wrap;
  gap: 18px;
  border-top: 1px solid #E8E0D6;
  padding-top: 24px;
  margin-top: 32px;
}

/* 4. PERFECT CIRCLE AVATARS */
.elementor-widget-image.sidri-byline__avatar,
.sidri-byline__avatar {
  width: 80px !important;
  height: 80px !important;
  min-width: 80px !important;
  min-height: 80px !important;
  flex: 0 0 80px !important;
  border-radius: 50% !important;
  overflow: hidden !important;
  display: block !important;
}
.elementor-widget-image.sidri-bio__avatar,
.sidri-bio__avatar {
  width: 150px !important;
  height: 150px !important;
  min-width: 150px !important;
  min-height: 150px !important;
  flex: 0 0 150px !important;
  border-radius: 50% !important;
  overflow: hidden !important;
  display: block !important;
}
.sidri-byline__avatar .elementor-widget-container,
.sidri-byline__avatar figure,
.sidri-bio__avatar .elementor-widget-container,
.sidri-bio__avatar figure {
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  border-radius: 50% !important;
  overflow: hidden !important;
  line-height: 0 !important;
}
.sidri-byline__avatar img,
.sidri-bio__avatar img {
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  display: block !important;
  object-fit: cover !important;
  object-position: center top !important;
  border-radius: 50% !important;
}
@media (max-width: 767px) {
  .sidri-byline {
    align-items: flex-start;
    gap: 12px;
    padding: 14px 14px 12px;
    font-size: 12px;
  }
  .elementor-widget-image.sidri-byline__avatar,
  .sidri-byline__avatar {
    width: 56px !important;
    height: 56px !important;
    min-width: 56px !important;
    min-height: 56px !important;
    flex: 0 0 56px !important;
  }
  .sidri-bio { gap: 14px; }
  .elementor-widget-image.sidri-bio__avatar,
  .sidri-bio__avatar {
    width: 96px !important;
    height: 96px !important;
    min-width: 96px !important;
    min-height: 96px !important;
    flex: 0 0 96px !important;
  }
}

/* 5. VERIFY LINKS in byline  (Elementor CSS class: sidri-byline-links) */
.sidri-byline-links a {
  color: #BD5F4B !important;
  text-decoration: none;
  font-size: 12px;
}
.sidri-byline-links a:hover,
.sidri-byline-links a:focus {
  color: #4F3845 !important;
  text-decoration: underline;
}

/* 6. TLDR ANSWER BOX  (Elementor CSS class: tldr-box) */
.tldr-box {
  margin-top: 0;
  margin-bottom: 24px;
  padding: 18px 22px;
  display: block;
  width: 100%;
  background-color: #F4ECF0;
  border-left: 4px solid #4F3845;
  border-radius: 0 6px 6px 0;
  box-sizing: border-box;
  color: #3D2C37;
}
@media (max-width: 767px) {
  .tldr-box {
    margin-bottom: 16px;
    padding: 14px 16px;
  }
}

/* 7. H2-1 AIO OPENING PARAGRAPH  (Elementor CSS class: h2-1-opening) */
.h2-1-opening {
  display: block;
  width: 100%;
  margin-top: 0;
}

/* 8. FINAL CTA BLOCK  (Elementor CSS class: sidri-final-cta) */
.sidri-final-cta {
  padding: 40px;
  border-radius: 12px;
  text-align: center;
  margin: 60px 0;
  background-color: #F6F0EA;
}
@media (max-width: 767px) {
  .sidri-final-cta {
    padding: 24px 16px;
    margin: 40px 0;
  }
}
.sidri-final-cta__btn .elementor-button {
  padding: 14px 22px;
  border-radius: 10px;
  font-weight: 700;
  min-height: 48px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
}
.sidri-final-cta__btn .elementor-button:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 3px;
}

/* 9. TWO-COLUMN TABLES WITH CLASS  (Elementor CSS class: sidri-two-col-table)
   Use this class on table widgets. Section 18 handles the same styling
   for tables inside dynamic text blocks that cannot have this class. */
.sidri-two-col-table table {
  width: 100% !important;
  max-width: 100% !important;
  table-layout: fixed !important;
  border-collapse: collapse;
}
.sidri-two-col-table table,
.sidri-two-col-table thead,
.sidri-two-col-table tbody,
.sidri-two-col-table tr,
.sidri-two-col-table th,
.sidri-two-col-table td {
  box-sizing: border-box;
}
.sidri-two-col-table table[style],
.sidri-two-col-table th[style],
.sidri-two-col-table td[style],
.sidri-two-col-table col[style] {
  width: auto !important;
  max-width: 100% !important;
}
.sidri-two-col-table th,
.sidri-two-col-table td {
  white-space: normal !important;
  overflow-wrap: anywhere;
  word-break: break-word;
  hyphens: auto;
  padding: 10px 12px;
  vertical-align: top;
  background-color: transparent;
  color: #2B2528;
  border: 1px solid #E8E0D6;
}
.sidri-two-col-table th,
.sidri-two-col-table thead td,
.sidri-two-col-table tr:first-child th {
  background-color: #4F3845 !important;
  color: #F8F3F0 !important;
  font-weight: 600;
  font-size: 14px;
}
.sidri-two-col-table tbody tr:nth-child(even) td {
  background-color: #F6F0EA;
}
@media (max-width: 767px) {
  .sidri-two-col-table thead { display: none; }
  .sidri-two-col-table tr { display: block; width: 100%; margin-bottom: 8px; }
  .sidri-two-col-table td,
  .sidri-two-col-table th { display: block; width: 100% !important; }
  .sidri-two-col-table td:first-child,
  .sidri-two-col-table th:first-child {
    font-weight: 700;
    background-color: #F4ECF0 !important;
    color: #4F3845 !important;
  }
}

/* 10. RED FLAG BOX  (Elementor CSS class: sidri-red-flag) */
.sidri-red-flag {
  border: 1.5px solid #BC3B2A;
  border-left: 5px solid #BC3B2A;
  border-radius: 6px;
  background-color: #FCF1EE;
  padding: 18px 22px;
  margin: 32px 0;
}
.sidri-red-flag h3 {
  color: #8C2A1C !important;
  margin-top: 0 !important;
  font-size: 17px !important;
}
.sidri-red-flag ul {
  margin-bottom: 0;
  padding-left: 20px;
}
.sidri-red-flag li {
  color: #7A2418;
  margin-bottom: 6px;
  font-size: 15px;
}
@media (max-width: 767px) {
  .sidri-red-flag { padding: 14px 16px; }
}

/* 11. MEDICAL DISCLAIMER  (Elementor CSS class: sidri-disclaimer) */
.sidri-disclaimer {
  border-top: 1px solid #E8E0D6;
  padding-top: 18px;
  margin-top: 32px;
  font-size: 13px;
  color: #6E6168;
  line-height: 1.6;
}

/* 12. DATES ROW  (Elementor CSS class: sidri-dates) */
.sidri-dates {
  font-size: 12px;
  color: #6E6168;
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 8px;
}

/* 13. FIRSTHAND ATTRIBUTION SENTENCES  (Elementor CSS class: sidri-firsthand) */
.sidri-firsthand {
  display: block;
  width: 100%;
  margin-top: 0;
}

/* 14. EVIDENCE CHIPS  (Elementor CSS class: sidri-evidence) */
.sidri-evidence span,
.sidri-evidence code {
  display: inline-block;
  font-family: 'Spline Sans Mono', monospace;
  font-size: 12px;
  color: #4F3845;
  background-color: #F4ECF0;
  border: 0.5px solid #E0CFD9;
  border-radius: 999px;
  padding: 3px 10px;
  margin: 0 6px 6px 0;
}

/* 15. PERFORMANCE HELPER  (Elementor CSS class: sidri-cv) */
.sidri-cv {
  content-visibility: auto;
  contain-intrinsic-size: 1px 900px;
}

/* 16. ACCESSIBILITY / MOTION */
@media (prefers-reduced-motion: reduce) {
  .sidri-final-cta__btn .elementor-button,
  .sidri-byline a,
  .sidri-byline-links a {
    transition: none !important;
  }
}

/* 17. LAYOUT RESTRUCTURE — byline meta, bio cards, clinic card, CTA button */
.sidri-byline__meta { flex: 1 1 auto; min-width: 0; }
.sidri-byline__meta p {
  margin: 0 0 2px;
  font-size: 12.5px;
  line-height: 1.4;
  color: #2B2528;
}
.sidri-byline__meta p strong { color: #4F3845; }
.sidri-byline__label {
  font-family: 'Spline Sans Mono', monospace;
  font-size: 10px;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #8E8780;
  margin-right: 4px;
}
.sidri-bio__card {
  background: #FFFFFF;
  border: 1px solid #E8E0D6;
  border-radius: 12px;
  padding: 20px;
  flex: 1 1 280px;
}
.sidri-bio__card h3 {
  font-size: 18px;
  color: #4F3845;
  margin: 10px 0 2px;
}
.sidri-bio__role {
  font-family: 'Spline Sans Mono', monospace;
  font-size: 11px;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #BD5F4B;
  margin: 0 0 10px;
}
.sidri-bio__card p {
  font-size: 14px;
  line-height: 1.6;
  color: #2B2528;
}
.sidri-bio__links a {
  color: #BD5F4B !important;
  font-size: 12px;
  text-decoration: underline;
  text-underline-offset: 2px;
  margin-right: 10px;
}
.sidri-bio__links a:hover,
.sidri-bio__links a:focus { color: #4F3845 !important; }
.sidri-clinic-card {
  background: #F6F0EA;
  border-radius: 10px;
  padding: 14px 18px;
  margin-top: 14px;
  font-size: 13px;
  line-height: 1.6;
  color: #2B2528;
}
.sidri-clinic-card a { color: #BD5F4B; }
.sidri-final-cta__btn a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  background: #25D366;
  color: #FFFFFF !important;
  font-weight: 700;
  padding: 14px 22px;
  border-radius: 10px;
  min-height: 48px;
  text-decoration: none;
}
.sidri-final-cta__btn a:hover,
.sidri-final-cta__btn a:focus { background: #075E54; }

/* 18. GLOBAL CONTENT TABLES — no CSS class needed
   ============================================================
   Targets ALL tables inside Elementor text editor widgets and
   classic editor content that do NOT have the sidri-two-col-table
   class on their parent widget. Identical Pearl palette styling
   to section 9. No class required — paste a table anywhere in
   the body text block and it automatically gets the correct colors.
   ============================================================ */
.elementor-widget-text-editor:not(.sidri-two-col-table) table,
.elementor-widget-wysiwyg:not(.sidri-two-col-table) table,
.entry-content table {
  width: 100% !important;
  max-width: 100% !important;
  table-layout: fixed !important;
  border-collapse: collapse;
  box-sizing: border-box;
}
.elementor-widget-text-editor:not(.sidri-two-col-table) th,
.elementor-widget-text-editor:not(.sidri-two-col-table) td,
.elementor-widget-wysiwyg:not(.sidri-two-col-table) th,
.elementor-widget-wysiwyg:not(.sidri-two-col-table) td,
.entry-content th,
.entry-content td {
  white-space: normal !important;
  overflow-wrap: anywhere;
  word-break: break-word;
  hyphens: auto;
  padding: 10px 12px;
  vertical-align: top;
  color: #2B2528;
  border: 1px solid #E8E0D6;
  box-sizing: border-box;
}
.elementor-widget-text-editor:not(.sidri-two-col-table) thead th,
.elementor-widget-text-editor:not(.sidri-two-col-table) tr:first-child th,
.elementor-widget-wysiwyg:not(.sidri-two-col-table) thead th,
.elementor-widget-wysiwyg:not(.sidri-two-col-table) tr:first-child th,
.entry-content thead th,
.entry-content tr:first-child th {
  background-color: #4F3845 !important;   /* Deep Mauve — same as sidri-two-col-table */
  color: #F8F3F0 !important;
  font-weight: 600;
  font-size: 14px;
}
.elementor-widget-text-editor:not(.sidri-two-col-table) tbody tr:nth-child(even) td,
.elementor-widget-wysiwyg:not(.sidri-two-col-table) tbody tr:nth-child(even) td,
.entry-content tbody tr:nth-child(even) td {
  background-color: #F6F0EA;              /* Champagne zebra */
}
@media (max-width: 767px) {
  .elementor-widget-text-editor:not(.sidri-two-col-table) thead,
  .elementor-widget-wysiwyg:not(.sidri-two-col-table) thead,
  .entry-content thead {
    display: none;
  }
  .elementor-widget-text-editor:not(.sidri-two-col-table) tr,
  .elementor-widget-wysiwyg:not(.sidri-two-col-table) tr,
  .entry-content tr {
    display: block;
    width: 100%;
    margin-bottom: 8px;
  }
  .elementor-widget-text-editor:not(.sidri-two-col-table) td,
  .elementor-widget-wysiwyg:not(.sidri-two-col-table) td,
  .entry-content td {
    display: block;
    width: 100% !important;
  }
  .elementor-widget-text-editor:not(.sidri-two-col-table) td:first-child,
  .elementor-widget-wysiwyg:not(.sidri-two-col-table) td:first-child,
  .entry-content td:first-child {
    font-weight: 700;
    background-color: #F4ECF0 !important; /* Mauve Tint first cell on mobile */
    color: #4F3845 !important;
  }
}