/* Shared header + footer (Elementor templates "Jana — Header" / "Jana — Footer"), used on every page. */
body .elementor .j-header,body .elementor .j-footer{--j-red:#e4121b;--j-blue:#132c86;--j-yellow:#ffc419;font-family:Nunito,sans-serif}
body .elementor .j-header .j-wrap,body .elementor .j-footer .j-wrap{width:calc(100% - clamp(32px,8vw,80px));max-width:1240px;margin-inline:auto}
body:has(.jana-page) .elementor .j-header .j-wrap,body:has(.jana-page) .elementor .j-footer .j-wrap{width:min(1180px,calc(100% - 48px))}

/* Header */
body .elementor .j-header{position:sticky;top:0;z-index:1000;background:rgba(255,255,255,.97);box-shadow:0 2px 16px rgba(19,44,134,.08)}
body .elementor .j-topbar{height:34px;background:var(--j-blue);color:#fff}
body .elementor .j-topbar-inner{height:34px;display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:20px}
body .elementor .j-topbar-contact{width:auto;margin-right:auto}
body .elementor .j-topbar-contact p{display:flex;align-items:center;gap:20px;font-size:12px;line-height:1;color:#fff;margin:0}
body .elementor .j-topbar-contact a,body .elementor .j-topbar-contact span{color:#fff;white-space:nowrap}
body .elementor .j-topbar-social{width:auto;flex:0 0 auto}
body .elementor .j-topbar-social .elementor-social-icons-wrapper{display:flex;align-items:center;justify-content:flex-end;gap:7px}
body .elementor .j-topbar-social .elementor-social-icon{display:inline-flex;align-items:center;justify-content:center;width:23px;height:23px;min-width:23px;border-radius:50%;background:#fff;color:var(--j-blue);font-size:12px;transition:.2s transform,.2s background}
body .elementor .j-topbar-social .elementor-social-icon:hover{background:var(--j-yellow);transform:translateY(-2px)}
body .elementor .j-header-inner{height:72px;display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:24px}
body .elementor .j-brand{width:112px;flex:0 0 112px}
body .elementor .j-brand img{height:66px;width:auto;object-fit:contain}
body .elementor .j-nav{width:auto;margin-left:auto}
body .elementor .j-nav .elementor-icon-list-items{display:flex;align-items:center;gap:clamp(18px,3vw,40px);margin:0;padding:0}
body .elementor .j-nav .elementor-icon-list-item{margin:0;padding:0}
body .elementor .j-nav a{color:var(--j-blue);font:800 15.2px/1.4 Nunito,sans-serif;padding:8px 2px}
body .elementor .j-nav .elementor-icon-list-text{color:inherit;padding:0}
body .elementor .j-nav a:hover{color:var(--j-red)}
body .elementor .j-nav.active-home li:nth-child(1) a,
body .elementor .j-nav.active-about li:nth-child(2) a,
body .elementor .j-nav.active-products li:nth-child(3) a,
body .elementor .j-nav.active-news li:nth-child(4) a{color:var(--j-red);position:relative;border-bottom:3px solid var(--j-red)}
body .elementor .j-nav.active-home li:nth-child(1) a::after,
body .elementor .j-nav.active-about li:nth-child(2) a::after,
body .elementor .j-nav.active-products li:nth-child(3) a::after,
body .elementor .j-nav.active-news li:nth-child(4) a::after{content:'';position:absolute;bottom:-10px;left:50%;height:6px;width:6px;border-radius:50%;background:var(--j-red)}
body .elementor .j-mobile-menu{display:none}

/* Footer */
body .elementor .j-footer{position:relative;z-index:9;background:#132c86;color:#fff}
body .elementor .j-footer::before{content:'';position:absolute;left:0;right:0;top:-43px;height:44px;pointer-events:none;background:url('/wp-content/uploads/jana-cheese-assets/original-home/torn-blue-up.svg') center/1200px 44px repeat-x}
body .elementor .j-footer-grid{display:grid;grid-template-columns:minmax(220px,1.3fr) minmax(0,.8fr) minmax(0,.9fr) minmax(0,1.5fr);gap:clamp(20px,3vw,48px);padding:44px 0 40px}
body .elementor .j-footer-brand img{width:190px;filter:drop-shadow(0 4px 6px rgba(0,0,0,.3))}
body .elementor .j-footer-brand .j-script h3{color:#ffc419;font-size:28.8px;line-height:1.1;transform:rotate(-4deg);margin-top:14px;font-family:'Lobster Two',cursive;font-style:italic;font-weight:700}
body .elementor .j-footer-col h3{color:#ffc419;font-size:15.68px;font-weight:800;margin-bottom:12px}
body .elementor .j-footer-col .elementor-icon-list-items{display:block}
body .elementor .j-footer-col .elementor-icon-list-text{color:#fff;padding:0;font:400 14.72px/1.35 Nunito,sans-serif}
body .elementor .j-footer-col .elementor-icon-list-item{padding:3px 0}
body .elementor .j-footer-contact p{font-size:14.4px;line-height:1.4;margin-bottom:10px;color:#fff}
body .elementor .j-footer-contact strong{color:#ffc419;font-size:12.8px;letter-spacing:.05em}
body .elementor .j-footer-contact a{color:#fff;overflow-wrap:anywhere}
body .elementor .j-footer-bar{background:rgba(9,20,70,.85)}
body .elementor .j-footer-bar-inner{display:flex;flex-direction:row;flex-wrap:wrap;gap:8px 24px;justify-content:space-between;padding:14px 0;font-size:13.44px}
body .elementor .j-footer-bar-inner .elementor-widget{width:auto}
body .elementor .j-footer-bar-inner p{color:#fff;margin:0}

@media(max-width:1100px){
 body .elementor .j-footer-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
 body .elementor .j-footer-brand{grid-column:1/-1;flex-direction:row;align-items:center;gap:24px}
 body .elementor .j-footer-brand>.elementor-widget{width:auto}
}
@media(max-width:900px){
 body .elementor .j-footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 body .elementor .j-footer-brand{flex-direction:column;align-items:flex-start;gap:10px}
 body .elementor .j-footer-contact{grid-column:1/-1}
 body .elementor .j-header,body .elementor .j-header-inner,body .elementor .j-mobile-menu{overflow:visible!important}
 body .elementor .j-header{height:64px}
 body .elementor .j-topbar{display:none!important}
 body .elementor .j-header-inner{display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:space-between!important;height:64px;min-height:64px}
 body .elementor .j-brand{margin-right:auto!important;flex:0 0 94px!important}
 body .elementor .j-brand img{height:58px}
 body .elementor .j-nav,body .elementor .j-header-cta{display:none!important}
 body .elementor .j-mobile-menu{display:block!important;position:relative!important;width:46px!important;max-width:46px!important;flex:0 0 46px!important;margin:0 0 0 auto!important;z-index:1002}
 body .elementor .j-mobile-menu .elementor-toggle{width:46px!important}
 body .elementor .j-mobile-menu .elementor-toggle-item{margin:0!important;border:0!important}
 body .elementor .j-mobile-menu .elementor-tab-title{display:flex!important;align-items:center!important;justify-content:center!important;width:46px!important;height:46px!important;padding:0!important;border:2px solid var(--j-blue)!important;border-radius:14px!important;background:#fff!important;color:var(--j-blue)!important;line-height:1!important}
 body .elementor .j-mobile-menu .elementor-toggle-title{display:block!important;color:var(--j-blue)!important;font-size:23px!important;line-height:1!important}
 body .elementor .j-mobile-menu .elementor-toggle-icon{display:none!important}
 body .elementor .j-mobile-menu .elementor-tab-content{position:fixed!important;left:14px!important;right:14px!important;top:70px!important;width:auto!important;margin:0!important;padding:10px 20px 14px!important;background:#fff!important;border:0!important;border-radius:16px!important;box-shadow:0 14px 34px rgba(19,44,134,.2)!important;z-index:1001!important}
 body .elementor .j-mobile-menu .elementor-tab-content p{margin:0!important;padding:0!important;border-bottom:1px solid #edf0f8}
 body .elementor .j-mobile-menu .elementor-tab-content p:last-child{border-bottom:0}
 body .elementor .j-mobile-menu .elementor-tab-content a{display:block!important;padding:12px 2px!important;color:var(--j-blue)!important;font-size:15px!important;font-weight:800!important}
 body .elementor .j-mobile-menu .elementor-tab-content .jana-mobile-contact{margin:10px 0 2px!important;border:0!important}
 body .elementor .j-mobile-menu .elementor-tab-content .jana-mobile-contact a{display:flex!important;align-items:center;justify-content:center;padding:11px 18px!important;border-radius:999px;background:var(--j-red)!important;color:#fff!important;box-shadow:0 6px 16px rgba(228,18,27,.25)}
}
@media(max-width:782px){
 body.admin-bar .elementor .j-mobile-menu .elementor-tab-content{top:116px!important}
}
@media(max-width:640px){
 body:has(.jana-page) .elementor .j-header .j-wrap,body:has(.jana-page) .elementor .j-footer .j-wrap{width:calc(100% - 30px)}
}
@media(max-width:420px){
 body .elementor .j-footer-grid{grid-template-columns:1fr}
 body .elementor .j-brand img{height:52px}
}


/* Buttons + headings used inside the shared sections */
body .elementor .j-header h3,body .elementor .j-footer h3{margin:0;font-family:Nunito,sans-serif;font-weight:800;line-height:1.2}
body .elementor .j-header .j-button{width:fit-content;flex-shrink:0}
body .elementor .j-header .j-button .elementor-button{display:inline-flex;align-items:center;gap:.6em;background:#e4121b;color:#fff;font:800 15.2px/1.5 Nunito,sans-serif;padding:.82em 1.4em;border:2px solid #e4121b;border-radius:999px;box-shadow:0 6px 16px rgba(228,18,27,.28);white-space:nowrap;transition:transform .18s,background .18s}
body .elementor .j-header .j-button .elementor-button::after{content:'→';font-size:1.3em;line-height:1}
body .elementor .j-header .j-button .elementor-button:hover{background:#c30d15;border-color:#c30d15;transform:translateY(-2px)}
body .elementor .j-small .elementor-button{font-size:13.44px;padding:.62em 1.1em}
body .elementor .j-header-cta{width:auto;margin-left:auto}
@media(max-width:900px){body .elementor .j-header-cta{display:none!important}}

/* overflow:clip keeps the same clipping but, unlike hidden, doesn't create a scroll container, so the sticky header works on every page. */
body .elementor .jana-page{overflow:clip}

/* Xpro Theme Builder header holder: sticky lives on the outer <header>. */
header.xpro-theme-builder-header{position:sticky;top:0;z-index:1000}
body.admin-bar header.xpro-theme-builder-header{top:32px}
.xpro-theme-builder-header-nav{position:static!important;z-index:auto}
body .elementor .j-header{position:relative!important;top:auto!important}
@media(max-width:782px){body.admin-bar header.xpro-theme-builder-header{top:46px}}
#xpro-theme-builder-footer{display:block}
