/*
Theme Name: Divi Child Theme
Description: Divi Child Theme
Author:  Alex Bridger
Author URI:  http://lexicom.co.nz
Template: Divi
Version:  1.0.3
*/

 
/* =Theme customizations
------------------------------------------------------- */

/* ============================================================
   Fertiliser Reviews — filter menu + grid styles
   (plain-value version — no CSS custom properties, so WordPress's
   built-in code editor won't flag false "expecting rbrace" errors)
 
   Add to your child theme stylesheet, Divi > Theme Options >
   Custom CSS, or edit via SFTP. Colours are hard-coded below;
   find/replace a hex value to rebrand.
   ============================================================ */
 
/* ---------- Filter bar ---------- */
.fr-filter {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin: 0 0 40px;
	justify-content: center;
}
.fr-filter__btn {
	display: inline-block;
	font: inherit;
	font-size: 15px;
	line-height: 1;
	padding: 12px 20px;
	border-radius: 8px;
	border: 1px solid #ddd4c2;
	background: #ece5d6;
	color: #6b6b60;
	text-decoration: none;
	cursor: pointer;
	transition: background .15s ease, color .15s ease, border-color .15s ease;
}
.fr-filter__btn:hover {
	border-color: #17311f;
	color: #17311f;
}
.fr-filter__btn.is-active {
	background: #17311f;
	color: #ffffff;
	border-color: #17311f;
}
 
/* ---------- Grid ---------- */
.fr-grid {
	display: grid;
	gap: 26px;
	grid-template-columns: repeat(3, 1fr);
}
.fr-cols-1 { grid-template-columns: 1fr; }
.fr-cols-2 { grid-template-columns: repeat(2, 1fr); }
.fr-cols-3 { grid-template-columns: repeat(3, 1fr); }
.fr-cols-4 { grid-template-columns: repeat(4, 1fr); }
 
@media (max-width: 980px) { .fr-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 640px) { .fr-grid { grid-template-columns: 1fr; } }
 
/* ---------- Card ---------- */
.fr-card {
    display: flex;
    flex-direction: column;
    border: 1px solid #1d4b4342;
    border-radius: 41px;
    padding: 22px;
}
 
/* Green header block. If a post has a Featured Image it is shown instead. */
.fr-card__media {
    display: block;
    position: relative;
    margin-bottom: 16px;
    border-radius: 20px;
    overflow: hidden;
    aspect-ratio: 16 / 6;
    background: #75B628;
    background-size: cover;
    background-position: center;
/* 	background-image: url('/wp-content/uploads/2026/08/background-accent.png');  */
}
.fr-card__thumb {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
.fr-card__badge {
	position: absolute;
    left: 22px;
    top: 50%;
    transform: translateY(-50%);
    max-width: 55%;
    color: #fff;
    font-weight: 400;
    font-size: 32px;
    line-height: 1.05;
    text-transform: uppercase;
    font-family: 'Bebas Neue';
}
 
.fr-card__body {
    display: flex;
    flex-direction: column;
    flex: 1;
    padding: 10px;
    font-size: 18px;
    font-family: 'Hanken Grotesk - Variable';
}
.fr-card__title {
    margin: 0 0 8px;
    line-height: 1.2;
    text-transform: uppercase;
    font-family: 'Bebas Neue';
    font-size: 32px;
    color: #75b629;
}
.fr-card__title a {
	color: #4e9b3e;
	text-decoration: none;
}
.fr-card__title a:hover {
	color: #1f8f8a;
	text-decoration: underline;
}
.fr-card__date {
	margin: 0 0 12px;
    color: #333333;
    font-size: 18px;
    font-family: 'Hanken Grotesk - Variable';
}
.fr-card__topics {
	margin: 0 0 18px;
	padding-left: 20px;
	color: #333333;
}
.fr-card__topics li { margin: 2px 0; }
 
.fr-card__more {
	margin-top: auto;
	align-self: flex-start;
	color: #111;
	font-weight: 700;
	text-decoration: underline;
}
.fr-card__more:hover { color: #4e9b3e; }
 
.fr-empty { padding: 40px 0; }
 
/* ---------- Pagination (only shown when posts_per_page is a positive number) ---------- */
.fr-pager {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 40px;
}
.fr-pager .page-numbers {
	display: inline-block;
	min-width: 42px;
	text-align: center;
	padding: 10px 14px;
	border-radius: 8px;
	border: 1px solid #ddd4c2;
	background: #ece5d6;
	color: #6b6b60;
	text-decoration: none;
	line-height: 1;
}
.fr-pager .page-numbers.current {
	background: #17311f;
	color: #ffffff;
	border-color: #17311f;
}
.fr-pager a.page-numbers:hover {
	border-color: #17311f;
	color: #17311f;
}
 

/* Woocommerce Cart Styling */
.woocommerce-cart #main-content, .woocommerce-checkout #main-content{
    background-color: #FBF8F2;
}
.woocommerce-cart .wp-block-heading, .woocommerce-checkout .wp-block-heading{
    font-family: 'Bebas Neue';
    font-size: 70px;
}
.woocommerce-cart .container, .woocommerce-checkout .container{
	max-width:1440px;
}
.editor-styles-wrapper table.wc-block-cart-items .wc-block-cart-items__row .wc-block-components-product-name, table.wc-block-cart-items .wc-block-cart-items__row .wc-block-components-product-name, .wc-block-components-title.wc-block-components-title{
	color:black;
}
.wp-block-woocommerce-cart-line-items-block{
	border:none!important;
}
.wc-block-cart__submit-button, .wc-block-components-checkout-place-order-button{
	font-family: 'Hanken Grotesk - Variable';
	border-radius:10px;
}

/* ============================================================================
   agKnowledge — Testimonials cards
   ----------------------------------------------------------------------------
   Paste into your Divi child theme's style.css
   (or Divi → Theme Options → General → Custom CSS).

   Written against the live markup at /testimonials/, so the selectors already
   account for what Divi imposes inside a Code module:
     ul  -> list-style: disc; padding: 0 0 23px 14px
     h3  -> Open Sans 22px #333, padding-bottom: 10px
     a   -> Divi blue #2EA3F2
   Those are reset explicitly below.

   Fonts picked up from your theme: Bebas Neue (headings), Open Sans (body).
   ============================================================================ */

.agk-testimonials {

	/* ---- change these to restyle everything ---- */
	--agk-card-bg:      #ffffff;
	--agk-card-radius:  26px;
	--agk-card-pad:     18px;
	--agk-card-gap:     32px;   /* space between cards */
	--agk-inner-gap:    36px;   /* image to text */

	--agk-heading:      #111111;
	--agk-text:         #5a5a5a;

	--agk-pill-bg:      #e4f0e2;
	--agk-pill-text:    #35573f;

	--agk-btn-bg:       #f5b72b;
	--agk-btn-bg-hover: #e0a40f;
	--agk-btn-text:     #17170f;

	--agk-img-radius:   14px;
	--agk-img-width:    40%;    /* image column */
	--agk-img-height:   300px;

	--agk-shadow:       0 8px 28px rgba(17, 34, 26, .10);

	/* Your Divi row is 1440px wide, which is wider than the design.
	   Constrain the cards here, or set the row width in Divi and delete this. */
	max-width: 1180px;
	margin: 0 auto;

	display: flex;
	flex-direction: column;
	gap: var(--agk-card-gap);
	padding: 0;
}


/* ---------------------------------------------------------------- the card */

.agk-testimonials .agk-testimonial {
	display: flex;
	align-items: stretch;
	gap: var(--agk-inner-gap);
	background: var(--agk-card-bg);
	border-radius: var(--agk-card-radius);
	padding: var(--agk-card-pad);
	box-shadow: var(--agk-shadow);
	overflow: hidden;
}

/* The image column is absolutely positioned inside a min-height frame so the
   photo always fills the card, however tall the text column grows. Without
   this, a long quote leaves a blank strip under a fixed-height image. */
.agk-testimonials .agk-testimonial__media {
	position: relative;
	flex: 0 0 var(--agk-img-width);
	max-width: var(--agk-img-width);
	min-height: var(--agk-img-height);
	border-radius: var(--agk-img-radius);
	overflow: hidden;
	background: #eef1ec;   /* shows while the image loads */
}

.agk-testimonials .agk-testimonial__media a {
	position: absolute;
	inset: 0;
	display: block;
}

/* Divi leaves images at their natural size — force them to fill the frame. */
.agk-testimonials .agk-testimonial__img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	transition: transform .5s ease;
}

.agk-testimonials .agk-testimonial:hover .agk-testimonial__img {
	transform: scale(1.04);
}

.agk-testimonials .agk-testimonial__body {
	flex: 1 1 auto;
	min-width: 0;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: center;
	padding: 8px 30px 8px 0;
}


/* ------------------------------------------------------------- the heading
   Bebas Neue is a condensed all-caps face, so it needs a larger size and a
   tighter line-height than Divi's default h3 to read correctly.            */

.agk-testimonials .agk-testimonial__name {
	margin: 0 0 14px;
	padding: 0;                    /* kills Divi's h3 padding-bottom: 10px */
	font-family: "Bebas Neue", "Open Sans", Arial, sans-serif;
	font-size: clamp(26px, 2.2vw, 34px);
	font-weight: 400;
	line-height: 1.02;
	letter-spacing: .5px;
	text-transform: uppercase;
	color: var(--agk-heading);
}

.agk-testimonials .agk-testimonial__name a {
	color: inherit;                /* kills Divi blue */
	text-decoration: none;
}

.agk-testimonials .agk-testimonial__name a:hover,
.agk-testimonials .agk-testimonial__name a:focus-visible {
	color: var(--agk-heading);
	text-decoration: underline;
	text-underline-offset: 4px;
	text-decoration-thickness: 2px;
}


/* --------------------------------------------------------- the term pills
   Divi styles bare <ul> with discs and 23px bottom padding. Reset both.    */

.agk-testimonials .agk-testimonial__terms {
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0 0 16px;
	padding: 0;
}

.agk-testimonials .agk-testimonial__terms li {
	list-style: none;
	display: block;
	margin: 0;
	padding: 0;
}

.agk-testimonials .agk-testimonial__terms li::before {
	content: none;                 /* some Divi child themes add bullets here */
}

.agk-testimonials .agk-testimonial__term a {
	display: inline-block;
	background: var(--agk-pill-bg);
	color: var(--agk-pill-text);
	font-family: "Open Sans", Arial, sans-serif;
	font-size: 13px;
	line-height: 1;
	font-weight: 400;
	padding: 8px 15px;
	border-radius: 999px;
	text-decoration: none;
	transition: background .2s ease, color .2s ease;
}

.agk-testimonials .agk-testimonial__term a:hover,
.agk-testimonials .agk-testimonial__term a:focus-visible {
	background: var(--agk-pill-text);
	color: #fff;
}

/* Farm-type pills a shade different from location pills.
   Delete this rule to make both taxonomies identical. */
.agk-testimonials .agk-testimonial__term--farm_type a {
	background: #eaf2e6;
}


/* --------------------------------------------------- result stat + excerpt */

.agk-testimonials .agk-testimonial__result {
	margin: 0 0 10px;
	padding: 0;
	font-family: "Open Sans", Arial, sans-serif;
	font-size: 14px;
	font-weight: 700;
	color: var(--agk-heading);
}

.agk-testimonials .agk-testimonial__quote {
	margin: 0 0 22px;
	padding: 0;
}

.agk-testimonials .agk-testimonial__quote p {
	margin: 0;
	padding: 0;                    /* kills Divi's p padding-bottom: 1em */
	font-family: "Open Sans", Arial, sans-serif;
	font-size: 14px;
	line-height: 1.75;
	color: var(--agk-text);
}


/* -------------------------------------------------------------- the button */

.agk-testimonials .agk-testimonial__cta {
	margin: 0;
	padding: 0;
}

.agk-testimonials .agk-testimonial__button {
	display: inline-block;
	background: var(--agk-btn-bg);
	color: var(--agk-btn-text);
	font-family: "Open Sans", Arial, sans-serif;
	font-size: 13px;
	font-weight: 700;
	line-height: 1;
	padding: 14px 22px;
	border-radius: 8px;
	text-decoration: none;
	transition: background .2s ease, transform .2s ease;
}

.agk-testimonials .agk-testimonial__button:hover,
.agk-testimonials .agk-testimonial__button:focus-visible {
	background: var(--agk-btn-bg-hover);
	color: var(--agk-btn-text);
	text-decoration: none;
	transform: translateY(-1px);
}

.agk-testimonials .agk-testimonial__button:focus-visible {
	outline: 3px solid var(--agk-pill-text);
	outline-offset: 3px;
}


/* ------------------------------------------------- optional grid variant
   Used by [agk_testimonials layout="grid" columns="2"].
   Delete if you only ever use the default list layout.                     */

.agk-testimonials--grid {
	display: grid;
	gap: var(--agk-card-gap);
}

.agk-testimonials--grid.agk-testimonials--cols-2 { grid-template-columns: repeat(2, 1fr); }
.agk-testimonials--grid.agk-testimonials--cols-3 { grid-template-columns: repeat(3, 1fr); }

.agk-testimonials--grid .agk-testimonial {
	flex-direction: column;
	gap: 20px;
}

.agk-testimonials--grid .agk-testimonial__media {
	flex: 0 0 auto;
	max-width: 100%;
	width: 100%;
	min-height: 230px;
}

.agk-testimonials--grid .agk-testimonial__body {
	padding: 0 10px 10px;
	justify-content: flex-start;
}


/* ------------------------------------------------ empty state + pagination */

.agk-testimonials__empty {
	max-width: 1180px;
	margin: 0 auto;
	font-family: "Open Sans", Arial, sans-serif;
	color: var(--agk-text);
	font-style: italic;
}

.agk-testimonials__pagination {
	max-width: 1180px;
	margin: 34px auto 0;
}

.agk-testimonials__pagination ul {
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	justify-content: center;
	margin: 0;
	padding: 0;
}

.agk-testimonials__pagination li {
	list-style: none;
	margin: 0;
	padding: 0;
}

.agk-testimonials__pagination a,
.agk-testimonials__pagination span {
	display: inline-block;
	min-width: 42px;
	text-align: center;
	padding: 11px 13px;
	border-radius: 8px;
	background: #fff;
	box-shadow: var(--agk-shadow);
	color: var(--agk-heading);
	font-family: "Open Sans", Arial, sans-serif;
	font-size: 14px;
	font-weight: 600;
	text-decoration: none;
}

.agk-testimonials__pagination .current {
	background: var(--agk-btn-bg);
	color: var(--agk-btn-text);
}


/* ------------------------------------------------- screen-reader-only text */

.agk-sr-only {
	position: absolute !important;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}


/* ------------------------------------------------------------- responsive */

@media (max-width: 1100px) {

	.agk-testimonials {
		--agk-inner-gap: 26px;
		--agk-img-width: 42%;
		--agk-img-height: 260px;
	}

	.agk-testimonials .agk-testimonial__body {
		padding: 6px 16px 6px 0;
	}
}

@media (max-width: 980px) {

	.agk-testimonials--grid.agk-testimonials--cols-3 {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 767px) {

	.agk-testimonials {
		--agk-card-gap: 22px;
		--agk-card-radius: 18px;
		--agk-card-pad: 14px;
	}

	.agk-testimonials .agk-testimonial {
		flex-direction: column;
		gap: 18px;
	}

	.agk-testimonials .agk-testimonial__media {
		flex: 0 0 auto;
		max-width: 100%;
		width: 100%;
		min-height: 220px;
	}

	.agk-testimonials .agk-testimonial__body {
		padding: 0 8px 10px;
	}

	.agk-testimonials .agk-testimonial__name {
		font-size: 26px;
	}

	.agk-testimonials--grid.agk-testimonials--cols-2,
	.agk-testimonials--grid.agk-testimonials--cols-3 {
		grid-template-columns: 1fr;
	}
}


/* --------------------------------------------------------- reduced motion */

@media (prefers-reduced-motion: reduce) {

	.agk-testimonials .agk-testimonial__img,
	.agk-testimonials .agk-testimonial__button,
	.agk-testimonials .agk-testimonial__term a {
		transition: none;
	}

	.agk-testimonials .agk-testimonial:hover .agk-testimonial__img {
		transform: none;
	}
}

/* ========================= end agKnowledge Testimonials ==================== */

/* ============================================================================
   agKnowledge — Testimonial filter menus
   ----------------------------------------------------------------------------
   Append to your child theme style.css, below the testimonial card styles.

   Chip values are lifted from the live /fertiliser-reviews/ menu so the two
   pages read as the same system:
     idle    #ECE5D6 bg / #6B6B60 text / #DDD4C2 border
     active  #17311F bg / #FFFFFF text
     8px radius, 12px 20px padding, Open Sans 15px/500, 12px gap
   ============================================================================ */

.agk-filters {

	--agk-chip-bg:          #ece5d6;
	--agk-chip-text:        #6b6b60;
	--agk-chip-border:      #ddd4c2;

	--agk-chip-hover-bg:    #e3d9c4;
	--agk-chip-hover-text:  #17311f;

	--agk-chip-active-bg:   #17311f;
	--agk-chip-active-text: #ffffff;

	--agk-chip-radius:      8px;
	--agk-chip-pad:         12px 20px;
	--agk-chip-gap:         12px;

	--agk-heading-color:    #17311f;

	max-width: 1180px;      /* match the testimonial cards */
	margin: 0 auto 40px;

	display: flex;
	flex-wrap: wrap;
	gap: 30px;
	align-items: flex-start;
}


/* ------------------------------------------------------- the two columns */

.agk-filters .agk-filters__group {
	/* 50% each, minus half the gap */
	flex: 1 1 calc(50% - 15px);
	min-width: 0;
	margin: 0;
	padding: 0;
}


/* ------------------------------------------------------------- headings
   Bebas Neue to match the rest of the site. Swap text-align to left here
   and in .agk-filters__list if you'd rather they weren't centred.        */

.agk-filters .agk-filters__heading {
	margin: 0 0 14px;
	padding: 0;
	font-family: "Bebas Neue", "Open Sans", Arial, sans-serif;
	font-size: 22px;
	font-weight: 400;
	line-height: 1.1;
	letter-spacing: .5px;
	text-transform: uppercase;
	text-align: left;
	color: var(--agk-heading-color);
}


/* ---------------------------------------------------------------- chips */

.agk-filters .agk-filters__list {
	display: flex;
	flex-wrap: wrap;
	gap: var(--agk-chip-gap);
	justify-content: left;
	margin: 0;
	padding: 0;
	list-style: none;
}

.agk-filters .agk-filters__btn {
	display: inline-block;
	background: var(--agk-chip-bg);
	color: var(--agk-chip-text);
	border: 1px solid var(--agk-chip-border);
	border-radius: var(--agk-chip-radius);
	padding: var(--agk-chip-pad);
	font-family: "Open Sans", Arial, sans-serif;
	font-size: 15px;
	font-weight: 500;
	line-height: 1;
	text-decoration: none;
	white-space: nowrap;
	transition: background .18s ease, color .18s ease, border-color .18s ease;
}

.agk-filters a.agk-filters__btn:hover,
.agk-filters a.agk-filters__btn:focus-visible {
	background: var(--agk-chip-hover-bg);
	color: var(--agk-chip-hover-text);
	border-color: var(--agk-chip-hover-bg);
	text-decoration: none;
}

.agk-filters a.agk-filters__btn:focus-visible {
	outline: 3px solid var(--agk-chip-active-bg);
	outline-offset: 2px;
}

/* Selected term */
.agk-filters .agk-filters__btn.is-active {
	background: var(--agk-chip-active-bg);
	color: var(--agk-chip-active-text);
	border-color: var(--agk-chip-active-bg);
}

.agk-filters a.agk-filters__btn.is-active:hover,
.agk-filters a.agk-filters__btn.is-active:focus-visible {
	background: #0f2416;
	color: var(--agk-chip-active-text);
	border-color: #0f2416;
}

/* Combination that would return nothing — rendered as a <span>, not a link */
.agk-filters .agk-filters__btn.is-unavailable {
	background: transparent;
	color: #b4ada0;
	border-color: #e7e0d3;
	border-style: dashed;
	cursor: not-allowed;
}


/* ----------------------------------------------------------- responsive */

@media (max-width: 900px) {

	.agk-filters {
		gap: 26px;
	}

	.agk-filters .agk-filters__group {
		flex: 1 1 100%;   /* stack the two menus */
	}
}

@media (max-width: 600px) {

	.agk-filters {
		--agk-chip-pad: 10px 15px;
		--agk-chip-gap: 8px;
		margin-bottom: 28px;
	}

	.agk-filters .agk-filters__btn {
		font-size: 14px;
	}

	.agk-filters .agk-filters__heading {
		font-size: 20px;
		margin-bottom: 10px;
	}
}

@media (prefers-reduced-motion: reduce) {

	.agk-filters .agk-filters__btn {
		transition: none;
	}
}

/* ==================== end agKnowledge Testimonial filters ================= */

/* Edit Cart/Checkout Styling styling */

.wc-block-cart__submit-button, .wc-block-components-checkout-place-order-button{
	border-radius:0px;
}