/* Fonts */

@import url("https://fonts.googleapis.com/css2?family=Bitter:ital,wght@0,100..900;1,100..900&family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&display=swap");

/* Rest */

*,
*::before,
*::after {
  box-sizing: border-box;
}
html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
}
/* HTML5 display-role reset for older browsers */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
  display: block;
}

ol,
ul {
  list-style: none;
}
blockquote,
q {
  quotes: none;
}
blockquote:before,
blockquote:after,
q:before,
q:after {
  content: "";
  content: none;
}
table {
  border-collapse: collapse;
  border-spacing: 0;
}

button,
input,
select,
textarea {
  font-family: inherit;
  font-size: 100%;
  font-weight: 400;
  line-height: 1.5;
  color: inherit;
  border: none;
}
a {
  text-decoration: none;
  color: inherit;
}
img {
  max-width: 100%;
}
button {
  cursor: pointer;
}
.is-root-container{
  overflow: hidden;
}
ul.wp-block-list{
  list-style:disc;
  padding-left: var(--spacing-32);
}
ol.wp-block-list{
  list-style:numeric;
  padding-left: var(--spacing-32);
}
:root {
  /* Content Width */
  --large-width: 1360px;
  --base-width: 800px;
  /* Corner Radius */
  --radius-0: 0px;
  --radius-4: 4px;
  --radius-8: 8px;
  --radius-16: 16px;
  --radius-24: 24px;
  --radius-1000: 1000px;

  /* Unique values */
  --spacing-0: 0px;
  --spacing-4: 4px;
  --spacing-8: 8px;
  --spacing-12: 12px;
  --spacing-16: 16px;
  --spacing-20: 20px;
  --spacing-24: 24px;
  --spacing-32: 32px;
  --spacing-40: 40px;
  --spacing-56: 56px;
  --spacing-80: 80px;
  --spacing-96: 96px;

  /* Semantic aliases (optional) */
  --spacing-none: var(--spacing-0);
  --spacing-1x-small: var(--spacing-4);
  --spacing-small: var(--spacing-8);
  --spacing-medium: var(--spacing-16);
  --spacing-large: var(--spacing-24);
  --spacing-1x-large: var(--spacing-32);
  --spacing-2x-large: var(--spacing-40);
  --spacing-3x-large: var(--spacing-80);

  /* =========================
     Semantic Colors
  ========================== */
  --success-10: #e5fae3;
  --success-70: #208325;
  --error-10: #fee4e2;
  --error-70: #c11e11;

  /* =========================
     Brand Colors
  ========================== */
  /* Primary */
  --brand-primary: #c0ac25;
  --brand-primary-05: #f7f3e0;
  --brand-primary-10: #f5ecc0;
  --brand-primary-20: #d5c679;
  --brand-primary-40: #938519;
  --brand-primary-50: #84760a;

  /* Secondary (Purple) */
  --brand-secondary: #a27e98;
  --brand-secondary-05: #f4ebf1;
  --brand-secondary-10: #e9d5e2;
  --brand-secondary-20: #c2aaba;
  --brand-secondary-40: #634c5e;
  --brand-secondary-50: #4a3746;

  /* Accent (Pink) */
  --brand-accent: #f58e84;
  --brand-accent-05: #feefe0;
  --brand-accent-10: #ffddd7;
  --brand-accent-20: #f9b9ae;
  --brand-accent-40: #de8178;
  --brand-accent-50: #aa5f58;

  /* =========================
     Neutral Colors
  ========================== */
  --neutral-white: #ffffff;
  --neutral-05: #f2f2f2;
  --neutral-10: #e5e5e5;
  --neutral-20: #cacaca;
  --neutral-30: #b2b2b2;
  --neutral-40: #999999;
  --neutral-50: #808080;
  --neutral-60: #666666;
  --neutral-70: #4d4d4d;
  --neutral-80: #333333;
  --neutral-90: #1a1a1a;
  --neutral-black: #000000;

  /* =========================
     Icon Colors
  ========================== */
  --icon-brand: var(--brand-primary-40);
  --icon-secondary: var(--brand-secondary-40);
  --icon-accent: var(--brand-accent-40);
  --icon-dark: var(--neutral-90);
  --icon-light: var(--neutral-white);

  /* =========================
     Typography Colors
  ========================== */
  --text-primary: var(--neutral-90);
  --text-secondary: var(--neutral-60);
  --text-brand: var(--brand-primary-40);
  --text-secondary-brand: var(--brand-secondary-40);
  --text-accent-brand: var(--brand-accent-40);
  --text-inverted-primary: var(--neutral-white);
  --text-inverted-secondary: var(--neutral-10);
  --text-inverted-brand: var(--brand-primary-10);
  --text-disabled: var(--neutral-40);

  /* =========================
     Background Colors
  ========================== */
  --background-primary: var(--neutral-white);
  --background-secondary: var(--neutral-05);
  --background-dark: var(--neutral-80);

  /* Brand-specific backgrounds */
  --background-brand-dark: var(--brand-primary-40);
  --background-brand-light: var(--brand-primary-05);
  --background-brand-bright: var(--brand-primary);

  --background-secondary-dark: var(--brand-secondary-40);
  --background-secondary-light: var(--brand-secondary-05);
  --background-secondary-bright: var(--brand-secondary);

  --background-accent-dark: var(--brand-accent-40);
  --background-accent-light: var(--brand-accent-05);
  --background-accent-bright: var(--brand-accent);

  /* =========================
     Stroke Colors
  ========================== */
  --stroke-primary: var(--neutral-20);
  --stroke-secondary: var(--neutral-60);
  --stroke-brand: var(--brand-primary);
  --stroke-secondary-brand: var(--brand-secondary);
  --stroke-accent: var(--brand-accent);

  /* =========================
     Buttons
  ========================== */
  --button-brand: var(--brand-primary);
  --button-brand-hover: var(--brand-primary-20);
  --button-brand-pressed: var(--brand-primary-40);

  --button-secondary: var(--brand-secondary);
  --button-secondary-hover: var(--brand-secondary-20);
  --button-secondary-pressed: var(--brand-secondary-40);

  --button-accent: var(--brand-accent);
  --button-accent-hover: var(--brand-accent-20);
  --button-accent-pressed: var(--brand-accent-40);

  --button-disabled: var(--neutral-20);
  --button-disabled-text: var(--neutral-60);
  --button-text: var(--neutral-90);
}

body {
  font-family: "Inter", sans-serif;
  font-size: 16px;
  font-style: normal;
  font-weight: 400;
  line-height: 25px; /* 156.25% */
  letter-spacing: 0.5px;
  color: var(--text-primary);
}
/* break Words In mobile */
@media (max-width: 768px) {
  body p{
   hyphens: auto;
   overflow-wrap: break-word;
   word-break: break-word;
  }
}

.skip-link {
  position: absolute;
  left: -999px;
  top: auto;
  width: 1px;
  height: 1px;
  overflow: hidden;
  z-index: 1000;
}

.skip-link:focus,
.skip-link:active {
  left: 16px;
  top: 16px;
  width: auto;
  height: auto;
  outline: 2px solid var(--button-brand, #1a1a1a);
  outline-offset: 2px;
}
.entry-content > *, .wp-block-post-content > * {
  margin-bottom: 16px
}

/* ============================
   UTILITY CLASSES
   ============================ */
/** 
 * Hide utility classes for responsive design
 */

/* Hide on desktop */
@media (min-width: 1025px) {
  .hide-desktop {
    display: none !important;
  }
}

/* Hide on tablet */
@media (min-width: 769px) and (max-width: 1024px) {
  .hide-tablet {
    display: none !important;
  }
}

/* Hide on mobile */
@media (max-width: 767px) {
  .hide-mobile {
    display: none !important;
  }
}

   
.mb-none {
  margin-bottom: var(--spacing-none);
}
.mb-1x-small {
  margin-bottom: var(--spacing-1x-small);
}
.mb-small {
  margin-bottom: var(--spacing-small);
}
.mb-medium {
  margin-bottom: var(--spacing-medium);
}
.mb-large {
  margin-bottom: var(--spacing-large);
}
.mb-1x-large {
  margin-bottom: var(--spacing-1x-large);
}
.mb-2x-large {
  margin-bottom: var(--spacing-2x-large);
}
.mb-3x-large {
  margin-bottom: var(--spacing-3x-large);
}

/* Padding Bottom Utilities */
.pb-none {
  padding-bottom: var(--spacing-none) !important;
}
.pb-1x-small {
  padding-bottom: var(--spacing-1x-small);
}
.pb-small {
  padding-bottom: var(--spacing-small);
}
.pb-medium {
  padding-bottom: var(--spacing-medium);
}
.pb-large {
  padding-bottom: var(--spacing-large);
}
.pb-1x-large {
  padding-bottom: var(--spacing-1x-large);
}
.pb-2x-large {
  padding-bottom: var(--spacing-2x-large);
}
.pb-3x-large {
  padding-bottom: var(--spacing-3x-large);
}

/* Spacer utility classes for vertical spacing */

.is-style-spacer-1x-small {
  height: var(--spacing-1x-small) !important;
  padding: 0 !important;
}
.is-style-spacer-small {
  height: var(--spacing-small) !important;
  padding: 0 !important;
}
.is-style-spacer-medium {
  height: var(--spacing-medium) !important;
  padding: 0 !important;
}
.is-style-spacer-large {
  height: var(--spacing-large) !important;
  padding: 0 !important;
}
.is-style-spacer-1x-large {
  height: var(--spacing-1x-large) !important;
  padding: 0 !important;
}
.is-style-spacer-2x-large {
  height: var(--spacing-2x-large) !important;
  padding: 0 !important;
}
.is-style-spacer-3x-large {
  height: var(--spacing-3x-large) !important;
  padding: 0 !important;
}

@media (max-width: 991px) {
  .mb-medium {
    margin-bottom: var(--spacing-16);
  }
  .mb-large {
    margin-bottom: var(--spacing-24);
  }
  .mb-1x-large {
    margin-bottom: var(--spacing-32);
  }
  .mb-2x-large {
    margin-bottom: var(--spacing-40);
  }
  .mb-3x-large {
    margin-bottom: var(--spacing-80);
  }

  .pb-medium {
    padding-bottom: var(--spacing-16);
  }
  .pb-large {
    padding-bottom: var(--spacing-24);
  }
  .pb-1x-large {
    padding-bottom: var(--spacing-32);
  }
  .pb-2x-large {
    padding-bottom: var(--spacing-40);
  }
  .pb-3x-large {
    padding-bottom: var(--spacing-80);
  }

  .is-style-spacer-medium {
    height: var(--spacing-16) !important;
  }
  .is-style-spacer-large {
    height: var(--spacing-24) !important;
  }
  .is-style-spacer-1x-large {
    height: var(--spacing-32) !important;
  }
  .is-style-spacer-2x-large {
    height: var(--spacing-40) !important;
  }
  .is-style-spacer-3x-large {
    height: var(--spacing-80) !important;
  }
}

@media (max-width: 767px) {
  .mb-medium {
    margin-bottom: var(--spacing-12);
  }
  .mb-large {
    margin-bottom: var(--spacing-16);
  }
  .mb-1x-large {
    margin-bottom: var(--spacing-20);
  }
  .mb-2x-large {
    margin-bottom: var(--spacing-24);
  }
  .mb-3x-large {
    margin-bottom: var(--spacing-40);
  }

  .pb-medium {
    padding-bottom: var(--spacing-12);
  }
  .pb-large {
    padding-bottom: var(--spacing-16);
  }
  .pb-1x-large {
    padding-bottom: var(--spacing-20);
  }
  .pb-2x-large {
    padding-bottom: var(--spacing-24);
  }
  .pb-3x-large {
    padding-bottom: var(--spacing-40);
  }

  .is-style-spacer-medium {
    height: var(--spacing-12) !important;
  }
  .is-style-spacer-large {
    height: var(--spacing-16) !important;
  }
  .is-style-spacer-1x-large {
    height: var(--spacing-20) !important;
  }
  .is-style-spacer-2x-large {
    height: var(--spacing-24) !important;
  }
  .is-style-spacer-3x-large {
    height: var(--spacing-40) !important;
  }
}

.sr-only {
  display: none;
}
.no-style {
  background: transparent;
  display: flex;
  align-items: center;
  padding: 0;
}
.text-center {
  text-align: center;
}
.text-left {
  text-align: left;
}
.text-right {
  text-align: right;
}
.text-uppercase {
  text-transform: uppercase;
}
.text-lowercase {
  text-transform: lowercase;
}
.text-capitalize {
  text-transform: capitalize;
}
.flex{
  display: flex;
  gap: var(--spacing-medium)
}
.flex-start {
  display: flex;
  justify-content: start;
  align-items: center;
  gap: var(--spacing-medium)
}
.no-results .flex-center {
  gap: var(--spacing-medium)
}
.flex-center {
  display: flex;
  justify-content: center;
  align-items: center;
}
.flex-between {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: var(--spacing-medium)
}
.overflow-hidden {
  overflow: hidden;
}
@media (max-width: 768px) {
  .flex-between {
     flex-direction : column;
	  align-items: start;
  }
}
/* ============================
   BUTTON STYLES
   ============================ */

.btn {
  display: flex;
  padding: var(--spacing-small) var(--spacing-large);
  justify-content: center;
  align-items: center;
  gap: var(--spacing-1x-small);
  border-radius: var(--radius-1000);
  font-family: Inter;
  font-size: 18px;
  font-style: normal;
  font-weight: 500;
  line-height: 22px;
  letter-spacing: 1px;
  cursor: pointer;
  color: var(--button-text);
  background-color: transparent;
  border: none;
  text-align: center;
}

/* ============================
   THEME VARIANTS (Colors)
   ============================ */
.btn-primary {
  --btn-bg: var(--button-brand);
  --btn-hover: var(--button-brand-hover);
  --btn-pressed: var(--button-brand-pressed);
}
.btn-secondary {
  --btn-bg: var(--button-secondary);
  --btn-hover: var(--button-secondary-hover);
  --btn-pressed: var(--button-secondary-pressed);
}
.btn-accent {
  --btn-bg: var(--button-accent);
  --btn-hover: var(--button-accent-hover);
  --btn-pressed: var(--button-accent-pressed);
}

/* ============================
   BUTTON BASE
   ============================ */
.btn-primary,
.btn-secondary,
.btn-accent {
  background-color: var(--btn-bg);
}

.btn-primary:hover,
.btn-secondary:hover,
.btn-accent:hover {
  background-color: var(--btn-hover);
}

.btn-primary:active,
.btn-secondary:active,
.btn-accent:active {
  background-color: var(--btn-pressed);
}

.btn-primary:disabled,
.btn-secondary:disabled,
.btn-accent:disabled {
  background-color: var(--button-disabled);
  color: var(--button-disabled-text);
  cursor: not-allowed;
}
.btn-ab-nav {
  border: 2px solid var(--btn-bg);
}
.btn-ab-nav:hover {
    border: 2px solid var(--btn-hover);
}
.btn-ab-nav:focus {
    border: 2px solid var(--btn-pressed);
}
/* ============================
   BUTTON TYPES
   ============================ */

/* --- Outline --- */
.btn-outline {
  background-color: transparent;
  border: 2px solid var(--btn-bg);
}
.btn-outline:hover,
.btn-outline:active,
.btn-outline:disabled {
  background-color: transparent;
}

.btn-outline:hover {
  border-color: var(--btn-hover);
}
.btn-outline:active {
  border-color: var(--btn-pressed);
}
.btn-outline:disabled {
  border-color: var(--button-disabled);
  color: var(--button-disabled-text);
  cursor: not-allowed;
}
/* -R- Can be removed Based On icons if they are used */
.btn-outline svg {
  opacity: 0.8;
}
.btn-outline svg circle {
  fill: var(--btn-bg);
}
.btn-outline:hover svg circle {
  fill: var(--btn-hover);
}
.btn-outline:active svg circle {
  fill: var(--btn-pressed);
}
.btn-outline:disabled svg circle {
  fill: var(--button-disabled-text);
}

/* --- Link --- */
p a {
  --btn-bg: var(--button-brand);
  --btn-hover: var(--button-brand-hover);
  --btn-pressed: var(--button-brand-pressed);
  border-bottom: 2px solid var(--button-brand);
  border-radius: 0;
  font-size: 16px;
  font-style: normal;
  font-weight: 400;
  line-height: 22px;
  letter-spacing: 1px;
  cursor: pointer;
  color: var(--button-text);
  background-color: transparent;
  
}

.btn-link {
  background: none;
  border: none;
  padding: 0;
  padding-bottom: var(--spacing-1x-small);
  border-bottom: 2px solid var(--btn-bg);
  border-radius: 0;
}
.btn-link:hover,
.btn-link:active,
.btn-link:disabled {
  background-color: transparent;
}
.btn-link:hover, p a:hover {
  border-color: var(--btn-hover);
}
.btn-link:active, p a:active {
  border-color: var(--btn-pressed);
}
.btn-link:disabled, p a:disabled {
  border-color: var(--button-disabled);
  color: var(--button-disabled-text);
  cursor: not-allowed;
}
/* -R- Can be removed Based On icons if they are used */
.btn-link svg circle {
  fill: var(--btn-bg);
}
.btn-link:hover svg circle {
  fill: var(--btn-hover);
}
.btn-link:active svg circle {
  fill: var(--btn-pressed);
}
.btn-link:disabled svg circle {
  fill: var(--button-disabled-text);
}

.button-wrap {
  display: flex;
  align-items: center;
  gap: var(--spacing-12);
}
/* ============================
   Inputs Styling
   ============================ */

.input-group, .wpcf7 label, .wpcf7 legend  {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-small);
}
.wpcf7 p{
  margin-bottom: 16px;
}
.wpcf7 > .wpcf7-form > p:last-of-type{
  margin-bottom: 0px;
}
.input-default, .wpcf7 input, .wpcf7 textarea {
  font-family: "Inter", sans-serif;
  font-size: 16px;
  font-style: normal;
  font-weight: 400;
  line-height: 20px;
  letter-spacing: 0.5px;
  color: var(--text-secondary);
  box-sizing: border-box;
  padding-inline: var(--spacing-16);
  height: 100%;
  flex-basis: 100%;
  background: transparent;
}
.wpcf7 input{
  height: 50px;
  width: 100%;
}

.input-wrap, .wpcf7 input, .wpcf7 textarea  {
  height: 50px;
  display: flex;
  border: 1px solid var(--stroke-primary);
  border-radius: var(--radius-4);
  box-sizing: border-box;
  overflow: hidden;
  align-items: center;
}
.wpcf7 textarea {
  min-height: 150px;
  width: 100%;
}

.input-wrap:hover, .wpcf7 input:hover {
  background-color: var(--background-brand-light);
}
.input-wrap:focus-within, .wpcf7 input:focus-within {
  border-color: var(--stroke-brand);
}
.input-wrap input:focus, .wpcf7 input:focus {
  outline: none;
}
.error .input-wrap, .wpcf7 input.wpcf7-not-valid {
  border-color: var(--error-70) !important;
}
.error .input-default, .wpcf7 input.wpcf7-not-valid {
  color: var(--error-70) !important;
}
.error .input-hint-error, .wpcf7-not-valid-tip  {
  color: var(--error-70);
  font-family: "Inter", sans-serif;
  font-size: 16px;
  font-style: normal;
  font-weight: 400;
  line-height: 25px;
  letter-spacing: 0.5px;
}
.wpcf7-not-valid-tip{
  margin-top: 8px;
}
.disabled input:disabled,
.disabled .input-wrap {
  background-color: var(--background-secondary);
  color: var(--text-disabled);
  cursor: not-allowed;
}
.disabled label {
  color: var(--text-disabled);
}

.input-leading-icon {
  line-height: 0;
  padding-inline: var(--spacing-medium);
  border-right: 1px solid var(--stroke-primary);
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
}

.input-wrap:focus-within .input-leading-icon {
  border-color: var(--stroke-brand);
}

.error .input-leading-icon {
  border-color: var(--error-70);
}

.disabled .input-leading-icon svg {
  opacity: 0.5;
}
.disabled .input-leading-icon {
  color: var(--text-disabled);
}
.input-trailing-icon {
  line-height: 0;
  padding-inline: var(--spacing-medium);
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  border-left: 1px solid var(--stroke-primary);
}
.input-wrap:focus-within .input-trailing-icon {
  border-color: var(--stroke-brand);
}
.error .input-trailing-icon {
  border-color: var(--error-70);
}
.disabled .input-trailing-icon svg {
  opacity: 0.5;
}
.disabled .input-trailing-icon {
  color: var(--text-disabled);
}

/* ============================
     Radio Custom TYPES
     ============================ */

.wpcf7 legend{
  margin-bottom: 16px;
}
.wpcf7-checkbox, .wpcf7-radio{
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.wpcf7-checkbox label span, .wpcf7-radio label span{
  font-size: 16px;
  font-family: Inter;
  font-weight: 400;
  
  font-size: 16px;
  line-height: 25px;
  letter-spacing: 0.5px;
}
.wpcf7-list-item{
  margin: 0;
}
.wpcf7-checkbox .wpcf7-list-item label ,.wpcf7-radio .wpcf7-list-item label{
  display: flex;
  flex-direction: row;
  align-items: center;
}
.wpcf7 input[type="checkbox"], .wpcf7 input[type="radio"] {
  /* Example custom style for checkboxes */
  width: unset;
  height: unset;
  flex-basis: unset;
}

/* Custom for Contact Form 7*/
/* Container styling */
.wpcf7-radio .wpcf7-list-item label {
  display: inline-flex;
  align-items: center;
  cursor: pointer;
  font-size: 16px;
  position: relative;
  padding-left: 24px; /* space for custom checkmark */
}

/* Hide default radio */
.wpcf7-radio .wpcf7-list-item input[type="radio"] {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

/* Custom checkmark */
.wpcf7-radio .wpcf7-list-item label::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  height: 16px;
  width: 16px;
  border: 1px solid var(--stroke-primary);
  border-radius: 50%;
  box-sizing: border-box;
  transition: all 0.2s ease;
}

/* Hover state */
.wpcf7-radio .wpcf7-list-item label:hover::before {
  background-color: var(--background-brand-light);
  border-color: var(--background-brand-dark);
}

/* Checked state */
.wpcf7-radio .wpcf7-list-item input[type="radio"]:checked + .wpcf7-list-item-label::before {
  border-color: var(--background-brand-dark);
  background-color: var(--background-brand-light);
}

/* Inner dot when checked */
.wpcf7-radio .wpcf7-list-item input[type="radio"]:checked + .wpcf7-list-item-label::after {
  content: "";
  position: absolute;
  left: 4px;
  top: 50%;
  transform: translateY(-50%);
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background-color: var(--background-brand-dark);
}

/* Hide the default radio button */
.radio-label {
  display: inline-flex;
  align-items: center;
  cursor: pointer;
  font-size: 16px;
  position: relative;
}

.radio-input {
  position: absolute;
  opacity: 0; /* hides the default radio */
}

.radio-checkmark {
  height: 16px;
  width: 16px;
  border: 1px solid var(--stroke-primary);
  border-radius: 50%;
  position: relative;
  margin-right: var(--spacing-small);
  box-sizing: border-box;
  transition: all 0.2s ease;
}
.radio-label:hover .radio-checkmark {
  background-color: var(--background-brand-light);
  border-color: var(--background-brand-light);
}
/* Checked state */
.radio-input:checked + .radio-checkmark {
  border-color: var(--background-brand-dark);
  background-color: var(--background-brand-light);
}

.radio-input:checked + .radio-checkmark::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background-color: var(--background-brand-dark);
}
.error .radio-checkmark {
  border-color: var(--error-70);
}
.disabled .radio-checkmark {
  background-color: var(--background-secondary);
  border-color: var(--stroke-primary);
  cursor: not-allowed;
}
.disabled .radio-label {
  pointer-events: none;
  cursor: not-allowed;
}

/* ============================
     Checkbox Custom TYPES
     ============================ */

/* ===== Base Label ===== */
.checkbox-label {
  display: inline-flex;
  align-items: center;
  cursor: pointer;
  font-size: 16px;
  position: relative;
}

/* Hide native checkbox but keep it focusable/clickable */
.checkbox-input {
  position: absolute;
  opacity: 0;
  inset: 0;
  margin: 0;
  cursor: pointer;
}

/* Visual box */
.checkbox-checkmark {
  width: 16px;
  height: 16px;
  border: 1px solid var(--stroke-primary);
  border-radius: 2px; /* square-ish; adjust if you want pill */
  margin-right: var(--spacing-small);
  box-sizing: border-box;
  position: relative;
  background-color: var(--background-primary, #fff); /* fallback */
}

/* Hover */
.checkbox-label:hover .checkbox-checkmark {
  background-color: var(--background-brand-light);
  border-color: var(--background-brand-light);
}

/* Focus (keyboard visible) */
.checkbox-input:focus-visible + .checkbox-checkmark {
  outline: 2px solid var(--background-brand-dark);
  outline-offset: 2px;
}

/* Checked */
.checkbox-input:checked + .checkbox-checkmark {
  border-color: var(--background-brand-dark);
  background-color: var(--background-brand-light);
  /* background-image: url("data:image/svg+xml,%3Csvg%20width='10'%20height='8'%20viewBox='0%200%2010%208'%20xmlns='http://www.w3.org/2000/svg'%20fill='none'%3E%3Cpath%20d='M1%203.14286L3.90909%206L9%201'%20stroke='%23938519'%20stroke-width='1.5'/%3E%3C/svg%3E"); */
  background-repeat: no-repeat;
  background-position: center;
  background-size: 10px 8px;
}
/* Contact Form 7 */
/* Hide native checkbox */
.wpcf7-checkbox .wpcf7-list-item input[type="checkbox"] {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

/* Label container */
.wpcf7-checkbox .wpcf7-list-item .wpcf7-list-item-label {
  position: relative; /* ✅ make pseudo-elements align to this */
  padding-left: 24px; /* space for box */
  display: inline-block;
  cursor: pointer;
}

/* Custom box */
.wpcf7-checkbox .wpcf7-list-item .wpcf7-list-item-label::before {
  content: "";
  position: absolute;
  left: 0;
  top: 4px;
  /* transform: translateY(-50%); */
  width: 16px;
  height: 16px;
  border: 1px solid var(--stroke-primary);
  border-radius: 2px;
  background-color: transparent;
  box-sizing: border-box;
  transition: all 0.2s ease;
}

/* Hover effect */
.wpcf7-checkbox .wpcf7-list-item label:hover .wpcf7-list-item-label::before {
  background-color: var(--background-brand-light);
  border-color: var(--background-brand-bright);
}

/* Checked box style */
.wpcf7-checkbox .wpcf7-list-item input[type="checkbox"]:checked + .wpcf7-list-item-label::before {
  border-color: var(--background-brand-dark);
  background-color: var(--background-brand-light);
}

/* SVG checkmark when checked */
.wpcf7-checkbox .wpcf7-list-item input[type="checkbox"]:checked + .wpcf7-list-item-label::after {
  content: "";
    position: absolute;
    left: 3px;
    top: 8px;
    /* transform: translate(-50%, -50%); */
    width: 10px;
    height: 8px;
    /* background-image: url("data:image/svg+xml,%3Csvg%20width='10'%20height='8'%20viewBox='0%200%2010%208'%20xmlns='http://www.w3.org/2000/svg'%20fill='none'%3E%3Cpath%20d='M1%203.14286L3.90909%206L9%201'%20stroke='%23938519'%20stroke-width='1.5'/%3E%3C/svg%3E");  */
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
}



/* ----- States via parent group ----- */

/* Error */
.checkbox-group.error .checkbox-checkmark {
  border-color: var(--error-70);
}
.checkbox-group.error .checkbox-input:checked + .checkbox-checkmark {
  border-color: var(--error-70);
  /* keep your brand-light bg or use error tint if preferred */
}

/* Disabled */
.checkbox-group.disabled .checkbox-label {
  pointer-events: none;
  cursor: not-allowed;
  opacity: 0.7; /* optional */
}
.checkbox-group.disabled .checkbox-checkmark {
  background-color: var(--background-secondary);
  border-color: var(--stroke-primary);
  cursor: not-allowed;
}
/* ============================
     Select Custom TYPES
     ============================ */
.default-select, .wpcf7-select {
  appearance: none; /* Remove default arrow */
  -webkit-appearance: none;
  -moz-appearance: none;
  width: 100%;
  height: 48px;
  padding: 0 var(--spacing-medium); /* Space for arrow on the right */
  font-size: 16px;
  border: 1px solid var(--stroke-primary);
  border-radius: var(--radius-4);
  background-color: transparent;
  /* background-image: url("data:image/svg+xml,%3Csvg%20width='24'%20height='24'%20viewBox='0%200%2024%2024'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M11.7001%2012.7086L16.3001%208.10864L17.8914%209.69989L11.7001%2015.8911L5.50886%209.69989L7.10011%208.10864L11.7001%2012.7086Z'%20fill='%231A1A1A'/%3E%3C/svg%3E");  */
  background-repeat: no-repeat;
  background-position: right var(--spacing-medium) center;
  background-size: 24px 24px;
  cursor: pointer;
  transition:
    border-color 0.2s ease,
    background-color 0.2s ease;
}
.custom-select-group {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-small);
}
/* Hover */
.default-select:hover {
  border-color: var(--background-brand-dark);
  background-color: var(--background-brand-light);
}

/* Focus */
.default-select:focus {
  outline: none;
  border-color: var(--background-brand-dark);
  outline: none;
}

/* Error State */
.custom-select-group.error .default-select {
  border-color: var(--error-70);
}

/* Disabled State */
.default-select:disabled {
  background-color: var(--background-secondary);
  border-color: var(--stroke-primary);
  color: #888;
  cursor: not-allowed;
}
.wpcf7 input.wpcf7-submit{
  display: flex;
  padding: var(--spacing-small) var(--spacing-large);
  justify-content: center;
  align-items: center;
  gap: var(--spacing-1x-small);
  border-radius: var(--radius-1000);
  font-family: Inter;
  font-size: 18px;
  font-style: normal;
  font-weight: 500;
  line-height: 22px;
  letter-spacing: 1px;
  cursor: pointer;
  color: var(--button-text);
  background-color: transparent;
  border: none;
  text-align: center;
  background-color: var(--button-brand);
}
.wpcf7 input.wpcf7-submit:hover{
  background-color: var(--button-brand-hover);
}
.wpcf7 input.wpcf7-submit:focus{
  background-color: var(--button-brand-pressed);
}
.wpcf7 form .wpcf7-response-output {
  margin:16px 0 0;
  border:1px solid var(--error-70) !important;
  color: var(--error-70);
  border-radius: 4px;
}
.wpcf7 .wpcf7-spinner{
  position: absolute;
}
.wpcf7.submitting .wpcf7-spinner{
  position: static;
}
/* 
  ============================
    Typography
   ============================
   This section defines the typographic styles for headings, labels, body text, and quotes.
   It sets font families, sizes, weights, line heights, and letter spacing for consistent text styling.
*/

.primary-heading,
.is-style-primary-heading,
.wp-block-post-title,h1 {
  font-family: "Bitter", serif;
  font-size: 46px;
  font-style: normal;
  font-weight: 300;
  line-height: 60px; /* 118.75% */
  letter-spacing: -0.25px;
}
.secondary-heading,
.is-style-secondary-heading,
h2 {
  font-family: "Bitter", serif;
  font-style: normal;
  font-weight: 300;
  letter-spacing: -0.25px;
  font-size: 28px;
  line-height: 36px;
}
.tertiary-heading,
.is-style-tertiary-heading ,h3{
  font-family: "Inter", sans-serif;
  font-size: 22px;
  font-style: normal;
  font-weight: 600;
  line-height: 30px; /* 133.333% */
  letter-spacing: 1px;
}
.quaternary-heading,
.is-style-quaternary-heading,h4 {
  /* Desktop/Headline/Small */
  font-family: "Inter", sans-serif;
  font-size: 20px;
  font-style: normal;
  font-weight: 600;
  line-height: 28px; /* 136.364% */
  letter-spacing: 1px;
}
.quinary-heading,
.is-style-quinary-heading ,h5{
  /* Desktop/Headline/X Small */
  font-family: "Inter", sans-serif;
  font-size: 18px;
  font-style: normal;
  font-weight: 600;
  line-height: 24px; /* 140% */
  letter-spacing: 1px;
}
.label-large,
.is-style-label-large {
  font-family: "Inter", sans-serif;
  font-size: 20px;
  font-style: normal;
  font-weight: 500;
  line-height: 26px; /* 118.182% */
  letter-spacing: 1px;
}
.label-medium,
.is-style-label-medium,
h6,
.wpcf7 label, .wpcf7 legend {
  font-family: "Inter", sans-serif;
  font-size: 18px;
  font-style: normal;
  font-weight: 500;
  line-height: 22px; /* 122.222% */
  letter-spacing: 1px;
}
.label-small,
.is-style-label-small {
  font-family: "Inter", sans-serif;
  font-size: 14px;
  font-style: normal;
  font-weight: 500;
  line-height: 18px; /* 128.571% */
  letter-spacing: 1px;
}
.body-text,
.is-style-body-text {
  font-size: 16px;
  font-style: normal;
  font-weight: 400;
  line-height: 25px; /* 156.25% */
  letter-spacing: 0.5px;
  font-family: "Inter", sans-serif;
}

.body-article,
.is-style-body-article,
.is-style-default {
  font-family: "Bitter", serif;
  letter-spacing: 0.25px;
}

.quote-sans-serif,
.quote-serif {
  font-size: 32px;
  font-style: italic;
  line-height: 36px; /* 150% */
  color: var(--text-brand);
}

.quote-sans-serif {
  font-family: "Inter", sans-serif;
  letter-spacing: 0.25px;
  font-weight: 500;
}

.quote-serif, quote-serif > *  {
  font-family: "Bitter", serif !important;
  letter-spacing: 0px;
  font-weight: 400;
}
.bold-600{
  font-weight: 600 !important;
}
.bold-700{
  font-weight: 700 !important;
}
/* Mobile Responsive */
@media (max-width: 767px) {
  .primary-heading,
  .is-style-primary-heading,h1 {
    font-size: 46px;
    line-height: 50px; /* 116.667% */
  }
  .secondary-heading,
  .is-style-secondary-heading,h2 {
    font-size: 36px;
    line-height: 48px; /* 125% */
  }	
  .label-large,
  .is-style-label-large {
    font-size: 20px;
    line-height: 24px; /* 120% */
  }
  .quote-sans-serif,
  .is-style-quote-sans-serif,
  .quote-serif,
  .is-style-quote-serif {
    font-size: 24px;
    line-height: 36px; /* 120% */
  }
}
/* 
  Color Utility Classes
  Use these classes to quickly apply text or background colors from the design system.
*/

/* Text Color */
.color-primary {
  color: var(--text-primary) !important;
}
.color-secondary {
  color: var(--text-secondary) !important;
}
.color-brand {
  color: var(--text-brand) !important;
}
.color-brand-inverted {
  color: var(--text-inverted-brand) !important;
}
.color-secondary-brand {
  color: var(--text-secondary-brand) !important;
}
.color-accent-brand {
  color: var(--text-accent-brand) !important;
}

/* Background Colors */
.background-primary {
  background-color: var(--background-primary) !important;
}
.background-secondary {
  background-color: var(--background-secondary) !important;
}
.background-brand {
  background-color: var(--background-brand-light) !important;
}
.background-secondary-brand {
  background-color: var(--background-secondary-light) !important;
}
.background-accent-brand {
  background-color: var(--background-accent-light) !important;
}
.background-dark {
  background-color: var(--background-dark);
}
/* 
  Tag Styles
  These classes style tag elements for use as labels, badges, or status indicators.
  Each variant uses a different color scheme from the design system.
*/
.tag {
  display: inline-flex;
  padding: var(--spacing-1x-small, 4px) var(--spacing-small, 8px);
  justify-content: center;
  align-items: center;
  gap: var(--spacing-1x-small, 4px);
  border-radius: var(--radius-4);
  text-decoration: none;
  font-family: "Inter", sans-serif;
  font-size: 14px;
  font-style: normal;
  font-weight: 500;
  line-height: 18px; /* 128.571% */
  letter-spacing: 1px;
}
.tag-brand {
  background-color: var(--background-brand-light);
  color: var(--text-secondary);
  border: 1px solid var(--stroke-brand);
}
.tag-secondary {
  background-color: var(--background-secondary-light);
  color: var(--text-secondary-brand);
  border: 1px solid var(--stroke-secondary-brand);
}
.tag-accent {
  background-color: var(--background-accent-light);
  color: var(--text-accent-brand);
  border: 1px solid var(--stroke-accent);
}
.tag-neutral {
  background-color: var(--background-secondary);
  color: var(--text-secondary);
  border: 1px solid var(--stroke-primary);
}
.tag-inverted {
  background-color: var(--background-dark);
  color: var(--text-inverted-secondary);
  border: 1px solid var(--stroke-secondary);
}

.tag-wrap {
  display: flex;
  flex-wrap: wrap;
  gap: var(--spacing-small);
}
/* 
  The .wrap class is a grid container for laying out child elements in three columns on desktop.
  On screens 1024px wide or less, it switches to a flexbox layout with wrapping for better responsiveness.
  Child divs inside .wrap are centered vertically.
*/

.wrap {
  display: grid;
  width: 100%;
  gap: var(--spacing-80);
  grid-template-columns: 1fr 1fr 1fr;
  margin: auto;
}
@media screen and (max-width: 1024px) {
  .wrap {
    display: flex;
    flex-wrap: wrap;
  }
}
.wrap div {
  display: flex;
  align-items: center;
  justify-items: center;
}

/* 
  .quote-wrap styles the container for quotes, arranging its children in a vertical column with spacing and padding.
  The .label-medium inside .quote-wrap is styled with a secondary text color for visual distinction.
*/
.quote-wrap {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-medium);
  padding: var(--spacing-40);
}
.quote-wrap .label-medium {
  color: var(--text-secondary);
}
/* 
  .focus-paragraph styles a highlighted paragraph section with extra padding, a bright brand background, and primary text color.
  Useful for drawing attention to important content blocks.
*/
.focus-paragraph {
  padding: var(--spacing-2x-large, 40px);
  background-color: var(--background-brand-bright);
  color: var(--text-primary);
}
@media (max-width: 767px) {
  .quote-wrap {
    padding: var(--spacing-24);
    gap: var(--spacing-12);
  }
  .focus-paragraph {
    padding: var(--spacing-24);
  }
}
/*  Accordion styles:
  - .accordion-item:has(.accordion-header:hover): Highlights the accordion item on header hover.
  - .accordion-item: Sets border and default padding.
  - .accordion-item.active: Adds extra padding when active.
  - .accordion-header: Styles the clickable header area.
  - .accordion-item svg: Sets icon size and transition.
  - .accordion-item.active svg: Rotates icon when open.
  - .accordion-content: Handles expand/collapse animation.  
*/
.accordion-item:has(.accordion-header:hover) {
  background-color: var(--background-brand-light);
}
.accordion-item {
  border-bottom: 1px solid var(--stroke-primary);
  padding-bottom: 0px;
}
.accordion-item.active {
  padding-bottom: var(--spacing-medium);
}
.accordion-header {
  width: 100%;
  padding: var(--spacing-medium) 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  cursor: pointer;
  background: none;
  border: none;
  text-align: left;
}
.accordion-item svg {
  width: 24px;
  height: 24px;
  transition: transform 0.3s linear;
}
.accordion-item.active svg {
  transform: rotate(180deg);
  transition: transform 0.3s linear;
}
.accordion-content {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.4s linear;
}

/* 
  ============================
    Grid Columns & Containers
  ============================
  - .grid-col-4: 4-column grid, responsive to 2 columns on tablets and 1 on mobile.
  - .grid-col-3: 3-column grid, responsive to 2 columns on tablets and 1 on mobile.
  - .container-full: Full-width container, maxes out at viewport width.
  - .container-large: Large container, centers content and limits width.
  - .container-medium: Medium container, centers content and limits width.
*/

.grid-col-4 {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--spacing-large);
  row-gap: var(--spacing-2x-large);
  width: 100%;
}
.grid-col-3 {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--spacing-large);
  row-gap: var(--spacing-2x-large);
}
.filter-selectors .grid-col-3 {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 16px;
  margin-bottom: 16px;
}
/* Responsive grid: 2 columns on tablets */
@media (max-width: 1024px) and (min-width: 768px) {
  .grid-col-4,
  .grid-col-3 {
    grid-template-columns: repeat(2, 1fr);
    row-gap: var(--spacing-large);
  }
}

/* Responsive grid: 1 column on mobile */
@media (max-width: 767px) {
  .grid-col-4,
  .grid-col-3 {
    grid-template-columns: 1fr;
    row-gap: var(--spacing-large);
  }
}

/* ============================
   Section & Container Paddings
   ============================
   This section controls the vertical padding for major page sections
   and the horizontal padding for containers at different breakpoints.
*/
/* Container utilities */
.editor-visual-editor__post-title-wrapper {
  margin-bottom: 4rem !important;
}
.container-full {
  width: 100%;
  max-width: 100vw !important;
  box-sizing: border-box;
  padding-inline: 0;
}
.container-large {
  width: 100%;
  max-width: var(--large-width) !important;
  margin-inline: auto;
  box-sizing: border-box;
  
}
.page-content > :where(:not(.container-full):not(.is-bg):not(.container-large):not(.container-medium)){
  width: 100%;
  max-width: var(--base-width);
  margin-inline: auto;
  box-sizing: border-box;
  
}
.page-content > :where(:not(.container-full):not(.wp-block-spacer):not(.is-bg):not(.container-large):not(.container-medium)){
  margin-bottom:16px;
}
.container-medium,

.entry-content > :where(:not(.container-full):not(.is-bg):not(.container-full):not(.is-bg):not(.container-large):not(.container-medium) ){
  width: 100%;
  max-width: var(--base-width);
  margin-inline: auto;
  box-sizing: border-box;
}
/* Default section vertical padding (desktop/tablet) */
.section-padding {
  padding: var(--spacing-3x-large) 0;
}
.section-padding-wrap {
  padding: var(--spacing-3x-large) var(--spacing-2x-large);
}

/* Responsive adjustments for mobile screens */
@media screen and (max-width: 1360px) {
  .entry-content > :where(:not(.container-full):not(.is-bg):not(.container-full):not(.is-bg):not(.container-large):not(.container-medium) ),
  .container-large,
  .container-medium,
 
  .page-content > :where(:not(.container-full):not(.is-bg):not(.container-large):not(.container-medium)){
    padding-inline: var(--spacing-large);
  }
}
@media screen and (max-width: 767px) {
  /* Reduce section vertical padding on mobile */
  .section-padding {
    padding: var(--spacing-2x-large) 0;
  }
  .section-padding-wrap {
    padding: var(--spacing-2x-large) var(--spacing-large);
  }
  /* Add horizontal padding to full-width containers on mobile */
  .container-full {
    padding: 0 var(--spacing-medium);
  }
  /* Add horizontal padding to large and medium containers on mobile */
  .entry-content > :where(:not(.container-full):not(.is-bg):not(.container-full):not(.is-bg):not(.container-large):not(.container-medium) ),
  .container-large,
  .container-medium,
 
  .page-content > :where(:not(.container-full):not(.is-bg):not(.container-large):not(.container-medium)){
    padding-inline: var(--spacing-large);
  }
}
/* ============================
   Cards
   ============================
   Styles for card components, including images and headings.
*/

/* Card image: full width, 4:3 aspect ratio, cover fit, bottom margin */
.card img {
  width: 100% !important;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  margin-bottom: var(--spacing-medium);
}

/* Card heading: vertical margin */
.card h3 {
  margin: var(--spacing-small) 0;
}

/* Responsive: Adjust card image margin on mobile */
@media (max-width: 767px) {
  .card img {
    width: 100%;
    object-fit: cover;
    margin-bottom: var(--spacing-12);
  }
}

/* ============================
   Advertisement Tag
   ============================
   Styles for the advertisement Tag and its contents.
*/

/* Layout for advertisement Tag: horizontal flex, spaced, centered */
.advertisement-wrap {
  display: flex;
  flex-direction: row;
  align-items: start;
  justify-content: space-between;
  gap: var(--spacing-small);
}

/* Limit tag group width inside advertisement Tag */
.advertisement-wrap .tag-wrap {
  max-width: 80%;
}

/* Style for small label in advertisement Tag */
.advertisement-wrap .label-small {
  color: var(--text-secondary);
}

/* Banner Card
   The .banner-card class provides padding for banner-style cards.
   On mobile screens (max-width: 767px), the padding is reduced for better fit.
   Direct child divs of .banner-card also receive matching padding.
*/
.banner-card {
  padding: var(--spacing-2x-large);
}
.banner-card > div {
  padding: var(--spacing-2x-large);
}
.banner-card .secondary-heading{
  max-width: var(--base-width);
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .banner-card {
    padding: var(--spacing-large);
  }
  .banner-card > div {
    padding: var(--spacing-large) var(--spacing-medium);
  }
}
/* Texture Backgrounds */

.texture-background {
  background-image: var(--texture);
  background-color: var(--background-secondary-bright); /* Replace with actual texture URL */
  background-repeat: repeat;
  background-size: cover;
  background-position: center;
}

/* 
  Figure and Image Styles
  Styles for <figure>, <img>, and <figcaption> elements to ensure consistent layout and caption appearance.
*/
.wp-block-group__inner-container .wp-block-image{
  margin-top: 0;
}
.wp-block-image {
  display: flex;
  flex-direction: column;
  align-items: start;
  gap: var(--spacing-medium);
  width: 100%;
  margin: 24px auto;
}
figure {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-medium);
  width: 100%;
}
figure img {
  width: 100%;
  height: auto;
  object-fit: cover;
}
figcaption, .figcaption {
  font-family: "Inter", sans-serif;
  font-size: 15px !important;
  font-style: normal;
  font-weight: 500;
  line-height: 22px; /* 122.222% */
  letter-spacing: 1px;
  color: var(--text-secondary) !important;
  margin: 0 !important;
	width: 0px;
    max-width: 100%;
    min-width: 100%;
}
/* Editor */
.editor-styles-wrapper figcaption, .editor-styles-wrapper .figcaption{
  width: 100%;
}
/* ============================
   Slider Styles
   ============================
   This section contains styles for Swiper sliders, navigation arrows, and pagination bullets.
   It includes responsive adjustments for mobile and desktop, as well as primary and secondary arrow variants.
*/

/* Swiper containers for main and article sliders */
.swiper-container,
.swiper-container-articles {
  position: relative;
  width: 100%;
	
}
.swiper-container{
	height: 100% !important;
}
.swiper-container figure{
	padding: 0 12px;
}
/* Maintain 4:3 aspect ratio for slider images */
.swiper-container figure img {
/*   aspect-ratio: 4 / 3; */
	height: 400px;
	object-fit: contain;
}
.swiper-slide {
  width: auto;          /* ✅ allow natural width */
  height: auto;
  flex-shrink: 0;
}

.swiper-slide img {
  width: auto;          /* ✅ keep original width */
  max-width: 100%;      /* prevent overflow */
  height: auto;
  display: block;
}
/* Arrow button base styles (primary and secondary) */
.slider-arrow,
.secondary-arrow {
  border-radius: 50%;
  width: 32px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  z-index: 10;
}

/* Primary slider arrow positioning and color */
.slider-arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background: var(--button-brand);
}
.swiper-container-articles .slider-navigation {
  display: none;
}
@media screen and (max-width: 1024px) {
  .swiper-container-articles .slider-navigation {
    display: flex;
  }
}
/* Responsive: static positioning for slider arrows on mobile */
@media screen and (max-width: 767px) {
  .slider-arrow {
    position: static;
    transform: translateY(0%);
  }
}

/* Primary arrow hover/active/disabled states */
.slider-arrow:hover {
  background-color: var(--button-brand-hover);
}
.slider-arrow:active {
  background-color: var(--button-brand-pressed);
}
.slider-arrow:disabled {
  background-color: var(--button-disabled) !important;
  cursor: not-allowed;
}

/* Custom arrow positioning for prev/next */
.custom-prev {
  left: 10px;
}
.custom-next {
  right: 10px;
}

/* Secondary arrow color and states */
.secondary-arrow {
  background: var(--button-secondary);
}
.secondary-arrow:hover {
  background-color: var(--button-secondary-hover);
}
.secondary-arrow:active {
  background-color: var(--button-secondary-pressed);
}
.secondary-arrow:disabled {
  background-color: var(--button-disabled) !important;
  cursor: not-allowed;
}

/* Responsive: show/hide elements for desktop/mobile */
@media (max-width: 1024px) {
  .only-desktop {
    display: none;
  }
}
.only-mobile {
  display: none !important;
}
@media (max-width: 1024px) {
  .only-mobile {
    display: block;
  }
}

/* Article Mobile Slider navigation and static arrows */
.slider-navigation {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: var(--spacing-small);
  margin-top: var(--spacing-large);
}
.static-arrows {
  display: flex;
  align-items: center;
  gap: var(--spacing-small);
}

/* Swiper pagination bullets */
.swiper-pagination-bullet {
  width: 8px;
  height: 8px;
  background-color: var(--neutral-20) !important;
  opacity: 1 !important;
}
.swiper-pagination-bullet-active {
  background-color: var(--neutral-50) !important;
}

/* Post Static Components */
/* 
  ============================
    Post Static Components
    ============================
    Styles for featured images, rounded hero images, and author hero layout.
    - .featured-image img: Main post image, full width, fixed height, cover fit.
    - .rounded-hero: Container for rounded hero image, uses relative positioning.
    - .featured-image-rounded: Absolutely positions the rounded image in the hero.
    - .featured-image-rounded img: Circular, centered, aspect-ratio 1:1.
    - .author-hero-wrap: Flex row for author info and image, wraps on small screens.
    - Responsive: Stacks .author-hero-wrap vertically on mobile.
*/

.featured-image img {
  width: 100%;
  height: 510px;
  object-fit: cover;
  overflow: hidden;
  object-fit: cover;
  object-position: center;
}
.rounded-hero {
  position: relative;
}

.featured-image-rounded {
  position: absolute;
  top: 56%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: calc(70%);
}

.featured-image-rounded img {
  width: 100%;
  aspect-ratio: 1 / 1;
  border-radius: 50%;
  object-fit: cover;
  object-position: center;
}
.author-hero-wrap {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--spacing-2x-large);
  width: 100%;

}

@media screen and (max-width: 767px) {
  .author-hero-wrap {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-large);
  }
}
.author-card {
  padding-top: var(--spacing-1x-large);
  border-top: var(--stroke-primary) solid 1px;
  display: flex;
  align-items: center;
  gap: var(--spacing-large);
}
.author-image {
  flex-basis: 183px;
  flex-grow: 0;
  aspect-ratio: 183 / 198;
  flex-shrink: 0;
  max-width: 183px;
}
.author-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
@media screen and (max-width: 767px) {
  .author-card {
    flex-direction: column;
    align-items: flex-start;
    padding-top: var(--spacing-20);
  }
}
.relative{
  position: relative;
}
.post-title-wrap{
  width: calc(100% - 32px);
}
.default-share-btn{
  position: absolute;
  top: 0;
  right: 0;
}
@media screen and (max-width: 767px) {
  .post-title-wrap{
    width: 100%;
  }
  .default-share-btn{
    position: static;
    margin-top: var(--spacing-20);
  }
}
/* Curved Header */

.blog-header-curved {
  width: 100%;
  position: relative;
}
.blog-header-curved img {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 600px;
  aspect-ratio: 1 / 1;

  border-radius: 50%;
  object-fit: cover;
}
.subheading-curved {
  margin-top: -60px;
}
@media screen and (max-width: 1024px) {
  .blog-header-curved svg {
    display: none;
  }
  .blog-header-curved .sr-only {
    display: block;
  }
  .blog-header-curved img {
    width: 100%;
    position: static;
    transform: none;
    aspect-ratio: 1 / 1;
  }
  .subheading-curved {
    margin-top: 24px;
  }
}
/* 
  Extra Info Block
  Styles for a bordered information section with flexible layout.
  - .extra-info-wrap: Adds padding and a brand-colored border.
  - .info-list: Flex container for info items, wraps on desktop, stacks on mobile.
  - .info-list > div: Allows each info item to grow equally.
  - Responsive: Reduces padding and stacks info items vertically on screens <= 768px.
*/
.extra-info-wrap {
  padding: var(--spacing-large);
  border: 1px solid var(--stroke-brand);
}

.info-list {
  display: flex;
  flex-wrap: wrap;
  gap: var(--spacing-medium);
}

.info-list > div {
  flex-grow: 1;
  min-width: calc(25% - var(--spacing-medium));
  max-width: calc(33% - var(--spacing-medium));
}

@media (max-width: 768px) {
  .extra-info-wrap {
    padding: var(--spacing-medium);
  }
  .info-list {
    flex-direction: column;
  }
  .info-list > div {
    max-width: 100%;
  }
}

/* ============================
   Header Menu Bar Styles
   ============================
   Styles for the main header and navigation bar, including logo, menu, links, dropdowns, and overlay.
*/

/* Header: adds bottom border and stacking context */
header {
  border-bottom: 1px solid var(--stroke-primary);
}
.sticky-menu{
  position: sticky;
  top: 0;
  background-color: white;
  z-index: 9999;
}
/* Navigation bar: flex column, centered, max width, spacing */
nav {
  display: flex;
  align-items: center;
  flex-direction: column;
  justify-content: center;
  padding: var(--spacing-medium) var(--spacing-3x-large);
  gap: var(--spacing-1x-small);
  max-width: 1440px;
  margin: auto;
  z-index: 20;
}

/* Main menu: horizontal flex, spacing, wraps on overflow */
nav .menu {
  display: flex;
  gap: var(--spacing-24);
  align-items: center;
  flex-wrap: wrap;
  justify-content: center;
}

/* Logo container: padding and block display */
.logo {
  padding: 8px;
  display: block;
}

/* Logo image: responsive sizing, max width */
.logo {
  max-width: 100%;
  width: 146px;
}

/* Navigation link: flex row, center items, spacing between icon and text */
.nav-link {
  display: flex;
  align-items: center;
  gap: var(--spacing-1x-small);
}

/* Active nav link: brand color for text */
.nav-link:active,
.active-drop > .nav-link {
  color: var(--text-brand);
}

/* Active nav link icon: brand color for SVG path */
.nav-link:active svg path,
.active-drop > .nav-link svg path {
  fill: var(--text-brand);
}

/* Icon arrow animation for dropdowns: rotates on active */
@media (orientation: portrait), (orientation: landscape) {
  .nav-link > .icon-arrow {
    transition: transform 0.3s ease;
  }
  .active-drop > .nav-link > .icon-arrow {
    transform: rotate(180deg);
    transition: transform 0.3s ease;
  }
}

/* Icon arrow: remove line height for vertical alignment */
.nav-link .icon-arrow {
  line-height: 0;
}

/* Nav link hover: highlight text and icon with brand hover color */
.nav-link:hover svg path,
.nav-link:hover {
  color: var(--button-brand-hover);
  fill: var(--button-brand-hover);
}

/* ============================
   Dropdown Menu Styles
   ============================
*/

/* Dropdown container: white background, absolute below nav, full width, padding */
.drop-down-wrap {
  background-color: white;
  position: absolute;
  top: calc(100% + 1px);
  left: 0;
  width: 100%;
  padding: var(--spacing-medium) var(--spacing-2x-large);
  z-index: 10;
}
#open-search.active path{
  fill: var(--text-brand);
}
@media (min-width: 1025px) {
  .drop-down-wrap,.search-drop-down {
    box-shadow: 0 8px 24px -8px rgba(0,0,0,0.12);
  }
  .container-large-menu {
    max-width: var(--large-width);
    margin-inline: auto;
  }
}

/* Dropdown section label: horizontal and bottom padding */
.drop-down-wrap > div > span {
  padding: 0 var(--spacing-medium) var(--spacing-1x-small);
}

/* Dropdown list items: vertical and horizontal padding */
.drop-down-wrap ul > li {
  padding: var(--spacing-small) var(--spacing-medium);
}

/* Dropdown grid: 4 columns by default, full width, large column gap */
.flex-list-drops {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  column-gap: var(--spacing-2x-large);
  width: 100%;
}

/* Responsive: 2 columns on tablets, smaller gap */
@media (max-width: 1024px) and (min-width: 768px) {
  .flex-list-drops {
    grid-template-columns: repeat(2, 1fr);
    column-gap: var(--spacing-large);
  }
}

/* Dropdown hidden by default */
.drop-down-wrap {
  display: none;
}

/* Show dropdown when parent has .active-drop */
.active-drop > .drop-down-wrap {
  display: block;
}

/* Overlay for closing dropdown: invisible, covers viewport, disables interaction */
.close-drop-overlay-button {
  background-color: #000000;
  position: fixed;
  top: 0;
  inset: 0;
  z-index: 8;
  opacity: 0;
  display: none;
  cursor: default;
}

/* ============================
   Mobile Menu Styles
   ============================
   Styles for the mobile navigation menu, hamburger button, and mobile-specific dropdowns.
*/

/* Hide hamburger menu button and mobile close button by default */
.hamburg-menu-btn,
.mobile-close-drop {
  display: none;
}

@media screen and (max-width: 768px) {
  /* Make nav horizontal, space-between, and add responsive padding */
  nav {
    flex-direction: row;
    justify-content: space-between;
    padding: var(--spacing-small) var(--spacing-medium) !important;
  }

  /* Show hamburger menu button on mobile */
  .hamburg-menu-btn {
    display: block;
  }

  /* Show hamburger "open" icon by default */
  .hamburg-menu-btn .open {
    display: block;
  }
  /* Hide hamburger "close" icon by default */
  .hamburg-menu-btn .close {
    display: none;
  }
  /* When hamburger is active, show "close" icon and hide "open" icon */
  .hamburg-menu-btn.active .close {
    display: block;
  }
  .hamburg-menu-btn.active .open {
    display: none;
  }

  /* Hide menu by default, show as vertical dropdown when active */
  nav .menu {
    display: none;
    flex-direction: column;
    position: absolute;
    top: calc(100% + 1px);
    padding: var(--spacing-20) var(--spacing-medium);
    width: 100%;
    align-items: start;
    left: 0;
    gap: 0;
  }
  nav .menu.active {
    display: flex;
  }

  /* Set menu background color */
  .menu {
    background-color: white;
  }

  /* Style menu list items: full width, padding, border */
  nav .menu > li {
    width: 100%;
    padding: 16px 8px;
    border-bottom: 1px solid var(--stroke-primary);
	order:1;
  }

  /* Space between dropdown label and arrow */
  nav .menu > li > .drop-down {
    justify-content: space-between;
  }

  /* Rotate dropdown arrow for mobile orientation */
  @media (orientation: portrait), (orientation: landscape) {
    nav .menu > li > .drop-down .icon-arrow {
      transform: rotate(-90deg);
    }
  }


  /* Remove border from last 3 menu items */
  nav .menu > li:nth-last-child(-n + 3) {
    border-bottom: none;
  }

  /* Add margin to button wrapper in mobile menu */
  .button-wrap {
    margin-top: 20px;
  }
  /* Make buttons full width in mobile menu */
  .button-wrap a {
    width: 100%;
  }

  /* Remove padding and line-height from logo on mobile */
  .logo {
    padding: 0;
    line-height: 0;
	width:125px;
  }
  .icon-arrow{
    line-height: 0;
  }
  /* Style dropdown wrapper for mobile: full height, scrollable, padding */
  .drop-down-wrap {
    top: 0;
    padding-inline: var(--spacing-12);
    height: calc(100vh - 54px);
    overflow-y: scroll;
  }

  /* Show dropdown grid as block on mobile */
  .drop-down-wrap .flex-list-drops {
    display: block;
  }

  /* Remove horizontal padding from dropdown section label and list items */
  .drop-down-wrap > div > span,
  .drop-down-wrap ul > li {
    padding-inline: 0;
  }

  /* Show mobile close button for dropdown */
  .mobile-close-drop {
    display: block;
  }

  /* Style mobile close button: flex, align, gap, padding, full width */
  .mobile-close-drop button {
    display: flex;
    align-items: center;
    gap: var(--spacing-4);
    padding: var(--spacing-8);
    width: 100%;
  }

  /* Style horizontal rule in mobile close dropdown */
  .mobile-close-drop hr {
    margin: var(--spacing-12) 0;
    border: none;
    background-color: var(--stroke-primary);
    width: 100%;
    height: 1px;
  }
}

/* ============================
   Search Dropdown Styles
   ============================
   Styles for the search dropdown in the navigation.
*/

/* Hide search dropdown by default, position absolutely below nav */
.search-drop-down {
  display: none;
  position: absolute;
  top: calc(100% + 1px);
  background: white;
  width: 100%;
  padding: var(--spacing-16) var(--spacing-40);
}

@media (max-width: 768px) {
  .search-drop-down {
    display: block;
    order: 0 !important;
    padding: 0;
    position: static;
    margin-bottom: var(--spacing-4);
  }
}
.search-drop-down.active {
  display: block;
}

.search-drop-down button, .no-results form button{
  padding-inline: var(--spacing-16);
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}
.search-drop-down input {
  width: 100%;
}

/* ============================
   Footer Styles
   ============================
   Styles for the footer section, including layout, links, logos, and copyright.
*/

/* Footer top section: grid layout with two columns, spacing, and border */
.footer-top {
  padding-top: var(--spacing-3x-large); /* Large top padding */
  padding-bottom: var(--spacing-2x-large); /* Large bottom padding */
  display: grid;
  grid-template-columns: 1fr 1fr; /* Two columns on desktop */
  gap: var(--spacing-24); /* Gap between columns */
  border-bottom: 1px solid var(--stroke-secondary); /* Bottom border */
}

/* Ensure all direct children of .footer-top take full width */
.footer-top > div {
  width: 100%;
}

/* Footer list items: vertical padding for spacing */
.footer-top ul li {
  padding: var(--spacing-8) 0;
}

/* Quick links: grid of three columns for links */
.footer-top .quick-link-wrap {
  display: grid;
  gap: var(--spacing-24);
  grid-template-columns: 1fr 1fr 1fr; /* Three columns on desktop */
}

/* Footer navigation links: white text */
.footer-nav {
  color: white;
}

/* Footer navigation links: brand color on hover */
.footer-nav:hover {
  color: var(--button-brand-hover);
}

/* Brand logo: block display by default */
.brand-logo {
  display: block;
  max-width: 230px;
}
.brand-logo svg {
  width: 100%;
}

/* List of logos: horizontal flex layout with spacing */
.list-logos {
  display: flex;
  align-items: center;
  gap: var(--spacing-24);
  flex-wrap: wrap;
}

/* Copyright section: centered flex layout, wraps on small screens */
.copy-right {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: var(--spacing-24);
  color: var(--text-inverted-primary);
  padding-bottom: var(--spacing-2x-large);
}

/* Copyright links: brand color on hover */
.copy-right a:hover {
  color: var(--button-brand-hover);
}

/* Responsive styles for screens <= 768px */
@media screen and (max-width: 768px) {
  /* Footer top: reduce vertical padding */
  .footer-top {
    padding-top: var(--spacing-large);
    padding-bottom: var(--spacing-large);
  }
  /* Footer top and quick links: single column layout */
  .footer-top,
  .footer-top .quick-link-wrap {
    grid-template-columns: 1fr;
  }
  /* Brand logo: center horizontally */
  .footer-logos {
    display: flex;
    flex-direction: column;
    align-items: center;
  }
  .brand-logo {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    margin-bottom: 32px;
  }
  .list-logos {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--spacing-16);
  }
  /* Copyright: reduce bottom padding */
  .copy-right {
    padding-bottom: var(--spacing-large);
  }
  /* Copyright .copy: move to end of flex order */
  .copy-right .copy {
    order: 999;
  }
}
/* Hero Slider */

.hero-swiper {
  position: relative;
}

.hero-texture {
  width: 70px;
  min-height: 671px;
  background-image: var(--texture);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  display:none;
}

.hero-content {
  width: 100%;
  display: flex;
  align-items: end;
  position: relative;
  color: #000000;
  min-height: 671px;
}

.hero-content .advertisement-wrap .label-small {
  color: #000000;
}

.hero-content>div {
  max-width: 55%;
  min-width: 50%;
  position: relative;
  z-index: 10;
  background:rgb(192 172 37 / 90%);
  padding: var(--spacing-2x-large);
  backdrop-filter: blur(5px);
}
@media (min-width: 1440px){
	.hero-content>div {
	  max-width: 50%;
	  min-width: 50%;
	  
	}
}
.hero-content>img {
  position: absolute;
  inset: 0;
  object-fit: cover;
  width: 100%;
  height: 100%;
}

.hero-read-more {
  display: flex;
  align-items: center;
  gap: var(--space-small);
}

.hero-read-more:hover {
  opacity: 0.8;
}

.hero-read-more>span {
  line-height: 0;
}

.hero-card-wrap {
  display: flex;
  align-items: stretch;
  padding-inline: 56px;
}

/* Responsive styles for break point 800px */
@media (max-width: 767px) {
  .hero-texture {
      width: 24px;
      min-height: 709px;
  }
	.hero-card-wrap{
		  padding-inline: 0px;
	}
  .hero-content {
      flex-direction: column;
      align-items: start;
     
  }

  .hero-content>img {
      position: static;
  }

  .hero-content>div {
      max-width: 100%;
      min-width: 100%;
      padding: var(--spacing-large);
  }

}

/* E paper */


.ausgabe-image img{
  width: 100%;
  height: auto;
}

/* Pagination Style */
.page-pagination{
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--spacing-small);
  width: 100%;
}

.page-numbers {
  display: flex;
  width: 38px;
  height: 38px;
  padding: var(--spacing-small);
  justify-content: center;
  align-items: center;
  gap: var(--spacing-1x-small);
  background-color: var(--background-brand-light);
  color: var(--Buttons-text, #000);
  font-family: Inter;
  font-size: 18px;
  font-style: normal;
  font-weight: 500;
  line-height: 22px; 
  letter-spacing: 1px;
  border-radius: 50%;
}
.page-numbers:hover{
  background-color: var(--button-brand-hover);
}
.page-numbers.current{
  background-color: var(--background-brand-bright);
}
.page-numbers.first-page{
  transform: rotate(-180deg);
}

/* Share Btn */

.fixed-share-mobile{
  display: none;
}

@media (max-width: 768px) {
  .fixed-share-mobile {
    display: block;
    position: fixed;
    bottom: 12px;
    right: 12px;
    z-index: 1000;
    background: var(--background-brand-light);
    border-radius: var(--radius-4);
 
    padding: 8px;
  }
}



/* Shop Grid */
.shop-grid > div {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--spacing-large);
  row-gap: var(--spacing-2x-large);
  width: 100%;
}
.team-grid > div {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--spacing-large);
  row-gap: var(--spacing-2x-large);
  width: 100%;
}

/* Responsive grid: 2 columns on tablets */
@media (max-width: 1024px) and (min-width: 768px) {
  .shop-grid > div, .team-grid > div{
    grid-template-columns: repeat(2, 1fr);
    row-gap: var(--spacing-large);
  }
 
}

/* Responsive grid: 1 column on mobile */
@media (max-width: 767px) {
  .shop-grid > div, .team-grid > div {
    grid-template-columns: 1fr;
    row-gap: var(--spacing-large);
  }
}

p strong{
  font-weight: 700;
}

.read-more{
  background: none;
  text-decoration: underline;
  padding: 0;
  margin-top: 16px;
}
.read-more:hover{
  opacity: 0.9;
}

/* .page-content p{
  margin-bottom: 16px;
}
.page-content h2, .page-content h1{
  margin-bottom: 24px;
} */

/* Tables Style */
.wp-block-table{
  background: var(--background-brand-light);
  padding: 4px 0;
}
.wp-block-table tr{
  border-bottom: 1px solid var(--stroke-primary) !important;
  font-size: 16px;
  font-weight: 500;
  line-height: 25px;
  letter-spacing: 0.5px;
}
.wp-block-table tr:first-of-type{
  font-family: 'Inter';
  font-size: 14px;
  font-weight: 500;
  line-height: 18px;
  letter-spacing: 1px;
  border-bottom: 1px solid var(--stroke-brand) !important;
}
.wp-block-table tr:last-of-type{
  border: none !important;
}
.wp-block-table td{
  border: none;
  padding: 8px;
}

.shop-card-wrap, .price-group, .price-group > div > .is-layout-constrained > *,.shop-grid .wp-block-group{
  padding: 0 !important;
}

.post-bg-secondary .entry-content{
  background-color: #FEEFEC;
}

.post-bg-secondary .tag-brand{
  background-color: #FEEFEC;
  border-color: var(--brand-accent);
}
.post-bg-secondary .color-brand,.post-bg-secondary .quote-sans-serif,.post-bg-secondary .quote-serif{
  color: var(--text-accent-brand) !important;
}
.post-bg-secondary .static-arrows .slider-arrow{
  background-color: var(--button-accent);
}
.post-bg-secondary .static-arrows .slider-arrow:hover{
  background-color: var(--button-accent-hover);
}
.post-bg-secondary .static-arrows .slider-arrow:focus{
  background-color: var(--button-accent-pressed);
}
.post-bg-secondary .extra-info-wrap{
  border: 1px solid var(--stroke-accent);
}

.post-bg-secondary .background-secondary-brand{
  background-color: white !important;
}

.post-bg-secondary .tag-secondary {
  background-color: var(--background-brand-light);
  color: var(--text-secondary);
  border: 1px solid var(--stroke-brand);
}

.image-gallery-swiper{
  margin-top: 24px;
}


.single .entry-content p:not(.is-style-label-large):not(.is-style-body-text):not(.is-style-label-medium):not(.is-style-label-small){
  font-family: "Bitter", serif;
}
.single .entry-content >  p:first-of-type:not(.is-style-label-large):not(.is-style-label-medium):not(.is-style-label-small)::first-letter{
  -webkit-initial-letter: 2;
	  initial-letter: 2;
	margin-right: 8px; 
}
.single .entry-content > p:first-of-type:not(.is-style-label-large):not(.is-style-label-medium):not(.is-style-label-small)::first-letter {
  float: left;
  font-size: 3.5em; /* Adjust to match the height of 2 lines */
  line-height: 0.8; /* Tweak this to align vertically */
  margin-right: 8px;
  margin-top: 0.1em; /* Micro-adjustment for alignment */
  font-weight: inherit; /* Optional: usually looks better */
}
/* 2. Modern Style (For Chrome, Safari, Edge) */
@supports (initial-letter: 2) or (-webkit-initial-letter: 2) {
  .single .entry-content > p:first-of-type:not(.is-style-label-large):not(.is-style-label-medium):not(.is-style-label-small)::first-letter {
    /* Reset the fallback properties so they don't conflict */
    float: none;
    font-size: inherit;
    line-height: inherit;
    margin-top: 0;
    
    /* Apply the modern property */
    -webkit-initial-letter: 2;
    initial-letter: 2;
    margin-right: 8px;
  }
}

.chorzeit-protected-content{
  background-color: var( --background-brand-light);
  padding: var(--spacing-80) var(--spacing-40);
}
.overlay-protected-content{
  background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, #FFFFFF 97.6%);
  position: absolute;
  height: 50%;
  width: 100%;
  bottom: 0;
  left: 0;
}
.wrap-protect{
  position: relative;
}

@media (max-width: 767px) {
  .chorzeit-protected-content{
    padding: var(--spacing-40) var(--spacing-24)
  }
  .wrap-protect{
    height: 50px;
    overflow: hidden;
  }
}
.mobile-right-btn{
	display: flex;
	align-items: center;
	gap:24px;
}
.mobile-right-btn a{
	padding: 8px 16px;
}
.hamburg-menu-btn{
	line-height: 0;
}
.chorzeit-protected-content-info {
  text-align: left;
  display: flex;
  gap: 16px;
  color: #666666;
 
}
.border-b{
  border-bottom: 1px solid #C0AC25; 
}
.cz-tag{
  color: #1A1A1A;
  background: linear-gradient(107.02deg, #C0AC25 0%, #F5ECC0 100%);
  border: 1px solid #F7F3E0;
  font-family:"Bitter", serif;
  font-weight: 600;
}
.post-bg-secondary .cz-tag{
  background: linear-gradient(107.02deg, #F58E84 0%, #FFDDD7 100%);
  border: 1px solid #FEEFEC;
}
.post-bg-secondary .overlay-protected-content{
  background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, #FEEFEC 97.6%);
}
.background-brand-light .focus-paragraph{
    background: rgba(247, 243, 224, 1) !important;
}
.footer-logos svg{
	  max-width: 298px;
    height: auto;
}
.menu-item-social-media{
	display:flex;
}
.menu-item-social-media:hover svg path{
	    fill: var(--button-brand-hover);
}
.curved-style-2 {
	text-align: center;
}

.curved-style-2 img {
	display: block;
	width: 600px;
	aspect-ratio: 1 / 1;
	border-radius: 50%;
	object-fit: cover;
	margin-inline: auto;
	margin-bottom: 16px;
}

.shop-form-wrapper .legal-box .wpcf7-list-item{
    margin-bottom: 0px;
}
.shop-form-wrapper .legal-box .wpcf7-list-item input[type="checkbox"]{
    margin-bottom: 0px;
}
#wpcf7-f313-o1.wpcf7 h3{
    border-top: 0px; 
   
}
.wpcf7-form hr {
  border: none;
  border-top: 1px solid #e5e7eb;
}