/*
Theme Name: Hollywood Least Wanted V3.2
Theme URI: https://hollywoodleastwanted.org
Author: Hollywood Least Wanted
Description: A custom editorial block theme for Hollywood Least Wanted — automatic pages, reliable dropdown navigation, active-page highlighting, working forms, and social links.
Version: 3.2.0
Requires at least: 6.6
Requires PHP: 7.4
Text Domain: hollywood-least-wanted
*/

:root {
  --hlw-black:#111111;
  --hlw-cream:#f3efe6;
  --hlw-white:#ffffff;
  --hlw-red:#a51f2d;
  --hlw-muted:#6a665f;
  --hlw-line:rgba(17,17,17,.18);
}

html { scroll-behavior:smooth; }
body { text-rendering:optimizeLegibility; }
a { text-underline-offset:.16em; }
.hlw-kicker { letter-spacing:.15em; text-transform:uppercase; font-weight:700; font-size:.78rem; }
.hlw-display { letter-spacing:-.05em; line-height:.84; text-transform:uppercase; }
.hlw-section-title { letter-spacing:-.04em; line-height:.94; }
.hlw-rule { border-top:1px solid currentColor; opacity:.25; }
.hlw-card { border-top:1px solid var(--hlw-line); padding-top:1.25rem; }
.hlw-card-dark { border-top:1px solid rgba(255,255,255,.22); padding-top:1.25rem; }
.hlw-button .wp-block-button__link { transition:transform .18s ease, opacity .18s ease; }
.hlw-button .wp-block-button__link:hover { transform:translateY(-2px); opacity:.9; }

/* Editorial image placeholders can be replaced with Image/Cover blocks in the editor. */
.hlw-image-placeholder { min-height:500px; background:linear-gradient(145deg,#262626 0%,#111 58%,#431b21 100%); position:relative; overflow:hidden; }
.hlw-image-placeholder:after { content:"LOS ANGELES"; position:absolute; right:1.4rem; bottom:.8rem; color:rgba(255,255,255,.16); font-size:clamp(3rem,8vw,8rem); line-height:.85; font-weight:800; letter-spacing:-.06em; }
.hlw-story-placeholder { min-height:390px; background:linear-gradient(160deg,#ded7ca 0%,#b2a99a 50%,#776e62 100%); }
.hlw-archive-placeholder { min-height:300px; background:linear-gradient(145deg,#d9d1c4,#a89d8c); position:relative; }
.hlw-archive-placeholder:after { content:"FROM THE ARCHIVE"; position:absolute; left:1.25rem; bottom:1rem; color:rgba(17,17,17,.42); font-weight:800; letter-spacing:.09em; font-size:.78rem; }

/* V3.1 navigation: two editorial dropdowns. */
.hlw-site-header { position:relative; z-index:50; border-bottom:1px solid rgba(17,17,17,.10); }
.hlw-main-nav .wp-block-navigation-item { white-space:nowrap; }
.hlw-main-nav .wp-block-navigation-item__content { text-decoration:none; }
.hlw-main-nav .wp-block-navigation__submenu-icon { margin-left:.35rem; }
.hlw-main-nav .wp-block-navigation__submenu-container {
  min-width:285px !important;
  padding:.55rem 0 !important;
  background:var(--hlw-cream) !important;
  border:1px solid rgba(17,17,17,.18) !important;
  border-radius:0 !important;
  box-shadow:0 18px 45px rgba(17,17,17,.10);
}
.hlw-main-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
  display:block;
  padding:.78rem 1.15rem !important;
  color:var(--hlw-black) !important;
  font-size:.79rem;
  font-weight:700;
  letter-spacing:.055em;
  line-height:1.25;
  text-transform:uppercase;
  transition:color .16s ease, background-color .16s ease, padding-left .16s ease;
}
.hlw-main-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover,
.hlw-main-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content:focus {
  color:var(--hlw-red) !important;
  background:rgba(17,17,17,.035) !important;
  padding-left:1.35rem !important;
}
.hlw-main-nav .wp-block-navigation__submenu-container .wp-block-navigation-item + .wp-block-navigation-item { border-top:1px solid rgba(17,17,17,.08); }

/* Timeline */
.hlw-timeline { border-top:1px solid var(--hlw-line); }
.hlw-timeline-item { border-bottom:1px solid var(--hlw-line); padding:1.35rem 0; }
.hlw-year { font-size:clamp(2rem,4vw,4.5rem); line-height:.9; font-weight:800; letter-spacing:-.04em; color:var(--hlw-red); }

/* Press / archive links */
.hlw-source-list .wp-block-group { border-top:1px solid var(--hlw-line); padding:1.25rem 0; }
.hlw-source-list .wp-block-group:last-child { border-bottom:1px solid var(--hlw-line); }
.hlw-source-list a { font-weight:700; text-decoration:none; }
.hlw-source-list a:hover { color:var(--hlw-red); }

/* Small provenance note */
.hlw-note { font-size:.86rem; color:var(--hlw-muted); max-width:60rem; }

@media (max-width:900px){
  .hlw-main-nav { font-size:.82rem; }
}

@media (max-width:781px){
  .hlw-display { font-size:clamp(4rem,20vw,7.5rem)!important; }
  .hlw-image-placeholder { min-height:320px; }
  .hlw-story-placeholder { min-height:280px; }
  .hlw-main-nav .wp-block-navigation__responsive-container.is-menu-open {
    background:var(--hlw-cream) !important;
    color:var(--hlw-black) !important;
    padding:2rem !important;
  }
  .hlw-main-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container {
    min-width:0 !important;
    margin-top:.6rem !important;
    margin-left:.75rem !important;
    padding-left:.85rem !important;
    border:0 !important;
    border-left:1px solid rgba(17,17,17,.2) !important;
    box-shadow:none !important;
  }
}

/* Dedicated History page: keep the timeline editorial and readable. */
.hlw-history-timeline .hlw-timeline-item { gap: 2rem; padding-top: 2rem; padding-bottom: 2rem; }
.hlw-history-timeline .hlw-timeline-item h2 { margin-top: .45rem; margin-bottom: 1rem; letter-spacing: -.035em; }
.hlw-history-timeline .hlw-timeline-item a { font-weight: 700; }

@media (max-width:781px){
  .hlw-history-timeline .hlw-timeline-item { display:block; }
  .hlw-history-timeline .hlw-year { margin-bottom:1.4rem; }
}


/* ==========================================================
   V3.2 — stable navigation, current-page state, forms, social
   ========================================================== */
.hlw-site-header .wp-block-site-title { margin:0; line-height:.9; }
.hlw-site-header .wp-block-site-title a { text-decoration:none; }
.hlw-nav-shell { margin-left:auto; }
.hlw-menu-toggle { display:none; appearance:none; border:1px solid var(--hlw-black); background:transparent; color:var(--hlw-black); padding:.6rem .75rem; font:inherit; font-size:.75rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; gap:.55rem; align-items:center; cursor:pointer; }
.hlw-nav { display:block; }
.hlw-nav-list, .hlw-submenu { list-style:none; margin:0; padding:0; }
.hlw-nav-list { display:flex; align-items:center; gap:1.35rem; }
.hlw-nav-item { position:relative; }
.hlw-nav-row { display:flex; align-items:center; }
.hlw-nav-link { position:relative; display:inline-block; padding:.55rem 0; color:var(--hlw-black); text-decoration:none; font-size:.78rem; font-weight:800; letter-spacing:.06em; line-height:1; text-transform:uppercase; }
.hlw-nav-link::after { content:""; position:absolute; left:0; right:100%; bottom:.22rem; height:2px; background:var(--hlw-red); transition:right .18s ease; }
.hlw-nav-item.is-current > .hlw-nav-link::after,
.hlw-nav-link.is-current-link::after,
.hlw-nav-item.is-current-parent > .hlw-nav-row > .hlw-nav-link::after,
.hlw-nav-link[aria-current="page"]::after { right:0; }
.hlw-nav-item.is-current > .hlw-nav-link,
.hlw-nav-link.is-current-link,
.hlw-nav-item.is-current-parent > .hlw-nav-row > .hlw-nav-link,
.hlw-nav-link[aria-current="page"] { color:var(--hlw-red); }
.hlw-submenu-toggle { margin-left:.22rem; border:0; background:transparent; color:inherit; font:inherit; font-size:1rem; line-height:1; padding:.45rem .2rem; cursor:pointer; transition:transform .18s ease; }
.hlw-has-submenu.is-open .hlw-submenu-toggle { transform:rotate(180deg); }
.hlw-submenu { position:absolute; top:calc(100% + .35rem); left:-1rem; z-index:100; min-width:285px; opacity:0; visibility:hidden; transform:translateY(6px); transition:opacity .16s ease, transform .16s ease, visibility .16s ease; background:var(--hlw-cream); border:1px solid rgba(17,17,17,.18); box-shadow:0 18px 45px rgba(17,17,17,.10); }
.hlw-submenu li + li { border-top:1px solid rgba(17,17,17,.08); }
.hlw-submenu a { display:block; padding:.82rem 1.15rem; color:var(--hlw-black); text-decoration:none; font-size:.78rem; font-weight:800; letter-spacing:.055em; line-height:1.25; text-transform:uppercase; transition:color .16s ease, background .16s ease, padding-left .16s ease; }
.hlw-submenu a:hover, .hlw-submenu a:focus, .hlw-submenu a[aria-current="page"] { color:var(--hlw-red); background:rgba(17,17,17,.035); padding-left:1.35rem; }
.hlw-has-submenu:hover > .hlw-submenu,
.hlw-has-submenu:focus-within > .hlw-submenu,
.hlw-has-submenu.is-open > .hlw-submenu { opacity:1; visibility:visible; transform:translateY(0); }

/* Forms */
.hlw-form-section { max-width:980px; }
.hlw-form { margin-top:2.5rem; }
.hlw-form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.15rem 1.25rem; }
.hlw-form label { display:block; font-size:.78rem; font-weight:800; letter-spacing:.05em; text-transform:uppercase; }
.hlw-form label > span { display:block; margin-bottom:.45rem; }
.hlw-form em { color:var(--hlw-red); font-style:normal; }
.hlw-form input, .hlw-form select, .hlw-form textarea { width:100%; box-sizing:border-box; border:1px solid rgba(17,17,17,.34); border-radius:0; background:rgba(255,255,255,.46); color:var(--hlw-black); padding:.9rem .95rem; font:inherit; font-size:1rem; line-height:1.4; text-transform:none; letter-spacing:normal; outline:none; }
.hlw-form textarea { resize:vertical; min-height:180px; }
.hlw-form input:focus, .hlw-form select:focus, .hlw-form textarea:focus { border-color:var(--hlw-red); box-shadow:0 0 0 1px var(--hlw-red); }
.hlw-form-full { grid-column:1 / -1; }
.hlw-form-submit { margin-top:1.25rem; border:0; border-radius:0; background:var(--hlw-black); color:var(--hlw-white); padding:1rem 1.4rem; font:inherit; font-size:.82rem; font-weight:800; letter-spacing:.07em; text-transform:uppercase; cursor:pointer; transition:transform .18s ease, background .18s ease; }
.hlw-form-submit:hover, .hlw-form-submit:focus { background:var(--hlw-red); transform:translateY(-2px); }
.hlw-form-message { margin:1.5rem 0; padding:1rem 1.1rem; border:1px solid currentColor; }
.hlw-form-message.is-success { color:#235a35; background:#edf6ef; }
.hlw-form-message.is-error { color:#8c1e2a; background:#fbefef; }
.hlw-honeypot { position:absolute !important; left:-9999px !important; width:1px !important; height:1px !important; overflow:hidden !important; }

/* Social */
.hlw-social-wrap { display:flex; align-items:center; flex-wrap:wrap; gap:.85rem; margin-top:1.25rem; }
.hlw-social-icons { display:flex; align-items:center; gap:.55rem; }
.hlw-social-link { width:38px; height:38px; display:inline-flex; align-items:center; justify-content:center; border:1px solid currentColor; color:inherit; text-decoration:none; transition:color .16s ease, border-color .16s ease, transform .16s ease; }
.hlw-social-link:hover, .hlw-social-link:focus { color:var(--hlw-red); border-color:var(--hlw-red); transform:translateY(-2px); }
.hlw-social-link svg { width:19px; height:19px; display:block; }
.hlw-social-handle { font-size:.8rem; font-weight:800; letter-spacing:.06em; text-transform:uppercase; }
.hlw-footer-nav { list-style:none; padding:0; margin:0; }
.hlw-footer-nav li { margin:.2rem 0; }
.hlw-footer-nav a { color:#fff; text-decoration:none; }
.hlw-footer-nav a:hover { color:var(--hlw-red); }

@media (max-width: 980px) {
  .hlw-menu-toggle { display:inline-flex; }
  .hlw-nav { display:none; position:absolute; left:0; right:0; top:100%; background:var(--hlw-cream); border-top:1px solid rgba(17,17,17,.12); box-shadow:0 20px 40px rgba(17,17,17,.10); padding:1rem 2rem 1.6rem; }
  .hlw-nav-shell.is-menu-open .hlw-nav { display:block; }
  .hlw-nav-list { display:block; }
  .hlw-nav-item { border-bottom:1px solid rgba(17,17,17,.11); }
  .hlw-nav-row { justify-content:space-between; }
  .hlw-nav-link { display:block; padding:1rem 0; font-size:.9rem; }
  .hlw-submenu-toggle { padding:1rem .5rem; }
  .hlw-submenu { position:static; min-width:0; opacity:1; visibility:visible; transform:none; display:none; border:0; border-left:1px solid rgba(17,17,17,.18); box-shadow:none; margin:0 0 1rem .5rem; background:transparent; }
  .hlw-has-submenu.is-open > .hlw-submenu { display:block; }
  .hlw-has-submenu:hover > .hlw-submenu:not(.force-open) { opacity:1; visibility:visible; }
  .hlw-submenu li + li { border-top:0; }
  .hlw-submenu a { padding:.65rem .9rem; }
}

@media (max-width: 650px) {
  .hlw-site-header { padding-left:1rem !important; padding-right:1rem !important; }
  .hlw-site-header .wp-block-site-title { font-size:1rem !important; }
  .hlw-nav { padding-left:1rem; padding-right:1rem; }
  .hlw-form-grid { grid-template-columns:1fr; }
  .hlw-form-full { grid-column:auto; }
}
