/* =====================================================
   GCT Hamburger Menu Overlay – icon-only + floating panel
   ===================================================== */

.gct-hm{
  display:inline-flex;
  align-items:center;
  justify-content:center;
}

/* Icon-only button (no border/box) */
.gct-hm__btn{
  background:transparent;
  border:none;
  padding:6px;
  margin:0;
  cursor:pointer;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}

/* Subtle focus ring for accessibility */
.gct-hm__btn:focus-visible{
  outline:2px solid rgba(201,162,74,0.55);
  outline-offset:3px;
  border-radius:10px;
}

.gct-hm__icon{
  width:24px;
  height:16px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
}

.gct-hm__icon span{
  display:block;
  height:2px;
  width:100%;
  background:var(--gct-hm-accent,#C9A24A);
  border-radius:2px;
  transition:transform 180ms ease, opacity 180ms ease;
}

/* X state */
.gct-hm.is-open .gct-hm__icon span:nth-child(1){ transform: translateY(7px) rotate(45deg); }
.gct-hm.is-open .gct-hm__icon span:nth-child(2){ opacity:0; }
.gct-hm.is-open .gct-hm__icon span:nth-child(3){ transform: translateY(-7px) rotate(-45deg); }

.gct-hm__sr{
  position:absolute;
  left:-9999px;
  width:1px;
  height:1px;
  overflow:hidden;
}

/* Panel is positioned FIXED so it never expands header */
.gct-hm__panel{
  position:fixed; /* out of document flow */
  top:-9999px;
  left:-9999px;

  z-index:99999;
  width:var(--gct-hm-panelw, 320px);
  max-width:min(520px, calc(100vw - 24px));
  background:var(--gct-hm-bg,#2b2a27);
  border:1px solid rgba(244,241,236,0.14);
  border-radius:14px;
  box-shadow:0 18px 44px rgba(0,0,0,0.28);
  overflow:hidden;

  opacity:0;
  visibility:hidden;
  transform:translateY(-8px);
  pointer-events:none;
  transition: opacity 180ms ease, transform 180ms ease, visibility 0s linear 180ms;
}

.gct-hm__panel.is-open{
  opacity:1;
  visibility:visible;
  transform:translateY(0);
  pointer-events:auto;
  transition: opacity 180ms ease, transform 180ms ease, visibility 0s;
}

/* List styling (works for both WP menus and custom list) */
.gct-hm__nav ul{
  list-style:none;
  margin:0;
  padding:8px 0;
}

.gct-hm__nav li{ margin:0; }

.gct-hm__link,
.gct-hm__nav a{
  display:block;
  padding: var(--gct-hm-py,12px) var(--gct-hm-px,16px);
  color:var(--gct-hm-text,#F4F1EC);
  text-decoration:none;
  font-size:15px;
  line-height:1.35;
}

.gct-hm__nav a:hover{
  background:rgba(244,241,236,0.08);
}

/* Section header (non-clickable) */
.gct-hm__section{
  display:block;
  padding: calc(var(--gct-hm-py,12px) + 2px) var(--gct-hm-px,16px);
  color: var(--gct-hm-accent,#C9A24A);
  font-size:16px; /* slightly larger than links */
  font-weight:600;
  line-height:1.25;
  cursor:default;
  user-select:none;
}

/* Divider */
.gct-hm__divider{
  height:1px;
  margin:6px 0;
  background: rgba(244,241,236,0.12);
}

/* Button-style item inside panel */
.gct-hm__btnlink{
  display:block;
  margin: 6px var(--gct-hm-px,16px) 10px;
  padding: 12px 14px;
  border-radius:12px;
  text-align:center;
  border:1px solid rgba(244,241,236,0.18);
  color:var(--gct-hm-text,#F4F1EC);
  text-decoration:none;
}

.gct-hm__btnlink.is-primary{
  border-color: rgba(201,162,74,0.55);
  background: rgba(201,162,74,0.14);
}

/* Notice */
.gct-hm__notice{
  padding:12px 14px;
  font-size:13px;
  color:var(--gct-hm-text,#F4F1EC);
}
