/* ==========================================================================
   ADZ Blogs — Stylesheet
   All colours reference CSS custom properties set via the Settings page.
   ========================================================================== */

/* --------------------------------------------------------------------------
   Hide the theme's site header on ADZ Blog pages
   -------------------------------------------------------------------------- */
body.post-type-archive-our-blog #header,
body.tax-our-blog-category #header,
body.single-our-blog #header {
  display: none !important;
}

/* --------------------------------------------------------------------------
   CSS custom property fallbacks (overridden by inline vars from Settings)
   -------------------------------------------------------------------------- */
:root {
  --adz-primary:         #1a1a2e;
  --adz-secondary:       #e94560;
  --adz-cta-text:        #ffffff;
  --adz-heading:         #1a1a2e;
  --adz-text:            #444444;
  --adz-link:            #e94560;
  --adz-card-bg:         #ffffff;
  --adz-page-bg:         #f4f4f6;
  --adz-overlay:         rgba(0, 0, 0, 0.5);
  --adz-banner-text:     #ffffff;
  --adz-radius:          8px;

  /* Internal derived */
  --adz-transition:      0.22s ease;
  --adz-max-width:       1200px;
  --adz-content-width:   760px;
  --adz-gutter:          clamp(16px, 4vw, 48px);
}

/* --------------------------------------------------------------------------
   Base reset (scoped so we don't bleed into the theme)
   -------------------------------------------------------------------------- */
.adz-blogs *,
.adz-blogs *::before,
.adz-blogs *::after {
  box-sizing: border-box;
}

.adz-blogs img {
  display: block;
  max-width: 100%;
}

.adz-blogs a {
  color: var(--adz-primary);
  text-decoration: none;
}

/* ==========================================================================
   Shortcode: [adz_cta]
   ========================================================================== */
.adz-cta-wrap {
  margin: 2em 0;
}

.adz-cta-btn {
  display: inline-block;
  padding: 14px 32px;
  background: var(--adz-primary);
  color: var(--adz-cta-text) !important;
  border-radius: 6px;
  font-size: inherit;
  font-weight: 600;
  text-decoration: none !important;
  border: 2px solid var(--adz-primary);
  transition: background var(--adz-transition), border-color var(--adz-transition), transform var(--adz-transition);
  cursor: pointer;
}

.adz-cta-btn:hover {
  background: var(--adz-secondary);
  border-color: var(--adz-secondary);
  transform: translateY(-2px);
}

/* ==========================================================================
   ARCHIVE — Banner overrides
   The archive reuses .adz-banner styles from the single-post section below.
   These rules only handle archive-specific differences.
   ========================================================================== */

/* Centre-align text on the archive banner */
.adz-banner--archive .adz-banner__content {
  text-align: center;
  max-width: var(--adz-max-width);
  display: flex;
  flex-direction: column;
  align-items: center;
}

/* Category filter pills */
.adz-cat-filter {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px;
  margin-top: 20px;
}

.adz-cat-filter__pill {
  display: inline-block;
  padding: 6px 18px;
  border-radius: 999px;
  font-size: 14px;
  font-weight: 500;
  background: rgba(255,255,255,0.15);
  color: #fff;
  border: 1px solid rgba(255,255,255,0.3);
  transition: background var(--adz-transition), border-color var(--adz-transition);
  text-decoration: none;
}

.adz-cat-filter__pill:hover,
.adz-cat-filter__pill.is-active {
  background: #fff;
  color: var(--adz-primary);
  border-color: #fff;
}

/* ==========================================================================
   ARCHIVE — Card grid
   ========================================================================== */
.adz-archive-grid {
  background: var(--adz-page-bg);
  padding: clamp(40px, 6vw, 80px) var(--adz-gutter);
}

.adz-archive-grid__inner {
  max-width: var(--adz-max-width);
  margin: 0 auto;
}

.adz-card-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: clamp(20px, 2.5vw, 32px);
}

@media (max-width: 900px) {
  .adz-card-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 560px) {
  .adz-card-grid {
    grid-template-columns: 1fr;
  }
}

/* ==========================================================================
   Card
   ========================================================================== */
.adz-card {
  background: var(--adz-card-bg);
  border-radius: var(--adz-radius);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  box-shadow: 0 2px 8px rgba(0,0,0,0.06);
  transition: transform var(--adz-transition), box-shadow var(--adz-transition);
}

.adz-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 12px 32px rgba(0,0,0,0.12);
}

/* Card image — 16:9 aspect ratio */
.adz-card__image-link {
  display: block;
  flex-shrink: 0;
}

.adz-card__image-wrap {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  background: var(--adz-primary);
}

.adz-card__image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.4s ease;
}

.adz-card:hover .adz-card__image {
  transform: scale(1.04);
}

.adz-card__image-placeholder {
  width: 100%;
  height: 100%;
  background: linear-gradient(135deg, var(--adz-primary) 0%, var(--adz-secondary) 100%);
  opacity: 0.7;
}

/* Card body */
.adz-card__body {
  display: flex;
  flex-direction: column;
  flex: 1;
  padding: 20px 24px 24px;
}

.adz-card__category {
  display: inline-block;
  font-size: 16px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.07em;
  color: var(--adz-secondary);
  margin-bottom: 8px;
  text-decoration: none;
}

.adz-card__category:hover {
  text-decoration: underline;
}

.adz-card__title {
  font-size: 16px;
  font-weight: 700;
  line-height: 1.35;
  margin: 0 0 8px;
  color: var(--adz-heading);
}

.adz-card__title a {
  color: inherit;
  text-decoration: none;
  font-size: inherit;
  line-height: inherit;
  text-transform: none;
}

.adz-card__title a:hover {
  color: var(--adz-secondary);
}

.adz-card__meta {
  font-size: 16px;
  color: #888;
  margin: 0 0 12px;
}

.adz-card__excerpt {
  font-size: 15px;
  line-height: 1.6;
  color: var(--adz-text);
  margin: 0 0 20px;
  flex: 1;

  /* Clamp at 3 lines */
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.adz-card__cta {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 16px;
  font-weight: 600;
  color: var(--adz-primary);
  text-decoration: none;
  margin-top: auto;
  transition: color var(--adz-transition), gap var(--adz-transition);
}

.adz-card__cta:hover {
  color: var(--adz-secondary);
  gap: 10px;
}

.adz-card__cta-arrow {
  transition: transform var(--adz-transition);
}

.adz-card__cta:hover .adz-card__cta-arrow {
  transform: translateX(3px);
}

/* ==========================================================================
   Pagination
   ========================================================================== */
.adz-pagination {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px;
  margin-top: 56px;
}

.adz-pagination .page-numbers {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 42px;
  height: 42px;
  padding: 0 14px;
  border-radius: 6px;
  font-size: 16px;
  font-weight: 500;
  color: var(--adz-primary);
  background: var(--adz-card-bg);
  border: 1px solid rgba(0,0,0,0.12);
  text-decoration: none;
  transition: background var(--adz-transition), color var(--adz-transition), border-color var(--adz-transition);
}

.adz-pagination .page-numbers:hover,
.adz-pagination .page-numbers.current {
  background: var(--adz-primary);
  color: #fff;
  border-color: var(--adz-primary);
}

.adz-pagination .page-numbers.dots {
  border: none;
  background: transparent;
  cursor: default;
}

/* No posts */
.adz-no-posts {
  text-align: center;
  padding: 80px 20px;
  color: var(--adz-text);
  font-size: 16px;
}

/* ==========================================================================
   SINGLE — Banner
   ========================================================================== */
.adz-banner {
  position: relative;
  width: 100%;
  height: clamp(320px, 56.25vw, 720px); /* 16:9 ratio clamped */
  background-color: var(--adz-primary);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  display: flex;
  align-items: flex-end;
  overflow: hidden;
}

/* Solid darkening overlay — colour and opacity set via the Settings page */
.adz-banner__overlay {
  position: absolute;
  inset: 0;
  background: var(--adz-overlay);
  z-index: 1;
}

.adz-banner--no-image .adz-banner__overlay {
  background: transparent;
}

.adz-banner__content {
  position: relative;
  z-index: 2;
  width: 100%;
  padding: var(--adz-gutter) var(--adz-gutter) clamp(32px, 5vw, 60px);
  max-width: calc(var(--adz-content-width) + var(--adz-gutter) * 2);
  margin: 0 auto;
  color: var(--adz-banner-text);
}

/* Category badges in banner */
.adz-banner__cats {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 14px;
}

.adz-banner__cat {
  display: inline-block;
  padding: 4px 14px;
  border-radius: 999px;
  font-size: 14px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.07em;
  background: var(--adz-secondary);
  color: #fff;
  text-decoration: none;
}

.adz-banner__cat:hover {
  opacity: 0.85;
}

.adz-banner__title {
  font-size: clamp(25px, 4vw, 44px);
  font-weight: 700;
  line-height: 1.2;
  margin: 0 0 14px;
  color: var(--adz-banner-text);
  text-shadow: 0 1px 4px rgba(0,0,0,0.25);
}

.adz-banner__intro {
  font-size: clamp(16px, 2vw, 19px);
  line-height: 1.6;
  margin: 0 0 16px;
  opacity: 0.92;
  max-width: 640px;
  text-shadow: 0 1px 3px rgba(0,0,0,0.2);
}

.adz-banner__meta {
  font-size: 15px;
  opacity: 0.75;
  margin: 0;
  display: flex;
  align-items: center;
  gap: 8px;
}

.adz-banner__sep {
  opacity: 0.6;
}

/* ==========================================================================
   SINGLE — Article content
   ========================================================================== */
.adz-article {
  background: var(--adz-page-bg);
  padding: clamp(40px, 6vw, 80px) var(--adz-gutter);
}

.adz-article__inner {
  max-width: var(--adz-max-width);
  margin: 0 auto;
}

.adz-article__content {
  max-width: var(--adz-content-width);
  margin: 0 auto;
  color: var(--adz-text);
  font-size: 15px;
  line-height: 24px;

  @media (min-width: 768px) {
    font-size: 17px;
    line-height: 27px;
  }
}

/*Site Specific overrides*/
/*
Thornton Hall Farm
*/
.post-type-archive-our-blog .main-page-wrapper .container,
.our-blog-template-default .main-page-wrapper .container{width:100%; max-width:100%;}

/* Rocks */
.single-our-blog .headline,
.post-type-archive-our-blog .headline {display:none}

.single-our-blog .content_wrap,
.post-type-archive-our-blog .content_wrap{width:100%; max-width:100%; padding: 0px;  margin: 0px;}

.adz-blogs{ width:100% }
/* Typography */
.adz-article__content h1,
.adz-article__content h2,
.adz-article__content h3,
.adz-article__content h4,
.adz-article__content h5,
.adz-article__content h6 {
  color: var(--adz-heading);
  line-height: 1.3;
  margin-top: 2em;
  margin-bottom: 0.6em;
}

.adz-article__content h2 {
  font-size: 28px;
}

.adz-article__content h3 {
  font-size: 22px;
}

.adz-article__content h4 {
  font-size: 20px;
}

.adz-article__content h2 { font-size: 24px; }
.adz-article__content h3 { font-size: 20px; }
.adz-article__content h4 { font-size: 18px; }
@media (min-width: 768px) {
  .adz-article__content h2 { font-size: 28px; }
  .adz-article__content h3 { font-size: 22px; }
  .adz-article__content h4 { font-size: 20px; }
}
.adz-article__content p { margin: 0 0 1.5em; }

.adz-blogs .adz-article__content a:not(.adz-cta-btn) {
  color: var(--adz-link) !important;
  text-decoration: underline !important;
  text-underline-offset: 3px;
  font-weight: 500;
  transition: opacity var(--adz-transition);
}

.adz-blogs .adz-article__content a:not(.adz-cta-btn):hover {
  opacity: 0.75;
}

.adz-article__content ul,
.adz-article__content ol {
  padding-left: 1.5em;
  margin: 0 0 1.5em;
}

.adz-article__content li { margin-bottom: 0.4em; }

.adz-article__content blockquote {
  margin: 2em 0;
  padding: 1.25em 1.5em;
  border-left: 4px solid var(--adz-primary);
  background: var(--adz-page-bg);
  font-style: italic;
  font-size: inherit;
  color: var(--adz-heading);
  border-radius: 0 var(--adz-radius) var(--adz-radius) 0;
}

.adz-article__content blockquote p:last-child { margin: 0; }

.adz-article__content hr {
  border: none;
  border-top: 2px solid rgba(0,0,0,0.08);
  margin: 3em 0;
}

/* ==========================================================================
   Full-width image (classic editor toolbar button)
   ========================================================================== */
/* Both figure types need relative positioning for the overlay */
.adz-article__content figure.adz-img-full,
.adz-article__content figure.adz-img-container {
  position: relative;
  overflow: hidden;
}

/* Text overlay ------------------------------------------------------------ */
.adz-img-overlay {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  padding: clamp(16px, 3vw, 36px);
  z-index: 2;
  pointer-events: none;
}

/* Gradient — extends upward from the bottom; opacity set per-image inline */
.adz-img-overlay__gradient {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 280%;
  background: linear-gradient(to top, rgba(0,0,0,0.9) 0%, rgba(0,0,0,0) 100%);
  z-index: 0;
}

.adz-img-overlay__text {
  position: relative;
  z-index: 1;
  color: #fff;
  font-size: clamp(16px, 2.5vw, 25px);
  font-weight: 600;
  line-height: 1.3;
  margin: 0;
  text-shadow: 0 1px 4px rgba(0,0,0,0.4);
}

/* Full width — bleeds edge to edge */
.adz-article__content figure.adz-img-full {
  width: 100vw;
  max-width: none;
  margin: 2.5em calc(50% - 50vw);
  display: block;
}

/* Container width — expands to the outer max-width but stays within the page */
.adz-article__content figure.adz-img-container {
  width: var(--adz-max-width);
  max-width: 100vw;
  margin: 2.5em calc(50% - min(var(--adz-max-width) / 2, 50vw));
  display: block;
}

.adz-article__content figure.adz-img-full img,
.adz-article__content figure.adz-img-container img {
  width: 100%;
  height: auto;
  display: block;
}

.adz-article__content figure.adz-img-full figcaption,
.adz-article__content figure.adz-img-container figcaption {
  max-width: var(--adz-content-width);
  margin: 0.5em auto 0;
  font-size: 20px;
  color: #888;
  text-align: center;
}

.adz-article__content figure.adz-img-full p,
.adz-article__content figure.adz-img-container p {
  margin: 0;
}

/* ==========================================================================
   Gallery (WordPress [gallery] shortcode — inserted via Add Media → Create Gallery)
   ========================================================================== */
.adz-article__content .gallery {
  display: grid;
  grid-template-columns: repeat( var(--gallery-cols, 3), 1fr );
  gap: 10px;
  margin: 2em 0;
}

.adz-article__content .gallery-columns-1 { --gallery-cols: 1; }
.adz-article__content .gallery-columns-2 { --gallery-cols: 2; }
.adz-article__content .gallery-columns-3 { --gallery-cols: 3; }
.adz-article__content .gallery-columns-4 { --gallery-cols: 4; }
.adz-article__content .gallery-columns-5 { --gallery-cols: 5; }

@media (max-width: 640px) {
  .adz-article__content .gallery {
    grid-template-columns: repeat( 2, 1fr ) !important;
  }
}

@media (max-width: 400px) {
  .adz-article__content .gallery {
    grid-template-columns: 1fr !important;
  }
}

.adz-article__content .gallery-item {
  margin: 0;
  overflow: hidden;
  border-radius: calc( var(--adz-radius) / 2 );
}

.adz-article__content .gallery-item a,
.adz-article__content .gallery-item img {
  display: block;
  width: 100%;
  height: 100%;
}

.adz-article__content .gallery-item img {
  object-fit: cover;
  aspect-ratio: 1;
  transition: transform 0.35s ease;
  text-decoration: none !important;
}

.adz-article__content .gallery-item a:hover img {
  transform: scale( 1.05 );
}

.adz-article__content .gallery-caption {
  font-size: 20px;
  color: #888;
  padding: 4px 6px;
  text-align: center;
}

/* ==========================================================================
   SINGLE — Gutenberg block overrides
   ========================================================================== */

/* ---- CTA / Button blocks ---- */
.adz-article__content .wp-block-buttons {
  margin: 2em 0;
}

.adz-article__content .wp-block-button__link {
  background: var(--adz-primary) !important;
  color: var(--adz-cta-text) !important;
  border-radius: 6px !important;
  padding: 14px 32px !important;
  font-size: inherit !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  transition: background var(--adz-transition), transform var(--adz-transition) !important;
  border: 2px solid var(--adz-primary) !important;
  display: inline-block;
}

.adz-article__content .wp-block-button__link:hover {
  background: var(--adz-secondary) !important;
  border-color: var(--adz-secondary) !important;
  transform: translateY(-2px);
}

/* Outline / ghost variant */
.adz-article__content .wp-block-button.is-style-outline .wp-block-button__link {
  background: transparent !important;
  color: var(--adz-primary) !important;
}

.adz-article__content .wp-block-button.is-style-outline .wp-block-button__link:hover {
  background: var(--adz-primary) !important;
  color: #fff !important;
}

/* ---- Full-width images ---- */
.adz-article .wp-block-image.alignfull,
.adz-article .wp-block-cover.alignfull {
  width: 100vw;
  max-width: none;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
}

.adz-article .wp-block-image img {
  border-radius: var(--adz-radius);
}

.adz-article .wp-block-image.alignfull img,
.adz-article .wp-block-image.alignwide img {
  border-radius: 0;
}

.adz-article .wp-block-image.alignwide {
  width: calc(100% + clamp(40px, 10vw, 160px));
  max-width: none;
  margin-left: calc(-1 * clamp(20px, 5vw, 80px));
}

/* ---- Galleries ---- */
.adz-article__content .wp-block-gallery {
  margin: 2em 0;
}

.adz-article__content .wp-block-gallery .wp-block-image img {
  border-radius: calc(var(--adz-radius) / 2);
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* Gutenberg native gallery grid */
.adz-article__content .wp-block-gallery.has-nested-images {
  --gallery-cols: 3;
}

@media (max-width: 600px) {
  .adz-article__content .wp-block-gallery.has-nested-images {
    --gallery-cols: 2;
  }
}

/* ---- Cover block ---- */
.adz-article .wp-block-cover {
  border-radius: var(--adz-radius);
  overflow: hidden;
}

.adz-article .wp-block-cover.alignfull {
  border-radius: 0;
}

/* ---- Quote ---- */
.adz-article__content .wp-block-pullquote {
  border-top: 4px solid var(--adz-primary);
  border-bottom: 4px solid var(--adz-primary);
  padding: 2em 0;
  margin: 2.5em 0;
  text-align: center;
}

.adz-article__content .wp-block-pullquote blockquote {
  border-left: none;
  background: transparent;
  border-radius: 0;
  padding: 0;
}

.adz-article__content .wp-block-pullquote cite {
  font-size: inherit;
  font-style: normal;
  opacity: 0.7;
}

/* ---- Separator ---- */
.adz-article__content .wp-block-separator {
  border-color: var(--adz-primary);
  opacity: 0.2;
}

/* ---- Table ---- */
.adz-article__content .wp-block-table table {
  width: 100%;
  border-collapse: collapse;
  font-size: inherit;
}

.adz-article__content .wp-block-table th,
.adz-article__content .wp-block-table td {
  padding: 10px 14px;
  border: 1px solid rgba(0,0,0,0.1);
}

.adz-article__content .wp-block-table th {
  background: var(--adz-primary);
  color: #fff;
  font-weight: 600;
}

.adz-article__content .wp-block-table tr:nth-child(even) td {
  background: var(--adz-page-bg);
}

/* ==========================================================================
   SINGLE — Prev / Next navigation
   ========================================================================== */
.adz-post-nav {
  background: var(--adz-page-bg);
  border-top: 1px solid rgba(0,0,0,0.07);
  padding: clamp(32px, 5vw, 56px) var(--adz-gutter);
}

.adz-post-nav__inner {
  max-width: var(--adz-max-width);
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
}

@media (max-width: 540px) {
  .adz-post-nav__inner {
    grid-template-columns: 1fr;
  }
}

.adz-post-nav__item {
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding: 20px 24px;
  border-radius: var(--adz-radius);
  background: var(--adz-card-bg);
  border: 1px solid rgba(0,0,0,0.07);
  text-decoration: none;
  transition: border-color var(--adz-transition), box-shadow var(--adz-transition);
}

.adz-post-nav__item:hover {
  border-color: var(--adz-primary);
  box-shadow: 0 4px 16px rgba(0,0,0,0.08);
}

.adz-post-nav__item--empty {
  pointer-events: none;
  background: transparent;
  border: none;
  box-shadow: none;
}

.adz-post-nav__item--next {
  text-align: right;
}

.adz-post-nav__dir {
  font-size: inherit;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--adz-primary);
  opacity: 0.7;
}

.adz-post-nav__title {
  font-size: 20px;
  font-weight: 600;
  color: var(--adz-heading);
  line-height: 1.35;
}
