/**
Theme Name: Lienguard 2025
Author: BuckStone Digital Group
Author URI: https://buckstonedigital.com
Description: Astra child theme.
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: lienguard-2025
Template: astra
*/

/* Allow full-width content */
:root {
  --wp--custom--ast-content-width-size: none;
}
#content > .ast-container {
  padding-left: 0;
  padding-right: 0;
  margin-left: 0;
  margin-right: 0;
  max-width: none;
}

/* Override default block padding with additional spacing */
.entry-content > .wp-block-group,
.entry-content > .wp-block-cover,
.entry-content > .wp-block-columns {
  padding-top: calc(
    var(--wp--custom--ast-default-block-top-padding) +
      var(--wp--preset--spacing--40)
  );
  padding-bottom: calc(
    var(--wp--custom--ast-default-block-bottom-padding) +
      var(--wp--preset--spacing--40)
  );
}

/* Responsive horizontal padding abstraction */
:root {
  --lg-content-padding-left: max(
    var(--wp--preset--spacing--70),
    calc((100% - 1400px) / 2)
  );
  --lg-content-padding-right: max(
    var(--wp--preset--spacing--70),
    calc((100% - 1400px) / 2)
  );
}

@media (min-width: 768px) {
  :root {
    --lg-content-padding-left: max(
      calc(
        var(--wp--custom--ast-default-block-left-padding) +
          var(--wp--preset--spacing--40)
      ),
      calc((100% - 1400px) / 2)
    );
    --lg-content-padding-right: max(
      calc(
        var(--wp--custom--ast-default-block-right-padding) +
          var(--wp--preset--spacing--40)
      ),
      calc((100% - 1400px) / 2)
    );
  }
}

/* Constrain content width with padding for .wp-block-group */
@media (min-width: 768px) {
  .entry-content > .wp-block-group {
    padding-left: var(--lg-content-padding-left);
    padding-right: var(--lg-content-padding-right);
  }
}

/* Wrapper for narrow content sections */
.narrow-content {
  padding-left: max(
    var(--wp--preset--spacing--40),
    calc((100% - 850px) / 2)
  ) !important;
  padding-right: max(
    var(--wp--preset--spacing--40),
    calc((100% - 850px) / 2)
  ) !important;
}

.narrow-width {
  max-width: 750px;
}

.nowrap {
  white-space: nowrap;
}

/* ------------------------------------------------------------------------- */
/* Global Element Styles */
/* ------------------------------------------------------------------------- */

.wp-block-heading,
.wrap-balance {
  text-wrap: balance;
}

#ast-scroll-top {
  border-radius: 4px;
}

/* Header styles */
.main-header-bar {
  background-color: #fff;
}
.ast-desktop .ast-primary-header-bar .main-header-menu > .menu-item {
  line-height: 48px;
}

.main-header-bar .ast-custom-button {
  white-space: nowrap;
}

.has-ast-global-color-0-background-color
  .wp-block-button
  .wp-block-button__link:hover,
.has-ast-global-color-0-background-color
  .wp-block-button
  .wp-block-button__link:focus {
  background-color: #fff !important;
  color: #000 !important;
}

/* Override hover menu item styling */
.ast-builder-menu-1 .menu-item:hover > .menu-link,
.ast-builder-menu-1 .inline-on-mobile .menu-item:hover > .ast-menu-toggle {
  color: var(--ast-global-color-0);
}

.ast-desktop
  .ast-menu-hover-style-underline
  > .menu-item:hover
  > .menu-link:before,
.ast-desktop
  .ast-menu-hover-style-overline
  > .menu-item:hover
  > .menu-link:before {
  width: calc(100% - 1.2em);
  background-color: currentColor;
  transform: scale(1, 1) translate(50%, 0);
}

/* Override current menu item styling */
.ast-builder-menu-1 .menu-item.current-menu-item > .menu-link,
.ast-builder-menu-1
  .inline-on-mobile
  .menu-item.current-menu-item
  > .ast-menu-toggle,
.ast-builder-menu-1 .current-menu-ancestor > .menu-link {
  color: var(--ast-global-color-0);
  font-weight: bold;
}

/* Apply underline to current menu item (always visible, not just on hover) */
.ast-desktop
  .ast-menu-hover-style-underline
  > .menu-item.current-menu-item
  > .menu-link:before,
.ast-desktop
  .ast-menu-hover-style-overline
  > .menu-item.current-menu-item
  > .menu-link:before {
  width: calc(100% - 1.2em);
  background-color: currentColor;
  transform: scale(1, 1) translate(50%, 0);
}

/* Footer styles */
.site-footer {
  padding: 0 var(--lg-content-padding-left);
}
.site-footer .menu-item {
  padding-bottom: var(--wp--preset--spacing--30);
}
.site-footer .site-primary-footer-inner-wrap {
  gap: var(--wp--preset--spacing--40);
}
.site-footer .site-footer-primary-section-1 p {
  margin-bottom: var(--wp--preset--spacing--20);
  white-space: nowrap;
}
.site-footer .site-footer-primary-section-1 img {
  width: 100%;
  height: auto;
  max-width: 120px;
  margin-bottom: var(--wp--preset--spacing--40);
}
.site-footer .widget_nav_menu {
  white-space: nowrap;
}
@media (min-width: 768px) {
  .site-footer .site-primary-footer-inner-wrap {
    grid-template-columns: auto 1fr auto auto;
    gap: var(--wp--preset--spacing--70);
  }
  .site-footer .site-footer-primary-section-2 {
    grid-column: 3;
    padding-right: var(--wp--preset--spacing--70);
  }
  .site-footer .site-footer-primary-section-3 {
    grid-column: 4;
  }
}

/* Button Styles */

/* Button with Phone Icon */
.btn-phone .wp-block-button__link {
  position: relative;
  padding-left: 60px;
}
.btn-phone .wp-block-button__link::before {
  content: "";
  position: absolute;
  left: 24px;
  top: 50%;
  transform: translateY(-50%);
  width: 20px;
  height: 20px;
  background-image: url("./assets/icons/fa-phone.svg");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}
.btn-phone .wp-block-button__link:hover::before {
  filter: brightness(0) invert(1);
}
.has-ast-global-color-0-background-color
  .btn-phone
  .wp-block-button__link:hover::before {
  filter: none;
}

/* Search elements */
.wp-block-search__input {
  height: 52px !important;
}

@media (max-width: 767px) {
  .wp-block-search__inside-wrapper {
    flex-direction: column;
    gap: 1.5rem;
    align-items: stretch;
  }
  .wp-block-search__button {
    margin: 0;
  }
}

.wp-block-query-pagination-numbers {
  display: flex;
  gap: var(--wp--preset--spacing--40);
}

.wp-block-query-pagination-numbers .page-numbers {
  border: 1px solid grey;
  border-radius: 8px;
  width: 30px;
  height: 30px;
  display: flex;
  justify-content: center;
  align-items: center;
  background: white;
  text-decoration: none !important;
}

.wp-block-query-pagination-numbers .page-numbers:hover {
  background: var(--ast-global-color-0);
  color: white;
}

.wp-block-query-pagination-numbers .page-numbers.current {
  font-weight: bold;
}

/* ------------------------------------------------------------------------- */
/* Custom Layouts */
/* ------------------------------------------------------------------------- */

.lg-layout-two-thirds-one-third {
  display: grid;
  padding-left: var(--wp--preset--spacing--70) !important;
  padding-right: var(--wp--preset--spacing--70) !important;
  max-width: 1400px !important;
}
@media (min-width: 768px) {
  .lg-layout-two-thirds-one-third {
    padding-left: calc(
      var(--wp--custom--ast-default-block-left-padding) +
        var(--wp--preset--spacing--40)
    ) !important;
    padding-right: calc(
      var(--wp--custom--ast-default-block-right-padding) +
        var(--wp--preset--spacing--40)
    ) !important;
  }
}
@media (min-width: 1000px) {
  .lg-layout-two-thirds-one-third {
    grid-template-columns: 2fr 1fr;
    gap: 1rem;
    align-items: start;
    justify-items: left;
  }
}

@media (min-width: 768px) {
  .lg-sticky-sidebar {
    position: sticky;
    top: var(--wp--preset--spacing--50) !important;
  }
  .lg-layout-two-thirds-one-third > .wp-block-group {
    margin-top: var(--wp--preset--spacing--50) !important;
  }
}

.lg-inline-image {
  max-width: 750px;
}

/* ------------------------------------------------------------------------- */
/* Custom Block Styles */
/* ------------------------------------------------------------------------- */

.wp-block-cover h1.has-background {
  border-radius: 8px;
}
@media (max-width: 767px) {
  .wp-block-cover h1.has-background {
    padding: 1rem;
  }
}

.wp-block-cover > .wp-block-cover__inner-container {
  width: auto;
}

.wp-block-cover > .wp-block-cover__inner-container > .wp-block-heading,
.wp-block-cover > .wp-block-cover__inner-container > .wp-block-group {
  width: auto;
  border-radius: 8px;
  padding: 0.75em 0.5em;
}

@media (min-width: 768px) {
  .wp-block-cover > .wp-block-cover__inner-container > .wp-block-heading,
  .wp-block-cover > .wp-block-cover__inner-container > .wp-block-group {
    padding: 1.25em 2.375em;
  }
}

.wp-block-cover.extra-padding
  > .wp-block-cover__inner-container
  > .wp-block-heading,
.wp-block-cover.extra-padding
  > .wp-block-cover__inner-container
  > .wp-block-group {
  padding: 1.5em 1.75em;
}

@media (min-width: 768px) {
  .wp-block-cover.extra-padding
    > .wp-block-cover__inner-container
    > .wp-block-heading,
  .wp-block-cover.extra-padding
    > .wp-block-cover__inner-container
    > .wp-block-group {
    padding: 2.5em 3.75em;
  }
}

/* Hero 50/50 image and text */
.entry-content > .lg-hero-50-50 {
  padding: 0 !important;
  display: flex;
  flex-direction: column-reverse;
}
.lg-hero-50-50 > .wp-block-group.is-vertical {
  padding: var(--wp--preset--spacing--40) var(--wp--preset--spacing--40)
    var(--wp--preset--spacing--60) var(--wp--preset--spacing--40);
}
.lg-hero-50-50 .wp-block-buttons {
  padding-bottom: 0;
}
.lg-hero-50-50 .btn-phone span {
  text-decoration: underline;
}
.lg-hero-50-50 .wp-block-image {
  margin: 0;
}
.lg-hero-50-50 .wp-block-image img {
  width: 100%;
  max-width: 100%;
  height: auto;
  aspect-ratio: 16 / 9;
  object-fit: cover;
}
@media (min-width: 768px) {
  .entry-content > .lg-hero-50-50 {
    flex-direction: row;
    align-items: stretch;
    padding-top: 0;
    padding-right: 0;
    padding-bottom: 0;
    padding-left: 0;
  }
  .lg-hero-50-50 > .wp-block-group.is-vertical {
    width: 50%;
    padding-top: var(--wp--custom--ast-default-block-top-padding);
    padding-right: var(--wp--preset--spacing--60);
    padding-bottom: var(--wp--custom--ast-default-block-bottom-padding);
    padding-left: var(--lg-content-padding-left);
  }
  .lg-hero-50-50 .wp-block-buttons {
    padding-top: var(--wp--preset--spacing--60);
    padding-bottom: 0;
  }
  .lg-hero-50-50 .btn-phone span {
    text-decoration: underline;
  }
  .lg-hero-50-50 .wp-block-image {
    width: 50%;
    margin: 0;
    display: flex;
    flex-direction: column;
    align-self: stretch;
    min-height: 0;
  }
  .lg-hero-50-50 .wp-block-image img {
    width: 100%;
    max-width: 100%;
    height: 100%;
    max-height: 80dvh;
    aspect-ratio: auto;
    object-fit: cover;
    object-position: center;
    border-radius: 0;
    box-shadow: none;
    min-height: 0;
  }
  /* Optional white gradient fade from left edge of image */
  .lg-hero-50-50 .wp-block-image.fade-left-white {
    position: relative;
  }
  .lg-hero-50-50 .wp-block-image.fade-left-white::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100px;
    height: 100%;
    background: linear-gradient(
      to right,
      rgba(255, 255, 255, 1),
      rgba(255, 255, 255, 0)
    );
    pointer-events: none;
    z-index: 1;
  }
}

/* Hero Video Background with text overlay */
.entry-content > .lg-hero-video-bg,
.lg-hero-video-bg > .wp-block-group.is-vertical {
  min-height: calc(100dvh - 85px);
}
.entry-content > .lg-hero-video-bg {
  padding: 0 !important;
  position: relative;
}
.lg-hero-video-bg .wp-block-video {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  margin: 0;
  z-index: 0;
}
.lg-hero-video-bg .wp-block-video video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.lg-hero-video-bg > .wp-block-group.is-vertical {
  position: relative;
  z-index: 1;
  background: rgba(255, 255, 255, 0.9);
  padding: var(--wp--preset--spacing--60) var(--wp--preset--spacing--40)
    var(--wp--preset--spacing--40) var(--wp--preset--spacing--60);
  margin: 0;
}
.lg-hero-video-bg .wp-block-buttons {
  padding-bottom: 0;
}
.lg-hero-video-bg .btn-phone span {
  text-decoration: underline;
}
@media (min-width: 768px) {
  .lg-hero-video-bg > .wp-block-group.is-vertical {
    width: 50%;
    background: rgba(255, 255, 255, 0.9);
    padding-top: var(--wp--custom--ast-default-block-top-padding);
    padding-right: var(--wp--preset--spacing--60);
    padding-bottom: var(--wp--custom--ast-default-block-bottom-padding);
    padding-left: var(--lg-content-padding-left);
  }
  .lg-hero-video-bg .wp-block-buttons {
    padding-top: var(--wp--preset--spacing--60);
    padding-bottom: 0;
  }
}
@media (min-width: 921px) and (max-width: 1399px) {
  .lg-hero-video-bg .wp-block-heading {
    font-size: 2.2rem;
  }
}

/* Utility: Hide between tablet and desktop */
@media (min-width: 768px) and (max-width: 1399px) {
  .hide-tablet {
    display: none !important;
  }
}
/* Utility: Hide on mobile only */
@media (max-width: 767px) {
  .hide-mobile {
    display: none !important;
  }
}

/* Icons with figures */
.lg-icon-figures {
  display: flex;
  flex-direction: column;
  gap: var(--wp--preset--spacing--50);
}
.lg-icon-figures > .wp-block-group {
  padding-right: var(--wp--preset--spacing--50);
  padding-left: var(--wp--preset--spacing--50);
  gap: 8px;
}
.lg-icon-figures > .wp-block-group > .wp-block-group {
  border-radius: 100%;
  padding-top: var(--wp--preset--spacing--40);
  padding-right: var(--wp--preset--spacing--40);
  padding-bottom: var(--wp--preset--spacing--40);
  padding-left: var(--wp--preset--spacing--40);
}
.lg-icon-figures svg {
  font-size: 1.8em;
  color: var(--ast-global-color-0);
}
.lg-icon-figures p {
  font-size: 30px;
}
.lg-icon-figures p.has-text-align-center {
  font-size: 16px;
  color: #4b5563;
}

@media (min-width: 768px) {
  .lg-icon-figures {
    gap: var(--wp--preset--spacing--60);
    flex-direction: row;
    justify-content: center;
    align-items: flex-start;
  }
  .lg-icon-figures > .wp-block-group {
    padding-right: var(--wp--preset--spacing--50);
    padding-left: var(--wp--preset--spacing--50);
    flex: 1;
  }
  .lg-icon-figures > .wp-block-group:first-child {
    margin-block-start: auto;
  }
  .lg-icon-figures > .wp-block-group > .wp-block-group {
    border-radius: 100%;
    padding-top: var(--wp--preset--spacing--40);
    padding-right: var(--wp--preset--spacing--40);
    padding-bottom: var(--wp--preset--spacing--40);
    padding-left: var(--wp--preset--spacing--40);
  }
  .lg-icon-figures svg {
    font-size: 1.8em;
    color: var(--ast-global-color-0);
  }
  .lg-icon-figures p {
    font-size: 30px;
  }
  .lg-icon-figures p.has-text-align-center {
    font-size: 16px;
    color: #4b5563;
  }
}

/* Half text half image */
.lg-half-text-half-image {
  flex-direction: column;
  padding-top: var(--wp--preset--spacing--80);
  padding-bottom: var(--wp--preset--spacing--80);
}
.lg-half-text-half-image img {
  border-radius: 12px;
  box-shadow: var(--wp--preset--shadow--natural);
}

@media (min-width: 768px) {
  .lg-half-text-half-image {
    flex-direction: row;
    align-items: flex-start;
    padding-top: var(--wp--preset--spacing--80);
    padding-bottom: var(--wp--preset--spacing--80);
  }
  .lg-half-text-half-image > .wp-block-group {
    padding-right: var(--wp--preset--spacing--60);
  }
  .lg-half-text-half-image img {
    border-radius: 12px;
    box-shadow: var(--wp--preset--shadow--natural);
  }
}

/* Icon grid */
.lg-icon-grid {
  padding-top: var(--wp--preset--spacing--80);
  padding-bottom: var(--wp--preset--spacing--80);
}

.lg-icon-grid > .wp-block-heading {
  margin-bottom: 0;
}

.lg-icon-grid > p {
  font-size: 20px;
  text-align: center;
}

.lg-icon-grid > .wp-block-group {
  margin-top: var(--wp--preset--spacing--60);
  margin-bottom: var(--wp--preset--spacing--30);
  padding-right: var(--wp--preset--spacing--50);
  padding-left: var(--wp--preset--spacing--50);
}

.lg-icon-grid-container {
  grid-template-columns: 1fr !important;
}

.lg-icon-grid .wp-block-group > .wp-block-group {
  gap: var(--wp--preset--spacing--60);
}

.lg-icon-grid .wp-block-group .wp-block-group > .wp-block-group:first-child {
  border-radius: 8px;
  padding-top: var(--wp--preset--spacing--30);
  padding-right: var(--wp--preset--spacing--30);
  padding-bottom: var(--wp--preset--spacing--30);
  padding-left: var(--wp--preset--spacing--30);
}

.lg-icon-grid .wp-block-group .wp-block-group svg {
  font-size: 1.25em;
  color: var(--ast-global-color-0);
}

.lg-icon-grid .wp-block-group .wp-block-group > .wp-block-group:last-child {
  gap: var(--wp--preset--spacing--20);
}

.lg-icon-grid
  .wp-block-group
  .wp-block-group
  > .wp-block-group:last-child
  > p:first-child {
  font-size: 20px;
}

@media (min-width: 768px) {
  .lg-icon-grid {
    padding-top: var(--wp--preset--spacing--80);
    padding-bottom: var(--wp--preset--spacing--80);
  }

  .lg-icon-grid > .wp-block-heading {
    margin-bottom: 0;
  }

  .lg-icon-grid > p {
    font-size: 20px;
    text-align: center;
  }

  .lg-icon-grid > .wp-block-group {
    margin-top: var(--wp--preset--spacing--60);
    margin-bottom: var(--wp--preset--spacing--30);
    padding-right: var(--wp--preset--spacing--50);
    padding-left: var(--wp--preset--spacing--50);
  }

  .lg-icon-grid-container {
    grid-template-columns: repeat(2, 1fr) !important;
  }

  .lg-icon-grid .wp-block-group > .wp-block-group {
    gap: var(--wp--preset--spacing--60);
  }

  .lg-icon-grid .wp-block-group .wp-block-group > .wp-block-group:first-child {
    border-radius: 8px;
    padding-top: var(--wp--preset--spacing--30);
    padding-right: var(--wp--preset--spacing--30);
    padding-bottom: var(--wp--preset--spacing--30);
    padding-left: var(--wp--preset--spacing--30);
  }

  .lg-icon-grid .wp-block-group .wp-block-group svg {
    font-size: 1.25em;
    color: var(--ast-global-color-0);
  }

  .lg-icon-grid .wp-block-group .wp-block-group > .wp-block-group:last-child {
    gap: var(--wp--preset--spacing--20);
  }

  .lg-icon-grid
    .wp-block-group
    .wp-block-group
    > .wp-block-group:last-child
    > p:first-child {
    font-size: 20px;
  }
}

/* Steps */
.lg-steps {
  flex-direction: column-reverse;
  padding-top: var(--wp--preset--spacing--80);
  padding-bottom: var(--wp--preset--spacing--80);
  gap: var(--wp--preset--spacing--60);
}

.lg-steps .wp-block-image {
  margin: 0;
}

.lg-steps .wp-block-image img {
  border-radius: 12px;
  box-shadow: var(--wp--preset--shadow--natural);
}

.lg-steps > .wp-block-group {
  padding-left: 0;
}

.lg-steps .step-number {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  background-color: var(--ast-global-color-1, #ffd700);
  border-radius: 50%;
  flex-shrink: 0;
}

.lg-steps .wp-block-group > .wp-block-group {
  padding-bottom: var(--wp--preset--spacing--30);
  gap: var(--wp--preset--spacing--40);
}

.lg-steps .wp-block-group .wp-block-group p {
  margin-top: 0;
}

.lg-steps .wp-block-group > .wp-block-group p:first-child {
  margin-bottom: var(--wp--preset--spacing--30);
}

.lg-steps .wp-block-group > .wp-block-group p:last-child {
  color: #4b5563;
}

@media (min-width: 768px) {
  .lg-steps {
    flex-direction: row;
    padding-top: var(--wp--preset--spacing--80);
    padding-bottom: var(--wp--preset--spacing--80);
  }

  .lg-steps .wp-block-image {
    margin: 0;
  }

  .lg-steps .wp-block-image img {
    border-radius: 12px;
    box-shadow: var(--wp--preset--shadow--natural);
  }

  .lg-steps > .wp-block-group {
    padding-left: var(--wp--preset--spacing--70);
  }

  .lg-steps .step-number {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    background-color: var(--ast-global-color-1, #ffd700);
    border-radius: 50%;
    flex-shrink: 0;
  }

  .lg-steps .wp-block-group > .wp-block-group {
    gap: var(--wp--preset--spacing--20);
  }

  .lg-steps .wp-block-group .wp-block-group p {
    margin-top: 0;
  }

  .lg-steps .wp-block-group > .wp-block-group p:first-child {
    margin-bottom: 0;
  }

  .lg-steps .wp-block-group > .wp-block-group p:last-child {
    color: #4b5563;
  }
}

/* Grid of boxes */
.lg-box-grid {
  background-color: white;
  padding-top: var(--wp--preset--spacing--80);
  padding-bottom: var(--wp--preset--spacing--80);
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: var(--wp--preset--spacing--30);
}

.lg-box-grid > .wp-block-heading {
  text-align: center;
  margin-top: 0;
  margin-bottom: 0;
}

.lg-box-grid > p {
  text-align: center;
  font-size: 20px;
}

.lg-box-grid > .wp-block-group {
  padding-top: var(--wp--preset--spacing--60);
  display: flex;
  flex-direction: column;
  align-items: stretch;
  justify-content: center;
  gap: var(--wp--preset--spacing--60);
}

/* Content boxes (outer boxes with border) */
.lg-box-grid > .wp-block-group > .wp-block-group {
  display: flex;
  flex-direction: column;
  gap: var(--wp--preset--spacing--30);
  padding: var(--wp--preset--spacing--50);
  border: 1px solid #d3d3d3;
  border-radius: 8px;
  background-color: #f9fafb;
  width: 100%;
}

/* Icon container (yellow box) */
.lg-box-grid > .wp-block-group > .wp-block-group > .wp-block-group {
  padding: 0;
  border: none;
  border-radius: 8px;
  background-color: var(--ast-global-color-1);
}

/* SVG icon inside icon container */
.lg-box-grid > .wp-block-group > .wp-block-group > .wp-block-group svg {
  font-size: 1.4em;
  padding: var(--wp--preset--spacing--40);
}

.lg-box-grid > .wp-block-group > .wp-block-group h3 {
  padding-top: var(--wp--preset--spacing--30);
}

.lg-box-grid > .wp-block-group > .wp-block-group p:last-child {
  padding-top: var(--wp--preset--spacing--40);
}

@media (min-width: 768px) {
  .lg-box-grid {
    background-color: white;
    padding-top: var(--wp--preset--spacing--80);
    padding-bottom: var(--wp--preset--spacing--80);
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: var(--wp--preset--spacing--30);
  }

  .lg-box-grid > .wp-block-heading {
    text-align: center;
    margin-top: 0;
    margin-bottom: 0;
  }

  .lg-box-grid > p {
    text-align: center;
    font-size: 20px;
  }

  .lg-box-grid > .wp-block-group {
    padding-top: var(--wp--preset--spacing--60);
    display: flex;
    flex-direction: row;
    align-items: stretch;
    justify-content: center;
    gap: var(--wp--preset--spacing--60);
  }

  /* Content boxes (outer boxes with border) */
  .lg-box-grid > .wp-block-group > .wp-block-group {
    display: flex;
    flex-direction: column;
    gap: var(--wp--preset--spacing--30);
    padding: var(--wp--preset--spacing--50);
    border: 1px solid #d3d3d3;
    border-radius: 8px;
    background-color: #f9fafb;
    flex: 1;
  }

  /* Icon container (yellow box) */
  .lg-box-grid > .wp-block-group > .wp-block-group > .wp-block-group {
    padding: 0;
    border: none;
    border-radius: 8px;
    background-color: var(--ast-global-color-1);
    flex: 0;
  }

  /* SVG icon inside icon container */
  .lg-box-grid > .wp-block-group > .wp-block-group > .wp-block-group svg {
    font-size: 1.4em;
    padding: var(--wp--preset--spacing--40);
  }

  .lg-box-grid > .wp-block-group > .wp-block-group h3 {
    padding-top: var(--wp--preset--spacing--30);
  }

  .lg-box-grid > .wp-block-group > .wp-block-group p:last-child {
    padding-top: var(--wp--preset--spacing--40);
  }
}

/* Compact box grid (testimonials) - mobile first */
.lg-box-grid--compact {
  padding-top: var(--wp--preset--spacing--80);
  padding-bottom: var(--wp--preset--spacing--80);
  gap: var(--wp--preset--spacing--30);
}

.lg-box-grid--compact > .wp-block-heading {
  text-align: center;
}

.lg-box-grid--compact > p {
  text-align: center;
  font-size: 20px;
  color: #4b5563;
}

.lg-box-grid--compact > .wp-block-group {
  padding-top: var(--wp--preset--spacing--60);
  display: flex;
  flex-direction: column;
  gap: var(--wp--preset--spacing--70);
}

/* Individual testimonial boxes */
.lg-box-grid--compact > .wp-block-group > .wp-block-group {
  display: flex;
  flex-direction: column;
  gap: var(--wp--preset--spacing--30);
  padding: var(--wp--preset--spacing--60);
  border: 1px solid #d3d3d3;
  border-radius: 8px;
  background-color: white;
}

/* User info section (icon + name/title) - 2 column grid */
.lg-box-grid--compact > .wp-block-group > .wp-block-group > .wp-block-group {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: var(--wp--preset--spacing--40);
  align-items: center;
}

/* Icon container with circle background */
.lg-box-grid--compact
  > .wp-block-group
  > .wp-block-group
  > .wp-block-group
  > .wp-block-group:first-child {
  border-radius: 100%;
  padding: var(--wp--preset--spacing--30);
  background-color: var(--ast-global-color-4);
}

/* Icon sizing */
.lg-box-grid--compact
  > .wp-block-group
  > .wp-block-group
  > .wp-block-group
  > .wp-block-group
  svg {
  font-size: 1.4em;
}

/* Text container (name and role) */
.lg-box-grid--compact
  > .wp-block-group
  > .wp-block-group
  > .wp-block-group
  > .wp-block-group:last-child {
  gap: 0;
}

/* Name text */
.lg-box-grid--compact
  > .wp-block-group
  > .wp-block-group
  > .wp-block-group
  > .wp-block-group:last-child
  > p:first-child {
  margin-top: 0;
  margin-bottom: 0;
}

/* Role/title text */
.lg-box-grid--compact
  > .wp-block-group
  > .wp-block-group
  > .wp-block-group
  > .wp-block-group:last-child
  > p:last-child {
  font-size: 14px;
  color: #374151;
}

/* Testimonial text (full width below the grid) */
.lg-box-grid--compact > .wp-block-group > .wp-block-group > p {
  font-size: 14px;
  color: #374151;
  margin: 0;
}

@media (min-width: 768px) {
  .lg-box-grid--compact {
    padding-top: var(--wp--preset--spacing--80);
    padding-bottom: var(--wp--preset--spacing--80);
    gap: var(--wp--preset--spacing--30);
  }

  .lg-box-grid--compact > .wp-block-heading {
    text-align: center;
  }

  .lg-box-grid--compact > p {
    text-align: center;
    font-size: 20px;
    color: #4b5563;
  }

  .lg-box-grid--compact > .wp-block-group {
    padding-top: var(--wp--preset--spacing--60);
    display: flex;
    flex-direction: row;
    gap: var(--wp--preset--spacing--70);
    align-items: stretch;
  }

  /* Individual testimonial boxes */
  .lg-box-grid--compact > .wp-block-group > .wp-block-group {
    display: flex;
    flex-direction: column;
    gap: var(--wp--preset--spacing--30);
    padding: var(--wp--preset--spacing--60);
    border: 1px solid #d3d3d3;
    border-radius: 8px;
    background-color: white;
    flex: 1;
  }

  /* User info section (icon + name/title) - 2 column grid */
  .lg-box-grid--compact > .wp-block-group > .wp-block-group > .wp-block-group {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: var(--wp--preset--spacing--40);
    align-items: center;
  }

  /* Icon container with circle background */
  .lg-box-grid--compact
    > .wp-block-group
    > .wp-block-group
    > .wp-block-group
    > .wp-block-group:first-child {
    border-radius: 100%;
    padding: var(--wp--preset--spacing--30);
    background-color: var(--ast-global-color-4);
  }

  /* Icon sizing */
  .lg-box-grid--compact
    > .wp-block-group
    > .wp-block-group
    > .wp-block-group
    > .wp-block-group
    svg {
    font-size: 1.4em;
  }

  /* Text container (name and role) */
  .lg-box-grid--compact
    > .wp-block-group
    > .wp-block-group
    > .wp-block-group
    > .wp-block-group:last-child {
    gap: 0;
  }

  /* Name text */
  .lg-box-grid--compact
    > .wp-block-group
    > .wp-block-group
    > .wp-block-group
    > .wp-block-group:last-child
    > p:first-child {
    margin-top: 0;
    margin-bottom: 0;
  }

  /* Role/title text */
  .lg-box-grid--compact
    > .wp-block-group
    > .wp-block-group
    > .wp-block-group
    > .wp-block-group:last-child
    > p:last-child {
    font-size: 14px;
    color: #374151;
  }

  /* Testimonial text (full width below the grid) */
  .lg-box-grid--compact > .wp-block-group > .wp-block-group > p {
    font-size: 14px;
    color: #374151;
    margin: 0;
  }
}

/* Full-width text CTA - mobile first */
.lg-full-text-cta {
  padding-top: var(--wp--preset--spacing--70);
  padding-bottom: var(--wp--preset--spacing--70);
  gap: var(--wp--preset--spacing--30);
}

.lg-full-text-cta p {
  font-size: 20px;
}

.lg-full-text-cta.centered p,
.lg-full-text-cta.centered .wp-block-heading {
  text-align: center;
}

.lg-full-text-cta.has-dark-background .wp-block-heading {
  color: white;
}
.lg-full-text-cta.has-dark-background p {
  color: #d1d5db;
}

.lg-full-text-cta .wp-block-buttons {
  padding-top: var(--wp--preset--spacing--60);
}

@media (min-width: 768px) {
  .lg-full-text-cta {
    padding-top: var(--wp--preset--spacing--70);
    padding-bottom: var(--wp--preset--spacing--70);
    gap: var(--wp--preset--spacing--30);
  }

  .lg-full-text-cta .wp-block-buttons {
    padding-top: var(--wp--preset--spacing--60);
  }
}

/* Service box with price */
.lg-service {
  display: grid;
  gap: var(--wp--preset--spacing--50);
  grid-template-columns: 1fr 4fr;
  grid-template-areas: "price service";
  padding: var(--wp--preset--spacing--60) 0;
  margin: 0;
  border-bottom: 1px solid var(--ast-global-color-7);
}
.lg-service > .wp-block-group {
  grid-area: service;
}
.lg-service > .wp-block-group > p {
  margin-top: var(--wp--preset--spacing--30);
}
.lg-service > p {
  grid-area: price;
  margin: 0;
  font-weight: bold;
  font-size: 16px;
}
.lg-service:last-child {
  border-bottom: none;
}
@media (min-width: 768px) {
  .lg-service {
    gap: var(--wp--preset--spacing--60);
    grid-template-columns: 1fr 6fr;
  }
  .lg-service > p {
    font-size: var(--wp--preset--font-size--medium);
  }
}

.lg-form-wrapper {
  padding: var(--wp--preset--spacing--50) var(--wp--preset--spacing--60);
  background: white;
  border: 1px solid var(--ast-global-color-7);
  border-radius: 8px;
}

@media (min-width: 960px) {
  .lg-form-wrapper.lg-calculator-form {
    min-width: 860px;
  }
}

.lg-contact-content-wrapper {
  max-width: 1050px !important;
}

.lg-blog-archive .wp-block-post-template {
  gap: var(--wp--preset--spacing--70);
}

.lg-blog-archive .wp-block-post.post.ast-article-single {
  border-radius: 8px;
  border: 1px solid var(--ast-global-color-7);
  background: white;
  box-shadow: 0px 4px 5px rgba(0, 0, 0, 0.12);
}

.lg-blog-archive .wp-block-post-date {
  margin-top: var(--wp--preset--spacing--30);
  opacity: 0.75;
  margin: 0;
}

.lg-blog-archive .wp-block-post-featured-image img {
  border-radius: 8px 8px 0 0;
  border-bottom: 1px solid var(--ast-global-color-7);
}

.lg-blog-archive .wp-block-post > .wp-block-group > .wp-block-group {
  padding: var(--wp--preset--spacing--50) var(--wp--preset--spacing--60)
    var(--wp--preset--spacing--60) var(--wp--preset--spacing--60);
  margin: 0;
}

.lg-blog-archive .wp-block-post-excerpt__more-text {
  margin-bottom: 0;
}

/* Single Blog Post Styles */
.single-post .content-area.primary {
  margin: 0;
}
.single-post .ast-article-single {
  max-width: 800px;
  margin: 0 auto;
  box-sizing: content-box;
  padding: 0 var(--wp--preset--spacing--40);
}
.single-post .post-navigation {
  max-width: 800px;
  margin: 0 auto;
  box-sizing: content-box;
  padding: var(--wp--preset--spacing--70) var(--wp--preset--spacing--30) 0
    var(--wp--preset--spacing--30);
}
@media (min-width: 768px) {
  .single-post .ast-article-single {
    padding: var(--wp--preset--spacing--40) var(--wp--preset--spacing--30) 0
      var(--wp--preset--spacing--30);
  }
}
