/* =====================================================================
   PFX site-wide extras: the cookie banner.
   Built by pfx-site.js on every page; self-contained, so it reads the
   same on the 3-D landing page and on the plain pages.
   ===================================================================== */

/* --------------------------------------------------- cookie banner */
.pfx-cookie{
  position:fixed; z-index:960; right:16px; bottom:16px; width:min(440px, calc(100vw - 32px));
  padding:18px 20px; background:rgba(9,12,16,.96); border:1px solid rgba(223,231,224,.14);
  border-radius:14px; box-shadow:0 24px 60px -20px rgba(0,0,0,.8); color:#dfe7e0;
  font:400 14px/1.6 'Inter', system-ui, -apple-system, 'Helvetica Neue', Arial, sans-serif;
  opacity:0; transform:translateY(12px); transition:opacity .35s, transform .45s cubic-bezier(.16,1,.3,1);
}
.pfx-cookie.on{ opacity:1; transform:none; }
.pfx-cookie p{ margin:0 0 14px; color:#b4bfb7; }
.pfx-cookie a{ color:#dfe7e0; text-decoration:underline; text-underline-offset:3px; }
.pfx-cookie-btns{ display:flex; gap:10px; }
.pfx-cookie button{
  flex:1; min-height:44px; border-radius:10px; font:600 14px 'Inter', system-ui, sans-serif; cursor:pointer;
}
/* Accept and Decline carry equal weight: one style for both, so neither choice is nudged */
.pfx-cookie .pfx-cookie-yes, .pfx-cookie .pfx-cookie-no{ background:transparent; color:#fff; border:1px solid rgba(223,231,224,.45); }
.pfx-cookie .pfx-cookie-yes:hover, .pfx-cookie .pfx-cookie-no:hover{ background:rgba(255,255,255,.06); border-color:#fff; }
@media (max-width:820px){
  /* full width on phones */
  .pfx-cookie{ left:12px; right:12px; width:auto; bottom:12px; }
}
@media (prefers-reduced-motion:reduce){ .pfx-cookie{ transition:none; } }

/* --------------------------------------------- hero call-to-action pair */
.pfx-hero-ctas{ display:flex; flex-wrap:wrap; align-items:center; gap:12px; margin:4px 0 28px; }
.pfx-hero-ctas .btn-primary{ margin:0; }
.pfx-btn-ghost{
  display:inline-flex; align-items:center; gap:10px; padding:14px 24px; border-radius:12px;
  border:1px solid rgba(223,231,224,.22); background:rgba(255,255,255,.04); color:#dfe7e0;
  font:600 15px 'Inter', system-ui, sans-serif; text-decoration:none; transition:background .3s;
}
.pfx-btn-ghost:hover{ background:rgba(255,255,255,.1); }
.page-head .pfx-hero-ctas{ margin:22px 0 0; }

/* --------------------------------------------- footer on phones */
/* the shared footer keeps desktop's 80px side padding otherwise */
@media (max-width:820px){ footer:not(.foot){ padding:40px 24px; } }

/* ---- buttons, site-wide: square corners, half the old padding */
.btn-primary, .gate-form .btn-primary, form.inquiry-form .btn-primary, nav.links a.talk, .btn-talk{ border-radius:0 !important; padding:8px 17px !important; }
.tm-submit, .tm-overlay .tm-submit{ border-radius:0 !important; padding:8px 12px !important; }
.pfx-talk, .nav-talk{ border-radius:0 !important; padding:6px 11px !important; }
.btn-outline, .lock-btn, .pfx-btn-ghost{ border-radius:0 !important; padding:7px 12px !important; }
.cta{ border-radius:0 !important; padding:9px 15px !important; }
.mbtn{ border-radius:0 !important; padding:6px 3px !important; }
.pfx-cookie button{ border-radius:0 !important; min-height:32px; }
