/*
 * Homepage sections and the editor blocks that build them.
 *
 * Loaded on: front page, and any page whose content uses the homepage classes
 * Enqueued by Stylchen\Frontend\Assets.
 */

/* --- Section headings ------------------------------------------------- */
.section-title { margin: 0 0 34px; color: var(--sc-ink); font-family: "Playfair Display", Georgia, serif; font-size: 2rem; font-weight: 400; line-height: 1.3; text-align: center; }
.section-title::after { display: block; width: 45px; height: 2px; margin: 16px auto 0; background: var(--sc-red); content: ""; }
.section-kicker { margin: -18px 0 30px; color: var(--sc-red); font-family: Raleway, Arial, sans-serif; font-size: 1.0625rem; font-weight: 600; text-align: center; }

/* --- Homepage sections ------------------------------------------------ */
.section-title--news { margin-top: 72px; }
.section--welcome { min-height: 2968px; }
.section--about { min-height: 848px; margin-top: 37px; }
.section--benefits { min-height: 818px; margin-top: 37px; }
.welcome-copy { max-width: 1140px; margin: 0 auto; text-align: center; }
.home-editor-content .container > :first-child { margin-top: 0; }
.home-editor-content .container > :last-child { margin-bottom: 0; }
.home-editor-content > .container > h2 { margin: 0 0 34px; color: var(--sc-ink); font-family: "Playfair Display", Georgia, serif; font-size: 2rem; font-weight: 400; line-height: 1.3; text-align: center; }
.home-editor-content > .container > h2:not(:first-child) { margin-top: 72px; }
.home-editor-content > .container > h2:nth-of-type(2) { margin-top: 384px; }
.home-editor-content > .container > h2::after { display: block; width: 45px; height: 2px; margin: 16px auto 0; background: var(--sc-red); content: ""; }
.home-editor-content > .container > h2:first-child::after { display: none; }
.home-editor-content h5 { margin: -18px 0 30px; color: var(--sc-red); font-family: Raleway, Arial, sans-serif; font-size: 1.0625rem; text-align: center; }
.home-editor-content > .container > p { max-width: 1140px; margin: 0 auto 20px; }
.home-editor-content .home-text-accent { border: 0 !important; border-left: 4px solid #de124b !important; padding-left: 20px; text-align: left; }
.welcome-copy p { margin: 0 0 18px; }

/* --- Latest news blocks ----------------------------------------------- */
.home-news-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0; margin: 35px 0 0; padding: 0; list-style: none; }
.home-news-grid > .wp-block-post { overflow: visible; border: 0; padding: 0 15px; background: transparent; text-align: center; }
.home-news-grid .wp-block-post-featured-image { width: 210px !important; height: 210px !important; aspect-ratio: auto !important; margin: 0 auto 15px; }
.home-news-grid .wp-block-post-featured-image img { display: block; width: 210px !important; height: 210px !important; aspect-ratio: auto !important; object-fit: cover !important; border: 1px solid #ddd; border-radius: 50%; padding: 4px; background: #fff; }
.home-news-grid .wp-block-post-title { margin: 15px 0 5px; padding: 0; color: var(--sc-ink); font-family: "Playfair Display", Georgia, serif; font-size: 1.125rem; font-weight: 700; line-height: 1.43; text-align: center; }
.home-news-grid .wp-block-post-title a { color: inherit; }
.home-news-grid .wp-block-read-more { display: inline-block; margin: 0; border: 1px solid #de124b; padding: 8px 22px; background: #c9043b; color: #fff; font: 0.875rem/1.1875rem "Open Sans", Arial, sans-serif; }
.home-news-grid .wp-block-read-more:hover, .home-news-grid .wp-block-read-more:focus { border-color: #a60332; background: #a60332; color: #fff; }
.home-section { box-sizing: border-box; padding: 72px 0; background: #fff; }
.home-section--welcome { min-height: 1258px; padding-top: 60px; }
.home-section + .home-section { border-top: 1px solid #eee; }
.home-section__heading { max-width: 945px; margin: 0 auto 54px; text-align: center; }
.home-section__heading h2 { position: relative; margin: 0; color: #262425; font-family: "Droid Serif",sans-serif; font-size: 1.875rem; font-weight: 700; line-height: 42.8571px; }
.home-section__heading h2::after { content: none; }
.home-section__heading h2 span { color: #de124b; }
.home-section__heading > p { width: max-content; margin: 10px auto 0; color: #262425; font-family: "Droid Serif",sans-serif; font-size: 1.0625rem; font-weight: 700; line-height: 24.2857px; text-align: left; }
.home-section__copy { max-width: 1140px; margin-inline: auto; color: #777; line-height: 1.7; text-align: left; }
.home-section__copy p { margin: 20px 0; border-left: 3px solid #c9043b; padding: 20px 30px; font-size: 1.09375rem; font-weight: 500; line-height: 1.7; }
.home-section__copy--accent { border: 0; padding: 0; }
.home-section--welcome > .container > .home-section__heading:first-child { margin-bottom: 64.28px; }
.home-divider { width: 100%; height: 1px; margin: 70px 0 68.5px; background: #eee; }
.home-section__heading--news { margin-bottom: 57.6px; }
.home-latest-news { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 0; text-align: center; }
.home-latest-card { min-width: 0; padding-inline: 15px; }
.home-latest-card__image { display: block; width: 210px; height: 210px; margin: 0 auto 30px; overflow: hidden; border: 1px solid #ddd; border-radius: 50%; padding: 4px; background: #fff; }
.home-latest-card__image img { display: block; width: 100%; height: 100%; border-radius: 50%; object-fit: cover; }
.home-latest-card h3 { min-height: 0; margin: 0 0 5px; color: #333; font-family: "Droid Serif",sans-serif; font-size: 1.125rem; font-weight: 700; line-height: 1.42857; }
.home-latest-card h3 a { color: inherit; }
.home-latest-card__button { padding: 8px 22px; font-size: 0.875rem; line-height: 19px; }
.home-section--text { height: 885px; min-height: 885px; padding: 96px 0 90px; }
.home-section--text .home-section__heading { margin-bottom: 30px; }
.home-section--benefits { height: 855px; min-height: 855px; }
.home-section--text .home-section__copy { max-width: 1140px; margin-inline: auto; }
.home-section__copy ul { margin: 8px 0 24px; padding-left: 22px; }
.home-section__copy li { margin-bottom: 7px; }
.home-section__closing { color: #de124b; font-family: "Playfair Display",Georgia,serif; font-size: 1.3125rem; text-align: center; }

/* Modern, progressive replacement for the legacy WOW.js reveal effect. */
.js-reveal .wow { opacity: 0; transform: translate3d(-28px, 0, 0); transition: opacity .7s ease, transform .7s ease; }
.js-reveal .wow.is-visible { opacity: 1; transform: translate3d(0, 0, 0); }
.js-reveal .wow.no-reveal { opacity: 1; transform: none; }
.section--about p, .section--benefits p { max-width: 1140px; margin: 0 auto 20px; }
.benefits-callout { color: var(--sc-red); font-family: "Playfair Display", Georgia, serif; font-size: 1.375rem; text-align: center; }

/* --- Editor-authored homepage body ------------------------------------ */
/* The homepage body is authored in Page 12; these rules keep its editor blocks
   on the same visual system as the former homepage layout. */
.home-editor-content { background: #fff; }
.home-editor-content > .container { padding-top: 60px; padding-bottom: 110px; }
.home-editor-content > .container > h2 { width: min(945px,100%); margin: 0 auto 10px; color: #262425; font-family: "Droid Serif",sans-serif; font-size: 1.875rem; font-weight: 700; line-height: 42.8571px; text-align: center; }
.home-editor-content > .container > h2::after { content: none !important; }
.home-editor-content > .container > h2 span { color: #de124b; }
.home-editor-content > .container > h5 { width: max-content; margin: 10px auto 64.28px; color: #262425; font-family: "Droid Serif",sans-serif; font-size: 1.0625rem; font-weight: 700; line-height: 24.2857px; text-align: left; }
.home-editor-content > .container > .home-text-accent { max-width: 1140px; margin: 0 auto; border-left: 3px solid #c9043b !important; padding: 20px 30px; color: #777; font-size: 1.09375rem; font-weight: 500; line-height: 1.7; }
.home-editor-content > .container > .home-text-accent p { margin: 0 0 20px; }
.home-editor-content > .container > .home-text-accent p:last-child { margin-bottom: 0; }
.home-editor-content > .container > h2:nth-of-type(2) { margin-top: 110px; }
.home-editor-content .wp-block-query { margin-top: 57.6px; }
.home-editor-content .home-news-grid { grid-template-columns: repeat(4,minmax(0,1fr)); gap: 0; margin: 0; }
.home-editor-content .home-news-grid > .wp-block-post { min-width: 0; padding-inline: 15px; text-align: center; }
.home-editor-content .home-news-grid .wp-block-post-featured-image { width: 210px !important; height: 210px !important; margin: 0 auto 30px; }
.home-editor-content .home-news-grid .wp-block-post-featured-image img { width: 210px !important; height: 210px !important; border: 1px solid #ddd; border-radius: 50%; padding: 4px; background: #fff; object-fit: cover; }
.home-editor-content .home-news-grid .wp-block-post-title { min-height: 0; margin: 0 0 5px; color: #333; font-family: "Droid Serif",sans-serif; font-size: 1.125rem; font-weight: 700; line-height: 1.42857; text-align: center; }
.home-editor-content .home-news-grid .wp-block-read-more { margin: 0; padding: 8px 22px; font: 0.875rem/1.1875rem "Open Sans",Arial,sans-serif; }
.home-editor-content > .container > h2:nth-of-type(3) { margin-top: 96px; }
.home-editor-content > .container > h2:nth-of-type(4) { margin-top: 96px; }
/* Short grey rule between sections, as on the previous site (Separator block, class home-section-divider). */
.home-editor-content > .container > .home-section-divider { width: 140px; max-width: 100%; margin: 70px auto 0; border: 0; border-top: 1px solid #eee; opacity: 1; }
.home-editor-content > .container > .home-section-divider + h2 { margin-top: 40px !important; }
/* Each text section is one "Group" block with the home-text-accent class. */
.home-editor-content > .container > h2 + .home-text-accent { margin-top: 20px; }
.home-editor-content > .container > .home-text-accent ul { margin: 0 0 20px; padding-left: 1.25em; }
.home-editor-content > .container > .home-text-accent li { margin: 0; }

@media (max-width: 900px) {
  .home-news-grid, .home-editor-content .home-news-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .home-latest-news { grid-template-columns: repeat(2,minmax(0,1fr)); row-gap: 45px; }
}
@media (max-width: 560px) {
  .home-section, .home-section--welcome, .home-section--text, .home-section--benefits { height: auto; min-height: 0; padding: 52px 0; }
  .home-divider { margin: 55px 0; }
  .home-section__heading h2 { font-size: 1.875rem; }
  .home-latest-news { grid-template-columns: 1fr; }
  .home-latest-card h3 { min-height: 0; }
  /* Core's Query Loop grid rule is more specific than the generic mobile rule. */
  .home-news-grid.wp-block-post-template.is-layout-grid { grid-template-columns: 1fr !important; row-gap: 45px; }
  .section--welcome { min-height: 6744px; }
  .home-editor-content > .container > h2:nth-of-type(2) { margin-top: 916px; }
  .section--about { min-height: 1977px; margin-top: 37px; }
  .section--benefits { min-height: 1409px; margin-top: 37px; }
}
