/* Crysten Curry Elementor Widget - Header (fonts come from fonts.css) */

/* ---------- design tokens (all overridable from the Elementor panel) ---------- */
.cc-header-wrap {
  --cc-bg: #FBFAF8;
  --cc-border: #0A0708;
  --cc-bw: 1px;
  --cc-h: 64px;
  --cc-maxw: 1680px;
  --cc-gutter: clamp(20px, 3vw, 48px);
  --cc-z: 100;
  --cc-logo: #0A0708;
  --cc-logo-hover: var(--cc-logo);
  --cc-link: #0A0708;
  --cc-hover: #520000;
  --cc-active: #520000;
  --cc-gap: clamp(18px, 2.4vw, 40px);
  --cc-sub-bg: #FBFAF8;
  --cc-sub-border: #0A0708;
  --cc-sub-hover: #F2E1DF;
  --cc-burger: #0A0708;
  --cc-mbg: #FBFAF8;
  --cc-mlink: #0A0708;
  --cc-mdiv: rgba(10, 7, 8, .15);
  position: relative;
  width: 100%;
  min-height: calc(var(--cc-h) + var(--cc-bw));
}
.cc-header-wrap *, .cc-header-wrap *::before, .cc-header-wrap *::after { box-sizing: border-box; }

/* ---------- bar ---------- */
.cc-header {
  position: relative;
  z-index: var(--cc-z);
  width: 100%;
  margin: 0;
  padding: 0;
  background: var(--cc-bg);
  border-bottom: var(--cc-bw) solid var(--cc-border);
}
.cc-is-sticky .cc-header { position: fixed; top: 0; left: 0; right: 0; }
body.admin-bar .cc-is-sticky .cc-header { top: 32px; }
@media (max-width: 782px) { body.admin-bar .cc-is-sticky .cc-header { top: 46px; } }

.cc-header .cc-header__in {
  width: 100%;
  max-width: var(--cc-maxw);
  margin: 0 auto;
  padding: 0 var(--cc-gutter);
  height: var(--cc-h);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}

/* ---------- logo ---------- */
.cc-header .cc-header__logo {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  font-family: "Cormorant Garamond", "Cormorant", Georgia, "Times New Roman", serif;
  font-size: 23.2px;
  font-weight: 500;
  letter-spacing: .04em;
  text-transform: uppercase;
  line-height: 1.65;
  color: var(--cc-logo);
  white-space: nowrap;
  text-decoration: none;
  background: none;
  border: 0;
  box-shadow: none;
}
.cc-header .cc-header__logo:hover,
.cc-header .cc-header__logo:focus { color: var(--cc-logo-hover); background: none; }
.cc-header .cc-header__logo img { display: block; width: 150px; max-width: 100%; height: auto; max-height: calc(var(--cc-h) - 16px); object-fit: contain; }

/* ---------- desktop menu ---------- */
.cc-header .cc-header__nav {
  display: flex;
  align-items: center;
  gap: var(--cc-gap);
  margin: 0;
  padding: 0;
}
.cc-header .cc-header__nav a,
.cc-header .cc-nav__btn {
  font-family: "Manrope", "Helvetica Neue", Arial, sans-serif;
  font-size: 12px;
  font-weight: 500;
  letter-spacing: .14em;
  line-height: 1.65;
  text-transform: uppercase;
  color: var(--cc-link);
  background: none;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  padding: 6px 0;
  margin: 0;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  text-decoration: none;
  cursor: pointer;
}
.cc-header .cc-header__nav a:hover,
.cc-header .cc-nav__btn:hover { color: var(--cc-hover); background: none; }
.cc-header .cc-nav__btn:focus,
.cc-header .cc-nav__btn:active { background: none; }
.cc-header .cc-header__nav a[aria-current="page"],
.cc-header .cc-nav__btn.is-current { color: var(--cc-active); }
.cc-underline .cc-header__nav a[aria-current="page"] {
  text-decoration: underline;
  text-underline-offset: 8px;
  text-decoration-thickness: 1px;
}
.cc-ico { width: 14px; height: 14px; flex: none; stroke: currentColor; fill: none; stroke-width: 1.6; }

/* ---------- dropdown ---------- */
.cc-header .cc-has-sub { position: relative; }
.cc-header .cc-has-sub::after { content: ""; position: absolute; left: 0; right: 0; top: 100%; height: 20px; }
.cc-header .cc-sub {
  position: absolute;
  top: calc(100% + 18px);
  left: -20px;
  min-width: 210px;
  width: max-content;
  margin: 0;
  padding: 8px 0;
  display: none;
  z-index: 2;
  background: var(--cc-sub-bg);
  border: 1px solid var(--cc-sub-border);
}
.cc-header .cc-has-sub.is-open .cc-sub,
.cc-header .cc-has-sub:hover .cc-sub,
.cc-header .cc-has-sub:focus-within .cc-sub { display: block; }
.cc-header .cc-sub a { display: block; padding: 11px 20px; white-space: nowrap; }
.cc-header .cc-sub a:hover { background: var(--cc-sub-hover); }

/* ---------- burger (shown by the per-widget breakpoint rule) ---------- */
.cc-header .cc-header__burger {
  display: none;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  padding: 0;
  margin: 0;
  background: none;
  border: 1px solid var(--cc-burger);
  border-radius: 0;
  box-shadow: none;
  color: var(--cc-burger);
  cursor: pointer;
}
.cc-header .cc-header__burger:hover,
.cc-header .cc-header__burger:focus,
.cc-header .cc-header__burger:active { background: none; color: var(--cc-burger); }
.cc-header__burger span,
.cc-header__burger span::before,
.cc-header__burger span::after {
  display: block;
  position: relative;
  content: "";
  width: 18px;
  height: 1px;
  background: var(--cc-burger);
  transition: transform .25s, background .25s;
}
.cc-header__burger span::before { position: absolute; top: -6px; left: 0; }
.cc-header__burger span::after { position: absolute; top: 6px; left: 0; }
.cc-menu-open .cc-header__burger span { background: transparent; }
.cc-menu-open .cc-header__burger span::before { transform: translateY(6px) rotate(45deg); }
.cc-menu-open .cc-header__burger span::after { transform: translateY(-6px) rotate(-45deg); }

/* ---------- accessibility ---------- */
.cc-header a:focus-visible,
.cc-header button:focus-visible { outline: 2px solid #B0122A; outline-offset: 3px; }

@media (prefers-reduced-motion: reduce) {
  .cc-header-wrap *, .cc-header-wrap *::before, .cc-header-wrap *::after { transition-duration: .001ms !important; }
}
