.elementor-kit-6668{--e-global-color-primary:#F5F5F5;--e-global-color-secondary:#B0B0B0;--e-global-color-text:#B0B0B0;--e-global-color-accent:#F28C28;--e-global-color-86b4fcd:#0F1115;--e-global-color-10b4ef5:#0B0B0D;--e-global-color-a481b9a:#111114;--e-global-color-57f7568:#2A2D33;--e-global-color-fc70768:#B94A00;--e-global-color-3e37533:#FFB15E;--e-global-typography-primary-font-family:"Alfa Slab One";--e-global-typography-primary-font-size:4em;--e-global-typography-primary-font-weight:800;--e-global-typography-primary-text-transform:uppercase;--e-global-typography-primary-font-style:normal;--e-global-typography-primary-text-decoration:none;--e-global-typography-primary-line-height:1.2em;--e-global-typography-primary-letter-spacing:-0.02em;--e-global-typography-primary-word-spacing:0em;--e-global-typography-secondary-font-family:"Roboto Slab";--e-global-typography-secondary-font-size:3.2em;--e-global-typography-secondary-font-weight:700;--e-global-typography-secondary-text-transform:none;--e-global-typography-secondary-font-style:normal;--e-global-typography-secondary-text-decoration:none;--e-global-typography-secondary-line-height:1.2em;--e-global-typography-secondary-letter-spacing:0px;--e-global-typography-secondary-word-spacing:0em;--e-global-typography-text-font-family:"Roboto Slab";--e-global-typography-text-font-size:18px;--e-global-typography-text-font-weight:400;--e-global-typography-text-text-transform:none;--e-global-typography-text-font-style:normal;--e-global-typography-text-text-decoration:none;--e-global-typography-text-line-height:1.5em;--e-global-typography-text-letter-spacing:0px;--e-global-typography-text-word-spacing:0em;--e-global-typography-accent-font-family:"Roboto Slab";--e-global-typography-accent-font-size:28px;--e-global-typography-accent-font-weight:700;--e-global-typography-accent-font-style:normal;--e-global-typography-accent-text-decoration:none;--e-global-typography-accent-line-height:1em;--e-global-typography-accent-letter-spacing:0em;--e-global-typography-accent-word-spacing:0em;--e-global-typography-500544d-font-family:"Poppins";--e-global-typography-500544d-font-size:18px;--e-global-typography-500544d-font-weight:400;--e-global-typography-500544d-text-transform:none;--e-global-typography-500544d-font-style:normal;--e-global-typography-500544d-text-decoration:none;--e-global-typography-500544d-line-height:1.4em;--e-global-typography-500544d-letter-spacing:0px;--e-global-typography-500544d-word-spacing:0px;background-color:var( --e-global-color-10b4ef5 );background-image:url("https://co2bbq.com/wp-content/uploads/2026/02/ChatGPT-Image-Feb-6-2026-01_19_16-PM.png");font-family:"Roboto Slab", Sans-serif;font-size:16px;font-weight:400;line-height:1.6em;}.elementor-kit-6668 button,.elementor-kit-6668 input[type="button"],.elementor-kit-6668 input[type="submit"],.elementor-kit-6668 .elementor-button{background-color:var( --e-global-color-fc70768 );font-family:"Roboto Slab", Sans-serif;color:#F5F5F5;border-radius:14px 14px 14px 14px;padding:18px 30px 18px 30px;}.elementor-kit-6668 button:hover,.elementor-kit-6668 button:focus,.elementor-kit-6668 input[type="button"]:hover,.elementor-kit-6668 input[type="button"]:focus,.elementor-kit-6668 input[type="submit"]:hover,.elementor-kit-6668 input[type="submit"]:focus,.elementor-kit-6668 .elementor-button:hover,.elementor-kit-6668 .elementor-button:focus{background-color:#FF7E00;color:var( --e-global-color-primary );box-shadow:0px 0px 10px 0px rgba(255, 255, 255, 0.99) inset;}.elementor-kit-6668 e-page-transition{background-color:#FFBC7D;}.elementor-kit-6668 p{margin-block-end:0.75em;}.elementor-kit-6668 a{color:#F28C28;font-family:"Roboto Slab", Sans-serif;font-size:1px;font-weight:400;}.elementor-kit-6668 a:hover{color:var( --e-global-color-fc70768 );font-family:"Roboto Slab", Sans-serif;font-weight:400;text-decoration:underline;line-height:1.1em;}.elementor-kit-6668 h1{color:#F5F5F5;font-family:"Alfa Slab One", Sans-serif;font-size:42px;line-height:47px;letter-spacing:1px;word-spacing:5px;}.elementor-kit-6668 h2{color:#F5F5F5;font-family:"Times New Roman", Sans-serif;font-size:24px;line-height:1.15em;}.elementor-kit-6668 h3{color:#F5F5F5;font-family:"Roboto Slab", Sans-serif;font-size:132px;font-weight:700;}.elementor-kit-6668 h4{color:var( --e-global-color-primary );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:100%;}.e-con{--container-max-width:100%;--container-default-padding-top:0px;--container-default-padding-right:0px;--container-default-padding-bottom:0px;--container-default-padding-left:0px;}.elementor-widget:not(:last-child){margin-block-end:0px;}.elementor-element{--widgets-spacing:0px 0px;--widgets-spacing-row:0px;--widgets-spacing-column:0px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-kit-6668{--e-global-typography-primary-font-size:7vw;--e-global-typography-secondary-font-size:5vw;--e-global-typography-text-font-size:14px;--e-global-typography-accent-font-size:28px;}.elementor-kit-6668 h1{font-size:42px;}.elementor-kit-6668 h2{font-size:28px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-kit-6668{--e-global-typography-primary-font-size:28px;--e-global-typography-primary-line-height:1.1em;--e-global-typography-secondary-font-size:40px;--e-global-typography-text-font-size:18px;}.elementor-kit-6668 h1{font-size:34px;}.elementor-kit-6668 h2{font-size:26px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}
/* Start custom CSS */:root {
  --cf-hdr-cream: #f7e8d3;
  --cf-hdr-cream-soft: rgba(247,232,211,.90);
  --cf-hdr-orange: #f29a2e;
  --cf-hdr-orange-hover: #ffb24f;
  --cf-hdr-ember-deep: #742b00;

  /* Trims the exposed theme/header spacer that became visible after removing fixed positioning.
     v8.27 used 66px, which removed the gap but clipped the utility row. v8.28 backs it down. */
  --cf-hdr-top-trim: 56px;
}

/* ==================================================
   GLOBAL HEADER RESET
   ================================================== */

.cf-hdr8-shell,
.cf-hdr8-shell * {
  box-sizing: border-box !important;
  font-family: "Roboto Slab", Georgia, serif !important;
}

/* Normal-flow header: no sticky/fixed behavior and no reserved spacer. */
.cf-hdr8-shell,
body.admin-bar .cf-hdr8-shell,
body:not(.admin-bar) .cf-hdr8-shell {
  display: block !important;
  position: relative !important;
  inset: auto !important;
  top: auto !important;
  left: auto !important;
  right: auto !important;
  bottom: auto !important;
  width: 100% !important;
  min-height: 0 !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  z-index: 9999 !important;
  isolation: isolate !important;
  overflow: visible !important;
  transform: none !important;
  background: linear-gradient(180deg, rgba(0,0,0,.99) 0%, rgba(0,0,0,.96) 64%, rgba(0,0,0,.64) 100%) !important;
  box-shadow: 0 12px 30px rgba(0,0,0,.26) !important;
}

/* Kill the old fixed-header spacer and Elementor section/container air. */
html,
body,
body:not(.elementor-editor-active),
body.elementor-editor-active {
  padding-top: 0 !important;
  margin-top: 0 !important;
}

.elementor-location-header,
.elementor-location-header > .elementor {
  min-height: 0 !important;
  height: auto !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

/* Elementor containers can store vertical spacing as CSS variables/inline styles. */
.cf-hdr8-shell.e-con,
.cf-hdr8-shell.elementor-section,
.cf-hdr8-shell.elementor-container,
.cf-hdr8-shell.elementor-top-section {
  --min-height: 0px !important;
  --padding-top: 0px !important;
  --padding-bottom: 0px !important;
  --margin-top: 0px !important;
  --margin-bottom: 0px !important;
  min-height: 0 !important;
  height: auto !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  align-items: stretch !important;
  justify-content: flex-start !important;
}

.cf-hdr8-shell > .e-con-inner,
.cf-hdr8-shell > .elementor-container,
.cf-hdr8-shell > .elementor-widget-wrap {
  --min-height: 0px !important;
  min-height: 0 !important;
  height: auto !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  align-items: stretch !important;
}

/* Keep this header visible if Elementor responsive classes are present. */
.cf-hdr8-shell.elementor-hidden-mobile,
.cf-hdr8-shell.elementor-hidden-phone,
.cf-hdr8-shell.elementor-hidden-tablet,
.cf-hdr8-shell .elementor-hidden-mobile,
.cf-hdr8-shell .elementor-hidden-phone,
.cf-hdr8-shell .elementor-hidden-tablet {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
}

body.admin-bar #wpadminbar {
  z-index: 1000000 !important;
}

body.elementor-editor-active .cf-hdr8-shell {
  z-index: 9999 !important;
}

/* Top-flush correction — normal flow version.
   The gap is above the header wrapper, not inside the nav JSON.
   Pull the Elementor header location upward, not the nav shell itself.
   This keeps the header in document flow so the front-page content starts below it
   instead of being overlapped. */
body:not(.elementor-editor-active) .elementor-location-header {
  position: relative !important;
  inset: auto !important;
  top: auto !important;
  left: auto !important;
  right: auto !important;
  bottom: auto !important;
  width: 100% !important;
  min-height: 0 !important;
  height: auto !important;
  margin-top: calc(-1 * var(--cf-hdr-top-trim)) !important;
  margin-bottom: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  overflow: visible !important;
  z-index: 9999 !important;
  transform: none !important;
}

/* Header shell stays normal-flow. Do not use absolute/fixed/sticky here. */
body:not(.elementor-editor-active) .cf-hdr8-shell,
body.admin-bar:not(.elementor-editor-active) .cf-hdr8-shell,
body:not(.admin-bar):not(.elementor-editor-active) .cf-hdr8-shell {
  position: relative !important;
  inset: auto !important;
  top: auto !important;
  left: auto !important;
  right: auto !important;
  bottom: auto !important;
  margin-top: 0 !important;
  transform: none !important;
}

/* Fallback only if the shell is pasted directly into the page instead of inside Elementor's header location. */
body:not(.elementor-editor-active) > .cf-hdr8-shell {
  margin-top: calc(-1 * var(--cf-hdr-top-trim)) !important;
}

/* Do not pull upward inside the editor canvas. */
body.elementor-editor-active .elementor-location-header,
body.elementor-editor-active .cf-hdr8-shell {
  margin-top: 0 !important;
}

/* ==================================================
   UTILITY BAR
   ================================================== */

.cf-hdr8-utility-bar {
  display: block !important;
  background: rgba(3,3,3,.98) !important;
  border-bottom: 1px solid rgba(242,154,46,.16) !important;
}

.cf-hdr8-utility-inner {
  width: 100% !important;
  max-width: 1200px !important;
  min-height: 22px !important;
  height: 22px !important;
  margin: 0 auto !important;
  padding: 0 18px !important;
  align-items: center !important;
}

.cf-hdr8-utility-brand,
.cf-hdr8-utility-brand .elementor-heading-title {
  display: block !important;
  color: rgba(247,232,211,.90) !important;
  -webkit-text-fill-color: rgba(247,232,211,.90) !important;
  font-size: 12px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  letter-spacing: .01em !important;
  white-space: nowrap !important;
}

.cf-hdr8-utility-right {
  display: flex !important;
  align-items: center !important;
}

.cf-hdr8-utility-links .elementor-icon-list-items {
  display: inline-flex !important;
  align-items: center !important;
  gap: 12px !important;
}

.cf-hdr8-utility-links .elementor-icon-list-item,
.cf-hdr8-utility-links .elementor-icon-list-text {
  color: rgba(247,232,211,.70) !important;
  -webkit-text-fill-color: rgba(247,232,211,.70) !important;
  font-size: 10.5px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
}

.cf-hdr8-utility-icons .elementor-social-icon {
  width: 15px !important;
  height: 15px !important;
  color: rgba(247,232,211,.72) !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  opacity: .88 !important;
}

.cf-hdr8-utility-icons .elementor-social-icon:hover {
  color: var(--cf-hdr-orange-hover) !important;
  opacity: 1 !important;
  transform: translateY(-1px) !important;
}

/* ==================================================
   MAIN HEADER STRUCTURE
   ================================================== */

.cf-hdr8-main-bar {
  display: block !important;
  width: 100% !important;
  margin-top: 0 !important;
  padding: 3px 18px 7px !important;
  background: transparent !important;
}

.cf-hdr8-main-inner {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  width: 100% !important;
  max-width: 1180px !important;
  min-height: 56px !important;
  margin: 0 auto !important;
  padding: 0 14px !important;
  gap: 13px !important;
  border-radius: 17px !important;
  border: 1px solid rgba(242,154,46,.24) !important;
  background:
    radial-gradient(circle at 50% 105%, rgba(242,104,20,.22), transparent 54%),
    linear-gradient(180deg, rgba(255,255,255,.042), rgba(255,255,255,.010)),
    linear-gradient(180deg, rgba(28,18,12,.98), rgba(8,6,5,.99)) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.052),
    inset 0 -1px 0 rgba(242,154,46,.22),
    0 14px 30px rgba(0,0,0,.30),
    0 0 28px rgba(116,43,0,.14) !important;
  overflow: visible !important;
  position: relative !important;
  backdrop-filter: blur(10px) !important;
  -webkit-backdrop-filter: blur(10px) !important;
}

.cf-hdr8-main-inner::after {
  display: none !important;
  content: none !important;
}

.cf-hdr8-brand {
  flex: 0 0 210px !important;
  min-width: 210px !important;
  max-width: 210px !important;
}

.cf-hdr8-brand,
.cf-hdr8-brand .elementor-widget-container {
  display: flex !important;
  align-items: center !important;
}

.cf-hdr8-brand .elementor-heading-title {
  margin: 0 !important;
  color: var(--cf-hdr-cream) !important;
  -webkit-text-fill-color: var(--cf-hdr-cream) !important;
  font-size: 13.5px !important;
  font-weight: 900 !important;
  line-height: 1.05 !important;
  letter-spacing: .01em !important;
  white-space: nowrap !important;
}

/* ==================================================
   DESKTOP NAV
   ================================================== */

@media (min-width: 1025px) {
  .cf-hdr8-nav {
    flex: 1 1 auto !important;
    min-width: 0 !important;
  }

  .cf-hdr8-nav,
  .cf-hdr8-nav .elementor-widget-container,
  .cf-hdr8-nav nav,
  .cf-hdr8-nav ul,
  .cf-hdr8-nav li,
  .cf-hdr8-nav li.menu-item,
  .cf-hdr8-nav .elementor-item,
  .cf-hdr8-nav .elementor-nav-menu--main > ul.elementor-nav-menu > li > a {
    box-shadow: none !important;
  }

  .cf-hdr8-nav .elementor-widget-container {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    width: 100% !important;
  }

  .cf-hdr8-nav nav.elementor-nav-menu--main {
    width: auto !important;
    max-width: 100% !important;
    position: relative !important;
    border-radius: 999px !important;
    padding: 0 8px !important;
    background: linear-gradient(180deg, rgba(242,154,46,.18), rgba(116,43,0,.20)) !important;
    border: 1px solid rgba(242,154,46,.22) !important;
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,.045),
      inset 0 -1px 0 rgba(0,0,0,.22),
      0 0 20px rgba(242,104,20,.12) !important;
  }

  .cf-hdr8-nav nav.elementor-nav-menu--main > ul.elementor-nav-menu {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 8px !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .cf-hdr8-nav nav.elementor-nav-menu--main > ul.elementor-nav-menu > li {
    position: relative !important;
    display: inline-flex !important;
    align-items: center !important;
    white-space: nowrap !important;
    overflow: visible !important;
    background: transparent !important;
    border: 0 !important;
  }

  .cf-hdr8-nav a,
  .cf-hdr8-nav a:link,
  .cf-hdr8-nav a:visited,
  .cf-hdr8-nav a span,
  .cf-hdr8-nav .elementor-item,
  .cf-hdr8-nav .elementor-nav-menu--main > ul.elementor-nav-menu > li > a {
    color: var(--cf-hdr-cream) !important;
    -webkit-text-fill-color: var(--cf-hdr-cream) !important;
    opacity: 1 !important;
    visibility: visible !important;
    text-decoration: none !important;
    text-shadow: 0 1px 0 rgba(0,0,0,.22) !important;
    filter: none !important;
    mix-blend-mode: normal !important;
    clip-path: none !important;
    background: transparent !important;
    background-color: transparent !important;
    background-image: none !important;
    border: 0 !important;
  }

  .cf-hdr8-nav .elementor-item,
  .cf-hdr8-nav .elementor-nav-menu--main > ul.elementor-nav-menu > li > a {
    height: 42px !important;
    padding: 0 6px !important;
    border-radius: 999px !important;
    font-size: 13px !important;
    font-weight: 900 !important;
    line-height: 1 !important;
    letter-spacing: .005em !important;
    position: relative !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    transition: color .18s ease, background .18s ease, text-shadow .18s ease !important;
  }

  .cf-hdr8-nav .elementor-item:hover,
  .cf-hdr8-nav .elementor-item:focus,
  .cf-hdr8-nav .menu-item:hover > a,
  .cf-hdr8-nav .menu-item:focus-within > a,
  .cf-hdr8-nav .current-menu-item > a,
  .cf-hdr8-nav .current_page_item > a,
  .cf-hdr8-nav .current-menu-ancestor > a {
    background: rgba(20,11,5,.36) !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,.035),
      0 0 14px rgba(242,104,20,.12) !important;
    text-shadow: 0 1px 0 rgba(0,0,0,.30) !important;
  }

  .cf-hdr8-nav .elementor-item::after,
  .cf-hdr8-nav .elementor-nav-menu--main > ul.elementor-nav-menu > li > a::after {
    content: "" !important;
    position: absolute !important;
    left: 10px !important;
    right: 10px !important;
    bottom: 6px !important;
    height: 1px !important;
    border-radius: 999px !important;
    background: linear-gradient(90deg, transparent, #ffd08a, transparent) !important;
    opacity: 0 !important;
    transform: scaleX(.55) !important;
    transition: opacity .18s ease, transform .18s ease !important;
    pointer-events: none !important;
  }

  .cf-hdr8-nav .elementor-item:hover::after,
  .cf-hdr8-nav .elementor-item:focus::after,
  .cf-hdr8-nav .menu-item:hover > a::after,
  .cf-hdr8-nav .menu-item:focus-within > a::after,
  .cf-hdr8-nav .current-menu-item > a::after,
  .cf-hdr8-nav .current_page_item > a::after,
  .cf-hdr8-nav .current-menu-ancestor > a::after {
    opacity: .9 !important;
    transform: scaleX(1) !important;
  }

  .cf-hdr8-nav .sub-arrow,
  .cf-hdr8-nav .sub-arrow i,
  .cf-hdr8-nav .sub-arrow svg {
    color: rgba(247,232,211,.82) !important;
    fill: rgba(247,232,211,.82) !important;
    stroke: rgba(247,232,211,.82) !important;
    -webkit-text-fill-color: rgba(247,232,211,.82) !important;
    font-size: 9px !important;
    margin-left: 6px !important;
    transform: translateY(1px) !important;
  }

  .cf-hdr8-nav .menu-item:hover > a .sub-arrow,
  .cf-hdr8-nav .menu-item:hover > a .sub-arrow i,
  .cf-hdr8-nav .menu-item:hover > a .sub-arrow svg {
    color: #ffffff !important;
    fill: #ffffff !important;
    stroke: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
  }

  .cf-hdr8-nav .elementor-nav-menu--main > ul.elementor-nav-menu > li > .sub-menu {
    display: block !important;
    position: absolute !important;
    top: calc(100% + 2px) !important;
    left: 0 !important;
    min-width: 226px !important;
    max-width: min(360px, 84vw) !important;
    margin-top: 0 !important;
    padding: 8px !important;
    border-radius: 14px !important;
    background:
      linear-gradient(180deg, rgba(255,255,255,.034), rgba(255,255,255,.010)),
      rgba(9,9,9,.990) !important;
    border: 1px solid rgba(242,154,46,.20) !important;
    box-shadow: 0 16px 34px rgba(0,0,0,.38) !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transform: translateY(4px) !important;
    transition: opacity .16s ease, transform .16s ease, visibility 0s linear .18s !important;
    overflow: visible !important;
    z-index: 1000002 !important;
  }

  .cf-hdr8-nav .elementor-nav-menu--main > ul.elementor-nav-menu > li:hover > .sub-menu,
  .cf-hdr8-nav .elementor-nav-menu--main > ul.elementor-nav-menu > li:focus-within > .sub-menu {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transform: translateY(0) !important;
    transition-delay: 0s !important;
  }

  .cf-hdr8-nav .elementor-nav-menu--main > ul.elementor-nav-menu > li.menu-item-has-children::before,
  .cf-hdr8-nav .elementor-nav-menu--main > ul.elementor-nav-menu > li.has-submenu::before,
  .cf-hdr8-nav .elementor-nav-menu--main > ul.elementor-nav-menu > li:has(> .sub-menu)::before {
    content: "" !important;
    position: absolute !important;
    left: -16px !important;
    right: -16px !important;
    top: 100% !important;
    height: 30px !important;
    display: block !important;
    background: transparent !important;
    pointer-events: auto !important;
    z-index: 1000001 !important;
  }

  .cf-hdr8-nav .elementor-nav-menu--main > ul.elementor-nav-menu > li > .sub-menu::before {
    content: "" !important;
    position: absolute !important;
    left: 0 !important;
    right: 0 !important;
    top: -12px !important;
    height: 12px !important;
    background: transparent !important;
    pointer-events: auto !important;
  }

  .cf-hdr8-nav .elementor-nav-menu--main > ul.elementor-nav-menu > li > .sub-menu > li,
  .cf-hdr8-nav .elementor-nav-menu--main > ul.elementor-nav-menu > li > .sub-menu > li > a {
    position: relative !important;
    z-index: 2 !important;
  }

  .cf-hdr8-nav .elementor-nav-menu--main > ul.elementor-nav-menu > li > .sub-menu a {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    width: 100% !important;
    height: auto !important;
    padding: 10px 12px !important;
    border-radius: 9px !important;
    color: rgba(247,232,211,.90) !important;
    -webkit-text-fill-color: rgba(247,232,211,.90) !important;
    font-size: 13px !important;
    font-weight: 800 !important;
    line-height: 1.25 !important;
    text-align: left !important;
    white-space: normal !important;
  }

  .cf-hdr8-nav .elementor-nav-menu--main > ul.elementor-nav-menu > li > .sub-menu a:hover,
  .cf-hdr8-nav .elementor-nav-menu--main > ul.elementor-nav-menu > li > .sub-menu a:focus {
    background: rgba(242,154,46,.10) !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
  }
}

/* ==================================================
   CTA
   ================================================== */

.cf-hdr8-cta {
  flex: 0 0 150px !important;
  min-width: 150px !important;
  max-width: 150px !important;
  display: flex !important;
  justify-content: flex-end !important;
  align-items: center !important;
}

.cf-hdr8-cta .elementor-widget-container {
  display: flex !important;
  justify-content: flex-end !important;
  align-items: center !important;
  width: 100% !important;
}

.cf-hdr8-cta .elementor-button {
  width: auto !important;
  min-width: 132px !important;
  min-height: 40px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 8px 14px !important;
  border-radius: 999px !important;
  border: 1px solid rgba(255,191,102,.50) !important;
  background: linear-gradient(180deg, #ffad44, #e77f18) !important;
  color: #1a120c !important;
  -webkit-text-fill-color: #1a120c !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.28),
    0 8px 18px rgba(0,0,0,.20),
    0 0 18px rgba(242,104,20,.12) !important;
  font-size: 12.5px !important;
  font-weight: 900 !important;
  letter-spacing: .015em !important;
  line-height: 1 !important;
  transition: background .18s ease, border-color .18s ease, color .18s ease, transform .18s ease, box-shadow .18s ease !important;
}

.cf-hdr8-cta .elementor-button:hover,
.cf-hdr8-cta .elementor-button:focus-visible {
  background: linear-gradient(180deg, #ffc06a, #f29a2e) !important;
  border-color: #ffd08a !important;
  color: #120c07 !important;
  -webkit-text-fill-color: #120c07 !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.34),
    0 10px 22px rgba(0,0,0,.23),
    0 0 24px rgba(242,104,20,.20) !important;
  transform: translateY(-1px) !important;
}

.cf-hdr8-cta .elementor-button-content-wrapper,
.cf-hdr8-cta .elementor-button-text {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}

/* ==================================================
   MEDIUM DESKTOP
   ================================================== */

@media (min-width: 1025px) and (max-width: 1180px) {
  .cf-hdr8-main-inner {
    max-width: 1120px !important;
    padding: 0 12px !important;
    gap: 10px !important;
  }

  .cf-hdr8-brand {
    flex-basis: 165px !important;
    min-width: 165px !important;
    max-width: 165px !important;
  }

  .cf-hdr8-brand .elementor-heading-title {
    font-size: 12.5px !important;
  }

  .cf-hdr8-nav nav.elementor-nav-menu--main {
    padding: 0 6px !important;
  }

  .cf-hdr8-nav nav.elementor-nav-menu--main > ul.elementor-nav-menu {
    gap: 6px !important;
  }

  .cf-hdr8-nav .elementor-item,
  .cf-hdr8-nav .elementor-nav-menu--main > ul.elementor-nav-menu > li > a {
    font-size: 12.5px !important;
    padding: 0 4px !important;
  }

  .cf-hdr8-cta {
    flex-basis: 136px !important;
    min-width: 136px !important;
    max-width: 136px !important;
  }

  .cf-hdr8-cta .elementor-button {
    min-width: 122px !important;
    font-size: 12px !important;
  }
}

/* ==================================================
   MOBILE / TABLET HEADER
   ================================================== */

@media (max-width: 1024px) {
  .cf-hdr8-utility-bar {
    display: none !important;
  }

  .cf-hdr8-shell {
    background: linear-gradient(180deg, rgba(0,0,0,.96), rgba(0,0,0,.58)) !important;
  }

  .cf-hdr8-main-bar {
    padding: 7px 10px 9px !important;
  }

  .cf-hdr8-main-inner {
    max-width: none !important;
    min-height: 56px !important;
    border-radius: 16px !important;
    padding: 0 10px !important;
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 10px !important;
    overflow: visible !important;
  }

  .cf-hdr8-nav {
    order: 1 !important;
    flex: 0 0 auto !important;
    width: auto !important;
    min-width: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    position: relative !important;
    z-index: 1000000 !important;
    visibility: visible !important;
    opacity: 1 !important;
    overflow: visible !important;
    pointer-events: auto !important;
  }

  .cf-hdr8-nav .elementor-widget-container {
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    width: auto !important;
    overflow: visible !important;
  }

  .cf-hdr8-brand {
    order: 2 !important;
    flex: 1 1 auto !important;
    min-width: 0 !important;
    max-width: none !important;
    text-align: center !important;
  }

  .cf-hdr8-brand .elementor-heading-title {
    display: block !important;
    color: var(--cf-hdr-cream) !important;
    -webkit-text-fill-color: var(--cf-hdr-cream) !important;
    font-size: 13px !important;
    text-align: center !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }

  .cf-hdr8-cta {
    order: 3 !important;
    flex: 0 0 auto !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    align-items: center !important;
    justify-content: flex-end !important;
  }

  .cf-hdr8-cta .elementor-button {
    width: auto !important;
    min-width: 0 !important;
    min-height: 40px !important;
    padding: 8px 12px !important;
    font-size: 12px !important;
    white-space: nowrap !important;
  }

  .cf-hdr8-nav nav.elementor-nav-menu--main,
  .cf-hdr8-nav .elementor-nav-menu--main {
    display: none !important;
  }
}

/* ==================================================
   MOBILE HAMBURGER: ALWAYS THREE LINES, NO X ICON
   ================================================== */

@media (max-width: 1024px) {
  body .cf-hdr8-shell .cf-hdr8-nav .elementor-menu-toggle,
  body .cf-hdr8-shell .cf-hdr8-nav .elementor-menu-toggle.elementor-active,
  body .cf-hdr8-shell .cf-hdr8-nav .elementor-menu-toggle[aria-expanded="true"],
  body .cf-hdr8-shell .cf-hdr8-nav .elementor-menu-toggle[aria-expanded="false"] {
    position: relative !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 42px !important;
    min-width: 42px !important;
    max-width: 42px !important;
    height: 38px !important;
    min-height: 38px !important;
    max-height: 38px !important;
    padding: 0 !important;
    margin: 0 !important;
    overflow: hidden !important;
    text-indent: -9999px !important;
    font-size: 0 !important;
    line-height: 0 !important;
    color: transparent !important;
    -webkit-text-fill-color: transparent !important;
    background: rgba(9,10,11,.62) !important;
    border: 1px solid rgba(242,154,46,.38) !important;
    border-radius: 12px !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.05) !important;
    cursor: pointer !important;
  }

  body .cf-hdr8-shell .cf-hdr8-nav .elementor-menu-toggle > *,
  body .cf-hdr8-shell .cf-hdr8-nav .elementor-menu-toggle i,
  body .cf-hdr8-shell .cf-hdr8-nav .elementor-menu-toggle svg,
  body .cf-hdr8-shell .cf-hdr8-nav .elementor-menu-toggle span,
  body .cf-hdr8-shell .cf-hdr8-nav .elementor-menu-toggle .eicon-menu-bar,
  body .cf-hdr8-shell .cf-hdr8-nav .elementor-menu-toggle .eicon-close,
  body .cf-hdr8-shell .cf-hdr8-nav .elementor-menu-toggle .elementor-menu-toggle__icon--open,
  body .cf-hdr8-shell .cf-hdr8-nav .elementor-menu-toggle .elementor-menu-toggle__icon--close,
  body .cf-hdr8-shell .cf-hdr8-nav .elementor-menu-toggle.elementor-active > *,
  body .cf-hdr8-shell .cf-hdr8-nav .elementor-menu-toggle.elementor-active i,
  body .cf-hdr8-shell .cf-hdr8-nav .elementor-menu-toggle.elementor-active svg,
  body .cf-hdr8-shell .cf-hdr8-nav .elementor-menu-toggle.elementor-active span,
  body .cf-hdr8-shell .cf-hdr8-nav .elementor-menu-toggle.elementor-active .eicon-menu-bar,
  body .cf-hdr8-shell .cf-hdr8-nav .elementor-menu-toggle.elementor-active .eicon-close,
  body .cf-hdr8-shell .cf-hdr8-nav .elementor-menu-toggle.elementor-active .elementor-menu-toggle__icon--open,
  body .cf-hdr8-shell .cf-hdr8-nav .elementor-menu-toggle.elementor-active .elementor-menu-toggle__icon--close {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    width: 0 !important;
    height: 0 !important;
    max-width: 0 !important;
    max-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    font-size: 0 !important;
    line-height: 0 !important;
    color: transparent !important;
    fill: transparent !important;
    stroke: transparent !important;
    -webkit-text-fill-color: transparent !important;
    clip-path: inset(50%) !important;
    pointer-events: none !important;
  }

  body .cf-hdr8-shell .cf-hdr8-nav .elementor-menu-toggle *::before,
  body .cf-hdr8-shell .cf-hdr8-nav .elementor-menu-toggle *::after,
  body .cf-hdr8-shell .cf-hdr8-nav .elementor-menu-toggle.elementor-active *::before,
  body .cf-hdr8-shell .cf-hdr8-nav .elementor-menu-toggle.elementor-active *::after,
  body .cf-hdr8-shell .cf-hdr8-nav .elementor-menu-toggle::after,
  body .cf-hdr8-shell .cf-hdr8-nav .elementor-menu-toggle.elementor-active::after,
  body .cf-hdr8-shell .cf-hdr8-nav .elementor-menu-toggle[aria-expanded="true"]::after,
  body .cf-hdr8-shell .cf-hdr8-nav .elementor-menu-toggle[aria-expanded="false"]::after {
    content: none !important;
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
  }

  body .cf-hdr8-shell .cf-hdr8-nav .elementor-menu-toggle::before,
  body .cf-hdr8-shell .cf-hdr8-nav .elementor-menu-toggle.elementor-active::before,
  body .cf-hdr8-shell .cf-hdr8-nav .elementor-menu-toggle[aria-expanded="true"]::before,
  body .cf-hdr8-shell .cf-hdr8-nav .elementor-menu-toggle[aria-expanded="false"]::before {
    content: "" !important;
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    width: 18px !important;
    height: 2px !important;
    border-radius: 999px !important;
    background: var(--cf-hdr-cream) !important;
    box-shadow:
      0 -6px 0 var(--cf-hdr-cream),
      0 6px 0 var(--cf-hdr-cream) !important;
    position: absolute !important;
    left: 50% !important;
    top: 50% !important;
    transform: translate(-50%, -50%) !important;
    pointer-events: none !important;
    text-indent: 0 !important;
    clip-path: none !important;
  }

  body .cf-hdr8-shell .cf-hdr8-nav .elementor-menu-toggle:hover::before,
  body .cf-hdr8-shell .cf-hdr8-nav .elementor-menu-toggle:focus-visible::before,
  body .cf-hdr8-shell .cf-hdr8-nav .elementor-menu-toggle.elementor-active:hover::before {
    background: var(--cf-hdr-orange-hover) !important;
    box-shadow:
      0 -6px 0 var(--cf-hdr-orange-hover),
      0 6px 0 var(--cf-hdr-orange-hover) !important;
  }
}

/* ==================================================
   MOBILE DRAWER + NO-JS SUBMENUS
   ================================================== */

@media (max-width: 1024px) {
  .cf-hdr8-nav .elementor-nav-menu--dropdown {
    position: absolute !important;
    top: calc(100% + 10px) !important;
    left: 0 !important;
    right: auto !important;
    width: min(92vw, 390px) !important;
    max-width: min(92vw, 390px) !important;
    height: auto !important;
    max-height: calc(100dvh - 112px) !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    -webkit-overflow-scrolling: touch !important;
    overscroll-behavior: contain !important;
    padding: 10px !important;
    border-radius: 18px !important;
    background:
      linear-gradient(180deg, rgba(255,255,255,.035), rgba(255,255,255,.010)),
      rgba(8,10,12,.985) !important;
    border: 1px solid rgba(242,154,46,.30) !important;
    box-shadow: 0 18px 38px rgba(0,0,0,.44) !important;
    scrollbar-width: thin !important;
    scrollbar-color: rgba(242,154,46,.55) rgba(255,255,255,.06) !important;
    z-index: 1000000 !important;
  }

  .cf-hdr8-nav .elementor-nav-menu--dropdown::-webkit-scrollbar {
    width: 6px !important;
  }

  .cf-hdr8-nav .elementor-nav-menu--dropdown::-webkit-scrollbar-track {
    background: rgba(255,255,255,.05) !important;
    border-radius: 99px !important;
  }

  .cf-hdr8-nav .elementor-nav-menu--dropdown::-webkit-scrollbar-thumb {
    background: rgba(242,154,46,.55) !important;
    border-radius: 99px !important;
  }

  .cf-hdr8-nav .elementor-nav-menu--dropdown[aria-hidden="true"] {
    display: none !important;
  }

  .cf-hdr8-nav .elementor-nav-menu--dropdown[aria-hidden="false"] {
    display: block !important;
  }

  .cf-hdr8-nav .elementor-nav-menu--dropdown > li {
    position: relative !important;
    border-bottom: 1px solid rgba(247,232,211,.065) !important;
  }

  .cf-hdr8-nav .elementor-nav-menu--dropdown > li:last-child {
    border-bottom: 0 !important;
  }

  .cf-hdr8-nav .elementor-nav-menu--dropdown > li > a,
  .cf-hdr8-nav .elementor-nav-menu--dropdown > li > .elementor-item,
  .cf-hdr8-nav .elementor-nav-menu--dropdown .menu-item > a {
    position: relative !important;
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    align-items: center !important;
    justify-content: space-between !important;
    width: 100% !important;
    min-height: 48px !important;
    padding: 10px 50px 10px 14px !important;
    border-radius: 12px !important;
    color: var(--cf-hdr-cream) !important;
    -webkit-text-fill-color: var(--cf-hdr-cream) !important;
    background: transparent !important;
    border: 0 !important;
    font-size: 17px !important;
    font-weight: 900 !important;
    line-height: 1.15 !important;
    text-decoration: none !important;
  }

  .cf-hdr8-nav .elementor-nav-menu--dropdown li.elementor-active > a,
  .cf-hdr8-nav .elementor-nav-menu--dropdown li.current-menu-ancestor > a {
    background: rgba(242,154,46,.065) !important;
    color: var(--cf-hdr-orange-hover) !important;
    -webkit-text-fill-color: var(--cf-hdr-orange-hover) !important;
  }

  .cf-hdr8-nav .elementor-nav-menu--dropdown li.menu-item-has-children > a,
  .cf-hdr8-nav .elementor-nav-menu--dropdown li.has-submenu > a {
    pointer-events: none !important;
    cursor: default !important;
  }

  .cf-hdr8-nav .elementor-nav-menu--dropdown li.menu-item-has-children > a .sub-arrow,
  .cf-hdr8-nav .elementor-nav-menu--dropdown li.has-submenu > a .sub-arrow {
    pointer-events: auto !important;
    cursor: pointer !important;
  }

  .cf-hdr8-nav .elementor-nav-menu--dropdown .sub-arrow {
    position: absolute !important;
    top: 50% !important;
    right: 6px !important;
    transform: translateY(-50%) !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 40px !important;
    height: 40px !important;
    margin: 0 !important;
    border-radius: 12px !important;
    color: rgba(247,232,211,.82) !important;
    fill: rgba(247,232,211,.82) !important;
    stroke: rgba(247,232,211,.82) !important;
    background: transparent !important;
    z-index: 4 !important;
  }

  .cf-hdr8-nav .elementor-nav-menu--dropdown .sub-arrow:hover,
  .cf-hdr8-nav .elementor-nav-menu--dropdown .sub-arrow:focus {
    background: rgba(242,154,46,.075) !important;
    color: var(--cf-hdr-orange-hover) !important;
    fill: var(--cf-hdr-orange-hover) !important;
    stroke: var(--cf-hdr-orange-hover) !important;
  }

  .cf-hdr8-nav .elementor-nav-menu--dropdown .sub-arrow i,
  .cf-hdr8-nav .elementor-nav-menu--dropdown .sub-arrow svg {
    color: currentColor !important;
    fill: currentColor !important;
    stroke: currentColor !important;
    font-size: 12px !important;
  }

  .cf-hdr8-nav .elementor-nav-menu--dropdown .sub-menu {
    position: static !important;
    width: 100% !important;
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
    overflow-y: visible !important;
    margin: 0 0 8px 0 !important;
    padding: 6px 0 8px 14px !important;
    border-left: 2px solid rgba(242,154,46,.34) !important;
    border-top: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  .cf-hdr8-nav .elementor-nav-menu--dropdown .sub-menu[aria-hidden="true"] {
    display: none !important;
  }

  .cf-hdr8-nav .elementor-nav-menu--dropdown li.elementor-active > .sub-menu,
  .cf-hdr8-nav .elementor-nav-menu--dropdown li.current-menu-ancestor > .sub-menu,
  .cf-hdr8-nav .elementor-nav-menu--dropdown .sub-menu[aria-hidden="false"] {
    display: block !important;
  }

  .cf-hdr8-nav .elementor-nav-menu--dropdown .sub-menu li,
  .cf-hdr8-nav .elementor-nav-menu--dropdown .sub-menu .menu-item {
    border-bottom: 1px solid rgba(247,232,211,.055) !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  .cf-hdr8-nav .elementor-nav-menu--dropdown .sub-menu li:last-child,
  .cf-hdr8-nav .elementor-nav-menu--dropdown .sub-menu .menu-item:last-child {
    border-bottom: 0 !important;
  }

  .cf-hdr8-nav .elementor-nav-menu--dropdown .sub-menu a,
  .cf-hdr8-nav .elementor-nav-menu--dropdown .sub-menu .elementor-sub-item {
    pointer-events: auto !important;
    cursor: pointer !important;
    min-height: 38px !important;
    padding: 9px 10px 9px 12px !important;
    border-radius: 8px !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    color: rgba(247,232,211,.88) !important;
    -webkit-text-fill-color: rgba(247,232,211,.88) !important;
    font-size: 15px !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
  }

  .cf-hdr8-nav .elementor-nav-menu--dropdown .sub-menu a:hover,
  .cf-hdr8-nav .elementor-nav-menu--dropdown .sub-menu a:focus {
    background: rgba(242,154,46,.080) !important;
    color: var(--cf-hdr-orange-hover) !important;
    -webkit-text-fill-color: var(--cf-hdr-orange-hover) !important;
  }

  .cf-hdr8-nav .elementor-nav-menu--dropdown * {
    overscroll-behavior: auto !important;
  }
}

/* ==================================================
   SMALL MOBILE
   ================================================== */

@media (max-width: 767px) {
  .cf-hdr8-main-inner {
    min-height: 52px !important;
    border-radius: 15px !important;
  }

  body .cf-hdr8-shell .cf-hdr8-nav .elementor-menu-toggle,
  body .cf-hdr8-shell .cf-hdr8-nav .elementor-menu-toggle.elementor-active {
    width: 40px !important;
    min-width: 40px !important;
    max-width: 40px !important;
    height: 36px !important;
    min-height: 36px !important;
    max-height: 36px !important;
  }

  body .cf-hdr8-shell .cf-hdr8-nav .elementor-menu-toggle::before,
  body .cf-hdr8-shell .cf-hdr8-nav .elementor-menu-toggle.elementor-active::before {
    width: 17px !important;
  }

  .cf-hdr8-brand .elementor-heading-title {
    font-size: 12px !important;
  }

  .cf-hdr8-cta .elementor-button {
    min-height: 38px !important;
    padding: 7px 10px !important;
    font-size: 11.5px !important;
  }

  .cf-hdr8-nav .elementor-nav-menu--dropdown {
    width: min(90vw, 360px) !important;
    max-width: min(90vw, 360px) !important;
    max-height: calc(100dvh - 108px) !important;
  }

  .cf-hdr8-nav .elementor-nav-menu--dropdown > li > a,
  .cf-hdr8-nav .elementor-nav-menu--dropdown > li > .elementor-item,
  .cf-hdr8-nav .elementor-nav-menu--dropdown .menu-item > a {
    min-height: 46px !important;
    font-size: 16.5px !important;
  }

  .cf-hdr8-nav .elementor-nav-menu--dropdown .sub-menu a,
  .cf-hdr8-nav .elementor-nav-menu--dropdown .sub-menu .elementor-sub-item {
    min-height: 36px !important;
    font-size: 14.5px !important;
  }
}



.cf-about-card,
.cf-about-card * {
  box-sizing: border-box;
  font-family: "Roboto Slab", Georgia, serif !important;
}

.cf-about-card {
  --cf-about-cream: #f7e8d3;
  --cf-about-cream-soft: rgba(247,232,211,.82);
  --cf-about-muted: rgba(247,232,211,.68);
  --cf-about-orange: #f29a2e;
  --cf-about-orange-dark: #c96f11;
  --cf-about-panel: rgba(10,12,18,.78);
  position: relative !important;
  width: min(100%, 1312px) !important;
  max-width: 1312px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  border: 1px solid rgba(247,232,211,.10) !important;
  border-radius: 28px !important;
  overflow: hidden !important;
  color: var(--cf-about-cream) !important;
  background:
    radial-gradient(circle at 18% 22%, rgba(255,255,255,.060) 0, rgba(255,255,255,0) 28%),
    radial-gradient(circle at 70% 30%, rgba(242,154,46,.055) 0, rgba(255,255,255,0) 24%),
    linear-gradient(180deg, rgba(18,22,31,.76) 0%, rgba(8,10,16,.88) 100%) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.050),
    inset 0 -1px 0 rgba(255,255,255,.030),
    0 20px 50px rgba(0,0,0,.24) !important;
}

/* Elementor boxed wrapper guard */
.cf-about-card > .e-con-inner {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  display: block !important;
}

.cf-about-card::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    linear-gradient(rgba(255,255,255,.030) 1px, transparent 1px);
  background-size: 100% 96px;
  opacity: .16;
}

.cf-about-card::after {
  content: "";
  position: absolute;
  inset: auto 0 0 0;
  height: 1px;
  pointer-events: none;
  background: linear-gradient(90deg, transparent, rgba(242,154,46,.36), transparent);
}

.cf-about-main {
  position: relative !important;
  z-index: 1 !important;
  display: grid !important;
  grid-template-columns: minmax(280px, .42fr) minmax(0, 1fr) !important;
  gap: clamp(28px, 4vw, 56px) !important;
  align-items: center !important;
  width: 100% !important;
}

/* Elementor wrapper guard */
.cf-about-main > .e-con-inner {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  display: grid !important;
  grid-template-columns: minmax(280px, .42fr) minmax(0, 1fr) !important;
  gap: clamp(28px, 4vw, 56px) !important;
  align-items: center !important;
}

.cf-about-media-wrap,
.cf-about-text-wrap {
  min-width: 0 !important;
  position: relative !important;
  z-index: 1 !important;
}

.cf-about-media-wrap {
  align-self: stretch !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.cf-about-hero,
.cf-about-hero .elementor-widget-container {
  width: 100% !important;
}

.cf-about-hero img {
  width: 100% !important;
  max-width: 510px !important;
  aspect-ratio: 1.02 / 1 !important;
  height: auto !important;
  min-height: 300px !important;
  display: block !important;
  object-fit: cover !important;
  margin: 0 auto !important;
  border-radius: 18px !important;
  border: 1px solid rgba(247,232,211,.10) !important;
  background: rgba(247,232,211,.08) !important;
  filter: drop-shadow(0 20px 24px rgba(0,0,0,.24)) !important;
}

/* Helpful when Elementor imports empty image data */
.cf-about-hero .elementor-widget-container:empty {
  min-height: 310px !important;
  border-radius: 18px !important;
  border: 1px dashed rgba(247,232,211,.20) !important;
  background: rgba(247,232,211,.08) !important;
  position: relative !important;
}

.cf-about-hero .elementor-widget-container:empty::before {
  content: "Add About Image";
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  color: rgba(247,232,211,.64);
  -webkit-text-fill-color: rgba(247,232,211,.64);
  font-size: 13px;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.cf-about-title .elementor-heading-title,
.cf-about-title h1,
.cf-about-title h2 {
  margin: 0 !important;
  color: var(--cf-about-cream) !important;
  -webkit-text-fill-color: var(--cf-about-cream) !important;
  font-size: clamp(44px, 5vw, 76px) !important;
  font-weight: 900 !important;
  line-height: 1.02 !important;
  letter-spacing: -.035em !important;
  text-wrap: balance;
  text-shadow: 0 1px 0 rgba(0,0,0,.18) !important;
}

.cf-about-copy {
  color: var(--cf-about-cream-soft) !important;
}

.cf-about-copy .cf-about-rule {
  width: 240px;
  max-width: 44%;
  height: 4px;
  border-radius: 999px;
  background: linear-gradient(90deg, var(--cf-about-orange) 0%, var(--cf-about-orange-dark) 100%);
  margin: 0 0 22px 0;
  box-shadow: 0 0 0 1px rgba(255,153,51,.08);
}

.cf-about-copy p {
  margin: 0 !important;
  color: #e9dece !important;
  -webkit-text-fill-color: #e9dece !important;
  font-size: clamp(1rem, 1.05vw, 1.16rem) !important;
  font-weight: 700 !important;
  line-height: 1.74 !important;
  text-wrap: pretty;
  text-shadow: 0 1px 0 rgba(0,0,0,.16) !important;
}

.cf-about-copy .cf-about-dropcap {
  float: left;
  font-weight: 900;
  font-size: 4.6em;
  line-height: .78;
  margin: .08em .14em -.02em 0;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

.cf-about-caption {
  position: relative !important;
  z-index: 1 !important;
  border-top: 1px solid rgba(247,232,211,.10) !important;
  padding-top: 16px !important;
}

.cf-about-caption,
.cf-about-caption p,
.cf-about-caption .elementor-widget-container {
  margin: 0 !important;
  color: var(--cf-about-muted) !important;
  -webkit-text-fill-color: var(--cf-about-muted) !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  line-height: 1.45 !important;
}

/* Tablet */
@media (max-width: 1024px) {
  .cf-about-card {
    border-radius: 24px !important;
  }

  .cf-about-main,
  .cf-about-main > .e-con-inner {
    grid-template-columns: 1fr !important;
    gap: 28px !important;
  }

  .cf-about-media-wrap {
    align-items: flex-start !important;
  }

  .cf-about-hero img {
    max-width: 520px !important;
    min-height: 280px !important;
  }

  .cf-about-title .elementor-heading-title,
  .cf-about-title h1,
  .cf-about-title h2 {
    font-size: clamp(38px, 6vw, 58px) !important;
  }

  .cf-about-copy .cf-about-rule {
    max-width: 180px;
    margin-bottom: 18px;
  }

  .cf-about-copy .cf-about-dropcap {
    font-size: 4.2em;
  }
}

/* Mobile */
@media (max-width: 767px) {
  .cf-about-card {
    border-radius: 20px !important;
  }

  .cf-about-main,
  .cf-about-main > .e-con-inner {
    gap: 22px !important;
  }

  .cf-about-hero img {
    max-width: 100% !important;
    min-height: 220px !important;
    border-radius: 15px !important;
  }

  .cf-about-title .elementor-heading-title,
  .cf-about-title h1,
  .cf-about-title h2 {
    text-align: left !important;
    font-size: clamp(34px, 10vw, 44px) !important;
    line-height: 1.04 !important;
  }

  .cf-about-copy .cf-about-rule {
    width: 160px;
    max-width: 52%;
    height: 3px;
    margin-bottom: 14px;
  }

  .cf-about-copy p {
    font-size: 16px !important;
    line-height: 1.68 !important;
  }

  .cf-about-copy .cf-about-dropcap {
    font-size: 3.4em;
    margin-right: .12em;
  }

  .cf-about-caption {
    padding-top: 14px !important;
  }
}


/* ==================================================
   ABOUT CARD v1.1 — Title / Flow / Copy Polish
   Full CSS includes v1.0 base + these v1.1 overrides.
   Purpose:
   - Keep "Authentic Kiawe-Smoked BBQ" on one desktop line.
   - Put "Oahu, Hawaii" on the next line.
   - Reduce title size/weight pressure.
   - Narrow image column slightly.
   - Improve body copy rhythm.
   - Reduce drop cap.
   - Replace placeholder caption with quieter brand caption.
   ================================================== */

/* Slightly more text room, slightly less image dominance */
.cf-about-card--v1-1 .cf-about-main {
  grid-template-columns: minmax(250px, .34fr) minmax(0, 1fr) !important;
  gap: clamp(28px, 3.4vw, 46px) !important;
}

.cf-about-card--v1-1 .cf-about-main > .e-con-inner {
  grid-template-columns: minmax(250px, .34fr) minmax(0, 1fr) !important;
  gap: clamp(28px, 3.4vw, 46px) !important;
}

/* Image is still strong, just not hogging the headline */
.cf-about-card--v1-1 .cf-about-hero img {
  max-width: 455px !important;
  min-height: 285px !important;
  aspect-ratio: 1.08 / 1 !important;
}

/* Title line control */
.cf-about-card--v1-1 .cf-about-title .elementor-heading-title,
.cf-about-card--v1-1 .cf-about-title h1,
.cf-about-card--v1-1 .cf-about-title h2 {
  font-size: clamp(38px, 3.45vw, 54px) !important;
  font-weight: 850 !important;
  line-height: 1.04 !important;
  letter-spacing: -.032em !important;
}

.cf-about-card--v1-1 .cf-about-title-line {
  display: block !important;
}

@media (min-width: 1025px) {
  .cf-about-card--v1-1 .cf-about-title-line--main {
    white-space: nowrap !important;
  }
}

/* Rule closer to the headline and less heavy */
.cf-about-card--v1-1 .cf-about-copy .cf-about-rule {
  width: 220px !important;
  max-width: 38% !important;
  height: 3px !important;
  margin: -2px 0 18px 0 !important;
}

/* Body copy easier to read */
.cf-about-card--v1-1 .cf-about-copy p {
  font-size: clamp(.98rem, .98vw, 1.08rem) !important;
  font-weight: 600 !important;
  line-height: 1.68 !important;
  color: #eadfce !important;
  -webkit-text-fill-color: #eadfce !important;
}

/* Drop cap still has character, but stops eating the paragraph */
.cf-about-card--v1-1 .cf-about-copy .cf-about-dropcap {
  font-size: 3.85em !important;
  line-height: .82 !important;
  margin: .08em .13em -.02em 0 !important;
}

/* Caption: quieter and more intentional */
.cf-about-card--v1-1 .cf-about-caption {
  padding-top: 14px !important;
  border-top-color: rgba(247,232,211,.08) !important;
}

.cf-about-card--v1-1 .cf-about-caption,
.cf-about-card--v1-1 .cf-about-caption p,
.cf-about-card--v1-1 .cf-about-caption .elementor-widget-container {
  color: rgba(247,232,211,.58) !important;
  -webkit-text-fill-color: rgba(247,232,211,.58) !important;
  font-size: 12.5px !important;
  font-weight: 700 !important;
}

/* Laptop / smaller desktop guard */
@media (min-width: 1025px) and (max-width: 1280px) {
  .cf-about-card--v1-1 .cf-about-main,
  .cf-about-card--v1-1 .cf-about-main > .e-con-inner {
    grid-template-columns: minmax(235px, .30fr) minmax(0, 1fr) !important;
    gap: 34px !important;
  }

  .cf-about-card--v1-1 .cf-about-title .elementor-heading-title,
  .cf-about-card--v1-1 .cf-about-title h1,
  .cf-about-card--v1-1 .cf-about-title h2 {
    font-size: clamp(36px, 3.25vw, 48px) !important;
  }

  .cf-about-card--v1-1 .cf-about-hero img {
    max-width: 390px !important;
  }
}

/* Tablet */
@media (max-width: 1024px) {
  .cf-about-card--v1-1 .cf-about-main,
  .cf-about-card--v1-1 .cf-about-main > .e-con-inner {
    grid-template-columns: 1fr !important;
    gap: 26px !important;
  }

  .cf-about-card--v1-1 .cf-about-hero img {
    max-width: 500px !important;
    min-height: 260px !important;
  }

  .cf-about-card--v1-1 .cf-about-title .elementor-heading-title,
  .cf-about-card--v1-1 .cf-about-title h1,
  .cf-about-card--v1-1 .cf-about-title h2 {
    font-size: clamp(36px, 5.6vw, 54px) !important;
  }

  .cf-about-card--v1-1 .cf-about-copy .cf-about-dropcap {
    font-size: 3.7em !important;
  }
}

/* Mobile */
@media (max-width: 767px) {
  .cf-about-card--v1-1 .cf-about-title-line--main {
    white-space: normal !important;
  }

  .cf-about-card--v1-1 .cf-about-title .elementor-heading-title,
  .cf-about-card--v1-1 .cf-about-title h1,
  .cf-about-card--v1-1 .cf-about-title h2 {
    font-size: clamp(32px, 9vw, 42px) !important;
    line-height: 1.05 !important;
  }

  .cf-about-card--v1-1 .cf-about-copy p {
    font-size: 16px !important;
    line-height: 1.66 !important;
  }

  .cf-about-card--v1-1 .cf-about-copy .cf-about-dropcap {
    font-size: 3.2em !important;
    margin-right: .12em !important;
  }

  .cf-about-card--v1-1 .cf-about-copy .cf-about-rule {
    width: 150px !important;
    max-width: 50% !important;
  }
}

/* ---------- Shell / header ---------- */

.cf-menu-shell{
  background: transparent !important;
  max-width: 100% !important;
  overflow-x: clip !important;
}

.cf-menu-head{
  width: 100% !important;
}

.cf-menu-kicker .elementor-heading-title{
  color: #f29a2e !important;
  text-transform: uppercase;
  letter-spacing: .08em;
}

.cf-menu-heading .elementor-heading-title,
.cf-menu-subhead,
.cf-menu-card,
.cf-menu-chip,
.cf-menu-meta,
.cf-menu-card-title,
.cf-menu-card-body,
.cf-menu-link,
.cf-menu-top-button,
.cf-menu-mobile-button{
  font-family: "Roboto Slab", serif !important;
}

.cf-menu-heading .elementor-heading-title{
  text-shadow: 0 2px 12px rgba(0,0,0,.28);
}

.cf-menu-subhead p,
.cf-menu-card-body p{
  margin: 0;
}


/* ---------- Carousel positioning context ---------- */

.cf-menu-carousel,
.cf-menu-shell .elementor-element-c3e2bbb{
  position: relative !important;
  max-width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* Make the outer carousel widget the positioning context, not Swiper's internal frame. */
.cf-menu-carousel .e-n-carousel,
.cf-menu-carousel .swiper,
.cf-menu-shell .elementor-element-c3e2bbb .e-n-carousel,
.cf-menu-shell .elementor-element-c3e2bbb .swiper{
  position: static !important;
}

.cf-menu-carousel .e-n-carousel,
.cf-menu-carousel .swiper,
.cf-menu-carousel .swiper-wrapper,
.cf-menu-carousel .swiper-slide,
.cf-menu-shell .elementor-element-c3e2bbb .e-n-carousel,
.cf-menu-shell .elementor-element-c3e2bbb .swiper,
.cf-menu-shell .elementor-element-c3e2bbb .swiper-wrapper,
.cf-menu-shell .elementor-element-c3e2bbb .swiper-slide{
  overflow: visible !important;
}

.cf-menu-carousel .swiper-wrapper,
.cf-menu-shell .elementor-element-c3e2bbb .swiper-wrapper{
  align-items: stretch !important;
}

.cf-menu-carousel .swiper-slide,
.cf-menu-shell .elementor-element-c3e2bbb .swiper-slide{
  height: auto !important;
}


/* ---------- Desktop card width match ---------- */

@media (min-width: 1025px){
  .cf-menu-carousel .swiper-slide,
  .cf-menu-shell .elementor-element-c3e2bbb .swiper-slide{
    width: min(380px, calc((100% - 56px) / 3)) !important;
    max-width: 380px !important;
    height: auto !important;
  }

  .cf-menu-card{
    min-height: 100% !important;
  }
}


/* ---------- Card ---------- */

.cf-menu-card{
  position: relative;
  min-height: 100%;
  overflow: hidden;
  border-radius: 22px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.06) 0%, rgba(255,255,255,.02) 100%),
    linear-gradient(180deg, rgba(38,25,18,.78) 0%, rgba(15,10,7,.88) 100%);
  border: 1px solid rgba(255,255,255,.09);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.05),
    0 14px 34px rgba(0,0,0,.28);
  backdrop-filter: blur(3px);
  -webkit-backdrop-filter: blur(3px);
}

.cf-menu-card::before{
  content: none !important;
  display: none !important;
}

.cf-menu-card-image{
  margin-top: 12px;
}

.cf-menu-card-image,
.cf-menu-card-image .elementor-widget-container,
.cf-menu-card-image .elementor-image{
  width: 100% !important;
  max-width: 100% !important;
}

.cf-menu-card-image img,
.cf-menu-card-image .elementor-image img{
  display: block;
  width: 100% !important;
  max-width: 100% !important;
  height: 236px !important;
  object-fit: cover !important;
  border-radius: 12px !important;
  border: 1px solid rgba(255,255,255,.08);
  box-shadow: 0 10px 22px rgba(0,0,0,.28);
}

.cf-menu-chip,
.cf-menu-meta{
  display: inline-flex;
  align-items: center;
}

.cf-menu-chip{
  margin-right: 8px;
}

.cf-menu-card-title .elementor-heading-title{
  margin-top: 2px;
}

.cf-menu-link .elementor-button,
.cf-menu-link a.elementor-button{
  justify-content: flex-start !important;
}

.cf-menu-link .elementor-button-text{
  text-decoration: none;
}

.cf-menu-top-button .elementor-button,
.cf-menu-mobile-button .elementor-button{
  box-shadow: 0 10px 24px rgba(0,0,0,.18);
}


/* ---------- PREV / NEXT base ---------- */

.cf-menu-shell .cf-menu-carousel :is(.elementor-swiper-button,.elementor-swiper-button-prev,.elementor-swiper-button-next,.swiper-button-prev,.swiper-button-next),
.cf-menu-shell .elementor-element-c3e2bbb :is(.elementor-swiper-button,.elementor-swiper-button-prev,.elementor-swiper-button-next,.swiper-button-prev,.swiper-button-next),
.cf-menu-carousel :is(.elementor-swiper-button,.elementor-swiper-button-prev,.elementor-swiper-button-next,.swiper-button-prev,.swiper-button-next){
  position: absolute !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 84px !important;
  height: 36px !important;
  padding: 0 !important;
  margin: 0 !important;
  border-radius: 11px !important;
  opacity: 1 !important;
  z-index: 60 !important;
  font-size: 0 !important;
  line-height: 1 !important;
  text-align: center !important;
}

/* Hide original icons */
.cf-menu-shell .cf-menu-carousel :is(.elementor-swiper-button,.elementor-swiper-button-prev,.elementor-swiper-button-next,.swiper-button-prev,.swiper-button-next) :is(i,svg),
.cf-menu-shell .elementor-element-c3e2bbb :is(.elementor-swiper-button,.elementor-swiper-button-prev,.elementor-swiper-button-next,.swiper-button-prev,.swiper-button-next) :is(i,svg),
.cf-menu-carousel :is(.elementor-swiper-button,.elementor-swiper-button-prev,.elementor-swiper-button-next,.swiper-button-prev,.swiper-button-next) :is(i,svg){
  display: none !important;
}

/* Text labels */
.cf-menu-shell .cf-menu-carousel :is(.swiper-button-prev,.elementor-swiper-button-prev)::after,
.cf-menu-shell .elementor-element-c3e2bbb :is(.swiper-button-prev,.elementor-swiper-button-prev)::after,
.cf-menu-carousel :is(.swiper-button-prev,.elementor-swiper-button-prev)::after{
  content: "← PREV" !important;
}

.cf-menu-shell .cf-menu-carousel :is(.swiper-button-next,.elementor-swiper-button-next)::after,
.cf-menu-shell .elementor-element-c3e2bbb :is(.swiper-button-next,.elementor-swiper-button-next)::after,
.cf-menu-carousel :is(.swiper-button-next,.elementor-swiper-button-next)::after{
  content: "NEXT →" !important;
}

.cf-menu-shell .cf-menu-carousel :is(.swiper-button-prev,.swiper-button-next,.elementor-swiper-button-prev,.elementor-swiper-button-next)::after,
.cf-menu-shell .elementor-element-c3e2bbb :is(.swiper-button-prev,.swiper-button-next,.elementor-swiper-button-prev,.elementor-swiper-button-next)::after,
.cf-menu-carousel :is(.swiper-button-prev,.swiper-button-next,.elementor-swiper-button-prev,.elementor-swiper-button-next)::after{
  display: block !important;
  margin: 0 !important;
  font-family: "Roboto Slab", serif !important;
  font-size: 11px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  letter-spacing: .04em !important;
  text-transform: uppercase !important;
  text-shadow: none !important;
}

.cf-menu-shell .cf-menu-carousel .swiper-button-disabled,
.cf-menu-shell .elementor-element-c3e2bbb .swiper-button-disabled,
.cf-menu-carousel .swiper-button-disabled{
  opacity: .48 !important;
  cursor: default !important;
}


/* ---------- Base dots ---------- */

.cf-menu-carousel .swiper-pagination,
.cf-menu-shell .elementor-element-c3e2bbb .swiper-pagination{
  position: relative !important;
  left: auto !important;
  right: auto !important;
  bottom: auto !important;
  margin-top: 10px !important;
  text-align: left !important;
}

.cf-menu-carousel .swiper-pagination-bullet,
.cf-menu-shell .elementor-element-c3e2bbb .swiper-pagination-bullet{
  opacity: 1 !important;
  background: #6a4a33 !important;
}

.cf-menu-carousel .swiper-pagination-bullet-active,
.cf-menu-shell .elementor-element-c3e2bbb .swiper-pagination-bullet-active{
  background: #f29a2e !important;
}


/* ==================================================
   DESKTOP — compact tray, all controls left
   ================================================== */

@media (min-width: 1025px){

  .cf-menu-carousel,
  .cf-menu-shell .elementor-element-c3e2bbb{
    padding-top: 0 !important;
    padding-bottom: 60px !important;
  }

  .cf-menu-carousel::before{
    content: "" !important;
    position: absolute !important;
    left: 0 !important;
    right: auto !important;
    bottom: 0 !important;
    width: 660px !important;
    max-width: 100% !important;
    height: 46px !important;
    border-radius: 15px !important;
    background:
      linear-gradient(180deg, rgba(255,255,255,.045), rgba(255,255,255,.012)),
      linear-gradient(90deg, rgba(28,20,15,.84), rgba(17,12,9,.70) 54%, rgba(28,20,15,.86)) !important;
    border: 1px solid rgba(255,158,58,.24) !important;
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,.07),
      0 12px 28px rgba(0,0,0,.24) !important;
    pointer-events: none !important;
    z-index: 20 !important;
  }

  .cf-menu-carousel::after{
    content: "BROWSE THE MENU • CLICK PREV / NEXT" !important;
    position: absolute !important;
    left: 132px !important;
    right: auto !important;
    bottom: 17px !important;
    width: 292px !important;
    color: #f7e8d3 !important;
    font-family: "Roboto Slab", serif !important;
    font-size: 11px !important;
    font-weight: 900 !important;
    line-height: 1 !important;
    letter-spacing: .045em !important;
    text-transform: uppercase !important;
    text-shadow: 0 2px 10px rgba(0,0,0,.58) !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    pointer-events: none !important;
    z-index: 21 !important;
  }

  .cf-menu-carousel .swiper-pagination,
  .cf-menu-shell .elementor-element-c3e2bbb .swiper-pagination{
    position: absolute !important;
    left: 16px !important;
    right: auto !important;
    bottom: 14px !important;
    width: auto !important;
    margin-top: 0 !important;
    text-align: left !important;
    z-index: 22 !important;
  }

  /* Hard pin all arrows into the tray */
  .cf-menu-shell .cf-menu-carousel :is(.elementor-swiper-button,.elementor-swiper-button-prev,.elementor-swiper-button-next,.swiper-button-prev,.swiper-button-next),
  .cf-menu-shell .elementor-element-c3e2bbb :is(.elementor-swiper-button,.elementor-swiper-button-prev,.elementor-swiper-button-next,.swiper-button-prev,.swiper-button-next),
  .cf-menu-carousel :is(.elementor-swiper-button,.elementor-swiper-button-prev,.elementor-swiper-button-next,.swiper-button-prev,.swiper-button-next){
    top: auto !important;
    inset-block-start: auto !important;
    bottom: 5px !important;
    inset-block-end: 5px !important;
    right: auto !important;
    inset-inline-end: auto !important;
    transform: none !important;
    box-shadow:
      0 8px 18px rgba(0,0,0,.34),
      inset 0 1px 0 rgba(255,255,255,.18),
      inset 0 -2px 0 rgba(0,0,0,.14) !important;
  }

  .cf-menu-shell .cf-menu-carousel :is(.swiper-button-prev,.elementor-swiper-button-prev),
  .cf-menu-shell .elementor-element-c3e2bbb :is(.swiper-button-prev,.elementor-swiper-button-prev),
  .cf-menu-carousel :is(.swiper-button-prev,.elementor-swiper-button-prev){
    left: 442px !important;
    inset-inline-start: 442px !important;
    background: rgba(15,10,7,.72) !important;
    border: 1px solid rgba(255,158,58,.52) !important;
    color: #f7e8d3 !important;
  }

  .cf-menu-shell .cf-menu-carousel :is(.swiper-button-next,.elementor-swiper-button-next),
  .cf-menu-shell .elementor-element-c3e2bbb :is(.swiper-button-next,.elementor-swiper-button-next),
  .cf-menu-carousel :is(.swiper-button-next,.elementor-swiper-button-next){
    left: 536px !important;
    inset-inline-start: 536px !important;
    background: linear-gradient(180deg, #ffb35b 0%, #ff9e3a 100%) !important;
    border: 1px solid rgba(255,235,205,.56) !important;
    color: #1a120c !important;
  }

  .cf-menu-shell .cf-menu-carousel :is(.swiper-button-prev,.elementor-swiper-button-prev)::after,
  .cf-menu-shell .elementor-element-c3e2bbb :is(.swiper-button-prev,.elementor-swiper-button-prev)::after,
  .cf-menu-carousel :is(.swiper-button-prev,.elementor-swiper-button-prev)::after{
    color: #f7e8d3 !important;
  }

  .cf-menu-shell .cf-menu-carousel :is(.swiper-button-next,.elementor-swiper-button-next)::after,
  .cf-menu-shell .elementor-element-c3e2bbb :is(.swiper-button-next,.elementor-swiper-button-next)::after,
  .cf-menu-carousel :is(.swiper-button-next,.elementor-swiper-button-next)::after{
    color: #1a120c !important;
  }
}


/* ==================================================
   TABLET — compact tray
   ================================================== */

@media (max-width: 1024px) and (min-width: 768px){

  .cf-menu-carousel,
  .cf-menu-shell .elementor-element-c3e2bbb{
    padding-top: 0 !important;
    padding-bottom: 60px !important;
  }

  .cf-menu-card-image img,
  .cf-menu-card-image .elementor-image img{
    height: 224px !important;
  }

  .cf-menu-carousel::before{
    content: "" !important;
    position: absolute !important;
    left: 0 !important;
    right: auto !important;
    bottom: 0 !important;
    width: 560px !important;
    max-width: 100% !important;
    height: 46px !important;
    border-radius: 15px !important;
    background:
      linear-gradient(180deg, rgba(255,255,255,.045), rgba(255,255,255,.012)),
      linear-gradient(90deg, rgba(28,20,15,.84), rgba(17,12,9,.70) 54%, rgba(28,20,15,.86)) !important;
    border: 1px solid rgba(255,158,58,.24) !important;
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,.07),
      0 12px 28px rgba(0,0,0,.24) !important;
    pointer-events: none !important;
    z-index: 20 !important;
  }

  .cf-menu-carousel::after{
    content: "CLICK PREV / NEXT TO BROWSE" !important;
    position: absolute !important;
    left: 120px !important;
    right: auto !important;
    bottom: 17px !important;
    width: 174px !important;
    color: #f7e8d3 !important;
    font-family: "Roboto Slab", serif !important;
    font-size: 10px !important;
    font-weight: 900 !important;
    line-height: 1 !important;
    letter-spacing: .04em !important;
    text-transform: uppercase !important;
    text-shadow: 0 2px 10px rgba(0,0,0,.58) !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    pointer-events: none !important;
    z-index: 21 !important;
  }

  .cf-menu-carousel .swiper-pagination,
  .cf-menu-shell .elementor-element-c3e2bbb .swiper-pagination{
    position: absolute !important;
    left: 14px !important;
    right: auto !important;
    bottom: 14px !important;
    width: auto !important;
    margin-top: 0 !important;
    text-align: left !important;
    z-index: 22 !important;
  }

  .cf-menu-shell .cf-menu-carousel :is(.elementor-swiper-button,.elementor-swiper-button-prev,.elementor-swiper-button-next,.swiper-button-prev,.swiper-button-next),
  .cf-menu-shell .elementor-element-c3e2bbb :is(.elementor-swiper-button,.elementor-swiper-button-prev,.elementor-swiper-button-next,.swiper-button-prev,.swiper-button-next),
  .cf-menu-carousel :is(.elementor-swiper-button,.elementor-swiper-button-prev,.elementor-swiper-button-next,.swiper-button-prev,.swiper-button-next){
    top: auto !important;
    inset-block-start: auto !important;
    bottom: 5px !important;
    inset-block-end: 5px !important;
    right: auto !important;
    inset-inline-end: auto !important;
    width: 78px !important;
    height: 36px !important;
    transform: none !important;
    box-shadow:
      0 8px 18px rgba(0,0,0,.34),
      inset 0 1px 0 rgba(255,255,255,.18),
      inset 0 -2px 0 rgba(0,0,0,.14) !important;
  }

  .cf-menu-shell .cf-menu-carousel :is(.swiper-button-prev,.elementor-swiper-button-prev),
  .cf-menu-shell .elementor-element-c3e2bbb :is(.swiper-button-prev,.elementor-swiper-button-prev),
  .cf-menu-carousel :is(.swiper-button-prev,.elementor-swiper-button-prev){
    left: 306px !important;
    inset-inline-start: 306px !important;
    background: rgba(15,10,7,.72) !important;
    border: 1px solid rgba(255,158,58,.52) !important;
    color: #f7e8d3 !important;
  }

  .cf-menu-shell .cf-menu-carousel :is(.swiper-button-next,.elementor-swiper-button-next),
  .cf-menu-shell .elementor-element-c3e2bbb :is(.swiper-button-next,.elementor-swiper-button-next),
  .cf-menu-carousel :is(.swiper-button-next,.elementor-swiper-button-next){
    left: 394px !important;
    inset-inline-start: 394px !important;
    background: linear-gradient(180deg, #ffb35b 0%, #ff9e3a 100%) !important;
    border: 1px solid rgba(255,235,205,.56) !important;
    color: #1a120c !important;
  }

  .cf-menu-shell .cf-menu-carousel :is(.swiper-button-prev,.elementor-swiper-button-prev)::after,
  .cf-menu-shell .elementor-element-c3e2bbb :is(.swiper-button-prev,.elementor-swiper-button-prev)::after,
  .cf-menu-carousel :is(.swiper-button-prev,.elementor-swiper-button-prev)::after{
    color: #f7e8d3 !important;
  }

  .cf-menu-shell .cf-menu-carousel :is(.swiper-button-next,.elementor-swiper-button-next)::after,
  .cf-menu-shell .elementor-element-c3e2bbb :is(.swiper-button-next,.elementor-swiper-button-next)::after,
  .cf-menu-carousel :is(.swiper-button-next,.elementor-swiper-button-next)::after{
    color: #1a120c !important;
  }
}


/* ==================================================
   MOBILE — below-card tray, no image overlap
   ================================================== */

@media (max-width: 767px){

  .cf-menu-shell{
    overflow: hidden !important;
  }

  .cf-menu-carousel,
  .cf-menu-shell .elementor-element-c3e2bbb{
    width: 100% !important;
    max-width: 100% !important;
    overflow: visible !important;
    padding-top: 0 !important;
    padding-bottom: 86px !important;
  }

  .cf-menu-carousel .e-n-carousel,
  .cf-menu-carousel .swiper,
  .cf-menu-shell .elementor-element-c3e2bbb .e-n-carousel,
  .cf-menu-shell .elementor-element-c3e2bbb .swiper{
    position: static !important;
    width: 100% !important;
    max-width: 100% !important;
    overflow: hidden !important;
    touch-action: pan-y !important;
  }

  .cf-menu-carousel .swiper-wrapper,
  .cf-menu-shell .elementor-element-c3e2bbb .swiper-wrapper{
    overflow: visible !important;
    touch-action: pan-y !important;
    will-change: transform;
  }

  .cf-menu-carousel .swiper-slide,
  .cf-menu-shell .elementor-element-c3e2bbb .swiper-slide{
    width: 100% !important;
    max-width: 100% !important;
    flex-shrink: 0 !important;
  }

  .cf-menu-card{
    width: 100% !important;
    max-width: 100% !important;
    border-radius: 18px;
  }

  .cf-menu-card-image img,
  .cf-menu-card-image .elementor-image img{
    height: 210px !important;
  }

  .cf-menu-carousel::before{
    content: "" !important;
    position: absolute !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    height: 74px !important;
    border-radius: 15px !important;
    background:
      linear-gradient(180deg, rgba(255,255,255,.045), rgba(255,255,255,.012)),
      linear-gradient(90deg, rgba(28,20,15,.84), rgba(17,12,9,.70) 54%, rgba(28,20,15,.86)) !important;
    border: 1px solid rgba(255,158,58,.24) !important;
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,.07),
      0 12px 28px rgba(0,0,0,.24) !important;
    pointer-events: none !important;
    z-index: 20 !important;
  }

  .cf-menu-carousel::after{
    content: "BROWSE MENU • TAP PREV / NEXT" !important;
    position: absolute !important;
    left: 14px !important;
    right: 14px !important;
    bottom: 52px !important;
    color: #f7e8d3 !important;
    font-family: "Roboto Slab", serif !important;
    font-size: 10px !important;
    font-weight: 900 !important;
    line-height: 1 !important;
    letter-spacing: .045em !important;
    text-transform: uppercase !important;
    text-shadow: 0 2px 10px rgba(0,0,0,.58) !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    pointer-events: none !important;
    z-index: 21 !important;
  }

  .cf-menu-carousel .swiper-pagination,
  .cf-menu-shell .elementor-element-c3e2bbb .swiper-pagination{
    position: absolute !important;
    left: 14px !important;
    right: auto !important;
    bottom: 16px !important;
    width: auto !important;
    margin-top: 0 !important;
    text-align: left !important;
    z-index: 22 !important;
  }

  /* Hard pin mobile arrows into the below-card tray */
  .cf-menu-shell .cf-menu-carousel :is(.elementor-swiper-button,.elementor-swiper-button-prev,.elementor-swiper-button-next,.swiper-button-prev,.swiper-button-next),
  .cf-menu-shell .elementor-element-c3e2bbb :is(.elementor-swiper-button,.elementor-swiper-button-prev,.elementor-swiper-button-next,.swiper-button-prev,.swiper-button-next),
  .cf-menu-carousel :is(.elementor-swiper-button,.elementor-swiper-button-prev,.elementor-swiper-button-next,.swiper-button-prev,.swiper-button-next){
    top: auto !important;
    inset-block-start: auto !important;
    bottom: 8px !important;
    inset-block-end: 8px !important;
    left: auto !important;
    inset-inline-start: auto !important;
    width: 62px !important;
    height: 34px !important;
    border-radius: 10px !important;
    transform: none !important;
    box-shadow:
      0 8px 18px rgba(0,0,0,.34),
      inset 0 1px 0 rgba(255,255,255,.18),
      inset 0 -2px 0 rgba(0,0,0,.14) !important;
  }

  .cf-menu-shell .cf-menu-carousel :is(.swiper-button-prev,.elementor-swiper-button-prev),
  .cf-menu-shell .elementor-element-c3e2bbb :is(.swiper-button-prev,.elementor-swiper-button-prev),
  .cf-menu-carousel :is(.swiper-button-prev,.elementor-swiper-button-prev){
    right: 82px !important;
    inset-inline-end: 82px !important;
    background: rgba(15,10,7,.72) !important;
    border: 1px solid rgba(255,158,58,.52) !important;
    color: #f7e8d3 !important;
  }

  .cf-menu-shell .cf-menu-carousel :is(.swiper-button-next,.elementor-swiper-button-next),
  .cf-menu-shell .elementor-element-c3e2bbb :is(.swiper-button-next,.elementor-swiper-button-next),
  .cf-menu-carousel :is(.swiper-button-next,.elementor-swiper-button-next){
    right: 10px !important;
    inset-inline-end: 10px !important;
    background: linear-gradient(180deg, #ffb35b 0%, #ff9e3a 100%) !important;
    border: 1px solid rgba(255,235,205,.56) !important;
    color: #1a120c !important;
  }

  .cf-menu-shell .cf-menu-carousel :is(.swiper-button-prev,.elementor-swiper-button-prev)::after,
  .cf-menu-shell .elementor-element-c3e2bbb :is(.swiper-button-prev,.elementor-swiper-button-prev)::after,
  .cf-menu-carousel :is(.swiper-button-prev,.elementor-swiper-button-prev)::after{
    content: "PREV" !important;
    color: #f7e8d3 !important;
    font-size: 10px !important;
  }

  .cf-menu-shell .cf-menu-carousel :is(.swiper-button-next,.elementor-swiper-button-next)::after,
  .cf-menu-shell .elementor-element-c3e2bbb :is(.swiper-button-next,.elementor-swiper-button-next)::after,
  .cf-menu-carousel :is(.swiper-button-next,.elementor-swiper-button-next)::after{
    content: "NEXT" !important;
    color: #1a120c !important;
    font-size: 10px !important;
  }

  .cf-menu-mobile-button{
    margin-top: 6px !important;
  }
}
.cf-news1-shell,
.cf-news1-shell *{box-sizing:border-box !important;}
.cf-news1-shell{width:100%;max-width:100% !important;overflow-x:clip !important;}
.cf-news1-chip{align-self:center !important;}
.cf-news1-chip .elementor-button{background:rgba(27,20,16,0.72) !important;color:#F7E9D4 !important;border:1px solid rgba(201,121,36,0.52) !important;border-radius:999px !important;padding:8px 14px !important;font-family:"Roboto Slab",serif !important;font-size:14px !important;font-weight:700 !important;line-height:1 !important;}
.cf-news1-title .elementor-heading-title{color:#F5EBDD !important;font-size:64px !important;line-height:1.04 !important;letter-spacing:-.03em !important;text-align:center !important;max-width:980px !important;}
.cf-news1-meta .elementor-icon-list-items{display:inline-flex !important;align-items:center !important;justify-content:center !important;gap:0 !important;}
.cf-news1-meta .elementor-icon-list-item,.cf-news1-meta .elementor-icon-list-text{color:#F0DABF !important;-webkit-text-fill-color:#F0DABF !important;font-size:15px !important;font-weight:600 !important;}
.cf-news1-deck{max-width:860px !important;}
.cf-news1-deck p{margin:0 !important;color:#E7DDCF !important;font-size:20px !important;line-height:1.6 !important;text-align:center !important;}
.cf-news1-hero .elementor-widget-container{width:100% !important;border-radius:28px !important;overflow:hidden !important;border:1px solid rgba(201,121,36,0.22) !important;box-shadow:0 16px 34px rgba(0,0,0,.20) !important;}
.cf-news1-hero img{width:100% !important;height:520px !important;object-fit:cover !important;display:block !important;}
.cf-news1-content-row{align-items:flex-start !important;}
.cf-news1-content,.cf-news1-content p,.cf-news1-content li{color:#E8DDCE !important;font-family:"Roboto Slab",serif !important;font-size:18px !important;line-height:1.78 !important;}
.cf-news1-content p{margin:0 0 20px 0 !important;}
.cf-news1-content h2{color:#F5EBDD !important;font-family:"Roboto Slab",serif !important;font-size:42px !important;font-weight:700 !important;line-height:1.08 !important;letter-spacing:-.02em !important;margin:26px 0 14px 0 !important;}
.cf-news1-content h3{color:#F5EBDD !important;font-family:"Roboto Slab",serif !important;font-size:28px !important;font-weight:700 !important;line-height:1.15 !important;margin:22px 0 12px 0 !important;}
.cf-news1-content blockquote{margin:24px 0 !important;padding:16px 18px !important;border-left:3px solid #D86F1E !important;background:rgba(27,20,16,.46) !important;color:#F1E4D2 !important;border-radius:0 16px 16px 0 !important;}
.cf-news1-card{background:linear-gradient(180deg, rgba(42,18,8,.68) 0%, rgba(18,11,9,.92) 100%) !important;border:1px solid rgba(201,121,36,.20) !important;border-radius:22px !important;box-shadow:0 12px 26px rgba(0,0,0,.14) !important;overflow:hidden !important;padding:20px !important;}
.cf-news1-card-title-small .elementor-heading-title{color:#F7E9D4 !important;font-size:18px !important;line-height:1.2 !important;}
.cf-news1-post-nav-row .elementor-button{min-width:190px !important;}
.cf-news1-post-nav-link .elementor-button{font-family:"Roboto Slab",serif !important;}
.cf-news1-more-news-heading .elementor-heading-title{color:#F5EBDD !important;font-size:42px !important;line-height:1.08 !important;letter-spacing:-.02em !important;}
@media (max-width:1024px){
  .cf-news1-title .elementor-heading-title{font-size:48px !important;}
  .cf-news1-hero img{height:360px !important;}
  .cf-news1-content-row{flex-direction:column !important;}
  .cf-news1-main-col,.cf-news1-sidebar{width:100% !important;max-width:100% !important;flex:none !important;}
}
@media (max-width:767px){
  .cf-news1-shell{padding-top:22px !important;padding-bottom:40px !important;}
  .cf-news1-title .elementor-heading-title{font-size:34px !important;}
  .cf-news1-deck p{font-size:17px !important;}
  .cf-news1-meta .elementor-icon-list-items{flex-wrap:wrap !important;justify-content:center !important;}
  .cf-news1-hero img{height:220px !important;}
  .cf-news1-content,.cf-news1-content p,.cf-news1-content li{font-size:16px !important;line-height:1.72 !important;}
  .cf-news1-content h2{font-size:32px !important;}
  .cf-news1-content h3{font-size:23px !important;}
  .cf-news1-card{padding:18px !important;border-radius:18px !important;}
  .cf-news1-post-nav-row{flex-direction:column !important;}
  .cf-news1-post-nav-row .elementor-button{width:100% !important;}
}

.cf-food1-shell,
.cf-food1-shell *{
  box-sizing:border-box !important;
}

.cf-food1-shell{
  position:relative;
  isolation:isolate;
  width:100%;
  max-width:100% !important;
  overflow-x:clip !important;
}

.cf-food1-shell::before{
  content:"";
  position:absolute;
  inset:0;
  border-radius:30px;
  background:
    linear-gradient(180deg, rgba(8,8,8,.34) 0%, rgba(8,8,8,.16) 30%, rgba(8,8,8,.28) 100%),
    radial-gradient(circle at top center, rgba(229,138,39,.06) 0%, rgba(229,138,39,0) 42%);
  border:1px solid rgba(229,138,39,.10);
  pointer-events:none;
  z-index:-1;
}

.cf-food1-kicker .elementor-heading-title{
  color:#E58A27 !important;
  font-size:18px !important;
  font-weight:700 !important;
  letter-spacing:.08em !important;
  text-transform:uppercase !important;
}

.cf-food1-hero-card,
.cf-food1-support-card,
.cf-food1-quickfacts-card{
  background:
    linear-gradient(180deg, rgba(36,14,6,.72) 0%, rgba(15,10,9,.90) 100%) !important;
  border:1px solid rgba(204,114,29,.18) !important;
  border-radius:26px !important;
  box-shadow:
    0 16px 36px rgba(0,0,0,.18),
    inset 0 1px 0 rgba(255,255,255,.03) !important;
  overflow:hidden !important;
  backdrop-filter:blur(2px);
}

.cf-food1-hero-card{
  padding:14px !important;
}

.cf-food1-hero-image img{
  width:100% !important;
  max-width:100% !important;
  height:420px !important;
  object-fit:cover !important;
  display:block !important;
  border-radius:20px !important;
  border:1px solid rgba(211,116,27,.42) !important;
  box-shadow:0 10px 24px rgba(0,0,0,.22) !important;
}

.cf-food1-caption .elementor-heading-title{
  font-size:13px !important;
  line-height:1.45 !important;
  color:rgba(246,240,232,.62) !important;
  letter-spacing:.01em !important;
}

.cf-food1-title{
  margin-top:2px !important;
  margin-bottom:2px !important;
}

.cf-food1-title .elementor-heading-title{
  color:#F6F0E8 !important;
  font-size:72px !important;
  line-height:1.00 !important;
  letter-spacing:-.03em !important;
  text-wrap:balance;
}

.cf-food1-meta-row{
  display:flex !important;
  flex-direction:column !important;
  align-items:flex-start !important;
  justify-content:flex-start !important;
  gap:12px !important;
  width:100% !important;
}

.cf-food1-meta p{
  margin:0 !important;
  display:flex !important;
  flex-wrap:wrap !important;
  gap:10px !important;
  width:100% !important;
}

.cf-food1-pill{
  display:inline-flex !important;
  align-items:center !important;
  min-height:40px !important;
  padding:8px 14px !important;
  border-radius:999px !important;
  border:1px solid rgba(229,138,39,.18) !important;
  background:rgba(22,14,11,.62) !important;
  color:#F4ECE1 !important;
  font-size:15px !important;
  line-height:1.2 !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.03) !important;
}

.cf-food1-pill strong{
  color:#F8F0E7 !important;
}

.cf-food1-pill-muted{
  color:rgba(244,236,225,.78) !important;
}

.cf-food1-intro,
.cf-food1-copy,
.cf-food1-body2{
  width:100% !important;
  max-width:100% !important;
  flex:0 0 100% !important;
}

.cf-food1-intro .elementor-widget-container,
.cf-food1-copy .elementor-widget-container,
.cf-food1-body2 .elementor-widget-container{
  width:100% !important;
  max-width:100% !important;
}

.cf-food1-intro p{
  margin:0 !important;
  width:100% !important;
  max-width:100% !important;
  color:#F4ECE1 !important;
  font-size:20px !important;
  font-weight:600 !important;
  line-height:1.65 !important;
  text-wrap:pretty;
}

.cf-food1-copy,
.cf-food1-body2{
  max-width:100% !important;
}

.cf-food1-copy p,
.cf-food1-body2 p,
.cf-food1-card-copy p{
  margin:0 0 18px 0 !important;
  width:100% !important;
  max-width:100% !important;
  color:#F0E7DA !important;
  font-size:17px !important;
  line-height:1.72 !important;
  text-wrap:pretty;
}

.cf-food1-copy p:last-child,
.cf-food1-body2 p:last-child,
.cf-food1-card-copy p:last-child{
  margin-bottom:0 !important;
}

.cf-food1-subhead{
  margin-top:22px !important;
  margin-bottom:10px !important;
  padding-top:10px !important;
  border-top:1px solid rgba(229,138,39,.10);
}

.cf-food1-subhead .elementor-heading-title{
  color:#F6F0E8 !important;
  font-size:56px !important;
  line-height:1.02 !important;
  letter-spacing:-.03em !important;
  text-wrap:balance;
}

.cf-food1-card-title .elementor-heading-title{
  color:#F7EFE4 !important;
  font-size:30px !important;
  line-height:1.08 !important;
}

.cf-food1-quickfacts-card,
.cf-food1-support-card{
  padding-top:20px !important;
  padding-right:24px !important;
  padding-bottom:20px !important;
  padding-left:24px !important;
}

.cf-food1-facts-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:12px;
}

.cf-food1-fact{
  display:flex;
  flex-direction:column;
  gap:5px;
  min-height:72px;
  padding:12px 14px;
  border-radius:18px;
  background:rgba(0,0,0,.16);
  border:1px solid rgba(229,138,39,.10);
}

.cf-food1-fact-label{
  color:#E58A27;
  font-family:"Roboto Slab", serif;
  font-size:11px;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.cf-food1-fact-value{
  color:#F5EDE2;
  font-family:"Roboto Slab", serif;
  font-size:14px;
  line-height:1.35;
}

.cf-food1-bottom-row{
  gap:22px !important;
  align-items:stretch !important;
}

.cf-food1-support-card-cta{
  background:
    linear-gradient(180deg, rgba(54,18,6,.78) 0%, rgba(20,10,8,.94) 100%) !important;
  border-color:rgba(229,138,39,.24) !important;
  box-shadow:
    0 18px 38px rgba(0,0,0,.20),
    inset 0 1px 0 rgba(255,255,255,.04) !important;
}

.cf-food1-card-badge{
  display:inline-flex;
  align-items:center;
  min-height:28px;
  padding:6px 10px;
  margin:0 0 10px 0;
  border-radius:999px;
  background:rgba(229,138,39,.12);
  border:1px solid rgba(229,138,39,.24);
  color:#F1B26F;
  font-family:"Roboto Slab", serif;
  font-size:11px;
  font-weight:700;
  letter-spacing:.10em;
  text-transform:uppercase;
}


.cf-food1-cta-top{
  width:auto !important;
  max-width:100% !important;
  align-self:flex-start !important;
}

.cf-food1-cta-top .elementor-button{
  min-height:48px !important;
}

.cf-food1-cta .elementor-button{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:8px !important;
  background:#D86F1E !important;
  border:1px solid #D86F1E !important;
  color:#F7E8D3 !important;
  border-radius:14px !important;
  font-family:"Roboto Slab", serif !important;
  font-size:16px !important;
  font-weight:700 !important;
  line-height:1 !important;
  padding:14px 24px !important;
  box-shadow:
    0 10px 20px rgba(0,0,0,.18),
    inset 0 1px 0 rgba(255,255,255,.06) !important;
  text-decoration:none !important;
}

.cf-food1-cta .elementor-button:hover,
.cf-food1-cta .elementor-button:focus{
  background:#E27B28 !important;
  border-color:#E27B28 !important;
  color:#FFF4E6 !important;
  transform:translateY(-1px);
}

.cf-food1-cta .elementor-button:focus-visible{
  outline:2px solid rgba(255,244,230,.88) !important;
  outline-offset:2px !important;
}

@media (max-width: 1024px){
  .cf-food1-title .elementor-heading-title{
    font-size:56px !important;
  }

  .cf-food1-hero-image img{
    height:340px !important;
  }

  .cf-food1-meta-row,
  .cf-food1-bottom-row{
    flex-direction:column !important;
    align-items:stretch !important;
  }

  .cf-food1-support-card,
  .cf-food1-quickfacts-card{
    width:100% !important;
    max-width:100% !important;
    flex:none !important;
  }

  .cf-food1-facts-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 767px){
  .cf-food1-shell{
    padding-top:20px !important;
    padding-bottom:44px !important;
  }

  .cf-food1-shell::before{
    border-radius:24px;
  }

  .cf-food1-kicker .elementor-heading-title{
    font-size:14px !important;
  }

  .cf-food1-hero-card{
    padding:10px !important;
    border-radius:22px !important;
  }

  .cf-food1-hero-image img{
    height:240px !important;
    border-radius:16px !important;
  }

  .cf-food1-title .elementor-heading-title{
    font-size:38px !important;
    line-height:1.04 !important;
  }

  .cf-food1-pill{
    min-height:36px !important;
    padding:7px 12px !important;
    font-size:14px !important;
  }

  .cf-food1-intro p{
    font-size:18px !important;
    line-height:1.58 !important;
  }

  .cf-food1-copy p,
  .cf-food1-body2 p,
  .cf-food1-card-copy p{
    font-size:16px !important;
    line-height:1.68 !important;
  }

  .cf-food1-subhead .elementor-heading-title{
    font-size:38px !important;
    line-height:1.06 !important;
  }

  .cf-food1-card-title .elementor-heading-title{
    font-size:26px !important;
  }

  .cf-food1-quickfacts-card,
  .cf-food1-support-card{
    padding-top:20px !important;
    padding-right:18px !important;
    padding-bottom:20px !important;
    padding-left:18px !important;
    border-radius:22px !important;
  }

  .cf-food1-facts-grid{
    grid-template-columns:1fr;
    gap:10px;
  }

  .cf-food1-fact{
    min-height:0;
    padding:12px 14px;
    border-radius:16px;
  }

  .cf-food1-cta .elementor-button{
    width:100% !important;
    min-height:50px !important;
  }
}

/* ---------------------------
   Section + global font scope
   --------------------------- */

.cf-news-carousel-section,
.cf-news-carousel-section *,
.cf-news-carousel,
.cf-news-carousel * {
  font-family: "Roboto Slab", Georgia, serif !important;
}

.cf-news-carousel-section {
  background: transparent !important;
  max-width: 100% !important;
  overflow-x: clip !important;
}

/* ---------------------------
   Header
   --------------------------- */

.cf-news-carousel__intro.cf-news-carousel__intro--compact {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 20px !important;
  margin-bottom: 22px !important;
}

.cf-news-carousel__eyebrow--hidden,
.cf-news-carousel__subtext--hidden {
  display: none !important;
}

.cf-news-carousel__heading--compact .elementor-heading-title {
  margin: 0 !important;
  color: #f7e8d3 !important;
  font-size: clamp(34px, 3.8vw, 54px) !important;
  font-weight: 800 !important;
  line-height: 1.05 !important;
  letter-spacing: -0.02em !important;
  text-shadow: 0 2px 10px rgba(0,0,0,.22) !important;
}

.cf-news-carousel__button--top .elementor-button {
  background: #f29a2e !important;
  color: #1a120c !important;
  border: 1px solid #c96f11 !important;
  border-radius: 12px !important;
  padding: 12px 20px !important;
  box-shadow: 0 10px 24px rgba(0,0,0,.16) !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  transition: background .2s ease, transform .2s ease !important;
}

.cf-news-carousel__button--top .elementor-button:hover,
.cf-news-carousel__button--top .elementor-button:focus-visible {
  background: #ffae47 !important;
  color: #1a120c !important;
  transform: translateY(-1px) !important;
  outline: none !important;
}

/* ---------------------------
   Six-up desktop rail
   --------------------------- */

.cf-news-carousel.cf-news-carousel--six-rail {
  width: 100% !important;
}

.cf-news-carousel.cf-news-carousel--six-rail .elementor-grid,
.cf-news-carousel.cf-news-carousel--six-rail .e-loop-container {
  display: grid !important;
  grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
  gap: 16px !important;
  align-items: stretch !important;
}

.cf-news-carousel .e-loop-item,
.cf-news-carousel article,
.cf-news-carousel .e-con {
  min-width: 0 !important;
  height: 100% !important;
}

/* ---------------------------
   Compact card
   --------------------------- */

.cf-news-carousel .e-loop-item > .elementor,
.cf-news-carousel .e-loop-item > .e-con,
.cf-news-carousel article.e-loop-item > .elementor,
.cf-news-carousel article.e-loop-item > .e-con,
.cf-news-card {
  position: relative !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
  min-height: 100% !important;
  padding: 13px !important;
  border-radius: 18px !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,.05) 0%, rgba(255,255,255,.015) 100%),
    linear-gradient(180deg, rgba(39,25,18,.72) 0%, rgba(16,11,8,.90) 100%) !important;
  border: 1px solid rgba(255,255,255,.08) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.04), 0 12px 26px rgba(0,0,0,.22) !important;
  overflow: hidden !important;
}

.cf-news-card:hover,
.cf-news-carousel .e-loop-item > .elementor:hover,
.cf-news-carousel .e-loop-item > .e-con:hover {
  transform: translateY(-2px);
  border-color: rgba(242,154,46,.22) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.05), 0 16px 32px rgba(0,0,0,.26) !important;
  transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease;
}

/* ---------------------------
   Image
   --------------------------- */

.cf-news-card__media,
.cf-news-carousel .elementor-widget-theme-post-featured-image,
.cf-news-carousel .elementor-widget-image {
  margin: 0 0 4px 0 !important;
  width: 100% !important;
}

.cf-news-card__media img,
.cf-news-card__media .elementor-image img,
.cf-news-carousel .elementor-widget-theme-post-featured-image img,
.cf-news-carousel .elementor-widget-image img {
  display: block !important;
  width: 100% !important;
  height: 124px !important;
  object-fit: cover !important;
  border-radius: 11px !important;
  border: 1px solid rgba(255,255,255,.07) !important;
}

/* ---------------------------
   Hide category clutter only
   --------------------------- */

.cf-news-card__category,
.cf-news-carousel .elementor-post-info__terms-list,
.cf-news-carousel .elementor-post-info__terms-list-item {
  display: none !important;
}

/* ---------------------------
   Title / date / summary / CTA
   --------------------------- */

.cf-news-card__title .elementor-heading-title,
.cf-news-card__title .elementor-heading-title a,
.cf-news-carousel .elementor-widget-theme-post-title .elementor-heading-title,
.cf-news-carousel .elementor-widget-theme-post-title .elementor-heading-title a {
  margin: 0 !important;
  color: #f7e8d3 !important;
  font-size: clamp(17px, 1.05vw, 20px) !important;
  font-weight: 800 !important;
  line-height: 1.08 !important;
  text-decoration: none !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
  min-height: 2.15em !important;
}

.cf-news-card__date,
.cf-news-card__date .elementor-heading-title,
.cf-news-carousel .elementor-post-info__item,
.cf-news-carousel .elementor-post-info__item span {
  color: #cbb6a1 !important;
  font-size: 11px !important;
  font-weight: 500 !important;
  line-height: 1.25 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
}

/* Summary restored */
.cf-news-card__excerpt,
.cf-news-carousel .elementor-widget-theme-post-excerpt,
.cf-news-carousel .elementor-widget-text-editor {
  display: block !important;
  opacity: 1 !important;
  visibility: visible !important;
}

.cf-news-card__excerpt p,
.cf-news-carousel .elementor-widget-theme-post-excerpt p,
.cf-news-carousel .elementor-widget-text-editor p {
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
  margin: 2px 0 0 0 !important;
  color: #d8c7b2 !important;
  font-size: 12.5px !important;
  font-weight: 400 !important;
  line-height: 1.42 !important;
}

.cf-news-card__link,
.cf-news-carousel .elementor-widget-button {
  margin-top: auto !important;
  padding-top: 8px !important;
}

.cf-news-card__link .elementor-button,
.cf-news-card__link a.elementor-button,
.cf-news-carousel .elementor-widget-button .elementor-button,
.cf-news-carousel a.elementor-button {
  justify-content: flex-start !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  width: fit-content !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  color: #f29a2e !important;
  box-shadow: none !important;
  font-size: 13px !important;
  font-style: italic !important;
  font-weight: 700 !important;
  letter-spacing: 0.16em !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
}

.cf-news-card__link .elementor-button:hover,
.cf-news-carousel .elementor-widget-button .elementor-button:hover {
  color: #ffae47 !important;
  transform: translateX(2px) !important;
}

.cf-news-card__link .elementor-button::after,
.cf-news-carousel .elementor-widget-button .elementor-button::after {
  content: "→" !important;
  display: inline-block !important;
  margin-left: 2px !important;
  font-size: 14px !important;
  line-height: 1 !important;
}

/* ---------------------------
   Responsive
   --------------------------- */

@media (max-width: 1500px) {
  .cf-news-carousel.cf-news-carousel--six-rail .elementor-grid,
  .cf-news-carousel.cf-news-carousel--six-rail .e-loop-container {
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
    gap: 16px !important;
  }
}

@media (max-width: 1220px) {
  .cf-news-carousel.cf-news-carousel--six-rail .elementor-grid,
  .cf-news-carousel.cf-news-carousel--six-rail .e-loop-container {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 18px !important;
  }

  .cf-news-card__media img,
  .cf-news-card__media .elementor-image img,
  .cf-news-carousel .elementor-widget-theme-post-featured-image img,
  .cf-news-carousel .elementor-widget-image img {
    height: 155px !important;
  }

  .cf-news-card__excerpt p,
  .cf-news-carousel .elementor-widget-theme-post-excerpt p,
  .cf-news-carousel .elementor-widget-text-editor p {
    font-size: 14px !important;
    line-height: 1.5 !important;
  }
}

@media (max-width: 767px) {
  .cf-news-carousel__intro.cf-news-carousel__intro--compact {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 12px !important;
    margin-bottom: 18px !important;
  }

  .cf-news-carousel.cf-news-carousel--six-rail .elementor-grid,
  .cf-news-carousel.cf-news-carousel--six-rail .e-loop-container {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }

  .cf-news-carousel .e-loop-item > .elementor,
  .cf-news-carousel .e-loop-item > .e-con,
  .cf-news-carousel article.e-loop-item > .elementor,
  .cf-news-carousel article.e-loop-item > .e-con,
  .cf-news-card {
    padding: 14px !important;
    border-radius: 18px !important;
  }

  .cf-news-card__media img,
  .cf-news-card__media .elementor-image img,
  .cf-news-carousel .elementor-widget-theme-post-featured-image img,
  .cf-news-carousel .elementor-widget-image img {
    height: 190px !important;
  }

  .cf-news-card__title .elementor-heading-title,
  .cf-news-card__title .elementor-heading-title a,
  .cf-news-carousel .elementor-widget-theme-post-title .elementor-heading-title,
  .cf-news-carousel .elementor-widget-theme-post-title .elementor-heading-title a {
    font-size: 20px !important;
  }

  .cf-news-card__excerpt p,
  .cf-news-carousel .elementor-widget-theme-post-excerpt p,
  .cf-news-carousel .elementor-widget-text-editor p {
    font-size: 14px !important;
    -webkit-line-clamp: 3 !important;
  }

  .cf-news-card__link .elementor-button,
  .cf-news-carousel .elementor-widget-button .elementor-button {
    font-size: 15px !important;
  }
}


/* ==================================================
   v3.9 HOTFIX — Excerpt / Summary Contrast Repair
   Additive fix for cf_news_loop_grid_section.
   Purpose:
   - Fix excerpt/summary text being too dark/invisible.
   - Keep 6-up compact rail.
   - Keep cf-news-carousel / cf-news-card naming.
   ================================================== */

/* Force all excerpt/summary wrappers visible */
.cf-news-carousel .cf-news-card__excerpt,
.cf-news-carousel .cf-news-card__excerpt *,
.cf-news-carousel .elementor-widget-theme-post-excerpt,
.cf-news-carousel .elementor-widget-theme-post-excerpt *,
.cf-news-carousel .elementor-widget-text-editor,
.cf-news-carousel .elementor-widget-text-editor *,
.cf-news-carousel .elementor-post__excerpt,
.cf-news-carousel .elementor-post__excerpt * {
  opacity: 1 !important;
  visibility: visible !important;
  filter: none !important;
  mix-blend-mode: normal !important;
  text-shadow: none !important;
}

/* Main excerpt text color repair */
.cf-news-card__excerpt,
.cf-news-card__excerpt .elementor-widget-container,
.cf-news-card__excerpt p,
.cf-news-carousel .elementor-widget-theme-post-excerpt,
.cf-news-carousel .elementor-widget-theme-post-excerpt .elementor-widget-container,
.cf-news-carousel .elementor-widget-theme-post-excerpt p,
.cf-news-carousel .elementor-widget-text-editor,
.cf-news-carousel .elementor-widget-text-editor .elementor-widget-container,
.cf-news-carousel .elementor-widget-text-editor p,
.cf-news-carousel .elementor-post__excerpt,
.cf-news-carousel .elementor-post__excerpt p {
  color: #e4d2bd !important;
  -webkit-text-fill-color: #e4d2bd !important;
  font-size: 12.75px !important;
  font-weight: 500 !important;
  line-height: 1.45 !important;
}

/* Clamp, spacing, and minimum readable area */
.cf-news-card__excerpt p,
.cf-news-carousel .elementor-widget-theme-post-excerpt p,
.cf-news-carousel .elementor-widget-text-editor p,
.cf-news-carousel .elementor-post__excerpt p {
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
  margin: 4px 0 0 0 !important;
  min-height: 2.9em !important;
}

/* If Elementor outputs excerpt text without a paragraph */
.cf-news-card__excerpt .elementor-widget-container,
.cf-news-carousel .elementor-widget-theme-post-excerpt .elementor-widget-container,
.cf-news-carousel .elementor-widget-text-editor .elementor-widget-container {
  color: #e4d2bd !important;
  -webkit-text-fill-color: #e4d2bd !important;
}

/* Links inside excerpts should never disappear */
.cf-news-card__excerpt a,
.cf-news-carousel .elementor-widget-theme-post-excerpt a,
.cf-news-carousel .elementor-widget-text-editor a,
.cf-news-carousel .elementor-post__excerpt a {
  color: #ffb24f !important;
  -webkit-text-fill-color: #ffb24f !important;
  text-decoration: underline !important;
  text-decoration-thickness: 1px !important;
  text-underline-offset: 3px !important;
}

/* Slightly improve date contrast without making it scream */
.cf-news-card__date,
.cf-news-card__date .elementor-heading-title,
.cf-news-carousel .elementor-post-info__item,
.cf-news-carousel .elementor-post-info__item span {
  color: #d3bea8 !important;
  -webkit-text-fill-color: #d3bea8 !important;
}

/* Keep the card readable even with dark images/backgrounds */
.cf-news-card,
.cf-news-carousel .e-loop-item > .elementor,
.cf-news-carousel .e-loop-item > .e-con,
.cf-news-carousel article.e-loop-item > .elementor,
.cf-news-carousel article.e-loop-item > .e-con {
  background:
    linear-gradient(180deg, rgba(255,255,255,.055) 0%, rgba(255,255,255,.018) 100%),
    linear-gradient(180deg, rgba(42,28,20,.76) 0%, rgba(16,11,8,.93) 100%) !important;
}

/* Tablet/mobile summary readability */
@media (max-width: 1220px) {
  .cf-news-card__excerpt,
  .cf-news-card__excerpt p,
  .cf-news-carousel .elementor-widget-theme-post-excerpt,
  .cf-news-carousel .elementor-widget-theme-post-excerpt p,
  .cf-news-carousel .elementor-widget-text-editor,
  .cf-news-carousel .elementor-widget-text-editor p,
  .cf-news-carousel .elementor-post__excerpt,
  .cf-news-carousel .elementor-post__excerpt p {
    color: #ead8c3 !important;
    -webkit-text-fill-color: #ead8c3 !important;
    font-size: 14px !important;
    line-height: 1.5 !important;
  }
}

@media (max-width: 767px) {
  .cf-news-card__excerpt p,
  .cf-news-carousel .elementor-widget-theme-post-excerpt p,
  .cf-news-carousel .elementor-widget-text-editor p,
  .cf-news-carousel .elementor-post__excerpt p {
    -webkit-line-clamp: 3 !important;
    min-height: 0 !important;
  }
}


/* ==================================================
   v4.0 HOTFIX — Mobile Read More Visibility Repair
   Purpose:
   - Fix mobile cards hiding / clipping the Read More CTA.
   - Keep desktop 6-up layout.
   - Keep existing v3.9 excerpt contrast fix.
   ================================================== */

/* Make sure card content can stack correctly and CTA is not clipped */
.cf-news-carousel .e-loop-item > .elementor,
.cf-news-carousel .e-loop-item > .e-con,
.cf-news-carousel article.e-loop-item > .elementor,
.cf-news-carousel article.e-loop-item > .e-con,
.cf-news-card {
  display: flex !important;
  flex-direction: column !important;
  min-height: 100% !important;
}

/* Read More wrapper must remain visible */
.cf-news-card__link,
.cf-news-carousel .elementor-widget-button,
.cf-news-carousel .cf-news-card__link {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  overflow: visible !important;
  position: relative !important;
  z-index: 3 !important;
}

/* Read More button text/icon must remain visible */
.cf-news-card__link .elementor-button,
.cf-news-card__link a.elementor-button,
.cf-news-carousel .elementor-widget-button .elementor-button,
.cf-news-carousel a.elementor-button,
.cf-news-carousel .elementor-button-text,
.cf-news-carousel .elementor-button-icon,
.cf-news-carousel .elementor-button-content-wrapper {
  display: inline-flex !important;
  visibility: visible !important;
  opacity: 1 !important;
  color: #f29a2e !important;
  -webkit-text-fill-color: #f29a2e !important;
  overflow: visible !important;
}

/* Mobile-specific fix: do not let read-more get pushed below clipped card */
@media (max-width: 767px) {
  .cf-news-carousel .e-loop-item > .elementor,
  .cf-news-carousel .e-loop-item > .e-con,
  .cf-news-carousel article.e-loop-item > .elementor,
  .cf-news-carousel article.e-loop-item > .e-con,
  .cf-news-card {
    min-height: auto !important;
    height: auto !important;
    overflow: visible !important;
    padding-bottom: 18px !important;
  }

  .cf-news-card__link,
  .cf-news-carousel .elementor-widget-button {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    margin-top: 10px !important;
    padding-top: 8px !important;
    min-height: 24px !important;
    flex: 0 0 auto !important;
    align-self: flex-start !important;
    width: 100% !important;
  }

  .cf-news-card__link .elementor-button,
  .cf-news-card__link a.elementor-button,
  .cf-news-carousel .elementor-widget-button .elementor-button,
  .cf-news-carousel a.elementor-button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    width: auto !important;
    min-width: 0 !important;
    min-height: 24px !important;
    padding: 0 !important;
    margin: 0 !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    color: #f29a2e !important;
    -webkit-text-fill-color: #f29a2e !important;
    font-size: 15px !important;
    font-style: italic !important;
    font-weight: 800 !important;
    letter-spacing: .16em !important;
    line-height: 1.2 !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
    opacity: 1 !important;
    visibility: visible !important;
  }

  .cf-news-carousel .elementor-button-text,
  .cf-news-carousel .elementor-button-icon,
  .cf-news-carousel .elementor-button-content-wrapper {
    display: inline-flex !important;
    opacity: 1 !important;
    visibility: visible !important;
    color: #f29a2e !important;
    -webkit-text-fill-color: #f29a2e !important;
  }

  .cf-news-card__link .elementor-button::after,
  .cf-news-carousel .elementor-widget-button .elementor-button::after {
    content: "→" !important;
    display: inline-block !important;
    margin-left: 6px !important;
    color: #f29a2e !important;
    -webkit-text-fill-color: #f29a2e !important;
    font-size: 16px !important;
    line-height: 1 !important;
  }

  .cf-news-card__link .elementor-button:hover,
  .cf-news-carousel .elementor-widget-button .elementor-button:hover {
    color: #ffae47 !important;
    -webkit-text-fill-color: #ffae47 !important;
  }

  .cf-news-card__excerpt,
  .cf-news-carousel .elementor-widget-theme-post-excerpt,
  .cf-news-carousel .elementor-widget-text-editor,
  .cf-news-carousel .elementor-post__excerpt {
    margin-bottom: 0 !important;
  }
}

/* ==================================================
   v4.1 X1 — Native Loop Grid Prev / Next Control Bar
   Purpose:
   - Styles Elementor native Loop Grid pagination as a compact news browser.
   - Keeps existing 6-up / 5-up / 3-up / 1-up card layout.
   - No JavaScript. No fake carousel behavior.
   - Note: Elementor may hide PREV on page 1 and NEXT on the final page.
   ================================================== */

/* Give the paged rail a stable vertical rhythm */
.cf-news-rail.cf-news-rail--paged,
.cf-news-carousel.cf-news-rail--paged {
  width: 100% !important;
}

/* Native Elementor pagination wrapper → smoked control bar */
.cf-news-rail .elementor-pagination,
.cf-news-carousel .elementor-pagination {
  position: relative !important;
  z-index: 4 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
  width: fit-content !important;
  max-width: 100% !important;
  margin: 24px 0 0 0 !important;
  padding: 8px 10px 8px 16px !important;
  border-radius: 16px !important;
  border: 1px solid rgba(242,154,46,.34) !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,.045), rgba(255,255,255,.012)),
    linear-gradient(180deg, rgba(42,28,20,.86), rgba(17,12,9,.94)) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.06),
    0 14px 30px rgba(0,0,0,.22) !important;
  text-align: left !important;
  overflow: visible !important;
}

/* Control bar label */
.cf-news-rail .elementor-pagination::before,
.cf-news-carousel .elementor-pagination::before {
  content: "BROWSE THE NEWS • CLICK PREV / NEXT" !important;
  display: inline-flex !important;
  align-items: center !important;
  flex: 0 1 auto !important;
  min-height: 36px !important;
  margin: 0 8px 0 0 !important;
  color: #f7e8d3 !important;
  -webkit-text-fill-color: #f7e8d3 !important;
  font-family: "Roboto Slab", Georgia, serif !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  line-height: 1.1 !important;
  letter-spacing: .06em !important;
  text-transform: uppercase !important;
  white-space: nowrap !important;
  text-shadow: 0 1px 6px rgba(0,0,0,.24) !important;
}

/* Reset native page-number links/spans */
.cf-news-rail .elementor-pagination .page-numbers,
.cf-news-carousel .elementor-pagination .page-numbers {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-sizing: border-box !important;
  margin: 0 !important;
  text-decoration: none !important;
  font-family: "Roboto Slab", Georgia, serif !important;
  transition:
    background .18s ease,
    border-color .18s ease,
    color .18s ease,
    transform .18s ease,
    opacity .18s ease !important;
}

/* Prev / Next buttons */
.cf-news-rail .elementor-pagination .page-numbers.prev,
.cf-news-rail .elementor-pagination .page-numbers.next,
.cf-news-carousel .elementor-pagination .page-numbers.prev,
.cf-news-carousel .elementor-pagination .page-numbers.next {
  min-width: 82px !important;
  min-height: 36px !important;
  padding: 9px 14px !important;
  border-radius: 10px !important;
  border: 1px solid rgba(242,154,46,.52) !important;
  background: rgba(16,11,8,.64) !important;
  color: #f7e8d3 !important;
  -webkit-text-fill-color: #f7e8d3 !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.045) !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  letter-spacing: .045em !important;
  text-transform: uppercase !important;
  white-space: nowrap !important;
}

/* Make NEXT the hotter CTA */
.cf-news-rail .elementor-pagination .page-numbers.next,
.cf-news-carousel .elementor-pagination .page-numbers.next {
  background: #f29a2e !important;
  border-color: #c96f11 !important;
  color: #1a120c !important;
  -webkit-text-fill-color: #1a120c !important;
  box-shadow: 0 8px 18px rgba(0,0,0,.18), inset 0 1px 0 rgba(255,255,255,.16) !important;
}

.cf-news-rail .elementor-pagination .page-numbers.prev:hover,
.cf-news-rail .elementor-pagination .page-numbers.prev:focus-visible,
.cf-news-carousel .elementor-pagination .page-numbers.prev:hover,
.cf-news-carousel .elementor-pagination .page-numbers.prev:focus-visible {
  transform: translateY(-1px) !important;
  border-color: rgba(255,174,71,.76) !important;
  background: rgba(34,24,18,.86) !important;
  color: #ffae47 !important;
  -webkit-text-fill-color: #ffae47 !important;
  outline: none !important;
}

.cf-news-rail .elementor-pagination .page-numbers.next:hover,
.cf-news-rail .elementor-pagination .page-numbers.next:focus-visible,
.cf-news-carousel .elementor-pagination .page-numbers.next:hover,
.cf-news-carousel .elementor-pagination .page-numbers.next:focus-visible {
  transform: translateY(-1px) !important;
  background: #ffae47 !important;
  border-color: #dc8328 !important;
  color: #1a120c !important;
  -webkit-text-fill-color: #1a120c !important;
  outline: none !important;
}

/* Page numbers become compact dots */
.cf-news-rail .elementor-pagination .page-numbers:not(.prev):not(.next),
.cf-news-carousel .elementor-pagination .page-numbers:not(.prev):not(.next) {
  width: 8px !important;
  height: 8px !important;
  min-width: 8px !important;
  min-height: 8px !important;
  padding: 0 !important;
  border-radius: 999px !important;
  border: 1px solid rgba(247,232,211,.24) !important;
  background: rgba(247,232,211,.28) !important;
  color: transparent !important;
  -webkit-text-fill-color: transparent !important;
  font-size: 0 !important;
  line-height: 0 !important;
  overflow: hidden !important;
}

.cf-news-rail .elementor-pagination .page-numbers.current,
.cf-news-carousel .elementor-pagination .page-numbers.current {
  width: 9px !important;
  height: 9px !important;
  min-width: 9px !important;
  min-height: 9px !important;
  border-color: rgba(242,154,46,.74) !important;
  background: #f29a2e !important;
  box-shadow: 0 0 0 3px rgba(242,154,46,.12) !important;
}

.cf-news-rail .elementor-pagination .page-numbers:not(.prev):not(.next):hover,
.cf-news-rail .elementor-pagination .page-numbers:not(.prev):not(.next):focus-visible,
.cf-news-carousel .elementor-pagination .page-numbers:not(.prev):not(.next):hover,
.cf-news-carousel .elementor-pagination .page-numbers:not(.prev):not(.next):focus-visible {
  transform: scale(1.16) !important;
  border-color: rgba(255,174,71,.68) !important;
  background: #ffae47 !important;
  outline: none !important;
}

/* Prevent the pagination bar from inheriting Read More button rules */
.cf-news-rail .elementor-pagination a,
.cf-news-carousel .elementor-pagination a {
  box-shadow: none;
}

/* Tablet: keep it left-aligned and compact */
@media (max-width: 1220px) {
  .cf-news-rail .elementor-pagination,
  .cf-news-carousel .elementor-pagination {
    margin-top: 22px !important;
    padding: 8px 10px 8px 14px !important;
    gap: 9px !important;
  }

  .cf-news-rail .elementor-pagination::before,
  .cf-news-carousel .elementor-pagination::before {
    font-size: 11.5px !important;
    min-height: 34px !important;
  }

  .cf-news-rail .elementor-pagination .page-numbers.prev,
  .cf-news-rail .elementor-pagination .page-numbers.next,
  .cf-news-carousel .elementor-pagination .page-numbers.prev,
  .cf-news-carousel .elementor-pagination .page-numbers.next {
    min-width: 78px !important;
    min-height: 34px !important;
    padding: 8px 12px !important;
  }
}

/* Mobile: no overlap, full-width compact stacked control */
@media (max-width: 767px) {
  .cf-news-rail .elementor-pagination,
  .cf-news-carousel .elementor-pagination {
    display: flex !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-top: 20px !important;
    padding: 12px !important;
    border-radius: 15px !important;
    gap: 8px !important;
  }

  .cf-news-rail .elementor-pagination::before,
  .cf-news-carousel .elementor-pagination::before {
    content: "BROWSE THE NEWS" !important;
    flex: 1 0 100% !important;
    justify-content: flex-start !important;
    width: 100% !important;
    min-height: 0 !important;
    margin: 0 0 2px 0 !important;
    font-size: 12px !important;
    white-space: normal !important;
  }

  .cf-news-rail .elementor-pagination .page-numbers.prev,
  .cf-news-rail .elementor-pagination .page-numbers.next,
  .cf-news-carousel .elementor-pagination .page-numbers.prev,
  .cf-news-carousel .elementor-pagination .page-numbers.next {
    flex: 1 1 0 !important;
    min-width: 0 !important;
    min-height: 40px !important;
    padding: 10px 12px !important;
    font-size: 12px !important;
  }

  .cf-news-rail .elementor-pagination .page-numbers:not(.prev):not(.next),
  .cf-news-carousel .elementor-pagination .page-numbers:not(.prev):not(.next) {
    align-self: center !important;
    width: 7px !important;
    height: 7px !important;
    min-width: 7px !important;
    min-height: 7px !important;
  }
}

/* Extra-small phones: hide dots if they make the controls cramped */
@media (max-width: 420px) {
  .cf-news-rail .elementor-pagination .page-numbers:not(.prev):not(.next),
  .cf-news-carousel .elementor-pagination .page-numbers:not(.prev):not(.next) {
    display: none !important;
  }

  .cf-news-rail .elementor-pagination,
  .cf-news-carousel .elementor-pagination {
    gap: 10px !important;
  }
}


.cf-blog01-shell,
.cf-blog01-shell * {
  box-sizing: border-box;
}

.cf-blog01-shell {
  --cf-blog-cream: #f7e8d3;
  --cf-blog-muted: #d8c6b0;
  --cf-blog-soft: #b89f85;
  --cf-blog-orange: #f29a2e;
  --cf-blog-orange-hover: #ffb24f;
  --cf-blog-border: rgba(247, 232, 211, 0.12);
  --cf-blog-line: rgba(247, 232, 211, 0.10);
  color: var(--cf-blog-muted);
}

/* ==================================================
   REMOVED SECTIONS / OLD IMPORT SAFETY
   ================================================== */

.cf-blog01-intro-card,
.cf-blog01-latest-news,
.cf-blog01-latest-news__head,
.cf-blog01-latest-news__grid,
.cf-blog01-back-link,
.cf-blog01-back-text-link,
.cf-blog01-link-text-repair,
.cf-blog01-shell .cf-blog01-meta,
.cf-blog01-shell .elementor-author-box,
.cf-blog01-shell .elementor-widget-author-box,
.cf-blog01-author,
.cf-blog01-nav,
.cf-blog01-shell .elementor-post-navigation,
.cf-blog01-shell .elementor-widget-post-navigation {
  display: none !important;
}

/* Extra cleanup for older imports where Back to News was the first widget in the main column. */
.cf-blog01-main-column > .elementor-widget-html.cf-blog01-back-link,
.cf-blog01-main-column > .elementor-widget-button.cf-blog01-back-link,
.cf-blog01-main-column > .cf-blog01-back-link {
  display: none !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
}

/* ==================================================
   BLOG HERO IMAGE v2.7 — FULL IMAGE / NO CROP
   Purpose:
   - Always show the full featured image.
   - Stop wide desktop screens from chopping off heads/tops.
   - Keep the hero from becoming insanely tall.
   - Do not add black backgrounds or header offsets.
   - Works for both template class systems:
     .cf-blog01-hero-image and .cf-b1-hero-image
   ================================================== */

/* Hero wrappers / cards */
.cf-blog01-hero,
.cf-blog01-hero-image,
.cf-blog01-hero-image .elementor-widget-container,
.cf-b1-hero-card,
.cf-b1-hero-image,
.cf-b1-hero-image .elementor-widget-container,
.cf-b1-image-contain,
.cf-b1-image-contain .elementor-widget-container,
body.single-post .elementor-widget-theme-post-featured-image,
body.single-post .elementor-widget-theme-post-featured-image .elementor-widget-container {
  position: relative !important;
  z-index: 1 !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 0 auto !important;
  padding: 0 !important;
  overflow: hidden !important;
  background: transparent !important;
  background-color: transparent !important;
  background-image: none;
  box-shadow: none !important;
  border: 0 !important;
  clear: both !important;
}

.cf-blog01-hero::before,
.cf-blog01-hero::after,
.cf-b1-hero-card::before,
.cf-b1-hero-card::after {
  content: none !important;
  display: none !important;
}

/* Critical fix:
   Elementor was using width:100% + fixed height + object-fit:cover.
   That crops the image harder on wide screens.
   This keeps a controlled frame but makes the image itself CONTAIN. */
.cf-blog01-hero-image img,
.cf-blog01-hero-image .elementor-widget-container img,
.elementor-widget-image.cf-blog01-hero-image img,
.cf-b1-hero-image img,
.cf-b1-hero-image .elementor-widget-container img,
.elementor-widget-image.cf-b1-hero-image img,
.cf-b1-image-contain img,
.cf-b1-image-contain .elementor-widget-container img,
.elementor-element-c67a9be img,
body.single-post .elementor-widget-theme-post-featured-image img {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;

  /* Controlled hero frame height */
  height: clamp(420px, 42vw, 680px) !important;
  max-height: 680px !important;
  min-height: 0 !important;

  /* No crop. Show the whole source image. */
  object-fit: contain !important;
  object-position: center center !important;

  margin: 0 auto !important;
  padding: 0 !important;
  background: transparent !important;
  background-color: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

/* Elementor background-image fallback.
   Only helps if the class is on a container background instead of a real img. */
.cf-blog01-hero,
.cf-blog01-hero-image,
.cf-blog01-hero-image .elementor-widget-container,
.cf-b1-hero-card,
.cf-b1-hero-image,
.cf-b1-hero-image .elementor-widget-container,
.cf-b1-image-contain,
.cf-b1-image-contain .elementor-widget-container {
  background-size: contain !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
}

/* Optional class for future custom wide banner images that are already safe to crop. */
.cf-blog01-hero.cf-hero-cover .cf-blog01-hero-image img,
.cf-blog01-hero-image.cf-hero-cover img,
.cf-b1-hero-image.cf-b1-cover-safe img,
.cf-b1-cover-safe img {
  width: 100% !important;
  height: clamp(300px, 38vw, 560px) !important;
  max-height: none !important;
  object-fit: cover !important;
  object-position: center center !important;
}

/* Optional focal helper classes for custom wide banner images. */
.cf-blog01-hero-image.cf-focus-top img,
.cf-blog01-hero.cf-focus-top .cf-blog01-hero-image img,
.cf-b1-hero-image.cf-focus-top img,
.cf-b1-hero-card.cf-focus-top .cf-b1-hero-image img {
  object-position: center top !important;
}

.cf-blog01-hero-image.cf-focus-center img,
.cf-blog01-hero.cf-focus-center .cf-blog01-hero-image img,
.cf-b1-hero-image.cf-focus-center img,
.cf-b1-hero-card.cf-focus-center .cf-b1-hero-image img {
  object-position: center center !important;
}

.cf-blog01-hero-image.cf-focus-bottom img,
.cf-blog01-hero.cf-focus-bottom .cf-blog01-hero-image img,
.cf-b1-hero-image.cf-focus-bottom img,
.cf-b1-hero-card.cf-focus-bottom .cf-b1-hero-image img {
  object-position: center bottom !important;
}

@media (max-width: 1024px) {
  .cf-blog01-hero-image img,
  .cf-blog01-hero-image .elementor-widget-container img,
  .elementor-widget-image.cf-blog01-hero-image img,
  .cf-b1-hero-image img,
  .cf-b1-hero-image .elementor-widget-container img,
  .elementor-widget-image.cf-b1-hero-image img,
  .cf-b1-image-contain img,
  .cf-b1-image-contain .elementor-widget-container img,
  .elementor-element-c67a9be img,
  body.single-post .elementor-widget-theme-post-featured-image img {
    height: clamp(340px, 56vw, 560px) !important;
    max-height: 560px !important;
  }

  .cf-blog01-hero.cf-hero-cover .cf-blog01-hero-image img,
  .cf-blog01-hero-image.cf-hero-cover img,
  .cf-b1-hero-image.cf-b1-cover-safe img,
  .cf-b1-cover-safe img {
    height: clamp(260px, 46vw, 460px) !important;
  }
}

@media (max-width: 767px) {
  .cf-blog01-hero-image img,
  .cf-blog01-hero-image .elementor-widget-container img,
  .elementor-widget-image.cf-blog01-hero-image img,
  .cf-b1-hero-image img,
  .cf-b1-hero-image .elementor-widget-container img,
  .elementor-widget-image.cf-b1-hero-image img,
  .cf-b1-image-contain img,
  .cf-b1-image-contain .elementor-widget-container img,
  .elementor-element-c67a9be img,
  body.single-post .elementor-widget-theme-post-featured-image img {
    height: clamp(240px, 72vw, 420px) !important;
    max-height: 420px !important;
  }

  .cf-blog01-hero.cf-hero-cover .cf-blog01-hero-image img,
  .cf-blog01-hero-image.cf-hero-cover img,
  .cf-b1-hero-image.cf-b1-cover-safe img,
  .cf-b1-cover-safe img {
    height: clamp(220px, 62vw, 360px) !important;
  }
}

/* ==================================================
   MAIN ARTICLE LAYOUT / SPACING
   ================================================== */

.cf-blog01-body-wrap {
  position: relative;
  padding-top: 56px !important;
  padding-bottom: 120px !important;
}

.cf-blog01-main-column {
  position: relative;
  min-width: 0;
}

/* No decorative line here. Previous versions could read like the stray dash. */
.cf-blog01-main-column::before,
.cf-blog01-main-column::after,
.cf-blog01-body-wrap::before,
.cf-blog01-body-wrap::after {
  content: none !important;
  display: none !important;
}

/* ==================================================
   SIMPLE POST HEADER
   Category = clickable category archive.
   Title = linked current post.
   Date/time = static.
   ================================================== */

.cf-blog01-post-header {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 8px !important;
  margin: 0 0 2px 0 !important;
  padding: 0 !important;
}

.cf-blog01-post-header .elementor-widget {
  margin-bottom: 0 !important;
}

/* Category line */
.cf-blog01-post-category,
.cf-blog01-post-category .elementor-widget-container,
.cf-blog01-post-category ul,
.cf-blog01-post-category li,
.cf-blog01-post-category span,
.cf-blog01-post-category a {
  display: inline-flex !important;
  align-items: center !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
  line-height: 1.2 !important;
  white-space: normal !important;
}

.cf-blog01-post-category .elementor-icon-list-icon,
.cf-blog01-post-category .elementor-post-info__item-prefix,
.cf-blog01-post-category i,
.cf-blog01-post-category svg {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  width: 0 !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

.cf-blog01-post-category a,
.cf-blog01-post-category a:link,
.cf-blog01-post-category a:visited,
.cf-blog01-post-category .elementor-icon-list-text,
.cf-blog01-post-category .elementor-post-info__terms-list,
.cf-blog01-post-category .elementor-post-info__terms-list-item {
  color: var(--cf-blog-orange) !important;
  -webkit-text-fill-color: var(--cf-blog-orange) !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  letter-spacing: .075em !important;
  line-height: 1.2 !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  background: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
  opacity: 1 !important;
  visibility: visible !important;
  text-indent: 0 !important;
}

.cf-blog01-post-category a:hover,
.cf-blog01-post-category a:focus {
  color: var(--cf-blog-orange-hover) !important;
  -webkit-text-fill-color: var(--cf-blog-orange-hover) !important;
  text-decoration: underline !important;
  text-underline-offset: 4px !important;
}

/* Title line: layout only. H1 visual typography stays with Elementor/global styles. */
.cf-blog01-post-title,
.cf-blog01-post-title .elementor-widget-container {
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

.cf-blog01-post-title .elementor-heading-title {
  margin: 0 !important;
  padding: 0 !important;
}

.cf-blog01-post-title .elementor-heading-title a,
.cf-blog01-post-title .elementor-heading-title a:link,
.cf-blog01-post-title .elementor-heading-title a:visited {
  display: inline !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  height: auto !important;
  opacity: 1 !important;
  visibility: visible !important;
  color: inherit !important;
  -webkit-text-fill-color: currentColor !important;
  text-indent: 0 !important;
  text-decoration: none !important;
  background: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
  clip: auto !important;
  clip-path: none !important;
  transform: none !important;
  filter: none !important;
  mix-blend-mode: normal !important;
  pointer-events: auto !important;
  cursor: pointer !important;
}

.cf-blog01-post-title .elementor-heading-title a:hover,
.cf-blog01-post-title .elementor-heading-title a:focus {
  color: var(--cf-blog-orange-hover) !important;
  -webkit-text-fill-color: var(--cf-blog-orange-hover) !important;
  text-decoration: none !important;
}

/* Date line */
.cf-blog01-post-date,
.cf-blog01-post-date .elementor-widget-container,
.cf-blog01-post-date ul,
.cf-blog01-post-date li,
.cf-blog01-post-date span,
.cf-blog01-post-date time,
.cf-blog01-post-date a {
  display: inline-flex !important;
  align-items: center !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
  line-height: 1.35 !important;
  white-space: normal !important;
  pointer-events: none !important;
  cursor: default !important;
}

.cf-blog01-post-date .elementor-widget-container::before {
  content: "on " !important;
  display: inline !important;
  color: var(--cf-blog-muted) !important;
  -webkit-text-fill-color: var(--cf-blog-muted) !important;
  margin-right: 4px !important;
}

.cf-blog01-post-date .elementor-icon-list-icon,
.cf-blog01-post-date .elementor-post-info__item-prefix,
.cf-blog01-post-date i,
.cf-blog01-post-date svg {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  width: 0 !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

.cf-blog01-post-date,
.cf-blog01-post-date *,
.cf-blog01-post-date a,
.cf-blog01-post-date a:link,
.cf-blog01-post-date a:visited {
  color: var(--cf-blog-muted) !important;
  -webkit-text-fill-color: var(--cf-blog-muted) !important;
  font-size: 15px !important;
  font-weight: 400 !important;
  line-height: 1.35 !important;
  text-decoration: none !important;
  background: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
  opacity: 1 !important;
  visibility: visible !important;
  text-indent: 0 !important;
}

/* Header no-dash repair */
.cf-blog01-post-header a::before,
.cf-blog01-post-header a::after,
.cf-blog01-post-header a *::before,
.cf-blog01-post-header a *::after {
  content: none !important;
  display: none !important;
  width: 0 !important;
  height: 0 !important;
  opacity: 0 !important;
  visibility: hidden !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* ==================================================
   POST CONTENT
   Paragraph/list readability only. H1-H6 are left to Elementor Global Styles.
   ================================================== */

.cf-blog01-content {
  position: relative;
  padding-top: 0 !important;
}

.cf-blog01-content p,
.cf-blog01-content li {
  color: var(--cf-blog-muted) !important;
  font-size: 18px !important;
  line-height: 1.84 !important;
}

.cf-blog01-content p {
  margin: 0 0 1.35em !important;
}

.cf-blog01-content > *:first-child {
  margin-top: 0 !important;
}

.cf-blog01-content ul,
.cf-blog01-content ol,
.cf-blog01-shell .elementor-widget-theme-post-content ul,
.cf-blog01-shell .elementor-widget-theme-post-content ol {
  margin: 0 0 1.35em 1em !important;
  padding-left: 1.15em !important;
}

.cf-blog01-content li,
.cf-blog01-shell .elementor-widget-theme-post-content li {
  margin-bottom: .45em !important;
}

.cf-blog01-content li::marker,
.cf-blog01-shell .elementor-widget-theme-post-content li::marker {
  color: var(--cf-blog-orange) !important;
}

/* ==================================================
   POST-CONTENT LINK REPAIR
   Uses the stable v2.18/v2.27 pattern, minus font references.
   Scope: article content only.
   ================================================== */

.cf-blog01-shell .cf-blog01-content a:not(.elementor-button),
.cf-blog01-shell .cf-blog01-content a:not(.elementor-button):link,
.cf-blog01-shell .cf-blog01-content a:not(.elementor-button):visited,
.cf-blog01-shell .cf-blog01-content a:not(.elementor-button):hover,
.cf-blog01-shell .cf-blog01-content a:not(.elementor-button):focus,
.cf-blog01-shell .elementor-widget-theme-post-content a:not(.elementor-button),
.cf-blog01-shell .elementor-widget-theme-post-content a:not(.elementor-button):link,
.cf-blog01-shell .elementor-widget-theme-post-content a:not(.elementor-button):visited,
.cf-blog01-shell .elementor-widget-theme-post-content a:not(.elementor-button):hover,
.cf-blog01-shell .elementor-widget-theme-post-content a:not(.elementor-button):focus,
.cf-blog01-shell .entry-content a:not(.elementor-button),
.cf-blog01-shell .entry-content a:not(.elementor-button):link,
.cf-blog01-shell .entry-content a:not(.elementor-button):visited,
.cf-blog01-shell .entry-content a:not(.elementor-button):hover,
.cf-blog01-shell .entry-content a:not(.elementor-button):focus {
  display: inline !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  overflow: visible !important;
  opacity: 1 !important;
  visibility: visible !important;
  color: var(--cf-blog-orange) !important;
  -webkit-text-fill-color: var(--cf-blog-orange) !important;
  text-indent: 0 !important;
  font-size: inherit !important;
  font-style: inherit !important;
  font-weight: 700 !important;
  line-height: inherit !important;
  letter-spacing: inherit !important;
  text-decoration-line: underline !important;
  text-decoration-color: rgba(242,154,46,.86) !important;
  text-decoration-thickness: 1px !important;
  text-underline-offset: 4px !important;
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
  text-shadow: none !important;
  clip: auto !important;
  clip-path: none !important;
  -webkit-background-clip: border-box !important;
  background-clip: border-box !important;
  transform: none !important;
  filter: none !important;
  mix-blend-mode: normal !important;
  pointer-events: auto !important;
  cursor: pointer !important;
  white-space: normal !important;
}

.cf-blog01-shell .cf-blog01-content a:not(.elementor-button):hover,
.cf-blog01-shell .cf-blog01-content a:not(.elementor-button):focus,
.cf-blog01-shell .elementor-widget-theme-post-content a:not(.elementor-button):hover,
.cf-blog01-shell .elementor-widget-theme-post-content a:not(.elementor-button):focus,
.cf-blog01-shell .entry-content a:not(.elementor-button):hover,
.cf-blog01-shell .entry-content a:not(.elementor-button):focus {
  color: var(--cf-blog-orange-hover) !important;
  -webkit-text-fill-color: var(--cf-blog-orange-hover) !important;
  text-decoration-color: var(--cf-blog-orange-hover) !important;
}

/* Kill dash/icon pseudo-elements that replace real linked text. */
.cf-blog01-shell .cf-blog01-content a:not(.elementor-button)::before,
.cf-blog01-shell .cf-blog01-content a:not(.elementor-button)::after,
.cf-blog01-shell .cf-blog01-content a:not(.elementor-button) *::before,
.cf-blog01-shell .cf-blog01-content a:not(.elementor-button) *::after,
.cf-blog01-shell .elementor-widget-theme-post-content a:not(.elementor-button)::before,
.cf-blog01-shell .elementor-widget-theme-post-content a:not(.elementor-button)::after,
.cf-blog01-shell .elementor-widget-theme-post-content a:not(.elementor-button) *::before,
.cf-blog01-shell .elementor-widget-theme-post-content a:not(.elementor-button) *::after,
.cf-blog01-shell .entry-content a:not(.elementor-button)::before,
.cf-blog01-shell .entry-content a:not(.elementor-button)::after,
.cf-blog01-shell .entry-content a:not(.elementor-button) *::before,
.cf-blog01-shell .entry-content a:not(.elementor-button) *::after {
  content: none !important;
  display: none !important;
  width: 0 !important;
  min-width: 0 !important;
  max-width: 0 !important;
  height: 0 !important;
  min-height: 0 !important;
  max-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  opacity: 0 !important;
  visibility: hidden !important;
  overflow: hidden !important;
}

/* Force nested WP/Elementor link text spans to render as real text. */
.cf-blog01-shell .cf-blog01-content a:not(.elementor-button) *,
.cf-blog01-shell .elementor-widget-theme-post-content a:not(.elementor-button) *,
.cf-blog01-shell .entry-content a:not(.elementor-button) * {
  display: inline !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  overflow: visible !important;
  opacity: 1 !important;
  visibility: visible !important;
  color: inherit !important;
  -webkit-text-fill-color: currentColor !important;
  text-indent: 0 !important;
  font-size: inherit !important;
  font-style: inherit !important;
  line-height: inherit !important;
  letter-spacing: inherit !important;
  background: transparent !important;
  background-image: none !important;
  text-shadow: none !important;
  clip: auto !important;
  clip-path: none !important;
  transform: none !important;
  filter: none !important;
  mix-blend-mode: normal !important;
}

/* If an old empty anchor artifact still prints only a dash, hide only empty anchors. Real linked words remain visible. */
.cf-blog01-shell .cf-blog01-content a:not(.elementor-button):empty,
.cf-blog01-shell .elementor-widget-theme-post-content a:not(.elementor-button):empty,
.cf-blog01-shell .entry-content a:not(.elementor-button):empty {
  display: none !important;
  width: 0 !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
}

.cf-blog01-content img,
.cf-blog01-content figure img {
  border-radius: 20px !important;
  border: 1px solid var(--cf-blog-border) !important;
  box-shadow: 0 12px 30px rgba(0,0,0,.22) !important;
  overflow: hidden !important;
}

.cf-blog01-content figcaption {
  color: var(--cf-blog-soft) !important;
  font-size: 13px !important;
  text-align: center !important;
  margin-top: 10px !important;
}

.cf-blog01-content blockquote {
  margin: 2rem 0 !important;
  padding: 24px 28px !important;
  border-left: 4px solid var(--cf-blog-orange) !important;
  border-radius: 18px !important;
  background: rgba(38,25,18,0.52) !important;
}

.cf-blog01-content hr {
  border: 0 !important;
  height: 1px !important;
  margin: 42px 0 !important;
  background: linear-gradient(90deg, transparent, rgba(242,154,46,.42), transparent) !important;
}

/* ==================================================
   SHARE ROW + FOOTER BREATHING ROOM
   ================================================== */

.cf-blog01-share-row {
  margin-top: 18px !important;
  border-top: 1px solid var(--cf-blog-line);
  padding-top: 30px !important;
  padding-bottom: 0 !important;
}

.cf-blog01-share-title .elementor-heading-title {
  margin: 0 !important;
  color: var(--cf-blog-cream) !important;
  font-size: 18px !important;
  font-weight: 800 !important;
}

.cf-blog01-share-buttons .elementor-share-btn {
  background: var(--cf-blog-orange) !important;
  color: #1a120c !important;
  transition: transform .2s ease, background .2s ease, box-shadow .2s ease !important;
  box-shadow: 0 8px 20px rgba(242,154,46,.18) !important;
}

.cf-blog01-share-buttons .elementor-share-btn:hover,
.cf-blog01-share-buttons .elementor-share-btn:focus {
  background: var(--cf-blog-orange-hover) !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 12px 24px rgba(242,154,46,.25) !important;
}

/* ==================================================
   RESPONSIVE
   ================================================== */

@media (max-width: 1024px) {
  .cf-blog01-body-wrap {
    padding-top: 42px !important;
    padding-bottom: 90px !important;
  }
}

@media (max-width: 767px) {
  .cf-blog01-body-wrap {
    padding-top: 32px !important;
    padding-bottom: 72px !important;
  }

  .cf-blog01-post-header {
    gap: 7px !important;
  }

  .cf-blog01-post-category a,
  .cf-blog01-post-category .elementor-icon-list-text,
  .cf-blog01-post-category .elementor-post-info__terms-list,
  .cf-blog01-post-category .elementor-post-info__terms-list-item {
    font-size: 12px !important;
  }

  .cf-blog01-post-date,
  .cf-blog01-post-date *,
  .cf-blog01-post-date a {
    font-size: 14px !important;
  }

  .cf-blog01-content p,
  .cf-blog01-content li {
    font-size: 16px !important;
    line-height: 1.72 !important;
  }

  .cf-blog01-content blockquote {
    padding: 20px 22px !important;
  }

  .cf-blog01-share-row {
    margin-top: 12px !important;
    padding-top: 24px !important;
  }
}
/* ==================================================
   blog01 Transparent Image Fix
   Purpose:
   - Remove unwanted frame/border behind transparent PNG images.
   - Keep image backgrounds fully transparent.
   ================================================== */

.cf-blog01-content img,
.cf-blog01-content figure,
.cf-blog01-content figure img,
.cf-blog01-content .wp-caption,
.cf-blog01-content .wp-caption img,
.cf-blog01-content .elementor-widget-image,
.cf-blog01-content .elementor-widget-image .elementor-widget-container {
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  outline: 0 !important;
}


/* ==================================================
   BLOG1 JSON PATCH v2.7
   Purpose:
   - Uploaded JSON uses cf-blog1 / cf-b1 classes.
   - Keep BLOG1 article widths clean.
   - Use the same no-crop hero behavior as the live blog template.
   ================================================== */

.cf-blog1-shell,
.cf-blog1-shell * {
  box-sizing: border-box !important;
}

.cf-blog1-shell {
  --cf-blog-cream: #f7e8d3;
  --cf-blog-muted: #d8c6b0;
  --cf-blog-soft: #b89f85;
  --cf-blog-orange: #f29a2e;
  --cf-blog-orange-hover: #ffb24f;
  --cf-blog-border: rgba(247, 232, 211, 0.12);
  --cf-blog-line: rgba(247, 232, 211, 0.10);
  color: var(--cf-blog-muted) !important;
  background: transparent !important;
  background-color: transparent !important;
}

.cf-blog1-shell-v26,
.cf-blog1-shell-v27 {
  padding-top: clamp(48px, 5vw, 72px) !important;
  padding-bottom: clamp(72px, 7vw, 96px) !important;
}

.cf-b1-header,
.cf-b1-article,
.cf-b1-cta-strip {
  width: 100% !important;
  max-width: 900px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.cf-b1-hero-card,
.cf-b1-hero-card-contained {
  width: 100% !important;
  max-width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding: 0 !important;
  background: transparent !important;
  background-color: transparent !important;
  overflow: hidden !important;
}

.cf-b1-caption,
.cf-b1-caption-contained {
  width: 100% !important;
  max-width: 900px !important;
  margin: 10px auto 0 !important;
  padding: 0 !important;
  text-align: left !important;
}

.cf-b1-caption .elementor-heading-title {
  color: var(--cf-blog-soft) !important;
  font-size: 13px !important;
  line-height: 1.35 !important;
}

@media (max-width: 1024px) {
  .cf-blog1-shell-v26,
  .cf-blog1-shell-v27 {
    padding-top: 54px !important;
    padding-bottom: 82px !important;
  }
}

@media (max-width: 767px) {
  .cf-blog1-shell-v26,
  .cf-blog1-shell-v27 {
    padding-top: 42px !important;
    padding-bottom: 68px !important;
  }

  .cf-b1-header,
  .cf-b1-article,
  .cf-b1-cta-strip,
  .cf-b1-caption,
  .cf-b1-caption-contained {
    max-width: 100% !important;
  }
}

.cf-food-layout1 .elementor-widget-text-editor p:last-child,
.cf-food-layout1 .elementor-widget-heading .elementor-heading-title:last-child {
  margin-bottom: 0 !important;
}

.cf-food-layout1 .elementor-image-placeholder {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 260px !important;
  width: 100% !important;
  border-radius: 18px !important;
  border: 1px dashed rgba(247,232,211,.18) !important;
  background: linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.02)) !important;
}

/* SECTION RHYTHM */
.cf-food-hero,
.cf-food-story,
.cf-food-standout,
.cf-food-bottom {
  position: relative;
}

.cf-food-hero {
  padding-bottom: 28px !important;
}

.cf-food-story {
  padding-top: 4px !important;
  padding-bottom: 18px !important;
}

.cf-food-standout {
  padding-top: 8px !important;
  padding-bottom: 18px !important;
}

.cf-food-bottom {
  padding-top: 0 !important;
}

/* HERO */
.cf-food-eyebrow .elementor-heading-title {
  margin: 0 !important;
  color: var(--cf-food-orange) !important;
  -webkit-text-fill-color: var(--cf-food-orange) !important;
  font-size: 14px !important;
  font-weight: 900 !important;
  letter-spacing: .14em !important;
  line-height: 1.2 !important;
  text-transform: uppercase !important;
}

.cf-food-hero__grid > .e-con-inner,
.cf-food-hero__grid {
  align-items: stretch !important;
}

.cf-food-hero__grid {
  gap: 28px !important;
  padding: 24px !important;
  border-radius: 26px !important;
  background: var(--cf-food-panel) !important;
  border: 1px solid var(--cf-food-border) !important;
  box-shadow: 0 18px 44px rgba(0,0,0,.24) !important;
}

.cf-food-hero__image {
  flex: 0 0 44% !important;
  min-width: 0 !important;
}

.cf-food-hero__image img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 310px !important;
  object-fit: cover !important;
  border-radius: 18px !important;
  border: 1px solid var(--cf-food-border-strong) !important;
  box-shadow: 0 12px 28px rgba(0,0,0,.22) !important;
}

.cf-food-hero__text {
  flex: 1 1 56% !important;
  min-width: 320px !important;
  padding: 6px 2px 6px 2px !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

.cf-food-title .elementor-heading-title {
  margin: 0 !important;
  color: var(--cf-food-cream) !important;
  -webkit-text-fill-color: var(--cf-food-cream) !important;
  font-size: clamp(48px, 5.4vw, 82px) !important;
  font-weight: 900 !important;
  line-height: .96 !important;
  letter-spacing: -.04em !important;
  text-wrap: balance;
}

.cf-food-dek p {
  margin: 0 !important;
  max-width: 1000px !important;
  color: var(--cf-food-muted) !important;
  -webkit-text-fill-color: var(--cf-food-muted) !important;
  font-size: 18px !important;
  line-height: 1.58 !important;
}

/* PRICE STRIP */
.cf-food-price-strip {
  display: flex !important;
  width: 100% !important;
  padding: 12px !important;
  border-radius: 18px !important;
  background: rgba(15,10,8,.58) !important;
  border: 1px solid rgba(247,232,211,.10) !important;
  box-shadow: 0 12px 28px rgba(0,0,0,.16) !important;
}

.cf-food-price-strip__item {
  padding: 7px 12px !important;
  border-radius: 999px !important;
  background: rgba(255,255,255,.035) !important;
  border: 1px solid rgba(247,232,211,.08) !important;
}

.cf-food-price-strip__item .elementor-heading-title {
  margin: 0 !important;
  color: var(--cf-food-cream) !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  line-height: 1.25 !important;
}

.cf-food-price-strip__item span {
  color: var(--cf-food-orange) !important;
  -webkit-text-fill-color: var(--cf-food-orange) !important;
  text-transform: uppercase !important;
  letter-spacing: .08em !important;
  margin-right: 6px !important;
}

/* STORY */
.cf-food-story__media,
.cf-food-story__copy-wrap {
  flex: 1 1 50% !important;
  min-width: 0 !important;
}

.cf-food-story__media {
  padding: 14px !important;
  border-radius: 22px !important;
  background: var(--cf-food-panel-soft) !important;
  border: 1px solid var(--cf-food-border) !important;
  box-shadow: 0 14px 32px rgba(0,0,0,.18) !important;
}

.cf-food-story__image img {
  display: block !important;
  width: 100% !important;
  height: 360px !important;
  object-fit: cover !important;
  border-radius: 18px !important;
  border: 1px solid var(--cf-food-border) !important;
  box-shadow: 0 16px 38px rgba(0,0,0,.24) !important;
}

.cf-food-caption p {
  margin: 10px 0 0 !important;
  color: var(--cf-food-soft) !important;
  -webkit-text-fill-color: var(--cf-food-soft) !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  line-height: 1.4 !important;
}

.cf-food-story__copy-wrap {
  position: relative !important;
  padding: 24px 24px 24px 28px !important;
  border-radius: 22px !important;
  background: var(--cf-food-panel) !important;
  border: 1px solid var(--cf-food-border) !important;
  box-shadow: 0 14px 32px rgba(0,0,0,.20) !important;
}

.cf-food-story__copy-wrap::before {
  content: "";
  position: absolute;
  left: 0;
  top: 16px;
  bottom: 16px;
  width: 3px;
  border-radius: 999px;
  background: linear-gradient(180deg, var(--cf-food-orange), rgba(242,154,46,.18));
}

.cf-food-story__copy p {
  margin: 0 0 1em !important;
  color: var(--cf-food-muted) !important;
  -webkit-text-fill-color: var(--cf-food-muted) !important;
  font-size: 18px !important;
  font-weight: 500 !important;
  line-height: 1.62 !important;
}

.cf-food-story__copy strong {
  color: var(--cf-food-cream) !important;
  -webkit-text-fill-color: var(--cf-food-cream) !important;
  font-weight: 900 !important;
}

/* STANDOUT */
.cf-food-section-title .elementor-heading-title {
  margin: 0 !important;
  color: var(--cf-food-cream) !important;
  -webkit-text-fill-color: var(--cf-food-cream) !important;
  font-size: clamp(38px, 4.4vw, 60px) !important;
  font-weight: 900 !important;
  line-height: 1.03 !important;
  letter-spacing: -.035em !important;
}

.cf-food-section-intro p {
  max-width: 980px !important;
  margin: 0 !important;
  color: var(--cf-food-muted) !important;
  -webkit-text-fill-color: var(--cf-food-muted) !important;
  font-size: 18px !important;
  line-height: 1.6 !important;
}

.cf-food-feature-grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 16px !important;
}

.cf-food-feature-card {
  height: 100% !important;
  padding: 18px !important;
  border-radius: 18px !important;
  background: var(--cf-food-panel-soft) !important;
  border: 1px solid var(--cf-food-border) !important;
  box-shadow: 0 12px 28px rgba(0,0,0,.18) !important;
}

.cf-food-feature-card__title .elementor-heading-title {
  margin: 0 0 8px !important;
  color: var(--cf-food-cream) !important;
  -webkit-text-fill-color: var(--cf-food-cream) !important;
  font-size: 18px !important;
  font-weight: 900 !important;
  line-height: 1.15 !important;
}

.cf-food-feature-card__text p {
  margin: 0 !important;
  color: var(--cf-food-muted) !important;
  -webkit-text-fill-color: var(--cf-food-muted) !important;
  font-size: 15px !important;
  line-height: 1.55 !important;
}

/* BOTTOM */
.cf-food-bottom-card {
  flex: 1 1 50% !important;
  min-width: 0 !important;
  padding: 22px !important;
  border-radius: 22px !important;
  background: var(--cf-food-panel) !important;
  border: 1px solid var(--cf-food-border) !important;
  box-shadow: 0 14px 32px rgba(0,0,0,.22) !important;
}

.cf-food-bottom-card__title .elementor-heading-title {
  margin: 0 0 10px !important;
  color: var(--cf-food-cream) !important;
  -webkit-text-fill-color: var(--cf-food-cream) !important;
  font-size: clamp(28px, 2.7vw, 36px) !important;
  font-weight: 900 !important;
  line-height: 1.1 !important;
}

.cf-food-bottom-card__text p {
  margin: 0 0 18px !important;
  color: var(--cf-food-muted) !important;
  -webkit-text-fill-color: var(--cf-food-muted) !important;
  font-size: 16px !important;
  line-height: 1.55 !important;
}

/* BUTTONS */
.cf-food-button .elementor-button {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  width: fit-content !important;
  border-radius: 12px !important;
  border: 1px solid #c96f11 !important;
  background: var(--cf-food-orange) !important;
  color: #1a120c !important;
  -webkit-text-fill-color: #1a120c !important;
  box-shadow: 0 10px 24px rgba(0,0,0,.20) !important;
  padding: 12px 20px !important;
  font-size: 15px !important;
  font-weight: 900 !important;
  text-decoration: none !important;
}

.cf-food-button .elementor-button:hover {
  background: var(--cf-food-orange-hover) !important;
  transform: translateY(-1px) !important;
}

/* RESPONSIVE */
@media (max-width: 1180px) {
  .cf-food-feature-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 1024px) {
  .cf-food-hero__grid {
    padding: 20px !important;
  }

  .cf-food-hero__text {
    min-width: 0 !important;
  }

  .cf-food-hero__image img {
    min-height: 300px !important;
  }

  .cf-food-story__image img {
    height: 300px !important;
  }
}

@media (max-width: 767px) {
  .cf-food-title .elementor-heading-title {
    font-size: 42px !important;
  }

  .cf-food-hero__grid {
    padding: 18px !important;
    border-radius: 20px !important;
  }

  .cf-food-hero__image img {
    min-height: 220px !important;
    border-radius: 16px !important;
  }

  .cf-food-story__media,
  .cf-food-story__copy-wrap,
  .cf-food-feature-card,
  .cf-food-bottom-card {
    border-radius: 18px !important;
  }

  .cf-food-story__media {
    padding: 12px !important;
  }

  .cf-food-story__copy-wrap,
  .cf-food-bottom-card,
  .cf-food-feature-card {
    padding: 18px !important;
  }

  .cf-food-story__copy-wrap {
    padding-left: 20px !important;
  }

  .cf-food-feature-grid {
    grid-template-columns: 1fr !important;
  }

  .cf-food-bottom {
    flex-direction: column !important;
  }

  .cf-food-section-title .elementor-heading-title {
    font-size: 34px !important;
  }

  .cf-food-story__copy p,
  .cf-food-section-intro p,
  .cf-food-dek p {
    font-size: 16px !important;
  }
}




/* ==================================================
   FoodLayout1 v1.2 Image Placeholder / Upload Slot Fix
   Ensures hero and supporting image widgets visibly render
   so images can be replaced in Elementor.
   ================================================== */

/* Make sure food image widgets always occupy visible space */
.cf-food-hero__image,
.cf-food-story__image {
  display: block !important;
  width: 100% !important;
  min-height: 220px !important;
}

.cf-food-hero__image .elementor-widget-container,
.cf-food-story__image .elementor-widget-container {
  display: block !important;
  width: 100% !important;
  min-height: 220px !important;
}

/* If Elementor imports an empty image widget anyway, show a visible upload slot */
.cf-food-hero__image .elementor-widget-container:empty,
.cf-food-story__image .elementor-widget-container:empty {
  position: relative !important;
  min-height: 320px !important;
  border-radius: 18px !important;
  border: 1px dashed rgba(247,232,211,.26) !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,.055), rgba(255,255,255,.018)),
    rgba(38,25,18,.46) !important;
}

.cf-food-hero__image .elementor-widget-container:empty::before,
.cf-food-story__image .elementor-widget-container:empty::before {
  content: "Add food image" !important;
  position: absolute !important;
  inset: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: #d8c7b2 !important;
  -webkit-text-fill-color: #d8c7b2 !important;
  font-family: "Roboto Slab", Georgia, serif !important;
  font-size: 16px !important;
  font-weight: 900 !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
}

/* Supporting image block should keep caption attached to image */
.cf-food-story__media {
  align-self: stretch !important;
}

.cf-food-story__image img {
  display: block !important;
  width: 100% !important;
  height: 360px !important;
  object-fit: cover !important;
}

.cf-food-caption {
  margin-top: 10px !important;
}

/* Slight flow improvement after making the missing image visible */
.cf-food-story {
  align-items: stretch !important;
}

@media (max-width: 1024px) {
  .cf-food-hero__image .elementor-widget-container:empty,
  .cf-food-story__image .elementor-widget-container:empty {
    min-height: 280px !important;
  }
}

@media (max-width: 767px) {
  .cf-food-hero__image .elementor-widget-container:empty,
  .cf-food-story__image .elementor-widget-container:empty {
    min-height: 220px !important;
  }

  .cf-food-story__image img {
    height: 230px !important;
  }
}

:root {
  --cf-header-offset: 104px;
}

/* Fixed shell */
.cf-hdr8-shell,
.cf-hdr8-shell * {
  box-sizing: border-box !important;
  font-family: "Roboto Slab", Georgia, serif !important;
}

.cf-hdr8-shell {
  display: block !important;
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;
  z-index: 999999 !important;
  isolation: isolate !important;
  background:
    linear-gradient(180deg, rgba(0,0,0,.98) 0%, rgba(0,0,0,.94) 65%, rgba(0,0,0,.64) 100%) !important;
  box-shadow: 0 12px 30px rgba(0,0,0,.26) !important;
}

body:not(.elementor-editor-active) {
  padding-top: var(--cf-header-offset) !important;
}

body.admin-bar .cf-hdr8-shell {
  top: 32px !important;
}

body.elementor-editor-active {
  padding-top: 0 !important;
}

@media (max-width: 782px) {
  body.admin-bar .cf-hdr8-shell {
    top: 46px !important;
  }
}

/* Utility bar */
.cf-hdr8-utility-bar {
  display: block !important;
  background: #050505 !important;
  border-bottom: 1px solid rgba(242,154,46,.14) !important;
}

.cf-hdr8-utility-inner {
  width: 100% !important;
  max-width: 1280px !important;
  margin: 0 auto !important;
  min-height: 26px !important;
  padding: 0 20px !important;
}

.cf-hdr8-utility-brand .elementor-heading-title,
.cf-hdr8-utility-brand {
  color: #f7e8d3 !important;
  -webkit-text-fill-color: #f7e8d3 !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  white-space: nowrap !important;
}

.cf-hdr8-utility-right {
  display: flex !important;
  align-items: center !important;
}

.cf-hdr8-utility-links .elementor-icon-list-items {
  display: inline-flex !important;
  align-items: center !important;
  gap: 14px !important;
}

.cf-hdr8-utility-links .elementor-icon-list-item,
.cf-hdr8-utility-links .elementor-icon-list-text {
  color: rgba(247,232,211,.84) !important;
  -webkit-text-fill-color: rgba(247,232,211,.84) !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
}

.cf-hdr8-utility-icons .elementor-social-icon {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  color: rgba(247,232,211,.84) !important;
  width: 16px !important;
  height: 16px !important;
}

.cf-hdr8-utility-icons .elementor-social-icon:hover {
  color: #f29a2e !important;
}

/* Main floating bar */
.cf-hdr8-main-bar {
  display: block !important;
  width: 100% !important;
  background: transparent !important;
  padding: 7px 18px 10px !important;
}

.cf-hdr8-main-inner {
  width: 100% !important;
  max-width: 1220px !important;
  margin: 0 auto !important;
  min-height: 58px !important;
  padding: 0 16px !important;
  gap: 14px !important;
  border-radius: 18px !important;
  border: 1px solid rgba(247,232,211,.13) !important;
  background:
    radial-gradient(circle at 12% 0%, rgba(242,154,46,.08), transparent 34%),
    linear-gradient(180deg, rgba(255,255,255,.045), rgba(255,255,255,.012)),
    linear-gradient(180deg, rgba(32,22,17,.96), rgba(8,7,6,.98)) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.055),
    inset 0 -1px 0 rgba(242,154,46,.12),
    0 12px 28px rgba(0,0,0,.32) !important;
  overflow: visible !important;
  position: relative !important;
}

.cf-hdr8-main-inner::after {
  content: "" !important;
  position: absolute !important;
  left: 28px !important;
  right: 28px !important;
  bottom: 0 !important;
  height: 1px !important;
  pointer-events: none !important;
  background: linear-gradient(90deg, transparent, rgba(242,154,46,.28), rgba(247,232,211,.10), rgba(242,154,46,.28), transparent) !important;
}

/* Brand inside main nav */
.cf-hdr8-brand {
  flex: 0 0 210px !important;
  min-width: 180px !important;
}

.cf-hdr8-brand .elementor-heading-title {
  margin: 0 !important;
  color: #f7e8d3 !important;
  -webkit-text-fill-color: #f7e8d3 !important;
  font-size: 14px !important;
  font-weight: 900 !important;
  line-height: 1.05 !important;
  white-space: nowrap !important;
}

/* Nav */
.cf-hdr8-nav {
  flex: 1 1 auto !important;
  min-width: 0 !important;
}

.cf-hdr8-nav,
.cf-hdr8-nav .elementor-widget-container,
.cf-hdr8-nav nav,
.cf-hdr8-nav ul,
.cf-hdr8-nav li,
.cf-hdr8-nav a {
  background: transparent !important;
  box-shadow: none !important;
  border: 0 !important;
}

.cf-hdr8-nav .elementor-widget-container {
  width: 100% !important;
}

.cf-hdr8-nav nav.elementor-nav-menu--main > ul.elementor-nav-menu {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  flex-wrap: nowrap !important;
  gap: 4px !important;
}

.cf-hdr8-nav nav.elementor-nav-menu--main > ul.elementor-nav-menu > li {
  display: inline-flex !important;
  align-items: center !important;
  white-space: nowrap !important;
  position: relative !important;
}

.cf-hdr8-nav a,
.cf-hdr8-nav a:link,
.cf-hdr8-nav a:visited,
.cf-hdr8-nav a span,
.cf-hdr8-nav .elementor-item,
.cf-hdr8-nav .elementor-nav-menu--main > ul.elementor-nav-menu > li > a {
  color: #f7e8d3 !important;
  -webkit-text-fill-color: #f7e8d3 !important;
  opacity: 1 !important;
  visibility: visible !important;
  text-decoration: none !important;
  text-shadow: none !important;
  filter: none !important;
  mix-blend-mode: normal !important;
  clip-path: none !important;
}

.cf-hdr8-nav .elementor-item,
.cf-hdr8-nav .elementor-nav-menu--main > ul.elementor-nav-menu > li > a {
  height: 56px !important;
  padding: 0 10px !important;
  border-radius: 10px !important;
  font-size: 13.5px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  letter-spacing: -0.01em !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.cf-hdr8-nav .elementor-item:hover,
.cf-hdr8-nav .elementor-item:focus,
.cf-hdr8-nav .menu-item:hover > a,
.cf-hdr8-nav .menu-item:focus > a,
.cf-hdr8-nav .current-menu-item > a,
.cf-hdr8-nav .current_page_item > a,
.cf-hdr8-nav .current-menu-ancestor > a {
  background: rgba(242,154,46,.075) !important;
  color: #ffb24f !important;
  -webkit-text-fill-color: #ffb24f !important;
  box-shadow: inset 0 -1px 0 rgba(242,154,46,.25) !important;
}

.cf-hdr8-nav .sub-arrow,
.cf-hdr8-nav .sub-arrow i,
.cf-hdr8-nav .sub-arrow svg {
  color: rgba(247,232,211,.78) !important;
  fill: currentColor !important;
  stroke: currentColor !important;
  font-size: 10px !important;
  margin-left: 7px !important;
  transform: translateY(1px) !important;
}

/* Dropdown */
@media (min-width: 1025px) {
  .cf-hdr8-nav .elementor-nav-menu--main > ul.elementor-nav-menu > li > .sub-menu {
    display: block !important;
    position: absolute !important;
    top: calc(100% + 7px) !important;
    left: 0 !important;
    min-width: 238px !important;
    max-width: min(360px, 84vw) !important;
    background:
      linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.012)),
      rgba(8,9,10,.988) !important;
    border: 1px solid rgba(242,154,46,.28) !important;
    border-radius: 15px !important;
    box-shadow: 0 16px 38px rgba(0,0,0,.44) !important;
    padding: 9px !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transform: translateY(8px) !important;
    transition: opacity .18s ease, transform .18s ease, visibility .18s ease !important;
    overflow: hidden !important;
    z-index: 1000000 !important;
  }

  .cf-hdr8-nav .elementor-nav-menu--main > ul.elementor-nav-menu > li:hover > .sub-menu,
  .cf-hdr8-nav .elementor-nav-menu--main > ul.elementor-nav-menu > li:focus-within > .sub-menu {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transform: translateY(0) !important;
  }

  .cf-hdr8-nav .elementor-nav-menu--main > ul.elementor-nav-menu > li > .sub-menu a {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    width: 100% !important;
    padding: 10px 12px !important;
    color: #f7e8d3 !important;
    -webkit-text-fill-color: #f7e8d3 !important;
    font-size: 13.5px !important;
    font-weight: 800 !important;
    line-height: 1.25 !important;
    border-radius: 10px !important;
    text-align: left !important;
    white-space: normal !important;
  }

  .cf-hdr8-nav .elementor-nav-menu--main > ul.elementor-nav-menu > li > .sub-menu a:hover,
  .cf-hdr8-nav .elementor-nav-menu--main > ul.elementor-nav-menu > li > .sub-menu a:focus {
    background: rgba(242,154,46,.09) !important;
    color: #ffb24f !important;
    -webkit-text-fill-color: #ffb24f !important;
  }
}

/* CTA */
.cf-hdr8-cta {
  flex: 0 0 150px !important;
  max-width: 150px !important;
  display: flex !important;
  justify-content: flex-end !important;
}

.cf-hdr8-cta .elementor-button {
  width: 100% !important;
  min-height: 42px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 8px 15px !important;
  border-radius: 999px !important;
  border: 1px solid rgba(242,154,46,.64) !important;
  background: rgba(8,9,10,.92) !important;
  color: #f7e8d3 !important;
  -webkit-text-fill-color: #f7e8d3 !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.052), 0 7px 16px rgba(0,0,0,.20) !important;
  font-size: 13px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
}

.cf-hdr8-cta .elementor-button:hover,
.cf-hdr8-cta .elementor-button:focus-visible {
  background: #f29a2e !important;
  border-color: #ffb24f !important;
  color: #1a120c !important;
  -webkit-text-fill-color: #1a120c !important;
}

.cf-hdr8-cta .elementor-button-content-wrapper,
.cf-hdr8-cta .elementor-button-text {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}

/* Medium desktop */
@media (max-width: 1180px) {
  :root {
    --cf-header-offset: 98px;
  }

  .cf-hdr8-main-inner {
    max-width: 1120px !important;
    padding: 0 12px !important;
  }

  .cf-hdr8-brand {
    flex-basis: 160px !important;
    min-width: 140px !important;
  }

  .cf-hdr8-brand .elementor-heading-title {
    font-size: 13px !important;
  }

  .cf-hdr8-nav .elementor-item,
  .cf-hdr8-nav .elementor-nav-menu--main > ul.elementor-nav-menu > li > a {
    padding: 0 8px !important;
    font-size: 13px !important;
  }

  .cf-hdr8-cta {
    flex-basis: 140px !important;
    max-width: 140px !important;
  }
}

/* Mobile / Tablet */
@media (max-width: 1024px) {
  :root {
    --cf-header-offset: 72px;
  }

  .cf-hdr8-utility-bar {
    display: none !important;
  }

  .cf-hdr8-shell {
    background: linear-gradient(180deg, rgba(0,0,0,.96), rgba(0,0,0,.58)) !important;
  }

  .cf-hdr8-main-bar {
    padding: 7px 10px 9px !important;
  }

  .cf-hdr8-main-inner {
    max-width: none !important;
    min-height: 56px !important;
    border-radius: 16px !important;
    padding: 0 10px !important;
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 10px !important;
  }

  .cf-hdr8-nav {
    order: 1 !important;
    flex: 0 0 auto !important;
    display: flex !important;
    align-items: center !important;
    visibility: visible !important;
    opacity: 1 !important;
  }

  .cf-hdr8-brand {
    order: 2 !important;
    flex: 1 1 auto !important;
    min-width: 0 !important;
    text-align: center !important;
  }

  .cf-hdr8-brand .elementor-heading-title {
    font-size: 13px !important;
    text-align: center !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }

  .cf-hdr8-cta {
    order: 3 !important;
    flex: 0 0 auto !important;
    max-width: none !important;
  }

  .cf-hdr8-nav nav.elementor-nav-menu--main,
  .cf-hdr8-nav .elementor-nav-menu--main {
    display: none !important;
  }

  .cf-hdr8-nav .elementor-menu-toggle {
    display: inline-flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    align-items: center !important;
    justify-content: center !important;
    width: 44px !important;
    min-width: 44px !important;
    height: 40px !important;
    min-height: 40px !important;
    padding: 7px 9px !important;
    margin: 0 !important;
    color: #f7e8d3 !important;
    -webkit-text-fill-color: #f7e8d3 !important;
    background: rgba(9,10,11,.62) !important;
    border: 1px solid rgba(242,154,46,.38) !important;
    border-radius: 12px !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.05) !important;
    cursor: pointer !important;
    z-index: 1000000 !important;
  }

  .cf-hdr8-nav .elementor-menu-toggle svg,
  .cf-hdr8-nav .elementor-menu-toggle i {
    display: block !important;
    color: #f7e8d3 !important;
    fill: #f7e8d3 !important;
    stroke: #f7e8d3 !important;
    font-size: 18px !important;
  }

  .cf-hdr8-cta .elementor-button {
    width: auto !important;
    min-height: 40px !important;
    padding: 8px 12px !important;
    font-size: 12px !important;
    white-space: nowrap !important;
  }

  .cf-hdr8-nav .elementor-nav-menu--dropdown {
    position: absolute !important;
    top: calc(100% + 10px) !important;
    left: 0 !important;
    right: auto !important;
    width: min(94vw, 360px) !important;
    max-width: min(94vw, 360px) !important;
    max-height: calc(100vh - 90px) !important;
    overflow-y: auto !important;
    background: linear-gradient(180deg, rgba(255,255,255,.035), rgba(255,255,255,.012)), rgba(8,10,12,.985) !important;
    border: 1px solid rgba(242,154,46,.28) !important;
    border-radius: 16px !important;
    box-shadow: 0 18px 38px rgba(0,0,0,.42) !important;
    padding: 8px !important;
    z-index: 1000000 !important;
  }

  .cf-hdr8-nav .elementor-nav-menu--dropdown[aria-hidden="true"] {
    display: none !important;
  }

  .cf-hdr8-nav .elementor-nav-menu--dropdown a,
  .cf-hdr8-nav .elementor-nav-menu--dropdown .elementor-item,
  .cf-hdr8-nav .elementor-nav-menu--dropdown .menu-item > a {
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    align-items: center !important;
    justify-content: space-between !important;
    width: 100% !important;
    padding: 11px 10px !important;
    border-radius: 10px !important;
    color: #f7e8d3 !important;
    -webkit-text-fill-color: #f7e8d3 !important;
    background: transparent !important;
    font-size: 15px !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
  }

  .cf-hdr8-nav .elementor-nav-menu--dropdown > li + li {
    border-top: 1px solid rgba(255,255,255,.06) !important;
    margin-top: 2px !important;
    padding-top: 2px !important;
  }

  .cf-hdr8-nav .elementor-nav-menu--dropdown .sub-menu {
    margin: 4px 0 8px 0 !important;
    padding: 6px 0 0 10px !important;
    border-left: 1px solid rgba(242,154,46,.22) !important;
  }

  .cf-hdr8-nav .elementor-nav-menu--dropdown .sub-menu a {
    font-size: 13px !important;
    font-weight: 700 !important;
    padding: 9px 10px !important;
    color: rgba(247,232,211,.88) !important;
    -webkit-text-fill-color: rgba(247,232,211,.88) !important;
  }
}

@media (max-width: 767px) {
  :root {
    --cf-header-offset: 68px;
  }

  .cf-hdr8-main-inner {
    min-height: 52px !important;
    border-radius: 15px !important;
  }

  .cf-hdr8-nav .elementor-menu-toggle {
    width: 42px !important;
    min-width: 42px !important;
    height: 38px !important;
    min-height: 38px !important;
  }

  .cf-hdr8-brand .elementor-heading-title {
    font-size: 12px !important;
  }

  .cf-hdr8-cta .elementor-button {
    min-height: 38px !important;
    padding: 7px 10px !important;
    font-size: 11.5px !important;
  }
}



/* ==================================================
   NAV HEADER v8.5 MOBILE VISIBILITY RECOVERY
   Use after original v8 CSS.
   Purpose:
   - preserve original v8 desktop/mobile design
   - unlock responsive visibility
   - force mobile header shell + hamburger + CTA visible
   ================================================== */

/* Do NOT let Elementor responsive hidden classes hide this header */
.cf-hdr8-shell,
.cf-hdr8-shell.elementor-hidden-mobile,
.cf-hdr8-shell.elementor-hidden-phone,
.cf-hdr8-shell.elementor-hidden-tablet,
.cf-hdr8-shell .elementor-hidden-mobile,
.cf-hdr8-shell .elementor-hidden-phone,
.cf-hdr8-shell .elementor-hidden-tablet {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
}

/* Ensure fixed header shell exists above all content */
.cf-hdr8-shell {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;
  z-index: 999999 !important;
  overflow: visible !important;
}

/* Desktop remains original v8 unless inside mobile query */
@media (max-width: 1024px) {
  :root {
    --cf-header-offset: 72px;
  }

  body:not(.elementor-editor-active) {
    padding-top: var(--cf-header-offset) !important;
  }

  body.admin-bar .cf-hdr8-shell {
    top: 32px !important;
  }

  /* Every header layer must be visible on mobile */
  .cf-hdr8-shell,
  .cf-hdr8-main-bar,
  .cf-hdr8-main-inner,
  .cf-hdr8-nav,
  .cf-hdr8-brand,
  .cf-hdr8-cta {
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    overflow: visible !important;
    pointer-events: auto !important;
  }

  .cf-hdr8-shell {
    display: block !important;
    background: linear-gradient(180deg, rgba(0,0,0,.96), rgba(0,0,0,.58)) !important;
  }

  .cf-hdr8-utility-bar {
    display: none !important;
  }

  .cf-hdr8-main-bar {
    display: block !important;
    width: 100% !important;
    padding: 7px 10px 9px !important;
    background: transparent !important;
  }

  .cf-hdr8-main-inner {
    width: 100% !important;
    max-width: none !important;
    min-height: 56px !important;
    height: auto !important;
    padding: 0 10px !important;
    gap: 10px !important;
    border-radius: 16px !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: space-between !important;
    background:
      linear-gradient(180deg, rgba(255,255,255,.045), rgba(255,255,255,.012)),
      linear-gradient(180deg, rgba(32,22,17,.96), rgba(8,7,6,.98)) !important;
    border: 1px solid rgba(247,232,211,.13) !important;
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,.055),
      0 12px 28px rgba(0,0,0,.32) !important;
  }

  .cf-hdr8-nav {
    order: 1 !important;
    flex: 0 0 auto !important;
    width: auto !important;
    min-width: 0 !important;
    align-items: center !important;
    justify-content: flex-start !important;
    position: relative !important;
    z-index: 1000000 !important;
  }

  .cf-hdr8-nav .elementor-widget-container {
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    width: auto !important;
    overflow: visible !important;
  }

  /* Hide only desktop horizontal menu on mobile */
  .cf-hdr8-nav nav.elementor-nav-menu--main,
  .cf-hdr8-nav .elementor-nav-menu--main {
    display: none !important;
  }

  /* Force Elementor hamburger toggle visible */
  .cf-hdr8-nav .elementor-menu-toggle,
  .cf-hdr8-nav .elementor-menu-toggle.elementor-active {
    display: inline-flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    align-items: center !important;
    justify-content: center !important;
    width: 44px !important;
    min-width: 44px !important;
    height: 40px !important;
    min-height: 40px !important;
    padding: 7px 9px !important;
    margin: 0 !important;
    color: #f7e8d3 !important;
    -webkit-text-fill-color: #f7e8d3 !important;
    background: rgba(9,10,11,.62) !important;
    border: 1px solid rgba(242,154,46,.38) !important;
    border-radius: 12px !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.05) !important;
    cursor: pointer !important;
    z-index: 1000001 !important;
  }

  .cf-hdr8-nav .elementor-menu-toggle svg,
  .cf-hdr8-nav .elementor-menu-toggle i,
  .cf-hdr8-nav .elementor-menu-toggle span {
    color: #f7e8d3 !important;
    fill: #f7e8d3 !important;
    stroke: #f7e8d3 !important;
    opacity: 1 !important;
    visibility: visible !important;
  }

  .cf-hdr8-brand {
    order: 2 !important;
    flex: 1 1 auto !important;
    min-width: 0 !important;
    max-width: none !important;
    text-align: center !important;
  }

  .cf-hdr8-brand .elementor-heading-title {
    display: block !important;
    color: #f7e8d3 !important;
    -webkit-text-fill-color: #f7e8d3 !important;
    font-size: 13px !important;
    text-align: center !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }

  .cf-hdr8-cta {
    order: 3 !important;
    flex: 0 0 auto !important;
    width: auto !important;
    max-width: none !important;
    align-items: center !important;
    justify-content: flex-end !important;
  }

  .cf-hdr8-cta .elementor-button {
    display: inline-flex !important;
    width: auto !important;
    min-width: 0 !important;
    min-height: 40px !important;
    padding: 8px 12px !important;
    font-size: 12px !important;
    white-space: nowrap !important;
  }
}

@media (max-width: 767px) {
  :root {
    --cf-header-offset: 68px;
  }

  .cf-hdr8-main-inner {
    min-height: 52px !important;
    border-radius: 15px !important;
  }

  .cf-hdr8-nav .elementor-menu-toggle {
    width: 42px !important;
    min-width: 42px !important;
    height: 38px !important;
    min-height: 38px !important;
  }

  .cf-hdr8-brand .elementor-heading-title {
    font-size: 12px !important;
  }

  .cf-hdr8-cta .elementor-button {
    min-height: 38px !important;
    padding: 7px 10px !important;
    font-size: 11.5px !important;
  }
}



/* ==================================================
   nav_header_rebuild_v8_7_desktop_alignment_polish.css.txt
   Desktop-only polish patch for stable v8.5 header
   Purpose: fix desktop centering, CTA alignment, arrow color, utility wrap,
   and color balance without touching mobile behavior.
   Safe scope: @media (min-width: 1025px)
   ================================================== */

@media (min-width: 1025px) {
  :root {
    --cf-header-offset: 98px;
    --cf-hdr-cream: #f7e8d3;
    --cf-hdr-cream-soft: rgba(247,232,211,.86);
    --cf-hdr-orange: #f29a2e;
    --cf-hdr-orange-hover: #ffb24f;
  }

  /* Cleaner, darker, less muddy shell */
  .cf-hdr8-shell {
    background:
      linear-gradient(180deg, rgba(0,0,0,.985) 0%, rgba(0,0,0,.955) 58%, rgba(0,0,0,.48) 100%) !important;
    box-shadow: 0 10px 28px rgba(0,0,0,.22) !important;
    backdrop-filter: blur(10px) !important;
    -webkit-backdrop-filter: blur(10px) !important;
  }

  /* Utility bar: fix brand wrapping and quiet the row */
  .cf-hdr8-utility-bar {
    background: rgba(3,3,3,.98) !important;
    border-bottom: 1px solid rgba(247,232,211,.08) !important;
  }

  .cf-hdr8-utility-inner {
    max-width: 1200px !important;
    min-height: 24px !important;
    padding: 0 18px !important;
    align-items: center !important;
  }

  .cf-hdr8-utility-brand,
  .cf-hdr8-utility-brand .elementor-heading-title {
    display: block !important;
    white-space: nowrap !important;
    overflow: visible !important;
    text-overflow: clip !important;
    color: rgba(247,232,211,.88) !important;
    -webkit-text-fill-color: rgba(247,232,211,.88) !important;
    font-size: 12px !important;
    font-weight: 900 !important;
    line-height: 1 !important;
    letter-spacing: .01em !important;
  }

  .cf-hdr8-utility-links .elementor-icon-list-items {
    gap: 12px !important;
  }

  .cf-hdr8-utility-links .elementor-icon-list-item,
  .cf-hdr8-utility-links .elementor-icon-list-text {
    color: rgba(247,232,211,.68) !important;
    -webkit-text-fill-color: rgba(247,232,211,.68) !important;
    font-size: 10.5px !important;
    font-weight: 800 !important;
    line-height: 1 !important;
  }

  .cf-hdr8-utility-icons .elementor-social-icon {
    width: 15px !important;
    height: 15px !important;
    color: rgba(247,232,211,.72) !important;
    opacity: .88 !important;
  }

  .cf-hdr8-utility-icons .elementor-social-icon:hover {
    color: var(--cf-hdr-orange-hover) !important;
    opacity: 1 !important;
    transform: translateY(-1px) !important;
  }

  /* Main bar: better 3-zone balance */
  .cf-hdr8-main-bar {
    background: transparent !important;
    padding: 7px 18px 9px !important;
  }

  .cf-hdr8-main-inner {
    max-width: 1180px !important;
    min-height: 58px !important;
    padding: 0 16px !important;
    gap: 12px !important;
    border-radius: 16px !important;
    border: 1px solid rgba(247,232,211,.12) !important;
    background:
      radial-gradient(circle at 50% 0%, rgba(242,154,46,.055), transparent 36%),
      linear-gradient(180deg, rgba(255,255,255,.040), rgba(255,255,255,.010)),
      linear-gradient(180deg, rgba(23,18,15,.965), rgba(7,6,5,.988)) !important;
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,.050),
      inset 0 -1px 0 rgba(242,154,46,.075),
      0 12px 28px rgba(0,0,0,.28) !important;
    overflow: visible !important;
    position: relative !important;
    backdrop-filter: blur(10px) !important;
    -webkit-backdrop-filter: blur(10px) !important;
  }

  .cf-hdr8-main-inner::after {
    display: none !important;
    content: none !important;
  }

  /* true 3-zone balance */
  .cf-hdr8-brand {
    flex: 0 0 210px !important;
    min-width: 210px !important;
    max-width: 210px !important;
  }

  .cf-hdr8-brand,
  .cf-hdr8-brand .elementor-widget-container {
    display: flex !important;
    align-items: center !important;
  }

  .cf-hdr8-brand .elementor-heading-title {
    margin: 0 !important;
    color: var(--cf-hdr-cream) !important;
    -webkit-text-fill-color: var(--cf-hdr-cream) !important;
    font-size: 13.5px !important;
    font-weight: 900 !important;
    line-height: 1.05 !important;
    letter-spacing: .01em !important;
    white-space: nowrap !important;
  }

  .cf-hdr8-nav {
    flex: 1 1 auto !important;
    min-width: 0 !important;
  }

  .cf-hdr8-nav .elementor-widget-container {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    width: 100% !important;
  }

  .cf-hdr8-nav nav.elementor-nav-menu--main {
    width: 100% !important;
  }

  .cf-hdr8-nav nav.elementor-nav-menu--main > ul.elementor-nav-menu {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 10px !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .cf-hdr8-nav nav.elementor-nav-menu--main > ul.elementor-nav-menu > li {
    position: relative !important;
    display: inline-flex !important;
    align-items: center !important;
  }

  /* strip all boxed styling from nav items */
  .cf-hdr8-nav,
  .cf-hdr8-nav .elementor-widget-container,
  .cf-hdr8-nav nav,
  .cf-hdr8-nav ul,
  .cf-hdr8-nav li,
  .cf-hdr8-nav li.menu-item,
  .cf-hdr8-nav .elementor-item,
  .cf-hdr8-nav .elementor-nav-menu--main > ul.elementor-nav-menu > li > a {
    background: transparent !important;
    background-color: transparent !important;
    background-image: none !important;
    box-shadow: none !important;
    border: 0 !important;
  }

  .cf-hdr8-nav a,
  .cf-hdr8-nav a:link,
  .cf-hdr8-nav a:visited,
  .cf-hdr8-nav a span,
  .cf-hdr8-nav .elementor-item,
  .cf-hdr8-nav .elementor-nav-menu--main > ul.elementor-nav-menu > li > a {
    color: var(--cf-hdr-cream-soft) !important;
    -webkit-text-fill-color: var(--cf-hdr-cream-soft) !important;
    opacity: 1 !important;
    visibility: visible !important;
    text-decoration: none !important;
    text-shadow: none !important;
    filter: none !important;
    mix-blend-mode: normal !important;
    clip-path: none !important;
  }

  .cf-hdr8-nav .elementor-item,
  .cf-hdr8-nav .elementor-nav-menu--main > ul.elementor-nav-menu > li > a {
    height: 58px !important;
    padding: 0 4px !important;
    border-radius: 0 !important;
    font-size: 13px !important;
    font-weight: 900 !important;
    line-height: 1 !important;
    letter-spacing: .005em !important;
    position: relative !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    transition: color .18s ease, opacity .18s ease !important;
  }

  .cf-hdr8-nav .elementor-item::after,
  .cf-hdr8-nav .elementor-nav-menu--main > ul.elementor-nav-menu > li > a::after {
    content: "" !important;
    position: absolute !important;
    left: 2px !important;
    right: 2px !important;
    bottom: 11px !important;
    height: 2px !important;
    border-radius: 999px !important;
    background: linear-gradient(90deg, transparent, var(--cf-hdr-orange), #ffd08a, var(--cf-hdr-orange), transparent) !important;
    opacity: 0 !important;
    transform: scaleX(.42) !important;
    transform-origin: center !important;
    transition: opacity .18s ease, transform .18s ease !important;
    pointer-events: none !important;
  }

  .cf-hdr8-nav .elementor-item:hover,
  .cf-hdr8-nav .elementor-item:focus,
  .cf-hdr8-nav .menu-item:hover > a,
  .cf-hdr8-nav .menu-item:focus-within > a,
  .cf-hdr8-nav .current-menu-item > a,
  .cf-hdr8-nav .current_page_item > a,
  .cf-hdr8-nav .current-menu-ancestor > a {
    background: transparent !important;
    box-shadow: none !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
  }

  .cf-hdr8-nav .elementor-item:hover::after,
  .cf-hdr8-nav .elementor-item:focus::after,
  .cf-hdr8-nav .menu-item:hover > a::after,
  .cf-hdr8-nav .menu-item:focus-within > a::after,
  .cf-hdr8-nav .current-menu-item > a::after,
  .cf-hdr8-nav .current_page_item > a::after,
  .cf-hdr8-nav .current-menu-ancestor > a::after {
    opacity: 1 !important;
    transform: scaleX(1) !important;
  }

  /* dropdown arrows: no more black */
  .cf-hdr8-nav .sub-arrow,
  .cf-hdr8-nav .sub-arrow i,
  .cf-hdr8-nav .sub-arrow svg {
    color: rgba(247,232,211,.76) !important;
    fill: rgba(247,232,211,.76) !important;
    stroke: rgba(247,232,211,.76) !important;
    -webkit-text-fill-color: rgba(247,232,211,.76) !important;
    font-size: 9px !important;
    margin-left: 6px !important;
    transform: translateY(1px) !important;
  }

  .cf-hdr8-nav .menu-item:hover > a .sub-arrow,
  .cf-hdr8-nav .menu-item:hover > a .sub-arrow i,
  .cf-hdr8-nav .menu-item:hover > a .sub-arrow svg {
    color: var(--cf-hdr-orange-hover) !important;
    fill: var(--cf-hdr-orange-hover) !important;
    stroke: var(--cf-hdr-orange-hover) !important;
    -webkit-text-fill-color: var(--cf-hdr-orange-hover) !important;
  }

  /* dropdown polish */
  .cf-hdr8-nav .elementor-nav-menu--main > ul.elementor-nav-menu > li > .sub-menu {
    top: calc(100% + 8px) !important;
    min-width: 226px !important;
    background:
      linear-gradient(180deg, rgba(255,255,255,.032), rgba(255,255,255,.010)),
      rgba(9,9,9,.988) !important;
    border: 1px solid rgba(247,232,211,.10) !important;
    border-radius: 14px !important;
    box-shadow: 0 16px 34px rgba(0,0,0,.34) !important;
    padding: 8px !important;
  }

  .cf-hdr8-nav .elementor-nav-menu--main > ul.elementor-nav-menu > li > .sub-menu a {
    padding: 10px 12px !important;
    font-size: 13px !important;
    font-weight: 800 !important;
    border-radius: 9px !important;
    color: rgba(247,232,211,.88) !important;
    -webkit-text-fill-color: rgba(247,232,211,.88) !important;
  }

  .cf-hdr8-nav .elementor-nav-menu--main > ul.elementor-nav-menu > li > .sub-menu a:hover,
  .cf-hdr8-nav .elementor-nav-menu--main > ul.elementor-nav-menu > li > .sub-menu a:focus {
    background: rgba(242,154,46,.08) !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
  }

  /* CTA alignment */
  .cf-hdr8-cta {
    flex: 0 0 150px !important;
    min-width: 150px !important;
    max-width: 150px !important;
    display: flex !important;
    justify-content: flex-end !important;
    align-items: center !important;
  }

  .cf-hdr8-cta .elementor-widget-container {
    display: flex !important;
    justify-content: flex-end !important;
    align-items: center !important;
    width: 100% !important;
  }

  .cf-hdr8-cta .elementor-button {
    width: auto !important;
    min-width: 132px !important;
    min-height: 40px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 8px 14px !important;
    border-radius: 999px !important;
    border: 1px solid rgba(242,154,46,.44) !important;
    background:
      linear-gradient(180deg, rgba(255,255,255,.030), rgba(255,255,255,.010)),
      rgba(10,10,10,.92) !important;
    color: var(--cf-hdr-cream) !important;
    -webkit-text-fill-color: var(--cf-hdr-cream) !important;
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,.045),
      0 8px 18px rgba(0,0,0,.18) !important;
    font-size: 12.5px !important;
    font-weight: 900 !important;
    letter-spacing: .015em !important;
    line-height: 1 !important;
    transition: background .18s ease, border-color .18s ease, color .18s ease, transform .18s ease, box-shadow .18s ease !important;
  }

  .cf-hdr8-cta .elementor-button:hover,
  .cf-hdr8-cta .elementor-button:focus-visible {
    background: var(--cf-hdr-orange) !important;
    border-color: #ffbf66 !important;
    color: #16110c !important;
    -webkit-text-fill-color: #16110c !important;
    box-shadow: 0 10px 22px rgba(0,0,0,.22) !important;
    transform: translateY(-1px) !important;
  }
}

@media (min-width: 1025px) and (max-width: 1180px) {
  :root {
    --cf-header-offset: 96px;
  }

  .cf-hdr8-main-inner {
    max-width: 1120px !important;
    padding: 0 12px !important;
    gap: 10px !important;
  }

  .cf-hdr8-brand {
    flex-basis: 165px !important;
    min-width: 165px !important;
    max-width: 165px !important;
  }

  .cf-hdr8-brand .elementor-heading-title {
    font-size: 12.5px !important;
  }

  .cf-hdr8-nav nav.elementor-nav-menu--main > ul.elementor-nav-menu {
    gap: 7px !important;
  }

  .cf-hdr8-nav .elementor-item,
  .cf-hdr8-nav .elementor-nav-menu--main > ul.elementor-nav-menu > li > a {
    font-size: 12.5px !important;
    padding: 0 3px !important;
  }

  .cf-hdr8-cta {
    flex-basis: 136px !important;
    min-width: 136px !important;
    max-width: 136px !important;
  }

  .cf-hdr8-cta .elementor-button {
    min-width: 122px !important;
    font-size: 12px !important;
  }
}
\n\n
/* ==================================================
   NAV HEADER v8.8 MOBILE HAMBURGER ICON FIX
   Purpose:
   - Force mobile menu toggle to show ONLY three hamburger lines.
   - Hide Elementor's active close/X icon.
   - Keep the button clickable and keep mobile drawer behavior.
   ================================================== */

@media (max-width: 1024px) {
  .cf-hdr8-nav .elementor-menu-toggle,
  .cf-hdr8-nav .elementor-menu-toggle.elementor-active {
    position: relative !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 42px !important;
    min-width: 42px !important;
    height: 38px !important;
    min-height: 38px !important;
    padding: 0 !important;
    margin: 0 !important;
    color: transparent !important;
    -webkit-text-fill-color: transparent !important;
    font-size: 0 !important;
    line-height: 0 !important;
    background: rgba(9,10,11,.62) !important;
    border: 1px solid rgba(242,154,46,.38) !important;
    border-radius: 12px !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.05) !important;
    overflow: hidden !important;
    cursor: pointer !important;
  }

  .cf-hdr8-nav .elementor-menu-toggle i,
  .cf-hdr8-nav .elementor-menu-toggle svg,
  .cf-hdr8-nav .elementor-menu-toggle span,
  .cf-hdr8-nav .elementor-menu-toggle .eicon-menu-bar,
  .cf-hdr8-nav .elementor-menu-toggle .eicon-close,
  .cf-hdr8-nav .elementor-menu-toggle__icon--open,
  .cf-hdr8-nav .elementor-menu-toggle__icon--close,
  .cf-hdr8-nav .elementor-menu-toggle.elementor-active .elementor-menu-toggle__icon--open,
  .cf-hdr8-nav .elementor-menu-toggle.elementor-active .elementor-menu-toggle__icon--close {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    width: 0 !important;
    height: 0 !important;
    font-size: 0 !important;
    line-height: 0 !important;
    color: transparent !important;
    fill: transparent !important;
    stroke: transparent !important;
    -webkit-text-fill-color: transparent !important;
  }

  .cf-hdr8-nav .elementor-menu-toggle::before {
    content: "" !important;
    display: block !important;
    width: 18px !important;
    height: 2px !important;
    border-radius: 999px !important;
    background: #f7e8d3 !important;
    box-shadow:
      0 -6px 0 #f7e8d3,
      0 6px 0 #f7e8d3 !important;
    position: absolute !important;
    left: 50% !important;
    top: 50% !important;
    transform: translate(-50%, -50%) !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: none !important;
  }

  .cf-hdr8-nav .elementor-menu-toggle::after {
    display: none !important;
    content: none !important;
  }

  .cf-hdr8-nav .elementor-menu-toggle:hover::before,
  .cf-hdr8-nav .elementor-menu-toggle:focus-visible::before,
  .cf-hdr8-nav .elementor-menu-toggle.elementor-active::before {
    background: #ffb24f !important;
    box-shadow:
      0 -6px 0 #ffb24f,
      0 6px 0 #ffb24f !important;
  }
}

@media (max-width: 767px) {
  .cf-hdr8-nav .elementor-menu-toggle,
  .cf-hdr8-nav .elementor-menu-toggle.elementor-active {
    width: 40px !important;
    min-width: 40px !important;
    height: 36px !important;
    min-height: 36px !important;
  }

  .cf-hdr8-nav .elementor-menu-toggle::before {
    width: 17px !important;
  }
}



/* ==================================================
   NAV HEADER v8.9 MOBILE X KILL PATCH
   Purpose:
   - Absolutely remove Elementor's X / close icon from mobile toggle.
   - Keep only the custom three-line hamburger.
   - Must be the LAST header CSS.
   ================================================== */

@media (max-width: 1024px) {
  /* Reset the toggle button text/icon rendering */
  body .cf-hdr8-shell .cf-hdr8-nav .elementor-menu-toggle,
  body .cf-hdr8-shell .cf-hdr8-nav .elementor-menu-toggle.elementor-active,
  body .cf-hdr8-shell .cf-hdr8-nav .elementor-menu-toggle[aria-expanded="true"],
  body .cf-hdr8-shell .cf-hdr8-nav .elementor-menu-toggle[aria-expanded="false"] {
    position: relative !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 42px !important;
    min-width: 42px !important;
    max-width: 42px !important;
    height: 38px !important;
    min-height: 38px !important;
    max-height: 38px !important;
    padding: 0 !important;
    margin: 0 !important;
    overflow: hidden !important;
    text-indent: -9999px !important;
    font-size: 0 !important;
    line-height: 0 !important;
    color: transparent !important;
    -webkit-text-fill-color: transparent !important;
    background: rgba(9,10,11,.62) !important;
    border: 1px solid rgba(242,154,46,.38) !important;
    border-radius: 12px !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.05) !important;
    cursor: pointer !important;
  }

  /* Hide every real child Elementor places inside the toggle */
  body .cf-hdr8-shell .cf-hdr8-nav .elementor-menu-toggle > *,
  body .cf-hdr8-shell .cf-hdr8-nav .elementor-menu-toggle i,
  body .cf-hdr8-shell .cf-hdr8-nav .elementor-menu-toggle svg,
  body .cf-hdr8-shell .cf-hdr8-nav .elementor-menu-toggle span,
  body .cf-hdr8-shell .cf-hdr8-nav .elementor-menu-toggle .eicon-menu-bar,
  body .cf-hdr8-shell .cf-hdr8-nav .elementor-menu-toggle .eicon-close,
  body .cf-hdr8-shell .cf-hdr8-nav .elementor-menu-toggle .elementor-menu-toggle__icon--open,
  body .cf-hdr8-shell .cf-hdr8-nav .elementor-menu-toggle .elementor-menu-toggle__icon--close,
  body .cf-hdr8-shell .cf-hdr8-nav .elementor-menu-toggle.elementor-active > *,
  body .cf-hdr8-shell .cf-hdr8-nav .elementor-menu-toggle.elementor-active i,
  body .cf-hdr8-shell .cf-hdr8-nav .elementor-menu-toggle.elementor-active svg,
  body .cf-hdr8-shell .cf-hdr8-nav .elementor-menu-toggle.elementor-active span,
  body .cf-hdr8-shell .cf-hdr8-nav .elementor-menu-toggle.elementor-active .eicon-menu-bar,
  body .cf-hdr8-shell .cf-hdr8-nav .elementor-menu-toggle.elementor-active .eicon-close,
  body .cf-hdr8-shell .cf-hdr8-nav .elementor-menu-toggle.elementor-active .elementor-menu-toggle__icon--open,
  body .cf-hdr8-shell .cf-hdr8-nav .elementor-menu-toggle.elementor-active .elementor-menu-toggle__icon--close {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    width: 0 !important;
    height: 0 !important;
    max-width: 0 !important;
    max-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    font-size: 0 !important;
    line-height: 0 !important;
    color: transparent !important;
    fill: transparent !important;
    stroke: transparent !important;
    -webkit-text-fill-color: transparent !important;
    clip-path: inset(50%) !important;
    pointer-events: none !important;
  }

  /* Kill child pseudo icons, where Elementor often draws the X */
  body .cf-hdr8-shell .cf-hdr8-nav .elementor-menu-toggle *::before,
  body .cf-hdr8-shell .cf-hdr8-nav .elementor-menu-toggle *::after,
  body .cf-hdr8-shell .cf-hdr8-nav .elementor-menu-toggle.elementor-active *::before,
  body .cf-hdr8-shell .cf-hdr8-nav .elementor-menu-toggle.elementor-active *::after {
    content: none !important;
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
  }

  /* Parent pseudo after is commonly used for close icons. Kill it. */
  body .cf-hdr8-shell .cf-hdr8-nav .elementor-menu-toggle::after,
  body .cf-hdr8-shell .cf-hdr8-nav .elementor-menu-toggle.elementor-active::after,
  body .cf-hdr8-shell .cf-hdr8-nav .elementor-menu-toggle[aria-expanded="true"]::after,
  body .cf-hdr8-shell .cf-hdr8-nav .elementor-menu-toggle[aria-expanded="false"]::after {
    content: none !important;
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
  }

  /* Draw ONLY our hamburger. Same in active/open/closed states. */
  body .cf-hdr8-shell .cf-hdr8-nav .elementor-menu-toggle::before,
  body .cf-hdr8-shell .cf-hdr8-nav .elementor-menu-toggle.elementor-active::before,
  body .cf-hdr8-shell .cf-hdr8-nav .elementor-menu-toggle[aria-expanded="true"]::before,
  body .cf-hdr8-shell .cf-hdr8-nav .elementor-menu-toggle[aria-expanded="false"]::before {
    content: "" !important;
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    width: 18px !important;
    height: 2px !important;
    border-radius: 999px !important;
    background: #f7e8d3 !important;
    box-shadow:
      0 -6px 0 #f7e8d3,
      0 6px 0 #f7e8d3 !important;
    position: absolute !important;
    left: 50% !important;
    top: 50% !important;
    transform: translate(-50%, -50%) !important;
    pointer-events: none !important;
    text-indent: 0 !important;
    clip-path: none !important;
  }

  body .cf-hdr8-shell .cf-hdr8-nav .elementor-menu-toggle:hover::before,
  body .cf-hdr8-shell .cf-hdr8-nav .elementor-menu-toggle:focus-visible::before,
  body .cf-hdr8-shell .cf-hdr8-nav .elementor-menu-toggle.elementor-active:hover::before {
    background: #ffb24f !important;
    box-shadow:
      0 -6px 0 #ffb24f,
      0 6px 0 #ffb24f !important;
  }
}

@media (max-width: 767px) {
  body .cf-hdr8-shell .cf-hdr8-nav .elementor-menu-toggle,
  body .cf-hdr8-shell .cf-hdr8-nav .elementor-menu-toggle.elementor-active {
    width: 40px !important;
    min-width: 40px !important;
    max-width: 40px !important;
    height: 36px !important;
    min-height: 36px !important;
    max-height: 36px !important;
  }

  body .cf-hdr8-shell .cf-hdr8-nav .elementor-menu-toggle::before,
  body .cf-hdr8-shell .cf-hdr8-nav .elementor-menu-toggle.elementor-active::before {
    width: 17px !important;
  }
}




/* ==================================================
   NAV HEADER v8.10 DESKTOP TOP GAP FIX
   Purpose:
   - remove the awkward desktop gap above the floating nav
   - tighten utility bar + nav spacing
   - preserve mobile and hamburger behavior
   ================================================== */

@media (min-width: 1025px) {
  :root {
    --cf-header-offset: 88px;
  }

  /* Make sure the fixed header starts at the true top */
  .cf-hdr8-shell {
    top: 0 !important;
    margin-top: 0 !important;
    padding-top: 0 !important;
  }

  body.admin-bar .cf-hdr8-shell {
    top: 32px !important;
  }

  /* Utility row tighter, no excess vertical air */
  .cf-hdr8-utility-bar {
    margin: 0 !important;
    padding: 0 !important;
    min-height: 22px !important;
  }

  .cf-hdr8-utility-inner {
    min-height: 22px !important;
    height: 22px !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    align-items: center !important;
  }

  .cf-hdr8-utility-brand,
  .cf-hdr8-utility-brand .elementor-heading-title,
  .cf-hdr8-utility-links .elementor-icon-list-item,
  .cf-hdr8-utility-links .elementor-icon-list-text {
    line-height: 1 !important;
  }

  /* This is the visible gap fix: reduce top padding above the main nav */
  .cf-hdr8-main-bar {
    padding-top: 3px !important;
    padding-bottom: 7px !important;
    margin-top: 0 !important;
  }

  .cf-hdr8-main-inner {
    min-height: 56px !important;
    margin-top: 0 !important;
  }
}

/* Keep mobile from changing */
@media (max-width: 1024px) {
  :root {
    --cf-header-offset: 68px;
  }
}




/* ==================================================
   NAV HEADER v8.11 HARD TOP GAP FIX
   Purpose:
   - remove desktop top gap caused by WordPress admin-bar offset or wrapper spacing
   - force header to sit at absolute top on desktop
   - preserve mobile hamburger behavior
   ================================================== */

@media (min-width: 1025px) {
  :root {
    --cf-header-offset: 82px;
  }

  html,
  body {
    margin-top: 0 !important;
  }

  /* The visible gap is consistent with admin-bar top offset.
     Force desktop header to true top even if body.admin-bar exists. */
  body.admin-bar .cf-hdr8-shell,
  body:not(.admin-bar) .cf-hdr8-shell,
  .cf-hdr8-shell {
    top: 0 !important;
    margin-top: 0 !important;
    padding-top: 0 !important;
    transform: none !important;
  }

  /* Kill wrapper-level spacing around Elementor header locations */
  .elementor-location-header,
  .elementor-location-header > *,
  .elementor-location-header .elementor,
  .elementor-location-header .elementor-section,
  .elementor-location-header .elementor-container,
  .elementor-location-header .e-con,
  .elementor-location-header .e-con-inner,
  .cf-hdr8-shell,
  .cf-hdr8-shell > .e-con-inner,
  .cf-hdr8-shell > .elementor-container {
    margin-top: 0 !important;
    padding-top: 0 !important;
  }

  /* Make the header black/fixed from pixel 0 so no page texture shows above it */
  .cf-hdr8-shell {
    background: #050505 !important;
    background-image: linear-gradient(180deg, rgba(0,0,0,.99) 0%, rgba(0,0,0,.96) 64%, rgba(0,0,0,.64) 100%) !important;
    min-height: 82px !important;
  }

  /* Remove extra air from utility row and main wrapper */
  .cf-hdr8-utility-bar {
    margin-top: 0 !important;
    padding-top: 0 !important;
    min-height: 20px !important;
  }

  .cf-hdr8-utility-inner {
    height: 20px !important;
    min-height: 20px !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }

  .cf-hdr8-main-bar {
    margin-top: 0 !important;
    padding-top: 2px !important;
    padding-bottom: 6px !important;
  }

  .cf-hdr8-main-inner {
    min-height: 54px !important;
  }
}




/* ==================================================
   NAV HEADER v8.12 WORDPRESS ADMIN BAR RESTORE
   Purpose:
   - Restore the WordPress admin toolbar when logged in.
   - Keep the no-gap header behavior for normal logged-out visitors.
   - Preserve mobile hamburger behavior.
   ================================================== */

/* Logged-out / normal visitors keep the no-gap header */
body:not(.admin-bar) .cf-hdr8-shell {
  top: 0 !important;
  z-index: 999999 !important;
}

/* Logged-in users: put the header BELOW the WP admin bar */
body.admin-bar .cf-hdr8-shell {
  top: 32px !important;
  z-index: 99998 !important;
}

/* Make sure WordPress admin bar sits above the custom fixed header */
body.admin-bar #wpadminbar {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  position: fixed !important;
  top: 0 !important;
  z-index: 1000000 !important;
}

/* Mobile/tablet admin bar height */
@media (max-width: 782px) {
  body.admin-bar .cf-hdr8-shell {
    top: 46px !important;
  }

  body.admin-bar #wpadminbar {
    top: 0 !important;
    z-index: 1000000 !important;
  }
}

/* Editor mode: avoid burying Elementor controls under the fixed header */
body.elementor-editor-active .cf-hdr8-shell {
  z-index: 9999 !important;
}



/* ==================================================
   NAV HEADER v8.13 EMBER RAIL COLOR PASS
   Purpose:
   - Keep the bottom nav bar dark/smoky.
   - Add a stronger orange presence around the center nav links.
   - Avoid individual boxed menu tabs.
   - Make CTA more clearly orange/action-forward.
   - Preserve mobile behavior.
   ================================================== */

@media (min-width: 1025px) {
  :root {
    --cf-header-offset: 88px;
    --cf-hdr-cream: #f7e8d3;
    --cf-hdr-cream-soft: rgba(247,232,211,.90);
    --cf-hdr-orange: #f29a2e;
    --cf-hdr-orange-hover: #ffb24f;
    --cf-hdr-ember-deep: #742b00;
    --cf-hdr-ember-mid: #9a3f05;
  }

  /* Keep the top utility strip black and quiet */
  .cf-hdr8-utility-bar {
    background: rgba(3,3,3,.98) !important;
    border-bottom: 1px solid rgba(242,154,46,.16) !important;
  }

  .cf-hdr8-utility-inner {
    max-width: 1200px !important;
    min-height: 22px !important;
    height: 22px !important;
    padding: 0 18px !important;
  }

  .cf-hdr8-utility-brand,
  .cf-hdr8-utility-brand .elementor-heading-title {
    color: rgba(247,232,211,.90) !important;
    -webkit-text-fill-color: rgba(247,232,211,.90) !important;
    font-size: 12px !important;
    font-weight: 900 !important;
    white-space: nowrap !important;
    line-height: 1 !important;
  }

  .cf-hdr8-utility-links .elementor-icon-list-item,
  .cf-hdr8-utility-links .elementor-icon-list-text {
    color: rgba(247,232,211,.70) !important;
    -webkit-text-fill-color: rgba(247,232,211,.70) !important;
    font-size: 10.5px !important;
    font-weight: 800 !important;
  }

  /* Bottom nav bar remains dark, but gets warmer ember depth */
  .cf-hdr8-main-bar {
    padding-top: 3px !important;
    padding-bottom: 7px !important;
    background: transparent !important;
  }

  .cf-hdr8-main-inner {
    max-width: 1180px !important;
    min-height: 56px !important;
    padding: 0 14px !important;
    gap: 13px !important;
    border-radius: 17px !important;
    border: 1px solid rgba(242,154,46,.24) !important;
    background:
      radial-gradient(circle at 50% 105%, rgba(242,104,20,.22), transparent 54%),
      linear-gradient(180deg, rgba(255,255,255,.042), rgba(255,255,255,.010)),
      linear-gradient(180deg, rgba(28,18,12,.98), rgba(8,6,5,.99)) !important;
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,.052),
      inset 0 -1px 0 rgba(242,154,46,.22),
      0 14px 30px rgba(0,0,0,.30),
      0 0 28px rgba(116,43,0,.14) !important;
    backdrop-filter: blur(10px) !important;
    -webkit-backdrop-filter: blur(10px) !important;
  }

  .cf-hdr8-main-inner::after {
    display: none !important;
    content: none !important;
  }

  /* Brand stays dark/cream, not orange-heavy */
  .cf-hdr8-brand {
    flex: 0 0 210px !important;
    min-width: 210px !important;
    max-width: 210px !important;
  }

  .cf-hdr8-brand,
  .cf-hdr8-brand .elementor-widget-container {
    display: flex !important;
    align-items: center !important;
  }

  .cf-hdr8-brand .elementor-heading-title {
    color: var(--cf-hdr-cream) !important;
    -webkit-text-fill-color: var(--cf-hdr-cream) !important;
    font-size: 13.5px !important;
    font-weight: 900 !important;
    letter-spacing: .01em !important;
    white-space: nowrap !important;
  }

  /* EMBER RAIL: orange presence sits behind the nav group, not each link */
  .cf-hdr8-nav {
    flex: 1 1 auto !important;
    min-width: 0 !important;
  }

  .cf-hdr8-nav .elementor-widget-container {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    width: 100% !important;
  }

  .cf-hdr8-nav nav.elementor-nav-menu--main {
    width: auto !important;
    max-width: 100% !important;
    position: relative !important;
    border-radius: 999px !important;
    padding: 0 8px !important;
    background:
      linear-gradient(180deg, rgba(242,154,46,.18), rgba(116,43,0,.20)) !important;
    border: 1px solid rgba(242,154,46,.22) !important;
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,.045),
      inset 0 -1px 0 rgba(0,0,0,.22),
      0 0 20px rgba(242,104,20,.12) !important;
  }

  .cf-hdr8-nav nav.elementor-nav-menu--main > ul.elementor-nav-menu {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 8px !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .cf-hdr8-nav nav.elementor-nav-menu--main > ul.elementor-nav-menu > li {
    position: relative !important;
    display: inline-flex !important;
    align-items: center !important;
  }

  /* Remove individual boxes and keep cream text */
  .cf-hdr8-nav,
  .cf-hdr8-nav .elementor-widget-container,
  .cf-hdr8-nav nav,
  .cf-hdr8-nav ul,
  .cf-hdr8-nav li,
  .cf-hdr8-nav li.menu-item,
  .cf-hdr8-nav .elementor-item,
  .cf-hdr8-nav .elementor-nav-menu--main > ul.elementor-nav-menu > li > a {
    box-shadow: none !important;
  }

  .cf-hdr8-nav li,
  .cf-hdr8-nav li.menu-item,
  .cf-hdr8-nav .elementor-item,
  .cf-hdr8-nav .elementor-nav-menu--main > ul.elementor-nav-menu > li > a {
    background: transparent !important;
    background-color: transparent !important;
    background-image: none !important;
    border: 0 !important;
  }

  .cf-hdr8-nav a,
  .cf-hdr8-nav a:link,
  .cf-hdr8-nav a:visited,
  .cf-hdr8-nav a span,
  .cf-hdr8-nav .elementor-item,
  .cf-hdr8-nav .elementor-nav-menu--main > ul.elementor-nav-menu > li > a {
    color: var(--cf-hdr-cream) !important;
    -webkit-text-fill-color: var(--cf-hdr-cream) !important;
    opacity: 1 !important;
    visibility: visible !important;
    text-decoration: none !important;
    text-shadow: 0 1px 0 rgba(0,0,0,.22) !important;
    filter: none !important;
    mix-blend-mode: normal !important;
    clip-path: none !important;
  }

  .cf-hdr8-nav .elementor-item,
  .cf-hdr8-nav .elementor-nav-menu--main > ul.elementor-nav-menu > li > a {
    height: 42px !important;
    padding: 0 6px !important;
    border-radius: 999px !important;
    font-size: 13px !important;
    font-weight: 900 !important;
    line-height: 1 !important;
    letter-spacing: .005em !important;
    position: relative !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    transition: color .18s ease, background .18s ease, text-shadow .18s ease !important;
  }

  /* Hover/current: gentle darker orange capsule inside the rail */
  .cf-hdr8-nav .elementor-item:hover,
  .cf-hdr8-nav .elementor-item:focus,
  .cf-hdr8-nav .menu-item:hover > a,
  .cf-hdr8-nav .menu-item:focus-within > a,
  .cf-hdr8-nav .current-menu-item > a,
  .cf-hdr8-nav .current_page_item > a,
  .cf-hdr8-nav .current-menu-ancestor > a {
    background: rgba(20,11,5,.36) !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,.035),
      0 0 14px rgba(242,104,20,.12) !important;
    text-shadow: 0 1px 0 rgba(0,0,0,.30) !important;
  }

  /* Replace underline with very subtle bottom spark */
  .cf-hdr8-nav .elementor-item::after,
  .cf-hdr8-nav .elementor-nav-menu--main > ul.elementor-nav-menu > li > a::after {
    content: "" !important;
    position: absolute !important;
    left: 10px !important;
    right: 10px !important;
    bottom: 6px !important;
    height: 1px !important;
    border-radius: 999px !important;
    background: linear-gradient(90deg, transparent, #ffd08a, transparent) !important;
    opacity: 0 !important;
    transform: scaleX(.55) !important;
    transition: opacity .18s ease, transform .18s ease !important;
    pointer-events: none !important;
  }

  .cf-hdr8-nav .elementor-item:hover::after,
  .cf-hdr8-nav .elementor-item:focus::after,
  .cf-hdr8-nav .menu-item:hover > a::after,
  .cf-hdr8-nav .menu-item:focus-within > a::after,
  .cf-hdr8-nav .current-menu-item > a::after,
  .cf-hdr8-nav .current_page_item > a::after,
  .cf-hdr8-nav .current-menu-ancestor > a::after {
    opacity: .9 !important;
    transform: scaleX(1) !important;
  }

  /* Dropdown arrows must be visible */
  .cf-hdr8-nav .sub-arrow,
  .cf-hdr8-nav .sub-arrow i,
  .cf-hdr8-nav .sub-arrow svg {
    color: rgba(247,232,211,.82) !important;
    fill: rgba(247,232,211,.82) !important;
    stroke: rgba(247,232,211,.82) !important;
    -webkit-text-fill-color: rgba(247,232,211,.82) !important;
    font-size: 9px !important;
    margin-left: 6px !important;
    transform: translateY(1px) !important;
  }

  .cf-hdr8-nav .menu-item:hover > a .sub-arrow,
  .cf-hdr8-nav .menu-item:hover > a .sub-arrow i,
  .cf-hdr8-nav .menu-item:hover > a .sub-arrow svg {
    color: #ffffff !important;
    fill: #ffffff !important;
    stroke: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
  }

  /* Dropdown polish */
  .cf-hdr8-nav .elementor-nav-menu--main > ul.elementor-nav-menu > li > .sub-menu {
    top: calc(100% + 9px) !important;
    min-width: 226px !important;
    background:
      linear-gradient(180deg, rgba(255,255,255,.034), rgba(255,255,255,.010)),
      rgba(9,9,9,.990) !important;
    border: 1px solid rgba(242,154,46,.20) !important;
    border-radius: 14px !important;
    box-shadow: 0 16px 34px rgba(0,0,0,.38) !important;
    padding: 8px !important;
  }

  .cf-hdr8-nav .elementor-nav-menu--main > ul.elementor-nav-menu > li > .sub-menu a {
    height: auto !important;
    padding: 10px 12px !important;
    font-size: 13px !important;
    font-weight: 800 !important;
    border-radius: 9px !important;
    color: rgba(247,232,211,.90) !important;
    -webkit-text-fill-color: rgba(247,232,211,.90) !important;
  }

  .cf-hdr8-nav .elementor-nav-menu--main > ul.elementor-nav-menu > li > .sub-menu a:hover,
  .cf-hdr8-nav .elementor-nav-menu--main > ul.elementor-nav-menu > li > .sub-menu a:focus {
    background: rgba(242,154,46,.10) !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
  }

  /* CTA becomes the strongest orange accent */
  .cf-hdr8-cta {
    flex: 0 0 150px !important;
    min-width: 150px !important;
    max-width: 150px !important;
    display: flex !important;
    justify-content: flex-end !important;
    align-items: center !important;
  }

  .cf-hdr8-cta .elementor-widget-container {
    display: flex !important;
    justify-content: flex-end !important;
    align-items: center !important;
    width: 100% !important;
  }

  .cf-hdr8-cta .elementor-button {
    width: auto !important;
    min-width: 132px !important;
    min-height: 40px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 8px 14px !important;
    border-radius: 999px !important;
    border: 1px solid rgba(255,191,102,.50) !important;
    background:
      linear-gradient(180deg, #ffad44, #e77f18) !important;
    color: #1a120c !important;
    -webkit-text-fill-color: #1a120c !important;
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,.28),
      0 8px 18px rgba(0,0,0,.20),
      0 0 18px rgba(242,104,20,.12) !important;
    font-size: 12.5px !important;
    font-weight: 900 !important;
    letter-spacing: .015em !important;
    line-height: 1 !important;
    transition:
      background .18s ease,
      border-color .18s ease,
      color .18s ease,
      transform .18s ease,
      box-shadow .18s ease !important;
  }

  .cf-hdr8-cta .elementor-button:hover,
  .cf-hdr8-cta .elementor-button:focus-visible {
    background:
      linear-gradient(180deg, #ffc06a, #f29a2e) !important;
    border-color: #ffd08a !important;
    color: #120c07 !important;
    -webkit-text-fill-color: #120c07 !important;
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,.34),
      0 10px 22px rgba(0,0,0,.23),
      0 0 24px rgba(242,104,20,.20) !important;
    transform: translateY(-1px) !important;
  }
}

@media (min-width: 1025px) and (max-width: 1180px) {
  :root {
    --cf-header-offset: 88px;
  }

  .cf-hdr8-main-inner {
    max-width: 1120px !important;
    padding: 0 12px !important;
    gap: 10px !important;
  }

  .cf-hdr8-brand {
    flex-basis: 165px !important;
    min-width: 165px !important;
    max-width: 165px !important;
  }

  .cf-hdr8-brand .elementor-heading-title {
    font-size: 12.5px !important;
  }

  .cf-hdr8-nav nav.elementor-nav-menu--main {
    padding: 0 6px !important;
  }

  .cf-hdr8-nav nav.elementor-nav-menu--main > ul.elementor-nav-menu {
    gap: 6px !important;
  }

  .cf-hdr8-nav .elementor-item,
  .cf-hdr8-nav .elementor-nav-menu--main > ul.elementor-nav-menu > li > a {
    font-size: 12.5px !important;
    padding: 0 4px !important;
  }

  .cf-hdr8-cta {
    flex-basis: 136px !important;
    min-width: 136px !important;
    max-width: 136px !important;
  }

  .cf-hdr8-cta .elementor-button {
    min-width: 122px !important;
    font-size: 12px !important;
  }
}




/* ==================================================
   NAV HEADER v8.15 DROPDOWN HOVER BRIDGE FIX
   Built on v8.13 stable branch.
   Purpose:
   - Fix dropdown closing when cursor crosses the tiny gap
     between parent nav link and dropdown panel.
   - Preserve v8.13 ember rail colors.
   - Preserve v8.12 admin bar restore.
   - Preserve v8.9 mobile hamburger-only fix.
   ================================================== */

@media (min-width: 1025px) {
  /* Keep top-level items as dropdown hover owners */
  .cf-hdr8-nav .elementor-nav-menu--main > ul.elementor-nav-menu > li {
    position: relative !important;
    overflow: visible !important;
  }

  /* Invisible hover bridge between parent menu item and dropdown */
  .cf-hdr8-nav .elementor-nav-menu--main > ul.elementor-nav-menu > li.menu-item-has-children::before,
  .cf-hdr8-nav .elementor-nav-menu--main > ul.elementor-nav-menu > li.has-submenu::before,
  .cf-hdr8-nav .elementor-nav-menu--main > ul.elementor-nav-menu > li:has(> .sub-menu)::before {
    content: "" !important;
    position: absolute !important;
    left: -16px !important;
    right: -16px !important;
    top: 100% !important;
    height: 30px !important;
    display: block !important;
    background: transparent !important;
    pointer-events: auto !important;
    z-index: 1000001 !important;
  }

  /* Reduce the physical gap under parent items */
  .cf-hdr8-nav .elementor-nav-menu--main > ul.elementor-nav-menu > li > .sub-menu {
    top: calc(100% + 2px) !important;
    margin-top: 0 !important;
    transform: translateY(4px) !important;
    transition:
      opacity .16s ease,
      transform .16s ease,
      visibility 0s linear .18s !important;
    z-index: 1000002 !important;
    overflow: visible !important;
  }

  /* Keep dropdown open while parent, bridge, or submenu is hovered/focused */
  .cf-hdr8-nav .elementor-nav-menu--main > ul.elementor-nav-menu > li:hover > .sub-menu,
  .cf-hdr8-nav .elementor-nav-menu--main > ul.elementor-nav-menu > li:focus-within > .sub-menu {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transform: translateY(0) !important;
    transition-delay: 0s !important;
  }

  /* Invisible forgiving zone at the top of the dropdown itself */
  .cf-hdr8-nav .elementor-nav-menu--main > ul.elementor-nav-menu > li > .sub-menu::before {
    content: "" !important;
    position: absolute !important;
    left: 0 !important;
    right: 0 !important;
    top: -12px !important;
    height: 12px !important;
    background: transparent !important;
    pointer-events: auto !important;
  }

  /* Keep visible dropdown content layered above the bridge */
  .cf-hdr8-nav .elementor-nav-menu--main > ul.elementor-nav-menu > li > .sub-menu > li,
  .cf-hdr8-nav .elementor-nav-menu--main > ul.elementor-nav-menu > li > .sub-menu > li > a {
    position: relative !important;
    z-index: 2 !important;
  }
}


/* ==================================================
   NAV HEADER v8.17 NO-JS MOBILE MENU FIX
   Purpose:
   - CSS-only mobile improvement.
   - Mobile submenu expands as part of the drawer, not as a separate scroll-trap box.
   - Parent items with submenus no longer use the full text link as the tap target.
   - The chevron/sub-arrow becomes the mobile submenu toggle target.
   - No JavaScript.
   ================================================== */

@media (max-width: 1024px) {
  /* Let the mobile drawer and nested menus grow visually */
  .cf-hdr8-shell,
  .cf-hdr8-main-bar,
  .cf-hdr8-main-inner,
  .cf-hdr8-nav,
  .cf-hdr8-nav .elementor-widget-container {
    overflow: visible !important;
  }

  /* Root mobile drawer */
  .cf-hdr8-nav .elementor-nav-menu--dropdown {
    position: absolute !important;
    top: calc(100% + 10px) !important;
    left: 0 !important;
    right: auto !important;
    width: min(94vw, 390px) !important;
    max-width: min(94vw, 390px) !important;
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
    overflow-y: visible !important;
    padding: 10px !important;
    border-radius: 18px !important;
    background:
      linear-gradient(180deg, rgba(255,255,255,.035), rgba(255,255,255,.010)),
      rgba(8,10,12,.985) !important;
    border: 1px solid rgba(242,154,46,.30) !important;
    box-shadow: 0 18px 38px rgba(0,0,0,.44) !important;
    z-index: 1000000 !important;
  }

  .cf-hdr8-nav .elementor-nav-menu--dropdown[aria-hidden="true"] {
    display: none !important;
  }

  .cf-hdr8-nav .elementor-nav-menu--dropdown[aria-hidden="false"] {
    display: block !important;
  }

  /* Top-level mobile item layout */
  .cf-hdr8-nav .elementor-nav-menu--dropdown > li {
    position: relative !important;
    border-bottom: 1px solid rgba(247,232,211,.065) !important;
  }

  .cf-hdr8-nav .elementor-nav-menu--dropdown > li:last-child {
    border-bottom: 0 !important;
  }

  .cf-hdr8-nav .elementor-nav-menu--dropdown > li > a,
  .cf-hdr8-nav .elementor-nav-menu--dropdown > li > .elementor-item,
  .cf-hdr8-nav .elementor-nav-menu--dropdown .menu-item > a {
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    width: 100% !important;
    min-height: 52px !important;
    padding: 12px 52px 12px 14px !important;
    border-radius: 12px !important;
    color: #f7e8d3 !important;
    -webkit-text-fill-color: #f7e8d3 !important;
    background: transparent !important;
    border: 0 !important;
    font-size: 18px !important;
    font-weight: 900 !important;
    line-height: 1.15 !important;
    text-decoration: none !important;
  }

  /* CSS-only anti-refresh strategy:
     Parent menu text is no longer clickable on mobile.
     The chevron/sub-arrow remains clickable and is enlarged.
     This prevents tapping the parent title from navigating/refreshing. */
  .cf-hdr8-nav .elementor-nav-menu--dropdown li.menu-item-has-children > a,
  .cf-hdr8-nav .elementor-nav-menu--dropdown li.has-submenu > a {
    pointer-events: none !important;
    cursor: default !important;
  }

  .cf-hdr8-nav .elementor-nav-menu--dropdown li.menu-item-has-children > a .sub-arrow,
  .cf-hdr8-nav .elementor-nav-menu--dropdown li.has-submenu > a .sub-arrow {
    pointer-events: auto !important;
    cursor: pointer !important;
  }

  /* Large mobile chevron tap zone */
  .cf-hdr8-nav .elementor-nav-menu--dropdown .sub-arrow {
    position: absolute !important;
    top: 50% !important;
    right: 6px !important;
    transform: translateY(-50%) !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 42px !important;
    height: 42px !important;
    margin: 0 !important;
    border-radius: 12px !important;
    color: rgba(247,232,211,.82) !important;
    fill: rgba(247,232,211,.82) !important;
    stroke: rgba(247,232,211,.82) !important;
    background: transparent !important;
    z-index: 4 !important;
  }

  .cf-hdr8-nav .elementor-nav-menu--dropdown .sub-arrow:hover,
  .cf-hdr8-nav .elementor-nav-menu--dropdown .sub-arrow:focus {
    background: rgba(242,154,46,.075) !important;
    color: #ffb24f !important;
    fill: #ffb24f !important;
    stroke: #ffb24f !important;
  }

  .cf-hdr8-nav .elementor-nav-menu--dropdown .sub-arrow i,
  .cf-hdr8-nav .elementor-nav-menu--dropdown .sub-arrow svg {
    color: currentColor !important;
    fill: currentColor !important;
    stroke: currentColor !important;
    font-size: 12px !important;
  }

  /* Submenu should live in normal flow under its parent, not a floating internal panel */
  .cf-hdr8-nav .elementor-nav-menu--dropdown .sub-menu {
    position: static !important;
    width: 100% !important;
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
    margin: 0 0 8px 0 !important;
    padding: 6px 0 8px 14px !important;
    border-left: 2px solid rgba(242,154,46,.34) !important;
    border-radius: 0 !important;
    background: transparent !important;
    border-top: 0 !important;
    box-shadow: none !important;
  }

  /* Let Elementor control open/closed state. 
     This CSS only changes presentation of opened submenus. */
  .cf-hdr8-nav .elementor-nav-menu--dropdown .sub-menu[aria-hidden="true"] {
    display: none !important;
  }

  .cf-hdr8-nav .elementor-nav-menu--dropdown li.elementor-active > .sub-menu,
  .cf-hdr8-nav .elementor-nav-menu--dropdown li.current-menu-ancestor > .sub-menu,
  .cf-hdr8-nav .elementor-nav-menu--dropdown .sub-menu[aria-hidden="false"] {
    display: block !important;
  }

  /* Child submenu links */
  .cf-hdr8-nav .elementor-nav-menu--dropdown .sub-menu li,
  .cf-hdr8-nav .elementor-nav-menu--dropdown .sub-menu .menu-item {
    border-bottom: 1px solid rgba(247,232,211,.055) !important;
  }

  .cf-hdr8-nav .elementor-nav-menu--dropdown .sub-menu li:last-child,
  .cf-hdr8-nav .elementor-nav-menu--dropdown .sub-menu .menu-item:last-child {
    border-bottom: 0 !important;
  }

  .cf-hdr8-nav .elementor-nav-menu--dropdown .sub-menu a,
  .cf-hdr8-nav .elementor-nav-menu--dropdown .sub-menu .elementor-sub-item {
    pointer-events: auto !important;
    cursor: pointer !important;
    min-height: 42px !important;
    padding: 10px 10px 10px 14px !important;
    border-radius: 10px !important;
    font-size: 15px !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
    color: rgba(247,232,211,.88) !important;
    -webkit-text-fill-color: rgba(247,232,211,.88) !important;
    background: transparent !important;
  }

  .cf-hdr8-nav .elementor-nav-menu--dropdown .sub-menu a:hover,
  .cf-hdr8-nav .elementor-nav-menu--dropdown .sub-menu a:focus {
    background: rgba(242,154,46,.080) !important;
    color: #ffb24f !important;
    -webkit-text-fill-color: #ffb24f !important;
  }

  /* Remove internal scroll contexts from nested menu only */
  .cf-hdr8-nav .elementor-nav-menu--dropdown .sub-menu,
  .cf-hdr8-nav .elementor-nav-menu--dropdown .sub-menu * {
    max-height: none !important;
  }
}

@media (max-width: 767px) {
  .cf-hdr8-nav .elementor-nav-menu--dropdown {
    width: min(92vw, 360px) !important;
  }

  .cf-hdr8-nav .elementor-nav-menu--dropdown > li > a,
  .cf-hdr8-nav .elementor-nav-menu--dropdown > li > .elementor-item,
  .cf-hdr8-nav .elementor-nav-menu--dropdown .menu-item > a {
    font-size: 17px !important;
    min-height: 50px !important;
  }
}


/* ==================================================
   NAV HEADER v8.18 MOBILE DRAWER SCROLL FIX
   Purpose:
   - Fix mobile menu expanding beyond viewport and trapping content.
   - Restore scrolling on the main mobile drawer only.
   - Keep submenus in normal flow, not separate nested scroll boxes.
   - Reduce oversized child-link box styling.
   - No JavaScript.
   ================================================== */

@media (max-width: 1024px) {
  /* Root drawer can scroll when taller than viewport */
  .cf-hdr8-nav .elementor-nav-menu--dropdown {
    width: min(92vw, 390px) !important;
    max-width: min(92vw, 390px) !important;
    height: auto !important;
    max-height: calc(100dvh - 112px) !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    -webkit-overflow-scrolling: touch !important;
    overscroll-behavior: contain !important;
    padding: 10px !important;
    border-radius: 18px !important;
  }

  /* Slim scrollbar where supported */
  .cf-hdr8-nav .elementor-nav-menu--dropdown {
    scrollbar-width: thin !important;
    scrollbar-color: rgba(242,154,46,.55) rgba(255,255,255,.06) !important;
  }

  .cf-hdr8-nav .elementor-nav-menu--dropdown::-webkit-scrollbar {
    width: 6px !important;
  }

  .cf-hdr8-nav .elementor-nav-menu--dropdown::-webkit-scrollbar-track {
    background: rgba(255,255,255,.05) !important;
    border-radius: 99px !important;
  }

  .cf-hdr8-nav .elementor-nav-menu--dropdown::-webkit-scrollbar-thumb {
    background: rgba(242,154,46,.55) !important;
    border-radius: 99px !important;
  }

  /* Submenus stay in normal flow but do NOT create their own scroll boxes */
  .cf-hdr8-nav .elementor-nav-menu--dropdown .sub-menu {
    position: static !important;
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
    overflow-y: visible !important;
    margin: 0 0 8px 0 !important;
    padding: 6px 0 8px 14px !important;
    border-left: 2px solid rgba(242,154,46,.34) !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  /* Top-level items: cleaner/tighter so menu does not become gigantic */
  .cf-hdr8-nav .elementor-nav-menu--dropdown > li > a,
  .cf-hdr8-nav .elementor-nav-menu--dropdown > li > .elementor-item,
  .cf-hdr8-nav .elementor-nav-menu--dropdown .menu-item > a {
    min-height: 48px !important;
    padding: 10px 50px 10px 14px !important;
    border-radius: 12px !important;
    font-size: 17px !important;
    line-height: 1.15 !important;
  }

  /* Child links: no giant separate boxes, just clean nested rows */
  .cf-hdr8-nav .elementor-nav-menu--dropdown .sub-menu li,
  .cf-hdr8-nav .elementor-nav-menu--dropdown .sub-menu .menu-item {
    border-bottom: 1px solid rgba(247,232,211,.055) !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  .cf-hdr8-nav .elementor-nav-menu--dropdown .sub-menu a,
  .cf-hdr8-nav .elementor-nav-menu--dropdown .sub-menu .elementor-sub-item {
    min-height: 38px !important;
    padding: 9px 10px 9px 12px !important;
    border-radius: 8px !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    font-size: 15px !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
  }

  /* Keep the submenu visually attached to its parent */
  .cf-hdr8-nav .elementor-nav-menu--dropdown li.elementor-active > a,
  .cf-hdr8-nav .elementor-nav-menu--dropdown li.current-menu-ancestor > a {
    background: rgba(242,154,46,.065) !important;
    color: #ffb24f !important;
    -webkit-text-fill-color: #ffb24f !important;
  }

  /* Parent title click remains disabled; chevron is the tap target */
  .cf-hdr8-nav .elementor-nav-menu--dropdown li.menu-item-has-children > a,
  .cf-hdr8-nav .elementor-nav-menu--dropdown li.has-submenu > a {
    pointer-events: none !important;
    cursor: default !important;
  }

  .cf-hdr8-nav .elementor-nav-menu--dropdown li.menu-item-has-children > a .sub-arrow,
  .cf-hdr8-nav .elementor-nav-menu--dropdown li.has-submenu > a .sub-arrow {
    pointer-events: auto !important;
    cursor: pointer !important;
  }

  /* Smaller but still tappable chevron */
  .cf-hdr8-nav .elementor-nav-menu--dropdown .sub-arrow {
    right: 6px !important;
    width: 40px !important;
    height: 40px !important;
  }

  /* Important: do not globally force every descendant to max-height none because it can break scroll geometry */
  .cf-hdr8-nav .elementor-nav-menu--dropdown * {
    overscroll-behavior: auto !important;
  }
}

@media (max-width: 767px) {
  .cf-hdr8-nav .elementor-nav-menu--dropdown {
    width: min(90vw, 360px) !important;
    max-width: min(90vw, 360px) !important;
    max-height: calc(100dvh - 108px) !important;
  }

  .cf-hdr8-nav .elementor-nav-menu--dropdown > li > a,
  .cf-hdr8-nav .elementor-nav-menu--dropdown > li > .elementor-item,
  .cf-hdr8-nav .elementor-nav-menu--dropdown .menu-item > a {
    min-height: 46px !important;
    font-size: 16.5px !important;
  }

  .cf-hdr8-nav .elementor-nav-menu--dropdown .sub-menu a,
  .cf-hdr8-nav .elementor-nav-menu--dropdown .sub-menu .elementor-sub-item {
    min-height: 36px !important;
    font-size: 14.5px !important;
  }
}

















.cf-about-card,
.cf-about-card * {
  box-sizing: border-box;
  font-family: "Roboto Slab", Georgia, serif !important;
}

.cf-about-card {
  --cf-about-cream: #f7e8d3;
  --cf-about-cream-soft: rgba(247,232,211,.82);
  --cf-about-muted: rgba(247,232,211,.68);
  --cf-about-orange: #f29a2e;
  --cf-about-orange-dark: #c96f11;
  --cf-about-panel: rgba(10,12,18,.78);
  position: relative !important;
  width: min(100%, 1312px) !important;
  max-width: 1312px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  border: 1px solid rgba(247,232,211,.10) !important;
  border-radius: 28px !important;
  overflow: hidden !important;
  color: var(--cf-about-cream) !important;
  background:
    radial-gradient(circle at 18% 22%, rgba(255,255,255,.060) 0, rgba(255,255,255,0) 28%),
    radial-gradient(circle at 70% 30%, rgba(242,154,46,.055) 0, rgba(255,255,255,0) 24%),
    linear-gradient(180deg, rgba(18,22,31,.76) 0%, rgba(8,10,16,.88) 100%) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.050),
    inset 0 -1px 0 rgba(255,255,255,.030),
    0 20px 50px rgba(0,0,0,.24) !important;
}

/* Elementor boxed wrapper guard */
.cf-about-card > .e-con-inner {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  display: block !important;
}

.cf-about-card::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    linear-gradient(rgba(255,255,255,.030) 1px, transparent 1px);
  background-size: 100% 96px;
  opacity: .16;
}

.cf-about-card::after {
  content: "";
  position: absolute;
  inset: auto 0 0 0;
  height: 1px;
  pointer-events: none;
  background: linear-gradient(90deg, transparent, rgba(242,154,46,.36), transparent);
}

.cf-about-main {
  position: relative !important;
  z-index: 1 !important;
  display: grid !important;
  grid-template-columns: minmax(280px, .42fr) minmax(0, 1fr) !important;
  gap: clamp(28px, 4vw, 56px) !important;
  align-items: center !important;
  width: 100% !important;
}

/* Elementor wrapper guard */
.cf-about-main > .e-con-inner {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  display: grid !important;
  grid-template-columns: minmax(280px, .42fr) minmax(0, 1fr) !important;
  gap: clamp(28px, 4vw, 56px) !important;
  align-items: center !important;
}

.cf-about-media-wrap,
.cf-about-text-wrap {
  min-width: 0 !important;
  position: relative !important;
  z-index: 1 !important;
}

.cf-about-media-wrap {
  align-self: stretch !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.cf-about-hero,
.cf-about-hero .elementor-widget-container {
  width: 100% !important;
}

.cf-about-hero img {
  width: 100% !important;
  max-width: 510px !important;
  aspect-ratio: 1.02 / 1 !important;
  height: auto !important;
  min-height: 300px !important;
  display: block !important;
  object-fit: cover !important;
  margin: 0 auto !important;
  border-radius: 18px !important;
  border: 1px solid rgba(247,232,211,.10) !important;
  background: rgba(247,232,211,.08) !important;
  filter: drop-shadow(0 20px 24px rgba(0,0,0,.24)) !important;
}

/* Helpful when Elementor imports empty image data */
.cf-about-hero .elementor-widget-container:empty {
  min-height: 310px !important;
  border-radius: 18px !important;
  border: 1px dashed rgba(247,232,211,.20) !important;
  background: rgba(247,232,211,.08) !important;
  position: relative !important;
}

.cf-about-hero .elementor-widget-container:empty::before {
  content: "Add About Image";
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  color: rgba(247,232,211,.64);
  -webkit-text-fill-color: rgba(247,232,211,.64);
  font-size: 13px;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.cf-about-title .elementor-heading-title,
.cf-about-title h1,
.cf-about-title h2 {
  margin: 0 !important;
  color: var(--cf-about-cream) !important;
  -webkit-text-fill-color: var(--cf-about-cream) !important;
  font-size: clamp(44px, 5vw, 76px) !important;
  font-weight: 900 !important;
  line-height: 1.02 !important;
  letter-spacing: -.035em !important;
  text-wrap: balance;
  text-shadow: 0 1px 0 rgba(0,0,0,.18) !important;
}

.cf-about-copy {
  color: var(--cf-about-cream-soft) !important;
}

.cf-about-copy .cf-about-rule {
  width: 240px;
  max-width: 44%;
  height: 4px;
  border-radius: 999px;
  background: linear-gradient(90deg, var(--cf-about-orange) 0%, var(--cf-about-orange-dark) 100%);
  margin: 0 0 22px 0;
  box-shadow: 0 0 0 1px rgba(255,153,51,.08);
}

.cf-about-copy p {
  margin: 0 !important;
  color: #e9dece !important;
  -webkit-text-fill-color: #e9dece !important;
  font-size: clamp(1rem, 1.05vw, 1.16rem) !important;
  font-weight: 700 !important;
  line-height: 1.74 !important;
  text-wrap: pretty;
  text-shadow: 0 1px 0 rgba(0,0,0,.16) !important;
}

.cf-about-copy .cf-about-dropcap {
  float: left;
  font-weight: 900;
  font-size: 4.6em;
  line-height: .78;
  margin: .08em .14em -.02em 0;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

.cf-about-caption {
  position: relative !important;
  z-index: 1 !important;
  border-top: 1px solid rgba(247,232,211,.10) !important;
  padding-top: 16px !important;
}

.cf-about-caption,
.cf-about-caption p,
.cf-about-caption .elementor-widget-container {
  margin: 0 !important;
  color: var(--cf-about-muted) !important;
  -webkit-text-fill-color: var(--cf-about-muted) !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  line-height: 1.45 !important;
}

/* Tablet */
@media (max-width: 1024px) {
  .cf-about-card {
    border-radius: 24px !important;
  }

  .cf-about-main,
  .cf-about-main > .e-con-inner {
    grid-template-columns: 1fr !important;
    gap: 28px !important;
  }

  .cf-about-media-wrap {
    align-items: flex-start !important;
  }

  .cf-about-hero img {
    max-width: 520px !important;
    min-height: 280px !important;
  }

  .cf-about-title .elementor-heading-title,
  .cf-about-title h1,
  .cf-about-title h2 {
    font-size: clamp(38px, 6vw, 58px) !important;
  }

  .cf-about-copy .cf-about-rule {
    max-width: 180px;
    margin-bottom: 18px;
  }

  .cf-about-copy .cf-about-dropcap {
    font-size: 4.2em;
  }
}

/* Mobile */
@media (max-width: 767px) {
  .cf-about-card {
    border-radius: 20px !important;
  }

  .cf-about-main,
  .cf-about-main > .e-con-inner {
    gap: 22px !important;
  }

  .cf-about-hero img {
    max-width: 100% !important;
    min-height: 220px !important;
    border-radius: 15px !important;
  }

  .cf-about-title .elementor-heading-title,
  .cf-about-title h1,
  .cf-about-title h2 {
    text-align: left !important;
    font-size: clamp(34px, 10vw, 44px) !important;
    line-height: 1.04 !important;
  }

  .cf-about-copy .cf-about-rule {
    width: 160px;
    max-width: 52%;
    height: 3px;
    margin-bottom: 14px;
  }

  .cf-about-copy p {
    font-size: 16px !important;
    line-height: 1.68 !important;
  }

  .cf-about-copy .cf-about-dropcap {
    font-size: 3.4em;
    margin-right: .12em;
  }

  .cf-about-caption {
    padding-top: 14px !important;
  }
}


/* ==================================================
   ABOUT CARD v1.1 — Title / Flow / Copy Polish
   Full CSS includes v1.0 base + these v1.1 overrides.
   Purpose:
   - Keep "Authentic Kiawe-Smoked BBQ" on one desktop line.
   - Put "Oahu, Hawaii" on the next line.
   - Reduce title size/weight pressure.
   - Narrow image column slightly.
   - Improve body copy rhythm.
   - Reduce drop cap.
   - Replace placeholder caption with quieter brand caption.
   ================================================== */

/* Slightly more text room, slightly less image dominance */
.cf-about-card--v1-1 .cf-about-main {
  grid-template-columns: minmax(250px, .34fr) minmax(0, 1fr) !important;
  gap: clamp(28px, 3.4vw, 46px) !important;
}

.cf-about-card--v1-1 .cf-about-main > .e-con-inner {
  grid-template-columns: minmax(250px, .34fr) minmax(0, 1fr) !important;
  gap: clamp(28px, 3.4vw, 46px) !important;
}

/* Image is still strong, just not hogging the headline */
.cf-about-card--v1-1 .cf-about-hero img {
  max-width: 455px !important;
  min-height: 285px !important;
  aspect-ratio: 1.08 / 1 !important;
}

/* Title line control */
.cf-about-card--v1-1 .cf-about-title .elementor-heading-title,
.cf-about-card--v1-1 .cf-about-title h1,
.cf-about-card--v1-1 .cf-about-title h2 {
  font-size: clamp(38px, 3.45vw, 54px) !important;
  font-weight: 850 !important;
  line-height: 1.04 !important;
  letter-spacing: -.032em !important;
}

.cf-about-card--v1-1 .cf-about-title-line {
  display: block !important;
}

@media (min-width: 1025px) {
  .cf-about-card--v1-1 .cf-about-title-line--main {
    white-space: nowrap !important;
  }
}

/* Rule closer to the headline and less heavy */
.cf-about-card--v1-1 .cf-about-copy .cf-about-rule {
  width: 220px !important;
  max-width: 38% !important;
  height: 3px !important;
  margin: -2px 0 18px 0 !important;
}

/* Body copy easier to read */
.cf-about-card--v1-1 .cf-about-copy p {
  font-size: clamp(.98rem, .98vw, 1.08rem) !important;
  font-weight: 600 !important;
  line-height: 1.68 !important;
  color: #eadfce !important;
  -webkit-text-fill-color: #eadfce !important;
}

/* Drop cap still has character, but stops eating the paragraph */
.cf-about-card--v1-1 .cf-about-copy .cf-about-dropcap {
  font-size: 3.85em !important;
  line-height: .82 !important;
  margin: .08em .13em -.02em 0 !important;
}

/* Caption: quieter and more intentional */
.cf-about-card--v1-1 .cf-about-caption {
  padding-top: 14px !important;
  border-top-color: rgba(247,232,211,.08) !important;
}

.cf-about-card--v1-1 .cf-about-caption,
.cf-about-card--v1-1 .cf-about-caption p,
.cf-about-card--v1-1 .cf-about-caption .elementor-widget-container {
  color: rgba(247,232,211,.58) !important;
  -webkit-text-fill-color: rgba(247,232,211,.58) !important;
  font-size: 12.5px !important;
  font-weight: 700 !important;
}

/* Laptop / smaller desktop guard */
@media (min-width: 1025px) and (max-width: 1280px) {
  .cf-about-card--v1-1 .cf-about-main,
  .cf-about-card--v1-1 .cf-about-main > .e-con-inner {
    grid-template-columns: minmax(235px, .30fr) minmax(0, 1fr) !important;
    gap: 34px !important;
  }

  .cf-about-card--v1-1 .cf-about-title .elementor-heading-title,
  .cf-about-card--v1-1 .cf-about-title h1,
  .cf-about-card--v1-1 .cf-about-title h2 {
    font-size: clamp(36px, 3.25vw, 48px) !important;
  }

  .cf-about-card--v1-1 .cf-about-hero img {
    max-width: 390px !important;
  }
}

/* Tablet */
@media (max-width: 1024px) {
  .cf-about-card--v1-1 .cf-about-main,
  .cf-about-card--v1-1 .cf-about-main > .e-con-inner {
    grid-template-columns: 1fr !important;
    gap: 26px !important;
  }

  .cf-about-card--v1-1 .cf-about-hero img {
    max-width: 500px !important;
    min-height: 260px !important;
  }

  .cf-about-card--v1-1 .cf-about-title .elementor-heading-title,
  .cf-about-card--v1-1 .cf-about-title h1,
  .cf-about-card--v1-1 .cf-about-title h2 {
    font-size: clamp(36px, 5.6vw, 54px) !important;
  }

  .cf-about-card--v1-1 .cf-about-copy .cf-about-dropcap {
    font-size: 3.7em !important;
  }
}

/* Mobile */
@media (max-width: 767px) {
  .cf-about-card--v1-1 .cf-about-title-line--main {
    white-space: normal !important;
  }

  .cf-about-card--v1-1 .cf-about-title .elementor-heading-title,
  .cf-about-card--v1-1 .cf-about-title h1,
  .cf-about-card--v1-1 .cf-about-title h2 {
    font-size: clamp(32px, 9vw, 42px) !important;
    line-height: 1.05 !important;
  }

  .cf-about-card--v1-1 .cf-about-copy p {
    font-size: 16px !important;
    line-height: 1.66 !important;
  }

  .cf-about-card--v1-1 .cf-about-copy .cf-about-dropcap {
    font-size: 3.2em !important;
    margin-right: .12em !important;
  }

  .cf-about-card--v1-1 .cf-about-copy .cf-about-rule {
    width: 150px !important;
    max-width: 50% !important;
  }
}

/* ==================================================
   CO2BBQ MENU CAROUSEL v17 — BOTTOM CONTROL TRAY
   Filename: co2bbq-menu-carousel-v17-bottom-control-tray.css

   Purpose:
   - Active CSS only for the current cf-menu-* Elementor carousel JSON
   - No cf-menu-preview-* CSS
   - No cf-news-* CSS
   - Desktop/tablet: bottom control tray with dots + CTA + PREV/NEXT
   - Mobile: swipe fix + PREV/NEXT buttons over image area
   ================================================== */


/* ---------- Shell / header ---------- */

.cf-menu-shell{
  background: transparent !important;
  max-width: 100% !important;
  overflow-x: clip !important;
}

.cf-menu-head{
  width: 100% !important;
}

.cf-menu-kicker .elementor-heading-title{
  color: #f29a2e !important;
  text-transform: uppercase;
  letter-spacing: .08em;
}

.cf-menu-heading .elementor-heading-title,
.cf-menu-subhead,
.cf-menu-card,
.cf-menu-chip,
.cf-menu-meta,
.cf-menu-card-title,
.cf-menu-card-body,
.cf-menu-link,
.cf-menu-top-button,
.cf-menu-mobile-button{
  font-family: "Roboto Slab", serif !important;
}

.cf-menu-heading .elementor-heading-title{
  text-shadow: 0 2px 12px rgba(0,0,0,.28);
}

.cf-menu-subhead p,
.cf-menu-card-body p{
  margin: 0;
}


/* ---------- Carousel structure ---------- */

.cf-menu-carousel{
  position: relative !important;
  max-width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

.cf-menu-carousel .e-n-carousel,
.cf-menu-carousel .swiper,
.cf-menu-carousel .swiper-wrapper,
.cf-menu-carousel .swiper-slide{
  overflow: visible !important;
}

.cf-menu-carousel .swiper-wrapper{
  align-items: stretch !important;
}

.cf-menu-carousel .swiper-slide{
  height: auto !important;
}


/* ---------- Desktop width match ---------- */

@media (min-width: 1025px){
  .cf-menu-carousel .swiper-slide{
    width: min(380px, calc((100% - 56px) / 3)) !important;
    max-width: 380px !important;
    height: auto !important;
  }

  .cf-menu-card{
    min-height: 100% !important;
  }
}


/* ---------- Card ---------- */

.cf-menu-card{
  position: relative;
  min-height: 100%;
  overflow: hidden;
  border-radius: 22px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.06) 0%, rgba(255,255,255,.02) 100%),
    linear-gradient(180deg, rgba(38,25,18,.78) 0%, rgba(15,10,7,.88) 100%);
  border: 1px solid rgba(255,255,255,.09);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.05),
    0 14px 34px rgba(0,0,0,.28);
  backdrop-filter: blur(3px);
  -webkit-backdrop-filter: blur(3px);
}

.cf-menu-card::before{
  content: none !important;
  display: none !important;
}

.cf-menu-card-image{
  margin-top: 12px;
}

.cf-menu-card-image,
.cf-menu-card-image .elementor-widget-container,
.cf-menu-card-image .elementor-image{
  width: 100% !important;
  max-width: 100% !important;
}

.cf-menu-card-image img,
.cf-menu-card-image .elementor-image img{
  display: block;
  width: 100% !important;
  max-width: 100% !important;
  height: 236px !important;
  object-fit: cover !important;
  border-radius: 12px !important;
  border: 1px solid rgba(255,255,255,.08);
  box-shadow: 0 10px 22px rgba(0,0,0,.28);
}

.cf-menu-chip,
.cf-menu-meta{
  display: inline-flex;
  align-items: center;
}

.cf-menu-chip{
  margin-right: 8px;
}

.cf-menu-card-title .elementor-heading-title{
  margin-top: 2px;
}

.cf-menu-link .elementor-button,
.cf-menu-link a.elementor-button{
  justify-content: flex-start !important;
}

.cf-menu-link .elementor-button-text{
  text-decoration: none;
}

.cf-menu-top-button .elementor-button,
.cf-menu-mobile-button .elementor-button{
  box-shadow: 0 10px 24px rgba(0,0,0,.18);
}


/* ---------- PREV / NEXT button base ---------- */

.cf-menu-carousel .elementor-swiper-button,
.cf-menu-carousel .swiper-button-prev,
.cf-menu-carousel .swiper-button-next{
  position: absolute !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 86px !important;
  height: 40px !important;
  padding: 0 !important;
  margin: 0 !important;
  border-radius: 12px !important;
  opacity: 1 !important;
  z-index: 40 !important;
  font-size: 0 !important;
  line-height: 1 !important;
  text-align: center !important;
}

/* Hide Elementor/Swiper icon glyphs */
.cf-menu-carousel .elementor-swiper-button i,
.cf-menu-carousel .swiper-button-prev i,
.cf-menu-carousel .swiper-button-next i,
.cf-menu-carousel .elementor-swiper-button svg,
.cf-menu-carousel .swiper-button-prev svg,
.cf-menu-carousel .swiper-button-next svg{
  display: none !important;
}

/* Replace icons with readable text */
.cf-menu-carousel .swiper-button-prev::after,
.cf-menu-carousel .swiper-button-next::after,
.cf-menu-carousel .elementor-swiper-button-prev::after,
.cf-menu-carousel .elementor-swiper-button-next::after{
  display: block !important;
  margin: 0 !important;
  font-family: "Roboto Slab", serif !important;
  font-size: 12px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  letter-spacing: .04em !important;
  text-transform: uppercase !important;
  text-shadow: none !important;
}

.cf-menu-carousel .swiper-button-prev::after,
.cf-menu-carousel .elementor-swiper-button-prev::after{
  content: "← PREV" !important;
}

.cf-menu-carousel .swiper-button-next::after,
.cf-menu-carousel .elementor-swiper-button-next::after{
  content: "NEXT →" !important;
}

.cf-menu-carousel .swiper-button-disabled{
  opacity: .48 !important;
  cursor: default !important;
}


/* ---------- Base dots ---------- */

.cf-menu-carousel .swiper-pagination{
  position: relative !important;
  left: auto !important;
  right: auto !important;
  bottom: auto !important;
  margin-top: 10px !important;
  text-align: left !important;
}

.cf-menu-carousel .swiper-pagination-bullet{
  opacity: 1 !important;
  background: #6a4a33 !important;
}

.cf-menu-carousel .swiper-pagination-bullet-active{
  background: #f29a2e !important;
}


/* ---------- Desktop / tablet bottom control tray ---------- */

@media (min-width: 768px){

  .cf-menu-carousel{
    padding-top: 0 !important;
    padding-bottom: 64px !important;
  }

  /* Smoky bottom tray */
  .cf-menu-carousel::before{
    content: "" !important;
    position: absolute !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    height: 50px !important;
    border-radius: 16px !important;
    background:
      linear-gradient(180deg, rgba(255,255,255,.045), rgba(255,255,255,.012)),
      linear-gradient(90deg, rgba(28,20,15,.82), rgba(17,12,9,.64) 52%, rgba(28,20,15,.86)) !important;
    border: 1px solid rgba(255,158,58,.24) !important;
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,.07),
      0 14px 34px rgba(0,0,0,.28) !important;
    pointer-events: none !important;
    z-index: 20 !important;
  }

  /* CTA text inside tray */
  .cf-menu-carousel::after{
    content: "BROWSE THE MENU • CLICK PREV / NEXT" !important;
    position: absolute !important;
    left: 150px !important;
    right: 225px !important;
    bottom: 18px !important;
    color: #f7e8d3 !important;
    font-family: "Roboto Slab", serif !important;
    font-size: 12px !important;
    font-weight: 900 !important;
    line-height: 1 !important;
    letter-spacing: .055em !important;
    text-transform: uppercase !important;
    text-shadow: 0 2px 10px rgba(0,0,0,.58) !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    pointer-events: none !important;
    z-index: 21 !important;
  }

  /* Dots move into tray */
  .cf-menu-carousel .swiper-pagination{
    position: absolute !important;
    left: 18px !important;
    right: auto !important;
    bottom: 16px !important;
    width: auto !important;
    margin-top: 0 !important;
    text-align: left !important;
    z-index: 22 !important;
  }

  /* Buttons move into tray */
  .cf-menu-carousel .elementor-swiper-button,
  .cf-menu-carousel .swiper-button-prev,
  .cf-menu-carousel .swiper-button-next{
    top: auto !important;
    bottom: 5px !important;
    transform: none !important;
    box-shadow:
      0 8px 18px rgba(0,0,0,.36),
      inset 0 1px 0 rgba(255,255,255,.18),
      inset 0 -2px 0 rgba(0,0,0,.14) !important;
  }

  /* PREV = secondary */
  .cf-menu-carousel .swiper-button-prev,
  .cf-menu-carousel .elementor-swiper-button-prev{
    left: auto !important;
    right: 108px !important;
    background: rgba(15,10,7,.72) !important;
    border: 1px solid rgba(255,158,58,.52) !important;
    color: #f7e8d3 !important;
  }

  .cf-menu-carousel .swiper-button-prev::after,
  .cf-menu-carousel .elementor-swiper-button-prev::after{
    color: #f7e8d3 !important;
  }

  /* NEXT = primary */
  .cf-menu-carousel .swiper-button-next,
  .cf-menu-carousel .elementor-swiper-button-next{
    left: auto !important;
    right: 8px !important;
    background: linear-gradient(180deg, #ffb35b 0%, #ff9e3a 100%) !important;
    border: 1px solid rgba(255,235,205,.56) !important;
    color: #1a120c !important;
  }

  .cf-menu-carousel .swiper-button-next::after,
  .cf-menu-carousel .elementor-swiper-button-next::after{
    color: #1a120c !important;
  }

  .cf-menu-carousel .swiper-button-prev:hover,
  .cf-menu-carousel .elementor-swiper-button-prev:hover{
    transform: translateX(-2px) !important;
    background: rgba(25,17,12,.88) !important;
    border-color: rgba(255,174,71,.76) !important;
  }

  .cf-menu-carousel .swiper-button-next:hover,
  .cf-menu-carousel .elementor-swiper-button-next:hover{
    transform: translateX(2px) !important;
    background: linear-gradient(180deg, #ffc173 0%, #ffae47 100%) !important;
    border-color: rgba(255,245,225,.72) !important;
  }
}


/* ---------- Tablet tuning ---------- */

@media (max-width: 1024px) and (min-width: 768px){

  .cf-menu-card-image img,
  .cf-menu-card-image .elementor-image img{
    height: 224px !important;
  }

  .cf-menu-carousel::after{
    content: "CLICK PREV / NEXT TO BROWSE" !important;
    left: 130px !important;
    right: 205px !important;
    font-size: 11px !important;
  }

  .cf-menu-carousel .elementor-swiper-button,
  .cf-menu-carousel .swiper-button-prev,
  .cf-menu-carousel .swiper-button-next{
    width: 80px !important;
    height: 38px !important;
  }

  .cf-menu-carousel .swiper-button-prev,
  .cf-menu-carousel .elementor-swiper-button-prev{
    right: 100px !important;
  }
}


/* ---------- Mobile swipe + arrows ---------- */

@media (max-width: 767px){

  .cf-menu-shell{
    overflow: hidden !important;
  }

  .cf-menu-carousel{
    width: 100% !important;
    max-width: 100% !important;
    overflow: visible !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }

  .cf-menu-carousel::before,
  .cf-menu-carousel::after{
    content: none !important;
    display: none !important;
  }

  .cf-menu-carousel .e-n-carousel,
  .cf-menu-carousel .swiper{
    width: 100% !important;
    max-width: 100% !important;
    overflow: hidden !important;
    touch-action: pan-y !important;
  }

  .cf-menu-carousel .swiper-wrapper{
    overflow: visible !important;
    touch-action: pan-y !important;
    will-change: transform;
  }

  .cf-menu-carousel .swiper-slide{
    width: 100% !important;
    max-width: 100% !important;
    flex-shrink: 0 !important;
  }

  .cf-menu-card{
    width: 100% !important;
    max-width: 100% !important;
    border-radius: 18px;
  }

  .cf-menu-card-image img,
  .cf-menu-card-image .elementor-image img{
    height: 210px !important;
  }

  .cf-menu-carousel .elementor-swiper-button,
  .cf-menu-carousel .swiper-button-prev,
  .cf-menu-carousel .swiper-button-next{
    top: 108px !important;
    bottom: auto !important;
    width: 68px !important;
    height: 38px !important;
    border-radius: 12px !important;
    transform: translateY(-50%) !important;
    background: #f7e8d3 !important;
    border: 2px solid #ff9e3a !important;
    color: #1a120c !important;
    box-shadow:
      0 0 0 3px rgba(12,8,6,.78),
      0 12px 26px rgba(0,0,0,.46),
      inset 0 1px 0 rgba(255,255,255,.5),
      inset 0 -2px 0 rgba(0,0,0,.14) !important;
  }

  .cf-menu-carousel .swiper-button-prev,
  .cf-menu-carousel .elementor-swiper-button-prev{
    left: 10px !important;
    right: auto !important;
  }

  .cf-menu-carousel .swiper-button-next,
  .cf-menu-carousel .elementor-swiper-button-next{
    right: 10px !important;
    left: auto !important;
  }

  .cf-menu-carousel .swiper-button-prev::after,
  .cf-menu-carousel .swiper-button-next::after,
  .cf-menu-carousel .elementor-swiper-button-prev::after,
  .cf-menu-carousel .elementor-swiper-button-next::after{
    font-size: 11px !important;
    color: #1a120c !important;
  }

  .cf-menu-carousel .swiper-pagination{
    position: relative !important;
    left: auto !important;
    right: auto !important;
    bottom: auto !important;
    margin-top: 14px !important;
    text-align: left !important;
  }

  .cf-menu-mobile-button{
    margin-top: 6px !important;
  }
}

.cf-news1-shell,
.cf-news1-shell *{box-sizing:border-box !important;}
.cf-news1-shell{width:100%;max-width:100% !important;overflow-x:clip !important;}
.cf-news1-chip{align-self:center !important;}
.cf-news1-chip .elementor-button{background:rgba(27,20,16,0.72) !important;color:#F7E9D4 !important;border:1px solid rgba(201,121,36,0.52) !important;border-radius:999px !important;padding:8px 14px !important;font-family:"Roboto Slab",serif !important;font-size:14px !important;font-weight:700 !important;line-height:1 !important;}
.cf-news1-title .elementor-heading-title{color:#F5EBDD !important;font-size:64px !important;line-height:1.04 !important;letter-spacing:-.03em !important;text-align:center !important;max-width:980px !important;}
.cf-news1-meta .elementor-icon-list-items{display:inline-flex !important;align-items:center !important;justify-content:center !important;gap:0 !important;}
.cf-news1-meta .elementor-icon-list-item,.cf-news1-meta .elementor-icon-list-text{color:#F0DABF !important;-webkit-text-fill-color:#F0DABF !important;font-size:15px !important;font-weight:600 !important;}
.cf-news1-deck{max-width:860px !important;}
.cf-news1-deck p{margin:0 !important;color:#E7DDCF !important;font-size:20px !important;line-height:1.6 !important;text-align:center !important;}
.cf-news1-hero .elementor-widget-container{width:100% !important;border-radius:28px !important;overflow:hidden !important;border:1px solid rgba(201,121,36,0.22) !important;box-shadow:0 16px 34px rgba(0,0,0,.20) !important;}
.cf-news1-hero img{width:100% !important;height:520px !important;object-fit:cover !important;display:block !important;}
.cf-news1-content-row{align-items:flex-start !important;}
.cf-news1-content,.cf-news1-content p,.cf-news1-content li{color:#E8DDCE !important;font-family:"Roboto Slab",serif !important;font-size:18px !important;line-height:1.78 !important;}
.cf-news1-content p{margin:0 0 20px 0 !important;}
.cf-news1-content h2{color:#F5EBDD !important;font-family:"Roboto Slab",serif !important;font-size:42px !important;font-weight:700 !important;line-height:1.08 !important;letter-spacing:-.02em !important;margin:26px 0 14px 0 !important;}
.cf-news1-content h3{color:#F5EBDD !important;font-family:"Roboto Slab",serif !important;font-size:28px !important;font-weight:700 !important;line-height:1.15 !important;margin:22px 0 12px 0 !important;}
.cf-news1-content blockquote{margin:24px 0 !important;padding:16px 18px !important;border-left:3px solid #D86F1E !important;background:rgba(27,20,16,.46) !important;color:#F1E4D2 !important;border-radius:0 16px 16px 0 !important;}
.cf-news1-card{background:linear-gradient(180deg, rgba(42,18,8,.68) 0%, rgba(18,11,9,.92) 100%) !important;border:1px solid rgba(201,121,36,.20) !important;border-radius:22px !important;box-shadow:0 12px 26px rgba(0,0,0,.14) !important;overflow:hidden !important;padding:20px !important;}
.cf-news1-card-title-small .elementor-heading-title{color:#F7E9D4 !important;font-size:18px !important;line-height:1.2 !important;}
.cf-news1-post-nav-row .elementor-button{min-width:190px !important;}
.cf-news1-post-nav-link .elementor-button{font-family:"Roboto Slab",serif !important;}
.cf-news1-more-news-heading .elementor-heading-title{color:#F5EBDD !important;font-size:42px !important;line-height:1.08 !important;letter-spacing:-.02em !important;}
@media (max-width:1024px){
  .cf-news1-title .elementor-heading-title{font-size:48px !important;}
  .cf-news1-hero img{height:360px !important;}
  .cf-news1-content-row{flex-direction:column !important;}
  .cf-news1-main-col,.cf-news1-sidebar{width:100% !important;max-width:100% !important;flex:none !important;}
}
@media (max-width:767px){
  .cf-news1-shell{padding-top:22px !important;padding-bottom:40px !important;}
  .cf-news1-title .elementor-heading-title{font-size:34px !important;}
  .cf-news1-deck p{font-size:17px !important;}
  .cf-news1-meta .elementor-icon-list-items{flex-wrap:wrap !important;justify-content:center !important;}
  .cf-news1-hero img{height:220px !important;}
  .cf-news1-content,.cf-news1-content p,.cf-news1-content li{font-size:16px !important;line-height:1.72 !important;}
  .cf-news1-content h2{font-size:32px !important;}
  .cf-news1-content h3{font-size:23px !important;}
  .cf-news1-card{padding:18px !important;border-radius:18px !important;}
  .cf-news1-post-nav-row{flex-direction:column !important;}
  .cf-news1-post-nav-row .elementor-button{width:100% !important;}
}

.cf-food1-shell,
.cf-food1-shell *{
  box-sizing:border-box !important;
}

.cf-food1-shell{
  position:relative;
  isolation:isolate;
  width:100%;
  max-width:100% !important;
  overflow-x:clip !important;
}

.cf-food1-shell::before{
  content:"";
  position:absolute;
  inset:0;
  border-radius:30px;
  background:
    linear-gradient(180deg, rgba(8,8,8,.34) 0%, rgba(8,8,8,.16) 30%, rgba(8,8,8,.28) 100%),
    radial-gradient(circle at top center, rgba(229,138,39,.06) 0%, rgba(229,138,39,0) 42%);
  border:1px solid rgba(229,138,39,.10);
  pointer-events:none;
  z-index:-1;
}

.cf-food1-kicker .elementor-heading-title{
  color:#E58A27 !important;
  font-size:18px !important;
  font-weight:700 !important;
  letter-spacing:.08em !important;
  text-transform:uppercase !important;
}

.cf-food1-hero-card,
.cf-food1-support-card,
.cf-food1-quickfacts-card{
  background:
    linear-gradient(180deg, rgba(36,14,6,.72) 0%, rgba(15,10,9,.90) 100%) !important;
  border:1px solid rgba(204,114,29,.18) !important;
  border-radius:26px !important;
  box-shadow:
    0 16px 36px rgba(0,0,0,.18),
    inset 0 1px 0 rgba(255,255,255,.03) !important;
  overflow:hidden !important;
  backdrop-filter:blur(2px);
}

.cf-food1-hero-card{
  padding:14px !important;
}

.cf-food1-hero-image img{
  width:100% !important;
  max-width:100% !important;
  height:420px !important;
  object-fit:cover !important;
  display:block !important;
  border-radius:20px !important;
  border:1px solid rgba(211,116,27,.42) !important;
  box-shadow:0 10px 24px rgba(0,0,0,.22) !important;
}

.cf-food1-caption .elementor-heading-title{
  font-size:13px !important;
  line-height:1.45 !important;
  color:rgba(246,240,232,.62) !important;
  letter-spacing:.01em !important;
}

.cf-food1-title{
  margin-top:2px !important;
  margin-bottom:2px !important;
}

.cf-food1-title .elementor-heading-title{
  color:#F6F0E8 !important;
  font-size:72px !important;
  line-height:1.00 !important;
  letter-spacing:-.03em !important;
  text-wrap:balance;
}

.cf-food1-meta-row{
  display:flex !important;
  flex-direction:column !important;
  align-items:flex-start !important;
  justify-content:flex-start !important;
  gap:12px !important;
  width:100% !important;
}

.cf-food1-meta p{
  margin:0 !important;
  display:flex !important;
  flex-wrap:wrap !important;
  gap:10px !important;
  width:100% !important;
}

.cf-food1-pill{
  display:inline-flex !important;
  align-items:center !important;
  min-height:40px !important;
  padding:8px 14px !important;
  border-radius:999px !important;
  border:1px solid rgba(229,138,39,.18) !important;
  background:rgba(22,14,11,.62) !important;
  color:#F4ECE1 !important;
  font-size:15px !important;
  line-height:1.2 !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.03) !important;
}

.cf-food1-pill strong{
  color:#F8F0E7 !important;
}

.cf-food1-pill-muted{
  color:rgba(244,236,225,.78) !important;
}

.cf-food1-intro,
.cf-food1-copy,
.cf-food1-body2{
  width:100% !important;
  max-width:100% !important;
  flex:0 0 100% !important;
}

.cf-food1-intro .elementor-widget-container,
.cf-food1-copy .elementor-widget-container,
.cf-food1-body2 .elementor-widget-container{
  width:100% !important;
  max-width:100% !important;
}

.cf-food1-intro p{
  margin:0 !important;
  width:100% !important;
  max-width:100% !important;
  color:#F4ECE1 !important;
  font-size:20px !important;
  font-weight:600 !important;
  line-height:1.65 !important;
  text-wrap:pretty;
}

.cf-food1-copy,
.cf-food1-body2{
  max-width:100% !important;
}

.cf-food1-copy p,
.cf-food1-body2 p,
.cf-food1-card-copy p{
  margin:0 0 18px 0 !important;
  width:100% !important;
  max-width:100% !important;
  color:#F0E7DA !important;
  font-size:17px !important;
  line-height:1.72 !important;
  text-wrap:pretty;
}

.cf-food1-copy p:last-child,
.cf-food1-body2 p:last-child,
.cf-food1-card-copy p:last-child{
  margin-bottom:0 !important;
}

.cf-food1-subhead{
  margin-top:22px !important;
  margin-bottom:10px !important;
  padding-top:10px !important;
  border-top:1px solid rgba(229,138,39,.10);
}

.cf-food1-subhead .elementor-heading-title{
  color:#F6F0E8 !important;
  font-size:56px !important;
  line-height:1.02 !important;
  letter-spacing:-.03em !important;
  text-wrap:balance;
}

.cf-food1-card-title .elementor-heading-title{
  color:#F7EFE4 !important;
  font-size:30px !important;
  line-height:1.08 !important;
}

.cf-food1-quickfacts-card,
.cf-food1-support-card{
  padding-top:20px !important;
  padding-right:24px !important;
  padding-bottom:20px !important;
  padding-left:24px !important;
}

.cf-food1-facts-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:12px;
}

.cf-food1-fact{
  display:flex;
  flex-direction:column;
  gap:5px;
  min-height:72px;
  padding:12px 14px;
  border-radius:18px;
  background:rgba(0,0,0,.16);
  border:1px solid rgba(229,138,39,.10);
}

.cf-food1-fact-label{
  color:#E58A27;
  font-family:"Roboto Slab", serif;
  font-size:11px;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.cf-food1-fact-value{
  color:#F5EDE2;
  font-family:"Roboto Slab", serif;
  font-size:14px;
  line-height:1.35;
}

.cf-food1-bottom-row{
  gap:22px !important;
  align-items:stretch !important;
}

.cf-food1-support-card-cta{
  background:
    linear-gradient(180deg, rgba(54,18,6,.78) 0%, rgba(20,10,8,.94) 100%) !important;
  border-color:rgba(229,138,39,.24) !important;
  box-shadow:
    0 18px 38px rgba(0,0,0,.20),
    inset 0 1px 0 rgba(255,255,255,.04) !important;
}

.cf-food1-card-badge{
  display:inline-flex;
  align-items:center;
  min-height:28px;
  padding:6px 10px;
  margin:0 0 10px 0;
  border-radius:999px;
  background:rgba(229,138,39,.12);
  border:1px solid rgba(229,138,39,.24);
  color:#F1B26F;
  font-family:"Roboto Slab", serif;
  font-size:11px;
  font-weight:700;
  letter-spacing:.10em;
  text-transform:uppercase;
}


.cf-food1-cta-top{
  width:auto !important;
  max-width:100% !important;
  align-self:flex-start !important;
}

.cf-food1-cta-top .elementor-button{
  min-height:48px !important;
}

.cf-food1-cta .elementor-button{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:8px !important;
  background:#D86F1E !important;
  border:1px solid #D86F1E !important;
  color:#F7E8D3 !important;
  border-radius:14px !important;
  font-family:"Roboto Slab", serif !important;
  font-size:16px !important;
  font-weight:700 !important;
  line-height:1 !important;
  padding:14px 24px !important;
  box-shadow:
    0 10px 20px rgba(0,0,0,.18),
    inset 0 1px 0 rgba(255,255,255,.06) !important;
  text-decoration:none !important;
}

.cf-food1-cta .elementor-button:hover,
.cf-food1-cta .elementor-button:focus{
  background:#E27B28 !important;
  border-color:#E27B28 !important;
  color:#FFF4E6 !important;
  transform:translateY(-1px);
}

.cf-food1-cta .elementor-button:focus-visible{
  outline:2px solid rgba(255,244,230,.88) !important;
  outline-offset:2px !important;
}

@media (max-width: 1024px){
  .cf-food1-title .elementor-heading-title{
    font-size:56px !important;
  }

  .cf-food1-hero-image img{
    height:340px !important;
  }

  .cf-food1-meta-row,
  .cf-food1-bottom-row{
    flex-direction:column !important;
    align-items:stretch !important;
  }

  .cf-food1-support-card,
  .cf-food1-quickfacts-card{
    width:100% !important;
    max-width:100% !important;
    flex:none !important;
  }

  .cf-food1-facts-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 767px){
  .cf-food1-shell{
    padding-top:20px !important;
    padding-bottom:44px !important;
  }

  .cf-food1-shell::before{
    border-radius:24px;
  }

  .cf-food1-kicker .elementor-heading-title{
    font-size:14px !important;
  }

  .cf-food1-hero-card{
    padding:10px !important;
    border-radius:22px !important;
  }

  .cf-food1-hero-image img{
    height:240px !important;
    border-radius:16px !important;
  }

  .cf-food1-title .elementor-heading-title{
    font-size:38px !important;
    line-height:1.04 !important;
  }

  .cf-food1-pill{
    min-height:36px !important;
    padding:7px 12px !important;
    font-size:14px !important;
  }

  .cf-food1-intro p{
    font-size:18px !important;
    line-height:1.58 !important;
  }

  .cf-food1-copy p,
  .cf-food1-body2 p,
  .cf-food1-card-copy p{
    font-size:16px !important;
    line-height:1.68 !important;
  }

  .cf-food1-subhead .elementor-heading-title{
    font-size:38px !important;
    line-height:1.06 !important;
  }

  .cf-food1-card-title .elementor-heading-title{
    font-size:26px !important;
  }

  .cf-food1-quickfacts-card,
  .cf-food1-support-card{
    padding-top:20px !important;
    padding-right:18px !important;
    padding-bottom:20px !important;
    padding-left:18px !important;
    border-radius:22px !important;
  }

  .cf-food1-facts-grid{
    grid-template-columns:1fr;
    gap:10px;
  }

  .cf-food1-fact{
    min-height:0;
    padding:12px 14px;
    border-radius:16px;
  }

  .cf-food1-cta .elementor-button{
    width:100% !important;
    min-height:50px !important;
  }
}

.cf-news-carousel-section,
.cf-news-carousel-section *,
.cf-news-carousel,
.cf-news-carousel * {
  font-family: "Roboto Slab", Georgia, serif !important;
}

.cf-news-carousel-section {
  background: transparent !important;
  max-width: 100% !important;
  overflow-x: clip !important;
}

/* ---------------------------
   Header
   --------------------------- */

.cf-news-carousel__intro.cf-news-carousel__intro--compact {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 20px !important;
  margin-bottom: 22px !important;
}

.cf-news-carousel__eyebrow--hidden,
.cf-news-carousel__subtext--hidden {
  display: none !important;
}

.cf-news-carousel__heading--compact .elementor-heading-title {
  margin: 0 !important;
  color: #f7e8d3 !important;
  font-size: clamp(34px, 3.8vw, 54px) !important;
  font-weight: 800 !important;
  line-height: 1.05 !important;
  letter-spacing: -0.02em !important;
  text-shadow: 0 2px 10px rgba(0,0,0,.22) !important;
}

.cf-news-carousel__button--top .elementor-button {
  background: #f29a2e !important;
  color: #1a120c !important;
  border: 1px solid #c96f11 !important;
  border-radius: 12px !important;
  padding: 12px 20px !important;
  box-shadow: 0 10px 24px rgba(0,0,0,.16) !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  transition: background .2s ease, transform .2s ease !important;
}

.cf-news-carousel__button--top .elementor-button:hover,
.cf-news-carousel__button--top .elementor-button:focus-visible {
  background: #ffae47 !important;
  color: #1a120c !important;
  transform: translateY(-1px) !important;
  outline: none !important;
}

/* ---------------------------
   Six-up desktop rail
   --------------------------- */

.cf-news-carousel.cf-news-carousel--six-rail {
  width: 100% !important;
}

.cf-news-carousel.cf-news-carousel--six-rail .elementor-grid,
.cf-news-carousel.cf-news-carousel--six-rail .e-loop-container {
  display: grid !important;
  grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
  gap: 16px !important;
  align-items: stretch !important;
}

.cf-news-carousel .e-loop-item,
.cf-news-carousel article,
.cf-news-carousel .e-con {
  min-width: 0 !important;
  height: 100% !important;
}

/* ---------------------------
   Compact card
   --------------------------- */

.cf-news-carousel .e-loop-item > .elementor,
.cf-news-carousel .e-loop-item > .e-con,
.cf-news-carousel article.e-loop-item > .elementor,
.cf-news-carousel article.e-loop-item > .e-con,
.cf-news-card {
  position: relative !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
  min-height: 100% !important;
  padding: 13px !important;
  border-radius: 18px !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,.05) 0%, rgba(255,255,255,.015) 100%),
    linear-gradient(180deg, rgba(39,25,18,.72) 0%, rgba(16,11,8,.90) 100%) !important;
  border: 1px solid rgba(255,255,255,.08) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.04), 0 12px 26px rgba(0,0,0,.22) !important;
  overflow: hidden !important;
}

.cf-news-card:hover,
.cf-news-carousel .e-loop-item > .elementor:hover,
.cf-news-carousel .e-loop-item > .e-con:hover {
  transform: translateY(-2px);
  border-color: rgba(242,154,46,.22) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.05), 0 16px 32px rgba(0,0,0,.26) !important;
  transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease;
}

/* ---------------------------
   Image
   --------------------------- */

.cf-news-card__media,
.cf-news-carousel .elementor-widget-theme-post-featured-image,
.cf-news-carousel .elementor-widget-image {
  margin: 0 0 4px 0 !important;
  width: 100% !important;
}

.cf-news-card__media img,
.cf-news-card__media .elementor-image img,
.cf-news-carousel .elementor-widget-theme-post-featured-image img,
.cf-news-carousel .elementor-widget-image img {
  display: block !important;
  width: 100% !important;
  height: 124px !important;
  object-fit: cover !important;
  border-radius: 11px !important;
  border: 1px solid rgba(255,255,255,.07) !important;
}

/* ---------------------------
   Hide category clutter only
   --------------------------- */

.cf-news-card__category,
.cf-news-carousel .elementor-post-info__terms-list,
.cf-news-carousel .elementor-post-info__terms-list-item {
  display: none !important;
}

/* ---------------------------
   Title / date / summary / CTA
   --------------------------- */

.cf-news-card__title .elementor-heading-title,
.cf-news-card__title .elementor-heading-title a,
.cf-news-carousel .elementor-widget-theme-post-title .elementor-heading-title,
.cf-news-carousel .elementor-widget-theme-post-title .elementor-heading-title a {
  margin: 0 !important;
  color: #f7e8d3 !important;
  font-size: clamp(17px, 1.05vw, 20px) !important;
  font-weight: 800 !important;
  line-height: 1.08 !important;
  text-decoration: none !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
  min-height: 2.15em !important;
}

.cf-news-card__date,
.cf-news-card__date .elementor-heading-title,
.cf-news-carousel .elementor-post-info__item,
.cf-news-carousel .elementor-post-info__item span {
  color: #cbb6a1 !important;
  font-size: 11px !important;
  font-weight: 500 !important;
  line-height: 1.25 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
}

/* Summary restored */
.cf-news-card__excerpt,
.cf-news-carousel .elementor-widget-theme-post-excerpt,
.cf-news-carousel .elementor-widget-text-editor {
  display: block !important;
  opacity: 1 !important;
  visibility: visible !important;
}

.cf-news-card__excerpt p,
.cf-news-carousel .elementor-widget-theme-post-excerpt p,
.cf-news-carousel .elementor-widget-text-editor p {
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
  margin: 2px 0 0 0 !important;
  color: #d8c7b2 !important;
  font-size: 12.5px !important;
  font-weight: 400 !important;
  line-height: 1.42 !important;
}

.cf-news-card__link,
.cf-news-carousel .elementor-widget-button {
  margin-top: auto !important;
  padding-top: 8px !important;
}

.cf-news-card__link .elementor-button,
.cf-news-card__link a.elementor-button,
.cf-news-carousel .elementor-widget-button .elementor-button,
.cf-news-carousel a.elementor-button {
  justify-content: flex-start !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  width: fit-content !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  color: #f29a2e !important;
  box-shadow: none !important;
  font-size: 13px !important;
  font-style: italic !important;
  font-weight: 700 !important;
  letter-spacing: 0.16em !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
}

.cf-news-card__link .elementor-button:hover,
.cf-news-carousel .elementor-widget-button .elementor-button:hover {
  color: #ffae47 !important;
  transform: translateX(2px) !important;
}

.cf-news-card__link .elementor-button::after,
.cf-news-carousel .elementor-widget-button .elementor-button::after {
  content: "→" !important;
  display: inline-block !important;
  margin-left: 2px !important;
  font-size: 14px !important;
  line-height: 1 !important;
}

/* ---------------------------
   Responsive
   --------------------------- */

@media (max-width: 1500px) {
  .cf-news-carousel.cf-news-carousel--six-rail .elementor-grid,
  .cf-news-carousel.cf-news-carousel--six-rail .e-loop-container {
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
    gap: 16px !important;
  }
}

@media (max-width: 1220px) {
  .cf-news-carousel.cf-news-carousel--six-rail .elementor-grid,
  .cf-news-carousel.cf-news-carousel--six-rail .e-loop-container {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 18px !important;
  }

  .cf-news-card__media img,
  .cf-news-card__media .elementor-image img,
  .cf-news-carousel .elementor-widget-theme-post-featured-image img,
  .cf-news-carousel .elementor-widget-image img {
    height: 155px !important;
  }

  .cf-news-card__excerpt p,
  .cf-news-carousel .elementor-widget-theme-post-excerpt p,
  .cf-news-carousel .elementor-widget-text-editor p {
    font-size: 14px !important;
    line-height: 1.5 !important;
  }
}

@media (max-width: 767px) {
  .cf-news-carousel__intro.cf-news-carousel__intro--compact {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 12px !important;
    margin-bottom: 18px !important;
  }

  .cf-news-carousel.cf-news-carousel--six-rail .elementor-grid,
  .cf-news-carousel.cf-news-carousel--six-rail .e-loop-container {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }

  .cf-news-carousel .e-loop-item > .elementor,
  .cf-news-carousel .e-loop-item > .e-con,
  .cf-news-carousel article.e-loop-item > .elementor,
  .cf-news-carousel article.e-loop-item > .e-con,
  .cf-news-card {
    padding: 14px !important;
    border-radius: 18px !important;
  }

  .cf-news-card__media img,
  .cf-news-card__media .elementor-image img,
  .cf-news-carousel .elementor-widget-theme-post-featured-image img,
  .cf-news-carousel .elementor-widget-image img {
    height: 190px !important;
  }

  .cf-news-card__title .elementor-heading-title,
  .cf-news-card__title .elementor-heading-title a,
  .cf-news-carousel .elementor-widget-theme-post-title .elementor-heading-title,
  .cf-news-carousel .elementor-widget-theme-post-title .elementor-heading-title a {
    font-size: 20px !important;
  }

  .cf-news-card__excerpt p,
  .cf-news-carousel .elementor-widget-theme-post-excerpt p,
  .cf-news-carousel .elementor-widget-text-editor p {
    font-size: 14px !important;
    -webkit-line-clamp: 3 !important;
  }

  .cf-news-card__link .elementor-button,
  .cf-news-carousel .elementor-widget-button .elementor-button {
    font-size: 15px !important;
  }
}


/* ==================================================
   v3.9 HOTFIX — Excerpt / Summary Contrast Repair
   Additive fix for cf_news_loop_grid_section.
   Purpose:
   - Fix excerpt/summary text being too dark/invisible.
   - Keep 6-up compact rail.
   - Keep cf-news-carousel / cf-news-card naming.
   ================================================== */

/* Force all excerpt/summary wrappers visible */
.cf-news-carousel .cf-news-card__excerpt,
.cf-news-carousel .cf-news-card__excerpt *,
.cf-news-carousel .elementor-widget-theme-post-excerpt,
.cf-news-carousel .elementor-widget-theme-post-excerpt *,
.cf-news-carousel .elementor-widget-text-editor,
.cf-news-carousel .elementor-widget-text-editor *,
.cf-news-carousel .elementor-post__excerpt,
.cf-news-carousel .elementor-post__excerpt * {
  opacity: 1 !important;
  visibility: visible !important;
  filter: none !important;
  mix-blend-mode: normal !important;
  text-shadow: none !important;
}

/* Main excerpt text color repair */
.cf-news-card__excerpt,
.cf-news-card__excerpt .elementor-widget-container,
.cf-news-card__excerpt p,
.cf-news-carousel .elementor-widget-theme-post-excerpt,
.cf-news-carousel .elementor-widget-theme-post-excerpt .elementor-widget-container,
.cf-news-carousel .elementor-widget-theme-post-excerpt p,
.cf-news-carousel .elementor-widget-text-editor,
.cf-news-carousel .elementor-widget-text-editor .elementor-widget-container,
.cf-news-carousel .elementor-widget-text-editor p,
.cf-news-carousel .elementor-post__excerpt,
.cf-news-carousel .elementor-post__excerpt p {
  color: #e4d2bd !important;
  -webkit-text-fill-color: #e4d2bd !important;
  font-size: 12.75px !important;
  font-weight: 500 !important;
  line-height: 1.45 !important;
}

/* Clamp, spacing, and minimum readable area */
.cf-news-card__excerpt p,
.cf-news-carousel .elementor-widget-theme-post-excerpt p,
.cf-news-carousel .elementor-widget-text-editor p,
.cf-news-carousel .elementor-post__excerpt p {
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
  margin: 4px 0 0 0 !important;
  min-height: 2.9em !important;
}

/* If Elementor outputs excerpt text without a paragraph */
.cf-news-card__excerpt .elementor-widget-container,
.cf-news-carousel .elementor-widget-theme-post-excerpt .elementor-widget-container,
.cf-news-carousel .elementor-widget-text-editor .elementor-widget-container {
  color: #e4d2bd !important;
  -webkit-text-fill-color: #e4d2bd !important;
}

/* Links inside excerpts should never disappear */
.cf-news-card__excerpt a,
.cf-news-carousel .elementor-widget-theme-post-excerpt a,
.cf-news-carousel .elementor-widget-text-editor a,
.cf-news-carousel .elementor-post__excerpt a {
  color: #ffb24f !important;
  -webkit-text-fill-color: #ffb24f !important;
  text-decoration: underline !important;
  text-decoration-thickness: 1px !important;
  text-underline-offset: 3px !important;
}

/* Slightly improve date contrast without making it scream */
.cf-news-card__date,
.cf-news-card__date .elementor-heading-title,
.cf-news-carousel .elementor-post-info__item,
.cf-news-carousel .elementor-post-info__item span {
  color: #d3bea8 !important;
  -webkit-text-fill-color: #d3bea8 !important;
}

/* Keep the card readable even with dark images/backgrounds */
.cf-news-card,
.cf-news-carousel .e-loop-item > .elementor,
.cf-news-carousel .e-loop-item > .e-con,
.cf-news-carousel article.e-loop-item > .elementor,
.cf-news-carousel article.e-loop-item > .e-con {
  background:
    linear-gradient(180deg, rgba(255,255,255,.055) 0%, rgba(255,255,255,.018) 100%),
    linear-gradient(180deg, rgba(42,28,20,.76) 0%, rgba(16,11,8,.93) 100%) !important;
}

/* Tablet/mobile summary readability */
@media (max-width: 1220px) {
  .cf-news-card__excerpt,
  .cf-news-card__excerpt p,
  .cf-news-carousel .elementor-widget-theme-post-excerpt,
  .cf-news-carousel .elementor-widget-theme-post-excerpt p,
  .cf-news-carousel .elementor-widget-text-editor,
  .cf-news-carousel .elementor-widget-text-editor p,
  .cf-news-carousel .elementor-post__excerpt,
  .cf-news-carousel .elementor-post__excerpt p {
    color: #ead8c3 !important;
    -webkit-text-fill-color: #ead8c3 !important;
    font-size: 14px !important;
    line-height: 1.5 !important;
  }
}

@media (max-width: 767px) {
  .cf-news-card__excerpt p,
  .cf-news-carousel .elementor-widget-theme-post-excerpt p,
  .cf-news-carousel .elementor-widget-text-editor p,
  .cf-news-carousel .elementor-post__excerpt p {
    -webkit-line-clamp: 3 !important;
    min-height: 0 !important;
  }
}


/* ==================================================
   v4.0 HOTFIX — Mobile Read More Visibility Repair
   Purpose:
   - Fix mobile cards hiding / clipping the Read More CTA.
   - Keep desktop 6-up layout.
   - Keep existing v3.9 excerpt contrast fix.
   ================================================== */

/* Make sure card content can stack correctly and CTA is not clipped */
.cf-news-carousel .e-loop-item > .elementor,
.cf-news-carousel .e-loop-item > .e-con,
.cf-news-carousel article.e-loop-item > .elementor,
.cf-news-carousel article.e-loop-item > .e-con,
.cf-news-card {
  display: flex !important;
  flex-direction: column !important;
  min-height: 100% !important;
}

/* Read More wrapper must remain visible */
.cf-news-card__link,
.cf-news-carousel .elementor-widget-button,
.cf-news-carousel .cf-news-card__link {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  overflow: visible !important;
  position: relative !important;
  z-index: 3 !important;
}

/* Read More button text/icon must remain visible */
.cf-news-card__link .elementor-button,
.cf-news-card__link a.elementor-button,
.cf-news-carousel .elementor-widget-button .elementor-button,
.cf-news-carousel a.elementor-button,
.cf-news-carousel .elementor-button-text,
.cf-news-carousel .elementor-button-icon,
.cf-news-carousel .elementor-button-content-wrapper {
  display: inline-flex !important;
  visibility: visible !important;
  opacity: 1 !important;
  color: #f29a2e !important;
  -webkit-text-fill-color: #f29a2e !important;
  overflow: visible !important;
}

/* Mobile-specific fix: do not let read-more get pushed below clipped card */
@media (max-width: 767px) {
  .cf-news-carousel .e-loop-item > .elementor,
  .cf-news-carousel .e-loop-item > .e-con,
  .cf-news-carousel article.e-loop-item > .elementor,
  .cf-news-carousel article.e-loop-item > .e-con,
  .cf-news-card {
    min-height: auto !important;
    height: auto !important;
    overflow: visible !important;
    padding-bottom: 18px !important;
  }

  .cf-news-card__link,
  .cf-news-carousel .elementor-widget-button {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    margin-top: 10px !important;
    padding-top: 8px !important;
    min-height: 24px !important;
    flex: 0 0 auto !important;
    align-self: flex-start !important;
    width: 100% !important;
  }

  .cf-news-card__link .elementor-button,
  .cf-news-card__link a.elementor-button,
  .cf-news-carousel .elementor-widget-button .elementor-button,
  .cf-news-carousel a.elementor-button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    width: auto !important;
    min-width: 0 !important;
    min-height: 24px !important;
    padding: 0 !important;
    margin: 0 !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    color: #f29a2e !important;
    -webkit-text-fill-color: #f29a2e !important;
    font-size: 15px !important;
    font-style: italic !important;
    font-weight: 800 !important;
    letter-spacing: .16em !important;
    line-height: 1.2 !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
    opacity: 1 !important;
    visibility: visible !important;
  }

  .cf-news-carousel .elementor-button-text,
  .cf-news-carousel .elementor-button-icon,
  .cf-news-carousel .elementor-button-content-wrapper {
    display: inline-flex !important;
    opacity: 1 !important;
    visibility: visible !important;
    color: #f29a2e !important;
    -webkit-text-fill-color: #f29a2e !important;
  }

  .cf-news-card__link .elementor-button::after,
  .cf-news-carousel .elementor-widget-button .elementor-button::after {
    content: "→" !important;
    display: inline-block !important;
    margin-left: 6px !important;
    color: #f29a2e !important;
    -webkit-text-fill-color: #f29a2e !important;
    font-size: 16px !important;
    line-height: 1 !important;
  }

  .cf-news-card__link .elementor-button:hover,
  .cf-news-carousel .elementor-widget-button .elementor-button:hover {
    color: #ffae47 !important;
    -webkit-text-fill-color: #ffae47 !important;
  }

  .cf-news-card__excerpt,
  .cf-news-carousel .elementor-widget-theme-post-excerpt,
  .cf-news-carousel .elementor-widget-text-editor,
  .cf-news-carousel .elementor-post__excerpt {
    margin-bottom: 0 !important;
  }
}

.cf-blog01-shell,
.cf-blog01-shell * {
  box-sizing: border-box;
}

.cf-blog01-shell {
  --cf-blog-cream: #f7e8d3;
  --cf-blog-muted: #d8c6b0;
  --cf-blog-soft: #b89f85;
  --cf-blog-orange: #f29a2e;
  --cf-blog-orange-hover: #ffb24f;
  --cf-blog-border: rgba(247, 232, 211, 0.12);
  --cf-blog-line: rgba(247, 232, 211, 0.10);
  color: var(--cf-blog-muted);
}

/* ==================================================
   REMOVED SECTIONS / OLD IMPORT SAFETY
   ================================================== */

.cf-blog01-intro-card,
.cf-blog01-latest-news,
.cf-blog01-latest-news__head,
.cf-blog01-latest-news__grid,
.cf-blog01-back-link,
.cf-blog01-back-text-link,
.cf-blog01-link-text-repair,
.cf-blog01-shell .cf-blog01-meta,
.cf-blog01-shell .elementor-author-box,
.cf-blog01-shell .elementor-widget-author-box,
.cf-blog01-author,
.cf-blog01-nav,
.cf-blog01-shell .elementor-post-navigation,
.cf-blog01-shell .elementor-widget-post-navigation {
  display: none !important;
}

/* Extra cleanup for older imports where Back to News was the first widget in the main column. */
.cf-blog01-main-column > .elementor-widget-html.cf-blog01-back-link,
.cf-blog01-main-column > .elementor-widget-button.cf-blog01-back-link,
.cf-blog01-main-column > .cf-blog01-back-link {
  display: none !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
}

/* ==================================================
   FEATURED IMAGE HERO
   Active: keeps the post featured image.
   Removed: old overlay/title card.
   ================================================== */

.cf-blog01-hero {
  position: relative;
  overflow: hidden;
  width: 100%;
}

.cf-blog01-hero::before,
.cf-blog01-hero::after {
  content: none !important;
  display: none !important;
}

.cf-blog01-hero-image img {
  display: block !important;
  width: 100% !important;
  height: 420px !important;
  object-fit: cover !important;
  object-position: center center !important;
}

@media (max-width: 1024px) {
  .cf-blog01-hero-image img {
    height: 320px !important;
  }
}

@media (max-width: 767px) {
  .cf-blog01-hero-image img {
    height: 220px !important;
  }
}

/* ==================================================
   MAIN ARTICLE LAYOUT / SPACING
   ================================================== */

.cf-blog01-body-wrap {
  position: relative;
  padding-top: 56px !important;
  padding-bottom: 120px !important;
}

.cf-blog01-main-column {
  position: relative;
  min-width: 0;
}

/* No decorative line here. Previous versions could read like the stray dash. */
.cf-blog01-main-column::before,
.cf-blog01-main-column::after,
.cf-blog01-body-wrap::before,
.cf-blog01-body-wrap::after {
  content: none !important;
  display: none !important;
}

/* ==================================================
   SIMPLE POST HEADER
   Category = clickable category archive.
   Title = linked current post.
   Date/time = static.
   ================================================== */

.cf-blog01-post-header {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 8px !important;
  margin: 0 0 2px 0 !important;
  padding: 0 !important;
}

.cf-blog01-post-header .elementor-widget {
  margin-bottom: 0 !important;
}

/* Category line */
.cf-blog01-post-category,
.cf-blog01-post-category .elementor-widget-container,
.cf-blog01-post-category ul,
.cf-blog01-post-category li,
.cf-blog01-post-category span,
.cf-blog01-post-category a {
  display: inline-flex !important;
  align-items: center !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
  line-height: 1.2 !important;
  white-space: normal !important;
}

.cf-blog01-post-category .elementor-icon-list-icon,
.cf-blog01-post-category .elementor-post-info__item-prefix,
.cf-blog01-post-category i,
.cf-blog01-post-category svg {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  width: 0 !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

.cf-blog01-post-category a,
.cf-blog01-post-category a:link,
.cf-blog01-post-category a:visited,
.cf-blog01-post-category .elementor-icon-list-text,
.cf-blog01-post-category .elementor-post-info__terms-list,
.cf-blog01-post-category .elementor-post-info__terms-list-item {
  color: var(--cf-blog-orange) !important;
  -webkit-text-fill-color: var(--cf-blog-orange) !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  letter-spacing: .075em !important;
  line-height: 1.2 !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  background: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
  opacity: 1 !important;
  visibility: visible !important;
  text-indent: 0 !important;
}

.cf-blog01-post-category a:hover,
.cf-blog01-post-category a:focus {
  color: var(--cf-blog-orange-hover) !important;
  -webkit-text-fill-color: var(--cf-blog-orange-hover) !important;
  text-decoration: underline !important;
  text-underline-offset: 4px !important;
}

/* Title line: layout only. H1 visual typography stays with Elementor/global styles. */
.cf-blog01-post-title,
.cf-blog01-post-title .elementor-widget-container {
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

.cf-blog01-post-title .elementor-heading-title {
  margin: 0 !important;
  padding: 0 !important;
}

.cf-blog01-post-title .elementor-heading-title a,
.cf-blog01-post-title .elementor-heading-title a:link,
.cf-blog01-post-title .elementor-heading-title a:visited {
  display: inline !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  height: auto !important;
  opacity: 1 !important;
  visibility: visible !important;
  color: inherit !important;
  -webkit-text-fill-color: currentColor !important;
  text-indent: 0 !important;
  text-decoration: none !important;
  background: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
  clip: auto !important;
  clip-path: none !important;
  transform: none !important;
  filter: none !important;
  mix-blend-mode: normal !important;
  pointer-events: auto !important;
  cursor: pointer !important;
}

.cf-blog01-post-title .elementor-heading-title a:hover,
.cf-blog01-post-title .elementor-heading-title a:focus {
  color: var(--cf-blog-orange-hover) !important;
  -webkit-text-fill-color: var(--cf-blog-orange-hover) !important;
  text-decoration: none !important;
}

/* Date line */
.cf-blog01-post-date,
.cf-blog01-post-date .elementor-widget-container,
.cf-blog01-post-date ul,
.cf-blog01-post-date li,
.cf-blog01-post-date span,
.cf-blog01-post-date time,
.cf-blog01-post-date a {
  display: inline-flex !important;
  align-items: center !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
  line-height: 1.35 !important;
  white-space: normal !important;
  pointer-events: none !important;
  cursor: default !important;
}

.cf-blog01-post-date .elementor-widget-container::before {
  content: "on " !important;
  display: inline !important;
  color: var(--cf-blog-muted) !important;
  -webkit-text-fill-color: var(--cf-blog-muted) !important;
  margin-right: 4px !important;
}

.cf-blog01-post-date .elementor-icon-list-icon,
.cf-blog01-post-date .elementor-post-info__item-prefix,
.cf-blog01-post-date i,
.cf-blog01-post-date svg {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  width: 0 !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

.cf-blog01-post-date,
.cf-blog01-post-date *,
.cf-blog01-post-date a,
.cf-blog01-post-date a:link,
.cf-blog01-post-date a:visited {
  color: var(--cf-blog-muted) !important;
  -webkit-text-fill-color: var(--cf-blog-muted) !important;
  font-size: 15px !important;
  font-weight: 400 !important;
  line-height: 1.35 !important;
  text-decoration: none !important;
  background: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
  opacity: 1 !important;
  visibility: visible !important;
  text-indent: 0 !important;
}

/* Header no-dash repair */
.cf-blog01-post-header a::before,
.cf-blog01-post-header a::after,
.cf-blog01-post-header a *::before,
.cf-blog01-post-header a *::after {
  content: none !important;
  display: none !important;
  width: 0 !important;
  height: 0 !important;
  opacity: 0 !important;
  visibility: hidden !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* ==================================================
   POST CONTENT
   Paragraph/list readability only. H1-H6 are left to Elementor Global Styles.
   ================================================== */

.cf-blog01-content {
  position: relative;
  padding-top: 0 !important;
}

.cf-blog01-content p,
.cf-blog01-content li {
  color: var(--cf-blog-muted) !important;
  font-size: 18px !important;
  line-height: 1.84 !important;
}

.cf-blog01-content p {
  margin: 0 0 1.35em !important;
}

.cf-blog01-content > *:first-child {
  margin-top: 0 !important;
}

.cf-blog01-content ul,
.cf-blog01-content ol,
.cf-blog01-shell .elementor-widget-theme-post-content ul,
.cf-blog01-shell .elementor-widget-theme-post-content ol {
  margin: 0 0 1.35em 1em !important;
  padding-left: 1.15em !important;
}

.cf-blog01-content li,
.cf-blog01-shell .elementor-widget-theme-post-content li {
  margin-bottom: .45em !important;
}

.cf-blog01-content li::marker,
.cf-blog01-shell .elementor-widget-theme-post-content li::marker {
  color: var(--cf-blog-orange) !important;
}

/* ==================================================
   POST-CONTENT LINK REPAIR
   Uses the stable v2.18/v2.27 pattern, minus font references.
   Scope: article content only.
   ================================================== */

.cf-blog01-shell .cf-blog01-content a:not(.elementor-button),
.cf-blog01-shell .cf-blog01-content a:not(.elementor-button):link,
.cf-blog01-shell .cf-blog01-content a:not(.elementor-button):visited,
.cf-blog01-shell .cf-blog01-content a:not(.elementor-button):hover,
.cf-blog01-shell .cf-blog01-content a:not(.elementor-button):focus,
.cf-blog01-shell .elementor-widget-theme-post-content a:not(.elementor-button),
.cf-blog01-shell .elementor-widget-theme-post-content a:not(.elementor-button):link,
.cf-blog01-shell .elementor-widget-theme-post-content a:not(.elementor-button):visited,
.cf-blog01-shell .elementor-widget-theme-post-content a:not(.elementor-button):hover,
.cf-blog01-shell .elementor-widget-theme-post-content a:not(.elementor-button):focus,
.cf-blog01-shell .entry-content a:not(.elementor-button),
.cf-blog01-shell .entry-content a:not(.elementor-button):link,
.cf-blog01-shell .entry-content a:not(.elementor-button):visited,
.cf-blog01-shell .entry-content a:not(.elementor-button):hover,
.cf-blog01-shell .entry-content a:not(.elementor-button):focus {
  display: inline !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  overflow: visible !important;
  opacity: 1 !important;
  visibility: visible !important;
  color: var(--cf-blog-orange) !important;
  -webkit-text-fill-color: var(--cf-blog-orange) !important;
  text-indent: 0 !important;
  font-size: inherit !important;
  font-style: inherit !important;
  font-weight: 700 !important;
  line-height: inherit !important;
  letter-spacing: inherit !important;
  text-decoration-line: underline !important;
  text-decoration-color: rgba(242,154,46,.86) !important;
  text-decoration-thickness: 1px !important;
  text-underline-offset: 4px !important;
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
  text-shadow: none !important;
  clip: auto !important;
  clip-path: none !important;
  -webkit-background-clip: border-box !important;
  background-clip: border-box !important;
  transform: none !important;
  filter: none !important;
  mix-blend-mode: normal !important;
  pointer-events: auto !important;
  cursor: pointer !important;
  white-space: normal !important;
}

.cf-blog01-shell .cf-blog01-content a:not(.elementor-button):hover,
.cf-blog01-shell .cf-blog01-content a:not(.elementor-button):focus,
.cf-blog01-shell .elementor-widget-theme-post-content a:not(.elementor-button):hover,
.cf-blog01-shell .elementor-widget-theme-post-content a:not(.elementor-button):focus,
.cf-blog01-shell .entry-content a:not(.elementor-button):hover,
.cf-blog01-shell .entry-content a:not(.elementor-button):focus {
  color: var(--cf-blog-orange-hover) !important;
  -webkit-text-fill-color: var(--cf-blog-orange-hover) !important;
  text-decoration-color: var(--cf-blog-orange-hover) !important;
}

/* Kill dash/icon pseudo-elements that replace real linked text. */
.cf-blog01-shell .cf-blog01-content a:not(.elementor-button)::before,
.cf-blog01-shell .cf-blog01-content a:not(.elementor-button)::after,
.cf-blog01-shell .cf-blog01-content a:not(.elementor-button) *::before,
.cf-blog01-shell .cf-blog01-content a:not(.elementor-button) *::after,
.cf-blog01-shell .elementor-widget-theme-post-content a:not(.elementor-button)::before,
.cf-blog01-shell .elementor-widget-theme-post-content a:not(.elementor-button)::after,
.cf-blog01-shell .elementor-widget-theme-post-content a:not(.elementor-button) *::before,
.cf-blog01-shell .elementor-widget-theme-post-content a:not(.elementor-button) *::after,
.cf-blog01-shell .entry-content a:not(.elementor-button)::before,
.cf-blog01-shell .entry-content a:not(.elementor-button)::after,
.cf-blog01-shell .entry-content a:not(.elementor-button) *::before,
.cf-blog01-shell .entry-content a:not(.elementor-button) *::after {
  content: none !important;
  display: none !important;
  width: 0 !important;
  min-width: 0 !important;
  max-width: 0 !important;
  height: 0 !important;
  min-height: 0 !important;
  max-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  opacity: 0 !important;
  visibility: hidden !important;
  overflow: hidden !important;
}

/* Force nested WP/Elementor link text spans to render as real text. */
.cf-blog01-shell .cf-blog01-content a:not(.elementor-button) *,
.cf-blog01-shell .elementor-widget-theme-post-content a:not(.elementor-button) *,
.cf-blog01-shell .entry-content a:not(.elementor-button) * {
  display: inline !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  overflow: visible !important;
  opacity: 1 !important;
  visibility: visible !important;
  color: inherit !important;
  -webkit-text-fill-color: currentColor !important;
  text-indent: 0 !important;
  font-size: inherit !important;
  font-style: inherit !important;
  line-height: inherit !important;
  letter-spacing: inherit !important;
  background: transparent !important;
  background-image: none !important;
  text-shadow: none !important;
  clip: auto !important;
  clip-path: none !important;
  transform: none !important;
  filter: none !important;
  mix-blend-mode: normal !important;
}

/* If an old empty anchor artifact still prints only a dash, hide only empty anchors. Real linked words remain visible. */
.cf-blog01-shell .cf-blog01-content a:not(.elementor-button):empty,
.cf-blog01-shell .elementor-widget-theme-post-content a:not(.elementor-button):empty,
.cf-blog01-shell .entry-content a:not(.elementor-button):empty {
  display: none !important;
  width: 0 !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
}

.cf-blog01-content img,
.cf-blog01-content figure img {
  border-radius: 20px !important;
  border: 1px solid var(--cf-blog-border) !important;
  box-shadow: 0 12px 30px rgba(0,0,0,.22) !important;
  overflow: hidden !important;
}

.cf-blog01-content figcaption {
  color: var(--cf-blog-soft) !important;
  font-size: 13px !important;
  text-align: center !important;
  margin-top: 10px !important;
}

.cf-blog01-content blockquote {
  margin: 2rem 0 !important;
  padding: 24px 28px !important;
  border-left: 4px solid var(--cf-blog-orange) !important;
  border-radius: 18px !important;
  background: rgba(38,25,18,0.52) !important;
}

.cf-blog01-content hr {
  border: 0 !important;
  height: 1px !important;
  margin: 42px 0 !important;
  background: linear-gradient(90deg, transparent, rgba(242,154,46,.42), transparent) !important;
}

/* ==================================================
   SHARE ROW + FOOTER BREATHING ROOM
   ================================================== */

.cf-blog01-share-row {
  margin-top: 18px !important;
  border-top: 1px solid var(--cf-blog-line);
  padding-top: 30px !important;
  padding-bottom: 0 !important;
}

.cf-blog01-share-title .elementor-heading-title {
  margin: 0 !important;
  color: var(--cf-blog-cream) !important;
  font-size: 18px !important;
  font-weight: 800 !important;
}

.cf-blog01-share-buttons .elementor-share-btn {
  background: var(--cf-blog-orange) !important;
  color: #1a120c !important;
  transition: transform .2s ease, background .2s ease, box-shadow .2s ease !important;
  box-shadow: 0 8px 20px rgba(242,154,46,.18) !important;
}

.cf-blog01-share-buttons .elementor-share-btn:hover,
.cf-blog01-share-buttons .elementor-share-btn:focus {
  background: var(--cf-blog-orange-hover) !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 12px 24px rgba(242,154,46,.25) !important;
}

/* ==================================================
   RESPONSIVE
   ================================================== */

@media (max-width: 1024px) {
  .cf-blog01-body-wrap {
    padding-top: 42px !important;
    padding-bottom: 90px !important;
  }
}

@media (max-width: 767px) {
  .cf-blog01-body-wrap {
    padding-top: 32px !important;
    padding-bottom: 72px !important;
  }

  .cf-blog01-post-header {
    gap: 7px !important;
  }

  .cf-blog01-post-category a,
  .cf-blog01-post-category .elementor-icon-list-text,
  .cf-blog01-post-category .elementor-post-info__terms-list,
  .cf-blog01-post-category .elementor-post-info__terms-list-item {
    font-size: 12px !important;
  }

  .cf-blog01-post-date,
  .cf-blog01-post-date *,
  .cf-blog01-post-date a {
    font-size: 14px !important;
  }

  .cf-blog01-content p,
  .cf-blog01-content li {
    font-size: 16px !important;
    line-height: 1.72 !important;
  }

  .cf-blog01-content blockquote {
    padding: 20px 22px !important;
  }

  .cf-blog01-share-row {
    margin-top: 12px !important;
    padding-top: 24px !important;
  }
}
/* ==================================================
   blog01 Transparent Image Fix
   Purpose:
   - Remove unwanted frame/border behind transparent PNG images.
   - Keep image backgrounds fully transparent.
   ================================================== */

.cf-blog01-content img,
.cf-blog01-content figure,
.cf-blog01-content figure img,
.cf-blog01-content .wp-caption,
.cf-blog01-content .wp-caption img,
.cf-blog01-content .elementor-widget-image,
.cf-blog01-content .elementor-widget-image .elementor-widget-container {
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  outline: 0 !important;
}

.cf-food-layout1,
.cf-food-layout1 * {
  box-sizing: border-box;
  font-family: "Roboto Slab", Georgia, serif !important;
}

.cf-food-layout1 {
  --cf-food-cream: #f7e8d3;
  --cf-food-muted: #d8c7b2;
  --cf-food-soft: #b89f85;
  --cf-food-orange: #f29a2e;
  --cf-food-orange-hover: #ffae47;
  --cf-food-border: rgba(247,232,211,.12);
  --cf-food-border-strong: rgba(247,232,211,.18);
  --cf-food-panel:
    linear-gradient(180deg, rgba(255,255,255,.045), rgba(255,255,255,.012)),
    linear-gradient(180deg, rgba(38,25,18,.78), rgba(14,10,8,.92));
  --cf-food-panel-soft:
    linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,.008)),
    linear-gradient(180deg, rgba(31,21,16,.58), rgba(12,9,8,.80));
  color: var(--cf-food-cream);
}

.cf-food-layout1 .elementor-widget-text-editor p:last-child,
.cf-food-layout1 .elementor-widget-heading .elementor-heading-title:last-child {
  margin-bottom: 0 !important;
}

.cf-food-layout1 .elementor-image-placeholder {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 260px !important;
  width: 100% !important;
  border-radius: 18px !important;
  border: 1px dashed rgba(247,232,211,.18) !important;
  background: linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.02)) !important;
}

/* SECTION RHYTHM */
.cf-food-hero,
.cf-food-story,
.cf-food-standout,
.cf-food-bottom {
  position: relative;
}

.cf-food-hero {
  padding-bottom: 28px !important;
}

.cf-food-story {
  padding-top: 4px !important;
  padding-bottom: 18px !important;
}

.cf-food-standout {
  padding-top: 8px !important;
  padding-bottom: 18px !important;
}

.cf-food-bottom {
  padding-top: 0 !important;
}

/* HERO */
.cf-food-eyebrow .elementor-heading-title {
  margin: 0 !important;
  color: var(--cf-food-orange) !important;
  -webkit-text-fill-color: var(--cf-food-orange) !important;
  font-size: 14px !important;
  font-weight: 900 !important;
  letter-spacing: .14em !important;
  line-height: 1.2 !important;
  text-transform: uppercase !important;
}

.cf-food-hero__grid > .e-con-inner,
.cf-food-hero__grid {
  align-items: stretch !important;
}

.cf-food-hero__grid {
  gap: 28px !important;
  padding: 24px !important;
  border-radius: 26px !important;
  background: var(--cf-food-panel) !important;
  border: 1px solid var(--cf-food-border) !important;
  box-shadow: 0 18px 44px rgba(0,0,0,.24) !important;
}

.cf-food-hero__image {
  flex: 0 0 44% !important;
  min-width: 0 !important;
}

.cf-food-hero__image img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 310px !important;
  object-fit: cover !important;
  border-radius: 18px !important;
  border: 1px solid var(--cf-food-border-strong) !important;
  box-shadow: 0 12px 28px rgba(0,0,0,.22) !important;
}

.cf-food-hero__text {
  flex: 1 1 56% !important;
  min-width: 320px !important;
  padding: 6px 2px 6px 2px !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

.cf-food-title .elementor-heading-title {
  margin: 0 !important;
  color: var(--cf-food-cream) !important;
  -webkit-text-fill-color: var(--cf-food-cream) !important;
  font-size: clamp(48px, 5.4vw, 82px) !important;
  font-weight: 900 !important;
  line-height: .96 !important;
  letter-spacing: -.04em !important;
  text-wrap: balance;
}

.cf-food-dek p {
  margin: 0 !important;
  max-width: 1000px !important;
  color: var(--cf-food-muted) !important;
  -webkit-text-fill-color: var(--cf-food-muted) !important;
  font-size: 18px !important;
  line-height: 1.58 !important;
}

/* PRICE STRIP */
.cf-food-price-strip {
  display: flex !important;
  width: 100% !important;
  padding: 12px !important;
  border-radius: 18px !important;
  background: rgba(15,10,8,.58) !important;
  border: 1px solid rgba(247,232,211,.10) !important;
  box-shadow: 0 12px 28px rgba(0,0,0,.16) !important;
}

.cf-food-price-strip__item {
  padding: 7px 12px !important;
  border-radius: 999px !important;
  background: rgba(255,255,255,.035) !important;
  border: 1px solid rgba(247,232,211,.08) !important;
}

.cf-food-price-strip__item .elementor-heading-title {
  margin: 0 !important;
  color: var(--cf-food-cream) !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  line-height: 1.25 !important;
}

.cf-food-price-strip__item span {
  color: var(--cf-food-orange) !important;
  -webkit-text-fill-color: var(--cf-food-orange) !important;
  text-transform: uppercase !important;
  letter-spacing: .08em !important;
  margin-right: 6px !important;
}

/* STORY */
.cf-food-story__media,
.cf-food-story__copy-wrap {
  flex: 1 1 50% !important;
  min-width: 0 !important;
}

.cf-food-story__media {
  padding: 14px !important;
  border-radius: 22px !important;
  background: var(--cf-food-panel-soft) !important;
  border: 1px solid var(--cf-food-border) !important;
  box-shadow: 0 14px 32px rgba(0,0,0,.18) !important;
}

.cf-food-story__image img {
  display: block !important;
  width: 100% !important;
  height: 360px !important;
  object-fit: cover !important;
  border-radius: 18px !important;
  border: 1px solid var(--cf-food-border) !important;
  box-shadow: 0 16px 38px rgba(0,0,0,.24) !important;
}

.cf-food-caption p {
  margin: 10px 0 0 !important;
  color: var(--cf-food-soft) !important;
  -webkit-text-fill-color: var(--cf-food-soft) !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  line-height: 1.4 !important;
}

.cf-food-story__copy-wrap {
  position: relative !important;
  padding: 24px 24px 24px 28px !important;
  border-radius: 22px !important;
  background: var(--cf-food-panel) !important;
  border: 1px solid var(--cf-food-border) !important;
  box-shadow: 0 14px 32px rgba(0,0,0,.20) !important;
}

.cf-food-story__copy-wrap::before {
  content: "";
  position: absolute;
  left: 0;
  top: 16px;
  bottom: 16px;
  width: 3px;
  border-radius: 999px;
  background: linear-gradient(180deg, var(--cf-food-orange), rgba(242,154,46,.18));
}

.cf-food-story__copy p {
  margin: 0 0 1em !important;
  color: var(--cf-food-muted) !important;
  -webkit-text-fill-color: var(--cf-food-muted) !important;
  font-size: 18px !important;
  font-weight: 500 !important;
  line-height: 1.62 !important;
}

.cf-food-story__copy strong {
  color: var(--cf-food-cream) !important;
  -webkit-text-fill-color: var(--cf-food-cream) !important;
  font-weight: 900 !important;
}

/* STANDOUT */
.cf-food-section-title .elementor-heading-title {
  margin: 0 !important;
  color: var(--cf-food-cream) !important;
  -webkit-text-fill-color: var(--cf-food-cream) !important;
  font-size: clamp(38px, 4.4vw, 60px) !important;
  font-weight: 900 !important;
  line-height: 1.03 !important;
  letter-spacing: -.035em !important;
}

.cf-food-section-intro p {
  max-width: 980px !important;
  margin: 0 !important;
  color: var(--cf-food-muted) !important;
  -webkit-text-fill-color: var(--cf-food-muted) !important;
  font-size: 18px !important;
  line-height: 1.6 !important;
}

.cf-food-feature-grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 16px !important;
}

.cf-food-feature-card {
  height: 100% !important;
  padding: 18px !important;
  border-radius: 18px !important;
  background: var(--cf-food-panel-soft) !important;
  border: 1px solid var(--cf-food-border) !important;
  box-shadow: 0 12px 28px rgba(0,0,0,.18) !important;
}

.cf-food-feature-card__title .elementor-heading-title {
  margin: 0 0 8px !important;
  color: var(--cf-food-cream) !important;
  -webkit-text-fill-color: var(--cf-food-cream) !important;
  font-size: 18px !important;
  font-weight: 900 !important;
  line-height: 1.15 !important;
}

.cf-food-feature-card__text p {
  margin: 0 !important;
  color: var(--cf-food-muted) !important;
  -webkit-text-fill-color: var(--cf-food-muted) !important;
  font-size: 15px !important;
  line-height: 1.55 !important;
}

/* BOTTOM */
.cf-food-bottom-card {
  flex: 1 1 50% !important;
  min-width: 0 !important;
  padding: 22px !important;
  border-radius: 22px !important;
  background: var(--cf-food-panel) !important;
  border: 1px solid var(--cf-food-border) !important;
  box-shadow: 0 14px 32px rgba(0,0,0,.22) !important;
}

.cf-food-bottom-card__title .elementor-heading-title {
  margin: 0 0 10px !important;
  color: var(--cf-food-cream) !important;
  -webkit-text-fill-color: var(--cf-food-cream) !important;
  font-size: clamp(28px, 2.7vw, 36px) !important;
  font-weight: 900 !important;
  line-height: 1.1 !important;
}

.cf-food-bottom-card__text p {
  margin: 0 0 18px !important;
  color: var(--cf-food-muted) !important;
  -webkit-text-fill-color: var(--cf-food-muted) !important;
  font-size: 16px !important;
  line-height: 1.55 !important;
}

/* BUTTONS */
.cf-food-button .elementor-button {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  width: fit-content !important;
  border-radius: 12px !important;
  border: 1px solid #c96f11 !important;
  background: var(--cf-food-orange) !important;
  color: #1a120c !important;
  -webkit-text-fill-color: #1a120c !important;
  box-shadow: 0 10px 24px rgba(0,0,0,.20) !important;
  padding: 12px 20px !important;
  font-size: 15px !important;
  font-weight: 900 !important;
  text-decoration: none !important;
}

.cf-food-button .elementor-button:hover {
  background: var(--cf-food-orange-hover) !important;
  transform: translateY(-1px) !important;
}

/* ==================================================
   Carbon Footprint Footer X1 — Smoked Utility Bar v2
   ================================================== */

.co2-smoke-footer,
.co2-smoke-footer * {
  box-sizing: border-box;
  font-family: "Roboto Slab", Georgia, serif !important;
}

.co2-smoke-footer {
  --co2-bg: #070504;
  --co2-panel: rgba(20, 12, 8, .90);
  --co2-panel-2: rgba(33, 19, 12, .62);
  --co2-cream: #f7e8d3;
  --co2-muted: rgba(247, 232, 211, .72);
  --co2-soft: rgba(247, 232, 211, .48);
  --co2-line: rgba(247, 232, 211, .13);
  --co2-orange: #f29a2e;
  --co2-orange-hover: #ffb24f;

  width: 100% !important;
  color: var(--co2-cream) !important;
  background:
    radial-gradient(circle at 50% 0%, rgba(116, 43, 0, .24), transparent 42%),
    linear-gradient(180deg, rgba(44, 22, 13, .74), var(--co2-bg) 74%) !important;
  padding: 26px 4% 22px !important;
  overflow: hidden !important;
}

.co2-smoke-footer__shell {
  width: min(100%, 1180px) !important;
  margin: 0 auto !important;
  padding: 18px 22px !important;
  border: 1px solid var(--co2-line) !important;
  border-radius: 18px !important;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, .04), rgba(255, 255, 255, .01)),
    radial-gradient(circle at 8% 0%, rgba(242, 154, 46, .08), transparent 34%),
    var(--co2-panel) !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, .045),
    inset 0 -1px 0 rgba(242, 154, 46, .08),
    0 16px 38px rgba(0, 0, 0, .28) !important;
}

/* Row 1 — CTA + buttons */
.co2-smoke-footer__cta-row {
  display: grid !important;
  grid-template-columns: 1fr auto !important;
  gap: 14px 22px !important;
  align-items: center !important;
}

.co2-smoke-footer__eyebrow,
.co2-smoke-footer__cta-text,
.co2-smoke-footer__copyright {
  margin: 0 !important;
}

.co2-smoke-footer__eyebrow {
  color: var(--co2-orange-hover) !important;
  -webkit-text-fill-color: var(--co2-orange-hover) !important;
  font-size: 11px !important;
  font-weight: 900 !important;
  letter-spacing: .08em !important;
  line-height: 1 !important;
  text-transform: uppercase !important;
}

.co2-smoke-footer__cta-text {
  margin-top: 5px !important;
  color: var(--co2-cream) !important;
  -webkit-text-fill-color: var(--co2-cream) !important;
  font-size: 15px !important;
  font-weight: 900 !important;
  line-height: 1.25 !important;
}

.co2-smoke-footer__actions,
.co2-smoke-footer__social,
.co2-smoke-footer__contact,
.co2-smoke-footer__legal {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 9px !important;
}

.co2-smoke-footer a {
  color: var(--co2-cream) !important;
  -webkit-text-fill-color: var(--co2-cream) !important;
  text-decoration: none !important;
}

.co2-smoke-footer__actions {
  justify-content: flex-end !important;
}

.co2-smoke-footer__btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 36px !important;
  padding: 9px 15px !important;
  border-radius: 999px !important;
  border: 1px solid rgba(247, 232, 211, .16) !important;
  background: rgba(8, 6, 5, .52) !important;
  font-size: 12.5px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  transition: transform .18s ease, border-color .18s ease, color .18s ease, background .18s ease !important;
}

.co2-smoke-footer__btn--primary {
  background: var(--co2-orange) !important;
  border-color: rgba(255, 191, 102, .52) !important;
  color: #1a120c !important;
  -webkit-text-fill-color: #1a120c !important;
}

.co2-smoke-footer__btn:hover {
  transform: translateY(-1px) !important;
  border-color: rgba(242, 154, 46, .55) !important;
  background: rgba(242, 154, 46, .14) !important;
  color: var(--co2-orange-hover) !important;
  -webkit-text-fill-color: var(--co2-orange-hover) !important;
}

.co2-smoke-footer__btn--primary:hover {
  background: var(--co2-orange-hover) !important;
  color: #1a120c !important;
  -webkit-text-fill-color: #1a120c !important;
}

/* Row 2 — social + contact */
.co2-smoke-footer__utility-row {
  display: grid !important;
  grid-template-columns: 1fr auto !important;
  gap: 10px 22px !important;
  align-items: center !important;
  margin-top: 14px !important;
  padding-top: 13px !important;
  border-top: 1px solid var(--co2-line) !important;
}

.co2-smoke-footer__contact {
  justify-content: flex-end !important;
}

.co2-smoke-footer__social a,
.co2-smoke-footer__contact a,
.co2-smoke-footer__contact span,
.co2-smoke-footer__legal a {
  color: var(--co2-muted) !important;
  -webkit-text-fill-color: var(--co2-muted) !important;
  font-size: 12.5px !important;
  font-weight: 800 !important;
  line-height: 1.25 !important;
}

.co2-smoke-footer__social a::after,
.co2-smoke-footer__contact a::after,
.co2-smoke-footer__legal a::after {
  content: "•";
  margin-left: 9px;
  color: rgba(242, 154, 46, .52);
  -webkit-text-fill-color: rgba(242, 154, 46, .52);
}

.co2-smoke-footer__social a:last-child::after,
.co2-smoke-footer__contact a:last-child::after,
.co2-smoke-footer__legal a:last-child::after {
  content: "";
  margin-left: 0;
}

.co2-smoke-footer__social a:hover,
.co2-smoke-footer__contact a:hover,
.co2-smoke-footer__legal a:hover {
  color: var(--co2-orange-hover) !important;
  -webkit-text-fill-color: var(--co2-orange-hover) !important;
}

/* Row 3 — legal */
.co2-smoke-footer__bottom {
  display: grid !important;
  grid-template-columns: 1fr auto !important;
  gap: 10px 22px !important;
  align-items: center !important;
  margin-top: 12px !important;
  padding-top: 12px !important;
  border-top: 1px solid rgba(247, 232, 211, .08) !important;
}

.co2-smoke-footer__copyright {
  color: var(--co2-muted) !important;
  -webkit-text-fill-color: var(--co2-muted) !important;
  font-size: 11.5px !important;
  font-weight: 800 !important;
  line-height: 1.35 !important;
  text-align: right !important;
}

/* Accessibility */
.co2-smoke-footer a:focus-visible {
  outline: 2px solid var(--co2-orange) !important;
  outline-offset: 4px !important;
  border-radius: 8px !important;
}

/* Tablet */
@media (max-width: 900px) {
  .co2-smoke-footer__cta-row,
  .co2-smoke-footer__utility-row,
  .co2-smoke-footer__bottom {
    grid-template-columns: 1fr !important;
  }

  .co2-smoke-footer__actions,
  .co2-smoke-footer__contact {
    justify-content: flex-start !important;
  }

  .co2-smoke-footer__copyright {
    text-align: left !important;
  }
}

/* Mobile */
@media (max-width: 600px) {
  .co2-smoke-footer {
    padding: 24px 4% 20px !important;
  }

  .co2-smoke-footer__shell {
    padding: 17px 15px !important;
    border-radius: 16px !important;
  }

  .co2-smoke-footer__actions {
    display: grid !important;
    width: 100% !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 8px !important;
  }

  .co2-smoke-footer__btn {
    width: 100% !important;
    padding-left: 10px !important;
    padding-right: 10px !important;
  }

  .co2-smoke-footer__contact {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 6px !important;
  }

  .co2-smoke-footer__contact a::after {
    content: "" !important;
    margin-left: 0 !important;
  }
}

/* ==================================================
   The Carbon Footprint Legal Page v3.0 CLEAN
   Purpose:
   - Smaller hero/title typography
   - No full-page background
   - Removes decorative hero grid/gradient clutter
   - Keeps one HTML widget + lean CSS
   ================================================== */

.cf-legal-elementor-section,
.cf-legal-elementor-section > .elementor-container,
.cf-legal-elementor-section .elementor-column,
.cf-legal-elementor-section .elementor-widget-wrap,
.cf-legal-elementor-section .elementor-widget-html,
.cf-legal-elementor-section .elementor-widget-container {
  margin: 0 !important;
  padding: 0 !important;
}

.cf-legal-page,
.cf-legal-page * {
  box-sizing: border-box;
}

.cf-legal-page {
  --cf-legal-panel: rgba(255, 244, 230, 0.055);
  --cf-legal-panel-strong: rgba(255, 244, 230, 0.085);
  --cf-legal-border: rgba(255, 236, 204, 0.18);
  --cf-legal-border-strong: rgba(232, 109, 47, 0.58);
  --cf-legal-text: #f7efe4;
  --cf-legal-muted: #d1bfaa;
  --cf-legal-accent: #e86d2f;
  --cf-legal-radius-lg: 20px;
  --cf-legal-radius-md: 16px;

  width: 100%;
  color: var(--cf-legal-text);
  font-family: inherit;
  line-height: 1.58;
  background: transparent !important;
  padding: clamp(24px, 4vw, 54px) clamp(14px, 3vw, 28px);
}

.cf-legal-wrap {
  width: min(100%, 980px);
  margin: 0 auto;
}

.cf-legal-hero,
.cf-legal-summary,
.cf-legal-card,
.cf-legal-contact {
  border: 1px solid var(--cf-legal-border);
  border-radius: var(--cf-legal-radius-md);
  background: var(--cf-legal-panel);
}

.cf-legal-hero {
  padding: clamp(24px, 4vw, 42px);
  border-radius: var(--cf-legal-radius-lg);
}

.cf-legal-eyebrow,
.cf-legal-kicker {
  margin: 0 0 9px;
  color: var(--cf-legal-accent);
  font-size: 0.75rem;
  font-weight: 800;
  line-height: 1.1;
  letter-spacing: 0.13em;
  text-transform: uppercase;
}

.cf-legal-hero h1 {
  margin: 0;
  max-width: 760px;
  color: var(--cf-legal-text);
  font-size: clamp(2rem, 4.1vw, 3.65rem);
  font-weight: 900;
  letter-spacing: -0.045em;
  line-height: 0.98;
}

.cf-legal-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 20px;
}

.cf-legal-meta span,
.cf-legal-nav a,
.cf-legal-contact-box a,
.cf-legal-contact-box span,
.cf-legal-back a {
  border: 1px solid var(--cf-legal-border);
  background: rgba(0, 0, 0, 0.18);
  color: var(--cf-legal-text);
  font-size: 0.86rem;
  font-weight: 750;
  line-height: 1.2;
  text-decoration: none;
}

.cf-legal-meta span {
  border-radius: 999px;
  padding: 8px 12px;
}

.cf-legal-nav {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 9px;
  margin: 16px 0;
}

.cf-legal-nav a {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  border-radius: 999px;
  padding: 9px 10px;
  color: var(--cf-legal-muted);
  text-align: center;
  transition: border-color 160ms ease, color 160ms ease, background-color 160ms ease;
}

.cf-legal-nav a:hover,
.cf-legal-nav a:focus-visible,
.cf-legal-contact-box a:hover,
.cf-legal-contact-box a:focus-visible,
.cf-legal-back a:hover,
.cf-legal-back a:focus-visible {
  border-color: var(--cf-legal-border-strong);
  background: rgba(232, 109, 47, 0.12);
  color: #fff;
  outline: 3px solid rgba(232, 109, 47, 0.22);
  outline-offset: 2px;
}

.cf-legal-summary {
  margin-bottom: 16px;
  padding: clamp(16px, 2.4vw, 22px);
  color: var(--cf-legal-muted);
  font-size: 0.98rem;
}

.cf-legal-summary strong {
  color: var(--cf-legal-text);
}

.cf-legal-card,
.cf-legal-contact {
  margin-top: 16px;
  padding: clamp(22px, 3.4vw, 34px);
}

.cf-legal-card-accent {
  border-color: rgba(232, 109, 47, 0.34);
  background: var(--cf-legal-panel-strong);
}

.cf-legal-card h2,
.cf-legal-contact h2 {
  margin: 0 0 12px;
  color: var(--cf-legal-text);
  font-size: clamp(1.35rem, 2vw, 1.75rem);
  font-weight: 900;
  letter-spacing: -0.025em;
  line-height: 1.1;
}

.cf-legal-card p,
.cf-legal-contact p {
  max-width: 880px;
  margin: 0 0 12px;
  color: var(--cf-legal-muted);
  font-size: clamp(0.96rem, 1vw, 1.02rem);
}

.cf-legal-card p:last-child,
.cf-legal-contact p:last-child {
  margin-bottom: 0;
}

.cf-legal-contact {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(260px, 0.42fr);
  gap: clamp(16px, 3vw, 28px);
  align-items: center;
}

.cf-legal-contact-box {
  display: grid;
  gap: 9px;
}

.cf-legal-contact-box a,
.cf-legal-contact-box span {
  display: block;
  border-radius: 13px;
  padding: 13px 15px;
}

.cf-legal-contact-box span {
  color: var(--cf-legal-muted);
}

.cf-legal-back {
  margin-top: 18px !important;
}

.cf-legal-back a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  border-radius: 999px;
  padding: 8px 14px;
}

@media (max-width: 880px) {
  .cf-legal-wrap {
    width: min(100%, 720px);
  }

  .cf-legal-nav {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .cf-legal-contact {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 560px) {
  .cf-legal-page {
    padding: 22px 12px;
  }

  .cf-legal-hero,
  .cf-legal-card,
  .cf-legal-contact,
  .cf-legal-summary {
    border-radius: 14px;
  }

  .cf-legal-hero h1 {
    font-size: clamp(1.9rem, 10vw, 2.55rem);
  }

  .cf-legal-nav {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
  }

  .cf-legal-nav a {
    min-height: 40px;
    padding: 8px 7px;
    font-size: 0.82rem;
  }

  .cf-legal-meta span,
  .cf-legal-contact-box a,
  .cf-legal-contact-box span {
    width: 100%;
  }
}

@media (prefers-reduced-motion: reduce) {
  .cf-legal-nav a {
    transition: none;
  }
}

/* ---------- Archive Page Base ---------- */

body.archive,
body.category,
body.tag,
body.blog {
  background: #070707 !important;
}

body.archive #page,
body.category #page,
body.tag #page,
body.blog #page,
body.archive .site,
body.category .site,
body.tag .site,
body.blog .site {
  background: #070707 !important;
}

.cf-archive-template {
  background: #070707 !important;
  color: #f4efe6;
  padding: 38px 20px 50px !important;
  border-bottom: 1px solid rgba(212,108,39,0.45);
}

.cf-archive-template .elementor-container,
.cf-archive-template .elementor-column-wrap,
.cf-archive-template .elementor-widget-wrap {
  max-width: 1180px;
  margin-left: auto;
  margin-right: auto;
}


/* ---------- Hero / Header ---------- */

.cf-archive-hero {
  max-width: 1180px;
  margin: 0 auto 30px !important;
  padding: 18px 0 12px !important;
  text-align: center;
}

.cf-archive-hero .elementor-widget-heading:first-child .elementor-heading-title,
.cf-archive-hero .elementor-heading-title:first-child {
  color: #d46c27 !important;
  font-size: 13px !important;
  line-height: 1.1 !important;
  letter-spacing: 0.22em !important;
  text-transform: uppercase !important;
  font-weight: 900 !important;
  margin: 0 0 6px !important;
}

/* Main archive title */
.cf-archive-hero .elementor-widget-theme-archive-title .elementor-heading-title,
.cf-archive-hero .elementor-widget-archive-title .elementor-heading-title,
.cf-archive-hero h1.elementor-heading-title,
.cf-archive-hero h2.elementor-heading-title {
  color: #f4efe6 !important;
  font-size: clamp(42px, 5.8vw, 74px) !important;
  line-height: 0.86 !important;
  letter-spacing: -0.055em !important;
  text-transform: uppercase !important;
  font-weight: 900 !important;
  margin: 0 !important;
  text-shadow: 0 2px 0 rgba(0,0,0,0.45);
}

.cf-archive-hero .elementor-widget-text-editor,
.cf-archive-hero .elementor-widget-text-editor p {
  color: rgba(244,239,230,0.78) !important;
  font-size: 15px !important;
  line-height: 1.45 !important;
  margin: 10px 0 0 !important;
}


/* ---------- Posts Grid Wrapper ---------- */

.cf-archive-posts,
body.archive .cf-archive-posts,
body.category .cf-archive-posts {
  max-width: 1180px;
  margin: 0 auto !important;
}

/* Robust grid override for Elementor Posts / Archive Posts */
.cf-archive-posts .elementor-posts-container,
body.archive .cf-archive-posts .elementor-posts-container,
body.category .cf-archive-posts .elementor-posts-container,
body.archive .elementor-widget-posts .elementor-posts-container,
body.category .elementor-widget-posts .elementor-posts-container,
body.archive .elementor-widget-archive-posts .elementor-posts-container,
body.category .elementor-widget-archive-posts .elementor-posts-container {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 28px !important;
  align-items: stretch !important;
}


/* ---------- Post Card ---------- */

.cf-archive-posts .elementor-post,
body.archive .cf-archive-posts .elementor-post,
body.category .cf-archive-posts .elementor-post,
body.archive .elementor-widget-posts .elementor-post,
body.category .elementor-widget-posts .elementor-post,
body.archive .elementor-widget-archive-posts .elementor-post,
body.category .elementor-widget-archive-posts .elementor-post {
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  background: #111111 !important;
  border: 1px solid rgba(255,255,255,0.10) !important;
  border-radius: 0 !important;
  overflow: hidden !important;
  box-shadow: 0 18px 38px rgba(0,0,0,0.34) !important;
  transition: transform 180ms ease, border-color 180ms ease, box-shadow 180ms ease !important;
}

.cf-archive-posts .elementor-post:hover,
body.archive .cf-archive-posts .elementor-post:hover,
body.category .cf-archive-posts .elementor-post:hover,
body.archive .elementor-widget-posts .elementor-post:hover,
body.category .elementor-widget-posts .elementor-post:hover,
body.archive .elementor-widget-archive-posts .elementor-post:hover,
body.category .elementor-widget-archive-posts .elementor-post:hover {
  transform: translateY(-4px);
  border-color: rgba(212,108,39,0.62) !important;
  box-shadow: 0 26px 52px rgba(0,0,0,0.46) !important;
}


/* ---------- Featured Image ---------- */

.cf-archive-posts .elementor-post__thumbnail__link,
body.archive .cf-archive-posts .elementor-post__thumbnail__link,
body.category .cf-archive-posts .elementor-post__thumbnail__link,
body.archive .elementor-widget-posts .elementor-post__thumbnail__link,
body.category .elementor-widget-posts .elementor-post__thumbnail__link,
body.archive .elementor-widget-archive-posts .elementor-post__thumbnail__link,
body.category .elementor-widget-archive-posts .elementor-post__thumbnail__link {
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
  border-bottom: 1px solid rgba(212,108,39,0.30) !important;
  background: #181818 !important;
}

.cf-archive-posts .elementor-post__thumbnail,
body.archive .cf-archive-posts .elementor-post__thumbnail,
body.category .cf-archive-posts .elementor-post__thumbnail,
body.archive .elementor-widget-posts .elementor-post__thumbnail,
body.category .elementor-widget-posts .elementor-post__thumbnail,
body.archive .elementor-widget-archive-posts .elementor-post__thumbnail,
body.category .elementor-widget-archive-posts .elementor-post__thumbnail {
  position: relative !important;
  width: 100% !important;
  height: auto !important;
  padding-bottom: 66% !important;
  overflow: hidden !important;
  background: radial-gradient(circle at center, #232323 0%, #121212 62%, #0c0c0c 100%) !important;
}

.cf-archive-posts .elementor-post__thumbnail img,
body.archive .cf-archive-posts .elementor-post__thumbnail img,
body.category .cf-archive-posts .elementor-post__thumbnail img,
body.archive .elementor-widget-posts .elementor-post__thumbnail img,
body.category .elementor-widget-posts .elementor-post__thumbnail img,
body.archive .elementor-widget-archive-posts .elementor-post__thumbnail img,
body.category .elementor-widget-archive-posts .elementor-post__thumbnail img {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center center !important;
  transform: scale(1.01) !important;
  transition: transform 220ms ease, filter 220ms ease !important;
}

.cf-archive-posts .elementor-post:hover .elementor-post__thumbnail img,
body.archive .cf-archive-posts .elementor-post:hover .elementor-post__thumbnail img,
body.category .cf-archive-posts .elementor-post:hover .elementor-post__thumbnail img,
body.archive .elementor-widget-posts .elementor-post:hover .elementor-post__thumbnail img,
body.category .elementor-widget-posts .elementor-post:hover .elementor-post__thumbnail img,
body.archive .elementor-widget-archive-posts .elementor-post:hover .elementor-post__thumbnail img,
body.category .elementor-widget-archive-posts .elementor-post:hover .elementor-post__thumbnail img {
  transform: scale(1.045) !important;
  filter: brightness(0.82) contrast(1.08) saturate(1.04) !important;
}


/* ---------- Card Text Area ---------- */

.cf-archive-posts .elementor-post__text,
body.archive .cf-archive-posts .elementor-post__text,
body.category .cf-archive-posts .elementor-post__text,
body.archive .elementor-widget-posts .elementor-post__text,
body.category .elementor-widget-posts .elementor-post__text,
body.archive .elementor-widget-archive-posts .elementor-post__text,
body.category .elementor-widget-archive-posts .elementor-post__text {
  padding: 20px 20px 22px !important;
  display: flex !important;
  flex-direction: column !important;
  min-height: 154px !important;
}


/* ---------- Hide Meta / Junk ---------- */

.cf-archive-posts .elementor-post__meta-data,
.cf-archive-posts .elementor-post__excerpt,
.cf-archive-posts .elementor-post__badge,
.cf-archive-posts .elementor-post__avatar,
.cf-archive-posts .elementor-post__card .elementor-post__excerpt,
.cf-archive-posts .elementor-post-date,
.cf-archive-posts .elementor-post-avatar,
.cf-archive-posts .elementor-post-author,
.cf-archive-posts .elementor-post-comments,
body.archive .elementor-widget-posts .elementor-post__meta-data,
body.archive .elementor-widget-posts .elementor-post__excerpt,
body.archive .elementor-widget-posts .elementor-post__badge,
body.archive .elementor-widget-posts .elementor-post__avatar,
body.archive .elementor-widget-posts .elementor-post-date,
body.archive .elementor-widget-posts .elementor-post-comments,
body.category .elementor-widget-posts .elementor-post__meta-data,
body.category .elementor-widget-posts .elementor-post__excerpt,
body.category .elementor-widget-posts .elementor-post__badge,
body.category .elementor-widget-posts .elementor-post__avatar,
body.category .elementor-widget-posts .elementor-post-date,
body.category .elementor-widget-posts .elementor-post-comments,
body.archive .elementor-widget-archive-posts .elementor-post__meta-data,
body.archive .elementor-widget-archive-posts .elementor-post__excerpt,
body.category .elementor-widget-archive-posts .elementor-post__meta-data,
body.category .elementor-widget-archive-posts .elementor-post__excerpt {
  display: none !important;
}


/* ---------- Post Title ---------- */

.cf-archive-posts .elementor-post__title,
body.archive .cf-archive-posts .elementor-post__title,
body.category .cf-archive-posts .elementor-post__title,
body.archive .elementor-widget-posts .elementor-post__title,
body.category .elementor-widget-posts .elementor-post__title,
body.archive .elementor-widget-archive-posts .elementor-post__title,
body.category .elementor-widget-archive-posts .elementor-post__title {
  margin: 0 0 18px !important;
  padding: 0 !important;
}

.cf-archive-posts .elementor-post__title a,
body.archive .cf-archive-posts .elementor-post__title a,
body.category .cf-archive-posts .elementor-post__title a,
body.archive .elementor-widget-posts .elementor-post__title a,
body.category .elementor-widget-posts .elementor-post__title a,
body.archive .elementor-widget-archive-posts .elementor-post__title a,
body.category .elementor-widget-archive-posts .elementor-post__title a {
  color: #f4efe6 !important;
  font-size: clamp(18px, 1.45vw, 22px) !important;
  line-height: 1.14 !important;
  font-weight: 850 !important;
  letter-spacing: -0.025em !important;
  text-decoration: none !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 3 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
}

.cf-archive-posts .elementor-post__title a:hover,
body.archive .elementor-widget-posts .elementor-post__title a:hover,
body.category .elementor-widget-posts .elementor-post__title a:hover {
  color: #ffffff !important;
}


/* ---------- Read More ---------- */

.cf-archive-posts .elementor-post__read-more,
body.archive .cf-archive-posts .elementor-post__read-more,
body.category .cf-archive-posts .elementor-post__read-more,
body.archive .elementor-widget-posts .elementor-post__read-more,
body.category .elementor-widget-posts .elementor-post__read-more,
body.archive .elementor-widget-archive-posts .elementor-post__read-more,
body.category .elementor-widget-archive-posts .elementor-post__read-more {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: fit-content !important;
  margin-top: auto !important;
  padding: 8px 0 4px !important;
  color: #d46c27 !important;
  font-size: 13px !important;
  line-height: 1 !important;
  font-weight: 900 !important;
  letter-spacing: 0.09em !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  border-bottom: 2px solid rgba(212,108,39,0.65) !important;
  transition: color 160ms ease, border-color 160ms ease, transform 160ms ease !important;
}

.cf-archive-posts .elementor-post__read-more:hover,
body.archive .elementor-widget-posts .elementor-post__read-more:hover,
body.category .elementor-widget-posts .elementor-post__read-more:hover {
  color: #ff8a3d !important;
  border-color: rgba(255,138,61,0.95) !important;
  transform: translateX(3px) !important;
}


/* ---------- Pagination ---------- */

.cf-archive-posts .elementor-pagination,
body.archive .elementor-widget-posts .elementor-pagination,
body.category .elementor-widget-posts .elementor-pagination,
body.archive .elementor-widget-archive-posts .elementor-pagination,
body.category .elementor-widget-archive-posts .elementor-pagination {
  margin-top: 40px !important;
  display: flex !important;
  justify-content: center !important;
  gap: 8px !important;
  flex-wrap: wrap !important;
}

.cf-archive-posts .elementor-pagination a,
.cf-archive-posts .elementor-pagination span,
body.archive .elementor-widget-posts .elementor-pagination a,
body.archive .elementor-widget-posts .elementor-pagination span,
body.category .elementor-widget-posts .elementor-pagination a,
body.category .elementor-widget-posts .elementor-pagination span {
  min-width: 38px !important;
  min-height: 38px !important;
  padding: 10px 12px !important;
  background: #111111 !important;
  border: 1px solid rgba(255,255,255,0.12) !important;
  color: rgba(244,239,230,0.82) !important;
  text-decoration: none !important;
  line-height: 1 !important;
}

.cf-archive-posts .elementor-pagination .current,
.cf-archive-posts .elementor-pagination a:hover,
body.archive .elementor-widget-posts .elementor-pagination .current,
body.archive .elementor-widget-posts .elementor-pagination a:hover,
body.category .elementor-widget-posts .elementor-pagination .current,
body.category .elementor-widget-posts .elementor-pagination a:hover {
  background: #d46c27 !important;
  border-color: #d46c27 !important;
  color: #070707 !important;
}


/* ---------- Tablet ---------- */

@media (max-width: 1024px) {
  .cf-archive-template {
    padding: 34px 18px 48px !important;
  }

  .cf-archive-posts .elementor-posts-container,
  body.archive .elementor-widget-posts .elementor-posts-container,
  body.category .elementor-widget-posts .elementor-posts-container,
  body.archive .elementor-widget-archive-posts .elementor-posts-container,
  body.category .elementor-widget-archive-posts .elementor-posts-container {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 24px !important;
  }

  .cf-archive-hero .elementor-widget-theme-archive-title .elementor-heading-title,
  .cf-archive-hero .elementor-widget-archive-title .elementor-heading-title,
  .cf-archive-hero h1.elementor-heading-title,
  .cf-archive-hero h2.elementor-heading-title {
    font-size: clamp(38px, 8vw, 62px) !important;
  }
}


/* ---------- Mobile ---------- */

@media (max-width: 767px) {
  .cf-archive-template {
    padding: 26px 14px 42px !important;
  }

  .cf-archive-hero {
    margin-bottom: 24px !important;
    padding: 14px 0 8px !important;
  }

  .cf-archive-hero .elementor-widget-heading:first-child .elementor-heading-title,
  .cf-archive-hero .elementor-heading-title:first-child {
    font-size: 11px !important;
    letter-spacing: 0.18em !important;
  }

  .cf-archive-hero .elementor-widget-theme-archive-title .elementor-heading-title,
  .cf-archive-hero .elementor-widget-archive-title .elementor-heading-title,
  .cf-archive-hero h1.elementor-heading-title,
  .cf-archive-hero h2.elementor-heading-title {
    font-size: clamp(34px, 13vw, 48px) !important;
    line-height: 0.9 !important;
  }

  .cf-archive-hero .elementor-widget-text-editor,
  .cf-archive-hero .elementor-widget-text-editor p {
    font-size: 14px !important;
  }

  .cf-archive-posts .elementor-posts-container,
  body.archive .elementor-widget-posts .elementor-posts-container,
  body.category .elementor-widget-posts .elementor-posts-container,
  body.archive .elementor-widget-archive-posts .elementor-posts-container,
  body.category .elementor-widget-archive-posts .elementor-posts-container {
    grid-template-columns: 1fr !important;
    gap: 22px !important;
  }

  .cf-archive-posts .elementor-post__text,
  body.archive .elementor-widget-posts .elementor-post__text,
  body.category .elementor-widget-posts .elementor-post__text,
  body.archive .elementor-widget-archive-posts .elementor-post__text,
  body.category .elementor-widget-archive-posts .elementor-post__text {
    padding: 18px 18px 20px !important;
    min-height: 132px !important;
  }

  .cf-archive-posts .elementor-post__thumbnail,
  body.archive .elementor-widget-posts .elementor-post__thumbnail,
  body.category .elementor-widget-posts .elementor-post__thumbnail,
  body.archive .elementor-widget-archive-posts .elementor-post__thumbnail,
  body.category .elementor-widget-archive-posts .elementor-post__thumbnail {
    padding-bottom: 64% !important;
  }

  .cf-archive-posts .elementor-post__title a,
  body.archive .elementor-widget-posts .elementor-post__title a,
  body.category .elementor-widget-posts .elementor-post__title a,
  body.archive .elementor-widget-archive-posts .elementor-post__title a,
  body.category .elementor-widget-archive-posts .elementor-post__title a {
    font-size: 20px !important;
  }
}


/* ---------- Reduced Motion ---------- */

@media (prefers-reduced-motion: reduce) {
  .cf-archive-posts .elementor-post,
  .cf-archive-posts .elementor-post__thumbnail img,
  .cf-archive-posts .elementor-post__read-more,
  body.archive .elementor-widget-posts .elementor-post,
  body.archive .elementor-widget-posts .elementor-post__thumbnail img,
  body.archive .elementor-widget-posts .elementor-post__read-more,
  body.category .elementor-widget-posts .elementor-post,
  body.category .elementor-widget-posts .elementor-post__thumbnail img,
  body.category .elementor-widget-posts .elementor-post__read-more {
    transition: none !important;
  }

  .cf-archive-posts .elementor-post:hover,
  body.archive .elementor-widget-posts .elementor-post:hover,
  body.category .elementor-widget-posts .elementor-post:hover {
    transform: none !important;
  }
}/* End custom CSS */