  /*
Theme Name: Neve Child
Template: neve
*/
body {
  background: #fff; /* example */
}


/* =========================
   Global Variables
   ========================= */

:root {
    --container-width: 970px;

  /* NEVE PALETTE  */
  --color-primary: #01257D;
  --color-secondary: #0134B0;
  --color-accent: #F0AB00;
  --color-accent-hover: #D19911;
  --color-text: #0A1828;
  --color-muted: #8D8D8D;
  --color-bg-light: #FAFAFA;
  --color-bg-mid: #EEEEEE;
  --color-bg-dark: #FFFFFF;
  --color-bg-overlay: #121212AB;
  --color-bg-shadow: #0000001A;

  /* BUTTONS */
  --color-btn-bg: #F0AB00;
  --color-btn-text: #FFFFFF;
  --color-btn-hover-bg: #F0AB00;
  --color-btn-hover-text: #FFFFFF;
  --button-size-height: 3rem;
  --border-radius-btn: 0.1rem;
  --button-border-style: solid;
  --button-border-color: var(--color-accent);
  --button-border-size: 0.1rem;;
  --font-family-btn: "Poppins Regular", "Nexa Regular", Arial, sans-serif;
  --font-size-btn: clamp(0.8rem, 1vw + 0.8rem, 0.9rem); 

  /* SHADOWS */
  --shadow-1: 2px 4px 4px 0px rgba(0,0,0,0.15);
  --shadow-2: 0px 4px 16px 0px rgba(0,0,0,0.15);
  --shadow-3: 0px 20px 20px 0px rgba(0,0,0,0.15);
  --shadow-4: 0px 30px 55px 0px rgba(0,0,0,0.15);
  --shadow-5: 0px 80px 80px 0px rgba(0,0,0,0.10);

  /* TYPOGRAPHY */
  --font-family-base: "Raleway Regular", "Inter";
  --font-family-alt: "Raleway Regular", sans-serif;
  --font-family-bold: "Poppins Bold", "Nexa Bold", Arial, sans-serif;
  --font-family-nav: "Poppins Regular", "Nexa Regular", Arial, sans-serif;
  --font-family-heading: "Cinzel Bold", serif;
  --font-family-heading-h2: "Raleway Bold", serif;
  --font-size-base: clamp(1rem, 1vw + 0.9rem, 1.15rem);
  --font-size-h1: clamp(1.34rem, 3.3vw + 0.67rem, 1.74rem);
  --font-size-h2: clamp(1.3rem, 2vw + 0.8rem, 1.45rem);
  --font-size-h3: clamp(1.15rem, 1vw + 0.8rem, 1.4rem);
  --font-size-h4: clamp(1.05rem, 0.75vw + 0.7rem, 1.2rem);
  --font-size-h5: clamp(1rem, 0.65vw + 0.65rem, 1.1rem);
  --font-size-h6: clamp(0.95rem, 0.45vw + 0.5rem, 1rem);

  --font-weight-bold: bold;
  --font-weight-semi-bold: 600;
  --font-weight-normal: 400;
  --letter-spacing-wide: 0.1rem;

  /* LINE HEIGHTS */
  --line-height-base: 1.9rem;
  --line-height-heading: 2.35rem;
  --line-height-alt: 1.3em;

  /* BORDER */
  --border-radius-base: 0.4rem;
  --border-radius-btn: 0.4rem;
  --input-bg: #EEEEEE;
  --input-border: #000;

  /* SPACING */
  --padding-xs: 0.5rem;
  --padding-sm: 1.4rem;
  --padding-md: 2rem;
  --padding-lg: 4rem;

  --space-xsm: 0.5rem;
  --space-sm: 0.75rem;
  --space-md: 1rem;
  --space-lg: 1.5rem;
  --space-xl: 2rem;
  --space-xl: 2.5rem;
}


/* =========================
   Base Styles & Resets
   ========================= */

html {
  font-size: var(--font-size-base);
  background-color: var(--color-bg-light);
  color: var(--color-text);
  header a.neve-skip-link {display: none; }
}

body {
  font-family: var(--font-family-base);
  line-height: var(--line-height-base);
  font-size: var(--font-size-base);     /* Ensures override */
}



input[type=text],
input[type=date],
input[type=email],
input[type=number],
input[type=password],
input[type=search],
input[type=tel],
input[type=url],
select,
textarea {
  width: 100%;
  border: solid 1px #666666;
  border-radius: 3px;
  padding: 0.5rem 1rem;
  transition: all 0.3s;
}
input[type=text]:focus,
input[type=date]:focus,
input[type=email]:focus,
input[type=number]:focus,
input[type=password]:focus,
input[type=search]:focus,
input[type=tel]:focus,
input[type=url]:focus,
select:focus,
textarea:focus {
  border-color: #333333;
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */
button,
input { /* 1 */
  overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button,
select { /* 1 */
  text-transform: none;
}

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */
button,
[type=button],
[type=reset],
[type=submit] {
  width: auto;
  -webkit-appearance: button;
}

/**
 * Remove the inner border and padding in Firefox.
 */
button::-moz-focus-inner,
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */
button:-moz-focusring,
[type=button]:-moz-focusring,
[type=reset]:-moz-focusring,
[type=submit]:-moz-focusring {
  outline: 1px dotted ButtonText;
}


/**
 * Correct the padding in Firefox.
 */
fieldset {
  padding: 0.35em 0.75em 0.625em;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *    `fieldset` elements in all browsers.
 */
legend {
  box-sizing: border-box; /* 1 */
  color: inherit; /* 2 */
  display: table; /* 1 */
  max-width: 100%; /* 1 */
  padding: 0; /* 3 */
  white-space: normal; /* 1 */
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
  vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */
textarea {
  overflow: auto;
  resize: vertical;
}

/**
 * 1. Add the correct box sizing in IE 10.
 * 2. Remove the padding in IE 10.
 */
[type=checkbox],
[type=radio] {
  box-sizing: border-box; /* 1 */
  padding: 0; /* 2 */
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
  height: auto;
}

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */
[type=search] {
  -webkit-appearance: textfield; /* 1 */
  outline-offset: -2px; /* 2 */
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}

select {
  display: block;
}

/**
 * Table styling
 * DO NOT CHANGE THIS FILE!
 * To override any of the settings in this section, add your styling code in the custom directory.
 */
table {
  background-color: transparent;
  width: 100%;
  margin-block-end: 15px;
  font-size: 0.9em;
  border-spacing: 0;
  border-collapse: collapse;
}
table th,
table td {
  padding: 15px;
  line-height: 1.5;
  vertical-align: top;
  border: 1px solid rgba(128, 128, 128, 0.5019607843);
}
table th {
  font-weight: bold;
}
table thead th,
table tfoot th {
  font-size: 1em;
}
table caption + thead tr:first-child th,
table caption + thead tr:first-child td,
table caption + thead tr:first-child th,
table caption + thead tr:first-child td,
table colgroup + thead tr:first-child th,
table colgroup + thead tr:first-child td,
table colgroup + thead tr:first-child th,
table colgroup + thead tr:first-child td,
table thead:first-child tr:first-child th,
table thead:first-child tr:first-child td,
table thead:first-child tr:first-child th,
table thead:first-child tr:first-child td {
  border-block-start: 1px solid rgba(128, 128, 128, 0.5019607843);
}
table tbody > tr:nth-child(odd) > td,
table tbody > tr:nth-child(odd) > th {
  background-color: rgba(128, 128, 128, 0.0705882353);
}
table tbody tr:hover > td,
table tbody tr:hover > th {
  background-color: rgba(128, 128, 128, 0.1019607843);
}
table tbody + tbody {
  border-block-start: 2px solid rgba(128, 128, 128, 0.5019607843);
}
@media (max-width: 767px) {
  table table {
    font-size: 0.8em;
  }
  table table th,
  table table td {
    padding: 7px;
    line-height: 1.3;
  }
  table table th {
    font-weight: 400;
  }
}

/**
 * List styling
 * DO NOT CHANGE THIS FILE!
 * To override any of the settings in this section, add your styling code in the custom directory.
 */
dl,
dt,
dd,
ol,
ul,
li {
  margin-block-start: 0;
  margin-block-end: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}
/* Headings */
h1 {
  color: var(--color-primary);
  font-family: var(--font-family-heading);
  font-size: var(--font-size-h1);
  font-weight: var(--font-weight-bold);
  line-height: var(--line-height-heading);
  letter-spacing: var(--letter-spacing-wide);
  text-transform: uppercase;
}
h2 {
  color: var(--color-primary);
  font-family: var(--font-family-heading-h2); 
  font-size: var(--font-size-h2);
  font-weight: var(--font-weight-semi-bold);
  line-height: var(--line-height-heading);
  letter-spacing: var(--letter-spacing-wide);
  text-transform: uppercase;
  width: 100%;
  margin: 0px;
}

h3 { 
  font-size: var(--font-size-h3); 
  color: var(--color-secondary);
  line-height: var(--line-height-heading);
  font-family: "Raleway Regular";
  margin: 0px;
  letter-spacing: 0.075rem;
}

.post-grid h3 {margin: 0.4rem 0.2rem;}
.post-grid h3 a {font-size: 1.2rem; line-height: 1rem; }

h4 { font-size: var(--font-size-h4); }
h5 { font-size: var(--font-size-h5); }
h6 { font-size: var(--font-size-h6); }

/* Paragraphs, Links */
p {
  padding: 0px;
  margin: 0rem 0rem var(--space-sm) 0rem;
}
a, a:visited {
  color: var(--color-accent);
  transition: color 0.2s;
  text-decoration: none;
}
a:hover {
  color: var(--color-accent-hover);
}

/* =========================
   Buttons
   ========================= */

button,
.bookly-btn,
input[type="button"],
input[type="submit"],
.elementor-button,
.dlt-btn,
div.wpforms-container-full input[type=submit],
div.wpforms-container-full button[type=submit],
div.wpforms-container-full .wpforms-page-button,
.wp-core-ui div.wpforms-container-full input[type=submit],
.wp-core-ui div.wpforms-container-full button[type=submit],
.wp-core-ui div.wpforms-container-full .wpforms-page-button
 {
  background-color: var(--color-btn-bg) !important;
  color: var(--color-btn-text) !important;
  font-family: var(--font-family-btn) !important;
  font-size: var(--font-size-btn) !important;
  font-weight: var(--font-weight-semi-bold) !important;
  line-height: var(--line-height-alt) !important;
  border: solid 2px var(--color-btn-bg) !important;
  border-radius: var(--border-radius-btn) !important;
  padding: 0.5rem 1rem !important;
  cursor: pointer !important;
  transition: background 0.2s, color 0.2s !important;
  text-decoration: none !important;
  /*  height: var(--button-size-height) !important; */
  height: auto !important; /
  border-style: var(--button-border-style);
  border-color: var(--button-border-color);
  border-width: var(--button-border-size);
  text-decoration: none;
  min-width: 5rem;
  text-align: center;
}
/* For when we use a button that is made using a div with a link inside (and icon) */
span.dlt-btn {max-width: 7rem;}
span.dlt-btn a {color: var(--color-btn-text) !important;}
span.dlt-btn i {color: #fff; margin-right: 0.5rem;}

button:hover,
input[type="button"]:hover,
input[type="submit"]:hover,
.elementor-button:hover {
  background-color: var(--color-btn-hover-bg);
  color: var(--color-btn-hover-text);
  border-radius: var(--border-radius-btn);
}



/* =========================
   Forms & Fields
   ========================= */

input,
textarea,
select {
  background-color: var(--input-bg);
  border: 1px solid var(--input-border);
  border-radius: var(--border-radius-base);
  font-size: var(--font-size-base);
  line-height: var(--line-height-alt);
}
label {
  font-size: 18px;
  font-weight: var(--font-weight-normal);
  line-height: var(--line-height-alt);
}

input:focus,
textarea:focus,
select:focus {
  outline: none;
  border-color: var(--color-primary);
}


/* =========================
   Containers & Layout
   ========================= */

.flex { display: flex; }

main, body {
  font-family: var(--font-family-base);
  line-height: var(--line-height-base);
  font-size: var(--font-size-base);
}


.container, main#content {
  margin: 0 auto;
}

.container-spacer-small { height: var(--padding-xs); }
.container-spacer-medium { height: var(--padding-md); }
.container-spacer-large { height: 11.5rem; }

/* OLD WAY */
#page-header #post-info ul li, #page-header #breadcrumbs #breadcrumbs, #page-header #breadcrumbs #breadcrumbs a {
    font-size: 1.2rem;
}

.section--container {
  max-width: 970px;
  margin: 0 auto;
  /*padding: 0 1.5rem; */
}

.section {
  width: 100vw;
  position: relative;
  left: 50%;
  right: 50%;
  margin-left: -50vw;
  margin-right: -50vw;
  overflow: hidden;
  margin-bottom: 2rem;
}

.section--bg-primary {
  background: var(--color-bg-mid);
}

.section--bg-accent {
  background: var(--accent-bg, #232017);
  color: #fff;
}

.section--bg-dark {
  background: #222;
  color: #fff;
}
.section--bg-light {
  background: #f9fafd;
}



.section--bg-image {
  background: url('/path/to/image.jpg') center/cover no-repeat;
  color: #fff;
}

.section--pad-xsm { padding-top: var(--space-xsm);    padding-bottom: var(--space-xsm);}
.section--pad-sm { padding-top: var(--space-sm);    padding-bottom: var(--space-sm);}
.section--pad-md { padding-top: var(--space-md);    padding-bottom: var(--space-md);}
.section--pad-lg { padding-top: var(--space-lg);    padding-bottom: var(--space-lg);}
.section--pad-xl { padding-top: var(--space-xl);    padding-bottom: var(--space-xl);}

/* Section Margins */
.mt-none    { margin-top: 0 !important; }
.mt-sm      { margin-top: 1rem !important; }
.mt-md      { margin-top: 2rem !important; }
.mt-lg      { margin-top: 4rem !important; }
.mt-xl      { margin-top: 6rem !important; }

.mb-none    { margin-bottom: 0 !important; }
.mb-sm      { margin-bottom: 1rem !important; }
.mb-md      { margin-bottom: 2rem !important; }
.mb-lg      { margin-bottom: 4rem !important; }
.mb-xl      { margin-bottom: 6rem !important; }

.mx-auto    { margin-left: auto !important; margin-right: auto !important; }
.my-lg      { margin-top: 4rem !important; margin-bottom: 4rem !important; }

/* SPACERS */
.spacer-xsm  { height: var(--space-xsm);  width: 100%; display: block; }
.spacer-sm  { height: var(--space-sm);  width: 100%; display: block; }
.spacer-md  { height: var(--space-md);  width: 100%; display: block; }
.spacer-lg  { height: var(--space-lg);  width: 100%; display: block; }
.spacer-xl  { height: var(--space-xl);  width: 100%; display: block; }

/* If you want horizontal spacers, e.g. for flex layouts: */
.spacer-x-sm  { width: var(--space-sm);  height: 1px; display: inline-block; }
.spacer-x-md  { width: var(--space-md);  height: 1px; display: inline-block; }
/* ...and so on */

/* Generic gap utility (both directions) */
.gap-sm  { gap: var(--space-sm); }
.gap-md  { gap: var(--space-md); }
.gap-lg  { gap: var(--space-lg); }
.gap-xl  { gap: var(--space-xl); }

/* Only horizontal gap (gap between columns, e.g. in flex row) */
.gap-x-sm  { column-gap: var(--space-sm); }
.gap-x-md  { column-gap: var(--space-md); }
.gap-x-lg  { column-gap: var(--space-lg); }
.gap-x-xl  { column-gap: var(--space-xl); }

/* Only vertical gap (gap between rows, e.g. in flex column/grid) */
.gap-y-sm  { row-gap: var(--space-sm); }
.gap-y-md  { row-gap: var(--space-md); }
.gap-y-lg  { row-gap: var(--space-lg); }
.gap-y-xl  { row-gap: var(--space-xl); }


/* Section Borders */
.border        { border: 1px solid var(--border-color, #dfdfdf) !important; }
.border-top    { border-top: 2px solid var(--border-color, #dfdfdf) !important; }
.border-bottom { border-bottom: 2px solid var(--border-color, #dfdfdf) !important; }
.border-none   { border: none !important; }

/* Border colors */
.border-accent { border-color: var(--accent, #C50C19) !important; }
.border-dark   { border-color: #222 !important; }
.border-light  { border-color: #fff !important; }

/* Border radius */
.rounded       { border-radius: 12px !important; }
.rounded-lg    { border-radius: 24px !important; }
.rounded-full  { border-radius: 999px !important; }

/* =========================
   Common Blocks & Reusable UI
   ========================= */

.share-links {
  display: flex;
  gap: 1em;
}

.heading-title {
  font-family: var(--font-heading);
  color: var(--color-primary);
}


/* =========================
   Shadows and Cards
   ========================= */

.card-shadow-1 { box-shadow: var(--shadow-1); }
.card-shadow-2 { box-shadow: var(--shadow-2); }
.card-shadow-3 { box-shadow: var(--shadow-3); }
.card-shadow-4 { box-shadow: var(--shadow-4); }
.card-shadow-5 { box-shadow: var(--shadow-5); }


/* =========================
   Responsive Typography
   ========================= */

@media (max-width: 1024px) {
  :root {
    --font-size-base: 16px;
    --font-size-h1: 2rem;
    --font-size-h2: 1.5rem;
  }
}
@media (max-width: 800px) {
  :root {
    --font-size-base: 15px;
    --font-size-h1: 1.4rem;
    --font-size-h2: 1.1rem;
  }
}



/* =========================
   Utility Classes
   ========================= */

.text-muted { color: var(--color-muted); }
.bg-light { background-color: var(--color-bg-light); }
.bg-dark { background-color: var(--color-bg-dark); }
.rounded { border-radius: var(--border-radius-base); }

/* Overline style */
.sk-overline {
  font-weight: var(--font-weight-semi-bold);
  text-transform: uppercase;
}


/* =========================
   Custom Fonts
   ========================= */

@font-face {
  font-family: 'Nexa Bold';
  src: url('assets/fonts/Nexa-Bold.ttf') format('truetype');
  font-display: swap;
  font-weight: normal;
}

@font-face {
  font-family: 'Raleway Regular';
  src: url('assets/fonts/Raleway-Regular.ttf') format('truetype');
  font-display: swap;
  font-weight: normal;
}

@font-face {
  font-family: 'Raleway Bold';
  src: url('assets/fonts/Raleway-Bold.ttf') format('truetype');
  font-display: swap;
  font-weight: normal;
}

@font-face {
  font-family: 'Cinzel Regular';
  src: url('assets/fonts/Cinzel-Regular.ttf') format('truetype');
  font-display: swap;
  font-weight: normal;
}


@font-face {
  font-family: 'Cinzel Bold';
  src: url('assets/fonts/Cinzel-Bold.ttf') format('truetype');
  font-display: swap;
  font-weight: normal;
}


@font-face {
  font-family: 'Poppins Regular';
  src: url('assets/fonts/Poppins-Regular.ttf') format('truetype');
  font-display: swap;
  font-weight: normal;
}

@font-face {
  font-family: 'Poppins Bold';
  src: url('assets/fonts/Poppins-Bold.ttf') format('truetype');
  font-display: swap;
  font-weight: normal;
}

/* Main containers */
.container, .single-page-container, .neve-main .container {
  margin-right: auto;
  margin-left: auto;
  width: 100%;
  padding-left: var(--padding-md, 2rem);
  padding-right: var(--padding-md, 2rem);
  box-sizing: border-box;
}


/* Mobile: ≤800px */
@media (max-width: 800px) {
  .section--container {
    padding: 0 1rem; 
  }
}


@media (max-width: 1024px) {
   .section--container {
    padding: 0 1rem; 
  }
}

