/*───────── Font ────────────────────────────────────*/
/* inter-regular - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  src: url('../fonts/inter-v20-latin-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* inter-italic - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Inter';
  font-style: italic;
  font-weight: 400;
  src: url('../fonts/inter-v20-latin-italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* inter-500 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  src: url('../fonts/inter-v20-latin-500.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* inter-500italic - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Inter';
  font-style: italic;
  font-weight: 500;
  src: url('../fonts/inter-v20-latin-500italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* inter-600 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  src: url('../fonts/inter-v20-latin-600.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* inter-600italic - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Inter';
  font-style: italic;
  font-weight: 600;
  src: url('../fonts/inter-v20-latin-600italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* inter-800 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Inter';
  font-style: normal;
  font-weight: 800;
  src: url('../fonts/inter-v20-latin-800.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* inter-800italic - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Inter';
  font-style: italic;
  font-weight: 800;
  src: url('../fonts/inter-v20-latin-800italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/*───────── Design Tokens ───────────────────────────*/
:root {
  /*───────── COLOR ─────────*/
  --white: rgb(255 255 255);
  --black: rgb(0 0 0);
  --brown: rgb(86 39 45);
  --pink: rgb(203 130 139);
  --dark-pink: rgb(180 102 111);
  --muted: rgb(107 107 128);
  --herobutton: #00000066;

  /* Font */
  --font-main:  'Inter', sans-serif;

  /* Font Size */
  --text-h1: 4rem; /*40px*/
  --text-h1-homepage: 6rem;
  --text-h2: 2rem; /*32px*/
  --text-h3: 1.75rem; /*28px*/
  --text-h4: 1.5rem; /*24px*/
  --text-h5: 1.25rem; /*20px*/
  --text-ui-lg: 0.9375rem; /*15px*/
  --text-ui-md: 0.8125rem; /*13px*/
  --text-ui-sm: 0.6875rem; /*11px*/
  --text-body-lg: 1rem; /*16px*/
  --text-body-md: 0.875rem; /*14px*/
  --text-micro: 0.6875rem; /*11px*/

  /* Font Weights */
  --weight-light: 300;
  --weight-regular: 400;
  --weight-medium: 500;
  --weight-bold: 700;

  /* Spacing */
  --space-1: 0.25rem;  /*  4px */
  --space-2: 0.5rem;   /*  8px */
  --space-3: 0.75rem;  /* 12px */
  --space-4: 1rem;     /* 16px */
  --space-6: 1.5rem;   /* 24px */
  --space-8: 2rem;     /* 32px */
  --space-12: 3rem;    /* 48px */
  --space-16: 4rem;    /* 64px */
  --space-18: 7.5rem;  /* 120px */
  --space-20: 10rem;  /* 160px */

  /* Layout */
  --radius-xs: 0.25rem; /*  4px */
  --radius-sm: 0.75rem;  /* 12px */
  --radius-md: 1.5rem;   /* 24px */
  --radius-lg: 2rem;     /* 32px */
  --radius-full:    9999px;

  --container-max:    1800px;
  --container-narrow: 780px;
  --container-wide:   1440px; /* can be remove */
  --container-pad:    clamp(1rem, 4vw, 2.5rem);

  --hero-bg: url('/wp-content/themes/shadi-by-candu/assets/images/background.png');


  /* Shadows */
  --shadow-sm:   0 1px 3px rgba(10,22,40,0.08);
  --shadow-md:   0 4px 16px rgba(10,22,40,0.12);
  --shadow-lg:   0 12px 40px rgba(10,22,40,0.16);
  --shadow-glow: 0 0 40px rgba(0,212,170,0.2);

  /* Transitions */
  --ease-out:    cubic-bezier(0.16, 1, 0.3, 1);
  --duration:    0.3s;
}

/*───────── Reset & Base ────────────────────────────────────*/
*, *::before, *::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

html {
  font-size: 16px;
  scroll-behavior: smooth;
  overflow-x: hidden;
  -webkit-text-size-adjust: 100%;
}

body {
  font-family: var(--font-main);
  font-weight: var(--text-body-lg);
  line-height: 1.7;
  color: var(--black);
  background: var(--white);
  -webkit-font-smoothing: antialiased;
}

h1, h2, h3, h4, h5 { line-height: 1; }

/*img, video, svg { max-width: 100%; height: auto; display: block; } */
/* Make media/images safer on all screens */
img,
video,
svg,
iframe {
  max-width: 100%;
}

a { color: inherit; text-decoration: none; }
ul, ol { list-style: none; }
button { cursor: pointer; font: inherit; border: none; background: none; }
input, textarea, select { font: inherit; }


/*───────── Typography ────────────────────────────────────*/
h1, h2, h3, h4, h5, h6 {
  font-weight: var(--weight-bold);
  line-height: 1.15;
  color: var(--text-dark);
  letter-spacing: -0.02em;
}

h1 { font-size: var(--text-h1); }
h2 { font-size: var(--text-h2); }
h3 { font-size: var(--text-h3); }
h4 { font-size: var(--text-h4); }
h5 { font-size: var(--text-h5); }

p:last-child { margin-bottom: 0; }

strong { font-weight: var(--weight-bold); }
em     { font-style: italic; }

/*───────── UI ─────────*/
.ui-lg { font-size: var(--text-ui-lg); font-weight: var(--weight-bold); }
.ui-md { font-size: var(--text-ui-md); font-weight: var(--weight-medium); }
.ui-sm { font-size: var(--text-ui-sm); font-weight: var(--weight-medium); letter-spacing: 0.02em; }

/*───────── Body ─────────*/
.body-lg { font-size: var(--text-body-lg); font-weight: var(--weight-light); line-height: 1.75; }
.body-md { font-size: var(--text-body-md); font-weight: var(--weight-light); line-height: 1.7; }
.micro   { font-size: var(--text-micro);   font-weight: var(--weight-regular); }

/*───────── Colour helpers ─────────*/
.text-accent { color: var(--dark-pink); }
.text-muted  { color: var(--muted); }


/*───────── Layout - Grid - Utilities ────────────────────────────────────*/

/*───────── container ─────────*/
.container {
  max-width: var(--container-max);
  margin-inline: auto;
  padding-inline: var(--container-pad);
}

.container-narrow { max-width: var(--container-narrow); }
.container-wide { max-width: var(--container-wide); }
.container-max { max-width: 100%; }
.container-flush { padding-inline: 0; }

/*───────── section ─────────*/
.section-content { 
  padding: var(--space-12) var(--space-20);
}

.section-inner { 
  padding: var(--space-6) 0;
}

.section-cta { 
  padding-block: 0; 
  background: var(--pink);
  color: var(--white);
}

.section-heading {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 10px;
  position: relative;
}

.section-contact { 
  padding: var(--space-12) 200px; 
  background: var(--brown);
  color: var(--white);
}


/*───────── Row ─────────*/
.row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: flex-start;
  gap: var(--space-10);
  width: 100%;
}

.row-left,
.row-right {
  width: 100%;
}

.row-left {
  min-width: 0;
}

.row-right {
  min-width: 0;
}

.row-left-post,
.row-right-post {
  width: 100%;
  padding: 20px;
}

.row-right-cta {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100%;
}
/* Optional column size variations */
.row-60-40 {
  grid-template-columns: 60% 40%;
}

.row-55-45 {
  grid-template-columns: 55% 45%;
}

.row-50-50 {
  grid-template-columns: 1fr 1fr;
  gap: var(--space-6);
}

.row-40-60 {
  grid-template-columns: 40% 60%;
}

.row-70-30 {
  grid-template-columns: 70% 30%;
}

.row-30-70 {
  grid-template-columns: 30% 70%;
}

.row-20-80 {
  grid-template-columns: 20% 80%;
}

/*───────── Grid ─────────*/
.grid {
  display: grid;
  gap: var(--space-6);
}

.grid-2 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.grid-3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  justify-content: center;
}

.grid-4 {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}


/*───────── Content + Sidebar Layout ─────────*/
.layout         { display: grid; grid-template-columns: 1fr 320px; gap: var(--space-2xl); align-items: start; }
.sidebar        { position: sticky; top: 5rem; }

/*───────── Image ─────────*/
.text-image-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px;
  align-items: center;
}

.text-image-media {
  width: 100%;
}

.text-image-media img {
  display: block;
  width: 100%;
  height: auto;
  max-width: 100%;
  padding-bottom: var(--space-6);
}

.text-image-content {
  width: 100%;
  gap: var(--space-6);
}


/*───────── Flex Utilities ─────────*/
.flex          { display: flex; }
.flex--center  { align-items: center; }
.flex--between { justify-content: space-between; }
.flex--gap     { gap: var(--space-md); }
.flex--wrap    { flex-wrap: wrap; }


/*───────── Text Block (centered content) ─────────*/
.text-block-center {
  margin-inline: auto;
  text-align: center; 
  padding-bottom: var(--space-6);}

.text-block {
  margin-inline: auto;
  gap: var(--space-6);
  padding-bottom: var(--space-3);
}

.cta-box {
  padding: var(--space-12) var(--space-20);
}

.cf7-box {
  padding: var(--space-6) var(--space-12);
  display: flex;
  align-items: flex-start;
  position: relative;
  border-radius: var(--space-12);
  overflow: hidden;
  border: 1px solid;
  border-color: var(--pink);
  background: linear-gradient(
    163deg,
    rgba(255, 255, 255, 0.14) 0%,
    rgba(255, 255, 255, 0.06) 100%
  );
}

.cf7-box-4060 {
  display: grid;
  grid-template-columns: 40% 60%;
  align-items: flex-start;
  position: relative;
  border-radius: var(--space-12);
  overflow: hidden;
  border: 1px solid;
  border-color: var(--pink);
  background: linear-gradient(
    163deg,
    rgba(255, 255, 255, 0.14) 0%,
    rgba(255, 255, 255, 0.06) 100%
  );
}

.contactpage-frame {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: space-between;
  position: relative;
  gap: 12px;
  
}

.contactpage-frame .icon {
  position: relative;
  width: 110px;
  height: 110px;
  align-items: center;
}

.contactpage-frame .text-wrap {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 15px;
  position: relative;
}

.contactpage-frame .text-center {
  align-self: center;
  text-align: center;
}

.contactpage-frameleft {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  position: relative;
  background-color: #ffffff1a;
  border-radius: var(--space-12);
  padding: var(--space-8) var(--space-8);
  height: 100%;
  justify-content: space-evenly;
}

.contactpage-frameright {
  width: 100%;
  padding: 20px;
}

.contactpage-detail {
  display: inline-flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-6);
  position: relative;
}

.contactpage-detail .items {
  display: flex;
  align-items: center;
  gap: var(--space-3);
  position: relative;
}

.contactpage-detail .icon {
  position: relative;
  width: 25px;
  height: auto;
}

/*───────── Accessibility ─────────*/
.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;
}

/*───────── Buttons - Links - Tag ────────────────────────────────────*/
/*───────── Button Base ─────────*/
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  border: 1px solid transparent;
  border-radius: var(--radius-xs);
  font-family: inherit;
  font-weight: var(--weight-bold);
  font-size: var(--text-ui-lg);
  line-height: 1;
  text-decoration: none;
  white-space: nowrap;
  cursor: pointer;
  user-select: none;
  touch-action: manipulation;
  transition:
    background 0.25s ease,
    border-color 0.25s ease,
    color 0.25s ease,
    box-shadow 0.25s ease,
    transform 0.25s ease;
}

/* focus-visible — default (works on light backgrounds) */
.btn:focus-visible {
  outline: 2px solid var(--color-accent);
  outline-offset: 3px;
}

/* focus-visible — override for dark/secondary (accent won't contrast) */
.btn--dark:focus-visible,
.btn--secondary:focus-visible {
  outline: 2px solid var(--white);
  outline-offset: 3px;
}

/* single global disabled */
.btn:disabled,
.btn[disabled] {
  opacity: 0.5;
  cursor: not-allowed;
  transform: none;
  box-shadow: none;
  pointer-events: none;
}

/* icon always on the right */
.btn .icon {
  display: inline-flex;
  align-items: center;
  flex-shrink: 0;
  width: 1em;
  height: 1em;
}

/*───────── Button Size ─────────*/
.btn-sm {
  padding: 6px 12px;
  font-size: var(--text-ui-md);   /* 13px */
  gap: 0.375rem;
}

.btn-md {
  padding: 11px 22px;
  font-size: var(--text-ui-lg);   /* 15px */
  gap: 0.5rem;
}

.btn-lg {
  padding: 17px 36px;
  font-size: var(--text-ui-lg);   /* 16px */
  gap: 0.625rem;
}

/*───────── Button Type ─────────*/
/* basic */
.btn-basic {
  background: var(--brown);
  color: var(--white);
  border-color: var(--brown);
}

.btn-basic:hover {
  background: var(--pink);
  color: var(--white);
  border-color: var(--pink);
}

.btn-basic:active {
  background: var(--brown);
  color: var(--white);
  border-color: var(--brown);
}

/* CTA */
.btn-cta {
  background: var(--brown);
  color: var(--white);
  border-color: var(--brown);
}

.btn-cta:hover {
  background: var(--white);
  color: var(--pink);
  border-color: var(--dark-pink);
}

.btn-cta:active {
  background: var(--brown);
  color: var(--white);
  border-color: var(--brown);
}

/* Hero */
.btn-hero {
  background: var(--herobutton);
  color: var(--white);
  border-color: var(--herobutton);
}

.btn-hero:hover {
  background: var(--pink);
  color: var(--white);
  border-color: var(--pink);
}

.btn-hero:active {
  background: var(--herobutton);
  color: var(--white);
  border-color: var(--herobutton);
}

/*───────── Tag Base ─────────*/
.tag {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 2px 2px;
  font-family: var(--font-main);
  font-size: var(--text-ui-sm);
  font-weight: var(--weight-bold);
  line-height: 1.2;
  border: 1px solid transparent;
  border-radius: 4px;
  text-decoration: none;
  white-space: nowrap;
  transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease;
  color: var(--white);
  background: var(--pink);
  border-color: var(--pink);
}

/* Hover */
.tag:hover {
  text-decoration: none;
}

/* Active */
.tag.is-active {
  cursor: default;
}

/*───────── Tag Type ─────────*/
/* Base */
.tag-base {
  color: var(--white);
  background: var(--pink);
  border-color: var(--pink);
}

.tag-base:hover,
.tag-base.is-active {
  color: var(--black);
  background: var(--white);
  border-color: var(--black);
}

/* Brown */
.tag-brown {
  color: var(--white);
  background: var(--brown);
  border-color: var(--brown);
}

.tag-brown:hover,
.tag-brown.is-active {
  color: var(--black);
  background: var(--white);
  border-color: var(--black);
}


/*───────── Navigation & Header ────────────────────────────────────*/
.site-header {
  position: sticky;
  top: 0;
  z-index: 100;
  background: var(--white);
  padding: var(--space-3) var(--space-12);
  height: 80px;
  display: flex;
  align-items: center;
  border-bottom: 1px solid var(--pink);
}

.site-header .inner {
  max-width: var(--container-max);
  margin: 0 auto;
  padding: 0 32px;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

/* Logo */
.site-logo {
  display: flex;
  align-items: center;
  gap: 10px;
}

.logo-img {
  height: 66px;
  width: auto;
  display: block;
}

/* Primary nav */
.primary-nav {
  display: flex;
  align-items: center;
  gap: 1.5rem;
}

/* Main menu */
#masthead #site-navigation .primary-menu {
  display: flex;
  align-items: center;
  gap: 1.5rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

#masthead #site-navigation .primary-menu > li {
  margin: 0;
  padding: 0;
  position: relative;
}

#masthead #site-navigation .primary-menu > li > a {
  display: inline-flex;
  align-items: center;
  color: var(--black);
  font-size: var(--text-ui-lg);
  font-weight: 500;
  line-height: 1.4;
  white-space: nowrap;
  text-decoration: none;
  border-bottom: 2px solid transparent;
  padding-bottom: 4px;
  transition: color 0.2s ease, border-color 0.2s ease;
}

#masthead #site-navigation .primary-menu > li > a:hover,
#masthead #site-navigation .primary-menu > li.current-menu-item > a,
#masthead #site-navigation .primary-menu > li.current-menu-parent > a,
#masthead #site-navigation .primary-menu > li.current-menu-ancestor > a {
  color: var(--pink);
  border-bottom-color: var(--pink);
}

/* Dropdown parent */
#masthead #site-navigation .primary-menu > li.menu-item-has-children {
  position: relative;
}

/* Chevron down icon */
#masthead #site-navigation .primary-menu > li.menu-item-has-children > a::after {
  content: '';
  display: inline-block;
  width: 7px;
  height: 7px;
  margin-left: 8px;
  border-right: 1.5px solid currentColor;
  border-bottom: 1.5px solid currentColor;
  transform: rotate(45deg) translateY(-2px);
  opacity: 0.65;
  transition: transform 0.25s ease;
}

#masthead #site-navigation .primary-menu > li.menu-item-has-children:hover > a::after,
#masthead #site-navigation .primary-menu > li.menu-item-has-children:focus-within > a::after {
  transform: rotate(225deg) translateY(-2px);
}

/* Dropdown menu */
#masthead #site-navigation .primary-menu li.menu-item-has-children > .sub-menu {
  display: block;
  visibility: hidden;
  opacity: 0;
  pointer-events: none;
  transform: translateY(8px);
  transition: opacity 0.2s ease, transform 0.2s ease, visibility 0s linear 0.2s;

  position: absolute;
  top: 100%;
  left: 0;
  min-width: 220px;
  margin: 0;
  padding: 8px 0;
  list-style: none;

  background: var(--brown);
  border: 1px solid var(--dark-pink);
  border-radius: var(--space-1);
  box-shadow: none;
  z-index: 500;
}

/* Remove dropdown pointer arrow */
#masthead #site-navigation .primary-menu li.menu-item-has-children > .sub-menu::before {
  display: none;
}

/* Keep dropdown open on parent or dropdown hover */
#masthead #site-navigation .primary-menu li.menu-item-has-children:hover > .sub-menu,
#masthead #site-navigation .primary-menu li.menu-item-has-children:focus-within > .sub-menu {
  visibility: visible;
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0);
  transition: opacity 0.2s ease, transform 0.2s ease, visibility 0s linear 0s;
}

/* Dropdown list item */
#masthead #site-navigation .primary-menu .sub-menu li {
  margin: 0;
  padding: 0;
}

/* Dropdown links */
#masthead #site-navigation .primary-menu .sub-menu li a {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 10px 18px;
  color: var(--white);
  font-size: var(--text-ui-lg);
  font-weight: 500;
  line-height: 1.4;
  white-space: nowrap;
  text-decoration: none;

  border-left: 3px solid transparent;
  transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}

/* Dropdown hover state */
#masthead #site-navigation .primary-menu .sub-menu li a:hover,
#masthead #site-navigation .primary-menu .sub-menu li a:focus {
  background: var(--white);
  color: var(--black);
  border-left-color: var(--dark-pink);
}

/* Current dropdown item */
#masthead #site-navigation .primary-menu .sub-menu li.current-menu-item > a,
#masthead #site-navigation .primary-menu .sub-menu li.current_page_item > a,
#masthead #site-navigation .primary-menu .sub-menu li.current-menu-parent > a,
#masthead #site-navigation .primary-menu .sub-menu li.current-menu-ancestor > a {
  color: var(--black);
  border-left-color: var(--dark-pink);
  background: var(--white);
}

/* Nested second-level dropdown */
#masthead #site-navigation .primary-menu .sub-menu li.menu-item-has-children {
  position: relative;
}

/* Chevron right icon for nested dropdown */
#masthead #site-navigation .primary-menu .sub-menu li.menu-item-has-children > a::after {
  content: '';
  width: 7px;
  height: 7px;
  margin-left: auto;
  border-right: 1.5px solid currentColor;
  border-bottom: 1.5px solid currentColor;
  transform: rotate(-45deg);
  opacity: 0.5;
}

#masthead #site-navigation .primary-menu .sub-menu li.menu-item-has-children .sub-menu {
  top: 0;
  left: 100%;
  margin-left: 4px;
}

#masthead #site-navigation .primary-menu .sub-menu li.menu-item-has-children .sub-menu::before {
  display: none;
}

/* Header CTA button */
#masthead #site-navigation .btn {
  font-size: var(--text-ui-lg);
  font-weight: 500;
  white-space: nowrap;
}

/* Hamburger */
.menu-toggle {
  display: none;
  flex-direction: column;
  gap: 5px;
  cursor: pointer;
  padding: 6px;
  background: transparent;
  border: 0;
}

.menu-toggle span {
  display: block;
  width: 22px;
  height: 2px;
  background: var(--black);
  border-radius: 2px;
  transition: all 0.3s;
}

/* Breadcrumb */
.breadcrumb {
  margin-bottom: 10px;

  font-family: var(--font-main);
  font-size: 12px;
  line-height: 1.6;

  color: var(--black);
}

.breadcrumb a {
  color: var(--black);
  text-decoration: none;
}

.breadcrumb a:hover {
  color: var(--dark-pink);
}

.breadcrumb span {
  color: var(--dark-pink);
}

.breadcrumb-sep {
  margin: 0 6px;
  opacity: 0.6;
}

.mobile-nav {
  display: none;
}

.mobile-nav.active {
  display: block;
}
/*───────── HERO / PAGE BANNER ────────────────────────────────────*/

/*───────── homepage hero ─────────*/
.homepage-hero {
    position: relative;
    display: flex;
    align-items: center;
    min-height: 640px;
    gap: 10px;

    background-image:
        linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.5)),
        var(--hero-bg);

    background-size: cover, cover;
    background-position: center, center;
    background-repeat: no-repeat, no-repeat;
}

.homepage-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.5);
  z-index: 1;
  display: flex;
}

.homepage-hero > * {
  position: relative;
  z-index: 2;
}

/* Keep content above background image */
.homepage-hero > * {
  position: relative;
  z-index: 1;
}

.homepage-inner {
  max-width: var(--container);
  margin: 0 auto;
  padding: 0 32px;
  position: relative;
  z-index: 1;
  width: 100%;
}

.homepage-accent {
  width: 4px;
  height: 48px;
  background: var(--pink);
  border-radius: 2px;
  margin-bottom: 20px;
}

.homepage-hero h1 {
  font-family: var(--text-h1-homepage);
  font-size: clamp(26px, 3.8vw, 70px);
  color: var(--white);
  text-shadow: 0px 4px 4px #00000066;
  line-height: 1.2;
  margin-bottom: var(--space-6);
  text-align: center;
}

.homepage-description {
  color: var(--white);
  font-size: var(--text-body-lg);
  font-weight: 300;
  /*max-width: 900px;*/
  line-height: 1.7;
  margin-bottom: var(--space-6);
  text-align: center;
}

.homepage-description p {
  margin: 0 0 16px;
}

.homepage-description p:last-child {
  margin-bottom: 0;
}

.homepage-cta-group {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-6);
  justify-content: center;
}
.homepage-image {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  width: 100%;
}

.homepage-image img {
  width: 100%;
  max-width: 420px;
  height: auto;
  display: block;
  object-fit: contain;
}
/*───────── end of homepage hero ─────────*/

/*───────── page hero ─────────*/
.page-hero {
  background: var(--pink);
  position: relative;
  overflow: hidden;
  min-height: 350px;
  display: flex;
  align-items: center;
}

/* Image layer only */
.page-hero::before {
  content: '';
  position: absolute;
  inset: 0;
  width: 100%;
  background-image: var(--hero-bg);
  object-fit: cover;
  background-position: left;
  background-repeat: no-repeat;

  /*opacity: var(--hero-bg-opacity);*/
  pointer-events: none;
  z-index: 0;
}

/* Keep content above background image */
.page-hero > * {
  position: relative;
  z-index: 1;
}

.hero-inner {
  max-width: var(--container-max);
  text-align: center;
  margin: 0 auto;
  padding: 0 32px;
  position: relative;
  z-index: 1;
  width: 100%;
}


.hero-inner h1 {
  font-family: var(--text-h1);
  font-size: clamp(26px, 3.8vw, 44px);
  color: var(--white);
  line-height: 1.2;
  margin-bottom: var(--space-6);
}

.hero-description {
  color: var(--white);
  font-size: var(--text-body-lg);
  font-weight: 300;
  /*max-width: 640px;*/
  line-height: 1.7;
  margin-bottom: var(--space-6);
}

.hero-description p {
  margin: 0 0 16px;
}

.hero-description p:last-child {
  margin-bottom: 0;
}

.hero-cta-group {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-6);
}
.hero-image {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  width: 100%;
}

.hero-image img {
  width: 100%;
  max-width: 420px;
  height: auto;
  display: block;
  object-fit: contain;
}

/*───────── end of page hero ─────────*/

/*───────── Cards (feature, post, testimonials) ────────────────────────────────────*/

/*───────── Feature Card ─────────*/
.card-feature {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  padding: var(--space-6) var(--space-6);
  position: relative;
  background-color: var(--white);
  border-radius: var(--space-3);
  border: 1px solid;
  border-color: var(--muted);
  text-align: center;
}

.card-feature .iconframe {
  display: flex;
  flex-direction: column;
  width: 50px;
  height: 50px;
  align-items: center;
  justify-content: center;
  gap: 10px;
  position: relative;
  background-color: var(--pink);
  border-radius: 10px;
  aspect-ratio: 1;
}

.card-feature .icon {
  position: relative;
  width: 25px;
  height: 25px;
  aspect-ratio: 1;

}

/*───────── Service Card ─────────*/
.service-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-8);
  padding: var(--space-8);
  position: relative;
  background-color: var(--white);
  border-radius: var(--space-8);
  border: 1px solid;
  border-color: var(--muted);
}

.service-card .content {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  position: relative;
}

.service-card .button {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  position: relative;
}

.service-card ul {
  list-style: none;
  padding: 0;
  margin: 0;
  width: 100%;
}

.service-card li {
  position: relative;
  padding-left: 34px;
  margin-bottom: 14px;
  color: var(--black);
  line-height: 1.5;
}

.service-card li:last-child {
  margin-bottom: 0;
}

.service-card li::before {
  content: "✓";
  position: absolute;
  left: 0;
  top: 0.15em;
  width: 20px;
  height: 20px;
  background-color: var(--pink);
  color: var(--white);
  border-radius: 50%;
  font-size: 12px;
  font-weight: 700;
  line-height: 20px;
  text-align: center;
}


/*───────── Article Card ─────────*/

/* ───────── RELATED ARTICLES ───────── */
.related-articles {
  padding: 60px 0 80px;
  border-top: 1px solid var(--pink);
}

.section-title {
  font-family: var(--font-main);
  font-size: clamp(26px, 3.5vw, 36px);
  text-align: center;
  margin-bottom: 44px;
  color: var(--black);
}

.cards-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 28px;
}

.article-card {
  border-radius: var(--radius-md);
  overflow: hidden;
  background: var(--white);
  border: 0.5px solid var(--muted);
  box-shadow: var(--shadow-card);
  transition: box-shadow 0.25s, transform 0.25s;
  display: flex;
  flex-direction: column;
}
.article-card:hover {
  box-shadow: var(--shadow-hover);
  transform: translateY(-5px);
}

.card-thumb,
.post-list-thumb {
  width: 100%; height: 200px;
  background: linear-gradient(135deg, #ece9f5, #dbd8ec);
  display: flex;
  align-items: center;
  justify-content: center;
  color: #b0aec8;
  overflow: hidden;
  flex-shrink: 0;
}
.card-thumb img,
.post-list-thumb img { 
  width: 100%; 
  height: 100%; 
  object-fit: cover; 
}

.card-thumb svg, 
.post-list-thumb svg { 
  width: 40px; 
  height: 40px; 
  opacity: 0.4; 
}

.card-body { padding: 22px; flex: 1; display: flex; flex-direction: column; }

.card-meta {
  display: flex;
  align-items: center;
  position: relative;
  justify-content: space-between;
  font-size: 12px;
  color: var(--muted);
  margin-bottom: 12px;
}

.card-tag {
  border: 1px solid var(--brown);
  border-radius: var(--space-1);
  padding: 2px 2px;
  font-family: var(--font-main);
  font-size: var(--text-ui-sm);
  font-weight: var(--weight-light);
  color: var(--white);
  background: var(--brown);
  
}

.card-title {
  font-size: 16px;
  font-weight: 600;
  line-height: 1.4;
  margin-bottom: 10px;
  color: var(--black);
}

.card-excerpt {
  font-size: 13.5px;
  color: var(--muted);
  line-height: 1.68;
  font-weight: 300;
  margin-bottom: 18px;
  flex: 1;
}

.read-more-link {
  font-size: 13px;
  font-weight: 600;
  color: var(--dark-pink);
  display: inline-flex;
  align-items: center;
  gap: 6px;
  transition: gap 0.2s;
  align-self: flex-start;
}
.read-more-link:hover { gap: 10px; }

.post-list-thumb {
  width: 100%;
  aspect-ratio: 4 / 3;
  border-radius: 16px;
}


/* ------------------ */
.blog-footer {
  display: inline-block !important;
  width: 100%;
  height: auto !important;
  min-height: unset !important;
  max-height: none !important;
  align-self: flex-start;
  border-radius: 24px;
  overflow: hidden;
  background: var(--testi-gradient);
}

.blog-footer .article-body {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 20px;
  width: 100%;
}

.blog-footer .image-placeholder {
  width: 152px;
  min-width: 152px;
  height: clamp(120px, 12vw, 166px);
  border-radius: 12px;
  overflow: hidden;
}

.blog-footer .card-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.blog-footer .frame {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.blog-footer .meta {
  display: flex;
  align-items: center;
  gap: 8px;
}

/*.blog-footer .tag {
  padding: 2px 5px;
  font-family: var(--font-main);
  font-size: var(--text-ui-sm);
  font-weight: var(--weight-bold);
  background: var(--text-purple);
  border: 1px solid var(--text-purple);
  border-radius: 4px;
} */

.blog-footer .tag .text-wrapper {
  color: inherit;
  font-family: var(--font-main);
  font-size: var(--text-micro);
  font-weight: var(--weight-bold);
  line-height: 1.4;
}

.blog-footer .post-date {
  color: var(--white);
  font-family: var(--font-main);
  font-size: var(--text-micro);
  font-weight: var(--weight-bold);
  line-height: 1.4;
}

.blog-footer .article {
  flex: 0 1 auto;
}

.blog-footer .title ,
.blog-footer .title a {
  color: var(--white);
  font-family: var(--font-main);
  font-size: var(--text-ui-sm);
  font-weight: var(--weight-bold);
  line-height: 1.3;
  text-decoration: none;
}

.blog-footer .description {
  /*margin-top: 8px 0 0 0 !important;*/
  padding-top: var(--space-3);
  color: var(--white);
  font-family: var(--font-main);
  font-size: var(--text-ui-sm);
  font-weight: var(--weight-regular);
  line-height: 1.4;
}


/*───────── Contact Form 7 ────────────────────────────────────*/

.wpcf7-grid,
.wpcf7-grid-2,
.wpcf7-grid-3 {
    display: grid;
    gap: var(--space-6);
    width: 100%;
}

.wpcf7-grid-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.wpcf7-grid-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.wpcf7 {
  width: 100%;
}

.wpcf7 form {
  padding: 10px 10px;
  border-radius: 16px;
  /*box-shadow: 0 10px 30px rgba(0,0,0,0.06);*/
}

/* FIELD INPUTS */
.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 input[type="tel"],
.wpcf7 textarea {
  width: 100%;
  padding: 14px 16px;
  border: 1px solid var(--white);
  border-radius: 6px;
  font-family: var(--text-ui-lg);
  font-size: 14px;
  background: transparent;
  outline: none;
  margin-top: 0;
}

/* FOCUS */
.wpcf7 input:focus,
.wpcf7 textarea:focus {
  border-color: var(--pink);
}

/* remove CF7 default spacing */
.wpcf7 form p {
  margin: 0 0 12px;
}

/* LABEL */
.wpcf7 label {
  font-size: 13px;
  margin: 0 0 4px;
  line-height: 1.2;
  color: var(--white);
}

/* remove extra spacing from wrapper */
.wpcf7 .wpcf7-form-control-wrap {
  display: block;
  margin: 0;
}

/* REQUIRED STAR */
.wpcf7 .req {
  color: #d33;
  margin-left: 2px;
  font-weight: 400;
}

/* SUBMIT */
.wpcf7 input[type="submit"] {
  background: var(--brown);
  color: var(--white);
  border: none;
  padding: 14px 22px;
  border-radius: var(--radius-xs);
  font-family: var(--text-ui-lg);
  font-weight: var(--weight-bold);
  text-transform: uppercase;
  font-size: 12px;
  letter-spacing: 0.08em;
  cursor: pointer;
  transition: 0.2s ease;
  justify-content: center;
}

.wpcf7 input[type="submit"]:hover {
  background: var(--pink);
  color: var(--white);
  border-color: var(--pink);
  transform: translateY(-2px);
}


/* RESPONSE MESSAGE */
.wpcf7 .wpcf7-response-output {
  border: none;
  background: var(--brown);
  padding: 12px 16px;
  font-size: 13px;
}

.bgw-contact-header {
  text-align: center;
  margin-bottom: 20px;
}

.bgw-contact-title {
  font-family: var(--body-font);
  font-size: 30px;
  font-weight: 400;
  color: var(--black);
}

/* description + underline line */
.bgw-contact-desc {
  font-size: 14px;
  line-height: 1.6;
  color: var(--white);
  max-width: 520px;
  margin: 0 auto;
  position: relative;
  padding-bottom: 16px;
}

/* the line under text */
.bgw-contact-desc::after {
  content: "";
  display: block;
  height: 1px;
  background: var(--brown);
  margin: 12px auto 0;
}

/*───────── ARTICLE LAYOUT ────────────────────────────────────*/

/*───────── post  hero ─────────*/
.post-hero {
  background: var(--pink);
  position: relative;
  overflow: visible;
  min-height: 350px;
  display: flex;
  align-items: center;
  padding: var(--space-20);
}

/* Image layer only */
.post-hero::before {
  content: '';
  position: absolute;
  inset: 0;
  width: 100%;
  background-image: var(--hero-bg);
  object-fit: cover;
  background-position: left;
  background-repeat: no-repeat;

  /*opacity: var(--hero-bg-opacity);*/
  pointer-events: none;
  z-index: 0;
}


.post-hero .site-container {
  position: relative;
}

.post-hero-content {
  text-align: center;
  max-width: 880px;
  margin: 0 auto;
  padding-bottom: 80px;
}

.post-heroimg {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-end;
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 7;
  border-radius: 20px;
  background-size: cover;
  background-position: center;
  z-index: 2;
  margin-top: -231px;
}

.entry-thumbnail {
  display: flex;
  width: 100%;
  border-radius: var(--radius-lg);
  margin-top: -231px;
  overflow: hidden;
  aspect-ratio: 16 / 7;
  background: linear-gradient(135deg, #e8e6f0, #d4d2e0);

  position: relative;
  z-index: 5;
}

.entry-thumbnail img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.post-body {
  display: flex;
  flex-direction: column;
  height: 302px;
  align-items: flex-start;
  gap: 10px;
  padding: 0px 160px 0px 160px;
  position: relative;
  margin-top: -231px;
}

.post-content {
  max-width: 820px;
  margin: 0 auto;
}

/*───────── end of post  hero ─────────*/

.article-wrap {
  padding: 52px 0 80px;
}

.articles-grid {
  display: grid;
  grid-template-columns: 1fr 340px;
  gap: 52px;
  align-items: start;
}
.articles-grid {
  display: grid;
  gap: var(--space-6);
  align-items: start;
}
/* ── Article meta ── */
.entry-meta {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 15px;
  flex-wrap: wrap;
}

.entry-meta .meta-date {
  font-size: 13px;
  color: var(--muted);
}

.entry-meta .meta-author {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  font-weight: 600;
}

.author-avatar-sm {
  width: 28px; height: 28px;
  border-radius: 50%;
  overflow: hidden;
  background: linear-gradient(135deg, var(--crimson), var(--navy-mid));
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 10px;
  color: white;
  font-weight: 700;
}
.author-avatar-sm img { width: 100%; height: 100%; object-fit: cover; }

/* Featured image */
.entry-thumbnail {
  width: 100%;
  border-radius: var(--radius-lg);
  margin-bottom: 36px;
  overflow: hidden;
  aspect-ratio: 16/7;
  background: linear-gradient(135deg, #e8e6f0, #d4d2e0);
}
.entry-thumbnail img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* Article body typography */
.entry-content p {
  margin-bottom: 22px;
  font-size: 15.5px;
  color: #2c2c3e;
  line-height: 1.85;
  font-weight: 300;
}
.entry-content h1 {
  font-family: var(--font-main);
  font-size: 32px;
  margin: 36px 0 16px;
  color: var(--black);
}

.entry-content h2 {
  font-family: var(--font-main);
  font-size: 26px;
  margin: 36px 0 16px;
  color: var(--black);
}
.entry-content h3 {
  font-size: 20px;
  font-weight: 600;
  margin: 28px 0 12px;
  color: var(--black);
}
.entry-content ul, .entry-content ol {
  margin: 0 0 22px 24px;
  font-size: 15.5px;
  line-height: 1.8;
  font-weight: 300;
  color: #2c2c3e;
}
.entry-content ul { list-style: disc; }
.entry-content ol { list-style: decimal; }
.entry-content blockquote {
  border-left: 4px solid var(--crimson);
  padding: 16px 24px;
  margin: 32px 0;
  background: #fdf6f9;
  border-radius: 0 var(--radius-md) var(--radius-md) 0;
  font-style: italic;
  color: var(--muted);
}
.entry-content a { color: var(--dark-pink); text-decoration: underline; }
.entry-content img { border-radius: var(--radius-md); margin: 24px 0; }

.entry-divider {
  border: none;
  border-top: 1px solid var(--pink);
  margin: 44px 0;
}

/* ── Table of Content ── */

.toc {
  display: inline-flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 19px;
  padding: 20px 20px;
  position: relative;
  border: 1px solid;
  border-radius: 10px;
  border-color: var(--brown);
}

.toc-frame {
  display: inline-flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 10px;
  position: relative;
}

.toc-item {
  border-left-width: 3px;
  border-left-style: solid;
  border-color: transparent;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  position: relative;
  flex: 0 0 auto;
}
.toc-item.active {
  border-color: var(--brown);
}
ß

/*───────── ARCHIVE LAYOUT ────────────────────────────────────*/
.archive-layout {
  padding: 52px 0 80px;
  display: grid;
  grid-template-columns: 1fr 320px;
  gap: 52px;
  align-items: start;
}

.archive-posts {
  display: flex;
  flex-direction: column;
  gap: 36px;
}

.post-list-item {
  display: grid;
  grid-template-columns: 260px 1fr;
  gap: 28px;
  align-items: start;
  border-bottom: 1px solid var(--border);
  padding-bottom: 36px;
}
.post-list-item:last-child { border-bottom: none; }

.post-list-thumb {
  width: 100%; height: 180px;
  border-radius: var(--radius-md);
  overflow: hidden;
  background: linear-gradient(135deg, #ece9f5, #dbd8ec);
  flex-shrink: 0;
}
.post-list-thumb img { width: 100%; height: 100%; object-fit: cover; }

.post-list-body {}

.post-list-meta {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 12px;
  color: var(--muted);
  margin-bottom: 10px;
}

.post-list-title {
  font-family: var(--font-main);
  font-size: 22px;
  font-weight: 700;
  line-height: 1.3;
  margin-bottom: 12px;
  color: var(--text);
  transition: color 0.2s;
}
.post-list-title:hover { color: var(--pink); }

.post-list-excerpt {
  font-size: 14.5px;
  color: var(--muted);
  line-height: 1.7;
  font-weight: 300;
  margin-bottom: 16px;
}

/* Pagination */
.pagination-wrap {
  display: flex;
  justify-content: center;
  gap: 8px;
  margin-top: 48px;
  flex-wrap: wrap;
}
.page-numbers {
  width: 40px; height: 40px;
  border-radius: var(--radius-sm);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  font-weight: 500;
  border: 1.5px solid var(--brown);
  color: var(--muted);
  transition: all 0.2s;
}
.page-numbers:hover,
.page-numbers.current {
  background: var(--pink);
  border-color: var(--pink);
  color: white;
}


/* ============================================================
   404 PAGE
   ============================================================ */
.error-404-wrap {
  min-height: 55vh;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 80px 32px;
}
.error-404-wrap h1 {
  font-family: var(--font-display);
  font-size: 120px;
  color: var(--border);
  line-height: 1;
  margin-bottom: 16px;
}
.error-404-wrap h2 { font-size: 26px; margin-bottom: 14px; }
.error-404-wrap p { color: var(--muted); margin-bottom: 28px; max-width: 400px; }


/* ============================================================
   SEARCH RESULTS
   ============================================================ */
.search-header {
  padding: 40px 0 8px;
}
.search-header h1 { font-size: 26px; font-weight: 600; }
.search-header span { color: var(--crimson); }
.no-results { padding: 48px 0; text-align: center; color: var(--muted); }

/*───────── COMMENTS ────────────────────────────────────*/
.comments-section { margin-top: 56px; }
.comments-section h2 { font-size: 22px; font-weight: 600; margin-bottom: 28px; }

.comment-list { margin-bottom: 40px; }
.comment { padding: 20px 0; border-bottom: 1px solid var(--border); }
.comment-author-name { font-weight: 600; font-size: 14px; }
.comment-date { font-size: 12px; color: var(--muted); }
.comment-text { font-size: 14.5px; margin-top: 8px; font-weight: 300; line-height: 1.75; }

.comment-form { display: flex; flex-direction: column; gap: 14px; }
.comment-form h3 { font-size: 18px; font-weight: 600; margin-bottom: 4px; }
.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.comment-form input,
.comment-form textarea {
  width: 100%;
  border: 1.5px solid var(--border);
  border-radius: var(--radius-sm);
  padding: 12px 16px;
  font-size: 14px;
  transition: border-color 0.2s;
  outline: none;
}
.comment-form input:focus,
.comment-form textarea:focus { border-color: var(--crimson); }
.comment-form textarea { min-height: 120px; resize: vertical; }
.comment-form button[type="submit"] {
  align-self: flex-start;
  background: linear-gradient(90deg, var(--crimson), var(--crimson-light));
  color: white;
  border: none;
  padding: 13px 28px;
  border-radius: 24px;
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
  transition: opacity 0.2s;
}
.comment-form button[type="submit"]:hover { opacity: 0.88; }

/*───────── FOOTER ────────────────────────────────────*/
.site-footer {
  background: var(--white);
  border-top: 0.5px solid var(--pink);
  padding: var(--space-8) var(--space-16);  
  position: relative;
  overflow: hidden;
  min-height: 300px;
  /*display: flex;*/
  /*color: var(--white);*/
}

.site-footer > * {
  position: relative;
  z-index: 1;
}

/* social account */

.social-links {
  display: flex;
  gap: 8px;
}
.social-btn {
    width: 34px;
    height: 34px;
    border-radius: 50%;
    background: var(--white);
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background 0.2s, transform 0.2s;
    cursor: pointer;
    position: relative;
}

.social-btn:hover {
    background: var(--text-burgundy);
    transform: translateY(-2px);
}

/* Default icon — visible normally, hidden on hover */
.social-btn .icon-default {
    width: 16px;
    height: 16px;
    display: block;
    transition: opacity 0.2s;
    opacity: 1;
    position: absolute;
}

.social-btn:hover .icon-default {
    opacity: 0;
}

/* Hover icon — hidden normally, visible on hover */
.social-btn .icon-hover {
    width: 16px;
    height: 16px;
    display: block;
    transition: opacity 0.2s;
    opacity: 0;
    position: absolute;
}

.social-btn:hover .icon-hover {
    opacity: 1;
}

/* Logo */
.footer-logo {
  display: flex;
  align-items: center;
  gap: 10px;
}

.footer-img {
  height: 97px;
  width: auto;
  display: block;
}

.footer-grid {
  max-width: var(--container-max);
  margin: 0 auto;
  /*padding: 0 32px;*/
  display: grid;
  grid-template-columns: 2.5fr 1fr 1fr 1.5fr;
  gap: 32px;
  margin-bottom: var(--space-3);
  position: relative;
  z-index: 1;
  align-items: start;
}

.footer-grid .blog-footer {
  align-self: center;
}

.footer-brand p {
  max-width: 300px;
  font-size: var(--text-ui-md);
  line-height: 1.75;
  margin: 16px 0 22px;
  font-weight: var(--weight-medium);
  color: var(--black);
}

.footer-social { 
  max-width: 300px;
  display: flex; 
  gap: 8px; 
  margin-bottom: var(--space-3);}

.footer-social .social-btn { background: var(--white) }
.footer-social .social-btn:hover { background: var(--burgundy); }

.footer-col h4 {
  color: var(--black);
  font-size: var(--text-ui-lg);
  font-weight: 600;
  margin-bottom: 18px;
  letter-spacing: 0.04em;
  padding-top: 5rem;
}

.footer-col ul li { margin-bottom: 11px; }
.footer-col ul li a {
  font-size: 13.5px;
  color: var(--black);
  transition: color 0.2s;
}
.footer-col ul li a:hover { color: var(--pink); }

.footer-contact-btn {
  display: inline-block;
  background: var(--burgundy);
  color: var(--white);
  padding: 10px 22px;
  border-radius: 24px;
  font-size: 13px;
  font-weight: 600;
  margin-bottom: 24px;
  transition: background 0.2s;
}
.footer-contact-btn:hover { background: var(--crimson-light); }

.footer-bottom {
  border-top: 0.5px solid var(--black);
  padding: var(--space-2) 32px;
  max-width: var(--container);
  margin: 0 auto;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: var(--text-micro);
  color: var(--black);
  position: relative;
  z-index: 1;
}

.footer-legal-links {
  font-size: var(--text-micro);
  display: flex;
  gap: var(--space-3);
}
.footer-legal-links a {
  color: var(--black);
  transition: color 0.2s;
}
.footer-legal-links a:hover { color: var(--pink); }


/*───────── RESPONSIVE ────────────────────────────────────*/

@media screen and (max-width: 1180px) {
/*───────── Navigation & Header ─────────*/
  .site-header {
    padding-inline: 2rem;
  }

  .site-header .inner {
    padding-inline: 0;
  }

  .menu-toggle {
    display: flex;
    position: relative;
    z-index: 10001;
  }

    .primary-nav {
    display: none;
    position: fixed;
    top: 68px;
    left: 0;
    right: 0;
    width: 100%;
    max-height: calc(100vh - 68px);
    overflow-y: auto;
    background: var(--footer-gradient);
    padding: 1.5rem;
    z-index: 9999;
    border-bottom: 1px solid var(--navy);
  }

  .primary-nav.is-open {
    display: flex !important;
    flex-direction: column;
  }

  #masthead #site-navigation .primary-menu {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0;
    width: 100%;
  }

  #masthead #site-navigation .primary-menu > li {
    width: 100%;
  }

  #masthead #site-navigation .primary-menu > li > a {
    width: 100%;
    justify-content: space-between;
    padding: 0.875rem 0.875rem;
    white-space: normal;
    font-size: 1rem;
    border-bottom: 1px solid rgba(255, 255, 255, 0.12);
  }

  #masthead #site-navigation .primary-menu > li.menu-item-has-children > a::after {
    margin-left: auto;
  }

  #masthead #site-navigation .primary-menu li.menu-item-has-children > .sub-menu {
    position: static;
    display: block;
    visibility: visible;
    opacity: 1;
    pointer-events: auto;
    transform: none;
    box-shadow: none;
    border: 0;
    background: transparent;
    padding: 0.5rem 0 0.75rem 1rem;
    min-width: 0;
    width: 100%;
  }

  #masthead #site-navigation .primary-menu .sub-menu li a {
    padding: 0.5rem 0;
    border-left: 0;
    white-space: normal;
    font-size: 0.9375rem;
    color: rgba(255, 255, 255, 0.82);
  }

  #masthead #site-navigation .primary-menu .sub-menu li a:hover,
  #masthead #site-navigation .primary-menu .sub-menu li a:focus {
    background: transparent;
    color: var(--white);
  }

  #masthead #site-navigation .btn {
    width: 100%;
    justify-content: center;
    margin-top: 1rem;
  }

  .menu-toggle.is-active span:nth-child(1) {
    transform: translateY(7px) rotate(45deg);
  }

  .menu-toggle.is-active span:nth-child(2) {
    opacity: 0;
  }

  .menu-toggle.is-active span:nth-child(3) {
    transform: translateY(-7px) rotate(-45deg);
  }

  #masthead #site-navigation.primary-nav.is-open {
    display: flex !important;
    flex-direction: column !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
  }
  

  .site-container {
    padding: 0 1.25rem;
  }

  .page-hero {
    padding: 2.75rem 1.25rem;
  }

  .hero-accent {
    height: 40px;
    margin-bottom: 1rem;
  }

  .hero-inner h1 {
    font-size: clamp(28px, 8vw, 38px);
    line-height: 1.2;
    margin-bottom: 1rem;
  }

  .hero-description {
    font-size: 0.95rem;
    line-height: 1.7;
  }

  .home-hero {
    min-height: auto;
    padding: 4rem 0;
  }

  .home-hero h1 {
    font-size: clamp(32px, 9vw, 42px);
  }

  .home-hero p {
    font-size: 0.95rem;
  }

  .hero-inner.row,
  .hero-inner.row-70-30,
  .hero-inner.row-60-40,
  .hero-inner.row-55-45,
  .hero-inner.row-50-50 {
    gap: 2rem;
  }

  .article-grid,
  .archive-layout {
    gap: 2.5rem;
  }

  .footer-grid {
    gap: 2.5rem;
  }
}


@media screen and (max-width: 1024px) {
/*───────── Navigation & Header ─────────*/
  .site-header {
    padding-inline: 2rem;
  }

  .site-header .inner {
    padding-inline: 0;
  }

  .menu-toggle {
    display: flex;
    position: relative;
    z-index: 10001;
  }

    .primary-nav {
    display: none;
    position: fixed;
    top: 68px;
    left: 0;
    right: 0;
    width: 100%;
    max-height: calc(100vh - 68px);
    overflow-y: auto;
    background: var(--footer-gradient);
    padding: 1.5rem;
    z-index: 9999;
    border-bottom: 1px solid var(--navy);
  }

  .primary-nav.is-open {
    display: flex !important;
    flex-direction: column;
  }

  #masthead #site-navigation .primary-menu {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0;
    width: 100%;
  }

  #masthead #site-navigation .primary-menu > li {
    width: 100%;
  }

  #masthead #site-navigation .primary-menu > li > a {
    width: 100%;
    justify-content: space-between;
    padding: 0.875rem 0.875rem;
    white-space: normal;
    font-size: 1rem;
    border-bottom: 1px solid rgba(255, 255, 255, 0.12);
  }

  #masthead #site-navigation .primary-menu > li.menu-item-has-children > a::after {
    margin-left: auto;
  }

  #masthead #site-navigation .primary-menu li.menu-item-has-children > .sub-menu {
    position: static;
    display: block;
    visibility: visible;
    opacity: 1;
    pointer-events: auto;
    transform: none;
    box-shadow: none;
    border: 0;
    background: transparent;
    padding: 0.5rem 0 0.75rem 1rem;
    min-width: 0;
    width: 100%;
  }

  #masthead #site-navigation .primary-menu .sub-menu li a {
    padding: 0.5rem 0;
    border-left: 0;
    white-space: normal;
    font-size: 0.9375rem;
    color: rgba(255, 255, 255, 0.82);
  }

  #masthead #site-navigation .primary-menu .sub-menu li a:hover,
  #masthead #site-navigation .primary-menu .sub-menu li a:focus {
    background: transparent;
    color: var(--white);
  }

  #masthead #site-navigation .btn {
    width: 100%;
    justify-content: center;
    margin-top: 1rem;
  }

  .menu-toggle.is-active span:nth-child(1) {
    transform: translateY(7px) rotate(45deg);
  }

  .menu-toggle.is-active span:nth-child(2) {
    opacity: 0;
  }

  .menu-toggle.is-active span:nth-child(3) {
    transform: translateY(-7px) rotate(-45deg);
  }

  #masthead #site-navigation.primary-nav.is-open {
    display: flex !important;
    flex-direction: column !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
  }
  

  
  .site-container {
    padding: 0 1.25rem;
  }

  .page-hero {
    padding: 2.75rem 1.25rem;
  }

  .hero-accent {
    height: 40px;
    margin-bottom: 1rem;
  }

  .hero-inner h1 {
    font-size: clamp(28px, 8vw, 38px);
    line-height: 1.2;
    margin-bottom: 1rem;
  }

  .hero-description {
    font-size: 0.95rem;
    line-height: 1.7;
  }

  .home-hero {
    min-height: auto;
    padding: 4rem 0;
  }

  .home-hero h1 {
    font-size: clamp(32px, 9vw, 42px);
  }

  .home-hero p {
    font-size: 0.95rem;
  }

  .footer-grid,
  .footer-bottom {
    padding-inline: 2rem;
  }


  .section-xs,
  .section-lg {
    padding: 3rem 2rem;
  }

  .services-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .cards-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .footer-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .article-grid,
  .archive-layout,
  .layout {
    grid-template-columns: 1fr;
  }

  .sidebar,
  .sidebar-area {
    position: static;
  }

  .article-wrap,
  .archive-layout {
    padding: 3rem 0 4rem;
  }

  .related-articles {
    padding: 3rem 0 4rem;
  }

}


@media screen and (max-width: 900px) {
/*───────── Navigation & Header ─────────*/
  .site-header {
    height: auto;
    min-height: 68px;
    padding: 0 1.5rem;
  }

  .site-header .inner {
    position: relative;
    overflow: visible;
    padding-inline: 0;
  }

  .logo-img {
    height: 38px;
  }

  .menu-toggle {
    display: flex;
    position: relative;
    z-index: 10001;
  }

    .primary-nav {
    display: none;
    position: fixed;
    top: 68px;
    left: 0;
    right: 0;
    width: 100%;
    max-height: calc(100vh - 68px);
    overflow-y: auto;
    background: var(--white);
    padding: 1.5rem;
    z-index: 9999;
    border-bottom: 1px solid var(--pink);
  }

  .primary-nav.is-open {
    display: flex !important;
    flex-direction: column;
  }

  #masthead #site-navigation .primary-menu {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0;
    width: 100%;
    background: var(--white);
  }

  #masthead #site-navigation .primary-menu > li {
    width: 100%;
  }

  #masthead #site-navigation .primary-menu > li > a {
    width: 100%;
    justify-content: space-between;
    padding: 0.875rem 0.875rem;
    white-space: normal;
    font-size: 1rem;
    border-bottom: 1px solid rgba(255, 255, 255, 0.12);
  }

  #masthead #site-navigation .primary-menu > li.menu-item-has-children > a::after {
    margin-left: auto;
  }

  #masthead #site-navigation .primary-menu li.menu-item-has-children > .sub-menu {
    position: static;
    display: block;
    visibility: visible;
    opacity: 1;
    pointer-events: auto;
    transform: none;
    box-shadow: none;
    border: 0;
    background: transparent;
    padding: 0.5rem 0 0.75rem 1rem;
    min-width: 0;
    width: 100%;
    color: var(--black);
  }

  #masthead #site-navigation .primary-menu .sub-menu li a {
    padding: 0.5rem 0;
    border-left: 0;
    white-space: normal;
    font-size: 0.9375rem;
    color: var(--black);
  }

  #masthead #site-navigation .primary-menu .sub-menu li a:hover,
  #masthead #site-navigation .primary-menu .sub-menu li a:focus {
    background: transparent;
    color: var(--black);
  }

  #masthead #site-navigation .btn {
    width: 100%;
    justify-content: center;
    margin-top: 1rem;
  }

  .menu-toggle.is-active span:nth-child(1) {
    transform: translateY(7px) rotate(45deg);
  }

  .menu-toggle.is-active span:nth-child(2) {
    opacity: 0;
  }

  .menu-toggle.is-active span:nth-child(3) {
    transform: translateY(-7px) rotate(-45deg);
  }

  #masthead #site-navigation.primary-nav.is-open {
    display: flex !important;
    flex-direction: column !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    background-color: var(--white);
  }
  
  .row,
  .row-70-30,
  .row-60-40,
  .row-55-45,
  .row-50-50,
  .row-40-60 {
    grid-template-columns: 1fr;
    gap: 2rem;
  }

  .hero-image {
    display: none;
  }

  .page-hero {
    padding: 3rem 1.5rem;
    min-height: auto;
  }

  .hero-inner {
    padding: 0;
  }

  .hero-inner h1 {
    max-width: 100%;
  }

  .hero-description {
    max-width: 100%;
  }

  .hero-cta-group {
    flex-direction: column;
    align-items: stretch;
    width: 100%;
    gap: 1rem;
  }

  .hero-cta-group .btn {
    width: 100%;
    justify-content: center;
    text-align: center;
  }
  
  .section-content,
  .section-contact { 
    padding: var(--space-12) var(--space-6);
  }

  .cf7-box-4060  {
    grid-template-columns: 1fr;
    gap: 1rem;
  }

  .wpcf7-grid-2 {
    grid-template-columns: 1fr;
    gap: 1rem;
  }

  .section-cta { 
    padding-block: 0; 
    background: var(--pink);
    color: var(--white);
  }

  .section-heading {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
    position: relative;
  }

  .cta-box {
  padding: var(--space-12) var(--space-6);
  }

  .site-footer {
  background: var(--white);
  border-top: 0.5px solid var(--pink);
  padding: var(--space-8) var(--space-6);  
  position: relative;
  overflow: hidden;
  min-height: 300px;
  /*display: flex;*/
  /*color: var(--white);*/
  }

  .footer-col h4 {
  color: var(--black);
  font-size: var(--text-ui-lg);
  font-weight: 600;
  margin-bottom: 18px;
  letter-spacing: 0.04em;
  padding-top: 1rem;
  }

  .footer-col ul li { margin-bottom: 11px; }
  .footer-col ul li a {
    font-size: 13.5px;
    color: var(--black);
    transition: color 0.2s;
  }
  .footer-col ul li a:hover { color: var(--pink); }
}


@media screen and (max-width: 768px) {
/*───────── Navigation & Header ─────────*/
  .site-header {
    height: auto;
    min-height: 68px;
    padding: 0 1.5rem;
  }

  .site-header .inner {
    position: relative;
    overflow: visible;
    padding-inline: 0;
  }

  .logo-img {
    height: 38px;
  }

  .menu-toggle {
    display: flex;
    position: relative;
    z-index: 10001;
  }

    .primary-nav {
    display: none;
    position: fixed;
    top: 68px;
    left: 0;
    right: 0;
    width: 100%;
    max-height: calc(100vh - 68px);
    overflow-y: auto;
    background: var(--footer-gradient);
    padding: 1.5rem;
    z-index: 9999;
    border-bottom: 1px solid var(--navy);
  }

  .primary-nav.is-open {
    display: flex !important;
    flex-direction: column;
  }

  #masthead #site-navigation .primary-menu {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0;
    width: 100%;
  }

  #masthead #site-navigation .primary-menu > li {
    width: 100%;
  }

  #masthead #site-navigation .primary-menu > li > a {
    width: 100%;
    justify-content: space-between;
    padding: 0.875rem 0.875rem;
    white-space: normal;
    font-size: 1rem;
    border-bottom: 1px solid rgba(255, 255, 255, 0.12);
  }

  #masthead #site-navigation .primary-menu > li.menu-item-has-children > a::after {
    margin-left: auto;
  }

  #masthead #site-navigation .primary-menu li.menu-item-has-children > .sub-menu {
    position: static;
    display: block;
    visibility: visible;
    opacity: 1;
    pointer-events: auto;
    transform: none;
    box-shadow: none;
    border: 0;
    background: transparent;
    padding: 0.5rem 0 0.75rem 1rem;
    min-width: 0;
    width: 100%;
  }

  #masthead #site-navigation .primary-menu .sub-menu li a {
    padding: 0.5rem 0;
    border-left: 0;
    white-space: normal;
    font-size: 0.9375rem;
    color: var(--black);
  }

  #masthead #site-navigation .primary-menu .sub-menu li a:hover,
  #masthead #site-navigation .primary-menu .sub-menu li a:focus {
    background: transparent;
    color: var(--black);
  }

  #masthead #site-navigation .btn {
    width: 100%;
    justify-content: center;
    margin-top: 1rem;
  }

  .menu-toggle.is-active span:nth-child(1) {
    transform: translateY(7px) rotate(45deg);
  }

  .menu-toggle.is-active span:nth-child(2) {
    opacity: 0;
  }

  .menu-toggle.is-active span:nth-child(3) {
    transform: translateY(-7px) rotate(-45deg);
  }

  #masthead #site-navigation.primary-nav.is-open {
    display: flex !important;
    flex-direction: column !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    background-color: var(--white);
  }

  :root {
    --container-pad: 1.25rem;
  }

  .container,
  .home-hero .inner,
  .footer-grid,
  .footer-bottom {
    padding-inline: 0.8rem;
  }

  .section {
    padding-block: 3rem;
  }

  .section-xs,
  .section-lg {
    padding: 3rem 1.25rem; 
  }

  .section-xl {
    padding-block: 5rem;
  }

  h1 {
    font-size: clamp(2rem, 8vw, 2.5rem);
  }

  h2 {
    font-size: clamp(1.75rem, 7vw, 2rem);
  }

  h3 {
    font-size: clamp(1.375rem, 6vw, 1.75rem);
  }

  .site-container {
    padding: 0 1.25rem;
  }

  .page-hero {
    padding: 2.75rem 1.25rem;
  }

  .hero-accent {
    height: 40px;
    margin-bottom: 1rem;
  }

  .hero-inner h1 {
    font-size: clamp(28px, 8vw, 38px);
    line-height: 1.2;
    margin-bottom: 1rem;
  }

  .hero-description {
    font-size: 0.95rem;
    line-height: 1.7;
  }

  .home-hero {
    min-height: auto;
    padding: 4rem 0;
  }

  .home-hero h1 {
    font-size: clamp(32px, 9vw, 42px);
  }

  .home-hero p {
    font-size: 0.95rem;
  }

  .cards-grid,
  .services-grid,
  .footer-grid,
  .archive-layout,
  .post-list-item,
  .form-row,
  .grid,
  .grid-2,
  .grid-3,
  .grid-4 {
    grid-template-columns: 1fr;
  }

  .footer-grid {
    gap: var(--space-3);
  }

  .post-list-item {
    gap: 1.25rem;
  }

  .post-list-thumb {
    height: auto;
    aspect-ratio: 16 / 10;
  }

  .post-list-title {
    font-size: 1.25rem;
  }

  .entry-thumbnail {
    aspect-ratio: 16 / 10;
    border-radius: var(--radius-md);
  }

  .entry-content p,
  .entry-content ul,
  .entry-content ol {
    font-size: 15px;
    line-height: 1.8;
  }

  .entry-content h2 {
    font-size: 1.5rem;
  }

  .entry-content h3 {
    font-size: 1.25rem;
  }

  .author-bio-box {
    flex-direction: column;
    align-items: flex-start;
  }

  .footer-bottom {
    flex-direction: column;
    gap: 0.75rem;
    text-align: center;
  }

  .footer-legal-links {
    flex-wrap: wrap;
    justify-content: center;
    gap: 1rem;
  }

  .error-404-wrap {
    padding: 4rem 1.25rem;
  }

  .error-404-wrap h1 {
    font-size: 80px;
  }
}

/*───────── WP CORE CLASSES ────────────────────────────────────*/
.wp-block-image { margin: 24px 0; }
.wp-block-image img { border-radius: var(--radius-md); }
.alignleft { float: left; margin-right: 24px; margin-bottom: 12px; }
.alignright { float: right; margin-left: 24px; margin-bottom: 12px; }
.aligncenter { margin: 0 auto; }
.alignwide { max-width: calc(var(--container) + 160px); }
.wp-caption { font-size: 13px; color: var(--muted); margin-top: 8px; }
.screen-reader-text {
  position: absolute;
  width: 1px; height: 1px;
  padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0,0,0,0);
  white-space: nowrap; border: 0;
}
