.elementor-kit-39{--e-global-color-primary:#002E4D;--e-global-color-secondary:#0B5689;--e-global-color-text:#101010;--e-global-color-accent:#1881CB;--e-global-color-backgroundAccent:#F3F5F8;--e-global-color-3e81db2:#EAE9EB;--e-global-color-8edd2b8:#C5BB9D;--e-global-color-c427593:#3592C3;--e-global-color-715423d:#4C5159;--e-global-color-transparent:#00000000;--e-global-color-background:#FFFFFF;--e-global-color-4262787:#8B805F;--e-global-typography-primary-font-family:"Wix Madefor Text";--e-global-typography-primary-font-weight:600;--e-global-typography-secondary-font-family:"Wix Madefor Text";--e-global-typography-secondary-font-weight:400;--e-global-typography-text-font-family:"Wix Madefor Text";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Wix Madefor Text";--e-global-typography-accent-font-weight:500;font-family:"Wix Madefor Text", Sans-serif;}.elementor-kit-39 e-page-transition{background-color:#FFBC7D;}.elementor-kit-39 a{color:#1881CB;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1200px;}.e-con{--container-max-width:1200px;}.elementor-widget:not(:last-child){margin-block-end:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS *//* =========================================================
   PeregrineTD – Blog Typography & Layout (Elementor)
   Single, comprehensive stylesheet
   ========================================================= */

/* -------- Brand Tokens (optional but handy) -------- */
:root {
  --ptd-blue: #1E4C8C;
  --ptd-blue-dark: #163A69;
  --ptd-text: #333333;
  --ptd-text-soft: #555555;
  --ptd-muted: #666666;
  --ptd-border: #e0e0e0;
  --ptd-quote-bg: #f7f9fc;
}

/* Limit scope to post body/content widgets */
.elementor-widget-text-editor,
.elementor-widget-theme-post-content {
  color: var(--ptd-text);
  line-height: 1.6;
  font-size: 1rem;
}

/* -------- Core Rhythm: Paragraphs & Lists -------- */
.elementor-widget-text-editor p,
.elementor-widget-theme-post-content p {
  margin: 0 0 20px;
}

.elementor-widget-text-editor :is(ul, ol),
.elementor-widget-theme-post-content :is(ul, ol) {
  margin: 0 0 20px 1.25em; /* bottom rhythm + tidy indent */
  padding-left: 0;         /* avoid double indent from theme */
}

.elementor-widget-text-editor li,
.elementor-widget-theme-post-content li {
  margin-bottom: 8px;       /* space between bullets */
}
.elementor-widget-text-editor li:last-child,
.elementor-widget-theme-post-content li:last-child {
  margin-bottom: 0;         /* no extra gap on last bullet */
}

/* Remove trailing space at the end of a text block */
.elementor-widget-text-editor :is(p, ul, ol):last-child,
.elementor-widget-theme-post-content :is(p, ul, ol):last-child {
  margin-bottom: 0;
}

/* -------- Headings (H2–H4) with brand styling -------- */
.elementor-widget-text-editor h2,
.elementor-widget-theme-post-content h2 {
  color: var(--ptd-blue);
  font-weight: 700;
  line-height: 1.3;
  margin: 40px 0 20px;
  border-bottom: 2px solid var(--ptd-blue); /* underline accent */
  padding-bottom: 6px;
}

.elementor-widget-text-editor h3,
.elementor-widget-theme-post-content h3 {
  color: #333333;
  font-weight: 600;
  line-height: 1.35;
  margin: 35px 0 18px;
}

.elementor-widget-text-editor h4,
.elementor-widget-theme-post-content h4 {
  color: var(--ptd-text-soft);
  font-weight: 500;
  font-style: italic;
  line-height: 1.4;
  margin: 30px 0 15px;
}

/* Avoid “stacking” big gaps when a heading follows another heading */
.elementor-widget-text-editor :is(h2, h3, h4) + :is(h2, h3, h4),
.elementor-widget-theme-post-content :is(h2, h3, h4) + :is(h2, h3, h4) {
  margin-top: 10px;
}

/* -------- Blockquotes (pull quotes) -------- */
.elementor-widget-text-editor blockquote,
.elementor-widget-theme-post-content blockquote {
  border-left: 4px solid var(--ptd-blue);
  padding: 12px 20px;
  margin: 25px 0;
  font-style: italic;
  font-size: 1.05em;
  color: #444444;
  background: var(--ptd-quote-bg);
  border-radius: 4px;
}
.elementor-widget-text-editor blockquote cite,
.elementor-widget-theme-post-content blockquote cite {
  display: block;
  margin-top: 8px;
  font-size: 0.9em;
  color: var(--ptd-muted);
  font-style: normal;
}

/* -------- References Section --------
   Wrap your references in a container with class="references"
   (e.g., a Heading or Inner Section in Elementor). */
.elementor-widget-text-editor .references,
.elementor-widget-theme-post-content .references {
  margin-top: 40px;
  padding-top: 20px;
  border-top: 2px solid var(--ptd-border);
  font-size: 0.95em;
  color: var(--ptd-text);
  line-height: 1.5;
}
.elementor-widget-text-editor .references h2,
.elementor-widget-theme-post-content .references h2,
.elementor-widget-text-editor .references h3,
.elementor-widget-theme-post-content .references h3,
.elementor-widget-text-editor .references h4,
.elementor-widget-theme-post-content .references h4 {
  color: var(--ptd-blue);
  font-weight: 600;
  margin-bottom: 12px;
  border: 0;          /* remove H2 underline inside references */
  padding-bottom: 0;
}
.elementor-widget-text-editor .references a,
.elementor-widget-theme-post-content .references a {
  color: var(--ptd-blue);
  text-decoration: underline;
}
.elementor-widget-text-editor .references a:hover,
.elementor-widget-theme-post-content .references a:hover {
  color: var(--ptd-blue-dark);
}

/* -------- Callout Boxes (Use in posts for tips/use-cases)
   Add a CSS class to the widget/container: callout, callout-tip, callout-info, callout-warn
   ------------------------------------------------------ */
.elementor-widget-text-editor .callout,
.elementor-widget-theme-post-content .callout {
  border: 1px solid var(--ptd-border);
  background: #fafafa;
  padding: 16px 18px;
  margin: 22px 0;
  border-radius: 8px;
}
.elementor-widget-text-editor .callout strong,
.elementor-widget-theme-post-content .callout strong {
  color: var(--ptd-blue);
}

.elementor-widget-text-editor .callout-tip,
.elementor-widget-theme-post-content .callout-tip {
  border-color: #cfe7d7;
  background: #f4fbf7;
}
.elementor-widget-text-editor .callout-info,
.elementor-widget-theme-post-content .callout-info {
  border-color: #cfe0f2;
  background: #f6faff;
}
.elementor-widget-text-editor .callout-warn,
.elementor-widget-theme-post-content .callout-warn {
  border-color: #f3d9c7;
  background: #fff8f2;
}

/* Tighten spacing in callouts so they don’t feel airy */
.elementor-widget-text-editor .callout :is(p, ul, ol),
.elementor-widget-theme-post-content .callout :is(p, ul, ol) {
  margin-bottom: 12px;
}
.elementor-widget-text-editor .callout :is(p, ul, ol):last-child,
.elementor-widget-theme-post-content .callout :is(p, ul, ol):last-child {
  margin-bottom: 0;
}

/* -------- Fine-tuning lists inside headings or callouts -------- */
.elementor-widget-text-editor :is(h2, h3, h4) + :is(ul, ol),
.elementor-widget-theme-post-content :is(h2, h3, h4) + :is(ul, ol) {
  margin-top: 6px; /* small gap after heading before list */
}

/* -------- Images inside post content -------- */
.elementor-widget-text-editor img,
.elementor-widget-theme-post-content img {
  max-width: 100%;
  height: auto;
  border-radius: 4px;
  margin: 18px 0;
}

/* =========================================================
   Responsive Adjustments
   ========================================================= */

/* Phones (≤ 767px) */
@media (max-width: 767px) {

  /* Reduce left indent for lists on mobile */
  .elementor-widget-text-editor :is(ul, ol),
  .elementor-widget-theme-post-content :is(ul, ol) {
    margin-left: 1em;
    padding-left: 0;
  }

  /* Headings scale down a touch */
  .elementor-widget-text-editor h2,
  .elementor-widget-theme-post-content h2 {
    font-size: 1.4em;
    margin-top: 30px;
    margin-bottom: 16px;
    padding-bottom: 5px;
  }
  .elementor-widget-text-editor h3,
  .elementor-widget-theme-post-content h3 {
    font-size: 1.2em;
    margin-top: 28px;
    margin-bottom: 14px;
  }
  .elementor-widget-text-editor h4,
  .elementor-widget-theme-post-content h4 {
    font-size: 1.1em;
    margin-top: 25px;
    margin-bottom: 12px;
  }

  /* Blockquotes slightly tighter */
  .elementor-widget-text-editor blockquote,
  .elementor-widget-theme-post-content blockquote {
    margin: 20px 0;
    padding: 10px 16px;
  }

  /* Callouts: less padding on mobile */
  .elementor-widget-text-editor .callout,
  .elementor-widget-theme-post-content .callout {
    padding: 14px 16px;
    margin: 18px 0;
  }
}

/* Tablets (768px–1024px) – optional modest tweak */
@media (min-width: 768px) and (max-width: 1024px) {
  .elementor-widget-text-editor :is(ul, ol),
  .elementor-widget-theme-post-content :is(ul, ol) {
    margin-left: 1.15em;
  }
}/* End custom CSS */