/* KVC header menu, mobile drawer, bottom bar and footer layout. Tokens only (theme.json presets). */
:root { --kvc-tint: color-mix(in srgb, var(--wp--preset--color--blue) 8%, var(--wp--preset--color--white)); --kvc-nav-bp: 1320px; }

.kvc-header { position: relative; border-bottom: 1px solid var(--wp--preset--color--line); }
.kvc-hd__row { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding-block: .75rem; }
.kvc-hd button { font: inherit; color: inherit; }

/* Mobile first: the menu is a full-screen drawer */
.kvc-hd__burger { display: inline-flex; align-items: center; gap: .5rem; min-height: 2.75rem; padding: 0 .85rem; border: 1px solid var(--wp--preset--color--line); border-radius: var(--wp--custom--radius--button); background: var(--kvc-tint); font-weight: 700; cursor: pointer; }
.kvc-hd__cta { display: none; }
.kvc-menu { display: none; }
.kvc-hd.is-open .kvc-menu { display: block; position: fixed; inset: 0; z-index: 300; overflow-y: auto; padding: 0 1rem 6rem; background: var(--wp--preset--color--white); }
html.kvc-lock { overflow: hidden; }
.kvc-menu__top { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding-block: .75rem; border-bottom: 1px solid var(--wp--preset--color--line); }
.kvc-hd__close { display: grid; place-items: center; width: 2.75rem; height: 2.75rem; border: 0; border-radius: var(--wp--custom--radius--button); background: var(--kvc-tint); cursor: pointer; }
.kvc-menu__eyebrow { margin: 0 0 .6rem; font-size: 12px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: var(--wp--preset--color--muted); }
.kvc-menu__chips { padding-block: 1rem; }
.kvc-menu__chips ul { display: grid; grid-template-columns: 1fr 1fr; gap: .5rem; margin: 0; padding: 0; list-style: none; }
.kvc-menu__chips a { display: flex; align-items: center; min-height: 2.75rem; padding: .5rem .75rem; border-radius: var(--wp--custom--radius--button); background: var(--kvc-tint); font-weight: 600; font-size: .95rem; line-height: 1.25; }
.kvc-menu a { color: var(--wp--preset--color--ink); text-decoration: none; }
.kvc-menu__list { margin: 0; padding: 0; list-style: none; }
.kvc-menu__item { border-bottom: 1px solid var(--wp--preset--color--line); }
.kvc-menu__btn { display: flex; align-items: center; justify-content: space-between; width: 100%; min-height: 3.25rem; padding: 0; border: 0; background: none; font-weight: 600; font-size: 1.05rem; text-align: left; cursor: pointer; }
.kvc-menu__btn { white-space: nowrap; }
.kvc-menu__chev { transition: transform .15s; flex: 0 0 auto; }
.kvc-menu__btn[aria-expanded="true"] { color: var(--wp--preset--color--blue); }
.kvc-menu__btn[aria-expanded="true"] .kvc-menu__chev { transform: rotate(180deg); }
.kvc-panel ul { margin: 0; padding: 0 0 .75rem .75rem; list-style: none; }
.kvc-panel li a { display: block; padding: .5rem 0; font-size: .95rem; }
.kvc-panel--mega .kvc-panel__inner { padding-bottom: .75rem; }
.kvc-panel__col { padding-left: .75rem; }
.kvc-panel__col ul { padding-left: 0; }
.kvc-promo { margin: .5rem 0 .5rem .75rem; padding: 1rem; border-radius: var(--wp--custom--radius--panel); background: var(--kvc-tint); }
.kvc-promo p { margin: 0 0 .5rem; }
.kvc-promo .kvc-menu__eyebrow { color: var(--wp--preset--color--blue); }
.kvc-promo__title { font-weight: 800; font-size: 1.1rem; line-height: 1.25; }
.kvc-promo__btn { display: inline-block; margin-top: .25rem; background: var(--wp--preset--color--blue); color: var(--wp--preset--color--white) !important; }

/* Bottom bar on phones */
.kvc-dock { position: fixed; left: 0; right: 0; bottom: 0; z-index: 400; display: flex; gap: .5rem; padding: .6rem 1rem calc(.6rem + env(safe-area-inset-bottom)); border-top: 1px solid var(--wp--preset--color--line); background: var(--wp--preset--color--white); }
.kvc-dock__book { flex: 1; text-align: center; white-space: nowrap; }
.kvc-dock__wa { display: grid; place-items: center; width: 3rem; flex: 0 0 3rem; border: 1px solid var(--wp--preset--color--green); border-radius: var(--wp--custom--radius--button); color: var(--wp--preset--color--green); text-decoration: none; }
.kvc-dock a:focus-visible, .kvc-menu a:focus-visible, .kvc-hd button:focus-visible { outline: 2px solid var(--wp--preset--color--blue); outline-offset: 2px; }

/* Desktop */
@media (min-width: 1320px) {
  .kvc-dock, .kvc-hd__burger, .kvc-menu__top, .kvc-menu__chips { display: none; }
  .kvc-hd__cta { display: inline-block; white-space: nowrap; }
  .kvc-menu, .kvc-hd.is-open .kvc-menu { display: block; position: static; padding: 0; overflow: visible; background: none; inset: auto; margin-inline: auto 0; }
  .kvc-menu__list { display: flex; align-items: center; gap: .1rem; }
  .kvc-menu__item { position: relative; border: 0; }
  .kvc-menu__item--mega { position: static; }
  .kvc-menu__btn { width: auto; min-height: 2.75rem; gap: .4rem; padding: 0 .5rem; border-radius: var(--wp--custom--radius--button); font-size: .93rem; }
  .kvc-menu__btn:hover, .kvc-menu__btn[aria-expanded="true"] { background: var(--kvc-tint); }
  .kvc-panel { position: absolute; top: calc(100% + 4px); left: 0; z-index: 250; min-width: 15rem; padding: .5rem; border: 1px solid var(--wp--preset--color--line); border-radius: var(--wp--custom--radius--panel); background: var(--wp--preset--color--white); box-shadow: 0 18px 40px -24px rgba(16, 32, 46, .35); }
  .kvc-panel ul { padding: 0; }
  .kvc-panel li a { padding: .45rem .6rem; border-radius: 4px; }
  .kvc-panel li a:hover { background: var(--kvc-tint); }
  .kvc-panel--mega { top: 100%; left: 0; right: 0; min-width: 0; padding: 0; border-width: 1px 0 0; border-radius: 0; }
  .kvc-panel--mega .kvc-panel__inner { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)) minmax(15rem, 1.3fr); gap: 2rem; max-width: 1180px; margin-inline: auto; padding: 1.75rem 28px 2rem; }
  .kvc-panel__col { padding-left: 0; }
  .kvc-promo { margin: 0; align-self: start; }
}

/* Footer */
.kvc-fcols { display: grid; grid-template-columns: repeat(auto-fit, minmax(11rem, 1fr)); gap: 2rem; }
.kvc-fbrand { grid-column: 1 / -1; max-width: 26rem; }
@media (min-width: 1320px) { .kvc-fcols { grid-template-columns: minmax(16rem, 1.6fr) repeat(6, minmax(0, 1fr)); } .kvc-fbrand { grid-column: auto; } }
.kvc-fbrand p { margin: 1rem 0 0; font-size: .9rem; line-height: 1.55; color: var(--kvc-text-on-ink); }
.kvc-fbrand .kvc-brand { color: var(--wp--preset--color--white); }
.kvc-fbrand .kvc-brand__name { font-size: 1.15rem; }
.kvc-footer__lower { display: grid; grid-template-columns: minmax(0, 1fr); gap: 2rem; margin-block-start: 2.5rem; padding-block-start: 1.5rem; border-top: 1px solid var(--kvc-line-on-ink); }
@media (min-width: 900px) { .kvc-footer__lower { grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr); gap: 3rem; } }
.kvc-footer__lower .kvc-footer__disclosure { margin: 0; padding: 0; border: 0; }
.kvc-footer__newshead { margin: 0 0 .75rem; }
.kvc-footer__news .kvc-consent { margin: .75rem 0 0; font-size: 12px; line-height: 1.5; color: var(--kvc-text-on-ink); }
.kvc-footer__news .kvc-consent a { color: var(--wp--preset--color--white); text-decoration: underline; }
.kvc-footer__copy { margin: 0; padding-block-start: .75rem; font-size: 12px; color: var(--kvc-text-on-ink); }
@media (max-width: 1319px) { .kvc-footer { padding-bottom: calc(32px + 4rem); } }
@media (prefers-reduced-motion: reduce) { .kvc-menu__chev { transition: none; } }
@media (max-width: 479px) {
  .kvc-hd__burger { padding: 0 .75rem; }
  .kvc-hd__burger span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
  .kvc-hd__row > .kvc-brand .kvc-brand__text { white-space: normal; }
  .kvc-hd__row > .kvc-brand .kvc-brand__name { font-size: .95rem; }
}
@media (max-width: 599px) { .kvc-strip__wa { display: none; } }

/* Client login and social links */
.kvc-menu__login, .kvc-footer__login { display: inline-flex; align-items: center; justify-content: center; min-height: 2.75rem; padding: .5rem 1.1rem; border: 1px solid var(--wp--preset--color--blue); border-radius: var(--wp--custom--radius--button); font-weight: 700; text-decoration: none; }
.kvc-menu__login { display: flex; margin: 1.25rem 0 0; color: var(--wp--preset--color--blue) !important; }
.kvc-footer__login { margin-top: 1rem; border-color: var(--wp--preset--color--white); color: var(--wp--preset--color--white); }
.kvc-footer__login:hover { background: var(--wp--preset--color--white); color: var(--wp--preset--color--ink); text-decoration: none; }
.kvc-social { display: flex; flex-wrap: wrap; gap: .5rem; margin: 1rem 0 0 !important; }
.kvc-social__link { display: inline-grid; place-items: center; min-width: 2.5rem; min-height: 2.5rem; padding: 0 .6rem; border: 1px solid var(--kvc-line-on-ink); border-radius: var(--wp--custom--radius--button); font-size: .85rem; font-weight: 600; text-decoration: none; }
.kvc-social__link:hover { background: var(--wp--preset--color--white); color: var(--wp--preset--color--ink); }
.kvc-strip__login a { font-weight: 700; }
@media (min-width: 1320px) { .kvc-menu__login { display: none; } }
@media (max-width: 599px) { .kvc-strip__login { display: none; } }
