/* Gutenify Corporation Theme - Comprehensive Design System */

:root {
  /* ========== COLOR PALETTE ========== */
  /* Primary Colors */
  --wp--preset--color--primary: #16a8aa;
  --wp--preset--color--secondary: #14305d;
  --wp--preset--color--dark-blue: #061835;
  --wp--preset--color--background: #ffffff;
  --wp--preset--color--background-secondary: #e8f2f4;
  --wp--preset--color--body-text: #505e6b;
  --wp--preset--color--heading: #14305d;
  --wp--preset--color--border: #f2f2f2;
  --wp--preset--color--white: #ffffff;
  --wp--preset--color--black: #000000;
  --wp--preset--color--lite-background: #828fa0;
  
  /* Extended Colors */
  --wp--preset--color--tertiary: #c3d9e7;
  --wp--preset--color--input-field: #fafafa;
  --wp--preset--color--boulder: #777;
  --wp--preset--color--coffee: #7d6043;
  --wp--preset--color--cyan: #25d6a2;
  --wp--preset--color--sky-blue: #30b4da;
  --wp--preset--color--dark-green: #0fb36c;
  --wp--preset--color--lite-green: #6ba518;
  --wp--preset--color--purple: #c74a73;
  --wp--preset--color--dark-purple: #9261c6;
  --wp--preset--color--orange: #f78550;
  --wp--preset--color--lite-red: #f9556d;
  --wp--preset--color--hexadecimal: #27808c;
  --wp--preset--color--pink: #ff6b98;
  --wp--preset--color--foreground: #000;
  --wp--preset--color--text-link: #14305d;

  /* ========== TYPOGRAPHY ========== */
  --wp--preset--font-family--roboto: "Roboto", serif;
  --wp--preset--font-family--open-sans: "Open Sans", serif;
  --wp--preset--font-family--oswald: "Oswald", sans-serif;
  --wp--preset--font-family--poppins: "Poppins", serif;
  --wp--preset--font-family--sen: "Sen", sans-serif;
  --wp--preset--font-family--jost: "Jost", sans-serif;
  --wp--preset--font-family--inter: Inter;

  /* Font Sizes - Responsive */
  --wp--preset--font-size--small: 0.7rem;
  --wp--preset--font-size--medium: 1.3rem;
  --wp--preset--font-size--large: clamp(1.75rem, 3vw, 2.375rem);
  --wp--preset--font-size--x-large: 42px;
  --wp--preset--font-size--slider-title: clamp(36px, 3vw, 45px);
  --wp--preset--font-size--normal: 1rem;
  --wp--preset--font-size--huge: clamp(2.5rem, 4vw, 3rem);
  --wp--preset--font-size--gigantic: clamp(2rem, 6vw, 4rem);
  --wp--preset--font-size--colossal: clamp(4rem, 8vw, 6.25rem);

  /* Heading Sizes with Line Heights */
  --wp--custom--typography--font-size--heading-one: clamp(36px, 3vw, 45px);
  --wp--custom--typography--font-size--heading-two: clamp(28px, 2.6vw, 32px);
  --wp--custom--typography--font-size--heading-three: clamp(20px, 1.9vw, 22px);
  --wp--custom--typography--font-size--heading-four: clamp(18px, 1.5vw, 20px);
  --wp--custom--typography--font-size--heading-five: clamp(22px, 1.3vw, 18px);
  --wp--custom--typography--font-size--heading-six: 16px;

  /* Line Heights */
  --wp--custom--typography--line-height--heading-one: 1.38;
  --wp--custom--typography--line-height--heading-two: 1.43;
  --wp--custom--typography--line-height--heading-three: 1.36;
  --wp--custom--typography--line-height--heading-four: 1.5;
  --wp--custom--typography--line-height--heading-five: 1.458333333333333;
  --wp--custom--typography--line-height--heading-six: 1.56;
  --wp--custom--typography--line-height--paragraph: 1.75;

  /* Font Weights */
  --wp--custom--typography--font-weight--light: 300;
  --wp--custom--typography--font-weight--normal: 400;
  --wp--custom--typography--font-weight--medium: 500;
  --wp--custom--typography--font-weight--semi-bold: 600;
  --wp--custom--typography--font-weight--bold: 700;
  --wp--custom--typography--font-weight--extra-bold: 900;

  /* ========== SPACING ========== */
  --wp--preset--spacing--10: 1rem;
  --wp--preset--spacing--20: min(1.5rem, 2vw);
  --wp--preset--spacing--30: min(2.5rem, 3vw);
  --wp--preset--spacing--40: min(4rem, 5vw);
  --wp--preset--spacing--50: min(6.5rem, 8vw);
  --wp--preset--spacing--60: min(10.5rem, 13vw);
  --wp--preset--spacing--70: 3.38rem;
  --wp--preset--spacing--80: 5.06rem;
  --wp--custom--spacing--small: max(1.25rem, 5vw);
  --wp--custom--spacing--medium: clamp(2rem, 8vw, calc(4 * var(--wp--style--block-gap)));
  --wp--custom--spacing--large: clamp(4rem, 10vw, 8rem);
  --wp--custom--gap--baseline: 15px;
  --wp--custom--gap--horizontal: min(30px, 5vw);
  --wp--custom--gap--vertical: min(30px, 5vw);

  /* ========== SHADOWS ========== */
  --wp--preset--shadow--natural: 6px 6px 9px rgba(0, 0, 0, 0.2);
  --wp--preset--shadow--deep: 12px 12px 50px rgba(0, 0, 0, 0.4);
  --wp--preset--shadow--sharp: 6px 6px 0px rgba(0, 0, 0, 0.2);
  --wp--preset--shadow--crisp: 6px 6px 0px rgb(0, 0, 0);

  /* ========== BUTTON SIZING ========== */
  --wp--custom--core-button--spacing--padding--left: clamp(1.5625rem, 1.4538rem + 0.5435vw, 1.875rem);
  --wp--custom--core-button--spacing--padding--right: clamp(1.5625rem, 1.4538rem + 0.5435vw, 1.875rem);
  --wp--custom--core-button--spacing--padding--top: clamp(0.5rem, 0.413rem + 0.4348vw, 0.75rem);
  --wp--custom--core-button--spacing--padding--bottom: clamp(0.5rem, 0.413rem + 0.4348vw, 0.75rem);
  --wp--custom--core-button--color--background: var(--wp--preset--color--primary);
  --wp--custom--core-button--color: var(--wp--preset--color--white);
  --wp--custom--core-button--border--width: 0px;
  --wp--custom--core-button--border-radius--top-left: 0;
  --wp--custom--core-button--border-radius--top-right: 0;
  --wp--custom--core-button--border-radius--bottom-left: 0;
  --wp--custom--core-button--border-radius--bottom-right: 0;
  --wp--custom--core-button--typography--font-size: 14px;
  --wp--custom--core-button--typography--font-weight: 600;
  --wp--custom--core-button--hover--color--background: var(--wp--preset--color--secondary);
  --wp--custom--core-button--hover--color: var(--wp--preset--color--white);
}

/* ==================== GLOBAL ==================== */
body {
  background-color: var(--wp--preset--color--background);
  color: var(--wp--preset--color--body-text);
  font-family: var(--wp--preset--font-family--inter);
  font-size: var(--wp--preset--font-size--normal);
  line-height: var(--wp--custom--typography--line-height--paragraph);
  margin: 0;
  padding: 0;
}

/* ==================== HEADINGS ==================== */
h1, h2, h3, h4, h5, h6 {
  color: var(--wp--preset--color--heading);
  font-family: var(--wp--preset--font-family--inter);
  margin-top: 0;
  margin-bottom: 0.625rem;
  font-weight: var(--wp--custom--typography--font-weight--bold);
}

h1 {
  color: var(--wp--preset--color--foreground);
  font-size: var(--wp--custom--typography--font-size--heading-one);
  line-height: var(--wp--custom--typography--line-height--heading-one);
}

h2 {
  color: var(--wp--preset--color--foreground);
  font-size: var(--wp--custom--typography--font-size--heading-two);
  line-height: var(--wp--custom--typography--line-height--heading-two);
}

h3 {
  color: var(--wp--preset--color--foreground);
  font-size: var(--wp--custom--typography--font-size--heading-three);
  line-height: var(--wp--custom--typography--line-height--heading-three);
}

h4 {
  color: var(--wp--preset--color--foreground);
  font-size: var(--wp--custom--typography--font-size--heading-four);
  line-height: var(--wp--custom--typography--line-height--heading-four);
}

h5 {
  color: var(--wp--preset--color--foreground);
  font-size: var(--wp--custom--typography--font-size--heading-five);
  line-height: var(--wp--custom--typography--line-height--heading-five);
}

h6 {
  color: var(--wp--preset--color--foreground);
  font-size: var(--wp--custom--typography--font-size--heading-six);
  line-height: var(--wp--custom--typography--line-height--heading-six);
}

:root :where(.wp-block-heading) {
  color: var(--wp--preset--color--secondary);
}

:root :where(.wp-block-heading a:where(:not(.wp-element-button))) {
  color: var(--wp--preset--color--secondary);
}

/* ==================== NAVIGATION ==================== */
:root :where(.wp-block-navigation) {
  font-size: var(--wp--preset--font-size--small);
}

:root :where(.wp-block-navigation a:where(:not(.wp-element-button))) {
  color: var(--wp--preset--color--secondary);
  text-decoration: none;
}

:root :where(.wp-block-navigation a:where(:not(.wp-element-button)):hover),
:root :where(.wp-block-navigation a:where(:not(.wp-element-button)):focus),
:root :where(.wp-block-navigation a:where(:not(.wp-element-button)):active) {
  /* color: var(--wp--preset--color--primary);
   */
   color: #ffffff;
  text-decoration: none;
}

/* ==================== LINKS ==================== */
a:where(:not(.wp-element-button)) {
  color: var(--wp--preset--color--white);
  text-decoration: none;
}

:root :where(a:where(:not(.wp-element-button)):hover),
:root :where(a:where(:not(.wp-element-button)):focus),
:root :where(a:where(:not(.wp-element-button)):active) {
  color: var(--wp--preset--color--primary);
  text-decoration: none;
}

/* Footer Links - White without underline */
footer a:where(:not(.wp-element-button)),
.wp-block-template-part footer a:where(:not(.wp-element-button)),
.wp-block-group[style*="dark-blue"] a:where(:not(.wp-element-button)),
.wp-block-group[style*="background-color: rgb"] a:where(:not(.wp-element-button)) {
  color: var(--wp--preset--color--white);
  text-decoration: none;
}

footer a:where(:not(.wp-element-button)):hover,
.wp-block-template-part footer a:where(:not(.wp-element-button)):hover,
.wp-block-group[style*="dark-blue"] a:where(:not(.wp-element-button)):hover,
.wp-block-group[style*="background-color: rgb"] a:where(:not(.wp-element-button)):hover {
  color: var(--wp--preset--color--primary);
  text-decoration: none;
}

/* ==================== BUTTONS ==================== */
:root :where(.wp-element-button, .wp-block-button__link) {
  background-color: var(--wp--preset--color--primary);
  border-radius: 0;
  border-width: 0px;
  color: var(--wp--preset--color--white);
  font-family: inherit;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0.05em;
  line-height: inherit;
  padding-top: clamp(0.5rem, 0.413rem + 0.4348vw, 0.75rem);
  padding-right: clamp(1.5625rem, 1.4538rem + 0.5435vw, 1.875rem);
  padding-bottom: clamp(0.5rem, 0.413rem + 0.4348vw, 0.75rem);
  padding-left: clamp(1.5625rem, 1.4538rem + 0.5435vw, 1.875rem);
  text-decoration: none;
  text-transform: inherit;
  display: inline-block;
  cursor: pointer;
}

:root :where(.wp-element-button:visited, .wp-block-button__link:visited) {
  background-color: var(--wp--preset--color--primary);
  color: var(--wp--preset--color--white);
}

:root :where(.wp-element-button:hover, .wp-block-button__link:hover),
:root :where(.wp-element-button:focus, .wp-block-button__link:focus),
:root :where(.wp-element-button:active, .wp-block-button__link:active) {
  background-color: var(--wp--preset--color--secondary);
  color: var(--wp--preset--color--white);
}

/* Outline Button Variant */
:root :where(.wp-block-button .wp-block-button__link.is-style-outline),
:root :where(.wp-block-button.is-style-outline > .wp-block-button__link) {
  background: transparent none;
  border-color: currentColor;
  border-width: 2px;
  border-style: solid;
  color: var(--wp--preset--color--secondary);
  padding-top: clamp(0.375rem, 0.288rem + 0.4348vw, 0.625rem);
  padding-right: clamp(1.4375rem, 1.3288rem + 0.5435vw, 1.75rem);
  padding-bottom: clamp(0.375rem, 0.288rem + 0.4348vw, 0.625rem);
  padding-left: clamp(1.4375rem, 1.3288rem + 0.5435vw, 1.75rem);
  transition: all 0.3s ease;
}

:root :where(.wp-block-button .wp-block-button__link.is-style-outline:not(.has-text-color)),
:root :where(.wp-block-button.is-style-outline > .wp-block-button__link:not(.has-text-color)) {
  color: var(--wp--preset--color--secondary);
}

:root :where(.wp-block-button .wp-block-button__link.is-style-outline:not(.has-background)),
:root :where(.wp-block-button.is-style-outline > .wp-block-button__link:not(.has-background)) {
  background-color: initial;
  background-image: none;
}

/* Remove underline on "Book Schedule Now" button on hover */
.is-style-outline--5 .wp-block-button__link {
  border-bottom: 1px solid currentColor;
  transition: border-bottom 0.3s ease;
}

.is-style-outline--5:hover .wp-block-button__link,
.is-style-outline--5 .wp-block-button__link:hover {
  border-bottom: 1px solid transparent;
}

/* ==================== SOCIAL ICONS ==================== */
.wp-block-social-links .wp-social-link svg {
  height: 1.1em;
  width: 1.1em;
}

/* ==================== LISTS ==================== */
:root :where(.wp-block-list) {
  margin-top: 0px;
  margin-bottom: 10px;
  padding-left: 20px;
}

/* ==================== ICONS & IMAGES ==================== */
/* Image Block Styling */
.wp-block-image {
  margin: 0;
  display: inline-block;
  line-height: 0;
}

.wp-block-image img {
  height: auto;
  max-width: 100%;
  display: block;
  vertical-align: bottom;
}

/* Icon Sizing & Alignment */
figure.wp-block-image {
  margin: 0;
  padding: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 0;
}

figure.wp-block-image img {
  display: block;
  margin: 0;
  padding: 0;
}

/* Top Bar Icons */
.wp-block-image.size-full img {
  height: auto;
  width: auto;
}

.wp-block-image.is-resized {
  display: inline-block;
  vertical-align: middle;
}

.wp-block-image.is-resized img {
  height: auto;
  width: 100%;
  max-width: 100%;
}

/* Vertical Alignment for Icon Groups */
.wp-block-group.is-nowrap {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  gap: 0.5rem;
}

.wp-block-group.is-nowrap .wp-block-image {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}

.wp-block-group.is-nowrap .wp-block-image img {
  display: block;
}

/* Icon Container Alignment */
.wp-block-group.is-content-justification-center {
  display: flex;
  justify-content: center;
  align-items: center;
}

.wp-block-group.is-layout-flex {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}

.wp-block-group.is-layout-flex > .wp-block-image {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

/* Paragraph with Icon Alignment */
p:has(+ .wp-block-image),
.wp-block-group.is-nowrap p {
  margin: 0;
  padding: 0;
  display: flex;
  align-items: center;
  line-height: 1.4;
}

/* Header/Top Bar Icon Styling */
.wp-block-group.is-nowrap figure.wp-block-image {
  width: auto;
  height: auto;
  margin: 0;
  padding: 0;
}

.wp-block-group.is-nowrap figure.wp-block-image img {
  display: block;
  margin: 0;
  padding: 0;
}

/* MARK / HIGHLIGHT ==================== */
mark {
  background-color: transparent;
  color: inherit;
}
