/* pf-theme/nav.css — Variation A header (clean drop-in)
   - Sticky glass header
   - Guides dropdown + auto sub-menu
   - Breadcrumb bar (distinct, “breadcrumb-like”)
   - Search box (mockup style)
   - Icon-only actions (Login/Contact) using inline SVG
*/

:root{
  --pf-bg-dark:#050816;
  --pf-primary:#2596be;
  --pf-primary-glow:rgba(37,150,190,0.45);

  --pf-text-main:#f9fafb;
  --pf-text-muted:#cbd5f5;
  --pf-hdr-muted: rgba(148,163,184,0.95);

  --pf-glass-bg:rgba(11,18,32,0.82);
  --pf-glass-blur:blur(12px);

  --pf-max-w:1200px;
  --pf-radius:12px;
  --pf-pill:999px;
}

/* -------------------------
   Header shell
------------------------- */
.pf-hdr{
  position: sticky;
  top: 0;
  z-index: 500;
  background: var(--pf-glass-bg);
  backdrop-filter: var(--pf-glass-blur);
  -webkit-backdrop-filter: var(--pf-glass-blur);
  border-bottom: 1px solid rgba(255,255,255,0.08);
}

.pf-hdr__wrap{
  max-width: var(--pf-max-w);
  margin: 0 auto;
  padding: 14px 20px 12px;
}

.pf-hdr__top{
  display:grid;
  grid-template-columns:auto 1fr auto;
  align-items:center;
  gap:18px;
}

/* Typography alignment (mockup feel) */
.pf-hdr,
.pf-hdr *{
  font-family: Inter, system-ui, -apple-system, sans-serif;
}

/* -------------------------
   Logo (image only)
------------------------- */
.pf-hdr__brand{ filter:none; }

.pf-hdr__logo-link{
  display:inline-flex;
  align-items:center;
  text-decoration:none;
}

.pf-hdr__logo-img{
  height: 56px;
  width: auto;
  max-width: 340px;
  display:block;

  image-rendering: -webkit-optimize-contrast;
  transform: translateZ(0);
  backface-visibility: hidden;
}

.pf-hdr__logo-fallback{
  font-weight:800;
  color:#fff;
}

/* -------------------------
   Center nav (single dropdown)
------------------------- */
.pf-hdr__nav{
  display:flex;
  align-items:center;
  justify-content:center;
}

.pf-nav-dd{ position:relative; }

.pf-nav-dd__btn{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding: 9px 16px;
  border-radius: var(--pf-pill);
  border: 1px solid rgba(255,255,255,0.10);
  background: rgba(255,255,255,0.03);
  color: var(--pf-hdr-muted);
  font-weight: 600;
  font-size: 13px;
  text-decoration:none;
  cursor:pointer;
  transition: background .15s ease, color .15s ease, border-color .15s ease;
}

.pf-nav-dd__btn:hover{
  background: rgba(255,255,255,0.06);
  color:#fff;
}

.pf-nav-dd__chev{
  font-size:11px;
  opacity:.8;
}

/* Dropdown menu (no hover gap) */
.pf-nav-dd__menu{
  position:absolute;
  top:100%;
  left:50%;
  transform:translateX(-50%);
  margin-top:0;

  min-width:260px;
  max-height:320px;
  overflow:auto;

  padding:10px 8px 8px;
  border-radius:14px;
  border:1px solid rgba(255,255,255,0.10);
  background: radial-gradient(circle at top left, rgba(37,150,190,0.14), rgba(5,8,22,0.96));
  box-shadow:0 20px 50px rgba(0,0,0,0.65);

  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition: opacity .14s ease, visibility .14s ease, transform .14s ease;
  z-index:999;
}

.pf-nav-dd:hover .pf-nav-dd__menu,
.pf-nav-dd:focus-within .pf-nav-dd__menu{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transform:translateX(-50%) translateY(0);

  border-color: rgba(37,150,190,0.22);
  box-shadow:
    0 20px 50px rgba(0,0,0,0.65),
    0 0 0 1px rgba(37,150,190,0.22),
    0 0 26px rgba(37,150,190,0.16);
}

.pf-nav-dd__item{
  display:block;
  position: relative;
  padding:10px 10px 10px 26px; /* room for dot */
  border-radius:10px;
  text-decoration:none;
  font-weight:600;
  font-size:13px;
  color: var(--pf-hdr-muted);
}

.pf-nav-dd__item::before{
  content: "";
  position: absolute;
  left: 10px;
  top: 50%;
  transform: translateY(-50%);
  width: 6px;
  height: 6px;
  border-radius: 999px;
  background: rgba(37,150,190,0);
  box-shadow: none;
  transition: background .15s ease, box-shadow .15s ease;
}

.pf-nav-dd__item:hover,
.pf-nav-dd__item:focus-visible{
  background: rgba(37,150,190,0.18);
  color:#fff;
  box-shadow:
    inset 3px 0 0 rgba(37,150,190,0.85),
    inset 0 0 0 1px rgba(37,150,190,0.28);
  outline: none;
}

.pf-nav-dd__item:hover::before,
.pf-nav-dd__item:focus-visible::before{
  background: var(--pf-primary);
  box-shadow: 0 0 12px var(--pf-primary-glow);
}

/* -------------------------
   Right actions (icon buttons)
------------------------- */
.pf-hdr__actions{
  display:inline-flex;
  align-items:center;
  justify-content:flex-end;
  gap:10px;
}

.pf-hdr__btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:10px 12px;
  min-width:46px;
  border-radius:12px;
  border:1px solid rgba(255,255,255,0.10);
  background: rgba(255,255,255,0.03);
  color: rgba(203,213,245,0.95);
  font-weight:600;
  font-size:13px;
  text-decoration:none;
  transition: background .15s ease, border-color .15s ease, color .15s ease, transform .12s ease, box-shadow .15s ease;
}

.pf-hdr__btn:hover{
  background: rgba(255,255,255,0.06);
  border-color: rgba(255,255,255,0.16);
  color:#fff;
}

.pf-hdr__btn--primary{
  border-color: transparent;
  background: linear-gradient(135deg, #2596be, #39b3df);
  color:#fff;
  box-shadow:0 6px 18px rgba(37,150,190,0.35);
}

.pf-hdr__btn--primary:hover{
  transform: translateY(-1px);
  box-shadow:0 10px 24px rgba(37,150,190,0.45);
}

/* Icon SVG inside buttons */
.pf-hdr__svg{
  width: 20px;
  height: 20px;
  display:block;
  color: rgba(255,255,255,0.92);
  transition: transform .12s ease, filter .15s ease, opacity .15s ease;
}

.pf-hdr__btn--primary .pf-hdr__svg{
  color:#fff;
}

.pf-hdr__btn:hover .pf-hdr__svg{
  transform: translateY(-1px);
  filter: drop-shadow(0 0 10px rgba(37,150,190,0.35));
}

/* -------------------------
   Toolbar (breadcrumbs + search)
------------------------- */
.pf-hdr__bar{
  margin-top: 12px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;

  padding: 10px 14px;
  border-radius: var(--pf-radius);
  border: 1px solid rgba(255,255,255,0.08);
  background: rgba(15,23,42,0.58);
}

.pf-hdr__crumbs{ min-width:0; width:100%; }

/* Breadcrumbs base */
.pf-breadcrumbs{ margin:0; padding:0; width:100%; }

.pf-bc-list{
  list-style:none;
  margin:0;
  padding: 10px 12px;
  display:inline-flex;
  align-items:center;
  gap:8px;

  color: var(--pf-hdr-muted);
  font-size:13px;
  overflow-x:auto;
  white-space:nowrap;

  border-radius: 14px;
  border: 1px solid rgba(37,150,190,0.22);
  background:
    radial-gradient(circle at 10% 0%, rgba(37,150,190,0.18), rgba(15,23,42,0.60));
  box-shadow: 0 12px 30px rgba(0,0,0,0.35);
}

.pf-bc-list::before{
  content: "↳";
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
  border-radius: 8px;
  margin-right: 8px;
  background: rgba(37,150,190,0.16);
  border: 1px solid rgba(37,150,190,0.25);
  color: #2596be;
  font-weight: 900;
  flex: 0 0 auto;
}

.pf-bc-item{ display:inline-flex; align-items:center; gap:8px; }

.pf-bc-item:not(:last-child)::after{
  content:"›";
  font-size:11px;
  opacity:.55;
}

.pf-bc-link{
  color: rgba(203,213,245,0.92);
  text-decoration:none;
  font-weight:500;
}

.pf-bc-link:hover{
  color:#fff;
  text-decoration: underline;
  text-decoration-color: rgba(37,150,190,0.85);
  text-underline-offset: 3px;
}

.pf-bc-current{
  color:#fff;
  font-weight:600;
  padding: 2px 8px;
  border-radius: 999px;
  background: rgba(37,150,190,0.14);
  border: 1px solid rgba(37,150,190,0.20);
}

/* Search (match mockup) */
.pf-hdr__search{
  flex: 1;
  max-width: 350px;
}

.pf-search{
  display:flex;
  align-items:center;
  gap:10px;
  padding:8px 12px;
  border-radius:8px;
  border:1px solid rgba(255,255,255,0.08);
  background: rgba(0,0,0,0.20);
  width:100%;
  transition: border-color .2s ease;
}

.pf-search:focus-within{
  border-color: var(--pf-primary);
}

.pf-search__svg{
  width:14px;
  height:14px;
  opacity:0.5;
  color:#fff;
  flex: 0 0 auto;
}

.pf-search__input{
  width:100%;
  background:transparent;
  border:0;
  outline:0;
  color:#fff;
  font-size:13px;
  font-family: inherit;
}

.pf-search__input::placeholder{
  color: rgba(255,255,255,0.30);
}

/* FIX: breadcrumbs were taking full width and collapsing the search box */
.pf-hdr__bar{
  align-items: center;
}

/* breadcrumbs should flex, not force 100% width */
.pf-hdr__crumbs{
  width: auto !important;
  flex: 1 1 auto;
  min-width: 0;
}

/* search should keep a stable width on desktop */
.pf-hdr__search{
  flex: 0 0 350px;
  width: 350px;
  max-width: 350px;
}

/* ensure the search box fills its container */
.pf-search{
  width: 100%;
}

/* mobile: stack and allow full width */
@media (max-width: 980px){
  .pf-hdr__search{
    flex: 1 1 auto;
    width: 100%;
    max-width: none;
  }
}


/* Reduced motion */
@media (prefers-reduced-motion: reduce){
  .pf-nav-dd__btn,
  .pf-nav-dd__menu,
  .pf-hdr__btn,
  .pf-hdr__svg{
    transition:none !important;
  }
}

/* Responsive */
@media (max-width: 980px){
  .pf-hdr__wrap{ padding: 12px 14px 10px; }
  .pf-hdr__top{ grid-template-columns: 1fr auto; }
  .pf-hdr__nav{ justify-content:flex-start; }
  .pf-hdr__bar{ flex-direction:column; align-items:stretch; }
  .pf-hdr__search{ max-width:none; width:100%; }
  .pf-bc-list{ width:100%; }
}

@media (max-width: 520px){
  .pf-hdr__logo-img{ height: 42px; max-width: 240px; }
  .pf-hdr__btn{ padding: 9px 10px; min-width:44px; }
}
