/* JACANFOODS desktop redesign 20261103 — full-bleed, charcoal/cream, deep red + JF badge blue/violet */
:root{
  --jf2-charcoal:#1c1917;--jf2-ink:#292524;--jf2-cream:#f7f3ec;--jf2-cream-2:#efe8dc;--jf2-paper:#fffdf9;
  --jf2-red:#a51d24;--jf2-red-h:#8a161c;--jf2-blue:#1e40af;--jf2-violet:#7c3aed;
  --jf2-badge:linear-gradient(120deg,#1e40af,#7c3aed 55%,#b91c1c);
  --jf2-max:1400px;--jf2-pad:max(24px,calc((100% - var(--jf2-max))/2));
  --jf-primary:#a51d24;--jf-primary-hover:#8a161c;--jf-bg:#f7f3ec;--max-w:1400px;
  --jf2-display:"Fraunces",Georgia,serif;--jf2-body:"Manrope",system-ui,-apple-system,"Segoe UI",sans-serif;
}
html,body{overflow-x:hidden}
body{font-family:var(--jf2-body)!important;background:var(--jf2-cream)!important;color:var(--jf2-ink)!important;font-size:17px;line-height:1.6}
h1,h2,h3,.section-title,.department-showcase-title{font-family:var(--jf2-display)!important;letter-spacing:-.01em;font-weight:600!important}
.jf2-wrap{max-width:var(--jf2-max);margin:0 auto;padding:0 24px}
/* chrome */
.jf-trust-bar{background:var(--jf2-charcoal)!important;color:#e7e5e4!important;font-size:.82rem!important;border-bottom:1px solid rgba(255,255,255,.06)}
.jf-trust-inner{max-width:none!important;padding:8px var(--jf2-pad)!important}
.jf-trust-chip a{color:#c4b5fd!important}
.site-header{background:var(--jf2-paper)!important;border-bottom:1px solid var(--jf2-cream-2)!important}
.header-inner,.jf-top-logistics-inner,.nav-inner,.main-nav-inner,.category-nav-inner{max-width:none!important;padding-left:var(--jf2-pad)!important;padding-right:var(--jf2-pad)!important}
.site-header .search-btn,.site-header button[type=submit]{background:var(--jf2-red)!important}
/* full-bleed bands with centered content */
main>section,body>section,.department-tiles-section,.department-showcase-section,.catalog-section,.jf-depot-ribbon-bar,.gb-aisles,.seo-departments-directory,.store-walkthrough-section{
  max-width:none!important;width:auto!important;margin-left:0!important;margin-right:0!important;padding-left:var(--jf2-pad)!important;padding-right:var(--jf2-pad)!important;border-radius:0!important;box-sizing:border-box}
.department-tiles-section,.department-showcase-section,.catalog-section{padding-top:72px!important;padding-bottom:72px!important;margin-top:0!important;margin-bottom:0!important}
.department-showcase-section:nth-of-type(odd){background:var(--jf2-paper)}
.jf-depot-ribbon-bar{background:var(--jf2-paper)!important;border:0!important;border-bottom:1px solid var(--jf2-cream-2)!important;box-shadow:none!important;padding-top:28px!important;padding-bottom:28px!important}
.seo-departments-directory{background:var(--jf2-cream-2)!important;border:0!important;margin:0!important;padding-top:64px!important;padding-bottom:64px!important}
.site-footer{background:var(--jf2-charcoal)!important}
.site-footer .footer-inner,.site-footer>div{max-width:none!important;padding-left:var(--jf2-pad)!important;padding-right:var(--jf2-pad)!important}
/* buttons / palette */
.btn-primary,.add-to-cart-btn,.btn-add-cart,.jf-hero-btn-primary,button.primary{background:var(--jf2-red)!important;border-color:var(--jf2-red)!important}
.btn-primary:hover,.add-to-cart-btn:hover,.btn-add-cart:hover{background:var(--jf2-red-h)!important}
.product-card{border-radius:14px!important;border:1px solid var(--jf2-cream-2)!important;box-shadow:none!important;transition:transform .25s,box-shadow .25s}
.product-card:hover{transform:translateY(-3px);box-shadow:0 14px 30px rgba(28,25,23,.08)!important}
.product-card .product-title,.product-card h3{font-family:var(--jf2-body)!important;font-weight:600!important;font-size:1rem!important}
.product-price,.price{color:var(--jf2-ink)!important}
/* hero */
.jf2-hero{position:relative;min-height:clamp(520px,72vh,820px);display:flex;align-items:flex-end;overflow:hidden;background:var(--jf2-charcoal);color:#fff;padding:0!important}
.jf2-hero-media,.jf2-slide,.jf2-slide img{position:absolute;inset:0;width:100%;height:100%}
.jf2-slide{opacity:0;transition:opacity 1.4s ease}
.jf2-slide.is-active{opacity:1}
.jf2-slide img{object-fit:cover;max-width:none;transform:scale(1.04);transition:transform 8s ease-out}
.jf2-slide.is-active img{transform:scale(1)}
.jf2-hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(20,17,15,.88) 0%,rgba(20,17,15,.62) 42%,rgba(20,17,15,.08) 75%),linear-gradient(0deg,rgba(20,17,15,.55),transparent 40%)}
.jf2-hero-inner{position:relative;width:100%;padding:96px var(--jf2-pad) 64px;box-sizing:border-box;display:flex;justify-content:space-between;align-items:flex-end;gap:24px}
.jf2-hero-copy{max-width:680px}
.jf2-hero-badge{display:inline-flex;align-items:center;gap:10px;font-size:.85rem;letter-spacing:.04em;color:#e7e5e4;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);backdrop-filter:blur(6px);padding:8px 16px;border-radius:999px;margin-bottom:26px}
.jf2-dot{width:8px;height:8px;border-radius:50%;background:#22c55e;box-shadow:0 0 8px #22c55e}
.jf2-hero-headline{font-family:var(--jf2-display)!important;font-size:clamp(2.6rem,5.2vw,4.8rem)!important;line-height:1.02!important;margin:0 0 22px!important;color:#fff!important;font-weight:600!important}
.jf2-hero-headline span{background:linear-gradient(90deg,#c4b5fd,#fca5a5);-webkit-background-clip:text;background-clip:text;color:transparent;font-style:italic}
.jf2-hero-sub{font-size:clamp(1.05rem,1.25vw,1.25rem);line-height:1.65;color:#e7e5e4;margin:0 0 34px;max-width:600px}
.jf2-hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:14px 22px}
.jf2-btn{display:inline-flex;align-items:center;gap:10px;padding:17px 30px;border-radius:999px;font-weight:700;font-size:1.02rem;text-decoration:none!important;transition:background .2s,transform .2s}
.jf2-btn-primary{background:var(--jf2-red);color:#fff!important;box-shadow:0 10px 30px rgba(165,29,36,.35)}
.jf2-btn-primary:hover{background:var(--jf2-red-h);transform:translateY(-1px)}
.jf2-btn-ghost{color:#fff!important;border:1px solid rgba(255,255,255,.4)}
.jf2-btn-ghost:hover{background:rgba(255,255,255,.1)}
.jf2-link{color:#ddd6fe!important;font-weight:600;text-decoration:none!important}
.jf2-hero-dots{display:flex;gap:8px}
.jf2-hero-dots button{width:30px;height:4px;border:0;border-radius:4px;background:rgba(255,255,255,.35);cursor:pointer;padding:0}
.jf2-hero-dots button.is-active{background:#fff;width:46px}
/* floor band */
.jf2-floors{background:var(--jf2-charcoal);padding:0 0 56px!important}
.jf2-floors-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;max-width:none;padding:0 var(--jf2-pad)}
.jf2-floor{position:relative;display:block;padding:30px 30px 28px;border-radius:18px;background:#26221f;color:#e7e5e4!important;text-decoration:none!important;border:1px solid rgba(255,255,255,.07);overflow:hidden;transition:transform .25s,border-color .25s}
.jf2-floor:before{content:"";position:absolute;left:0;top:0;right:0;height:3px;background:var(--jf2-badge)}
.jf2-floor:hover{transform:translateY(-3px);border-color:rgba(196,181,253,.35)}
.jf2-floor-k{font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;color:#a5b4fc}
.jf2-floor strong{display:block;font-family:var(--jf2-display);font-size:1.6rem;font-weight:600;color:#fff;margin:6px 0 10px}
.jf2-floor p{margin:0 0 16px;color:#d6d3d1;font-size:.98rem}
.jf2-floor em{font-style:normal;color:#fca5a5;font-weight:600}
@media(max-width:900px){.jf2-floors-grid{grid-template-columns:1fr}.jf2-hero-inner{flex-direction:column;align-items:flex-start;padding:72px 20px 40px}.jf2-hero-shade{background:linear-gradient(0deg,rgba(20,17,15,.92) 20%,rgba(20,17,15,.45))}}
@media(max-width:768px){body{font-size:16px}:root{--jf2-pad:16px}.department-tiles-section,.department-showcase-section,.catalog-section{padding-top:44px!important;padding-bottom:44px!important}.jf2-btn{padding:15px 22px;width:100%;justify-content:center}}
.jf-depot-ribbon-container,.store-walkthrough-section>div,.gb-aisles>div{max-width:var(--jf2-max)!important;margin-left:auto!important;margin-right:auto!important}
.jf-depot-ribbon-container{border:0!important;box-shadow:none!important;background:transparent!important}
.store-walkthrough-section{background:var(--jf2-paper)!important;padding-top:80px!important;padding-bottom:80px!important}

/* Department floor tiles — larger pack shots, fill wide single cards */
.dept-tile-images{gap:10px!important}
.dept-tile-img-box{height:150px!important;padding:10px!important;background:#f3efe7!important}
.dept-tile-img-box img{max-height:130px!important;width:100%!important;object-fit:contain!important}
.department-tiles-grid:has(> :only-child){
  grid-template-columns:1fr!important;
}
.department-tiles-grid:has(> :only-child) .department-tile-card{
  display:grid!important;
  grid-template-columns:minmax(220px,320px) 1fr!important;
  grid-template-rows:auto auto!important;
  gap:8px 28px!important;
  align-items:center!important;
  padding:22px 26px!important;
}
.department-tiles-grid:has(> :only-child) .dept-tile-header{grid-column:1;grid-row:1;margin-bottom:0!important}
.department-tiles-grid:has(> :only-child) .dept-tile-images{
  grid-column:2;grid-row:1 / span 2;margin:0!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  min-height:200px;
}
.department-tiles-grid:has(> :only-child) .dept-tile-img-box{height:200px!important}
.department-tiles-grid:has(> :only-child) .dept-tile-img-box img{max-height:180px!important}
.department-tiles-grid:has(> :only-child) .dept-tile-footer{grid-column:1;grid-row:2;border-top:0!important;padding-top:8px!important}
@media(max-width:900px){
  .department-tiles-grid:has(> :only-child) .department-tile-card{grid-template-columns:1fr!important}
  .department-tiles-grid:has(> :only-child) .dept-tile-images{grid-column:1;grid-row:auto;grid-template-columns:repeat(2,1fr)!important;min-height:0}
  .department-tiles-grid:has(> :only-child) .dept-tile-footer{grid-column:1;grid-row:auto}
  .department-tiles-grid:has(> :only-child) .dept-tile-img-box{height:140px!important}
}

