@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:wght@400;500;600;700;800;900&display=swap');

body.single-post .elementor-widget-theme-post-title.elementor-widget-theme-post-title .elementor-heading-title,
body.single-post .elementor-widget-theme-post-title.elementor-widget-theme-post-title .elementor-heading-title a,
body.single-post h1.entry-title,
body.single-post h1.entry-title a {
    font-family: "Playfair Display", serif !important;
    font-size: 2.5rem !important;
    line-height: 1.2 !important;
}
/* ==============================
   POST GRID / STORY CARD THUMBS
   ============================== */
.elementor-posts .elementor-post__thumbnail,
.elementor-posts__thumbnail,
.e-loop-item .elementor-post__thumbnail {
  width: 100%;
  min-height: 200px;
  max-height: 70vh;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  background-color: #f0f0f0;
}

.elementor-posts .elementor-post__thumbnail img,
.elementor-posts__thumbnail img,
.e-loop-item img {
  width: 100%;
  height: auto !important;
  max-height: 70vh !important;
  object-fit: contain !important;
  object-position: center !important;
  display: block;
}

/* Mobile thumb adjustments */
@media (max-width: 767px) {
  .elementor-posts .elementor-post__thumbnail,
  .elementor-posts__thumbnail,
  .e-loop-item .elementor-post__thumbnail {
    min-height: 150px;
    max-height: 50vh;
    background-color: transparent !important;
  }

  .elementor-posts .elementor-post__thumbnail img,
  .elementor-posts__thumbnail img,
  .e-loop-item img {
    max-height: 50vh !important;
    width: 100% !important;
    object-fit: cover !important;
  }
}

/* ==============================
   INDIVIDUAL POST CONTENT
   ============================== */
.elementor-post .elementor-widget-image img,
.single-post .elementor-widget-image img,
article .elementor-widget-image img {
  width: auto !important;
  height: auto !important;
  max-width: 100% !important;
  object-fit: unset !important;
}

/* ==============================
   FOOTER
   ============================== */
footer img,
.site-footer img,
.elementor-location-footer img,
.footer-widget img {
  width: auto !important;
  height: auto !important;
  max-width: 100% !important;
  object-fit: unset !important;
}

.elementor-location-footer .elementor-widget-theme-site-logo img {
  width: 150px !important;
  height: auto !important;
  max-width: 150px !important;
}

/* ==============================
   CAROUSEL FIX (all devices)
   ============================== */
.elementor-widget-carousel {
  overflow: hidden !important;
}

.elementor-widget-media-carousel.elementor-main-swiper,
.elementor-widget-carousel .swiper-wrapper {
  overflow: visible !important;
}

.elementor-widget-carousel .swiper-wrapper {
  align-items: stretch !important;
}

.elementor-widget-carousel .swiper-slide {
  height: auto !important;
  overflow: visible !important;
  padding-top: 20px !important;
  padding-bottom: 20px !important;
  box-sizing: border-box !important;
}

@media (min-width: 1025px) {
  .elementor-widget-carousel .swiper-slide { min-height: 350px !important; }
}
@media (min-width: 768px) and (max-width: 1024px) {
  .elementor-widget-carousel .swiper-slide { min-height: 300px !important; }
}
@media (max-width: 767px) {
  .elementor-widget-carousel .swiper-slide { min-height: 250px !important; }
}

/* Carousel image - contain (all devices) */
.elementor-carousel-image {
  background-size: contain !important;
  background-repeat: no-repeat !important;
  background-position: center center !important;
}

/* ==============================
   HIDDEN SPACERS / LAYOUT FIXES
   ============================== */
.elementor-element-f264e8b,
.elementor-element-63ed378,
.elementor-element-4184371,
.elementor-element-d0af9d1,
.elementor-element-ec2093b {
  display: none !important;
}

/* Fix the oversized H1 on desktop */
.elementor-element-070e731 h1 {
  font-size: 1.8rem !important;
  line-height: 1.2 !important;
}

/* Fix loop item spacing on mobile */
@media (max-width: 767px) {
  .elementor-element-e62e8c7 {
    padding: 0 !important;
  }
  .elementor-element-e62e8c7 .e-con-inner {
    gap: 10px !important;
  }
}

/* ==============================
   LINKS - ALL BLACK BY DEFAULT
   ============================== */
a,
body:not(.wp-admin) a {
  color: #000000 !important;
}

a:hover,
a:visited,
a:active,
body:not(.wp-admin) a:hover,
body:not(.wp-admin) a:visited,
body:not(.wp-admin) a:active {
  color: #000000 !important;
}

/* ==============================
   LINKS - BLUE IN POST CONTENT
   ============================== */
.single-post .entry-content a,
.single-post .elementor-widget-text-editor a,
.single-post article a,
.single .entry-content a,
.single .elementor-widget-text-editor a,
.elementor-widget-text-editor a,
.entry-content a,
.post-content a {
  color: #0066CC !important;
}

.single-post .entry-content a:hover,
.single-post .elementor-widget-text-editor a:hover,
.single-post article a:hover,
.single .entry-content a:hover,
.single .elementor-widget-text-editor a:hover,
.elementor-widget-text-editor a:hover,
.entry-content a:hover,
.post-content a:hover {
  color: #0044AA !important;
}

.single-post .entry-content a:visited,
.single-post .elementor-widget-text-editor a:visited,
.single-post article a:visited,
.single .entry-content a:visited,
.single .elementor-widget-text-editor a:visited,
.elementor-widget-text-editor a:visited,
.entry-content a:visited,
.post-content a:visited {
  color: #0066CC !important;
}

/* ==============================
   LINKS - NEWSPACK CAROUSEL BLACK
   ============================== */
.wp-block-newspack-blocks-carousel a,
.wp-block-newspack-blocks-carousel .entry-title a,
.wpnbpc a {
  color: #000000 !important;
}

/* ==============================
   ADMIN TOOLBAR - WHITE LINKS
   ============================== */
#wpadminbar a,
#wpadminbar a:link,
#wpadminbar a:visited {
  color: #fff !important;
}

#wpadminbar a:hover {
  color: #00b9eb !important;
}

/* ==============================
   TYPOGRAPHY
   ============================== */
h1, h2, h3, h4, h5, h6 {
  font-family: 'Playfair Display', Georgia, serif;
}


/* ==============================
   CATEGORY LABELS - VOGUE STYLE
   ============================== */
.elementor-post__badge,
.elementor-post-info__item--type-categories a,
.elementor-post-info .elementor-icon-list-item a,
.post-categories a,
.cat-links a,
.entry-meta .cat-links a,
a[rel="category tag"] {
	  font-family: 'Lato', sans-serif !important;
  font-size: 0.65rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.2em !important;
  text-transform: uppercase !important;
  color: #000000 !important;
  text-decoration: none !important;
  border-bottom: 1px solid #000000;
  padding-bottom: 1px;
}

.elementor-post__badge,
.elementor-post-info__item--type-categories a,
.elementor-post-info .elementor-icon-list-item a,
.post-categories a,
.cat-links a,
.entry-meta .cat-links a,
a[rel="category tag"] {
  transition: opacity 0.2s ease;
}

.elementor-post__badge:hover,
.elementor-post-info__item--type-categories a:hover,
.post-categories a:hover,
.cat-links a:hover,
a[rel="category tag"]:hover {
  opacity: 0.5 !important;
  color: #000000 !important;
}
body:not(.wp-admin) .elementor-widget-theme-post-content a {
  color: #0000FF !important;
}
body:not(.wp-admin) .wp-block-newspack-blocks-carousel .entry-wrapper a {
  color: #FFFFFF !important;
  font-size: 0.9em !important;
  text-shadow: 1px 1px 3px rgba(0,0,0,0.8) !important;
}
.elementor-element-e8d3930 .elementor-heading-title {
    font-size: 25px !important;
}
.elementor-post__title,
.elementor-post__title a {
    font-size: 18px !important;
}