/*
Theme Name:   Somentra Child
Theme URI:    https://themeforest.net/user/greatives
Description:  Somentra Child Theme
Version:      2.1.0
Author:       Greatives Team
Author URI:   https://greatives.eu
Template:     impeka
*/

/* ==========================================
=! globals
------------------------------------------ */

:root {
  --ws-site-padding: 90px;
  --ws-container-padding: 117px;
  --ws-container-size: 940px;
  --ws-banner-height: 720px;
  --ws-banner-height-tablet: 420px;
  --ws-banner-height-mobile: 212px;
  --section-border-lg: solid #d1d1cf 8px;
  --section-border-md: solid #d1d1cf 6px;
  --border-radius-sml: 7px;
  --ws-gradient-one: linear-gradient(to bottom, #52b1ee 0%, #0069b4 100%);
  --font-headings: "neue-aachen-pro", serif;
  --font-body: "Roboto", sans-serif;
  --artwork-copyright: "Image Credit: Keturah Nangala Zimran, Puli Puli - Rocks, 2019 © Keturah Nangala Zimran/ Licensed by Copyright Agency, 2026";
}

#grve-main-content p:last-child {
  margin-bottom: 30px;
}

/* --- word wrapping --- */

#grve-theme-wrapper,
#grve-theme-wrapper * {
  overflow-wrap: anywhere !important;
  word-break: normal !important;
}

/* ==========================================
=! typography
------------------------------------------ */

h2,
.grve-h2,
h3,
.grve-h3 {
  & strong {
    font-weight: 700 !important;
  }
}

h5,
.grve-h5 {
  & strong {
    font-weight: 500 !important;
  }
}

/* --- spacing --- */
:is(h1, .grve-h1) {
  padding-bottom: 30px;
}

:is(h2, .grve-h2) {
  padding-bottom: 10px;
}

:is(h6, .grve-h6) {
  padding-top: 28px;
  padding-bottom: 24px;
}

/* --- colour overrides --- */
:is(h2, h3, h4, h5, .grve-h2, .grve-h3, .grve-h4, .grve-h5) {
  color: var(--wp--preset--color--primary-3);
}

/*a[aria-current="page"]:not([aria-expanded="true"]) {
  color: var(--wp--preset--color--primary-2) !important;
  transition: color ease-in 0.1s;
}*/

a[aria-current="page"] {
  color: var(--wp--preset--color--primary-1) !important;
}

/* --- registered symbol --- */


p sup {
  margin-left: -3px;
  font-size: 0.5em;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  & sup {
    font-size: 0.5em;
	margin-left: -.4em;
  }
}

/* ==========================================
=! header
------------------------------------------ */

.ico-phone {
  & .grve-item {
    display: flex !important;
    align-items: center;
    flex-direction: row;
    gap: 10px;
  }

  &:hover span::before {
    background-color: var(--wp--preset--color--primary-2);
  }

  & span::before {
    content: "";
    background: url(https://iria.com.au/wp-content/uploads/2026/08/ico-phone.svg)
      no-repeat center center var(--wp--preset--color--primary-4);
    background-size: 85%;
    display: block;
    width: 44px;
    height: 44px;
    border-radius: 50px;
    border: 2px solid #000;
  }
}

#grve-main-header .grve-header-menu .grve-first-level.grve-menu-type-button {
  & .grve-item {
    background: var(--ws-gradient-one);
    font-family: var(--font-body);
    font-weight: 600;
    font-size: 20px;
  }

  &:hover .grve-item {
    background: var(--wp--preset--color--primary-2);
  }

  &.grve-shape-round > .grve-link-wrapper a .grve-item {
    border-radius: var(--border-radius-sml);
  }
}

#grve-responsive-menu-area .grve-vertical-menu li.menu-item + li.menu-item {
  margin-top: 0;
}

#ws-sidebar-menu,
#grve-responsive-main-menu .grve-menu {
  & .menu-item {
    line-height: 23px !important;
    margin-bottom: 10px !important;
  }

  & .sub-menu {
    padding-left: 0 !important;
    padding-top: 5px;
  }

  & .sub-menu li {
    margin-bottom: 3px !important;
  }
}

/* submenu indicator: caret instead of plus */
.grve-vertical-menu.grve-accordion-animation .grve-arrow::before,
.grve-vertical-menu.grve-toggle-animation .grve-arrow::before {
  width: 8px;
  height: 8px;
  background-color: transparent;
  border-right: 2px solid var(--wp--preset--color--primary-3);
  border-bottom: 2px solid var(--wp--preset--color--primary-3);
  transform: translate(-70%, -50%) rotate(-45deg);
}

#grve-responsive-menu-area
  .grve-vertical-menu.grve-toggle-animation
  .grve-arrow::before {
  border-right: 2px solid #fff;
  border-bottom: 2px solid #fff;
}

.grve-vertical-menu.grve-accordion-animation .grve-arrow:hover::before,
.grve-vertical-menu.grve-toggle-animation .grve-arrow:hover::before {
  border-right: 2px solid var(--wp--preset--color--primary-2) !important;
  border-bottom: 2px solid var(--wp--preset--color--primary-2) !important;
}

.grve-vertical-menu.grve-accordion-animation .grve-arrow::after,
.grve-vertical-menu.grve-toggle-animation .grve-arrow::after {
  display: none;
}

/* open: points down */

.grve-vertical-menu.grve-toggle-animation .grve-arrow.grve-open::before,
.grve-vertical-menu.grve-toggle-animation .grve-arrow.grve-open::before {
  transform: translate(-50%, -70%) rotate(0deg);
}

.grve-vertical-menu .grve-link-wrapper {
  display: flex;
  align-items: center;
  width: 100%;
}

.grve-vertical-menu .grve-link-wrapper > a {
  flex: 1 1 auto;
}

.grve-vertical-menu .grve-arrow {
  flex: 0 0 auto;
  margin-left: auto;
}

/* Header account dropdown */
.iria-account {
	position: relative;
}
.iria-account-menu {
	position: absolute;
	top: calc(100% + 14px);
	right: -12px;
	z-index: 100;
	min-width: 120px;
	margin: 0;
	padding: 8px 0;
	list-style: none;
	background: #fff;
	border-radius: 7px;
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.18);
	opacity: 0;
	visibility: hidden;
	transform: translateY(6px);
	transition: opacity 0.15s, transform 0.15s, visibility 0.15s;
}
/* keeps the menu open while the mouse crosses the gap */
.iria-account-menu::before {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 100%;
	height: 14px;
}
.iria-account:hover .iria-account-menu,
.iria-account:focus-within .iria-account-menu,
.iria-account.is-open .iria-account-menu {
	opacity: 1;
	visibility: visible;
	transform: none;
}
.iria-account-menu li {
	margin: 0;
	padding: 0;
}
.iria-account-menu a {
	display: block;
	text-align:right;
	padding: 10px 18px;
	font: 500 16px/1.3 var(--font-headings);
	color: var(--wp--preset--color--primary-3) !important;
	white-space: nowrap;
	text-decoration: none;
}
.iria-account-menu a:hover,
.iria-account-menu a:focus-visible {
	background: #f4f4f4;
	color: var(--wp--preset--color--primary-2) !important;
}

/* ==========================================
=! body
------------------------------------------ */

/* --- site padding overrides --- */

#grve-main-content .grve-main-content-wrapper {
  padding-top: 0;
  padding-bottom: 0;
}

/* --- white / lead section --- */
/*.grve-single-wrapper {
	border-top: var(--section-border-lg);
}*/

.ws-border-bottom-lg {
  border-bottom: var(--section-border-lg);
}
.ws-border-bottom-md {
  border-bottom: var(--section-border-md);
}

.ws-section-padding-top {
  padding-bottom: 110px;
}

.ws-section-padding-bottom {
  padding-bottom: 110px;
}

.ws-intro-row {
  padding-top: var(--ws-container-padding) !important;
}

/*
.grve-row-section:first-of-type {
	border-bottom: var(--section-border-lg);
}

.grve-row-section:not(:first-of-type) {
	border-bottom: var(--section-border-md);
}
*/

/* --- in-page links --- */

.grve-text a {
  text-decoration: underline;
}

/* ==========================================
=! page banner
------------------------------------------ */
/* the theme's content wrapper is overflow:auto, which clipped the top of the badge
   where it pokes up over the banner */
#grve-content:has(.iria-banner-badge) {
  overflow: visible !important;
}

#grve-feature-section.has-banner-badge {
  position: relative;
  overflow: visible;
  z-index: auto !important;
}
.ws-intro-row {
  border-top: var(--section-border-lg);
}

.iria-banner-badge {
  top: -124px;
}

/* posts: badge hangs 1px below the post banner, the same as on pages */
.single-post .iria-banner-badge {
  top: -7px;
}

/* posts: leave room for the badge beside the title, like h1.grve-title on pages */
.single-post .grve-single-simple-title {
  max-width: 75%;
}

.single-post article h3{
	font-family:var(--font-body);
	margin-bottom:30px;
	font-size: 20px !important;
	line-height: 1.4 !important;
}

@media (max-width: 768px) {
	.single-post article h3 {
		font-size: 18px !important;
	}
}

.ws-card-sign-top-wrapper {
  display: none !important;
}

.iria-banner-badge-wrap {
  position: relative;
  height: 0;
}

.iria-banner-badge {
  position: absolute;
  right: 0;
  translate: 0 -6px; /* handles poke just above the grey rail, like the IRIA signs */
  width: auto;
  line-height: 0;
  z-index: 20;
}

.iria-banner-badge img {
  display: block;
  width: auto;
  height: 185px; /* the max-height at each breakpoint scales it down */
}

/* ==========================================
=! components
------------------------------------------ */

/*#grve-theme-content{
	vertical-align: bottom !important;
	
	& .grve-container::after{
		content:'';
		display:block;
		background: url(https://iria.com.au/wp-content/uploads/2026/09/Sign-BTW140v2.svg) no-repeat;
		background-size: contain;
		width:140px;
		height:185px;
		position:absolute;
		bottom:-140px; 
		right:0;
		z-index:99999;
	}
}*/

/* Buttons */

.grve-btn {
  background: var(--ws-gradient-one);
  border-radius: var(--border-radius-sml);
  font-family: var(--font-body);
  font-weight: 600;
  font-size: 17px;
  padding: 0.563em 0.7em !important;
  border: none;

  &:hover {
    background: var(--wp--preset--color--primary-2) !important;
  }
}

/* Counters */

.grve-counter-content .grve-h4 {
  font-weight: 600;
}

.ws-counter-row .grve-image-item {
  min-height: 125px;
}

.ws-counter-row .grve-column-wrapper-inner {
  border-style: solid;
  border-width: 8px;
  border-color: rgba(255, 255, 255, 0.5);
  border-radius: var(--border-radius-sml);
}

.ws-counter-row .grve-column-inner-content {
  background: #fff;
  min-height: 250px;
  padding-block: 10px;
}

.ws-card-white-cta {
  background: #fff;
  border: #a8d8f6 8px solid;
  border-radius: 8px;
  padding: 30px !important;

  &:hover {
    border-color: var(--wp--preset--color--primary-2);

    & .ws-heading-arrow {
      color: var(--wp--preset--color--primary-2) !important;
    }
    & .ws-heading-arrow::before {
      filter: brightness(0) saturate(100%) invert(84%) sepia(12%)
        saturate(5738%) hue-rotate(332deg) brightness(103%) contrast(98%);
    }
  }
}

.ws-heading-arrow {
  display: flex;
  flex-direction: row;
  gap: 15px;

  & span {
    min-width: 0;
    padding-top: 10px;
  }

  &::before {
    content: "";
    flex: 0 0 72px;
    width: 72px;
    height: 85px;
    display: block;
    background-size: contain !important;
    background-repeat: no-repeat !important;
    background: url('data:image/svg+xml,<%3Fxml version="1.0" encoding="UTF-8"%3F><svg id="a" xmlns="http://www.w3.org/2000/svg" width="67.995" height="77.996" viewBox="0 0 67.995 77.996"><defs><style> .c { fill: %2352b1ee; } </style></defs><path id="b" class="c" d="M64.51,32.862L10.49.972C8.16-.408,5.53-.238,3.49.972S0,4.402,0,7.152l.04,63.7c0,5.49,5.83,8.92,10.49,6.18l53.97-31.81c4.66-2.75,4.66-9.61,0-12.36h.01ZM63.5,43.452l-53.97,31.81c-1.56.92-3.43.92-4.99,0-1.56-.92-2.5-2.57-2.5-4.41l-.04-63.7c0-1.85.93-3.5,2.5-4.42,1.57-.92,3.43-.92,5,0l54.01,31.89c1.56.92,2.5,2.57,2.49,4.42,0,1.84-.93,3.49-2.5,4.41ZM21.79,54.952l12.53-13.19-26.32.05v-5.67l26.32.05-12.53-13.19h7.16l15.05,15.95-15.05,16.05-7.16-.05Z"/></svg>');
  }
}

/* --- racking character cards --- */

.ws-card-ric.ws-card-ric-full img {
  padding-right: 0 !important;
  max-height: 150px !important;
}

/* Card images: always centred, whatever size the source file is */
.ws-card-ric.ws-card-ric-full .grve-image {
	align-self: stretch;
}
.ws-card-ric.ws-card-ric-full .grve-thumbnail-wrapper,
.ws-card-ric.ws-card-ric-full img {
	margin-inline: auto;
	width:100% !important;
	min-width:150px;
}


.ws-card-ric:not(.ws-card-ric-full){
	width: 200px !important;
}




.ws-card-ric{
  --_gap: 20px;
  background: #fff;
  border: #a8d8f6 8px solid;
  border-radius: 8px;
  padding: var(--_gap);
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--_gap);
  height: 100%;

  & .grve-box-title {
    margin-bottom: 0 !important;
  }

  /* override annoying grve stretch defaults */
  & .grve-thumbnail {
    padding-top: unset !important;
  }

  & .grve-thumbnail-wrapper
    img:not(.grve-dummy-image):not(.grve-image-from-url){
    position: relative !important;

  }

  & img {
    object-fit: contain;
    object-position: left;
    padding-left: 0px;
    padding-right: 33.333%;
    max-height: 140px !important;
  }

  & .grve-box-content {
    margin-top: 0 !important;
  }
}

/* --- stat sign cards --- */

/* helper utility to offset grid (in order to align with other cards within aside layout)  */
.ws-grid-offset--left {
  padding-left: 40px !important;

  & .grve-column-inner {
    padding-left: 20px !important;
    padding-right: 27px !important;
  }
}

/* top sign */

.ws-card-sign {
  & .grve-column-inner-content {
    height: 100%;
  }

  & .grve-title {
    margin-bottom: 0;
  }

  & h5 {
    font-weight: 500;
  }
}

.ws-card-sign-top-wrapper {
  position: relative;
}

.ws-card-sign-top {
  position: absolute !important;
  /*top: calc(var(--ws-container-padding) * -1);*/
  top: 0;
  right: 0;
  z-index: 99999 !important;

  & img {
    max-width: 80px;
  }
}

.ws-card-sign-green {
  background: url(https://iria.com.au/wp-content/uploads/2026/09/Sign-BTW140v2.svg)
    no-repeat;
  background-size: contain;
  max-width: 140px;
  height: 185px;
  align-self: flex-end;
}

.ws-card-sign-bot-left,
.ws-card-sign-top-left {
  padding: 20px 30px;
  width: 280px;
  height: 190px;
  display: block;
}

.ws-card-sign-wide {
  padding: 20px 30px;
  width: 270px;
  height: 185px;
  display: block;
  position: relative;
}

.ws-card-sign-wide-bot::before,
.ws-card-sign-wide-top::before {
  content: "";
  background-size: contain !important;
  position: absolute;
  display: block;
  width: 100%;
  height: 44px;
  background: url(https://iria.com.au/wp-content/uploads/2026/09/Sign-Wide-Handles-Block.svg)
    no-repeat center;
  z-index: 99999;
  left: 50%;
  transform: translate(-50%, -50%);
}

.ws-card-sign-wide.ws-card-sign-wide-top,
.ws-card-sign-wide.ws-card-sign-wide-bottom {
  background-position: center bottom;
  padding: 50px 20px 20px 20px;
}

.ws-card-sign-wide-bot::before {
  bottom: -22px;
}

.ws-card-sign-wide-top::before {
  top: 22px;
}

.ws-card-sign-yellow {
  padding-top: 60px;
  background: url(https://iria.com.au/wp-content/uploads/2026/09/Sign-GTK280.svg)
    no-repeat;
  background-size: contain;
}

.ws-card-sign-red {
  background: url(https://iria.com.au/wp-content/uploads/2026/09/Sign-CTA280-REV.svg)
    no-repeat;
  background-size: contain;
}

.ws-card-sign-wide-red {
  background: url(https://iria.com.au/wp-content/uploads/2026/09/Sign-Wide-Red.svg)
    no-repeat;
  background-size: contain;
}

.ws-card-sign-wide-green {
  background: url(https://iria.com.au/wp-content/uploads/2026/09/Sign-Wide-Green.svg)
    no-repeat;
  background-size: contain;
}

.ws-card-sign-wide-yellow {
  background: url(https://iria.com.au/wp-content/uploads/2026/09/Sign-Wide-Yellow.svg)
    no-repeat;
  background-size: contain;
}

.ws-card-sign-red-stat {
  background: url(https://iria.com.au/wp-content/themes/impeka-child/img/sign-tall-red.svg)
    no-repeat top center / contain !important;
}

.ws-card-sign-green-stat {
  background: url(https://iria.com.au/wp-content/themes/impeka-child/img/sign-tall-green.svg)
    no-repeat top center / contain !important;
}

.ws-card-sign-yellow-stat {
  background: url(https://iria.com.au/wp-content/themes/impeka-child/img/sign-tall-yellow.svg)
    no-repeat top center / contain !important;
}

.ws-card-sign-lightblue-stat {
  background: url(https://iria.com.au/wp-content/themes/impeka-child/img/sign-tall-lightblue.svg)
    no-repeat top center / contain !important;
}

.ws-card-sign-blue-stat {
  background: url(https://iria.com.au/wp-content/uploads/2026/09/Sign-blue-stat.svg) no-repeat;
  background-size: contain;
  padding: 28px 30px 20px 75px;
  display: block;

  & .grve-image .grve-thumbnail {
    padding-top: 0 !important;
    height: auto !important;
    margin-bottom: 15px;
  }

  & .grve-image .grve-thumbnail img {
    position: static !important;
    width: auto !important;
    max-width: 100%;
    height: auto !important;
    max-height: 126px;
  }

  & .grve-align-center.grve-image .grve-thumbnail img {
    margin-inline: auto;
  }
}


/* Stat signs (WPBakery columns): scale contents with the artwork */
.ws-card-sign-blue-stat {
	container-type: inline-size;
	aspect-ratio: 261 / 280 !important;
	width: 100% !important;
	max-width: 360px;
	height: auto !important;
	max-height: none !important;
	padding: 0 !important;
	background-size: 100% 100% !important;
}
.ws-card-sign-blue-stat > .grve-column-inner-content {
	height: auto;
	padding: 8.5cqi 9cqi 6cqi 23cqi;
}
.ws-card-sign-blue-stat h5,
.ws-card-sign-blue-stat .grve-h5 {
	font-size: 6.2cqi !important;
	line-height: 1.1 !important;
}
#grve-main-content .ws-card-sign-blue-stat .grve-title {
	margin-bottom: 0 !important;
}
.ws-card-sign-blue-stat .grve-counter-item,
.ws-card-sign-blue-stat .grve-counter-item span {
	font-size: 19cqi !important;
	line-height: 1.2 !important;
	white-space: nowrap;
	overflow-wrap: normal !important;
}
.ws-card-sign-blue-stat .grve-counter-title:empty {
	display: none;
}
.ws-card-sign-blue-stat .grve-image .grve-thumbnail {
	margin-bottom: 4.6cqi;
}
.ws-card-sign-blue-stat .grve-image .grve-thumbnail img {
	max-height: 39cqi;
}

/* card */
.ws-card-stat {
  /*aspect-ratio: 3/4;*/
  border: 9px solid var(--wp--preset--color--primary-3);
  background: var(--wp--preset--color--primary-1);
  position: relative;
  border-radius: 4px;
  min-height: 280px;
  max-width: 250px;

  & .grve-column-inner-content {
    height: 100%;
    padding: 20px;
  }

  & .grve-title {
    margin-bottom: 0;
  }

  & h5 {
    font-weight: 500;
  }

  & .grve-text {
    position: relative;
    height: 100%;
    display: flex;
    flex-direction: column;

    /*& p {
			flex:2;
			padding: 24px;
			color: white;
			font-family: neue-aachen-pro;
			font-weight: 200;
			font-style: normal;
			text-transform: none;
			font-size: 21px;
			line-height: 23px;
			
			& strong {
				font-size: 45px;
				line-height: 47px;
			}
		}*/

    &::after {
      position: relative;
      content: "";
      background-image: url("https://iria.com.au/wp-content/uploads/2026/09/checkerplate-pattern.svg");
      background-repeat: repeat;
      background-size: 110%;
      background-position-y: -5px;
      flex: 1;
    }
  }
}

.ws-checkerboard .grve-column-inner-content::before {
  content: "";
  background-image: url(https://iria.com.au/wp-content/uploads/2026/09/checkerplate-pattern.svg);
  background-repeat: repeat;
  background-position: center;
  background-size: 80% auto;
  width: 100%;
  height: 80px;
  display: block;
  position: absolute;
  left: 0;
  bottom: 0;
}

/* outer element */
.grve-column-inner:has(.ws-card-stat)::before {
  position: absolute;
  content: "";
  background-image: url("https://iria.com.au/wp-content/uploads/2026/09/sign-pole-rail-cropped.svg");
  background-repeat: no-repeat;
  width: 50px;
  height: 100%;
  display: block;
  left: -12px;
  top: 0;
  z-index: 99;
}

/* accordion */

.grve-accordion-top {
  padding: 30px !important;
}

.grve-accordion {
  background: #fff;
  border: 10px solid #fdaf3580;
  border-radius: var(--border-radius-sml);

  & .grve-title-wrapper {
    padding-block: 25px !important;
  }

  & .grve-accordion-wrapper {
    padding: 25px 30px;
  }

  & .grve-title-wrapper {
    color: var(--wp--preset--color--primary-4) !important;
  }

  & .grve-title-wrapper.active::after {
    opacity: 0 !important;
  }
  & .grve-title-wrapper.active,
  .grve-title-wrapper:hover {
    color: var(--wp--preset--color--primary-2) !important;
  }
  & .grve-title-wrapper.active svg {
    fill: var(--wp--preset--color--primary-3);
  }
  & .grve-accordion-content {
    border-bottom: 2px solid #d1d1cf !important;
    padding-top: 0 !important;
  }

  & li:last-child .grve-title-wrapper::after {
    display: none;
  }

  & li:last-child .grve-accordion-content {
    border-bottom: none !important;
  }

  & .grve-title-wrapper::after {
    border-top: 2px solid #d1d1cf !important;
    opacity: 1 !important;
    transition: opacity 0.1s ease-in-out;
  }
}

/* ==========================================
=! blog
------------------------------------------ */

/* --- home variants --- */

.ws-post-grid {
  & .grve-post-item.grve-style-3 .grve-post-item-inner {
    padding: 0;
    aspect-ratio: 16 / 9;
    height: auto !important;
    min-height: auto !important;
  }

  & .grve-post-item.grve-style-3 .grve-post-content {
    max-width: 100%;
    padding: 1em 1.8em;
    min-height: 80px;
    display: flex;
    justify-content: center;
    flex-direction: column;
    background-color: #0076bfa6; /* var(--wp--preset--color--primary-1) opaque */

    & p {
      display: none;
    }
  }
}

/* --- single post --- */

.single-post {
  & #grve-single-media .grve-media,
  #grve-single-media {
    border-bottom: var(--section-border-lg);
  }

  & .grve-post-meta {
    display: none;
  }

  & #grve-single-media .grve-container {
    max-width: unset;
    min-width: calc(100% + 90px); /* based on offset margin value */
  }

  & .grve-tags a {
    font-family: var(--font-body);
  }

  & .grve-bar-item .grve-title {
    font-size: 14px;
    text-transform: capitalize;
  }

  & #grve-post-bar .grve-subtitle {
    display: none;
  }

  & .grve-bar-item .grve-nav-item a {
    color: var(--wp--preset--color--primary-3);
  }
}

/* --- archive --- */

body.page-id-689 {
  /* page */

  & #grve-main-content .grve-main-content-wrapper,
  #grve-sidebar {
    padding-top: 210px;
  }

  & .grve-filter {
    margin-bottom: 52px;
  }

  & .grve-filter li,
  select.grve-filters-select {
    font-family: var(--font-body);
    font-size: 20px;
    font-weight: 400;
    line-height: 1.5;
    letter-spacing: 0;
    text-transform: none;
  }

  & .grve-filter li.selected {
    font-weight: 700;
  }

  /* card */
  & .grve-post-item {
    border: 2px solid #d1d1cf;
    border-radius: var(--border-radius-sml);
    overflow: hidden;
  }

  & .grve-post-item-inner {
    background-color: var(--wp--preset--color--white) !important;
    border: 0;
  }

  & .grve-post-media {
    z-index: 0;
    flex: 0 0 auto;
  }

  & .grve-thumbnail-wrapper {
    height: auto;
  }

  & .grve-thumbnail {
    padding-top: 0 !important;
    aspect-ratio: 16 / 9;
    height: auto;

    & img {
      width: 100%;
      height: 100%;
      object-fit: cover;
    }
  }

  & .grve-post-content {
    padding-top: 60px !important;
    padding-inline: 22px !important;
    padding-bottom: 22px !important;
  }
  & .grve-post-item.grve-style-2 .grve-post-item-inner .grve-post-title {
    color: var(--wp--preset--color--primary-1);
    font-family: var(--font-headings);
    font-size: 24px;
    font-weight: 400;
    line-height: 1;
    letter-spacing: 0;
    padding-bottom: 0;
  }

  & .grve-post-exerpt,
  .grve-post-exerpt p {
    font-family: var(--font-body);
    font-size: 20px;
    font-weight: 400;
    line-height: 1.5;
    letter-spacing: 0;
  }

  & .grve-post-exerpt {
    & p:last-child {
      margin-bottom: 0;
    }
  }
}

/* ==========================================
=! footer
------------------------------------------ */

/* --- widgets --- */

.widget,
.widgets,
.widget p {
  font-family: "Roboto";
  font-size: 14px;
}

.grve-link-inherit a {
  text-decoration: none;
}

.footer-certs {
  transform: translateY(-20%);

  &::before {
    content: "approved by";
    text-transform: uppercase;
    position: relative;
    top: -20px;
    font-size: 16px;
  }
}


/* Footer certification image: max 100px tall at all sizes */
#grve-bottom-bar .grve-image .grve-thumbnail {
	padding-top: 0 !important;
	height: auto !important;
}
#grve-bottom-bar .grve-image .grve-thumbnail img {
	position: static !important;
	width: auto !important;
	height: auto !important;
	max-width: 100%;
	max-height: 100px;
}

/* --- bottom bar --- */

.grve-footer-bar {
  padding-bottom: 90px !important;
}

.grve-footer-row {
  text-transform: uppercase;
  font-weight: bold;

  & .grve-footer-column.grve-footer-column-1-2:nth-of-type(2) {
    order: -1;
    max-width: 28% !important;
  }

  & .grve-align-right {
    text-align: left;
  }
}

/* ==========================================
=! responsive
------------------------------------------ */

@media (min-width: 1500px) {
  #grve-main-content .grve-container {
    max-width: 1000px;
  }

 
}

@media (min-width: 1401px) {
  .iria-logo img {
    height: 95px !important;
  }

  #grve-header {
    width: 75% !important;
  }
  #ws-sidebar-menu,
  #grve-responsive-main-menu .grve-menu {
    padding: 15px 20px;
    width: 280px;
    height: 415px;
    border-width: 10px !important;

    & a {
      font-size: 18px !important;
    }

    & .grve-arrow {
      margin-right: -15px;
    }

    & .sub-menu a {
      font-size: 17px !important;
      line-height: 22px;
    }

    & .menu-item {
      margin-bottom: 5px !important;
    }
  }

  .single-post
    #grve-content.grve-left-sidebar
    #grve-single-media
    .grve-container {
    margin-left: -90px !important;
  }
}

@media (min-width: 1024px) and (max-width: 1400px) {
  :root {
    --ws-site-padding: 45px;
  }

  #grve-content.grve-with-sidebar #grve-main-content,
  #grve-header,
  #grve-post-bar .grve-container {
    width: 70% !important;
  }
  #grve-content.grve-with-sidebar #grve-sidebar {
    width: 30%;
  }

  #grve-main-content #grve-single-media .grve-container {
    margin-left: -45px !important;
  }

  /* HEADER */

  .iria-logo img {
    height: 85px !important;
  }

  .grve-header-menu.grve-horizontal-menu {
    padding: 0;
  }

  .grve-horizontal-menu > .grve-menu > .grve-first-level + .grve-first-level {
    margin-left: 18px;
  }

  .grve-header-menu
    li.grve-first-level:not(.grve-menu-element-first-level)
    > .grve-link-wrapper:not(.grve-menu-element-link-wrapper)
    > a {
    font-size: 20px;
  }

  #grve-main-header
    .grve-header-menu
    .grve-first-level.grve-menu-type-button
    > .grve-link-wrapper
    a
    .grve-item {
    font-size: 17px;
    padding: 0.563em 0.7em;
  }

  .ico-phone span::before {
    width: 34px;
    height: 34px;
  }

  .grve-header-elements {
    padding-left: 0;
  }

  .iria-banner-badge img {
    max-height: 150px !important;
  }

  /* SIDEBAR */

  #menu-left-menu,
  #ws-sidebar-menu {
    & .grve-arrow {
      margin-right: -20px;
    }

    & .sub-menu a {
      font-size: 16px !important;
      line-height: 20px;
    }

    & a {
      font-size: 18px !important;
    }
  }

  #ws-sidebar-menu {
    padding: 20px 24px;
    width: 260px;
    height: 425px;
    border-width: 8px !important;
  }

  #grve-sidebar {
    background-position: center 160px !important;
    background-size: auto 530px !important;
  }

  body:not(.logged-in) #grve-sidebar {
    background-position: center 130px !important;
  }

  .ws-sidebar-menu-wrapper::before {
    background-size: 177px auto !important;
  }

  .grve-vertical-menu.grve-accordion-animation .grve-arrow::before,
  .grve-vertical-menu.grve-toggle-animation .grve-arrow::before {
    width: 7px;
    height: 7px;
  }

  /* BANNER */

  #grve-feature-section.banner-half .grve-bg-image {
    --ws-sidebar-w: 30%;
  }

  /* BLOG */

  .single-post
    #grve-content.grve-left-sidebar
    #grve-single-media
    .grve-container {
    margin-left: -45px !important;
  }
}

@media (min-width: 1024px) {
  /* TYPOGRAPHY */

  h1.grve-title,
  .ws-post-title h1 {
    max-width: 75%;
  }

  /* STRUCTURE */

  /* --- container size desktop --- */

  #grve-content.grve-left-sidebar .grve-content-wrapper {
    max-width: 100%;
    width: 100%;
  }

  /* aside site container padding overrides */
  #grve-content.grve-left-sidebar {
    overflow: auto;

    & #grve-main-content {
      padding-left: var(--ws-site-padding);
    }
    & .grve-section,
    .grve-section-wrapper > :not(.grve-section) {
      padding-right: var(--ws-site-padding) !important;
    }

    #grve-main-content .grve-container {
      margin-left: 0 !important;
      margin-right: auto !important;
    }
  }

  .single-post
    #grve-content.grve-left-sidebar
    + #grve-post-bar
    .grve-container {
    width: auto;
    max-width: 1000px;
    margin-left: calc(25% + 90px); /* sidebar width + content padding */
    margin-right: 90px;
  }

  /* FOOTER */

  #grve-footer {
    & .grve-container {
      max-width: inherit;
    }

    & .grve-column-3-4 {
      padding-right: 15px;
      padding-left: 55px;

      & .grve-widget,
      .grve-column-inner-content {
        max-width: var(--ws-container-size) !important;
      }
    }
  }

  /* HEADER */

  #grve-header {
    position: absolute;
    right: 0;
    top: 0;

    & .grve-container {
      margin-left: 90px;
    }

    & .grve-left-area {
      display: none;
    }

    & .grve-right-area {
      width: 100%;
      max-width: 1070px;
      justify-content: space-between;
    }
  }

  /* SIDEBAR */

  body.logged-in {
    #grve-sidebar {
      padding-top: 150px !important;
    }

    #grve-sidebar {
      height: calc(var(--ws-banner-height) + 40px) !important;
    }
    #grve-sidebar::before {
      top: 170px;
    }
  }
  body:not(.logged-in) {
    #grve-sidebar {
      padding-top: 120px;
      background-position: center 140px;
    }
  }

  #grve-sidebar {
    position: fixed;
    z-index: 999999999;
    top: 0;
    left: 0;
    height: calc(var(--ws-banner-height) + 8px);
    background: url(https://iria.com.au/wp-content/uploads/2026/10/menu-bg.png)
      no-repeat center 170px var(--wp--preset--color--primary-1);
    background-size: auto 520px;
    display: flex;
    justify-content: flex-end;
    padding-right: 30px;
    border-bottom: var(--section-border-lg);

    /*&::before{
			content:'';
			background: #000F9F;
			opacity:.5;
			width:100%;
			height:520px;
			position:absolute;
			top:140px;
			left:0;
		}*/

    & .grve-wrapper {
      display: flex;
      flex-direction: column;
      align-items: center;
      max-width: 280px;
    }

    & .widget:not(#block-13) {
      margin-bottom: 15px;
    }

    & .widget#block-13 {
      margin-bottom: 0;
    }

    & .grve-vertical-menu-wrapper {
      padding-bottom: 8px;
    }

    & #block-8::before {
      content: var(--artwork-copyright);
      text-shadow: 0 1px 4px rgba(0, 0, 0, 0.6);
      color: #fff;
      font-size: 12px;
    }

    & h3 {
      font-weight: 700 !important;
      margin-top: 30px;
    }
  }
	
	/* Sidebar artwork credit: 3 lines under the menu card */

	#grve-sidebar #block-8::before {
		display: block;
		font-size: 11px !important;
		line-height: 1.4 !important;
		margin-bottom: 61px;
	}


  .iria-logo {
    margin-bottom: 10px;
  }

  .iria-logo img {
    width: auto !important;
    margin-top: -90px;
  }

  #menu-left-menu,
  #ws-sidebar-menu {
    & a {
      font-family: var(--font-headings);
      color: var(--wp--preset--color--primary-3);
    }
    /* hover: only the row under the cursor (link + arrow), so hovering a child
       in an open dropdown no longer highlights its parent */
    & .grve-link-wrapper:hover > a {
      color: var(--wp--preset--color--primary-2);
    }
    & .grve-link-wrapper:hover > .grve-arrow::before {
      border-color: var(--wp--preset--color--primary-2) !important;
    }
    /* active page: arrow matches the active link (primary-1) and ignores hover */
    & .grve-link-wrapper:has(> a[aria-current="page"]) > .grve-arrow::before {
      border-color: var(--wp--preset--color--primary-1) !important;
    }
  }

  #ws-sidebar-menu {
    position: relative;
    background: rgba(255, 255, 255, 0.9);
    border-radius: var(--border-radius-sml);
    border-color: var(--wp--preset--color--primary-3) !important;
    border-style: solid;
  }

  .ws-sidebar-menu-wrapper::before {
    content: "";
    display: block;
    position: absolute;
    top: -15px;
    height: 40px;
    width: 100%;
    background: url(https://iria.com.au/wp-content/uploads/2026/09/menu-top.svg)
      no-repeat center top;
    background-size: 200px auto;
    z-index: 999999;
  }

  /* BANNER */

  .iria-banner-badge img {
    max-height: 185px;
  }

  #grve-feature-section:not(.banner-half),
  #grve-feature-section:not(.banner-half) .grve-wrapper {
    min-height: var(--ws-banner-height) !important;
    /*z-index: 1 !important;*/
  }

  #grve-feature-section:not(.banner-half) .grve-wrapper {
    height: var(--ws-banner-height) !important;
  }

  #grve-feature-section.banner-half,
  #grve-feature-section.banner-half .grve-wrapper {
    min-height: calc(var(--ws-banner-height) / 1.4) !important;
  }

  #grve-feature-section.banner-half .grve-wrapper {
    height: calc(var(--ws-banner-height) / 1.4) !important;
  }

  #grve-feature-section.banner-half .grve-bg-image {
    left: var(--ws-sidebar-w, 25%) !important;
    right: auto !important;
    width: calc(
      min(
          calc(100% - var(--ws-sidebar-w, 25%) - var(--ws-site-padding) * 2),
          1000px
        ) +
        var(--ws-site-padding)
    ) !important;
    background-size: cover;
  }

  #grve-feature-section.banner-half .grve-background-wrapper {
    background: url(https://iria.com.au/wp-content/uploads/2026/10/Banner-pattern.png)
      repeat-x;
	  background-position: right center;
  }

  /* Single post banner: matches the banner-half pages from 1024px up. */
  @media (min-width: 1024px) {
    .single-post #grve-single-media {
      container-type: inline-size;
    }

    .single-post #grve-single-media .grve-container {
      background: url(https://iria.com.au/wp-content/uploads/2026/10/Banner-pattern.png)
        repeat-x;
    }

    .single-post #grve-single-media .grve-media {
      width: calc(
        min(100cqw - var(--ws-site-padding), 1000px) + var(--ws-site-padding)
      );
      height: calc(var(--ws-banner-height) / 1.4) !important;
      max-height: none !important;
    }

    .single-post #grve-single-media .grve-thumbnail-wrapper,
    .single-post #grve-single-media .grve-thumbnail {
      height: 100%;
      padding-top: 0 !important;
    }

    .single-post #grve-single-media .grve-thumbnail img {
      width: 100% !important;
      height: 100% !important;
      object-fit: cover;
    }
  }

  .single-post #grve-single-media .grve-media {
    max-height: calc(var(--ws-banner-height) / 1.4) !important;
    overflow: hidden;
    max-width: 1200px;
  }

  #grve-single-media {
    background-color: var(--wp--preset--color--primary-1);
  }

  /* single post */
  .single-post #grve-single-content {
    padding-right: var(--ws-site-padding) !important;
  }
}

@media (max-width: 1023px) {
  #grve-sidebar {
    display: none;
  }
	
	
	

  .grve-container,
  #grve-content.grve-left-sidebar .grve-content-wrapper,
  #grve-content.grve-right-sidebar .grve-content-wrapper {
    width: 100% !important;
    max-width: 100% !important;
  }
  #grve-content.grve-left-sidebar .grve-container {
    padding-inline: 90px;
  }
  #grve-single-media .grve-container {
    padding-inline: 0 !important;
  }

  /* BANNER */

  .iria-banner-badge img {
    max-height: 115px;
  }

  /* single post */
  .single-post #grve-single-media .grve-container {
    min-width: unset;
  }
  #grve-post-bar.grve-layout-1 {
    padding-inline: 90px;
  }
}

/* ==========================================================================
   Homepage feature banner
   Feature Section class: banner-home   (single image)
   Also applies to any Feature Section in slider mode (.grve-with-slider)
   Optional colour class alongside it: banner-home-red | -yellow | -blue | -lightblue
   (green is the default)

   Layout: photo on top with a grey rail along its bottom edge. The sign has a
   minimum height and grows to fit its text. Square handles sit on the rail at
   each side, placed at the middle of a minimum-height sign, so a sign at the
   minimum is centred on the rail and a taller one extends further down.
   On mobile the sign only overlaps the photo slightly.
   ========================================================================== */

/* --- Settings --- */

#grve-feature-section.banner-home,
#grve-feature-section.grve-with-slider {
  --bh-img-h: var(--ws-banner-height); /* photo height */
  --bh-sign-min: 210px; /* sign is at least this tall, and grows to fit its text */
  --bh-rise: calc(
    var(--bh-sign-min) / 2
  ); /* sign top to rail centre: half the minimum = centred */
  --bh-bottom: 20px; /* white space under the sign */
  --bh-side: 0px; /* tablet/mobile: space either side of the sign */
  --bh-fill: #009805; /* sign colour */
  --bh-frame: #555; /* sign border */
  --bh-frame-w: 10px;
  --bh-rail: #d2d2d2; /* grey rail along the bottom of the photo */
  --bh-rail-h: 10px;
  --bh-handle: 30px; /* handle width and height */
  --bh-handle-fill: #555554;
  --bh-handle-edge: #d1d1d1;
  --bh-pad: 24px 40px; /* space inside the sign */
  --bh-text-gap: 30px; /* space between title and description */
  --bh-title-size: 44px; /* sign title */
  --bh-desc-size: 20px; /* sign description */
  --bh-logo-h: 110px; /* logo height on the right */

  /* where the sign starts, measured from the top of the photo */
  --bh-sign-top: calc(var(--bh-img-h) + var(--bh-rail-h) / 2 - var(--bh-rise));

  height: auto !important;
  background-color: #fff !important;
  overflow: visible;
}

#grve-feature-section.banner-home:not(.banner-half),
#grve-feature-section.grve-with-slider:not(.banner-half) {
  min-height: 0 !important;
}

#grve-feature-section.banner-home-red {
  --bh-fill: #d62d28;
}
#grve-feature-section.banner-home-yellow {
  --bh-fill: #fdaf35;
}
#grve-feature-section.banner-home-blue {
  --bh-fill: #0076bf;
}
#grve-feature-section.banner-home-lightblue {
  --bh-fill: #52b1ee;
}

/* --- Photo and rail --- */

/* Whatever holds the photo (the section itself, or each slide in slider mode) */
.banner-home:has(> .grve-background-wrapper),
.banner-home :has(> .grve-background-wrapper),
.grve-with-slider .grve-slider-item {
  position: relative;
  padding-top: var(--bh-sign-top);
  padding-bottom: var(--bh-bottom);
}

.banner-home .grve-background-wrapper,
.grve-with-slider .grve-background-wrapper {
  position: absolute !important;
  top: 0 !important;
  left: 0;
  right: 0;
  bottom: auto !important;
  height: var(--bh-img-h) !important;
}

.banner-home:has(> .grve-background-wrapper)::after,
.banner-home :has(> .grve-background-wrapper)::after,
.grve-with-slider .grve-slider-item::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: var(--bh-img-h);
  height: var(--bh-rail-h);
  background: var(--bh-rail);
  z-index: 2;
}

/* --- Undo the theme's fixed-height, centred content box --- */

#grve-feature-section:not(.banner-half).banner-home .grve-wrapper,
#grve-feature-section:not(.banner-half).grve-with-slider .grve-wrapper {
  height: auto !important;
  min-height: 0 !important;
}

.banner-home .grve-content,
.grve-with-slider .grve-content {
  position: relative !important;
  inset: auto !important;
  display: block !important;
  height: auto !important;
  padding: 0 !important;
  transform: none !important;
  z-index: 3;
}

/* --- The sign --- */

.banner-home .grve-title-content-wrapper,
.grve-with-slider .grve-title-content-wrapper {
  position: relative;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto;
  /* Flexible rows above and below the text share any spare height equally, so the
	   title and description stay centred together and the logo can't push them apart */
  grid-template-rows: 1fr auto auto 1fr;
  grid-template-areas:
    ".     graphic"
    "title graphic"
    "desc  graphic"
    ".     graphic";
  align-items: start;
  column-gap: 40px;
  row-gap: 0;
  width: 100%;
  max-width: none !important;
  min-height: var(--bh-sign-min);
  margin: 0 !important;
  padding: var(--bh-pad) !important;
  background: var(--bh-fill) !important;
  border: var(--bh-frame-w) solid var(--bh-frame);
  border-radius: 8px;
  text-align: left !important;
  box-sizing: border-box;
  overflow: visible !important;
}


/* Banner sign: title at the top, button pinned to the bottom (desktop/tablet) */
@media (min-width: 768px) {
	.banner-home .grve-title-content-wrapper,
	.grve-with-slider .grve-title-content-wrapper {
		grid-template:
			"title graphic"
			"desc graphic"
			"btn graphic" 1fr
			/ minmax(0, 1fr) auto;
	}
	.banner-home .grve-title-content-wrapper > .grve-button-wrapper,
	.grve-with-slider .grve-title-content-wrapper > .grve-button-wrapper {
		grid-area: btn;
		align-self: end;
	}
	
  .banner-home .grve-title-content-wrapper .grve-graphic,
	.grve-with-slider .grve-title-content-wrapper .grve-graphic {
		align-self: start;
	}	
	
}
/* Handles: square, centred on the frame edge and on the rail */
.banner-home .grve-title-content-wrapper::before,
.banner-home .grve-title-content-wrapper::after,
.grve-with-slider .grve-title-content-wrapper::before,
.grve-with-slider .grve-title-content-wrapper::after {
  content: "";
  position: absolute;
  top: calc(var(--bh-rise) - var(--bh-frame-w) - var(--bh-handle) / 2);
  width: var(--bh-handle);
  height: var(--bh-handle);
  background: var(--bh-handle-fill);
  border: 2px solid var(--bh-handle-edge);
  box-sizing: border-box;
  z-index: 4;
}

.banner-home .grve-title-content-wrapper::before,
.grve-with-slider .grve-title-content-wrapper::before {
  left: calc(var(--bh-frame-w) / -2 - var(--bh-handle) / 2);
}

.banner-home .grve-title-content-wrapper::after,
.grve-with-slider .grve-title-content-wrapper::after {
  right: calc(var(--bh-frame-w) / -2 - var(--bh-handle) / 2);
}

/* --- Sign contents --- */

.banner-home .grve-title-content-wrapper .grve-title,
.grve-with-slider .grve-title-content-wrapper .grve-title {
  grid-area: title;
  max-width: 575px;
  margin: 0 !important;
  color: #fff;
  font-size: var(--bh-title-size) !important;
  font-weight: 300;
  line-height: 1.05;
}

.banner-home .grve-title-content-wrapper .grve-description,
.grve-with-slider .grve-title-content-wrapper .grve-description {
  grid-area: desc;
  max-width: 575px;
  margin: var(--bh-text-gap) 0 0 !important;
  color: #fff;
  font-size: var(--bh-desc-size) !important;
  font-weight: 500;
  line-height: 1.25;
}

.banner-home .grve-title-content-wrapper .grve-graphic,
.grve-with-slider .grve-title-content-wrapper .grve-graphic {
  grid-area: graphic;
  align-self: center;
  margin: 0 !important;
  line-height: 0;
}

.banner-home .grve-title-content-wrapper .grve-graphic img,
.grve-with-slider .grve-title-content-wrapper .grve-graphic img {
  display: block;
  width: auto;
  height: var(--bh-logo-h);
  max-width: 160px;
  object-fit: contain;
}

/* --- Slider --- */

/* Slides share one grid cell instead of being absolutely positioned, so the slider takes
   the height of its tallest slide. Flickity's left offsets still move each slide sideways
   exactly as before. This replaces the theme's full-screen slide height. */
#grve-feature-section.grve-with-slider #grve-feature-slider,
#grve-feature-section.grve-with-slider .flickity-viewport {
  height: auto !important;
}

#grve-feature-section.grve-with-slider .flickity-slider {
  position: relative !important;
  display: grid;
  height: auto !important;
}

#grve-feature-section.grve-with-slider .grve-slider-item {
  position: relative !important;
  grid-area: 1 / 1;
  width: 100%;
  height: auto;
  box-sizing: border-box;
}

/* Arrows and dots stay on the photo, stopping where the sign starts */
#grve-feature-section.grve-with-slider .grve-carousel-navigation {
  position: absolute !important;
  top: 0 !important;
  left: 0;
  right: 0;
  width: auto !important;
  bottom: auto !important;
  height: var(--bh-sign-top) !important;
  z-index: 10;
}

/* --- Desktop --- */

@media (min-width: 1024px) {
  #grve-feature-section.banner-home,
  #grve-feature-section.grve-with-slider {
    --bh-sidebar-w: 25%;
  }

  /* Slider arrows and dots sit in the visible part of the photo, clear of the sidebar */
  #grve-feature-section.grve-with-slider .grve-carousel-navigation {
    left: var(--bh-sidebar-w);
  }

  /* Line the sign up with the main content column, clear of the fixed sidebar */
  #grve-feature-section.banner-home .grve-content .grve-container,
  #grve-feature-section.grve-with-slider .grve-content .grve-container {
    width: auto !important;
    max-width: none !important;
    margin-left: calc(var(--bh-sidebar-w) + var(--ws-site-padding)) !important;
    margin-right: var(--ws-site-padding) !important;
  }
}

@media (min-width: 1024px) and (max-width: 1400px) {
  #grve-feature-section.banner-home,
  #grve-feature-section.grve-with-slider {
    --bh-sidebar-w: 30%;
    --bh-title-size: 38px; /* narrower sign, so slightly smaller type */
    --bh-desc-size: 17px;
    --bh-pad: 24px 30px;
  }
}

@media (min-width: 1500px) {
  #grve-feature-section.banner-home .grve-content .grve-container,
  #grve-feature-section.grve-with-slider .grve-content .grve-container {
    max-width: 1000px !important;
  }
}

@media (min-width: 1200px) {
  .banner-home .grve-title-content-wrapper,
  .grve-with-slider .grve-title-content-wrapper {
    grid-template-columns: minmax(0, 575px) 1fr;
    --bh-logo-h: 150px;
  }

  .banner-home .grve-title-content-wrapper .grve-graphic,
  .grve-with-slider .grve-title-content-wrapper .grve-graphic {
    justify-self: center;
  }
}

/* --- Tablet and mobile: sign inset from the screen edges so the handles show --- */

@media (max-width: 1023px) {
  #grve-feature-section.banner-home,
  #grve-feature-section.grve-with-slider {
    --bh-img-h: var(--ws-banner-height-tablet);
    --bh-side: var(
      --ws-site-padding
    ); /* matches the page content padding (90px) */
    --bh-bottom: 40px;
    --bh-pad: 24px 30px;
    --bh-logo-h: 110px;
    --bh-title-size: 34px;
    --bh-desc-size: 17px;
  }

  #grve-feature-section.banner-home .grve-content .grve-container,
  #grve-feature-section.grve-with-slider .grve-content .grve-container {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  #grve-feature-section.banner-home .grve-title-content-wrapper,
  #grve-feature-section.grve-with-slider .grve-title-content-wrapper {
    width: auto;
    margin: 0 var(--bh-side) !important;
    column-gap: 24px;
  }
  .iria-banner-badge {
    translate: 0 -4px;
  }
}

/* --- Mobile: the photo is short, so the sign only overlaps it slightly instead of centring.
       Logo moves up beside the title, description runs full width underneath. --- */

@media (max-width: 767px) {
  #grve-feature-section.banner-home,
  #grve-feature-section.grve-with-slider {
    --bh-img-h: var(--ws-banner-height-mobile);
    --bh-rise: 35px; /* change to calc(var(--bh-sign-min) / 2) to centre on mobile too */
    --bh-sign-min: 180px;
    --bh-side: 30px;
    --bh-text-gap: 16px;
    --bh-title-size: 30px;
    --bh-desc-size: 16px;
    --bh-bottom: 24px;
    --bh-frame-w: 8px;
    --bh-handle: 24px;
    --bh-pad: 22px 20px;
    --bh-logo-h: 80px;
  }

  .banner-home .grve-title-content-wrapper,
  .grve-with-slider .grve-title-content-wrapper {
    grid-template-rows: auto auto;
    grid-template-areas:
      "title graphic"
      "desc  desc";
  }

  .banner-home .grve-title-content-wrapper .grve-graphic,
  .grve-with-slider .grve-title-content-wrapper .grve-graphic {
    align-self: start;
  }

  .banner-home .grve-title-content-wrapper .grve-description,
  .grve-with-slider .grve-title-content-wrapper .grve-description {
    align-self: end;
  }

}

/* =========================================================
   IRIA Get a Quote form (Gravity Forms, form CSS class: iria-quote-form)
   Add to Appearance > Customise > Additional CSS, or the child theme.
   ========================================================= */

/* ---------- Base: Roboto everywhere ---------- */
.iria-quote-form,
.iria-quote-form input,
.iria-quote-form select,
.iria-quote-form textarea,
.iria-quote-form button,
.iria-quote-form label,
.iria-quote-form legend,
.iria-quote-form .gfield_description,
.iria-quote-form .gform_page_footer a {
  font-family: "Roboto", Arial, sans-serif !important;
}

.iria-quote-form {
  --iria-blue: #0072bc;
  --iria-blue-dark: #005f9e;
  --iria-blue-light: #2aa8e6;
  --iria-text: #1d2733;
  --iria-muted: #5b6672;
  --iria-border: #cfd8e1;
  --iria-tint: #eef6fc;
  --iria-yellow: #fdaf35; /* theme primary-2 */
  color: var(--iria-text);
}

/* Field spacing */
.iria-quote-form .gform_fields {
  row-gap: 28px !important;
}

/* Question labels / legends */
.iria-quote-form .gfield_label,
.iria-quote-form legend.gfield_label {
  font-size: 17px !important;
  font-weight: 500 !important;
  line-height: 1.4;
  color: var(--iria-text);
  margin-bottom: 10px !important;
}
.iria-quote-form .gfield_required {
  color: var(--iria-blue);
}

.iria-quote-form .gfield_description {
  font-size: 14px !important;
  color: var(--iria-muted);
  padding-top: 8px !important;
}

/* ---------- Text inputs, selects, textarea ---------- */
.iria-quote-form input[type="text"],
.iria-quote-form input[type="email"],
.iria-quote-form input[type="tel"],
.iria-quote-form select,
.iria-quote-form textarea {
  font-size: 16px !important;
  font-weight: 400;
  color: var(--iria-text);
  background: #fff;
  border: 1.5px solid var(--iria-border) !important;
  border-radius: 8px !important;
  padding: 12px 14px !important;
  min-height: 50px;
  box-shadow: none !important;
  transition:
    border-color 0.15s ease,
    box-shadow 0.15s ease;
}
.iria-quote-form textarea {
  min-height: 140px;
}
.iria-quote-form input:focus,
.iria-quote-form select:focus,
.iria-quote-form textarea:focus {
  border-color: var(--iria-blue) !important;
  box-shadow: 0 0 0 3px rgba(0, 114, 188, 0.18) !important;
  outline: none;
}

/* ---------- Radio questions as tappable option cards ---------- */
.iria-quote-form .iria-choices .gfield_radio {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  align-items: stretch;
  gap: 10px;
  grid-template-columns: none !important;
}
.iria-quote-form .iria-choices .gchoice {
  position: relative;
  display: block !important;
  flex: 0 1 auto !important;
  width: auto !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
.iria-quote-form .iria-choices .gchoice input[type="radio"] {
  position: absolute;
  opacity: 0;
  width: 1px;
  height: 1px;
  margin: 0;
}
.iria-quote-form .iria-choices .gchoice label {
  display: inline-flex !important;
  align-items: center;
  gap: 10px;
  max-width: none !important;
  margin: 0 !important;
  padding: 12px 18px 12px 14px;
  font-size: 15px !important;
  font-weight: 500;
  color: var(--iria-text);
  background: #fff;
  border: 1.5px solid var(--iria-border);
  border-radius: 8px;
  cursor: pointer;
  transition:
    border-color 0.15s ease,
    background 0.15s ease;
}
/* custom radio dot */
.iria-quote-form .iria-choices .gchoice label::before {
  content: "";
  flex: 0 0 auto;
  width: 18px;
  height: 18px;
  border: 2px solid var(--iria-border);
  border-radius: 50%;
  background: #fff;
  transition:
    border-color 0.15s ease,
    box-shadow 0.15s ease;
}
.iria-quote-form .iria-choices .gchoice label:hover {
  border-color: var(--iria-yellow);
}
.iria-quote-form .iria-choices .gchoice input:checked + label {
  border-color: var(--iria-blue);
  background: var(--iria-tint);
  color: var(--iria-blue-dark);
}
.iria-quote-form .iria-choices .gchoice input:checked + label::before {
  border-color: var(--iria-blue);
  box-shadow: inset 0 0 0 4px #fff;
  background: var(--iria-blue);
}
.iria-quote-form .iria-choices .gchoice input:focus-visible + label {
  box-shadow: 0 0 0 3px rgba(0, 114, 188, 0.25);
}

/* ---------- Bay explainer block ---------- */
.iria-quote-form .iria-bay-explainer {
  background: var(--iria-tint);
  border-left: 6px solid var(--iria-yellow);
  border-radius: 10px;
  padding: 22px 24px;
}
.iria-quote-form .iria-bay-explainer h4 {
  font-family: "Roboto", Arial, sans-serif;
  font-size: 20px;
  font-weight: 700;
  color: var(--iria-blue-dark);
  margin: 0 0 6px;
}
.iria-quote-form .iria-bay-explainer p {
  font-size: 15px;
  line-height: 1.55;
  margin: 0 0 14px;
}
.iria-quote-form .iria-bay-explainer img {
  display: block;
  width: 100%;
  max-width: 560px;
  height: auto;
  background: #fff;
  border-radius: 8px;
  padding: 10px;
  margin: 4px 0 16px;
}
.iria-quote-form .iria-bay-explainer ul {
  margin: 0 0 12px;
  padding-left: 20px;
}
.iria-quote-form .iria-bay-explainer li {
  font-size: 15px;
  line-height: 1.55;
  margin-bottom: 4px;
}
.iria-quote-form .iria-bay-example {
  margin: 0 !important;
  font-weight: 500;
}

/* Bays select: make it stand out as the key question */
.iria-quote-form .iria-bays select {
  max-width: 340px;
  font-weight: 500;
  border-color: var(--iria-blue) !important;
}

/* Bay confirmation checkbox */
.iria-quote-form .iria-bay-confirm .gchoice {
  display: flex;
  align-items: flex-start;
  gap: 10px;
}
.iria-quote-form .iria-bay-confirm input[type="checkbox"] {
  width: 20px !important;
  height: 20px !important;
  margin-top: 2px !important;
  accent-color: var(--iria-blue);
  flex: 0 0 auto;
}
.iria-quote-form .iria-bay-confirm label {
  font-size: 15px !important;
  font-weight: 500;
  max-width: none !important;
}

/* ---------- File upload ---------- */
.iria-quote-form .gform_drop_area {
  border: 2px dashed var(--iria-border) !important;
  border-radius: 10px !important;
  background: #fafcfe !important;
  padding: 24px !important;
}
.iria-quote-form .gform_drop_area .gform_button_select_files {
  font-family: "Roboto", Arial, sans-serif !important;
  border: 1.5px solid var(--iria-blue) !important;
  color: var(--iria-blue) !important;
  background: #fff !important;
  border-radius: 8px !important;
  font-weight: 500 !important;
}

/* ---------- Progress bar ---------- */
.iria-quote-form .gf_progressbar_title {
  font-size: 14px !important;
  font-weight: 500;
  color: var(--iria-muted) !important;
}
.iria-quote-form .gf_progressbar {
  background: #e4ebf1 !important;
  border-radius: 20px !important;
}
.iria-quote-form .gf_progressbar_percentage {
  background: linear-gradient(
    180deg,
    var(--iria-blue-light) 0%,
    var(--iria-blue) 100%
  ) !important;
  border-radius: 20px !important;
  font-family: "Roboto", Arial, sans-serif !important;
}

/* ---------- Buttons: match the header "Get a quote" button ---------- */
.iria-quote-form .gform_button,
.iria-quote-form .gform_next_button,
.iria-quote-form input[type="submit"],
.iria-quote-form button[type="submit"] {
  font-family: "Roboto", Arial, sans-serif !important;
  font-size: 20px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  letter-spacing: 0;
  text-transform: none !important;
  color: #fff !important;
  background: linear-gradient(180deg, #2aa8e6 0%, #0072bc 100%) !important;
  border: 0 !important;
  border-radius: 10px !important;
  padding: 18px 44px !important;
  min-height: 0 !important;
  cursor: pointer;
  box-shadow: none !important;
  transition:
    filter 0.2s ease,
    transform 0.2s ease;
}
.iria-quote-form .gform_button:hover,
.iria-quote-form .gform_next_button:hover,
.iria-quote-form input[type="submit"]:hover,
.iria-quote-form button[type="submit"]:hover {
  filter: brightness(1.08);
}
.iria-quote-form .gform_button:focus-visible,
.iria-quote-form .gform_next_button:focus-visible {
  outline: 3px solid rgba(0, 114, 188, 0.35);
  outline-offset: 3px;
}

/* Previous button: secondary outline style */
.iria-quote-form .gform_previous_button {
  font-family: "Roboto", Arial, sans-serif !important;
  font-size: 18px !important;
  font-weight: 500 !important;
  color: var(--iria-blue) !important;
  background: #fff !important;
  border: 1.5px solid var(--iria-blue) !important;
  border-radius: 10px !important;
  padding: 16px 32px !important;
  box-shadow: none !important;
  cursor: pointer;
}

/* Save and continue later link */
.iria-quote-form .gform_save_link {
  font-family: "Roboto", Arial, sans-serif !important;
  font-size: 15px !important;
  color: var(--iria-muted) !important;
  background: none !important;
  border: 0 !important;
  text-decoration: underline;
}

.iria-quote-form .gform_page_footer,
.iria-quote-form .gform_footer {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 14px;
  margin-top: 28px !important;
}

/* ---------- Validation ---------- */
.iria-quote-form .gfield_error .gfield_label {
  color: #c02b0a !important;
}
.iria-quote-form .validation_message {
  font-size: 14px !important;
  font-weight: 500;
}

/* ---------- Buttons ---------- */

.iria-quote-btn {
	display: inline-block;
	padding: 11px 25px;
	border-radius: 7px;
	background: linear-gradient(#52b1ee, #0069b4);
	color: #fff !important;
	font: 600 20px/24px Roboto, sans-serif;
	text-decoration: none !important;
}
.iria-quote-btn:hover {
	background: var(--wp--preset--color--primary-2);
}

/* Form buttons: match Get a quote button padding */
.gform_wrapper .gform_footer .gform_button,
.gform_wrapper .gform_page_footer .gform_next_button,
.gform_wrapper .gform_page_footer .gform_previous_button,
.gform_wrapper .gform_page_footer .gform_button {
	padding: 11px 25px !important;
	line-height: 24px !important;
}


/* Smaller visible field labels (Contact and Get a quote forms) */
.iria-quote-form .gfield_label,
.iria-quote-form legend.gfield_label {
	font-size: 16px !important;
	line-height: 1.3 !important;
	margin-bottom: 8px !important;
}

/* Contact form: visually hide labels, keep them for screen readers */
.gform_wrapper .gfield:not(.iria-choices):not(.gfield--type-choice):not(.gfield--type-fileupload) .gfield_label,
.gform_wrapper .gfield:not(.iria-choices):not(.gfield--type-choice):not(.gfield--type-fileupload) .gform-field-label--type-sub {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	padding: 0 !important;
	margin: -1px !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
	clip-path: inset(50%) !important;
	white-space: nowrap !important;
	border: 0 !important;
}

/* Gravity Forms fields: stop text being clipped, consistent 50px height */
.gform_wrapper select,
.gform_wrapper input[type="text"],
.gform_wrapper input[type="email"],
.gform_wrapper input[type="tel"],
.gform_wrapper input[type="number"],
.gform_wrapper input[type="url"] {
	height: auto !important;
	min-height: 50px !important;
	line-height: 1.5 !important;
}
.gform_wrapper select {
	padding-right: 40px !important;
}

/* Selects: look like placeholders until an option is chosen */
.gform_wrapper select:has(option[value=""]:checked) {
	font-size: 14px !important;
	color: rgba(17, 35, 55, 0.7) !important;
}
.gform_wrapper select {
	color: var(--iria-text, #112337) !important;
}
.gform_wrapper select option {
	color: #112337;
}


/* ---------- Mobile ---------- */
@media (max-width: 600px) {
  .iria-quote-form .iria-choices .gfield_radio {
    flex-direction: column !important;
  }
  .iria-quote-form .iria-choices .gchoice,
  .iria-quote-form .iria-choices .gchoice label {
    width: 100% !important;
  }
  .iria-quote-form .iria-bay-explainer {
    padding: 18px 16px;
  }
  .iria-quote-form .iria-bays select {
    max-width: none;
  }
  .iria-quote-form .gform_button,
  .iria-quote-form .gform_next_button {
    width: 100%;
  }
}

@media (max-width: 1200px) {
  /* RACKING CHARACTER CARDS */

  .grve-row-inner:has(.ws-card-ric) {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr));
    gap: 30px;
    margin-inline: 0;

    & > .grve-column-inner {
      width: 100%;
      min-width: 0;
      padding-inline: 0;
      margin-bottom: 0;
    }
  }
}

@media (min-width: 769px) and (max-width: 1200px) {
  /* SIGN CTA */

  .grve-row-inner:has(
    :is(.ws-card-sign-wide, .ws-card-sign-red, .ws-card-sign-yellow)
  ) {
    display: grid !important;
    grid-template-columns: 280px minmax(0, 1fr);
    gap: 30px;
    margin-inline: 0;

    & > .grve-column-inner {
      width: 100%;
      min-width: 0;
      padding-inline: 0;
    }

    & .grve-column-inner-content {
      max-width: 100%;
    }
  }

  .grve-row-inner:has(:is(.ws-card-sign-wide-red, .ws-card-sign-red)) {
    & .grve-text h5 {
      font-size: 22px;
      line-height: 1.3;
    }
  }

  /* ARROW CARDS */

  .ws-card-white-cta {
    & .ws-heading-arrow {
      font-size: 20px;
      line-height: 1.3;
    }

    & .grve-h2 {
      font-size: 30px;
      line-height: 1.2;
    }

    & p {
      font-size: 18px;
      line-height: 1.5;
    }
  }

  /* FOOTER */

  #grve-footer {
    & .grve-container {
      padding-inline: 30px;
    }

    & .grve-row,
    .grve-row-inner {
      margin-inline: 0;
    }

    & .grve-column,
    .grve-column-inner {
      padding-inline: 0;
    }
  }
}

@media (max-width: 1023px) and (min-width: 769px) {
  /* TYPOGRAPHY */

  h1.grve-title,
  .ws-post-title h1 {
    max-width: 75%;
  }

 

  /* BANNER */

  #grve-feature-section:not(.banner-half),
  #grve-feature-section:not(.banner-half) .grve-wrapper {
    min-height: var(--ws-banner-height-tablet) !important;
    /*z-index: 1 !important;*/
  }

  #grve-feature-section:not(.banner-half) .grve-wrapper {
    height: var(--ws-banner-height-tablet) !important;
  }

  #grve-feature-section.banner-half,
  #grve-feature-section.banner-half .grve-wrapper {
    min-height: calc(var(--ws-banner-height-tablet) / 2) !important;
  }

  #grve-feature-section.banner-half .grve-wrapper {
    height: calc(var(--ws-banner-height-tablet) / 2) !important;
  }

  .single-post #grve-single-media {
    height: calc(var(--ws-banner-height-tablet) / 1.5) !important;
  }

  .single-post #grve-single-media .grve-media {
    height: calc(var(--ws-banner-height-tablet) / 1.5) !important;
    overflow: hidden;
  }
}

@media (max-width: 768px) {
  /* TYPOGRAPHY */

  /* Keep component typography overrides more specific than these defaults. */
  :where(#grve-main-content) {
    & h1,
    .grve-h1 {
      font-size: 40px;
      line-height: 1.1;
    }

    & h2,
    .grve-h2 {
      font-size: 24px;
      line-height: 1.35;
    }

    & h3,
    .grve-h3 {
      font-size: 24px;
      line-height: 1.25;
    }

    & h4,
    .grve-h4,
    h6,
    .grve-h6 {
      font-size: 30px;
      line-height: 1.2;
    }

    & h5,
    .grve-h5 {
      font-size: 20px;
      line-height: 1.3;
    }

    & p {
      font-size: 18px;
      line-height: 1.5;
    }
  }

  /* STRUCTURE */

  #grve-content.grve-left-sidebar .grve-container {
    padding-inline: 30px;
  }

  /* SIGN CARDS */

  #grve-main-content {

    & .grve-column-inner:has(
        :is(.ws-card-sign-wide, .ws-card-sign-red, .ws-card-sign-yellow)
      ) {
      width: 100%;
    }

    & .ws-card-sign-wide,
    .ws-card-sign-bot-left,
    .ws-card-sign-top-left {
      max-width: 100%;
      margin-inline: auto;
    }

    & .ws-card-sign-wide-red,
    .ws-card-sign-red {
      font-size: 36px;
      line-height: 1.1;
    }

    & .ws-card-sign-wide-yellow,
    .ws-card-sign-yellow {
      font-size: 22px;
      line-height: 1.25;
    }
  }

  .grve-row-inner:has(
    :is(.ws-card-sign-wide, .ws-card-sign-red, .ws-card-sign-yellow)
  ) {
    margin-inline: 0;

    & > .grve-column-inner {
      padding-inline: 0;
    }

    & .grve-text h5 {
      font-size: 20px;
      line-height: 1.3;
    }
  }

  .grve-row-inner:has(.ws-card-ric) {
    grid-template-columns: 1fr;
    margin-block: 0 !important;

    & > .grve-column-inner {
      margin-block: 0 !important;
    }
  }

  .grve-row-inner:has(.ws-card-white-cta) {
    display: grid !important;
    grid-template-columns: 1fr;
    gap: 30px;
    margin: 0 !important;

    & > .grve-column-inner {
      width: 100%;
      padding-inline: 0;
      margin-block: 0 !important;
    }
  }

  /* ARROW CARDS */

  .ws-card-white-cta {
    & .ws-heading-arrow {
      font-size: 20px;
      line-height: 1.3;
      margin-bottom: 24px !important;
    }

    & .grve-h2 {
      font-size: 24px;
      line-height: 1.25;
      margin-bottom: 24px !important;
    }

    & p {
      font-size: 18px;
      line-height: 1.5;
    }
  }

  /* FOOTER */

  #grve-footer {
    & .grve-container {
      padding-inline: 30px;
    }

    /* Let the container own the inset instead of the nested column gutters. */
    & .grve-row,
    .grve-row-inner {
      margin-inline: 0;
    }

    & .grve-column,
    .grve-column-inner {
      padding-inline: 0;
    }

    & .grve-row-inner {
      flex-direction: column;
      align-items: flex-start;
      gap: 20px;
    }

    & .grve-column-inner {
      width: 100%;
      max-width: 100% !important;
    }
  }
}

/* ==========================================
=! mobile: spacing, signs and footer
------------------------------------------ */

@media (max-width: 768px) {
  /* HEADINGS */

  /* Replace the builder's inline margins instead of adding padding to them. */
  #grve-main-content :is(h1, h2, h3, h4, h5, h6).grve-title {
    padding-block: 0;
    margin-bottom: 24px !important;

    &:last-child {
      margin-bottom: 0 !important;
    }
  }

  /* SECTION SPACING */

  #grve-main-content {
    & .ws-section-padding-top {
      padding-top: 40px !important;
    }

    & .ws-section-padding-bottom {
      padding-bottom: 40px !important;
    }

    /* Keep the first intro's clearance for the hanging banner badge. */
    & .ws-intro-row:not(:has(.iria-banner-badge)) {
      padding-top: 40px !important;
    }

    /* Edge spacers otherwise add another gap inside already padded sections. */
    & .grve-column-content > .grve-empty-space:is(:first-child, :last-child) {
      display: none;
    }

    /* Separate builder rows should have the same gap as cards within a row. */
    & .grve-inner-section:has(.ws-card-white-cta):has(+ .grve-inner-section) {
      margin-bottom: 30px !important;
      padding-bottom: 0;
    }
  }

  /* HOMEPAGE BANNER */

  /* Only the active slide sets the height, avoiding a gap below shorter signs. */
  #grve-feature-section.grve-with-slider .grve-slider-item:not(.is-selected) {
    position: absolute !important;
  }

  /* SIGN CONTENTS (css/iria-sign.css loads after this stylesheet) */

  #grve-main-content .iria-sign--wide {
    &.iria-sign--red .iria-sign__content :is(h4, .grve-h4) {
      font-size: 48px;
      line-height: 1.1;
    }

    &.iria-sign--yellow .iria-sign__content :is(h3, .grve-h3) {
      font-size: 24px;
      line-height: 1.1;
    }
  }

  /* ACCORDION */

  #grve-main-content .grve-accordion .grve-title {
    font-size: 18px !important;
    line-height: 1.5;
  }

  /* RESOURCES */

  body.page-id-689 {
    & #grve-main-content .grve-main-content-wrapper,
    #grve-sidebar {
      padding-top: 30px;
    }

    & select.grve-filters-select {
      margin-bottom: 30px;
    }
  }

  /* SINGLE POST */

  .single-post {
    /* Match the pages' 117px badge clearance after the theme's 60px media gap. */
    & .grve-post-simple-title-wrapper:has(.grve-single-simple-title) {
      padding-top: 57px;
      margin-bottom: 24px;
    }

    & .grve-single-simple-title {
      font-size: 40px;
      line-height: 1.1;
      max-width: 100%;
      padding-bottom: 0;
    }
  }

  /* FOOTER */

  #grve-footer {
    & .grve-column-inner {
      margin-block: 0 !important;
    }

    /* Remove the desktop spacer after the certification badges. */
    & .grve-column-inner-content:has(.grve-image) > .grve-empty-space {
      display: none;
    }

    & .grve-small-text p {
      font-size: 13px;
      line-height: 1.5;
    }

    & .grve-row-section:has(.grve-social) {
      padding-bottom: 30px !important;

      & .grve-row-inner {
        flex-direction: row;
        flex-wrap: nowrap;
        align-items: center;
        gap: 10px;
        margin-block: 0 !important;
      }

      & .grve-column-inner:has(.grve-social) {
        flex: 0 0 auto;
        width: auto;
      }

      & .grve-column-inner:not(:has(.grve-social)) {
        flex: 1;
        min-width: 0;
        width: auto;
      }

      & .grve-small-text p {
        font-size: 11px;
        line-height: 1.4;
      }
    }
  }
}

@media (max-width: 767px) {
  /* TYPOGRAPHY */

  /*h1.grve-title,
  .ws-post-title h1 {
    max-width: 75%;
  }*/

  /* STRUCTURE */

  #grve-content.grve-left-sidebar .grve-container {
    padding-inline: 30px;
  }

  /* BANNER */

  .iria-banner-badge img {
    max-height: 100px;
  }

  #grve-feature-section:not(.banner-half),
  #grve-feature-section:not(.banner-half) .grve-wrapper {
    min-height: var(--ws-banner-height-mobile) !important;
    /*z-index: 1 !important;*/
  }

  #grve-feature-section:not(.banner-half) .grve-wrapper {
    height: var(--ws-banner-height-mobile) !important;
  }

  #grve-feature-section.banner-half,
  #grve-feature-section.banner-half .grve-wrapper {
    min-height: calc(var(--ws-banner-height-mobile) / 2) !important;
  }

  #grve-feature-section.banner-half .grve-wrapper {
    height: calc(var(--ws-banner-height-mobile) / 2) !important;
  }

  .single-post #grve-single-media {
    height: var(--ws-banner-height-mobile) !important;
  }

  .single-post #grve-single-media .grve-media {
    height: var(--ws-banner-height-mobile) !important;
    overflow: hidden;
  }
  #grve-post-bar.grve-layout-1 {
    padding-inline: 30px;
  }
	#grve-bottom-bar h3{
		padding-top:25px;
	}	
}

/* Single post: one full-width border beneath the top image */
.single-post #grve-single-media,
.single-post #grve-single-media .grve-media {
  border-bottom: 0;
}

.single-post #grve-single-media .grve-container {
  border-bottom: var(--section-border-lg);
}

.single-post #grve-single-media .grve-media {
  max-width: none;
}

/* ==========================================
=! mobile / tablet: menu art bar + sticky contact footer (1023px down)
------------------------------------------ */
@media (max-width: 1023px) {
  /* Bar under the header: sidebar artwork, tagline and copyright */
  #grve-main-responsive-header {
    --ws-mobile-bar-pad: 30px;
    position: relative;
    padding-bottom: 0 !important;
  }
  #grve-main-responsive-header .grve-logo {
    padding-left: 30px;
  }
  #grve-main-responsive-header .grve-hidden-menu-icon {
    padding-right: 30px;
  }
  #grve-main-responsive-header::after {
    content: "Independent, always";
    display: block;
    margin-top: 15px; /* keeps the space under the logo */
    padding: 14px var(--ws-mobile-bar-pad, 30px) 30px;
    background: url(https://iria.com.au/wp-content/uploads/2026/10/menu-bg.png)
      no-repeat center 40% / cover;
    color: #fff;
    font-family: neue-aachen-pro, sans-serif;
    font-weight: 700;
    font-size: 24px;
    line-height: 1.1;
    text-shadow: 0 1px 6px rgba(0, 0, 0, 0.45);
  }
  #grve-main-responsive-header::before {
    content: var(--artwork-copyright);
    position: absolute;
    left: var(--ws-mobile-bar-pad, 30px);
    right: var(--ws-mobile-bar-pad, 30px);
    bottom: 9px;
    z-index: 1;
    color: #fff;
    font-size: 12px;
    line-height: 1.2;
    /*text-shadow: 0 1px 4px rgba(0, 0, 0, 0.6);*/
  }

  /* Sticky footer: phone buttons + Get a quote */
  .iria-mobile-bar {
    --ws-mobile-bar-pad: 30px;
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 9999;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 12px var(--ws-mobile-bar-pad, 30px);
    padding-bottom: calc(12px + env(safe-area-inset-bottom));
    background: var(--wp--preset--color--primary-1);
    box-shadow: 0 -2px 10px rgba(0, 0, 0, 0.15);
  }
  .iria-mobile-bar__phones {
    display: contents;
  }
  .iria-mobile-bar .ico-phone {
    flex: 0 0 auto;
    white-space: nowrap;
    color: #fff;
    text-decoration: none;
    font-family: neue-aachen-pro, sans-serif;
    font-weight: 700;
    font-size: 22px;
    line-height: 1;
  }
  .iria-mobile-bar .ico-phone span::before {
    width: 40px;
    height: 40px;
  }
  .iria-mobile-bar__quote {
    flex: 0 0 auto;
    padding: 10px 20px;
    background: var(--ws-gradient-one);
    border-radius: var(--border-radius-sml);
    color: #fff !important;
    text-decoration: none !important;
    font-family: var(--font-body);
    font-weight: 600;
    font-size: 20px;
    line-height: 1.2;
  }
  .iria-mobile-bar__quote:hover {
    background: var(--wp--preset--color--primary-2);
  }

  /* room for the footer bar so nothing hides behind it */
  body:has(.iria-mobile-bar) {
    padding-bottom: calc(66px + env(safe-area-inset-bottom));
  }
  body:has(.iria-mobile-bar) .grve-back-top {
    bottom: calc(80px + env(safe-area-inset-bottom)) !important;
  }
}

@media (max-width: 400px) {
  .iria-mobile-bar {
    gap: 10px;
  }
  .iria-mobile-bar .ico-phone {
    font-size: 19px;
  }
  .iria-mobile-bar .ico-phone span::before {
    width: 34px;
    height: 34px;
  }
  .iria-mobile-bar__quote {
    padding: 8px 14px;
    font-size: 18px;
  }
}

@media (max-width: 340px) {
  .iria-mobile-bar {
    gap: 6px;
  }
  .iria-mobile-bar .ico-phone {
    font-size: 17px;
  }
  .iria-mobile-bar .ico-phone .grve-item {
    gap: 6px;
  }
  .iria-mobile-bar .ico-phone span::before {
    width: 30px;
    height: 30px;
  }
  .iria-mobile-bar__quote {
    padding: 8px 10px;
    font-size: 16px;
  }
  #grve-main-responsive-header::before {
    font-size: 11px;
  }
}

/* Footer quote button border + custom menu / close icons (1023px down) */
@media (max-width: 1023px) {
  .iria-mobile-bar__quote {
    border: 2px solid #555554;
  }

  /* Menu (burger) icon */
  #grve-main-responsive-header .grve-burger-icon {
    display: block;
    width: 35px;
    height: 25px;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='35' height='25' viewBox='0 0 35 25'%3E%3Cg fill='none' stroke='%23fff' stroke-linecap='round' stroke-width='5'%3E%3Cpath d='M2.5 22.5h30M2.5 12.5h30M2.5 2.5h30'/%3E%3C/g%3E%3C/svg%3E")
      no-repeat center / contain;
  }
  #grve-main-responsive-header .grve-burger-icon svg {
    display: none !important;
  }

  #grve-responsive-menu-area .grve-close-btn {
    background: none !important;
    box-shadow: none !important;
    transform: none !important;
    transition: none !important;
  }
  #grve-responsive-menu-area .grve-close-btn .grve-item {
    display: block;
    width: 28px;
    height: 28px;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40.005' height='40.005' viewBox='0 0 40.005 40.005'%3E%3Cpath d='M34.841,0,20,15.113,5.166,0H0V4.631l15.055,15.26L0,35.351V40l5.161-.021L20,25.062,34.841,40H40l0-4.654L24.865,20,40,4.631V0Z' fill='%23fff'/%3E%3C/svg%3E")
      no-repeat center / contain !important;
    border-radius: 0 !important;
  }
  #grve-responsive-menu-area .grve-close-btn svg {
    display: none !important;
  }

  #grve-main-responsive-header
    .grve-hidden-menu-icon.grve-close
    .grve-burger-icon {
    width: 35px; /* same box as the menu icon so nothing shifts */
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40.005' height='40.005' viewBox='0 0 40.005 40.005'%3E%3Cpath d='M34.841,0,20,15.113,5.166,0H0V4.631l15.055,15.26L0,35.351V40l5.161-.021L20,25.062,34.841,40H40l0-4.654L24.865,20,40,4.631V0Z' fill='%23fff'/%3E%3C/svg%3E")
      no-repeat center / 25px 25px;
  }
  #grve-main-responsive-header .grve-hidden-menu-icon,
  #grve-main-responsive-header .grve-hidden-menu-icon * {
    transform: none !important;
  }
  .grve-hidden-area .grve-area-inner .grve-area-scroller .grve-area-container {
    padding-inline: 30px;
  }
}
@media (min-width: 1024px) {
  .iria-mobile-bar {
    display: none;
  }
}
/* Footer on short desktop screens (1024px+ wide, under 960px tall):
   the fixed sidebar covers the footer, so start the footer after it */
@media (min-width: 1024px) and (max-height: 959px) {
	#grve-bottom-bar {
		--iria-side-w: 25%;
	}
	#grve-bottom-bar .grve-container {
		flex: 1 1 auto !important;
		width: auto !important;
		max-width: none !important;
		margin: 0 0 0 var(--iria-side-w) !important;
		padding: 0 var(--ws-site-padding) !important;
	}
	#grve-bottom-bar .grve-row,
	#grve-bottom-bar .grve-row-inner {
		margin-left: 0 !important;
		margin-right: 0 !important;
	}
	#grve-bottom-bar .grve-row > .grve-column {
		padding-left: 0 !important;
		padding-right: 0 !important;
	}
	/* Approved By / LinkedIn column, then the text */
	#grve-bottom-bar .grve-row-inner {
		column-gap: 40px;
	}
	#grve-bottom-bar .grve-row-inner > .grve-column-1-4 {
		flex: 0 0 220px !important;
		width: 220px !important;
		max-width: 220px !important;
		padding: 0 !important;
	}
	#grve-bottom-bar .grve-row-inner > .grve-column-3-4 {
		flex: 1 1 0 !important;
		width: auto !important;
		min-width: 0;
		padding: 0 !important;
	}
}
/* Sidebar is 30% wide between 1024 and 1400px */
@media (min-width: 1024px) and (max-width: 1400px) and (max-height: 959px) {
	#grve-bottom-bar {
		--iria-side-w: 30%;
	}
}

@media (min-width: 768px) and (max-width: 1401px) {
	#grve-footer .grve-column-3-4{
		padding-left:30px !important;
	}
}

/* Banner videos: fill the banner, align with Extra Class */
#grve-feature-section .grve-slider-item .grve-bg-video {
	position: absolute;
	inset: 0;
	overflow: hidden;
}
#grve-feature-section .grve-bg-video video {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 50% 50%;
}
#grve-feature-section.iria-video-top .grve-bg-video video,
#grve-feature-section .grve-slider-item.iria-video-top .grve-bg-video video {
	object-position: 50% 0 !important;
}
#grve-feature-section.iria-video-bottom .grve-bg-video video,
#grve-feature-section .grve-slider-item.iria-video-bottom .grve-bg-video video {
	object-position: 50% 100% !important;
}

/* Video banners: start the video below the desktop header, not behind it */
@media (min-width: 1024px) {
	#grve-feature-section {
		--iria-header-h: 92px;
	}
	/* Logged in (admin bar): close the 1px gap under the header */
	@media (min-width: 1024px) {
		body.logged-in #grve-feature-section.grve-with-video .grve-bg-video {
			top: calc(var(--iria-header-h) - 1px) !important;
		}
	}
	#grve-feature-section.grve-with-video .grve-bg-video {
		top: var(--iria-header-h) !important;
		bottom: 0 !important;
		height: auto !important;
	}
	#grve-feature-section.grve-with-video .grve-bg-video video {
		height: 100% !important;
	}
}
@media (min-width: 1401px) {
	#grve-feature-section {
		--iria-header-h: 100px;
	}
}
/* Single post byline + author bio */
.iria-byline {
	margin-bottom: 1.5em;
}
.iria-author-box {
	border-top:1px solid #d1d1cf;
	margin-top: 30px;
	padding-top: 30px;
}
.iria-author-box .grve-author-image {
	display: none !important;
}
.iria-author-box .grve-author-info {
	padding-top: 0 !important;
}
.iria-author-box .grve-author-info p {
	font-style: italic;
}
@media (min-width: 1024px) {
	.iria-author-box {
		padding-right: var(--ws-site-padding);
	}
}

.iria-author-box .grve-author-info .grve-title {
	font-family: var(--font-body) !important;
	font-size: 20px !important;
	font-weight: 600 !important;
	line-height: 1.4 !important;
	color: #000 !important;
}
@media (max-width: 768px) {
	.iria-author-box .grve-author-info .grve-title {
		font-size: 18px !important;
	}
}

/* Archive + search page headings: match the Resources page */
#grve-blog-title,
#grve-search-page-title {
	height: auto !important;
	min-height: 0 !important;
	background: none !important;
}
#grve-blog-title .grve-wrapper,
#grve-search-page-title .grve-wrapper {
	height: auto !important;
	min-height: 0 !important;
}
#grve-blog-title .grve-content,
#grve-search-page-title .grve-content {
	position: static !important;
	transform: none !important;
	padding: 0 !important;
}
#grve-blog-title .grve-container,
#grve-search-page-title .grve-container {
	padding: 60px 30px 0 !important;
}
@media (min-width: 1024px) {
	#grve-blog-title .grve-container,
	#grve-search-page-title .grve-container {
		width: auto !important;
		max-width: none !important;
		margin: 0 0 0 25% !important;
		padding: 210px var(--ws-site-padding) 0 !important;
	}
}
@media (min-width: 1024px) and (max-width: 1400px) {
	#grve-blog-title .grve-container,
	#grve-search-page-title .grve-container {
		margin-left: 30% !important;
	}
}
#grve-blog-title .grve-title-content-wrapper,
#grve-search-page-title .grve-title-content-wrapper {
	text-align: left !important;
	padding: 0 !important;
	max-width: none !important;
}
#grve-blog-title .grve-description,
#grve-search-page-title .grve-description {
	font-family: var(--font-body);
	font-size: 20px;
	line-height: 1.5;
	color: var(--wp--preset--color--primary-3) !important;
	margin-bottom: 10px;
}
#grve-blog-title .grve-title,
#grve-search-page-title .grve-title {
	font-family: var(--font-headings);
	font-size: 70px;
	line-height: 60px;
	color: var(--wp--preset--color--primary-1) !important;
	margin-bottom: 50px;
}
.search-results .grve-pagination-text{
	padding-bottom:30px;
}
.page-numbers{
	color: #555554;
}

@media (min-width: 768px) {
	.search-results .grve-post-item.grve-small-style-1 .grve-post-item-inner .grve-post-content{
		padding-left:0;
	}
}	
@media (max-width: 767px) {
	#grve-blog-title .grve-title,
	#grve-search-page-title .grve-title {
		font-size: 44px;
		line-height: 1;
	}
}

/* Archive post cards: match the Resources page */
body.archive .grve-blog-item .grve-post-item {
	border: 2px solid #d1d1cf;
	border-radius: var(--border-radius-sml);
	overflow: hidden;
}
body.archive .grve-blog-item .grve-post-item-inner {
	background: #fff !important;
	border: 0;
}
body.archive .grve-blog-item .grve-thumbnail {
	padding-top: 0 !important;
	aspect-ratio: 16 / 9;
	height: auto;
	transform: none !important;
}
body.archive .grve-blog-item .grve-thumbnail img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
body.archive .grve-blog-item .grve-post-category,
body.archive .grve-blog-item .grve-post-date,
body.archive .grve-blog-item .grve-read-more,
body.archive .grve-blog-item .grve-post-meta {
	display: none !important;
}
body.archive .grve-blog-item .grve-post-content {
	padding: 60px 22px 22px !important;
}
body.archive .grve-blog-item .grve-post-title {
	color: var(--wp--preset--color--primary-1) !important;
	font-family: var(--font-headings);
	font-size: 24px;
	font-weight: 400;
	line-height: 1;
	letter-spacing: 0;
	margin-bottom: 15px;
}
body.archive .grve-blog-item .grve-post-exerpt p {
	font-family: var(--font-body);
	font-size: 20px;
	line-height: 1.5;
	color: #000;
	margin: 0;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
@media (min-width: 768px) {
	body.archive #grve-main-blog-loop .grve-blog-item {
		width: 50% !important;
	}
}

/* Search sliding modal */
#grve-sliding-area.grve-header-horizontal {
	background: var(--wp--preset--color--primary-1) !important;
	height: auto !important;
	min-height: 0 !important;
	padding: 120px 0 !important;
	border-bottom: 8px solid #d1d1cf;
	box-shadow: 0 20px 40px rgba(0, 0, 0, 0.25);
}
#grve-sliding-area .grve-sliding-wrapper {
	position: static !important;
	transform: none !important;
	height: auto !important;
}
#grve-search-modal .grve-search-item {
	max-width: 900px;
	width: calc(100% - 60px);
	margin: 0 auto;
	position: relative;
}
#grve-search-modal .grve-search-title {
	position: absolute;
	left: 0;
	top: auto !important;
	bottom: 100%;
	margin-bottom: 12px;
	font-family: var(--font-body) !important;
	font-size: 20px !important;
	color: rgba(255, 255, 255, 0.8) !important;
}
#grve-search-modal .grve-search-textfield {
	font-family: var(--font-headings) !important;
	font-size: 44px !important;
	line-height: 1.2 !important;
	height: auto !important;
	color: #fff !important;
	background: transparent !important;
	border: 0 !important;
	border-bottom: 3px solid #fff !important;
	padding: 6px 60px 10px 0 !important;
}
#grve-search-modal .grve-search-btn {
	top: 50% !important;
	right: 0 !important;
	transform: translateY(-50%);
}
#grve-search-modal .grve-search-btn svg {
	width: 34px;
	height: 34px;
	fill: #fff;
	stroke: #fff;
}
#grve-search-modal .grve-search-btn:hover svg {
	fill: var(--wp--preset--color--primary-2);
	stroke: var(--wp--preset--color--primary-2);
}
@media (max-width: 767px) {
	#grve-sliding-area.grve-header-horizontal {
		padding: 90px 0 60px !important;
	}
	#grve-search-modal .grve-search-textfield {
		font-size: 30px !important;
	}
}
/* Mobile/tablet artwork bar: room for the credit under the tagline */
@media (max-width: 1023px) {
	#grve-main-responsive-header::after {
		padding-bottom: 50px !important;
	}
	#grve-main-responsive-header::before {
		font-size: 11px !important;
		line-height: 1.35 !important;
		bottom: 10px !important;
	}
}
@media (max-width: 359px) {
	#grve-main-responsive-header::after {
		padding-bottom: 64px !important;
	}
}

/* [ws_video] / IRIA video: plays without sound, Sound button bottom right.
   The film is cropped to fill the box, so the box can be 16:9 on desktop
   and square on phones. */
.ws-video {
	position: relative;
	width: 100%;
	aspect-ratio: var(--ws-video-ratio, 16 / 9);
	overflow: hidden;
	background: var(--ws-panel);
}

.ws-video__frame {
	position: absolute;
	inset: 0;
	container-type: size;
	overflow: hidden;
}

.ws-video__film {
	position: absolute;
	top: 50%;
	left: 50%;
	width: max(100cqw, calc(100cqh * var(--ws-video-film, 1.7778)));
	height: max(100cqh, calc(100cqw / var(--ws-video-film, 1.7778)));
	max-width: none;
	border: 0;
	transform: translate(-50%, -50%);
	object-fit: cover;
	pointer-events: none;
}

.ws-video__poster {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	max-width: none;
	object-fit: cover;
	transition: opacity 0.8s ease;
	pointer-events: none;
}

.ws-video.is-playing .ws-video__poster {
	opacity: 0;
}

.ws-kwerk .ws-video__sound {
	position: absolute;
	right: clamp(14px, 1.6vw, 24px);
	bottom: clamp(14px, 1.6vw, 24px);
	z-index: 2;
	margin: 0;
	padding: 9px 14px;
	border: 0;
	border-radius: 0;
	background: color-mix(in srgb, var(--ws-ink) 45%, transparent);
	-webkit-backdrop-filter: blur(6px);
	backdrop-filter: blur(6px);
	color: var(--ws-cream);
	font-family: var(--ws-font-mono);
	font-size: 12px;
	line-height: 1;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	cursor: pointer;
	transition: opacity 0.2s ease;
}

.ws-kwerk .ws-video__sound:hover,
.ws-kwerk .ws-video__sound:focus-visible {
	opacity: 0.75;
}

.ws-video__sound-off,
.ws-video.has-sound .ws-video__sound-on {
	display: none;
}

.ws-video.has-sound .ws-video__sound-off {
	display: inline;
}

@media (max-width: 767px) {
	.ws-video {
		aspect-ratio: var(--ws-video-ratio-m, 1 / 1);
	}
}
