/*
Theme Name: Key Group
Theme URI: https://github.com/PedlDigitl/key-group
Template: forge
Author: Pedl Digitl Limited
Author URI: https://pedldigitl.com
Description: Bespoke Key Group WordPress Theme.
Requires at least: 6.9
Tested up to: 6.9
Requires PHP: 5.7
Version: 1.0.0
License: Proprietary
License URI: 
Text Domain: key-group
Tags: full-width-template

Key Group WordPress Theme, Copyright 2026 Pedl Digitl Limited
All Rights Reserved.
*/

*,
*:before,
*:after {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
  scroll-padding-top: 160px;
}

body:has(.header.toggled) {
  overflow: hidden;
}

b,
strong {
  font-weight: 500;
}

a {
  transition: 0.3s ease;
}
p a:where(:not(.wp-element-button)) {
  color: inherit;
}
p a:where(:not(.wp-element-button)):hover {
  opacity: 0.8;
}

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

.wp-block-separator {
  border-top-width: 1px;
}

img,
figure {
  max-width: 100%;
  height: auto;
}

/* Single Post, Legal formatting */
.single-post .wp-block-post-featured-image img {
  border-radius: 0.5rem;
  border: 1px solid var(--wp--preset--color--transparent-300);
}

.single-post .entry-content > *:last-child {
  margin-bottom: 0;
}

.single-post .entry-content > p,
.single-post .entry-content > ul,
.single-post .entry-content > ol {
  margin: 1.5em 0;
}
.single-post .entry-content ul {
  padding: 0 0 0 1em;
  list-style: square;
}

.single-post .entry-content > .wp-block-heading {
  margin: 1.5em 0 0.25em;
}
@media (width >= 768px) {
  .single-post .entry-content > .wp-block-heading {
    margin: 1em 0 0.25em;
  }
}

.single-post .entry-content > .wp-block-image {
  margin: 0;
}

.single-post .entry-content img {
  width: 100%;
  height: auto;
  display: block;
  clip-path: polygon(0% 0%, 100% 0%, 100% calc(100% - 48px), calc(100% - 48px) 100%, 0% 100%);
}

.single-post .wp-block-post-featured-image {
  position: relative;
  z-index: 3;
}

.single-post .pattern-page-header-2 > .wp-block-group {
  width: 100%;
}

.wp-block-post-author .wp-block-post-author__avatar .avatar {
  border-radius: 50%;
}
.wp-block-post-author .wp-block-post-author__name {
  font-weight: 500;
}
.wp-block-post-author .wp-block-post-author__bio {
  margin: 0;
  font-size: 0.875rem;
}

.page-template-page-legal .wp-block-heading {
  margin: 1.5em 0 0.25em;
}
.page-template-page-legal p,
.page-template-page-legal .wp-block-list {
  margin: 1em 0;
}
@media (width >= 768px) {
  .page-template-page-legal .wp-block-heading {
    margin: 1em 0 0.25em;
  }
}

.checklist {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 0.625rem;
}
.checklist li {
  padding: 0 0 0 27px;
  position: relative;
}
.checklist li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 3px;
  display: block;
  width: 20px;
  height: 20px;
  background-image: url("assets/icons/check-circle.svg");
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
}

.wp-block-quote {
  border-left: 2px solid var(--wp--preset--color--primary);
  padding: 0.5rem 0 0.5rem 1.25rem;
}

.wp-block-quote p {
  font-size: var(--wp--preset--font-size--medium);
  line-height: 1.3;
  font-weight: 500;
  letter-spacing: -0.01em;
  margin: 0 0 var(--wp--preset--spacing--50);
}

.wp-block-quote .wp-block-heading {
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: 0;
  color: #3f4b5a;
}

.wp-block-social-link:hover {
  transform: scale(1);
}
.wp-block-social-link .wp-block-social-link-anchor {
  padding: 0;
  width: 2.25rem;
  height: 2.25rem;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 0;
  background-color: #e1f5fc;
}
.wp-block-social-link .wp-block-social-link-anchor:hover {
  background-color: var(--wp--preset--color--primary);
  color: var(--wp--preset--color--white) !important;
}
.wp-block-social-link .wp-block-social-link-anchor svg {
  width: 20px;
  height: 20px;
}

.explore-btn--mobile {
  margin-block-start: var(--wp--preset--spacing--60);
  display: flex !important;
}
@media (width >= 768px) {
  .explore-btn--mobile {
    display: none !important;
  }
}
.explore-btn--desktop {
  display: none !important;
}
@media (width >= 768px) {
  .explore-btn--desktop {
    display: flex !important;
  }
}

.pattern-contact label.gfield_label.gform-field-label {
  color: var(--wp--preset--color--secondary-alt);
  margin-bottom: 4px;
  font-weight: 400;
  font-family: var(--wp--preset--font-family--overused-grotesk);
}

.pattern-contact
  .gform_fields
  input:not(input[type="submit"], input[type="checkbox"]),
.pattern-contact .gform_fields select,
.pattern-contact .gform_fields textarea {
  box-shadow: 0px 1px 2px 0px #1018280d;
  border: 1px solid var(--wp--preset--color--neutral-200);
  border-radius: 8px;
  padding: 0.5rem 0.75rem;
  font-size: 1rem;
  height: 42px;
}

.pattern-contact .gform_fields select {
  padding: 0rem 0.75rem;
}

.pattern-contact .gform_fields textarea {
  resize: none;
}

.pattern-contact .gform-theme--foundation .gform_fields {
  row-gap: 1rem;
}

.pattern-contact
  legend.gfield_label.gform-field-label.gfield_label_before_complex {
  color: var(--wp--preset--color--secondary-alt);
  margin-bottom: 6px;
  font-weight: 400;
  font-family: var(--wp--preset--font-family--overused-grotesk);
}

.pattern-contact
  .gform-theme--framework
  input[type="checkbox"]:where(
    :not(.gform-theme__disable):not(.gform-theme__disable *):not(
        .gform-theme__disable-framework
      ):not(.gform-theme__disable-framework *)
  ),
.gform-theme--framework
  input[type="radio"]:where(
    :not(.gform-theme__disable):not(.gform-theme__disable *):not(
        .gform-theme__disable-framework
      ):not(.gform-theme__disable-framework *)
  ) {
  border-radius: 5px;
}

.pattern-contact .gform-field-label.gform-field-label--type-inline {
  font-size: 1rem;
  margin-left: 0.25rem;
}

.pattern-contact
  .gform-theme.gform-theme--framework.gform_wrapper
  .gform-footer
  .button:where(
    :not(.gform-theme-no-framework):not(.gform-theme__disable):not(
        .gform-theme__disable *
      ):not(.gform-theme__disable-framework):not(
        .gform-theme__disable-framework *
      )
  ) {
  border-radius: 999px !important;
  background: #0e1014 !important;
  font-weight: 500 !important;
  font-size: 14px !important;
  letter-spacing: 0.01em !important;
  padding: 0.75rem 1rem !important;
  transition: all 0.3s ease !important;
}

.pattern-contact
  .gform-theme.gform-theme--framework.gform_wrapper
  .gform-footer
  .button:where(
    :not(.gform-theme-no-framework):not(.gform-theme__disable):not(
        .gform-theme__disable *
      ):not(.gform-theme__disable-framework):not(
        .gform-theme__disable-framework *
      )
  ):hover {
  background: var(--wp--preset--color--accent) !important;
}

.pattern-contact .gform-theme--framework .gfield--type-choice .gfield_checkbox {
  flex-direction: column;
}

@media (width >= 576px) {
  .pattern-contact
    .gform-theme--framework
    .gfield--type-choice
    .gfield_checkbox {
    flex-direction: row;
    flex-wrap: wrap;
  }
}

img[data-lazy-src],
img.lazyloading {
  opacity: 0;
  transform: translateY(8px);
  transition:
    opacity 0.4s ease-out,
    transform 0.4s ease-out;
}

img.lazyloaded,
img[data-lazy-src].litespeed-loaded {
  opacity: 1;
  transform: translateY(0);
}

mark {
  display: block;
}

.wp-block-image :where(figcaption) {
  font-size: 0.875rem;
}

.swiper {
  opacity: 0;
  transition: opacity 0.4s ease;
}

.swiper.swiper-loaded,
.swiper.logo-swiper,
.swiper.hero-slider-swiper {
  opacity: 1;
}

