@import url('https://fonts.googleapis.com/css2?family=Roboto:wght@100..900&family=Playfair+Display:wght@400..900&family=Merriweather:wght@300..900&family=Source+Sans+Pro:wght@200..900&display=swap');

/* ========================================
=== 1. Base Typography & Body ===
======================================== */
html {
  font-size: 100%; /* ~16px */
  scroll-behavior: smooth; /* Safari and modern browsers */
}

body,
p {
   font-family: Roboto, system-ui, -apple-system, BlinkMacSystemFont,
               "Segoe UI", Oxygen-Sans, Ubuntu, Cantarell,
               "Helvetica Neue", Arial, sans-serif;
  font-size: clamp(1.05rem, 1vw + 1rem, 1.25rem); /* ~17–20px */
  font-weight: 400;
  line-height: 1.5;
  color: rgb(51, 51, 51);
  margin-top: 0;          /* optional, often removed for the first paragraph */
  margin-bottom: 1.5rem;  /* space between paragraphs */
  padding: 0;
}
@media (max-width: 61.25rem) {  /* tablet */
  p { margin-bottom: 1.25rem; }
}
@media (max-width: 47.9375rem) {  /* mobile */
  p { margin-bottom: 1rem; }
}

/* Links */
a {
  color: #115e89;
  text-decoration: none;
}
a:hover { text-decoration: underline; }

/* ========================================
   === 2 Headings ===
======================================== */

/* H1 Titles */
h1,
.page h1.entry-title,
.et_pb_post_title h1 {
  background-color: transparent;
  font-family: 'Playfair Display', serif;
  font-weight: 700 !important;
  font-size: clamp(2rem, 5vw, 2.5rem);
  line-height: 1.2;
  margin-top: clamp(1.25rem, 2vw, 2rem);
  margin-bottom: clamp(0.5rem, 0.8vw, 1rem);
  color: #115e89;
  text-align: left;
}

/* Tablet H1 */
@media (max-width: 980px) {
  h1,
  .page h1.entry-title,
  .et_pb_post_title h1 {
    font-size: clamp(1.75rem, 4vw, 2.25rem);
  }
}

/* Mobile H1 */
@media (max-width: 767px) {
  h1,
  .page h1.entry-title,
  .et_pb_post_title h1 {
    font-size: clamp(1.5rem, 5vw, 1.875rem);
    margin-top: clamp(1rem, 2vw, 1.5rem);
    margin-bottom: clamp(0.5rem, 0.8vw, 0.75rem);
  }
}

/* H2 Titles - Main content */
h2,
.category h2.entry-title,
.home h2.entry-title {
  font-family: "Merriweather", serif;
  font-weight: 600;
  font-size: clamp(1.5rem, 3vw + 0.5rem, 2.25rem);
  line-height: 1.25;
  margin-top: clamp(1.25rem, 2vw, 2rem);
  margin-bottom: clamp(0.25rem, 0.4vw, 0.5rem); /* reduced by half */
  padding-bottom: clamp(0.15625rem, 0.3125vw, 0.3125rem); /* half of 10px */
  color: #115e89;
}

/* H2 - Grid post titles */
.home .et_pb_blog_grid .et_pb_post h2.entry-title,
.archive .et_pb_blog_grid .et_pb_post h2.entry-title {
  font-family: "Merriweather", serif;
  font-weight: 600;
  font-size: clamp(1.125rem, 1.5vw + 0.25rem, 1.5rem);
  line-height: 1.2;
  margin-top: clamp(1rem, 1.5vw, 1.5rem);
  margin-bottom: clamp(0.25rem, 0.4vw, 0.375rem); /* reduced by half */
  color: #115e89;
}

/* Tablet H2 Grid */
@media (max-width: 980px) {
  .home .et_pb_blog_grid .et_pb_post h2.entry-title,
  .archive .et_pb_blog_grid .et_pb_post h2.entry-title {
    font-size: clamp(1.2rem, 2vw + 0.25rem, 1.55rem); /* slightly larger for tablet */
  }

  h2,
  .category h2.entry-title,
  .home h2.entry-title {
    font-size: clamp(1.4rem, 3vw + 0.5rem, 1.95rem); /* main H2 scaling on tablet */
  }
}

/* Mobile H2 Grid */
@media (max-width: 767px) {
  .home .et_pb_blog_grid .et_pb_post h2.entry-title,
  .archive .et_pb_blog_grid .et_pb_post h2.entry-title {
    font-size: clamp(1.125rem, 3vw + 0.25rem, 1.375rem); /* slightly larger min for mobile visibility */
    margin-top: clamp(0.75rem, 1vw, 1rem);
    margin-bottom: clamp(0.2rem, 0.3vw, 0.25rem); /* half of original mobile margin-bottom */
  }

  h2,
  .category h2.entry-title,
  .home h2.entry-title {
    font-size: clamp(1.25rem, 4vw + 0.5rem, 1.5rem); /* main H2 scaling on mobile */
  }
}



/* H3-H6 */
h3 { font-family:"Merriweather",serif;font-size:clamp(1.25rem,2vw+0.5rem,1.75rem);line-height:1.25;margin-top:clamp(1.25rem,2vw,2rem);margin-bottom:clamp(0.5rem,0.8vw,1rem);}
h4 { font-family:"Merriweather",serif;font-size:clamp(1.125rem,1.5vw+0.25rem,1.5rem);line-height:1.2;margin-top:clamp(1.25rem,2vw,2rem);margin-bottom:clamp(0.5rem,0.8vw,1rem);}
h5 { font-family:"Merriweather",serif;font-size:clamp(1rem,1vw+0.25rem,1.25rem);line-height:1.15;margin-top:clamp(1.25rem,2vw,2rem);margin-bottom:clamp(0.5rem,0.8vw,1rem);}
h6 { font-family:"Merriweather",serif;font-size:clamp(0.875rem,0.5vw+0.25rem,1rem);line-height:1.1;margin-top:clamp(1.25rem,2vw,2rem);margin-bottom:clamp(0.5rem,0.8vw,1rem);}

/* ========================================
   === 3 Paragraphs, Lists & Blockquotes ===
======================================== */
p, ul, ol { margin-top:0; margin-bottom:clamp(1rem,0.6vw +0.75rem,1.5rem);}
ul, ol { padding-left:1.5rem;}
li { margin-bottom:0.5rem;}
blockquote {
  margin: clamp(1.25rem,1.5vw,2rem) 0;
  padding: clamp(0.75rem,1vw,1.25rem) clamp(1rem,2vw,2rem);
  font-size: 1rem;
  font-style: italic;
  line-height: 1.5;
  border-left: 0.25rem solid #115e89;
  color: #1a1a1a;
  background-color: rgba(212,207,196,0.5);
}
/* ========================================
   === 3 Paragraphs, Lists & Blockquotes ===
======================================== */
p, ul, ol { 
  margin-top: 0; 
  margin-bottom: clamp(1rem, 0.6vw + 0.75rem, 1.5rem);
}
ul, ol { padding-left: 1.5rem; }

/* List item spacing */
li { 
  margin-bottom: 0.5rem; 
}

/* Tablet (max-width: 980px / 61.25rem) */
@media (max-width: 61.25rem) {
  li { margin-bottom: 0.45rem; }
}

/* Mobile (max-width: 767px / 47.9375rem) */
@media (max-width: 47.9375rem) {
  li { margin-bottom: 0.4rem; }
}

/* ========================================
   === 4B Post Meta (Homepage & Category) ===
======================================== */
.et_pb_post p.post-meta,
.homepage-grid .et_pb_post p.post-meta,
.category-grid .et_pb_post p.post-meta {
  font-family: Roboto, sans-serif;
  font-weight: 500;
  font-size: clamp(0.7rem, 1vw, 0.85rem);
  color:rgb(51, 51, 51);
  text-decoration: none;
}

.homepage-grid .et_pb_post p.post-meta a,
.category-grid .et_pb_post p.post-meta a {
  color: rgb(51, 51, 51);
  text-decoration: none;
}
.homepage-grid .et_pb_post p.post-meta a:hover,
.category-grid .et_pb_post p.post-meta a:hover {
  color: #115e89;
  text-decoration: underline;
}

/* Force uniform meta text color & weight, override inline styles */
.et_pb_title_meta_container,
.et_pb_title_meta_container span,
.et_pb_title_meta_container a {
    color: rgb(51, 51, 51) !important;
    font-weight: 400 !important;
    text-decoration: none !important;
    text-decoration-color: rgb(51, 51, 51) !important; /* ensures underline inherits correctly */
}

/* Hover for links */
.et_pb_title_meta_container a:hover {
    color: #115e89 !important;
    text-decoration: underline !important;
    text-decoration-color: #115e89 !important; /* ensures underline shows correct color */
}

/* Tablet adjustments */
@media (max-width: 980px) {
    .et_pb_title_meta_container,
    .et_pb_title_meta_container span,
    .et_pb_title_meta_container a {
        font-size: 0.875rem !important;
    }
}

/* Mobile adjustments */
@media (max-width: 767px) {
    .et_pb_title_meta_container,
    .et_pb_title_meta_container span,
    .et_pb_title_meta_container a {
        font-size: 0.8125rem !important;
    }
}


/* ========================================
   === 5A Homepage / Category Grids ===
======================================== */
.body.homepage .et_pb_section,
.archive .et_pb_section,
.category .et_pb_section {
  width: 100%; /* full width section */
}

.body.homepage .et_pb_salvattore_content,
.body.homepage .et_pb_posts,
.archive .et_pb_salvattore_content,
.archive .et_pb_posts,
.category .et_pb_salvattore_content,
.category .et_pb_posts {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  width: 100%;
}
/* === Category row colors (with responsive tweaks) === */
.category-grid-row {
  transition: background-color 0.4s ease-in-out;
  padding: 1rem; /* ensures background is visible inside grid */
}

/* Individual category backgrounds */
.category-history .category-grid-row { background-color: rgba(74, 85, 104, 0.15); }
.category-people .category-grid-row { background-color: rgba(201, 101, 74, 0.15); }
.category-places .category-grid-row { background-color: rgba(138, 137, 132, 0.15); }
.category-church .category-grid-row { background-color: rgba(91, 44, 69, 0.15); }
.category-genealogy .category-grid-row { background-color: rgba(90, 107, 61, 0.15); }
.category-archaeology .category-grid-row { background-color: rgba(123, 79, 50, 0.15); }
.category-digs .category-grid-row { background-color: rgba(173, 156, 140, 0.15); }
.category-walkovers .category-grid-row { background-color: rgba(79, 109, 91, 0.15); }
.category-archive .category-grid-row { background-color: rgba(110, 102, 88, 0.15); }
.category-object-of-the-month .category-grid-row { background-color: rgba(164, 117, 81, 0.15); }
.category-collections .category-grid-row { background-color: rgba(163, 137, 116, 0.15); }
.category-events .category-grid-row { background-color: rgba(209, 164, 65, 0.15); }
.category-exhibitions .category-grid-row { background-color: rgba(178, 115, 86, 0.15); }
.category-taproot .category-grid-row { background-color: rgba(106, 138, 130, 0.15); }

/* Ensure the Divi grid posts don’t override the row colors */
.category .et_pb_blog_grid .et_pb_post {
  background-color: transparent;
}

/* Tablet */
@media (max-width: 61.25rem) { /* 980px */
  .category-grid-row {
    padding: 0.75rem; /* slightly smaller for tablet */
  }
}

/* Mobile */
@media (max-width: 47.9375rem) { /* 767px */
  .category-grid-row {
    padding: 0.5rem; /* smaller padding for mobile */
  }
}


/* === Optional Fade / Overlay for Category Rows === */
.category-grid-row::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border-radius: inherit; /* match any row rounding */
  pointer-events: none; /* so it doesn’t block clicks */
  background: linear-gradient(to bottom, rgba(255,255,255,0.25), rgba(255,255,255,0)); /* subtle top fade */
  z-index: 0; /* behind content */
}

/* Ensure content stays above the overlay */
.category-grid-row > * {
  position: relative;
  z-index: 1;
}

/* Tablet */
@media (max-width: 61.25rem) {
  .category-grid-row::before {
    background: linear-gradient(to bottom, rgba(255,255,255,0.2), rgba(255,255,255,0));
  }
}

/* Mobile */
@media (max-width: 47.9375rem) {
  .category-grid-row::before {
    background: linear-gradient(to bottom, rgba(255,255,255,0.15), rgba(255,255,255,0));
  }
}




/* Ensure grid children behave correctly */
.body.homepage .et_pb_salvattore_content .column,
.body.homepage .et_pb_posts .column,
.archive .et_pb_salvattore_content .column,
.archive .et_pb_posts .column,
.category .et_pb_salvattore_content .column,
.category .et_pb_posts .column {
  float: none !important;
  width: auto !important;
}

/* Tablet: 2 columns */
@media (max-width: 980px) {
  .body.homepage .et_pb_salvattore_content,
  .body.homepage .et_pb_posts,
  .archive .et_pb_salvattore_content,
  .archive .et_pb_posts,
  .category .et_pb_salvattore_content,
  .category .et_pb_posts {
    grid-template-columns: repeat(2, 1fr);
    gap: 18px;
  }
}

/* Mobile: 1 column */
@media (max-width: 767px) {
  .body.homepage .et_pb_salvattore_content,
  .body.homepage .et_pb_posts,
  .archive .et_pb_salvattore_content,
  .archive .et_pb_posts,
  .category .et_pb_salvattore_content,
  .category .et_pb_posts {
    grid-template-columns: 1fr;
    gap: 16px;
  }
}

/* ========================================
   === 5B Homepage / Category Post Content (Responsive) ===
======================================== */
.home .post-content-inner p,
.archive .post-content-inner p,
.category .post-content-inner p {
  color: rgb(51, 51, 51);
  font-weight: 400;
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Ubuntu, Cantarell, "Helvetica Neue", Arial, sans-serif;
font-size: clamp(0.8125rem, 1vw + 0.875rem, 1rem); /* 13px min → 16px max */
line-height: clamp(1.3rem, 2vw + 1rem, 1.5rem);  max-height: calc(1.5rem * 8); /* 8 lines desktop */
  overflow: hidden;
  position: relative;

  /* Fade mask (modern browsers) */
  -webkit-mask-image: linear-gradient(to bottom, rgba(0,0,0,1) 70%, rgba(0,0,0,0));
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-size: 100% 100%;
  mask-image: linear-gradient(to bottom, rgba(0,0,0,1) 70%, rgba(0,0,0,0));
  mask-repeat: no-repeat;
  mask-size: 100% 100%;
}

/* Tablet (max 980px) → 7 lines, slightly smaller font/line-height */
@media (max-width: 61.25rem) {
  .home .post-content-inner p,
  .archive .post-content-inner p,
  .category .post-content-inner p {
    font-size: 0.875rem;      /* 14px */
    line-height: 1.4rem;      /* 22.4px */
    max-height: calc(1.4rem * 7); /* 7 lines tablet */
    -webkit-mask-image: linear-gradient(to bottom, rgba(0,0,0,1) 70%, rgba(0,0,0,0));
    mask-image: linear-gradient(to bottom, rgba(0,0,0,1) 70%, rgba(0,0,0,0));
  }
}

/* Mobile (max 767px) → 6 lines, smaller font/line-height */
@media (max-width: 47.9375rem) {
  .home .post-content-inner p,
  .archive .post-content-inner p,
  .category .post-content-inner p {
    font-size: 0.8125rem;     /* 13px */
    line-height: 1.3rem;      /* 20.8px */
    max-height: calc(1.3rem * 6); /* 6 lines mobile */
    -webkit-mask-image: linear-gradient(to bottom, rgba(0,0,0,1) 70%, rgba(0,0,0,0));
    mask-image: linear-gradient(to bottom, rgba(0,0,0,1) 70%, rgba(0,0,0,0));
  }
}

/* Fallback for browsers that support -webkit-line-clamp but not CSS mask */
@supports (-webkit-line-clamp: 8) and (not (mask-image: linear-gradient(to bottom, #000, transparent))) {
  .home .post-content-inner p,
  .archive .post-content-inner p,
  .category .post-content-inner p {
    display: -webkit-box;
    -webkit-line-clamp: 8;         /* desktop fallback */
    -webkit-box-orient: vertical;
    text-overflow: ellipsis;
  }

  @media (max-width: 61.25rem) {
    .home .post-content-inner p,
    .archive .post-content-inner p,
    .category .post-content-inner p {
      -webkit-line-clamp: 7;         /* tablet fallback */
    }
  }

  @media (max-width: 47.9375rem) {
    .home .post-content-inner p,
    .archive .post-content-inner p,
    .category .post-content-inner p {
      -webkit-line-clamp: 6;         /* mobile fallback */
    }
  }
}

/* ========================================
=== 5C Homepage / Category Post Content (Responsive) ===
======================================== */
.home .post-content-inner p,
.archive .post-content-inner p,
.category .post-content-inner p {
  color: rgb(51, 51, 51);
  font-weight: 400;
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Ubuntu, Cantarell, "Helvetica Neue", Arial, sans-serif;
  font-size: clamp(0.8125rem, 1vw + 0.875rem, 1rem); /* 13px min → 16px max */
  line-height: clamp(1.3rem, 2vw + 1rem, 1.5rem);
  max-height: calc(1.5rem * 8); /* 8 lines desktop */
  margin-top: 0;                /* keep first line tight */
  margin-bottom: 1.5rem;        /* space between paragraphs */
  overflow: hidden;
  position: relative;

  /* Fade mask (modern browsers) */
  -webkit-mask-image: linear-gradient(to bottom, rgba(0,0,0,1) 70%, rgba(0,0,0,0));
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-size: 100% 100%;
  mask-image: linear-gradient(to bottom, rgba(0,0,0,1) 70%, rgba(0,0,0,0));
  mask-repeat: no-repeat;
  mask-size: 100% 100%;
}

/* Tablet (max-width: 980px) → 7 lines, slightly smaller font/line-height */
@media (max-width: 61.25rem) {
  .home .post-content-inner p,
  .archive .post-content-inner p,
  .category .post-content-inner p {
    font-size: 0.875rem;      /* 14px */
    line-height: 1.4rem;      /* 22.4px */
    max-height: calc(1.4rem * 7); /* 7 lines tablet */
    margin-bottom: 1.25rem;    /* slightly less spacing on tablet */
    -webkit-mask-image: linear-gradient(to bottom, rgba(0,0,0,1) 70%, rgba(0,0,0,0));
    mask-image: linear-gradient(to bottom, rgba(0,0,0,1) 70%, rgba(0,0,0,0));
  }
}

/* Mobile (max-width: 767px) → 6 lines, smaller font/line-height */
@media (max-width: 47.9375rem) {
  .home .post-content-inner p,
  .archive .post-content-inner p,
  .category .post-content-inner p {
    font-size: 0.8125rem;     /* 13px */
    line-height: 1.3rem;      /* 20.8px */
    max-height: calc(1.3rem * 6); /* 6 lines mobile */
    margin-bottom: 1rem;       /* smaller spacing for mobile */
    -webkit-mask-image: linear-gradient(to bottom, rgba(0,0,0,1) 70%, rgba(0,0,0,0));
    mask-image: linear-gradient(to bottom, rgba(0,0,0,1) 70%, rgba(0,0,0,0));
  }
}

/* Fallback for browsers that support -webkit-line-clamp but not CSS mask */
@supports (-webkit-line-clamp: 8) and (not (mask-image: linear-gradient(to bottom, #000, transparent))) {
  .home .post-content-inner p,
  .archive .post-content-inner p,
  .category .post-content-inner p {
    display: -webkit-box;
    -webkit-line-clamp: 8;         /* desktop fallback */
    -webkit-box-orient: vertical;
    text-overflow: ellipsis;
  }

  @media (max-width: 61.25rem) {
    .home .post-content-inner p,
    .archive .post-content-inner p,
    .category .post-content-inner p {
      -webkit-line-clamp: 7;         /* tablet fallback */
    }
  }

  @media (max-width: 47.9375rem) {
    .home .post-content-inner p,
    .archive .post-content-inner p,
    .category .post-content-inner p {
      -webkit-line-clamp: 6;         /* mobile fallback */
    }
  }
}



/* ========================================
   === 6A Buttons & Inputs ===
======================================== */
.et_pb_button {
  background-color:#115e89;
  color:white;
  font-weight:600;
  border-radius:.1875rem;
}
.et_pb_button:hover { background-color:#115e89; }

input, textarea, select {
  font-family: inherit;
  font-size: 1rem;
  padding: 0.5rem;
  border: 1px solid #ccc;
  border-radius: 0.25rem;
}

/* ========================================
   === 6B Responsive Read More Button with Hover ===
======================================== */

/* Base / Desktop */
.et_pb_button.et_pb_more_button {
  font-size: 1rem;             /* ~16px */
  padding: 0.5rem 1rem;        /* vertical | horizontal */
  border-radius: 0.1875rem;    /* keep existing */
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

/* Hover effect - Desktop */
.et_pb_button.et_pb_more_button:hover {
  text-decoration: none;           /* no underline */
  transform: translateY(-2px);     /* slight lift */
  box-shadow: 0 0.25rem 0.5rem rgba(0,0,0,0.1); /* soft shadow */
}

/* Tablet (max-width: 980px / 61.25rem) */
@media (max-width: 61.25rem) {
  .et_pb_button.et_pb_more_button {
    font-size: 0.875rem;           /* ~14px */
    padding: 0.45rem 0.9rem;
  }
  .et_pb_button.et_pb_more_button:hover {
    transform: translateY(-1.5px);
    box-shadow: 0 0.2rem 0.4rem rgba(0,0,0,0.08);
  }
}

/* Mobile (max-width: 767px / 47.9375rem) */
@media (max-width: 47.9375rem) {
  .et_pb_button.et_pb_more_button {
    font-size: 0.8125rem;          /* ~13px */
    padding: 0.4rem 0.75rem;
  }
  .et_pb_button.et_pb_more_button:hover {
    transform: translateY(-1px);
    box-shadow: 0 0.15rem 0.3rem rgba(0,0,0,0.07);
  }
}

/* ========================================
   === 7 Images ===
======================================== */
img { max-width:100%; height:auto; display:block; margin-bottom:1rem; }

/* ========================================
   === 8 Responsive tweaks for body & headings ===
======================================== */
@media (max-width: 980px) {
  body {font-size: clamp(1rem, 1.5vw + 0.9rem, 1.125rem);}
  .entry-title { font-size: clamp(1.75rem, 4vw + 0.9rem, 2.25rem); }
  h2 { font-size: clamp(1.4rem, 3vw + 0.5rem, 1.9rem); }
}

@media (max-width: 767px) {
  body {font-size: clamp(0.95rem, 2vw + 0.8rem, 1.05rem);}
  .entry-title { font-size: clamp(1.5rem, 5.5vw + 0.55rem, 2rem); }
  h2 { font-size: clamp(1.125rem, 3.6vw + 0.25rem, 1.5rem); }
}

/* ==========================
   Single Post / Page / Category Columns
   Adjust top spacing & increase inner padding
========================== */

/* Outer row container (centering & max-width already fixed) */
.single-post .et_pb_row_0_tb_body,
.page .et_pb_row_0_tb_body,
.category .et_pb_row_0_tb_body {
  display: block;
  max-width: 65rem;      /* narrower than before */
  margin-left: auto;
  margin-right: auto;
  width: 100%;
  box-sizing: border-box;
}

/* Inner column: background, padding & spacing */
.single-post .et_pb_column_0_tb_body,
.page .et_pb_column_0_tb_body,
.category .et_pb_column_0_tb_body {
  width: 100%;
  max-width: 65rem;     
  padding-top: 0rem;         /* increased padding all around */
  padding-left: 4rem;         /* increased padding all around */
  padding-right: 4rem;         /* increased padding all around */
  padding-bottom: 3rem;         /* increased padding all around */
  border-radius: 0.25rem;
  border: 0.0625rem solid #e6e1d5;
  background-color: rgba(246,241,231,0.45); /* posts only */
  box-shadow: 0 0 0.625rem rgba(0,0,0,0.03);
  box-sizing: border-box;
  margin: 0 auto;        /* keeps it centered */
}

/* Pages/categories: override background if needed */
.page .et_pb_column_0_tb_body,
.category .et_pb_column_0_tb_body {
  background-color: transparent;
}

/* Tablet */
@media (max-width: 980px) {
  .single-post .et_pb_column_0_tb_body,
  .page .et_pb_column_0_tb_body,
  .category .et_pb_column_0_tb_body {
    padding-top: 0rem;        /* same relative to desktop */
    padding-left: 3rem;       /* slightly smaller */
    padding-right: 3rem;
    padding-bottom: 2.5rem;
  }
}

/* Mobile */
@media (max-width: 767px) {
  .single-post .et_pb_column_0_tb_body,
  .page .et_pb_column_0_tb_body,
  .category .et_pb_column_0_tb_body {
    padding-top: 0rem;
    padding-left: 2rem;       /* scaled down further */
    padding-right: 2rem;
    padding-bottom: 2rem;
  }
}


.post-meta {
font-weight: 400;
}


/* ========================================
   === 10 Slide Titles Over Images ===
======================================== */

/* Subtle overlay on slide image + text shadow for white text */
.et_pb_slider .et_pb_slide:before {
  content: '';
  position: absolute;
  top: 0; left: 0;
  width: 100%; height: 100%;
  background: rgba(0,0,0,0.15); /* subtle dark overlay */
  z-index: 1;
  pointer-events: none; /* allow clicks through overlay */
}

.et_pb_slide_title a {
  position: relative;
  z-index: 2; /* ensures text is above overlay */
  color: #ffffff;
  text-decoration: none;
  text-shadow: 0 1px 3px rgba(0,0,0,0.5); /* subtle shadow for contrast */
  transition: all 0.3s ease;
}

/* Remove underline on hover */
.et_pb_slide_title a:hover {
  text-decoration: none;
}

/* Tablet adjustments */
@media (max-width: 980px) {
  .et_pb_slide_title a {
    font-size: clamp(1.25rem, 2.5vw + 0.5rem, 1.5rem);
    text-shadow: 0 1px 2px rgba(0,0,0,0.5);
  }
}

/* Mobile adjustments */
@media (max-width: 767px) {
  .et_pb_slide_title a {
    font-size: clamp(1rem, 4vw + 0.25rem, 1.25rem);
    text-shadow: 0 1px 1.5px rgba(0,0,0,0.5);
  }
}

/* Force all <sup> elements to behave exactly like normal text */
body sup, body sup *, h1 sup, h2 sup, h3 sup, h4 sup, h5 sup, h6 sup, .et_pb_button sup, li sup, td sup, th sup, input sup, textarea sup, select sup { vertical-align: baseline !important; font-size: inherit !important; line-height: inherit !important; font-weight: inherit !important; font-family: inherit !important; color: inherit !important; position: static !important; top: auto !important; bottom: auto !important; transform: none !important; }

/* === Page 4548: simplified layout, text/link styling, consistent indent === */

/* Full-width white background */
body.page-id-4548 {
  background: #ffffff;
}

/* Main content wrapper */
body.page-id-4548 #main-content {
  margin: 0;
  padding: 0;
}

/* Sections: full-width background */
body.page-id-4548 #main-content .et_pb_section {
  width: 100%;
  background: #ffffff;
  padding: 0;
}

/* Rows: constrain content and apply consistent left indent */
body.page-id-4548 #main-content .et_pb_section .et_pb_row {
  max-width: calc(1200px - 5rem); /* safeguard width */
  margin: 0 auto;
  padding-left: 5rem;             /* consistent indent */
  padding-right: 20px;            /* breathing room on right */
  text-align: left;               /* force left alignment */
}

/* Responsive adjustments for indent */
@media (max-width: 980px) {
  body.page-id-4548 #main-content .et_pb_section .et_pb_row {
    max-width: calc(100% - 2rem);
    padding-left: 2rem;
  }
}

@media (max-width: 767px) {
  body.page-id-4548 #main-content .et_pb_section .et_pb_row {
    max-width: 100%;
    padding-left: 1rem;
    padding-right: 1rem;
  }
}

/* Modules inside rows */
body.page-id-4548 #main-content .et_pb_module {
  margin: 0;
  padding: 0;
  text-align: left; /* ensure text stays aligned left */
}

/* === Text Module font sizes (base font 1rem) === */
body.page-id-4548 .et_pb_text_inner,
body.page-id-4548 .et_pb_text p {
  font-size: 1rem !important;
  line-height: 1.15 !important;
}

/* Headings inside Text Modules */
body.page-id-4548 .et_pb_text h1 { 
  font-size: 1.8rem !important; 
  line-height: 1 !important; 
  text-align: left !important; 
}
body.page-id-4548 .et_pb_text h2 { 
  font-size: 1.5rem !important; 
  line-height: 0.95 !important; 
  text-align: left !important; 
}
body.page-id-4548 .et_pb_text h3 { 
  font-size: 1.3rem !important; 
  line-height: 0.9 !important; 
  text-align: left !important; 
}

/* Entry-title (main page H1) forced left aligned + indented */
body.page-id-4548 #main-content .container .entry-title,
body.page-id-4548 .entry-title {
  text-align: left !important;
  margin-left: 5rem; /* match the indent */
  margin-right: 0;
  margin-bottom: 0.5em; /* tighten spacing under title */
}

/* Responsive adjustments for entry-title indent */
@media (max-width: 980px) {
  body.page-id-4548 #main-content .container .entry-title,
  body.page-id-4548 .entry-title {
    margin-left: 2rem;
  }
}

@media (max-width: 767px) {
  body.page-id-4548 #main-content .container .entry-title,
  body.page-id-4548 .entry-title {
    margin-left: 1rem;
  }
}

/* Links inside Text Modules only */
body.page-id-4548 .et_pb_text a {
  color: #115e89 !important;
  text-decoration: none !important;
  transition: color 0.25s ease, text-decoration-color 0.25s ease;
}

body.page-id-4548 .et_pb_text a:hover {
  color: #0d4766 !important;
  text-decoration: underline !important;
  text-decoration-thickness: 2px;
  text-underline-offset: 3px;
}

body.page-id-4548 .et_pb_text a:visited {
  color: #0e4e75 !important;
}

body.page-id-4548 .et_pb_text a:active {
  color: #0a344b !important;
}
