/* custom.css -- Palmer Realty & Development
 *
 * Project-specific component styles. This is the final override layer and always loads
 * last, after brand.css. The three-layer standard also puts a mainstyle.css base first;
 * this build has none -- it was referenced by nothing and was archived to
 * cmsAdmin/data/backups/.bak/ on 2026-08-20 under ARN row 02A.
 *
 * Provenance: extracted by ARN row 02A (2026-08-20). The top-nav rules below lived only
 * inside the PalmerNav component's helmet block, which support.js injected at runtime;
 * retiring the components would have taken the nav's styling and its mobile toggle with
 * them, leaving header.php rendering as unstyled links behind a dead button.
 */

/* ============================================================
   Top nav chrome (pnav) -- rehomed from the PalmerNav component
   ============================================================ */

/* The component declared position twice, relative then sticky, so sticky was always the
   effective value. Only sticky is kept: it establishes the containing block the mobile
   dropdown positions against, which is the job relative had been left in place for. */
.pnav{position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:14px 48px;background:var(--palmer-white);border-bottom:1px solid var(--palmer-line)}
.pnav-brand{display:flex;align-items:center;gap:12px;text-decoration:none}
.pnav-links{display:flex;align-items:center;gap:26px;font-size:14px;font-weight:500}
.pnav-links a{text-decoration:none;white-space:nowrap;padding-bottom:2px}
.pnav-links a:hover{color:var(--palmer-navy)}
.pnav-cta{background:var(--palmer-navy);color:var(--palmer-white);padding:10px 20px;font-size:13px;font-weight:600;border-radius:3px;text-decoration:none;white-space:nowrap}
.pnav-cta:hover{color:var(--palmer-white)}
.pnav-burger{display:none;align-items:center;justify-content:center;background:none;border:none;cursor:pointer;padding:6px;color:var(--palmer-navy)}
.pnav-burger .ic-close{display:none}
.pnav[data-open="true"] .pnav-burger .ic-open{display:none}
.pnav[data-open="true"] .pnav-burger .ic-close{display:block}

@media(max-width:820px){
  .pnav{padding:12px 18px}
  .pnav-burger{display:flex;order:3}
  .pnav-cta{order:2;margin-left:auto}
  .pnav-links{order:4;display:none;position:absolute;top:100%;left:0;right:0;background:var(--palmer-white);flex-direction:column;align-items:stretch;gap:0;padding:4px 18px 12px;border-bottom:1px solid var(--palmer-line);box-shadow:0 12px 26px rgba(3,68,43,.12)}
  .pnav[data-open="true"] .pnav-links{display:flex}
  .pnav-links a{width:100%;padding:14px 0;border-bottom:1px solid var(--palmer-paper-line);font-size:15px}
}

/* ============================================================
   Footer, which sits on navy
   ============================================================ */

/* The footer's own anchors carry their base colour as an attribute on each element, so
   only the hover state needs a rule here. Without it the sitewide hover would apply and
   paint a dark blue over a navy band, which is very close to invisible.
   Measured at extraction time: the component's base anchor colour rule was already fully
   covered by those per-element attributes, so it was NOT carried across. The row that
   scheduled this work assumed it would be needed; it is not. */
footer a:hover{color:var(--palmer-white)}

/* ============================================================
   Forms
   ============================================================ */
input::placeholder,textarea::placeholder{color:var(--palmer-placeholder)}

/* ============================================================
   Home hero, cross-fading photo stack
   ============================================================ */
@keyframes kburns{0%{opacity:0;transform:scale(1.02)}8%{opacity:1}33%{opacity:1}42%{opacity:0;transform:scale(1.14)}100%{opacity:0;transform:scale(1.14)}}
@keyframes kburns6{0%{opacity:0;transform:scale(1.03)}3%{opacity:1}14%{opacity:1}18%{opacity:0;transform:scale(1.14)}100%{opacity:0;transform:scale(1.14)}}