/**
 * header-footer.css — Blackwood Collections
 * Nav fijo + Footer. Consume var(). No define variables.
 */

/* ── bw-nav ────────────────────────────────────────────── */
.bw-nav { position: fixed; top: 0; left: 0; right: 0; z-index: 100; transition: background-color 0.5s ease, border-color 0.5s ease, backdrop-filter 0.5s ease; border-bottom: 1px solid transparent; }
.bw-nav--on-light, .bw-nav--on-dark { background: transparent; }
.bw-nav--scrolled { background-color: rgba(var(--bw-rgb-dark), 0.95); backdrop-filter: blur(24px); -webkit-backdrop-filter: blur(24px); border-color: rgba(var(--bw-rgb-white), 0.04); }
.bw-nav__inner { display: flex; align-items: center; justify-content: space-between; height: var(--bw-nav-height); }

/* Logo */
.bw-nav__logo { display: flex; align-items: center; gap: 0.75rem; text-decoration: none; position: relative; z-index: 1; flex-shrink: 0; }
.bw-nav__iso { width: 2.25rem; height: 2.25rem; border-radius: 0.75rem; background-color: var(--bw-color-blue); display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.bw-nav__wordmark { display: none; font-family: var(--bw-font-primary); font-size: 1rem; font-weight: var(--bw-font-weight-med); letter-spacing: -0.02em; line-height: 1; }
@media (min-width: 480px) { .bw-nav__wordmark { display: block; } }
.bw-nav__wordmark--dark  { color: var(--bw-color-dark); }
.bw-nav__wordmark--white { color: var(--bw-color-white); display: none; }
.bw-nav--on-dark .bw-nav__wordmark--dark,
.bw-nav--scrolled .bw-nav__wordmark--dark  { display: none; }
.bw-nav--on-dark .bw-nav__wordmark--white,
.bw-nav--scrolled .bw-nav__wordmark--white { display: block; }

/* Links desktop */
.bw-nav__links { display: none; align-items: center; gap: 0.25rem; }
@media (min-width: 1024px) { .bw-nav__links { display: flex; } }
.bw-nav__link { display: inline-flex; align-items: center; gap: 0.25rem; padding: 0.5em 1em; border-radius: var(--bw-radius-pill); font-size: 0.9375rem; text-decoration: none; transition: color var(--bw-transition-fast), background-color var(--bw-transition-fast); font-family: var(--bw-font-primary); font-weight: var(--bw-font-weight-reg); background: transparent; border: none; cursor: pointer; }
.bw-nav--on-light .bw-nav__link { color: rgba(var(--bw-rgb-dark), 0.50); }
.bw-nav--on-light .bw-nav__link:hover, .bw-nav--on-light .bw-nav__link--active { color: var(--bw-color-dark); background-color: rgba(var(--bw-rgb-dark), 0.06); }
.bw-nav--on-dark .bw-nav__link, .bw-nav--scrolled .bw-nav__link { color: rgba(var(--bw-rgb-white), 0.50); }
.bw-nav--on-dark .bw-nav__link:hover, .bw-nav--on-dark .bw-nav__link--active, .bw-nav--scrolled .bw-nav__link:hover, .bw-nav--scrolled .bw-nav__link--active { color: var(--bw-color-white); background-color: rgba(var(--bw-rgb-white), 0.06); }

/* Dropdown */
.bw-nav__dropdown { position: relative; }
.bw-nav__chevron { transition: transform var(--bw-transition-fast); flex-shrink: 0; }
.bw-nav__dropdown--open .bw-nav__chevron { transform: rotate(180deg); }
.bw-nav__dropdown-panel { position: absolute; top: calc(100% + 0.75rem); left: 0; min-width: 240px; background-color: #141419; border: 1px solid rgba(var(--bw-rgb-white), 0.06); border-radius: var(--bw-radius-lg); box-shadow: 0 24px 64px rgba(0,0,0,0.40); padding: 0.5rem; opacity: 0; transform: translateY(8px); pointer-events: none; transition: opacity 0.15s ease, transform 0.15s ease; }
.bw-nav__dropdown--open .bw-nav__dropdown-panel { opacity: 1; transform: translateY(0); pointer-events: auto; }
.bw-nav__dropdown-item { display: block; padding: 0.65rem 1rem; border-radius: 0.75rem; font-size: 0.9375rem; color: rgba(var(--bw-rgb-white), 0.60); text-decoration: none; transition: color var(--bw-transition-fast), background-color var(--bw-transition-fast); }
.bw-nav__dropdown-item:hover { color: var(--bw-color-white); background-color: rgba(var(--bw-rgb-white), 0.04); }
.bw-nav__dropdown-item--active { color: var(--bw-color-blue); background-color: rgba(var(--bw-rgb-blue), 0.10); }

/* CTA desktop */
.bw-nav__cta { display: none; }
@media (min-width: 1024px) { .bw-nav__cta { display: flex; align-items: center; gap: 0.75rem; } }
.bw-nav__cta-btn { font-size: 0.9375rem; padding: 0.65em 1.5em; }

/* Burger */
.bw-nav__burger { display: flex; align-items: center; justify-content: center; background: transparent; border: none; cursor: pointer; padding: 0.25rem; position: relative; z-index: 1; transition: color var(--bw-transition-fast); }
@media (min-width: 1024px) { .bw-nav__burger { display: none; } }
.bw-nav--on-light .bw-nav__burger { color: var(--bw-color-dark); }
.bw-nav--on-dark .bw-nav__burger, .bw-nav--scrolled .bw-nav__burger { color: var(--bw-color-white); }
.bw-nav__burger-icon { display: flex; }

/* Mobile drawer */
.bw-nav__mobile { background-color: #141419; border-bottom: 1px solid rgba(var(--bw-rgb-white), 0.04); overflow: hidden; max-height: 0; transition: max-height 0.35s ease; }
.bw-nav__mobile:not([hidden]) { max-height: 600px; }
.bw-nav__mobile[hidden] { display: block !important; max-height: 0; pointer-events: none; }
.bw-nav__mobile-inner { padding: 0.5rem 1.5rem 1.5rem; }
.bw-nav__mobile-link { display: block; padding: 0.75rem 0; font-size: 0.9375rem; color: rgba(var(--bw-rgb-white), 0.50); text-decoration: none; transition: color var(--bw-transition-fast); border-bottom: 1px solid rgba(var(--bw-rgb-white), 0.04); }
.bw-nav__mobile-link:last-of-type { border-bottom: none; }
.bw-nav__mobile-link:hover { color: var(--bw-color-white); }
.bw-nav__mobile-divider { border: none; border-top: 1px solid rgba(var(--bw-rgb-white), 0.06); margin: 0.5rem 0; }
.bw-nav__mobile-cta { display: block; text-align: center; margin-top: 1rem; font-size: 0.9375rem; }

/* ── bw-footer ─────────────────────────────────────────── */
.bw-footer { background-color: var(--bw-color-dark); border-top: 1px solid rgba(var(--bw-rgb-white), 0.04); }
.bw-footer .bw-container { padding-top: 5rem; padding-bottom: 5rem; }
.bw-footer__grid { display: grid; grid-template-columns: 1fr; gap: 3rem; margin-bottom: 4rem; }
@media (min-width: 768px)  { .bw-footer__grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .bw-footer__grid { grid-template-columns: repeat(4, 1fr); gap: 2rem; } }
.bw-footer__logo { display: inline-flex; align-items: center; gap: 0.75rem; text-decoration: none; margin-bottom: 1.5rem; }
.bw-footer__site-name { font-family: var(--bw-font-primary); font-size: 1rem; font-weight: var(--bw-font-weight-med); color: var(--bw-color-white); }
.bw-footer__tagline { font-size: 0.9375rem; color: rgba(var(--bw-rgb-white), 0.30); line-height: 1.65; max-width: 18rem; margin: 0; }
.bw-footer__col-title { font-size: var(--bw-text-xs); letter-spacing: 0.2em; text-transform: uppercase; color: rgba(var(--bw-rgb-white), 0.30); font-weight: var(--bw-font-weight-reg); margin: 0 0 1.5rem; }
.bw-footer__list { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 0.75rem; }
.bw-footer__link { font-size: 0.9375rem; color: rgba(var(--bw-rgb-white), 0.40); text-decoration: none; transition: color var(--bw-transition-fast); display: inline-block; }
.bw-footer__link:hover { color: var(--bw-color-white); }
.bw-footer__cta-btn { display: inline-flex; align-items: center; gap: 0.5rem; border: 1px solid var(--bw-color-blue); color: var(--bw-color-blue); padding: 0.75em 1.5em; border-radius: var(--bw-radius-pill); font-size: 0.9375rem; text-decoration: none; transition: background-color var(--bw-transition-base), color var(--bw-transition-base); margin-bottom: 1rem; }
.bw-footer__cta-btn:hover { background-color: var(--bw-color-blue); color: var(--bw-color-white); }
.bw-footer__cta-sub { font-size: 0.9375rem; color: rgba(var(--bw-rgb-white), 0.30); margin: 0; }
.bw-footer__cta-link { color: var(--bw-color-blue); text-decoration: none; }
.bw-footer__cta-link:hover { text-decoration: underline; }
.bw-footer__bottom { border-top: 1px solid rgba(var(--bw-rgb-white), 0.04); padding-top: 2rem; display: flex; flex-direction: column; gap: 1rem; align-items: center; }
@media (min-width: 768px) { .bw-footer__bottom { flex-direction: row; justify-content: space-between; } }
.bw-footer__copy { font-size: var(--bw-text-xs); color: rgba(var(--bw-rgb-white), 0.20); margin: 0; }
.bw-footer__legal { display: flex; gap: 1.5rem; }
.bw-footer__legal-link { font-size: var(--bw-text-xs); color: rgba(var(--bw-rgb-white), 0.20); text-decoration: none; transition: color var(--bw-transition-fast); }
.bw-footer__legal-link:hover { color: rgba(var(--bw-rgb-white), 0.40); }
