/* JFP Footer Builder — colours/sizes come from CSS variables printed by the plugin settings */
.jfp-root{ font-family:var(--jfp-font, inherit); font-size:var(--jfp-fs,13px); line-height:1.8; color:var(--jfp-link,#b9b7b0); }
.jfp-root *, .jfp-root *::before, .jfp-root *::after{ box-sizing:border-box; }
.jfp-root a{ text-decoration:none; }
.jfp-root h3, .jfp-root p, .jfp-root ul{ margin:0; padding:0; }
.jfp-root ul{ list-style:none; }
.jfp-footer{ position:relative; margin:var(--jfp-mt,64px) 0 var(--jfp-mb,16px); overflow-x:clip; }
.jfp-wrap{ width:100%; max-width:var(--jfp-maxw,1352px); margin-inline:auto; padding-inline:var(--jfp-px,16px); }

/* grid: main card + side card */
.jfp-grid{ display:grid; grid-template-columns:minmax(0,var(--jfp-ratio,1.7fr)) minmax(0,1fr); gap:var(--jfp-gap,18px); align-items:stretch; }
.jfp-grid.no-side{ grid-template-columns:minmax(0,1fr); }
.jfp-grid.side-first .jfp-side{ order:-1; }
.jfp-card{ border-radius:var(--jfp-radius,40px); }

/* main (dark) card */
.jfp-main{ position:relative; display:flex; flex-direction:column; gap:28px; padding:var(--jfp-pad,40px); color:var(--jfp-link); isolation:isolate; overflow:hidden;
	background:radial-gradient(90% 120% at 100% 0%, var(--jfp-dark1,#34322b) 0%, var(--jfp-dark2,#141311) 62%); }
.jfp-main::before{ content:""; position:absolute; width:380px; height:380px; inset-inline-start:-120px; bottom:-170px; border-radius:50%; z-index:-1; pointer-events:none;
	background:radial-gradient(circle, color-mix(in srgb, var(--jfp-accent,#a0f00b) 42%, transparent), transparent 70%); }
.jfp-top{ display:flex; justify-content:space-between; align-items:flex-start; gap:24px; }
.jfp-brand{ display:flex; flex-direction:column; align-items:flex-start; max-width:540px; }
.jfp-logo{ display:inline-flex; align-items:center; justify-content:center; color:var(--jfp-title); }
.jfp-logo img{ width:var(--jfp-logo,40px); height:auto; max-height:var(--jfp-logo,40px); object-fit:contain; }
.jfp-logo i{ font-style:normal; font-weight:900; font-size:calc(var(--jfp-logo,40px) * .95); line-height:1; }
.jfp-logo.has-plate{ width:calc(var(--jfp-logo,40px) + 28px); height:calc(var(--jfp-logo,40px) + 28px); border-radius:calc(var(--jfp-logo,40px) * .6); background:#fff; color:#141311; box-shadow:0 14px 28px -12px rgba(0,0,0,.65); }
.jfp-name{ margin:14px 0 4px !important; font-size:calc(var(--jfp-fs,13px) * 1.85); font-weight:900; line-height:1.3; color:var(--jfp-title); }
.jfp-tag{ font-size:calc(var(--jfp-fs,13px) * 1.0); font-weight:800; color:var(--jfp-link); }
.jfp-desc{ margin-top:12px !important; max-width:460px; font-size:calc(var(--jfp-fs,13px) * .96); line-height:2; color:var(--jfp-desc); }
.jfp-namads{ display:flex; gap:10px; flex:0 0 auto; }
.jfp-nm{ width:var(--jfp-nm-w,76px); height:var(--jfp-nm-h,96px); border-radius:var(--jfp-nm-r,20px); display:flex; align-items:center; justify-content:center; overflow:hidden; background:var(--jfp-box); box-shadow:inset 0 0 0 1px var(--jfp-line); color:var(--jfp-accent) !important; transition:transform .2s; }
a.jfp-nm:hover{ transform:translateY(-3px); }
.jfp-nm svg{ width:32px; height:32px; }
.jfp-nm.has-img{ padding:var(--jfp-nm-pad,4px); }
.jfp-nm.has-img img{ display:block; width:100%; height:100%; object-fit:contain; border-radius:max(0px, calc(var(--jfp-nm-r,20px) - var(--jfp-nm-pad,4px))); background:#fff; }

/* columns */
.jfp-cols{ display:grid; grid-template-columns:var(--jfp-cols, repeat(3,minmax(0,1fr))); gap:28px; padding-top:26px; border-top:1px solid var(--jfp-line); }
.jfp-col h3, .jfp-row h3{ display:flex; align-items:center; gap:8px; margin-bottom:16px !important; font-size:calc(var(--jfp-fs,13px) * 1.02); font-weight:900; color:var(--jfp-title); }
.jfp-col h3::before, .jfp-row h3::before{ content:""; width:14px; height:3px; border-radius:3px; background:var(--jfp-accent); }
.jfp-col ul{ display:flex; flex-direction:column; gap:12px; }
.jfp-col li > a, .jfp-col li > span{ color:var(--jfp-link); transition:color .15s, padding .15s; }
.jfp-col li > a:hover{ color:var(--jfp-title); padding-inline-start:6px; }
.jfp-col li.current-menu-item > a{ color:var(--jfp-accent); }

/* third column: vertical contact list */
.jfp-ct{ gap:0 !important; }
.jfp-ct li{ display:flex; align-items:flex-start; gap:12px; padding:14px 0; border-bottom:1px solid var(--jfp-line); }
.jfp-ct li:first-child{ padding-top:0; }
.jfp-ct li:last-child{ padding-bottom:0; border-bottom:0; }
.jfp-ico{ flex:0 0 auto; display:inline-flex; align-items:center; justify-content:center; width:38px; height:38px; border-radius:13px; background:var(--jfp-box); color:var(--jfp-accent); }
.jfp-ct-body{ display:flex; flex-direction:column; gap:2px; min-width:0; }
.jfp-ct-body b{ font-size:calc(var(--jfp-fs,13px) * .98); font-weight:900; color:var(--jfp-title); }
.jfp-ct-val, .jfp-ct-val a{ font-size:calc(var(--jfp-fs,13px) * .96); line-height:1.95; color:var(--jfp-link); overflow-wrap:anywhere; }
.jfp-ct-val a:hover{ color:var(--jfp-title); }

/* chips + socials */
.jfp-row{ display:flex; align-items:center; gap:18px; padding-top:22px; border-top:1px solid var(--jfp-line); }
.jfp-row h3{ flex:0 0 auto; margin:0 !important; }
.jfp-chips, .jfp-soc{ display:flex; flex-wrap:wrap; gap:8px; flex:1; min-width:0; }
.jfp-chip{ display:inline-flex; align-items:center; gap:8px; padding:8px 16px; border-radius:999px; background:var(--jfp-box); box-shadow:inset 0 0 0 1px var(--jfp-line); color:var(--jfp-title) !important; font-weight:800; transition:background .2s, color .2s, transform .2s; }
.jfp-chip::before{ content:""; width:6px; height:6px; border-radius:50%; background:var(--jfp-accent); box-shadow:0 0 0 3px color-mix(in srgb, var(--jfp-accent) 22%, transparent); }
.jfp-chip:hover{ background:var(--jfp-accent); color:var(--jfp-dark2) !important; transform:translateY(-2px); }
.jfp-chip:hover::before{ background:var(--jfp-dark2); box-shadow:none; }
.jfp-soc a{ min-width:42px; height:42px; padding:0 12px; border-radius:50%; display:inline-flex; align-items:center; justify-content:center; background:var(--jfp-box); box-shadow:inset 0 0 0 1px var(--jfp-line); color:var(--jfp-title) !important; transition:background .2s, color .2s, transform .2s; }
.jfp-soc a:hover{ background:var(--jfp-accent); color:var(--jfp-dark2) !important; transform:translateY(-3px); }

/* side (light) card */
.jfp-side{ display:flex; flex-direction:column; gap:16px; padding:calc(var(--jfp-pad,40px) * .5); color:var(--jfp-ltext);
	background:linear-gradient(160deg, var(--jfp-light1,#f6f5f1), var(--jfp-light2,#ecebe5)); box-shadow:0 0 0 1px rgba(20,19,17,.06); }
.jfp-map{ position:relative; flex:1; min-height:var(--jfp-map-h,260px); border-radius:calc(var(--jfp-radius,40px) * .6); overflow:hidden; background:#fff; box-shadow:0 0 0 1px rgba(20,19,17,.08); }
.jfp-map iframe{ position:absolute; inset:0; width:100%; height:100%; border:0; }
.jfp-map.is-ph{ display:flex; flex-direction:column; align-items:center; justify-content:center; gap:6px; padding:24px; text-align:center; background-color:#fbfaf7; background-image:radial-gradient(rgba(20,19,17,.12) 1px, transparent 1.4px); background-size:16px 16px; }
.jfp-pin{ display:flex; align-items:center; justify-content:center; width:52px; height:52px; margin-bottom:6px; border-radius:50%; background:var(--jfp-perk-bg); color:var(--jfp-perk-fg); box-shadow:0 0 0 8px color-mix(in srgb, var(--jfp-perk-fg) 22%, transparent); }
.jfp-map.is-ph b{ font-weight:900; color:var(--jfp-ltext); }
.jfp-map.is-ph p{ max-width:260px; line-height:1.9; color:var(--jfp-copy); }
.jfp-route{ display:inline-flex; align-items:center; gap:8px; padding:9px 16px; border-radius:999px; background:var(--jfp-perk-bg); color:#fff !important; font-size:12px; font-weight:800; }
.jfp-route svg{ color:var(--jfp-perk-fg); }
.jfp-map.is-ph .jfp-route{ margin-top:10px; }
.jfp-map:not(.is-ph) .jfp-route{ position:absolute; inset-inline-start:50%; bottom:14px; transform:translateX(-50%); box-shadow:0 10px 22px -8px rgba(0,0,0,.5); }
[dir="rtl"] .jfp-map:not(.is-ph) .jfp-route{ transform:translateX(50%); }
.jfp-perks{ display:flex; justify-content:space-around; gap:8px; padding-top:16px; border-top:1px dashed rgba(20,19,17,.2); }
.jfp-perks li{ display:flex; flex-direction:column; align-items:center; gap:8px; text-align:center; font-size:calc(var(--jfp-fs,13px) * .9); font-weight:800; color:var(--jfp-ltext); }
.jfp-perks svg{ width:42px; height:42px; padding:10px; border-radius:14px; background:var(--jfp-perk-bg); color:var(--jfp-perk-fg); }

/* bottom bar */
.jfp-bar{ display:flex; align-items:center; gap:14px; margin-top:16px; }
.jfp-copy{ flex:1; min-width:0; text-align:center; font-size:calc(var(--jfp-fs,13px) * .92); font-weight:700; color:var(--jfp-copy); }
.jfp-credit{ flex:0 0 auto; display:flex; align-items:center; }
.jfp-credit-pill{ display:inline-flex; align-items:center; gap:8px; padding:11px 18px; border-radius:999px; background:var(--jfp-cr-bg); color:var(--jfp-cr-tx); font-size:calc(var(--jfp-fs,13px) * .92); font-weight:800; box-shadow:0 0 0 1px rgba(255,255,255,.08); }
.jfp-credit-pill svg{ color:var(--jfp-accent); fill:var(--jfp-accent); }
.jfp-credit-pill b{ color:var(--jfp-accent); font-weight:900; }
.jfp-credit-pill a{ color:inherit !important; }
.jfp-up{ flex:0 0 auto; width:40px; height:40px; border-radius:50%; display:inline-flex; align-items:center; justify-content:center; background:var(--jfp-up-bg); color:var(--jfp-up-fg) !important; transition:transform .2s; }
.jfp-up:hover{ transform:translateY(-3px); }

/* big outlined text */
.jfp-ghost{ margin-top:6px; text-align:center; direction:ltr; white-space:nowrap; overflow:hidden; user-select:none; pointer-events:none;
	font-size:clamp(34px, var(--jfp-g-vw,13vw), var(--jfp-g-max,190px)); line-height:1.05; font-weight:900; letter-spacing:-.01em;
	color:transparent; -webkit-text-stroke:var(--jfp-g-sw,1.5px) var(--jfp-ghost,#141311); opacity:var(--jfp-g-op,.16); }

@media (max-width:560px){
	.jfp-cols{ grid-template-columns:minmax(0,1fr) !important; }
	.jfp-perks{ flex-wrap:wrap; }
}
@media (prefers-reduced-motion:reduce){ .jfp-root *{ transition:none !important; } }
