/* FJ Dark Editorial
   Self-contained. Does not rely on Elementor container settings. */

:root{
  --fj-bg:#0A0A0B; --fj-surface:#141416; --fj-ink:#F5F3F0;
  --fj-accent:#D8821F; --fj-muted:#9A968F; --fj-line:#1E1E21;
}

body.fj-page{ background:var(--fj-bg) !important; color:var(--fj-ink); }
body.fj-page .elementor,
body.fj-page .e-con,
body.fj-page .e-con-inner,
body.fj-page .elementor-widget-container{ background:transparent; max-width:none; padding:0; margin:0; }

.fj-wrap{ max-width:1180px; margin:0 auto; padding:0 32px; }

/* ---------- type ---------- */
.fj-page h1,.fj-page h2,.fj-page h3{
  font-family:"Anton",sans-serif; font-weight:400; text-transform:uppercase;
  line-height:1.02; letter-spacing:-.005em; color:var(--fj-ink); margin:0;
}
.fj-page p{
  font-family:"Source Serif 4",Georgia,serif; line-height:1.62;
  color:var(--fj-muted); font-size:1.06rem; max-width:60ch; margin:0;
}
.fj-kicker{
  font-family:"Archivo",sans-serif; font-weight:600; text-transform:uppercase;
  letter-spacing:.14em; font-size:.72rem; color:var(--fj-accent);
}
.fj-rule{ width:56px; height:2px; background:var(--fj-accent); }

/* ---------- buttons ---------- */
.fj-btn{
  font-family:"Archivo",sans-serif; font-weight:600; font-size:.88rem;
  padding:13px 24px; border-radius:4px; display:inline-block; text-decoration:none;
  background:var(--fj-accent); color:#0A0A0B; border:1px solid var(--fj-accent);
  transition:background .18s ease,color .18s ease;
}
.fj-btn:hover{ background:transparent; color:var(--fj-accent); }
.fj-btn--ghost{ background:transparent; color:var(--fj-accent); }
.fj-btn--ghost:hover{ background:var(--fj-accent); color:#0A0A0B; }

/* ---------- hero ---------- */
.fj-hero{ padding:120px 0 96px; }
.fj-hero-grid{ display:grid; grid-template-columns:1.05fr .95fr; gap:64px; align-items:center; }
.fj-hero h1{ font-size:clamp(40px,6.4vw,92px); margin:20px 0 26px; }
.fj-hero-obj{ width:100%; max-width:440px; margin-left:auto; display:block; }
.fj-actions{ display:flex; gap:12px; flex-wrap:wrap; margin:34px 0 16px; }
.fj-meta{ font-family:"Archivo",sans-serif; font-size:.82rem; color:var(--fj-muted); }
.fj-meta a{ color:var(--fj-accent); text-decoration:none; }
.fj-meta a:hover{ text-decoration:underline; }

/* ---------- stacking panels ---------- */
.fj-stack{ padding-bottom:180px; }
.fj-panel{
  position:sticky;
  background:var(--fj-surface);
  border:1px solid var(--fj-line);
  border-bottom:none;
  border-radius:24px 24px 0 0;
  padding:72px 64px 88px;
  box-sizing:border-box;
}
.fj-panel + .fj-panel{ margin-top:64px; }
.fj-panel:nth-of-type(1){ top:64px;  z-index:1; }
.fj-panel:nth-of-type(2){ top:88px;  z-index:2; }
.fj-panel:nth-of-type(3){ top:112px; z-index:3; }
.fj-panel:nth-of-type(4){ top:136px; z-index:4; }

.fj-panel-grid{ display:grid; grid-template-columns:1.15fr .85fr; gap:56px; align-items:center; }
.fj-panel h2{ font-size:clamp(28px,3.6vw,54px); margin-bottom:22px; }
.fj-panel .fj-rule{ margin-bottom:26px; }
.fj-panel-art{ width:100%; max-width:230px; margin-left:auto; display:block; }
.fj-panel-art--cover{
  max-width:250px; border:1px solid var(--fj-line); border-radius:2px;
}

/* ---------- mobile ---------- */
@media (max-width:900px){
  .fj-wrap{ padding:0 20px; }
  .fj-hero{ padding:72px 0 56px; }
  .fj-hero-grid,.fj-panel-grid{ grid-template-columns:1fr; gap:32px; }
  .fj-hero-obj{ max-width:220px; margin:0; }
  .fj-panel{ padding:40px 24px 52px; border-radius:18px 18px 0 0; }
  .fj-panel-art{ max-width:150px; margin:0; }
  .fj-panel-art--cover{ max-width:170px; }
}

@media (prefers-reduced-motion:reduce){
  .fj-panel{ position:static; }
}

/* ===== HERO SCENE ===== */
.fj-hero{
  position:relative; overflow:hidden;
  padding:132px 0 128px;
  background:
    radial-gradient(120% 90% at 78% 38%, rgba(216,130,31,.30) 0%, rgba(216,130,31,.10) 32%, rgba(10,10,11,0) 62%),
    radial-gradient(80% 60% at 12% 8%, rgba(255,196,110,.10) 0%, rgba(10,10,11,0) 55%),
    linear-gradient(168deg, #14100C 0%, #0A0A0B 46%, #0C0A09 100%);
}
.fj-hero::after{
  content:""; position:absolute; left:0; right:0; bottom:0; height:200px;
  background:linear-gradient(180deg, rgba(10,10,11,0) 0%, #0A0A0B 100%);
  pointer-events:none;
}
.fj-hero > .fj-wrap{ position:relative; z-index:2; }

/* scene */
.fj-scene{ position:relative; aspect-ratio:1/1; max-width:520px; margin-left:auto; }
.fj-scene__glow{
  position:absolute; inset:8% 8% 8% 8%; border-radius:50%;
  background:radial-gradient(circle, rgba(216,130,31,.55) 0%, rgba(216,130,31,.18) 42%, rgba(216,130,31,0) 70%);
  filter:blur(28px);
}
.fj-scene img{ position:absolute; display:block; }

.fj-scene__book{
  width:47%; left:26%; top:14%;
  border-radius:3px;
  box-shadow:0 40px 80px rgba(0,0,0,.72), 0 0 0 1px rgba(245,243,240,.06);
  transform:rotate(-5deg);
  animation:fjFloat 8s ease-in-out infinite;
}
.fj-scene__torus{
  width:34%; right:-2%; top:2%; opacity:.95;
  animation:fjFloat 11s ease-in-out infinite reverse;
}
.fj-scene__cube{
  width:21%; left:0%; top:28%;
  animation:fjFloat 9.5s ease-in-out infinite .6s;
}
.fj-scene__spheres{
  width:26%; right:6%; bottom:2%;
  animation:fjFloat 12s ease-in-out infinite 1.2s reverse;
}

@keyframes fjFloat{
  0%,100%{ transform:translateY(0) rotate(-5deg); }
  50%    { transform:translateY(-16px) rotate(-3deg); }
}
.fj-scene__torus,.fj-scene__cube,.fj-scene__spheres{ animation-name:fjFloatPlain; }
@keyframes fjFloatPlain{
  0%,100%{ transform:translateY(0); }
  50%    { transform:translateY(-18px); }
}

.fj-hero h1{ text-shadow:0 2px 40px rgba(0,0,0,.5); }
.fj-hero .fj-kicker{ color:#F0A24A; }

@media (max-width:900px){
  .fj-hero{ padding:76px 0 84px; }
  .fj-scene{ max-width:320px; margin:0 auto; }
}
@media (prefers-reduced-motion:reduce){
  .fj-scene img{ animation:none !important; }
}
/* ===== NAV ===== */
.fj-nav{ position:relative; z-index:5; border-bottom:1px solid rgba(245,243,240,.07); }
.fj-nav__in{ display:flex; align-items:center; justify-content:space-between; gap:24px; padding:20px 0; }
.fj-nav__brand{
  font-family:"Anton",sans-serif; text-transform:uppercase; letter-spacing:.02em;
  font-size:1.05rem; color:var(--fj-ink); text-decoration:none; white-space:nowrap;
}
.fj-nav__links{ display:flex; gap:30px; align-items:center; flex-wrap:wrap; }
.fj-nav__links a{
  font-family:"Archivo",sans-serif; font-weight:600; font-size:.84rem;
  color:var(--fj-muted); text-decoration:none; transition:color .16s ease;
}
.fj-nav__links a:hover{ color:var(--fj-accent); }
.fj-nav .fj-btn{ padding:10px 18px; font-size:.82rem; }
@media (max-width:820px){
  .fj-nav__in{ flex-direction:column; align-items:flex-start; gap:14px; }
  .fj-nav__links{ gap:18px; }
}

/* ===== SIGNUP ===== */
.fj-signup{
  border-top:1px solid var(--fj-line);
  background:
    radial-gradient(90% 140% at 80% 0%, rgba(216,130,31,.16) 0%, rgba(10,10,11,0) 60%),
    #0A0A0B;
  padding:104px 0 96px;
}
.fj-signup h2{ font-size:clamp(28px,4vw,56px); margin-bottom:20px; }
.fj-signup p{ margin-bottom:30px; }
.fj-signup-form{ max-width:520px; }

/* MailPoet form, dressed to match */
.fj-signup-form .mailpoet_form{ padding:0 !important; background:transparent !important; }
.fj-signup-form .mailpoet_paragraph{ margin-bottom:12px !important; }
.fj-signup-form input[type=text],
.fj-signup-form input[type=email]{
  width:100%; box-sizing:border-box;
  background:#141416 !important; color:var(--fj-ink) !important;
  border:1px solid var(--fj-line) !important; border-radius:4px !important;
  padding:14px 16px !important;
  font-family:"Archivo",sans-serif !important; font-size:.95rem !important;
}
.fj-signup-form input::placeholder{ color:#6E6A64 !important; }
.fj-signup-form input[type=text]:focus,
.fj-signup-form input[type=email]:focus{
  outline:none !important; border-color:var(--fj-accent) !important;
}
.fj-signup-form input[type=submit],
.fj-signup-form .mailpoet_submit{
  background:var(--fj-accent) !important; color:#0A0A0B !important;
  border:1px solid var(--fj-accent) !important; border-radius:4px !important;
  font-family:"Archivo",sans-serif !important; font-weight:600 !important;
  padding:13px 26px !important; cursor:pointer; font-size:.88rem !important;
}
.fj-signup-form input[type=submit]:hover{ background:transparent !important; color:var(--fj-accent) !important; }
.fj-signup-form .mailpoet_validate_success{ color:var(--fj-accent) !important; }
.fj-signup-form .mailpoet_message,
.fj-signup-form .mailpoet_validate_error{ font-family:"Archivo",sans-serif; font-size:.85rem; }

/* ===== FOOTER ===== */
.fj-footer{ border-top:1px solid var(--fj-line); background:#0A0A0B; padding:64px 0 48px; }
.fj-footer__grid{ display:grid; grid-template-columns:1.4fr 1fr 1fr; gap:40px; }
.fj-footer h3{ font-size:.78rem; font-family:"Archivo",sans-serif; font-weight:600;
  text-transform:uppercase; letter-spacing:.14em; color:var(--fj-muted); margin-bottom:16px; }
.fj-footer a{ color:var(--fj-muted); text-decoration:none; font-family:"Archivo",sans-serif; font-size:.88rem; }
.fj-footer a:hover{ color:var(--fj-accent); }
.fj-footer ul{ list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:10px; }
.fj-footer__brand{ font-family:"Anton",sans-serif; text-transform:uppercase; font-size:1.4rem; color:var(--fj-ink); margin-bottom:12px; }
.fj-footer__note{ font-family:"Source Serif 4",Georgia,serif; color:#6E6A64; font-size:.9rem; max-width:34ch; }
.fj-footer__base{
  margin-top:48px; padding-top:24px; border-top:1px solid var(--fj-line);
  display:flex; justify-content:space-between; gap:16px; flex-wrap:wrap;
  font-family:"Archivo",sans-serif; font-size:.8rem; color:#6E6A64;
}
@media (max-width:820px){ .fj-footer__grid{ grid-template-columns:1fr; gap:32px; } }
/* ===== PROOF ===== */
.fj-proof{ border-top:1px solid var(--fj-line); background:#0A0A0B; padding:88px 0 80px; }
.fj-proof__lede{ display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:end; margin-bottom:56px; }
.fj-proof h2{ font-size:clamp(24px,3vw,40px); }
.fj-proof__facts{ display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--fj-line); border:1px solid var(--fj-line); border-radius:4px; overflow:hidden; }
.fj-fact{ background:#0F0F10; padding:30px 28px; }
.fj-fact__k{ font-family:"Archivo",sans-serif; font-weight:600; font-size:.7rem;
  text-transform:uppercase; letter-spacing:.14em; color:var(--fj-accent); margin-bottom:12px; }
.fj-fact__v{ font-family:"Source Serif 4",Georgia,serif; color:var(--fj-ink);
  font-size:1.02rem; line-height:1.5; }
@media (max-width:820px){
  .fj-proof__lede{ grid-template-columns:1fr; gap:24px; }
  .fj-proof__facts{ grid-template-columns:1fr; }
}
/* ===== FIXES: sticky nav, button contrast, MailPoet ===== */

/* Sticky nav */
.fj-nav{
  position:sticky; top:0; z-index:60;
  background:rgba(10,10,11,.86);
  backdrop-filter:saturate(140%) blur(14px);
  -webkit-backdrop-filter:saturate(140%) blur(14px);
}
body.admin-bar .fj-nav{ top:32px; }
@media (max-width:782px){ body.admin-bar .fj-nav{ top:46px; } }

/* Button contrast: force ink text on amber, beating theme link colours */
.fj-page a.fj-btn,
.fj-page a.fj-btn:link,
.fj-page a.fj-btn:visited{ color:#0A0A0B !important; }
.fj-page a.fj-btn:hover{ color:var(--fj-accent) !important; background:transparent !important; }
.fj-page a.fj-btn--ghost,
.fj-page a.fj-btn--ghost:link,
.fj-page a.fj-btn--ghost:visited{ color:var(--fj-accent) !important; background:transparent !important; }
.fj-page a.fj-btn--ghost:hover{ color:#0A0A0B !important; background:var(--fj-accent) !important; }

/* MailPoet: strip its own headings and default styling */
.fj-signup-form .mailpoet_form h1,
.fj-signup-form .mailpoet_form h2,
.fj-signup-form .mailpoet_form h3,
.fj-signup-form .mailpoet_form_image,
.fj-signup-form .mailpoet_paragraph:has(> strong){ display:none !important; }
.fj-signup-form .mailpoet_form{
  background:transparent !important; border:0 !important; box-shadow:none !important;
  padding:0 !important; max-width:none !important;
}
.fj-signup-form .mailpoet_form_columns,
.fj-signup-form .mailpoet_form_column{ background:transparent !important; padding:0 !important; }
.fj-signup-form input[type=email],
.fj-signup-form input[type=text]{
  border-radius:4px !important; background:#141416 !important;
  border:1px solid #1E1E21 !important; color:#F5F3F0 !important;
  padding:15px 16px !important; box-shadow:none !important;
  font-family:"Archivo",sans-serif !important; font-size:.95rem !important;
}
.fj-signup-form input[type=submit]{
  border-radius:4px !important; background:#D8821F !important; color:#0A0A0B !important;
  border:1px solid #D8821F !important; box-shadow:none !important;
  font-family:"Archivo",sans-serif !important; font-weight:600 !important;
  padding:15px 28px !important; width:auto !important; font-size:.9rem !important;
  text-transform:none !important; letter-spacing:0 !important;
}
.fj-signup-form input[type=submit]:hover{ background:transparent !important; color:#D8821F !important; }
.fj-signup-form .mailpoet_form p,
.fj-signup-form .mailpoet_form em{
  font-family:"Source Serif 4",Georgia,serif !important;
  color:#6E6A64 !important; font-size:.85rem !important; text-align:left !important;
}

/* Reader list: tie the wash back to the brand rather than a separate colour */
.fj-signup{
  background:
    radial-gradient(70% 120% at 88% 10%, rgba(216,130,31,.20) 0%, rgba(10,10,11,0) 58%),
    linear-gradient(180deg, #0C0A09 0%, #0A0A0B 100%) !important;
}
.fj-signup-form{ max-width:560px; }
/* NAV: fixed, not sticky (sticky was trapped in its widget wrapper) */
.fj-nav{ position:fixed !important; top:0; left:0; right:0; z-index:100; }
body.admin-bar .fj-nav{ top:32px; }
@media (max-width:782px){ body.admin-bar .fj-nav{ top:46px; } }
body.fj-page{ padding-top:78px; }
@media (max-width:820px){ body.fj-page{ padding-top:118px; } }

/* OUR OWN SIGNUP FORM */
.fj-form{ max-width:560px; }
.fj-form__row{ display:flex; gap:10px; flex-wrap:wrap; }
.fj-form__input{ flex:1 1 300px; box-sizing:border-box; background:#141416; color:#F5F3F0; border:1px solid #1E1E21; border-radius:4px; padding:15px 16px; font-family:'Archivo',sans-serif; font-size:.95rem; }
.fj-form__input::placeholder{ color:#6E6A64; }
.fj-form__input:focus{ outline:none; border-color:#D8821F; }
.fj-form button.fj-btn{ cursor:pointer; }
.fj-form__fine{ font-family:'Archivo',sans-serif !important; font-size:.78rem !important; color:#6E6A64 !important; margin-top:14px !important; max-width:46ch; }
.fj-form__fine a{ color:#9A968F; }
.fj-form__note{ font-family:'Archivo',sans-serif !important; font-size:.85rem !important; margin-top:14px !important; color:#9A968F !important; }
.fj-form__note--ok{ color:#D8821F !important; }

/* Advisory page */
.fj-hero--page{ padding:104px 0 96px; }
.fj-scene--sm{ max-width:380px; }
.fj-facts--4{ grid-template-columns:repeat(4,1fr); }
@media (max-width:1100px){ .fj-facts--4{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:700px){ .fj-facts--4{ grid-template-columns:1fr; } }
.fj-panel-copy{ max-width:760px; }
.fj-panel-copy .fj-fact__k{ margin-bottom:14px; }
.fj-panel-copy h2{ margin-bottom:20px; }
.fj-lede{ color:#F5F3F0 !important; font-size:1.16rem !important; margin-bottom:16px !important; }

/* Books feature */
.fj-feature{ padding:96px 0; border-top:1px solid #1E1E21; }
.fj-feature__grid{ display:grid; grid-template-columns:.8fr 1.2fr; gap:72px; align-items:start; }
.fj-feature__art img{ width:100%; border:1px solid #1E1E21; border-radius:3px; box-shadow:0 30px 70px rgba(0,0,0,.6); }
.fj-feature__copy h2{ font-size:clamp(30px,4vw,58px); margin:14px 0 16px; }
.fj-feature__copy p{ margin-bottom:16px; }
.fj-list{ list-style:none; padding:0; margin:26px 0 30px; display:flex; flex-direction:column; gap:11px; }
.fj-list li{ font-family:'Source Serif 4',Georgia,serif; color:#F5F3F0; padding-left:20px; position:relative; }
.fj-list li:before{ content:''; position:absolute; left:0; top:.62em; width:8px; height:1px; background:#D8821F; }
@media (max-width:900px){ .fj-feature__grid{ grid-template-columns:1fr; gap:36px; } .fj-feature__art img{ max-width:260px; } }

/* Writing archive */
.fj-filter{ position:sticky; top:78px; z-index:50; background:rgba(10,10,11,.92); backdrop-filter:blur(12px); border-bottom:1px solid #1E1E21; }
body.admin-bar .fj-filter{ top:110px; }
.fj-filter__in{ display:flex; gap:8px; align-items:center; padding:16px 0; flex-wrap:wrap; }
.fj-chip{ font-family:'Archivo',sans-serif; font-weight:600; font-size:.82rem; padding:9px 16px; border-radius:999px; border:1px solid #1E1E21; background:transparent; color:#9A968F; cursor:pointer; transition:all .16s ease; }
.fj-chip:hover{ border-color:#D8821F; color:#D8821F; }
.fj-chip[aria-selected='true']{ background:#D8821F; border-color:#D8821F; color:#0A0A0B; }
.fj-chip__n{ opacity:.6; margin-left:6px; font-size:.76rem; }
.fj-post-panel{ display:block; text-decoration:none; }
.fj-post-panel .fj-panel-grid{ align-items:center; }
.fj-post-thumb{ width:100%; border-radius:4px; border:1px solid #1E1E21; display:block; aspect-ratio:16/10; object-fit:cover; }
.fj-post-meta{ font-family:'Archivo',sans-serif; font-size:.74rem; text-transform:uppercase; letter-spacing:.12em; color:#D8821F; margin-bottom:14px; }
.fj-panel h2 a{ color:#F5F3F0; text-decoration:none; }
.fj-panel h2 a:hover{ color:#D8821F; }
.fj-index{ border-top:1px solid #1E1E21; padding:88px 0 96px; }
.fj-index h2{ font-size:clamp(24px,3vw,40px); margin-bottom:34px; }
.fj-row{ display:grid; grid-template-columns:110px 1fr 150px; gap:24px; align-items:baseline; padding:20px 0; border-bottom:1px solid #1E1E21; }
.fj-row__date, .fj-row__cat{ font-family:'Archivo',sans-serif; font-size:.78rem; color:#6E6A64; text-transform:uppercase; letter-spacing:.08em; }
.fj-row__cat{ text-align:right; color:#D8821F; }
.fj-row__title a{ font-family:'Source Serif 4',Georgia,serif; font-size:1.08rem; color:#F5F3F0; text-decoration:none; line-height:1.4; }
.fj-row__title a:hover{ color:#D8821F; }
.fj-row.is-hidden, .fj-post-panel.is-hidden{ display:none; }
@media (max-width:820px){ .fj-filter{ top:118px; } .fj-row{ grid-template-columns:1fr; gap:6px; } .fj-row__cat{ text-align:left; } }

/* Writing archive fixes: JS owns sticky offsets now */
.fj-stack .fj-post-panel:nth-of-type(1),
.fj-stack .fj-post-panel:nth-of-type(2),
.fj-stack .fj-post-panel:nth-of-type(3),
.fj-stack .fj-post-panel:nth-of-type(4),
.fj-stack .fj-post-panel:nth-of-type(5){ top:auto; z-index:auto; }
.fj-post-panel + .fj-post-panel{ margin-top:56px; }
.fj-index__count{ font-family:'Archivo',sans-serif !important; font-size:.8rem !important; text-transform:uppercase; letter-spacing:.12em; color:#D8821F !important; margin:-22px 0 30px !important; }
.fj-panel h2{ overflow-wrap:anywhere; }

/* About + Contact */
.fj-prose{ max-width:70ch; }
.fj-prose h2{ font-size:clamp(24px,3vw,40px); }
.fj-prose p{ margin-bottom:18px; }
.fj-scene__crescent{ width:24%; left:4%; bottom:10%; animation:fjFloatPlain 10s ease-in-out infinite .4s; }
.fj-tl{ display:flex; flex-direction:column; }
.fj-tl__item{ display:grid; grid-template-columns:120px 1fr; gap:28px; padding:26px 0; border-top:1px solid #1E1E21; }
.fj-tl__yr{ font-family:'Anton',sans-serif; font-size:1.3rem; color:#D8821F; }
.fj-tl__item h3{ font-family:'Archivo',sans-serif !important; font-weight:600; font-size:1.02rem; text-transform:none !important; letter-spacing:0; color:#F5F3F0; margin-bottom:8px; }
.fj-tl__item p{ margin:0; }
.fj-contact-lines{ margin-top:34px; display:flex; flex-direction:column; gap:18px; }
.fj-contact-line{ display:flex; flex-direction:column; gap:6px; }
.fj-contact-line a, .fj-contact-line span:last-child{ font-family:'Source Serif 4',Georgia,serif; color:#F5F3F0; text-decoration:none; font-size:1.05rem; }
.fj-contact-line a:hover{ color:#D8821F; }
.fj-booking{ border:1px solid #1E1E21; border-radius:8px; overflow:hidden; background:#141416; }
.fj-booking iframe{ width:100%; height:760px; border:0; display:block; }
@media (max-width:820px){ .fj-tl__item{ grid-template-columns:1fr; gap:8px; } .fj-booking iframe{ height:640px; } }

/* TidyCal official embed */
.fj-booking{ padding:8px; }
.fj-booking iframe{ height:auto !important; min-height:700px; }
.tidycal-embed{ min-height:640px; }

/* Booking card */
.fj-book{ display:grid; grid-template-columns:1.35fr .65fr; gap:0; border:1px solid #1E1E21; border-radius:8px; overflow:hidden; background:#141416; }
.fj-book__main{ padding:44px 44px 40px; }
.fj-book__main h3{ font-family:'Anton',sans-serif !important; text-transform:uppercase; font-size:clamp(22px,2.4vw,34px); line-height:1.06; color:#F5F3F0; margin:14px 0 18px; }
.fj-book__main p{ margin:0; }
.fj-book__side{ background:#0F0F10; border-left:1px solid #1E1E21; padding:36px 32px; display:flex; flex-direction:column; justify-content:center; gap:20px; }
.fj-book__row{ display:flex; flex-direction:column; gap:5px; }
.fj-book__row span{ font-family:'Archivo',sans-serif; font-size:.68rem; text-transform:uppercase; letter-spacing:.14em; color:#6E6A64; }
.fj-book__row strong{ font-family:'Source Serif 4',Georgia,serif; font-weight:400; color:#F5F3F0; font-size:.98rem; line-height:1.35; }
@media (max-width:820px){ .fj-book{ grid-template-columns:1fr; } .fj-book__main{ padding:32px 24px 28px; } .fj-book__side{ border-left:0; border-top:1px solid #1E1E21; padding:28px 24px; } }

/* Cart in nav */
.fj-cart{ position:relative; display:inline-flex; align-items:center; justify-content:center; width:40px; height:40px; border-radius:4px; border:1px solid #1E1E21; color:#9A968F; transition:all .16s ease; flex:none; }
.fj-cart:hover, .fj-cart.is-full{ color:#D8821F; border-color:#D8821F; }
.fj-cart__n{ position:absolute; top:-7px; right:-7px; min-width:18px; height:18px; padding:0 5px; border-radius:999px; background:#D8821F; color:#0A0A0B; font-family:'Archivo',sans-serif; font-weight:600; font-size:.68rem; display:flex; align-items:center; justify-content:center; }

/* ===== RESPONSIVE PASS ===== */
@media (max-width:1200px){
  .fj-wrap{ padding:0 28px; }
  .fj-hero-grid{ gap:44px; }
  .fj-scene{ max-width:400px; }
  .fj-panel{ padding:56px 44px 64px; }
  .fj-nav__links{ gap:20px; }
}
@media (max-width:1024px){
  .fj-hero-grid{ grid-template-columns:1fr; gap:36px; }
  .fj-scene, .fj-scene--sm{ max-width:320px; margin:0; }
  .fj-panel-grid{ grid-template-columns:1fr; gap:30px; }
  .fj-panel-art, .fj-panel-art--cover{ max-width:190px; margin:0; }
  .fj-post-thumb{ max-width:420px; }
  .fj-feature__grid{ grid-template-columns:1fr; gap:36px; }
  .fj-feature__art img{ max-width:230px; }
  .fj-proof__lede{ grid-template-columns:1fr; gap:20px; }
  .fj-facts--4{ grid-template-columns:repeat(2,1fr); }
  .fj-footer__grid{ grid-template-columns:1fr 1fr; gap:32px; }
}
@media (max-width:900px){
  .fj-nav__in{ flex-direction:row; align-items:center; gap:12px; flex-wrap:wrap; }
  .fj-nav__brand{ font-size:.95rem; }
  .fj-nav__links{ gap:14px; width:100%; justify-content:flex-start; }
  .fj-nav__links a{ font-size:.78rem; }
  .fj-nav .fj-btn{ padding:9px 14px; font-size:.76rem; }
  body.fj-page{ padding-top:112px; }
  .fj-filter{ top:112px; }
}
@media (max-width:600px){
  .fj-wrap{ padding:0 18px; }
  .fj-hero{ padding:56px 0 60px; }
  .fj-hero--page{ padding:44px 0 52px; }
  .fj-hero h1{ font-size:clamp(30px,9vw,44px); margin:14px 0 18px; }
  .fj-page p{ font-size:1rem; }
  .fj-scene, .fj-scene--sm{ max-width:230px; margin:0 auto; }
  .fj-actions{ gap:9px; }
  .fj-actions .fj-btn{ padding:12px 18px; font-size:.84rem; }
  .fj-panel{ padding:32px 20px 40px; border-radius:16px 16px 0 0; }
  .fj-panel + .fj-panel, .fj-post-panel + .fj-post-panel{ margin-top:20px; }
  .fj-panel h2{ font-size:clamp(22px,7vw,30px); }
  .fj-panel-art, .fj-panel-art--cover{ max-width:140px; }
  .fj-facts--4, .fj-proof__facts{ grid-template-columns:1fr; }
  .fj-fact{ padding:24px 20px; }
  .fj-feature{ padding:56px 0; }
  .fj-signup{ padding:60px 0 56px; }
  .fj-index{ padding:56px 0 64px; }
  .fj-footer__grid{ grid-template-columns:1fr; gap:28px; }
  .fj-footer__base{ flex-direction:column; gap:8px; }
  .fj-form__row{ flex-direction:column; }
  .fj-form button.fj-btn{ width:100%; }
  .fj-book__main{ padding:28px 20px 26px; }
  .fj-book__side{ padding:24px 20px; }
  .fj-tl__item{ padding:20px 0; }
  .fj-chip{ padding:8px 13px; font-size:.78rem; }
}
@media (max-width:380px){
  .fj-wrap{ padding:0 14px; }
  .fj-hero h1{ font-size:28px; }
  .fj-nav__links{ gap:11px; }
  .fj-nav__links a{ font-size:.74rem; }
  .fj-actions{ flex-direction:column; align-items:stretch; }
  .fj-actions .fj-btn{ text-align:center; }
}
.fj-page h1,.fj-page h2,.fj-page h3{ overflow-wrap:anywhere; }
.fj-page img{ max-width:100%; height:auto; }

/* ===== WOOCOMMERCE PAGES ===== */
.fj-hero--woo{ padding:64px 0 40px; }
.fj-hero--woo h1{ font-size:clamp(30px,5vw,60px); margin-top:12px; }
.fj-woo{ padding:20px 0 110px; }
.fj-woo, .fj-woo p, .fj-woo td, .fj-woo th, .fj-woo label, .fj-woo li{ font-family:'Archivo',sans-serif; color:#F5F3F0; }
.fj-woo h2,.fj-woo h3{ font-family:'Anton',sans-serif; text-transform:uppercase; color:#F5F3F0; font-size:1.4rem; letter-spacing:.01em; }
.fj-woo table{ width:100%; border-collapse:collapse; background:transparent; }
.fj-woo table th,.fj-woo table td{ border:0 !important; border-bottom:1px solid #1E1E21 !important; padding:16px 12px !important; background:transparent !important; }
.fj-woo table th{ font-size:.72rem; text-transform:uppercase; letter-spacing:.14em; color:#9A968F; font-weight:600; }
.fj-woo .product-thumbnail img{ width:56px; border-radius:3px; border:1px solid #1E1E21; }
.fj-woo a{ color:#D8821F; }
.fj-woo input[type=text],.fj-woo input[type=email],.fj-woo input[type=tel],.fj-woo input[type=password],.fj-woo input[type=number],.fj-woo textarea,.fj-woo select,.fj-woo .select2-selection{
  background:#141416 !important; border:1px solid #1E1E21 !important; color:#F5F3F0 !important; border-radius:4px !important; padding:13px 14px !important; font-family:'Archivo',sans-serif !important; }
.fj-woo input:focus,.fj-woo textarea:focus,.fj-woo select:focus{ outline:none !important; border-color:#D8821F !important; }
.fj-woo .button,.fj-woo button,.fj-woo input[type=submit],.fj-woo .checkout-button,.fj-woo #place_order{
  background:#D8821F !important; color:#0A0A0B !important; border:1px solid #D8821F !important; border-radius:4px !important;
  font-family:'Archivo',sans-serif !important; font-weight:600 !important; text-transform:none !important; padding:14px 26px !important; box-shadow:none !important; }
.fj-woo .button:hover,.fj-woo #place_order:hover{ background:transparent !important; color:#D8821F !important; }
.fj-woo .cart_totals, .fj-woo .woocommerce-checkout-review-order{ background:#141416; border:1px solid #1E1E21; border-radius:6px; padding:26px; }
.fj-woo .woocommerce-message,.fj-woo .woocommerce-info,.fj-woo .woocommerce-error{
  background:#141416 !important; border:1px solid #1E1E21 !important; border-top:2px solid #D8821F !important; color:#F5F3F0 !important; border-radius:4px; padding:16px 20px !important; }
.fj-woo .woocommerce-message::before,.fj-woo .woocommerce-info::before{ color:#D8821F !important; }
.fj-woo .wc-block-components-notice-banner{ background:#141416 !important; color:#F5F3F0 !important; }
.fj-woo #payment,.fj-woo .wc_payment_methods{ background:transparent !important; }
.fj-woo #payment ul.payment_methods{ border-bottom:1px solid #1E1E21 !important; }
.fj-woo .wcpay-bnpl-product-page-messaging,.fj-woo .wc-bnpl-messaging,.fj-woo .afterpay-paragraph{ display:none !important; }
@media (max-width:700px){ .fj-woo table th{ display:none; } .fj-woo table td{ display:block; text-align:left !important; } }

/* Cart form fixes: coupon field and quantity were being squashed by the theme */
.fj-woo .coupon{ display:flex !important; gap:10px !important; align-items:center; flex-wrap:wrap; float:none !important; width:auto !important; }
.fj-woo .coupon label{ display:none; }
.fj-woo #coupon_code, .fj-woo input#coupon_code.input-text{
  width:280px !important; min-width:240px !important; max-width:100% !important; flex:0 1 280px !important;
  display:inline-block !important; visibility:visible !important; opacity:1 !important; pointer-events:auto !important;
  background:#141416 !important; border:1px solid #1E1E21 !important; color:#F5F3F0 !important;
  border-radius:4px !important; padding:13px 14px !important; font-family:'Archivo',sans-serif !important; font-size:.92rem !important; }
.fj-woo #coupon_code::placeholder{ color:#6E6A64 !important; }
.fj-woo .coupon .button{ flex:none !important; white-space:nowrap; }
.fj-woo .actions .button[name=update_cart]{ float:right; }
.fj-woo .actions .button[disabled]{ opacity:.45; cursor:not-allowed; }
.fj-woo .quantity{ display:inline-flex !important; align-items:center; }
.fj-woo .quantity input.qty{
  width:78px !important; text-align:center; background:#141416 !important; border:1px solid #1E1E21 !important;
  color:#F5F3F0 !important; border-radius:4px !important; padding:11px 8px !important;
  -moz-appearance:textfield; font-family:'Archivo',sans-serif !important; opacity:1 !important; }
.fj-woo .quantity input.qty::-webkit-outer-spin-button,.fj-woo .quantity input.qty::-webkit-inner-spin-button{ opacity:1; height:22px; }
@media (max-width:700px){ .fj-woo .coupon{ flex-direction:column; align-items:stretch; } .fj-woo #coupon_code{ width:100% !important; flex:1 1 auto !important; } .fj-woo .actions .button[name=update_cart]{ float:none; width:100%; } }

/* Cart table: keep native table layout, just restyle it */
.fj-woo table.shop_table{ table-layout:auto !important; width:100% !important; direction:ltr !important; text-align:left !important; }
.fj-woo table.shop_table th,.fj-woo table.shop_table td{ text-align:left !important; vertical-align:middle !important; }
.fj-woo table.shop_table td.actions{ display:table-cell !important; }
.fj-woo table.shop_table .product-remove{ width:40px; }
.fj-woo table.shop_table .product-thumbnail{ width:80px; }
.fj-woo .coupon{ display:inline-flex !important; gap:10px; vertical-align:middle; }

/* Force interactivity: something is covering the cart form controls */
.fj-woo{ position:relative; z-index:5; }
.fj-woo form, .fj-woo table, .fj-woo .coupon, .fj-woo td, .fj-woo .quantity{ position:relative; z-index:6; }
.fj-woo input, .fj-woo textarea, .fj-woo select, .fj-woo button, .fj-woo .button{
  position:relative !important; z-index:20 !important; pointer-events:auto !important;
  user-select:auto !important; -webkit-user-select:auto !important; touch-action:auto !important; }
.fj-woo input[readonly]{ background:#141416 !important; }
body.fj-page .fj-hero::after{ pointer-events:none !important; }
body.fj-page .fj-scene, body.fj-page .fj-scene__glow{ pointer-events:none !important; }
body.fj-page .elementor-widget-html::before, body.fj-page .elementor-widget-html::after{ pointer-events:none !important; }
body.fj-page .fj-hero--woo{ overflow:visible; }

/* ===== SINGLE POST ===== */
.fj-article__head{ padding:72px 0 34px; }
.fj-article__meta{ display:flex; gap:10px; flex-wrap:wrap; font-family:'Archivo',sans-serif; font-size:.74rem; text-transform:uppercase; letter-spacing:.13em; color:#6E6A64; margin-bottom:22px; }
.fj-article__meta a{ color:#D8821F; text-decoration:none; }
.fj-article__head h1{ font-family:'Anton',sans-serif; text-transform:uppercase; line-height:1.03; font-size:clamp(30px,5.2vw,68px); color:#F5F3F0; max-width:20ch; }
.fj-article__hero{ margin:30px 0 44px; border:1px solid #1E1E21; border-radius:6px; overflow:hidden; }
.fj-article__hero img{ width:100%; height:auto; display:block; }
.fj-article__body{ max-width:68ch; }
.fj-article__body,.fj-article__body p,.fj-article__body li{ font-family:'Source Serif 4',Georgia,serif; font-size:1.12rem; line-height:1.72; color:#CFCAC2; }
.fj-article__body p{ margin:0 0 22px; }
.fj-article__body h2,.fj-article__body h3,.fj-article__body h4{ font-family:'Anton',sans-serif; text-transform:uppercase; color:#F5F3F0; line-height:1.1; margin:44px 0 16px; letter-spacing:.005em; }
.fj-article__body h2{ font-size:clamp(22px,2.6vw,34px); }
.fj-article__body h3{ font-size:clamp(18px,2vw,25px); }
.fj-article__body a{ color:#D8821F; text-decoration:underline; text-underline-offset:3px; }
.fj-article__body strong{ color:#F5F3F0; font-weight:600; }
.fj-article__body ul,.fj-article__body ol{ margin:0 0 24px; padding-left:22px; }
.fj-article__body li{ margin-bottom:9px; }
.fj-article__body li::marker{ color:#D8821F; }
.fj-article__body img{ max-width:100%; height:auto; border-radius:4px; border:1px solid #1E1E21; margin:12px 0 26px; }
.fj-article__body blockquote{ margin:30px 0; padding:4px 0 4px 22px; border-left:2px solid #D8821F; color:#F5F3F0; font-style:italic; }
.fj-article__body blockquote p{ margin-bottom:8px; }
.fj-article__body code{ font-family:ui-monospace,SFMono-Regular,Menlo,monospace; font-size:.9em; background:#141416; border:1px solid #1E1E21; border-radius:3px; padding:2px 6px; color:#F0A24A; }
.fj-article__body pre{ background:#141416; border:1px solid #1E1E21; border-radius:6px; padding:20px; overflow:auto; margin:0 0 26px; }
.fj-article__body pre code{ background:none; border:0; padding:0; color:#CFCAC2; }
.fj-article__body hr{ border:0; border-top:1px solid #1E1E21; margin:40px 0; }
.fj-article__body table{ width:100%; border-collapse:collapse; margin:0 0 26px; font-family:'Archivo',sans-serif; font-size:.95rem; }
.fj-article__body th,.fj-article__body td{ border-bottom:1px solid #1E1E21; padding:12px 10px; text-align:left; color:#CFCAC2; }
.fj-article__body th{ color:#9A968F; font-size:.74rem; text-transform:uppercase; letter-spacing:.12em; }
.fj-article__foot{ margin:52px 0 0; padding-top:30px; border-top:1px solid #1E1E21; }
.fj-related{ padding:80px 0 20px; }
.fj-related h2{ font-family:'Anton',sans-serif; text-transform:uppercase; font-size:clamp(20px,2.4vw,30px); color:#F5F3F0; margin-bottom:24px; }
.fj-related__grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.fj-related__item{ display:block; padding:24px 22px; background:#141416; border:1px solid #1E1E21; border-radius:6px; text-decoration:none; }
.fj-related__item:hover{ border-color:#D8821F; }
.fj-related__date{ display:block; font-family:'Archivo',sans-serif; font-size:.7rem; text-transform:uppercase; letter-spacing:.13em; color:#D8821F; margin-bottom:10px; }
.fj-related__title{ display:block; font-family:'Source Serif 4',Georgia,serif; color:#F5F3F0; font-size:1.02rem; line-height:1.4; }
@media (max-width:820px){ .fj-related__grid{ grid-template-columns:1fr; } .fj-article__head{ padding:44px 0 24px; } .fj-article__body,.fj-article__body p,.fj-article__body li{ font-size:1.05rem; } }

/* Article rail */
.fj-article__layout{ display:grid; grid-template-columns:minmax(0,1fr) 250px; gap:64px; align-items:start; }
.fj-rail__inner{ position:sticky; top:104px; display:flex; flex-direction:column; gap:26px; }
.fj-rail__k{ font-family:'Archivo',sans-serif; font-weight:600; font-size:.68rem; text-transform:uppercase; letter-spacing:.14em; color:#6E6A64; margin-bottom:12px; }
.fj-toc ol{ list-style:none; margin:0; padding:0; border-left:1px solid #1E1E21; }
.fj-toc li{ margin:0; }
.fj-toc a{ display:block; padding:7px 0 7px 14px; margin-left:-1px; border-left:1px solid transparent; font-family:'Archivo',sans-serif; font-size:.82rem; line-height:1.35; color:#6E6A64; text-decoration:none; }
.fj-toc a:hover{ color:#9A968F; }
.fj-toc a.is-active{ color:#D8821F; border-left-color:#D8821F; }
.fj-rail__card{ background:#141416; border:1px solid #1E1E21; border-radius:6px; padding:20px; }
.fj-rail__card img{ width:96px; display:block; border:1px solid #1E1E21; border-radius:2px; margin-bottom:16px; }
.fj-rail__card p{ font-family:'Source Serif 4',Georgia,serif !important; font-size:.9rem !important; line-height:1.5 !important; color:#9A968F !important; margin:0 0 16px !important; }
.fj-rail__card .fj-btn{ padding:10px 16px; font-size:.8rem; }
@media (max-width:1100px){ .fj-article__layout{ grid-template-columns:minmax(0,1fr) 220px; gap:40px; } }
@media (max-width:900px){ .fj-article__layout{ grid-template-columns:1fr; gap:44px; } .fj-rail__inner{ position:static; } .fj-toc{ display:none; } .fj-rail__card{ display:flex; gap:18px; align-items:center; flex-wrap:wrap; } .fj-rail__card img{ margin-bottom:0; width:76px; } }

/* ===== SINGLE PRODUCT ===== */
body.fj-woo-single .product{ padding-top:24px; }
body.fj-woo-single .product_title{ font-family:'Anton',sans-serif !important; text-transform:uppercase; color:#F5F3F0 !important; line-height:1.05; font-size:clamp(28px,3.6vw,52px) !important; margin-bottom:16px !important; }
body.fj-woo-single .woocommerce-Price-amount, body.fj-woo-single .price{ color:#D8821F !important; font-family:'Archivo',sans-serif !important; font-weight:600 !important; font-size:1.5rem !important; }
body.fj-woo-single .woocommerce-product-details__short-description p,
body.fj-woo-single .woocommerce-Tabs-panel p,
body.fj-woo-single .woocommerce-Tabs-panel li{ font-family:'Source Serif 4',Georgia,serif !important; color:#CFCAC2 !important; line-height:1.65 !important; }
body.fj-woo-single .woocommerce-Tabs-panel h2,
body.fj-woo-single .woocommerce-Tabs-panel h3{ font-family:'Anton',sans-serif !important; text-transform:uppercase; color:#F5F3F0 !important; }
body.fj-woo-single .images img{ border:1px solid #1E1E21; border-radius:4px; }
body.fj-woo-single .single_add_to_cart_button{ background:#D8821F !important; color:#0A0A0B !important; border:1px solid #D8821F !important; border-radius:4px !important; font-family:'Archivo',sans-serif !important; font-weight:600 !important; padding:15px 30px !important; text-transform:none !important; }
body.fj-woo-single .single_add_to_cart_button:hover{ background:transparent !important; color:#D8821F !important; }
body.fj-woo-single .wcpay-bnpl-product-page-messaging, body.fj-woo-single .afterpay-paragraph, body.fj-woo-single [class*='afterpay']{ display:none !important; }
body.fj-woo-single .woocommerce-tabs ul.tabs li a{ font-family:'Archivo',sans-serif !important; color:#9A968F !important; }
body.fj-woo-single .woocommerce-tabs ul.tabs li.active a{ color:#D8821F !important; }
body.fj-woo-single .fj-article__head, body.fj-woo-single .fj-rail, body.fj-woo-single .fj-article__meta{ display:none !important; }

/* ===== STACK OFFSETS =====
   position:sticky does nothing without a threshold. These are it. */
body.fj-page .fj-stack .fj-panel{ position:sticky !important; }
body.fj-page .fj-stack .fj-panel:nth-of-type(1){ top:96px  !important; z-index:1 !important; }
body.fj-page .fj-stack .fj-panel:nth-of-type(2){ top:120px !important; z-index:2 !important; }
body.fj-page .fj-stack .fj-panel:nth-of-type(3){ top:144px !important; z-index:3 !important; }
body.fj-page .fj-stack .fj-panel:nth-of-type(4){ top:168px !important; z-index:4 !important; }
body.fj-page .fj-stack .fj-panel:nth-of-type(5){ top:192px !important; z-index:5 !important; }
body.fj-page .fj-stack .fj-panel:nth-of-type(6){ top:216px !important; z-index:6 !important; }
@media (max-width:900px){
  body.fj-page .fj-stack .fj-panel:nth-of-type(1){ top:132px !important; }
  body.fj-page .fj-stack .fj-panel:nth-of-type(2){ top:150px !important; }
  body.fj-page .fj-stack .fj-panel:nth-of-type(3){ top:168px !important; }
  body.fj-page .fj-stack .fj-panel:nth-of-type(4){ top:186px !important; }
  body.fj-page .fj-stack .fj-panel:nth-of-type(5){ top:204px !important; }
}
@media (prefers-reduced-motion:reduce){ body.fj-page .fj-stack .fj-panel{ position:static !important; } }

/* ===== MOBILE NAV (authoritative, last in file) ===== */
body.fj-page .fj-nav__bar{ display:none; align-items:center; gap:10px; }
body.fj-page .fj-burger{ width:42px; height:42px; display:inline-flex; flex-direction:column; align-items:center; justify-content:center; gap:5px; background:transparent; border:1px solid #1E1E21; border-radius:4px; cursor:pointer; padding:0; }
body.fj-page .fj-burger span{ display:block; width:18px; height:1.5px; background:#F5F3F0; transition:transform 180ms cubic-bezier(.16,1,.3,1), opacity 140ms ease; }
body.fj-menu-open .fj-burger span:nth-child(1){ transform:translateY(6.5px) rotate(45deg); }
body.fj-menu-open .fj-burger span:nth-child(2){ opacity:0; }
body.fj-menu-open .fj-burger span:nth-child(3){ transform:translateY(-6.5px) rotate(-45deg); }

@media screen and (max-width:900px){
  body.fj-page .fj-nav__in{ display:flex !important; flex-direction:row !important; align-items:center !important; justify-content:space-between !important; gap:10px !important; padding:14px 0 !important; flex-wrap:nowrap !important; }
  body.fj-page .fj-nav__brand{ font-size:.95rem !important; }
  body.fj-page .fj-nav__bar{ display:flex !important; }
  body.fj-page .fj-nav__links{
    position:fixed !important; left:0 !important; right:0 !important; top:0 !important; z-index:90 !important;
    display:flex !important; flex-direction:column !important; align-items:stretch !important;
    gap:0 !important; width:auto !important; justify-content:flex-start !important;
    background:#0A0A0B !important; border-bottom:1px solid #1E1E21 !important;
    padding:78px 20px 24px !important;
    transform:translateY(-101%); opacity:0; pointer-events:none;
    transition:transform 260ms cubic-bezier(.16,1,.3,1), opacity 200ms ease;
    max-height:100dvh; overflow-y:auto;
  }
  body.fj-menu-open .fj-nav__links{ transform:translateY(0) !important; opacity:1 !important; pointer-events:auto !important; }
  body.fj-page .fj-nav__links > a{ font-size:1.1rem !important; padding:15px 2px !important; border-bottom:1px solid #1E1E21 !important; color:#F5F3F0 !important; display:block !important; }
  body.fj-page .fj-nav__links > a.fj-btn{ margin-top:18px !important; text-align:center !important; padding:15px 20px !important; font-size:.95rem !important; border-bottom:0 !important; color:#0A0A0B !important; background:#D8821F !important; }
  body.fj-page .fj-nav__links .fj-cart{ display:none !important; }
  body.fj-page{ padding-top:72px !important; }
  body.fj-page .fj-filter{ top:72px !important; }
  body.fj-menu-open{ overflow:hidden !important; }
}
@media (prefers-reduced-motion:reduce){ body.fj-page .fj-nav__links{ transition:none !important; } body.fj-page .fj-burger span{ transition:none !important; } }

/* ===== BURGER ABOVE PANEL (close fix) ===== */
body.fj-page .fj-nav__bar{ position:relative; z-index:120; }
body.fj-page .fj-burger{ position:relative; z-index:121; }
@media screen and (max-width:900px){
  body.fj-page .fj-nav__in{ position:relative; z-index:120; }
  body.fj-page .fj-nav__links{ z-index:110 !important; padding-top:80px !important; }
  body.fj-menu-open .fj-burger{ border-color:#D8821F !important; }
  body.fj-menu-open .fj-burger span{ background:#D8821F !important; }
}

/* ===== MOBILE FORM SIZING =====
   iOS zooms the viewport if an input font-size is under 16px, so keep 16px
   and reduce padding instead of shrinking the text. */
@media screen and (max-width:600px){
  body.fj-page .fj-form__input,
  body.fj-page .fj-woo input[type=text],
  body.fj-page .fj-woo input[type=email],
  body.fj-page .fj-woo input[type=tel],
  body.fj-page .fj-woo input[type=password],
  body.fj-page .fj-woo input[type=number],
  body.fj-page .fj-woo textarea,
  body.fj-page .fj-woo select,
  body.fj-page .fj-woo #coupon_code{
    font-size:16px !important;
    padding:11px 12px !important;
    line-height:1.3 !important;
    min-height:0 !important;
    height:auto !important;
    border-radius:4px !important;
  }
  body.fj-page .fj-woo #coupon_code{ width:100% !important; min-width:0 !important; flex:1 1 auto !important; }
  body.fj-page .fj-woo .quantity input.qty{ width:64px !important; padding:9px 6px !important; font-size:16px !important; }
  body.fj-page .fj-btn,
  body.fj-page .fj-woo .button,
  body.fj-page .fj-woo button,
  body.fj-page .fj-woo input[type=submit],
  body.fj-page .fj-woo #place_order{
    font-size:.88rem !important; padding:12px 18px !important; line-height:1.2 !important;
  }
  body.fj-page .fj-form__row{ gap:8px !important; }
  body.fj-page .fj-woo .coupon{ gap:8px !important; }
  body.fj-page .fj-woo label{ font-size:.85rem !important; margin-bottom:5px !important; }
  body.fj-page .fj-signup{ padding:52px 0 48px !important; }
}
@media screen and (max-width:380px){
  body.fj-page .fj-form__input,
  body.fj-page .fj-woo input, body.fj-page .fj-woo select, body.fj-page .fj-woo textarea{ padding:10px 11px !important; }
}

/* ===== COUPON ROW (stop the button being clipped) ===== */
body.fj-page .fj-woo .coupon{ display:flex !important; flex-wrap:wrap !important; align-items:stretch !important; gap:10px !important; width:100% !important; float:none !important; }
body.fj-page .fj-woo .coupon .button{ flex:0 0 auto !important; white-space:nowrap !important; width:auto !important; overflow:visible !important; text-overflow:clip !important; }
body.fj-page .fj-woo td.actions{ overflow:visible !important; white-space:normal !important; }
@media screen and (max-width:600px){
  body.fj-page .fj-woo .coupon{ flex-direction:column !important; }
  body.fj-page .fj-woo .coupon #coupon_code{ width:100% !important; }
  body.fj-page .fj-woo .coupon .button{ width:100% !important; }
  body.fj-page .fj-woo td.actions .button[name=update_cart]{ width:100% !important; float:none !important; margin-top:10px !important; }
}
