/*
Theme Name: GeneratePress Child
Theme URI: https://generatepress.com
Template: generatepress
Author: Tom Usborne
Author URI: https://generatepress.com/about
Description: GeneratePress is a lightweight WordPress theme built with a focus on speed and usability. Performance is important to us, which is why a fresh GeneratePress install adds less than 10kb (gzipped) to your page size. We take full advantage of the block editor (Gutenberg), which gives you more control over creating your content. If you use page builders, GeneratePress is the right theme for you. It is completely compatible with all major page builders, including Beaver Builder and Elementor. Thanks to our emphasis on WordPress coding standards, we can boast full compatibility with all well-coded plugins, including WooCommerce. GeneratePress is fully responsive, uses valid HTML/CSS, and is translated into over 25 languages by our amazing community of users. A few of our many features include 60+ color controls, powerful dynamic typography, 5 navigation locations, 5 sidebar layouts, dropdown menus (click or hover), and 9 widget areas. Learn more and check out our powerful premium version at https://generatepress.com
Tags: two-columns,three-columns,one-column,right-sidebar,left-sidebar,footer-widgets,blog,e-commerce,flexible-header,full-width-template,buddypress,custom-header,custom-background,custom-menu,custom-colors,sticky-post,threaded-comments,translation-ready,rtl-language-support,featured-images,theme-options
Version: 3.6.1.1768488551
Updated: 2026-01-15 14:49:11

*/

.entry-content blockquote,
.entry-content .wp-block-quote {
  border-left: 4px solid #acafb5;
  padding-left: 1.25em;
}

span.ez-toc-section::before {
  content: "";
  display: block;
  height: 60px;
  margin-top: -60px;
  visibility: hidden;
}

/* Remove underline from linked headings only */
h1 a,
h2 a,
h3 a,
h4 a,
h5 a,
h6 a {
  text-decoration: none;
}

/* Keep header wide, make article column narrower */
.single-post .site-content .content-area {
  max-width: 820px;
  margin-left: auto;
  margin-right: auto;
}

/* Posts only: paragraphs, quotes, and lists at 16px */
.single-post .entry-content p,
.single-post .entry-content blockquote,
.single-post .entry-content li {
  font-size: 16px;
  line-height: 1.6;
}

/* Hide the featured image at the top of single posts (GeneratePress) */
.page-header-image-single {
  display: none;
}

/* =========================
   EZ-TOC (Easy Table of Contents) – GeneratePress styling
   ========================= */
:root {
  --toc-blue: #26b4bc; /* set your exact blue here */
  --toc-bg: #dddddd;
  --toc-border: rgba(0, 0, 0, 0.08);
  --toc-text: #111827;
}

/* Container */
#ez-toc-container {
  background: var(--toc-bg) !important;
  border: 1px solid var(--toc-border) !important;
  border-radius: 10px !important;
  padding: 18px 20px !important;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
}

/* Title */
#ez-toc-container .ez-toc-title-container {
  margin: 0 0 10px 0 !important;
}

#ez-toc-container .ez-toc-title {
  color: var(--toc-text) !important;
  font-weight: 700 !important;
  font-size: 1.35rem !important;
}

/* Remove default list indent and tidy spacing */
#ez-toc-container ul {
  margin: 0 !important;
  padding-left: 0 !important;
}

#ez-toc-container li {
  list-style: none !important;
  margin: 8px 0 !important;
  line-height: 1.35 !important;
}

/* Links */
#ez-toc-container a {
  color: var(--toc-blue) !important;
  text-decoration: none !important;
  font-weight: 500 !important;
}

#ez-toc-container a:hover {
  text-decoration: underline !important;
  text-underline-offset: 3px;
}

/* Force number + link colour to be identical */
#ez-toc-container a,
#ez-toc-container a:visited {
  color: var(--toc-blue) !important;
}

/* Numbers commonly used by EZ-TOC */
#ez-toc-container .ez-toc-number {
  color: var(--toc-blue) !important;
}

/* If the plugin uses counters/pseudo-elements for numbering */
#ez-toc-container li::before,
#ez-toc-container a::before {
  color: var(--toc-blue) !important;
}

/* If the number is inside a span within the link */
#ez-toc-container a span {
  color: var(--toc-blue) !important;
}


/* =========================================
   SHS Pagination
   ========================================= */
.shs-pagination {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 10px;
  margin-top: 26px;
}

.shs-pagination .wp-block-query-pagination-numbers {
  display: flex;
  gap: 8px;
}

.shs-pagination .page-numbers,
.shs-pagination a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 40px;
  height: 40px;
  padding: 0 12px;
  background: #ffffff;
  border: 1px solid #dddddd;
  border-radius: 10px;
  text-decoration: none;
  color: #222727;
  font-weight: 600;
  transition: background 0.15s ease;
}

.shs-pagination a:hover {
  background: #f5f5f5;
}

.shs-pagination .page-numbers.current {
  border-color: #26b4bc;
  background: #e8fbfd;
  color: #222727;
}

.shs-pagination .page-numbers.dots {
  opacity: 0.5;
}

/* ======================================
   SHS Content Grid — FINAL (single source)
   ====================================== */

/* Grid */
.shs-content-grid .wp-block-post-template {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  list-style: none !important;
}

@media (max-width: 1024px) {
  .shs-content-grid .wp-block-post-template {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 640px) {
  .shs-content-grid .wp-block-post-template {
    grid-template-columns: 1fr !important;
  }
}

/* Card outer */
.shs-content-grid .wp-block-post {
  background: #ffffff !important;
  border: 1px solid #dddddd !important;
  border-radius: 12px !important;
  overflow: hidden !important;
  padding: 0 !important;
  position: relative !important;
  transition: transform 120ms ease, box-shadow 120ms ease !important;
}

.shs-content-grid .wp-block-post:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 10px 20px rgba(0, 0, 0, 0.1) !important;
}

/* Inner wrapper */
.shs-content-grid .wp-block-post > .wp-block-group__inner-container {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  text-align: left !important;
  padding: 0 !important;
}

.shs-content-grid .wp-block-post > .wp-block-group__inner-container > * {
  margin: 0 !important;
}

/* Featured image */
.shs-content-grid .wp-block-post-featured-image {
  order: -1 !important;
  width: 100% !important;
  margin: 0 !important;
}

.shs-content-grid .wp-block-post-featured-image,
.shs-content-grid .wp-block-post-featured-image img {
  max-width: none !important;
}

.shs-content-grid .wp-block-post-featured-image img {
  width: 100% !important;
  height: 200px !important;
  object-fit: cover !important;
  display: block !important;
  border-radius: 8px !important;
}

/* Text padding */
.shs-content-grid .wp-block-post-title,
.shs-content-grid .wp-block-post-excerpt,
.shs-content-grid .wp-block-post-date {
  padding: 14px 14px 0 14px !important;
  width: 100% !important;
  text-align: left !important;
}

/* Title */
.shs-content-grid .wp-block-post-title {
  padding-top: 12px !important;
  font-size: 1.2rem !important;
  font-weight: 650 !important;
  line-height: 1.25 !important;
}

.shs-content-grid .wp-block-post-title a {
  color: #222727 !important;
  text-decoration: none !important;
}

.shs-content-grid .wp-block-post:hover .wp-block-post-title a {
  color: #26b4bc !important;
  text-decoration: none !important;
}

/* Excerpt */
.shs-content-grid .wp-block-post-excerpt {
  color: #4d4d4d !important;
  font-size: 0.95rem !important;
  line-height: 1.45 !important;
  padding-top: 8px !important;
}

.shs-content-grid .wp-block-post-excerpt__excerpt {
  display: -webkit-box !important;
  -webkit-line-clamp: 3 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
}

/* Date */
.shs-content-grid .wp-block-post-date {
  color: #949494 !important;
  font-size: 0.85rem !important;
  padding-top: 10px !important;
  padding-bottom: 14px !important;
}

/* Whole card clickable */
.shs-content-grid .wp-block-post-title a::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 10;
}

.shs-content-grid .wp-block-post-title a {
  position: static !important;
}

/* Remove extra Group padding */
.shs-content-grid .wp-block-post .wp-block-group[style*="padding-left"] {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

.shs-content-grid .wp-block-post .wp-block-group[style*="padding-top"] {
  padding-top: 0 !important;
  padding-bottom: 0 !
Important;
}

/* ======================================
   Archive controls
   ====================================== */

.shs-archive__controls {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin: 0 0 22px 0;
}

.shs-archive__search {
  display: flex;
  gap: 10px;
  align-items: center;
  flex-wrap: wrap;
}

.shs-archive__search input[type="search"] {
  min-width: 260px;
  max-width: 420px;
}

.shs-archive__clear {
  text-decoration: none;
  opacity: 0.8;
}

.shs-archive__filters {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  align-items: center;
}

.shs-tag {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 12px;
  background: #ffffff;
  border: 1px solid #dddddd;
  border-radius: 10px;
  text-decoration: none;
  color: #222727;
  transition: background 0.15s ease;
}

.shs-tag.is-active {
  border-color: #26b4bc;
  background: #e8fbfd;
  color: #222727;
}

.shs-tag:hover {
  background: #f5f5f5;
}



/* =========================================
   SHS Request Help (Forminator Form #45)
   Clean, site-consistent styling (incl. Select2)
   ========================================= */

#forminator-module-45 {
  margin: 0 auto;
  background: #ffffff;
  border: 1px solid #e6e6e6;
  border-radius: 14px;
  padding: 20px;
}

/* Row spacing */
#forminator-module-45 .forminator-row { margin-bottom: 16px; }
#forminator-module-45 .forminator-row-last { margin-bottom: 0; }

/* Labels */
#forminator-module-45 .forminator-label {
  font-weight: 600;
  color: #222727;
  margin-bottom: 6px;
}

/* Inputs + textarea */
#forminator-module-45 .forminator-input,
#forminator-module-45 .forminator-textarea {
  border: 1px solid #dddddd;
  border-radius: 10px;
  padding: 12px;
  background: #fff;
  width: 100%;
  font: inherit;
  box-shadow: none;
}

#forminator-module-45 .forminator-textarea {
  min-height: 150px;
  resize: vertical;
}

/* Focus */
#forminator-module-45 .forminator-input:focus,
#forminator-module-45 .forminator-textarea:focus {
  border-color: #26b4bc;
  outline: none;
}

/* Helper descriptions */
#forminator-module-45 .forminator-description,
#forminator-module-45 .forminator-field-html p {
  color: #5e5a5d;
  opacity: 0.9;
  margin-top: 6px;
}



/* =========================================
   File Upload
   ========================================= */

#forminator-module-45 .forminator-multi-upload {
  border: 1px dashed #dddddd;
  border-radius: 10px;
  background: #fafafa;
  padding: 14px;
}

#forminator-module-45 .forminator-uploaded-files { margin-top: 10px; }

/* =========================================
   Messages (Success/Error)
   ========================================= */

#forminator-module-45 .forminator-response-message {
  border-radius: 8px;
  padding: 12px;
  margin-bottom: 12px;
}

#forminator-module-45 .forminator-response-message.forminator-error {
  background: #fdeaea;
  border: 1px solid #e5b3b3;
}

#forminator-module-45 .forminator-response-message.forminator-success {
  background: #eafbf2;
  border: 1px solid #b3e5c1;
}

/* Error states */
#forminator-module-45 .forminator-error-message {
  color: #b42318;
  margin-top: 6px;
}

#forminator-module-45 .forminator-input.forminator-error,
#forminator-module-45 .forminator-textarea.forminator-error {
  border-color: #b42318;
}

/* Submit button */
#forminator-module-45 .forminator-button-submit {
  background: var(--wp--preset--color--primary, #26b4bc);
  color: #ffffff;
  padding: 12px 20px;
  border-radius: 8px;
  border: none;
  font-weight: 600;
  cursor: pointer;
  display: inline-block;
  text-decoration: none;
}

#forminator-module-45 .forminator-button-submit:hover { opacity: 0.9; }
#forminator-module-45 .forminator-button-submit:focus { outline: none; }


/* Gutenberg images in single posts */
.single-post .inside-article .entry-content figure.wp-block-image {
  margin: 24px auto !important;
}



