/*
 * LinenCraft Atelier — Header Frontend Styles
 *
 * @package LinenCraftAtelier
 * @author  Yuki Tanaka <yuki@anadevs.com>
 * @since   1.0.0
 */

/* ── Header Shell ────────────────────────────────────────────────────────── */
.lca-header {
  position: relative;
  z-index: 1000;
  width: 100%;
}

/* ── Header Rows ─────────────────────────────────────────────────────────── */
.lca-header__row {
  width: 100%;
  display: flex;
  align-items: center;
}

.lca-header__row--topbar {
  background: var(--color-accent, #2C4A3E);
  color: #fff;
  min-height: var(--lca-header-row-height, 40px);
  font-size: 13px;
}

.lca-header__row--main {
  background: var(--color-bg-menu, #F8FAF4);
  min-height: var(--lca-header-row-height, 80px);
  border-bottom: 1px solid var(--color-border, #D8D0C5);
}

.lca-header__row--bottom {
  background: var(--color-bg-secondary, #EDE8E1);
  min-height: var(--lca-header-row-height, 48px);
  border-bottom: 1px solid var(--color-border, #D8D0C5);
}

/* ── Sticky Rows ─────────────────────────────────────────────────────────── */
.lca-header__row.is-sticky {
  position: sticky;
  top: 0;
  z-index: 1001;
}

.lca-header__row.is-sticky.is-scrolled {
  box-shadow: 0 2px 12px rgba(0, 0, 0, .08);
}

/* Smart-hide: slide up when scrolling down, reveal when scrolling up */
.lca-header__row.has-smart-hide {
  transition: transform .3s ease;
}
.lca-header__row.has-smart-hide.is-hidden-smart {
  transform: translateY(-100%);
}

/* ── Container ───────────────────────────────────────────────────────────── */
.lca-header__container {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  max-width: var(--container-width, 1200px);
  margin: 0 auto;
  padding: 0 var(--spacing-md, 24px);
  gap: 16px;
}

/* ── Zones ───────────────────────────────────────────────────────────────── */
.lca-header__zone {
  display: flex;
  align-items: center;
  gap: 12px;
}

.lca-header__zone--left  { flex: 1; justify-content: flex-start; }
.lca-header__zone--center{ flex: 1; justify-content: center; }
.lca-header__zone--right { flex: 1; justify-content: flex-end; }

/* ── Logo ────────────────────────────────────────────────────────────────── */
.lca-logo {
  display: inline-flex;
  align-items: center;
  text-decoration: none;
  flex-shrink: 0;
}

.lca-logo__img {
  height: auto;
  max-height: 60px;
  display: block;
}

.lca-logo__text {
  font-size: 22px;
  font-weight: 700;
  color: var(--color-accent, #2C4A3E);
  font-family: var(--font-heading, 'Playfair Display', serif);
  letter-spacing: -0.5px;
}

/* ── Navigation ──────────────────────────────────────────────────────────── */
.lca-nav {
  display: flex;
  list-style: none;
  margin: 0;
  padding: 0;
  gap: 4px;
}

.lca-nav li { position: relative; }

.lca-nav a {
  display: block;
  padding: 8px 14px;
  font-size: 14px;
  font-weight: 500;
  color: var(--color-text-body, #4A4A4A);
  text-decoration: none;
  border-radius: 6px;
  transition: color .2s, background .2s;
  white-space: nowrap;
}

.lca-nav a:hover,
.lca-nav .current-menu-item > a {
  color: var(--color-accent, #2C4A3E);
  background: var(--color-bg-secondary, #EDE8E1);
}

/* ── Cart / Account Icons ────────────────────────────────────────────────── */
.lca-cart-icon,
.lca-account-icon {
  position: relative;
  display: inline-flex;
  align-items: center;
  color: var(--color-text-body, #4A4A4A);
  text-decoration: none;
  padding: 6px;
  border-radius: 6px;
  transition: color .2s, background .2s;
}

.lca-cart-icon:hover,
.lca-account-icon:hover {
  color: var(--color-accent, #2C4A3E);
  background: var(--color-bg-secondary, #EDE8E1);
}

.lca-cart-count {
  position: absolute;
  top: 0;
  right: 0;
  background: var(--color-accent, #2C4A3E);
  color: #fff;
  font-size: 10px;
  font-weight: 700;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  transform: translate(25%, -25%);
}

/* ── Header Button ───────────────────────────────────────────────────────── */
.lca-btn--header {
  display: inline-flex;
  align-items: center;
  padding: 9px 20px;
  background: var(--color-accent, #2C4A3E);
  color: var(--color-btn-text, #fff);
  font-size: 14px;
  font-weight: 600;
  border-radius: 6px;
  text-decoration: none;
  white-space: nowrap;
  transition: background .2s, transform .15s;
}

.lca-btn--header:hover {
  background: var(--color-accent-hover, #1E3329);
  transform: translateY(-1px);
}

/* ── Dark Mode Toggle ────────────────────────────────────────────────────── */
.lca-darkmode-toggle {
  background: none;
  border: 1px solid var(--color-border, #D8D0C5);
  border-radius: 6px;
  padding: 6px;
  cursor: pointer;
  display: inline-flex;
  color: var(--color-text-body, #4A4A4A);
  transition: color .2s, border-color .2s;
}
.lca-darkmode-toggle:hover { color: var(--color-accent, #2C4A3E); border-color: var(--color-accent, #2C4A3E); }

/* ── Skip Link ───────────────────────────────────────────────────────────── */
.lca-skip-link.screen-reader-text {
  clip: rect(1px, 1px, 1px, 1px);
  position: absolute;
  height: 1px;
  width: 1px;
  overflow: hidden;
}
.lca-skip-link.screen-reader-text:focus {
  background: var(--color-accent, #2C4A3E);
  clip: auto;
  color: #fff;
  display: block;
  font-size: 14px;
  font-weight: 600;
  height: auto;
  left: 6px;
  padding: 10px 20px;
  top: 6px;
  width: auto;
  z-index: 9999;
  border-radius: 4px;
}

/* ── Contact elements ────────────────────────────────────────────────────── */
.lca-contact-phone,
.lca-contact-email {
  font-size: 13px;
  color: inherit;
  text-decoration: none;
  opacity: .85;
}
.lca-contact-phone:hover,
.lca-contact-email:hover { opacity: 1; text-decoration: underline; }

/* ── Responsive ──────────────────────────────────────────────────────────── */
@media (max-width: 768px) {
  .lca-header__zone--center { display: none; }
  .lca-header__row--topbar   { display: none; }
}

/* ═══ Builder Header Rows ═══════════════════════════════════════════════════ */
.site-header--builder { display:block; overflow:visible; }
.lca-header__row { width:100%; overflow:visible; }
.lca-header__row-inner { display:flex;align-items:center;justify-content:space-between;gap:16px;overflow:visible; }
.lca-header__row--topbar { background:#2C4A3E;color:#fff;font-size:13px; }
.lca-header__row--topbar a { color:#fff; }
.lca-header__row--main { background:#fff;border-bottom:1px solid #E5E7EB;min-height:80px; }
.lca-header__row--bottom { background:#F9FAFB;border-bottom:1px solid #E5E7EB;min-height:48px; }
.lca-header__row.is-sticky { position:sticky;top:0;z-index:1000;box-shadow:0 2px 12px rgba(0,0,0,.08);overflow:visible; }
.admin-bar .lca-header__row.is-sticky { top:32px; }
.lca-header__zone { display:flex;align-items:center;gap:12px;flex:1;min-width:0; }
.lca-header__zone--center { justify-content:center; }
.lca-header__zone--right  { justify-content:flex-end; }
.lca-header__logo { display:inline-flex;align-items:center;text-decoration:none; }
.lca-header__logo-text { font-size:22px;font-weight:700;color:#2C4A3E;letter-spacing:-.3px; }
.lca-header__logo-img { height:48px;width:auto; }
.lca-header__nav ul.nav__menu { display:flex;list-style:none;margin:0;padding:0;gap:4px; }
.lca-header__nav .nav__menu-link,.lca-header__nav .nav__trigger { padding:8px 14px;font-size:14px;font-weight:500;color:#374151;text-decoration:none;border:none;background:none;cursor:pointer;border-radius:6px;transition:color .15s,background .15s;display:flex;align-items:center;gap:4px; }
.lca-header__nav .nav__menu-link:hover,.lca-header__nav .nav__trigger:hover { color:#2C4A3E;background:rgba(44,74,62,.06); }
.lca-header__nav .nav__dropdown { display:none;position:absolute;top:100%;left:0;background:#fff;border:1px solid #E5E7EB;border-radius:8px;box-shadow:0 8px 24px rgba(0,0,0,.1);list-style:none;margin:4px 0 0;padding:6px;min-width:180px;z-index:200; }
.lca-header__nav .nav__item { position:relative; }
.lca-header__nav .nav__item.is-open > .nav__dropdown { display:block; }
.lca-header__nav .nav__dropdown-item { display:block;padding:8px 12px;color:#374151;text-decoration:none;font-size:14px;border-radius:5px; }
.lca-header__nav .nav__dropdown-item:hover { background:rgba(44,74,62,.06);color:#2C4A3E; }
.lca-header__search form { display:flex;align-items:center;gap:6px; }
.lca-header__search input[type=search] { padding:7px 12px;border:1px solid #D1D5DB;border-radius:20px;font-size:13px;width:180px;transition:border-color .15s; }
.lca-header__search input[type=search]:focus { outline:none;border-color:#2C4A3E; }
.lca-header__cart { position:relative;display:flex;align-items:center;padding:8px;color:#374151;text-decoration:none; }
.lca-header__cart:hover { color:#2C4A3E; }
.lca-header__cart-count { position:absolute;top:-2px;right:-2px;background:#2C4A3E;color:#fff;border-radius:50%;width:16px;height:16px;font-size:10px;display:flex;align-items:center;justify-content:center;font-weight:700; }
.lca-header__account { padding:8px;color:#374151;text-decoration:none;display:flex;align-items:center; }
.lca-header__account:hover { color:#2C4A3E; }
.lca-header__btn { display:inline-flex;align-items:center;padding:9px 18px;background:#2C4A3E;color:#fff !important;border-radius:6px;font-size:13px;font-weight:600;text-decoration:none;transition:background .15s; }
.lca-header__btn:hover { background:#1E3329; }
.lca-header__spacer { flex:1; }
.lca-header__divider { width:1px;height:24px;background:#E5E7EB;flex-shrink:0; }

/* ═══ Standalone Top Bar (template-parts/header/top-bar.php) ══════════════ */
.lca-topbar { font-size:13px;line-height:1.4; }
.lca-topbar a { color:inherit;text-decoration:none;opacity:.9; }
.lca-topbar a:hover { opacity:1; }
.header-top-bar__inner { display:flex;align-items:center;justify-content:space-between;gap:16px;padding:8px 0; }
.header-top-bar__left,.header-top-bar__right { display:flex;align-items:center;gap:12px; }
.lca-topbar__left-content p,.lca-topbar__right-content p { margin:0; }
