/* PJP blue-first storefront redesign. Kept separate from the shared admin styles. */
:root{--navy:#082d62;--navy2:#06234e;--blue:#1259a7;--sky:#dceeff;--paper:#eaf3fc;--ink:#102e55;--muted:#526e8c;--line:#bbd1e9;--shadow:0 18px 44px rgba(3,35,78,.16)}
html{scroll-padding-top:94px}
body{background:#dcebf9;color:var(--ink)}
.wrap{width:min(1220px,calc(100% - 56px))}
.top{background:#041b3b;color:#cde4ff}
.top .wrap{padding:10px 0;font-size:11px;letter-spacing:.1em}
.nav{background:#073269;border-bottom:1px solid rgba(218,239,255,.2);box-shadow:0 12px 30px rgba(2,26,57,.17)}
.nav .wrap{height:88px}
.brand{color:#fff}.brand-name{color:#eef7ff}
.brand-logo{background:#fff;border-radius:7px;padding:4px;width:96px;height:70px}
.navlinks{color:#e3f1ff}.navlinks a:hover,.navlinks a:focus-visible{color:#fff;text-decoration:underline;text-underline-offset:7px}
.nav .btn.primary{background:#e5f2ff;color:#083b78;box-shadow:none}.nav .btn.primary:hover{background:#fff}
.btn{border-radius:7px}.btn.primary{background:#1264b7;box-shadow:0 10px 24px rgba(0,36,83,.17)}.btn.primary:hover{background:#084b93}
.btn.outline{color:#fff;background:transparent;border:1px solid rgba(236,248,255,.8)}.btn.outline:hover{background:rgba(255,255,255,.13)}
.hero{min-height:610px;color:#fff;background:radial-gradient(circle at 82% 40%,#2a76bc 0%,transparent 37%),linear-gradient(115deg,#052854 0%,#0b498b 58%,#08366f 100%)}
.hero:before{content:"";position:absolute;inset:0;background:linear-gradient(rgba(191,225,255,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(191,225,255,.08) 1px,transparent 1px);background-size:42px 42px;mask-image:linear-gradient(90deg,transparent 15%,#000 100%)}
.hero:after{display:none}.hero .wrap{min-height:610px;gap:6vw;grid-template-columns:1.1fr .9fr}
.hero-copy{border-left:4px solid #7ec4ff;padding-left:24px}
.hero .eyebrow{color:#a9d9ff}.hero h1{color:#fff;font-size:clamp(42px,4.8vw,66px);line-height:1.13}
.hero p{color:#d9eaff;max-width:580px}.hero .btn.primary{background:#fff;color:#08437e}.hero .btn.primary:hover{background:#d9edff}
.hero-proof{margin-top:48px}.hero-proof div{border-left:2px solid #77b6ef}.hero-proof b{color:#fff}.hero-proof span{color:#c5dfff}
.blueprint-logo{height:440px;background:#eaf5ff;border:1px solid rgba(255,255,255,.7);box-shadow:0 30px 70px rgba(0,23,53,.32)}
.blueprint-logo img{width:min(78%,390px)}.blueprint-logo small{color:#0b4a91}
.section{padding:88px 0}.sectionhead{align-items:end;gap:36px;margin-bottom:34px}.sectionhead h2{font-size:clamp(30px,3.3vw,43px);line-height:1.22}.sectionhead p{line-height:1.75}
.section:not(.soft):not(.quote).categories-section{background:#0b3e7d;color:#fff;position:relative;overflow:hidden}
.categories-section:before{content:"";position:absolute;width:440px;height:440px;border:1px solid rgba(255,255,255,.12);border-radius:50%;right:-130px;top:-180px;box-shadow:0 0 0 90px rgba(188,225,255,.025),0 0 0 180px rgba(188,225,255,.025)}
.categories-section .wrap{position:relative}.categories-section .eyebrow,.about-section .eyebrow,.contact-section .eyebrow{color:#a9d9ff}
.categories-section .sectionhead h2,.about-section h2,.contact-section h2{color:#fff}.categories-section .sectionhead p,.contact-section .sectionhead p{color:#d5e8fb}
.category-grid{gap:17px}.category-grid .cat{min-height:255px;background:#145098;color:#fff;border:1px solid #5e96d0;border-top:4px solid #bce0ff;box-shadow:0 12px 26px rgba(0,24,61,.12);padding:28px;transition:transform .2s,background .2s}
.category-grid .cat:hover,.category-grid .cat:focus-visible{background:#1d61aa;transform:translateY(-5px)}
.cat .icon{font-size:34px}.cat h3{color:#fff;font-size:21px}.cat p{color:#d9e9fb;line-height:1.65}.cat .textlink{color:#fff;text-decoration:underline;text-underline-offset:5px}
.products-section,.articles-section{background:#e3effa}.products-section .sectionhead p,.articles-section .sectionhead p{color:#506d8d}
.filters{gap:9px;margin:0 0 26px}.filter{background:#f7fbff;border-color:#a7c4e1;color:#0a417f;font-weight:700}.filter:hover{border-color:#0a519a}.filter.active{background:#0d4d94;border-color:#0d4d94;color:#fff}
.product-grid,.article-grid{gap:18px}.card{border:1px solid #bbd2eb;border-radius:8px;box-shadow:0 6px 24px rgba(9,59,112,.07)}.card img{height:225px;background:#d3e6f8}.cardbody{padding:24px}.tag{color:#1262ad}
.section:not(.soft):not(.quote).about-section{background:linear-gradient(125deg,#063267 0%,#0b4d92 100%);color:#fff}.feature{gap:6vw}
.feature-image{height:440px;border:1px solid rgba(232,247,255,.35);background:linear-gradient(145deg,rgba(3,35,74,.4),rgba(14,83,151,.34)),url('https://paperrollthermalpos.com/assets/img/product-banner.jpg') center/cover;box-shadow:0 25px 52px rgba(0,24,55,.23)}
.about-heading{font-size:clamp(32px,3vw,43px);line-height:1.25;margin:14px 0 22px}.about-section #aboutText{color:#d8eafa;line-height:1.9;font-size:17px}.checks{gap:11px}.check{background:rgba(224,242,255,.12);color:#fff;border:1px solid rgba(195,225,255,.28);border-left:3px solid #9bd5ff;border-radius:5px}
.articles-section{background:#d4e7f8}
.quote{background:linear-gradient(110deg,#062a5d 0%,#0b4c94 100%);border-top:1px solid #6091c3;border-bottom:1px solid #6091c3}.quote .eyebrow{color:#a9d9ff}.quote h2{font-size:clamp(33px,3.4vw,46px);line-height:1.22}.quote p{color:#d7eafd}.quote .form{background:#f6fbff;border:1px solid #bed8f0;border-radius:8px}.field input,.field textarea,.field select{background:#fff;border-color:#b3cbe3}
.section:not(.soft):not(.quote).contact-section{background:#0b3d79;color:#fff}.contact-grid{grid-template-columns:.72fr 1.28fr;gap:0;border:1px solid rgba(202,228,252,.45);box-shadow:0 22px 50px rgba(0,25,59,.17)}
.contact-card{background:#f1f8ff;color:#173b67;border-radius:0;padding:38px}.contact-card h3{font-size:23px;line-height:1.4}.contact-card p{line-height:1.8}.contact-card .btn.dark{margin-top:14px;background:#0c4c91}
.map-shell{background:#d8e8f7;min-height:440px;display:flex;flex-direction:column}.map{flex:1;min-height:390px;border:0;border-radius:0;width:100%}.map-fallback{display:block;text-align:right;padding:9px 16px;background:#eff7ff;color:#0a4788;font-size:13px;font-weight:700;text-decoration:underline}
.footer{background:#041a38;color:#bdd4eb}.footer .wrap{align-items:center}
@media(max-width:1000px){.brand-name{display:none}.navlinks{gap:17px}.hero .wrap{gap:25px}.blueprint-logo{height:390px}}
@media(max-width:850px){.wrap{width:min(100% - 36px,1220px)}.nav .wrap{height:76px}.hero,.hero .wrap{min-height:auto}.hero .wrap{grid-template-columns:1fr;padding:60px 0}.blueprint-logo{height:320px;max-width:620px;width:100%;margin:auto}.feature,.quote-grid,.contact-grid{grid-template-columns:1fr}.feature-image{height:320px}.map-shell{min-height:360px}.map{min-height:330px}}
@media(max-width:560px){.wrap{width:calc(100% - 30px)}.nav .wrap{height:70px}.brand-logo{width:77px;height:58px}.nav .btn{font-size:12px;padding:10px}.hero .wrap{padding:48px 0}.hero h1{font-size:38px}.hero-proof{gap:12px;flex-wrap:wrap}.blueprint-logo{height:255px}.section{padding:62px 0}.sectionhead{display:block}.category-grid,.product-grid,.article-grid,.checks{grid-template-columns:1fr}.category-grid .cat{min-height:0}.contact-card{padding:26px}.footer .wrap{display:block}}
.product-card .cardbody{display:flex;flex-direction:column;min-height:260px}.product-card .cardbody p{flex:1}
.product-meta,.detail-price{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:12px 0 18px;padding-top:12px;border-top:1px solid var(--line)}
.product-meta strong,.detail-price strong{font-size:20px;color:#0b4a91}.product-meta span,.detail-price span{font-size:12px;font-weight:800;color:#0b5a7b;background:#e4f3f8;padding:5px 9px;border-radius:30px}
.detail-layout{display:grid;grid-template-columns:minmax(0, .85fr) minmax(0,1.15fr);gap:30px}.detail-gallery>img{width:100%;aspect-ratio:4/3;object-fit:contain;background:#eaf2fa;border-radius:8px}.detail-thumbs{display:flex;gap:8px;margin-top:9px}.detail-thumb{border:1px solid #bdd4e9;background:#fff;padding:3px;border-radius:5px;cursor:pointer}.detail-thumb img{display:block;width:80px;height:65px;object-fit:cover}.detail-copy h2{font-size:29px;color:#0b3d79;margin:8px 0}.detail-copy h3{font-size:17px;color:#0b4a91;margin:22px 0 6px}.detail-copy p{line-height:1.8;color:#385575}.detail-summary{font-weight:700}.modalbox:has(.detail-layout){width:min(1100px,100%)}
@media(max-width:750px){.detail-layout{grid-template-columns:1fr}.detail-gallery>img{max-height:400px}.detail-thumb img{width:66px;height:55px}}
.admin-demo-note{background:#e8f2fd;border-left:4px solid #135da7;padding:14px 18px;color:#264b72;line-height:1.7;margin-bottom:24px}
.quote-mail-note{font-size:12px;line-height:1.5;color:#526e8c;margin:12px 0 0}
.hero.factory-hero{background-image:linear-gradient(90deg,rgba(3,29,65,.96) 0%,rgba(5,39,82,.88) 38%,rgba(5,40,80,.42) 72%,rgba(5,40,80,.22) 100%),url('../images/pjp-factory-hero-art-v2.png');background-size:cover;background-position:center,center 49%;background-repeat:no-repeat;min-height:640px}
.hero.factory-hero:before{background:linear-gradient(180deg,rgba(2,25,56,.04),rgba(2,25,56,.2));mask-image:none}
.hero.factory-hero .wrap{grid-template-columns:minmax(0,1fr);min-height:640px;padding-top:78px;padding-bottom:72px;align-content:center;position:relative}
.hero.factory-hero .hero-copy{max-width:665px;padding:18px 0 18px 27px;border-left:4px solid #9ad3ff;text-shadow:0 1px 3px rgba(1,20,47,.2)}
.hero.factory-hero h1{max-width:650px}.hero.factory-hero p{max-width:610px;color:#e3f1ff}
@media(max-width:850px){.hero.factory-hero,.hero.factory-hero .wrap{min-height:610px}.hero.factory-hero{background-position:center,58% center;background-image:linear-gradient(90deg,rgba(3,29,65,.94),rgba(5,40,80,.68)),url('../images/pjp-factory-hero-art-v2.png')}.hero.factory-hero .wrap{padding-top:55px;padding-bottom:65px}}
@media(max-width:560px){.hero.factory-hero,.hero.factory-hero .wrap{min-height:650px}.hero.factory-hero{background-position:center,70% center;background-image:linear-gradient(90deg,rgba(3,29,65,.93),rgba(5,40,80,.72)),url('../images/pjp-factory-hero-art-v2.png')}.hero.factory-hero .hero-copy{padding-left:18px}}
/* Navigation, motion and compact home catalogue */
.nav-product{position:relative;display:flex;align-items:center;gap:4px}
.nav-dropdown-toggle,.mobile-menu-toggle{border:0;background:transparent;color:#e3f1ff;cursor:pointer;font:inherit;font-weight:800}
.nav-dropdown-toggle{padding:5px 7px;transition:transform .25s}
.nav-product:hover .nav-dropdown-toggle,.nav-product:focus-within .nav-dropdown-toggle,.nav-product.open .nav-dropdown-toggle{transform:rotate(180deg)}
.nav-dropdown{position:absolute;top:100%;left:0;z-index:30;min-width:270px;padding:10px;background:#fff;color:#113b69;border:1px solid #c8dbed;border-radius:9px;box-shadow:0 18px 45px rgba(2,23,56,.24);opacity:0;visibility:hidden;transform:translateY(-12px);transition:opacity .22s,transform .22s,visibility .22s}
.nav-product:hover .nav-dropdown,.nav-product:focus-within .nav-dropdown,.nav-product.open .nav-dropdown{opacity:1;visibility:visible;transform:translateY(0)}
.nav-dropdown a{display:block;padding:11px 13px;border-radius:5px;color:#123b68;transition:background .2s,transform .2s}
.nav-dropdown a:hover,.nav-dropdown a:focus-visible{background:#e4f1ff;color:#074b94;transform:translateX(5px);text-decoration:none}
.mobile-menu-toggle{display:none;margin-left:auto;font-size:24px}
.all-products-action{text-align:center;margin-top:36px}.all-products-action .btn{min-width:230px}
.product-card{overflow:hidden}.product-card>img{transition:transform .48s ease}.product-card:hover>img,.product-card:focus-within>img{transform:scale(1.065)}
.hero.factory-hero .hero-copy{animation:heroRise .8s ease both}.hero.factory-hero .hero-proof{animation:heroRise .9s .14s ease both}
.map-location-chip{padding:10px 16px;background:#edf5fd;color:#0b427d;font-weight:800;font-size:13px}.map-location-chip span{font-size:18px;vertical-align:middle;margin-right:4px}
.reveal-on-scroll{opacity:0;transform:translateY(24px);transition:opacity .65s ease,transform .65s ease}.reveal-on-scroll.is-visible{opacity:1;transform:translateY(0)}
@keyframes heroRise{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:850px){.nav .wrap{position:relative}.mobile-menu-toggle{display:block}.navlinks{display:none;position:absolute;top:100%;left:0;right:0;background:#073269;padding:12px 18px 20px;box-shadow:0 15px 22px rgba(2,25,56,.2);flex-direction:column;align-items:stretch;gap:0}.navlinks.open{display:flex}.navlinks>a,.nav-product>a{display:block;padding:11px 0}.nav-product{display:block}.nav-dropdown-toggle{position:absolute;right:0;top:7px}.nav-dropdown{position:static;min-width:0;max-height:0;overflow:hidden;padding:0;border:0;box-shadow:none;transform:none;transition:max-height .25s,opacity .25s}.nav-product.open .nav-dropdown{max-height:280px;padding:8px;visibility:visible;opacity:1}.nav-product:not(.open):hover .nav-dropdown{visibility:hidden;opacity:0;max-height:0}.nav-product.open:hover .nav-dropdown{visibility:visible;opacity:1}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}.reveal-on-scroll{opacity:1;transform:none}}
.catalog-hero{padding:76px 0;background:linear-gradient(105deg,#062a5d,#0d559e);color:#fff}.catalog-hero .eyebrow{color:#b9dcff}.catalog-hero h1{font-size:clamp(35px,4vw,54px);margin:10px 0}.catalog-hero p{color:#d6e9fc;font-size:17px}
.catalog-toolbar{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:25px}.catalog-toolbar h2{color:#092f65;font-size:35px;margin:8px 0}.catalog-toolbar p{color:#58728d}.catalog-search-label{display:grid;gap:7px;color:#133e6a;font-size:13px;font-weight:800;min-width:270px}.catalog-search-label input{padding:13px 15px;border:1px solid #abc5df;border-radius:6px;background:#fff}
@media(max-width:650px){.catalog-toolbar{display:block}.catalog-search-label{margin-top:20px}.catalog-search-label input{width:100%}}
.quote-honeypot{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.about-section .feature{align-items:center}.about-visual{position:relative;min-width:0}.about-section .feature-image{background:linear-gradient(145deg,rgba(3,35,74,.16),rgba(14,83,151,.14)),url('../images/pjp-factory-hero-art-v2.png') center/cover}.about-since{position:absolute;right:-18px;bottom:-20px;display:grid;gap:2px;padding:16px 22px;background:#e9f5ff;color:#063267;border-left:4px solid #5fbaff;box-shadow:0 14px 30px rgba(0,19,48,.25)}.about-since strong{font-size:26px;line-height:1.1}.about-since span{font-size:13px;font-weight:700}.about-story>p{color:#e1effb;line-height:1.9;font-size:16px;margin:0 0 14px}.about-story .about-heading{margin-bottom:18px}.about-vision{margin:23px 0 18px;padding:18px 20px;background:rgba(224,242,255,.1);border:1px solid rgba(195,225,255,.3);border-left:4px solid #9bd5ff}.about-vision span{display:block;color:#bfe3ff;font-size:13px;font-weight:800;letter-spacing:.04em;margin-bottom:7px}.about-vision p{margin:0;color:#fff;line-height:1.8}.about-story #aboutText:empty{display:none}.about-story .checks{margin-top:22px}
@media(max-width:850px){.about-visual{margin-bottom:22px}.about-since{right:12px;bottom:-15px}.about-section .feature-image{height:320px}}
.seo-article-grid{margin-bottom:22px}.seo-article-grid .card>a{display:block;height:100%;color:inherit;text-decoration:none}.seo-article-grid .card>a:hover .textlink,.seo-article-grid .card>a:focus-visible .textlink{text-decoration:underline}.seo-article-grid img{width:100%;height:200px;object-fit:cover}.legacy-article-grid:empty{display:none}
@media(min-width:1001px){.nav .wrap{gap:18px}.brand{flex:none}.brand-name{display:inline;max-width:none;white-space:nowrap;font-size:13px}.navlinks{gap:18px;flex:none}.nav .btn{white-space:nowrap;flex:none}}
@media(min-width:851px){.navlinks{align-items:center}.navlinks>a,.nav-product>a{display:inline-flex;align-items:center;line-height:1.4}.nav-product{align-items:center;line-height:1.4}.nav-dropdown-toggle{line-height:1.4}}
.footer-links{display:flex;flex-wrap:wrap;align-items:center;gap:8px 18px}.footer-links a{color:#dcecff;text-decoration:none}.footer-links a:hover,.footer-links a:focus-visible{color:#fff;text-decoration:underline;text-underline-offset:4px}
@media(max-width:560px){.footer-links{margin-top:16px}}
/* Compact grouped product catalogue */
.catalog-groups{display:grid;gap:38px}.catalog-group{min-width:0}.catalog-group-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px;padding:0 0 12px;border-bottom:2px solid #b5cfe8}.catalog-group-head h3{margin:0;color:#083d78;font-size:23px}.catalog-group-head span{color:#57718d;font-size:13px;font-weight:800;white-space:nowrap}.catalog-group .product-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}.products-section .product-grid{grid-template-columns:repeat(3,minmax(0,260px));justify-content:center;gap:18px}
.product-card{min-width:0;display:flex;flex-direction:column}.product-card .product-group-label{padding:9px 14px;background:#0d4d94;color:#fff;font-size:12px;font-weight:800;line-height:1.4}.product-card .product-image-wrap{position:relative;display:grid;place-items:center;overflow:hidden;background:#f7fbff;height:165px}.product-card .product-image-wrap img{display:block;width:auto;height:auto;max-width:min(72%,150px);max-height:130px;object-fit:contain;padding:0;transition:transform .4s ease}.product-card:hover .product-image-wrap img,.product-card:focus-within .product-image-wrap img{transform:scale(1.06)}.product-peek{position:absolute;inset:auto 0 0;display:grid;gap:3px;padding:40px 14px 13px;background:linear-gradient(transparent,rgba(3,30,65,.93) 35%);color:#fff;opacity:0;transform:translateY(12px);transition:opacity .22s ease,transform .22s ease;pointer-events:none}.product-peek b{font-size:12px}.product-peek p{margin:0;color:#f1f7ff;font-size:12px;line-height:1.45;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.product-card:hover .product-peek,.product-card:focus-within .product-peek{opacity:1;transform:translateY(0)}
.product-card .cardbody{padding:14px;min-height:0;flex:1}.product-card .cardbody h3{font-size:16px;line-height:1.4;margin:0 0 9px;min-height:2.8em}.product-card .cardbody .product-summary{display:none}.product-card .product-meta{display:grid;gap:5px;margin:8px 0 11px;padding-top:10px}.product-card .product-meta strong{font-size:17px}.product-card .product-meta span{width:max-content;max-width:100%;font-size:11px}.product-card .textlink{margin-top:auto;text-align:left;font-size:13px}.product-card .textlink.clean{display:inline-flex;align-items:center;width:max-content;max-width:100%;padding:0;border:0;background:none;color:#0b4f96;font-weight:800;cursor:pointer}
@media(max-width:1050px){.catalog-group .product-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:800px){.catalog-group .product-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.products-section .product-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:700px){.catalog-group .product-grid,.products-section .product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:470px){.catalog-group .product-grid,.products-section .product-grid{grid-template-columns:1fr}.product-card .product-image-wrap{height:155px}}
.modalbox:has(.detail-layout){width:min(930px,100%)}.detail-layout{grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr)}.detail-gallery>img{max-height:300px}
@media(hover:none){.product-card .cardbody .product-summary{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:12px;line-height:1.5;margin:0 0 5px}.product-peek{display:none}}
@media(min-width:851px){.nav-dropdown-toggle{display:none}.nav-product{gap:0}}
@media(max-width:850px){.nav-dropdown-toggle{font-size:12px;color:#d9ecff;text-decoration:underline;text-underline-offset:3px;transform:none!important}}
