/* Angel's Haven Care: article styling for posts (2026-10-02, native Elementor build).

   The template is ordinary Elementor widgets so the team can change the image, the headline and
   anything else in the editor. These rules only give those widgets the site's typography and colour,
   through the custom CSS class set on each widget, so an article still matches the location and
   service pages without anyone setting fifty style controls by hand.
   Width and spacing are deliberately NOT set here: those are Elementor section settings, so they can
   be dragged in the editor. */

/* hero */
.ap-h1 .elementor-heading-title,
.ap-h1 h1 {
  font-family: 'Lora', serif; font-weight: 600;
  font-size: clamp(32px, 4.4vw, 58px); line-height: 1.08; letter-spacing: -0.015em;
  color: #fff; margin: 0;
}
.ap-stand, .ap-stand p {
  font-size: clamp(16px, 1.5vw, 19px); line-height: 1.6;
  color: rgba(243, 237, 225, 0.88); margin: 0;
}
.ap-stand { max-width: 62ch; }

/* the facts rail */
.ap-fact, .ap-fact p { margin: 0; font-size: 14.5px; line-height: 1.5; color: rgba(243, 237, 225, 0.8); }
.ap-fact strong { display: block; margin-bottom: 4px; font-family: 'Lora', serif; font-weight: 600; font-size: 18px; color: var(--cream, #fbfaf8); }
.ap-fact a { color: var(--cream, #fbfaf8); font-weight: 600; }

/* article body: whatever prose the editor produces */
.ap-body .elementor-widget-container > *:first-child { margin-top: 0; }
.ap-body .elementor-widget-container > *:last-child { margin-bottom: 0; }
.ap-body p { margin: 0 0 24px; font-size: 17.5px; line-height: 1.75; color: var(--ink-2, #3a3c33); }
.ap-body h2 {
  font-family: 'Lora', serif; font-weight: 600;
  font-size: clamp(25px, 2.6vw, 34px); line-height: 1.18; letter-spacing: -0.01em;
  color: var(--ink, #1c1d18); margin: 54px 0 18px;
}
.ap-body h3 {
  font-family: 'Lora', serif; font-weight: 600;
  font-size: clamp(20px, 2vw, 24px); line-height: 1.26;
  color: var(--ink, #1c1d18); margin: 38px 0 14px;
}
.ap-body h4 { font-weight: 600; font-size: 17px; color: var(--ink, #1c1d18); margin: 30px 0 10px; }
.ap-body ul, .ap-body ol { margin: 0 0 26px; padding-left: 22px; }
.ap-body li { margin-bottom: 10px; font-size: 17.5px; line-height: 1.7; color: var(--ink-2, #3a3c33); }
.ap-body li:last-child { margin-bottom: 0; }
.ap-body a { color: var(--clay, #006039); text-decoration: underline; text-underline-offset: 3px; }
.ap-body a:hover { text-decoration-thickness: 2px; }
.ap-body strong { color: var(--ink, #1c1d18); font-weight: 600; }
.ap-body blockquote {
  margin: 40px 0; padding: 0;
  font-family: 'Lora', serif; font-size: clamp(20px, 2.2vw, 26px); line-height: 1.45; color: var(--ink, #1c1d18);
}
.ap-body blockquote p { font: inherit; color: inherit; margin: 0 0 12px; }
.ap-body blockquote p:last-child { margin: 0; }
.ap-body img, .ap-body video { display: block; max-width: 100%; height: auto; margin: 34px 0; }
.ap-body figure { margin: 34px 0; }
.ap-body figure img { margin: 0; }
.ap-body figcaption { margin-top: 10px; font-size: 14px; line-height: 1.5; color: var(--ink-2, #3a3c33); }
.ap-body table { width: 100%; border-collapse: collapse; margin: 32px 0; font-size: 16px; }
.ap-body th, .ap-body td { padding: 13px 14px; text-align: left; border-bottom: 1px solid var(--line, rgba(28,29,24,.12)); vertical-align: top; }
.ap-body th { font-weight: 600; color: var(--ink, #1c1d18); }
.ap-body td { color: var(--ink-2, #3a3c33); line-height: 1.6; }
.ap-body hr { border: 0; border-top: 1px solid var(--line, rgba(28,29,24,.12)); margin: 46px 0; }

/* related reading, Elementor's own Posts widget */
.ap-posts .elementor-post__title, .ap-posts .elementor-post__title a {
  font-family: 'Lora', serif; font-weight: 600; font-size: 18.5px; line-height: 1.3; color: var(--ink, #1c1d18);
}
.ap-posts .elementor-post__title a:hover { color: var(--clay, #006039); }
.ap-posts .elementor-post__excerpt p { font-size: 14.5px; line-height: 1.6; color: var(--ink-2, #3a3c33); }
.ap-posts .elementor-post { border-top: 1px solid var(--line, rgba(28,29,24,.12)); padding-top: 18px; }

/* related reading heading, on the light background */
.ap-more-h .elementor-heading-title {
  font-family: 'Lora', serif; font-weight: 600;
  font-size: clamp(23px, 2.4vw, 31px); line-height: 1.15; color: var(--ink, #1c1d18); margin: 0;
}

/* closing call to action */
.ap-cta-h .elementor-heading-title {
  font-family: 'Lora', serif; font-weight: 600;
  font-size: clamp(26px, 3vw, 38px); line-height: 1.14; color: var(--cream, #fbfaf8); margin: 0;
}
.ap-cta-t, .ap-cta-t p { font-size: 16.5px; line-height: 1.7; color: rgba(243, 237, 225, 0.82); margin: 0; }

@media (max-width: 860px) {
  .ap-body p, .ap-body li { font-size: 17px; }
}
