:root{--jm-blue:#075bd8;--jm-deep:#061b3a;--jm-cyan:#19c3ff;--jm-ink:#101828;--jm-muted:#667085;--jm-bg:#f5f8fc;--jm-card:#fff;--jm-border:#e7edf5;--jm-radius:22px;--jm-shadow:0 18px 55px rgba(12,43,83,.10);--navh:78px;--mobileTop:72px;--bottomh:72px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;color:var(--jm-ink);background:var(--jm-bg);overflow-x:hidden}a{text-decoration:none;color:inherit}button,input,select,textarea{font:inherit}img,video{max-width:100%}.jm-container{width:min(1440px,calc(100% - 40px));margin:auto}.jm-desktop-nav{position:sticky;top:0;height:var(--navh);display:flex;align-items:center;z-index:1000;background:rgba(255,255,255,.88);backdrop-filter:blur(20px);border-bottom:1px solid rgba(231,237,245,.85);box-shadow:0 8px 30px rgba(25,52,91,.05)}.jm-nav-inner{display:grid;grid-template-columns:auto minmax(360px,660px) auto;gap:28px;align-items:center;width:min(1500px,calc(100% - 32px));margin:auto}.jm-brand{display:flex;align-items:center;gap:11px;font-weight:900;color:var(--jm-deep);white-space:nowrap}.jm-brand img{width:50px;height:50px;border-radius:15px;object-fit:contain;background:#fff;box-shadow:0 7px 20px #0a3c8122}.jm-brand small{display:block;font-size:.68rem;font-weight:700;color:#7b8a9e;letter-spacing:.12em;text-transform:uppercase}.jm-search-wrap{position:relative;width:100%}.jm-search{height:50px;width:100%;border-radius:17px;border:1px solid #dfe8f4;background:#f8fbff;padding:0 52px 0 48px;outline:none;box-shadow:inset 0 1px 0 #fff,0 5px 16px #0b3b7608;transition:.2s}.jm-search:focus{border-color:#7bb1ff;background:#fff;box-shadow:0 0 0 4px #0d6efd16,0 14px 30px #0d6efd12}.jm-search-icon{position:absolute;left:17px;top:50%;transform:translateY(-50%);color:#718096}.jm-search-submit{position:absolute;right:7px;top:7px;width:36px;height:36px;border:0;border-radius:12px;background:linear-gradient(135deg,var(--jm-blue),#3d8cff);color:#fff;cursor:pointer}.jm-suggestions{position:absolute;left:0;right:0;top:calc(100% + 8px);background:#fff;border:1px solid var(--jm-border);border-radius:18px;box-shadow:0 24px 70px #0d2b5329;overflow:hidden;display:none;z-index:1200}.jm-suggestions.open{display:block;animation:pop .16s ease-out}.jm-suggest-row{display:grid;grid-template-columns:58px 1fr auto;align-items:center;gap:12px;padding:10px 12px;border-bottom:1px solid #f1f4f8;cursor:pointer}.jm-suggest-row:hover,.jm-suggest-row.active{background:#f2f7ff}.jm-suggest-row img{width:58px;height:52px;border-radius:12px;object-fit:cover;background:#eef3fa}.jm-suggest-row strong{font-size:.92rem}.jm-suggest-row small{display:block;color:var(--jm-muted);margin-top:3px}.jm-nav-links{display:flex;align-items:center;gap:6px;justify-content:flex-end}.jm-nav-link{padding:11px 13px;border-radius:13px;font-size:.9rem;font-weight:760;color:#344054;transition:.2s;white-space:nowrap}.jm-nav-link:hover{background:#eef5ff;color:var(--jm-blue);transform:translateY(-1px)}.jm-nav-link.active{background:#eaf3ff;color:var(--jm-blue);box-shadow:inset 0 0 0 1px #cfe1ff}.jm-cart-pill.active{background:var(--jm-blue)!important;color:#fff!important}.jm-mega a.active{background:#eaf3ff;color:var(--jm-blue);font-weight:900}.jm-drawer a.active{background:#ffffff1a;color:#fff;box-shadow:inset 3px 0 0 var(--jm-cyan)}.jm-drawer-taxonomy details.active>summary{color:#fff;background:#ffffff10;border-radius:10px}.jm-drawer-taxonomy .jm-drawer-sub a.active{background:#0d6efd33;color:#fff;font-weight:900}.jm-cart-pill{display:flex;align-items:center;gap:8px;background:var(--jm-deep);color:#fff!important}.jm-badge-count{min-width:21px;height:21px;border-radius:999px;padding:0 6px;display:inline-grid;place-items:center;background:#ffcf33;color:#16233a;font-size:.72rem;font-weight:900}.jm-mega-parent{position:relative}.jm-mega{position:absolute;right:0;top:calc(100% + 14px);width:min(820px,82vw);padding:24px;background:#fff;border:1px solid var(--jm-border);border-radius:24px;box-shadow:0 30px 80px #08284f2b;display:none;grid-template-columns:1fr 1fr 190px;gap:24px}.jm-mega-parent:hover .jm-mega{display:grid;animation:drop .18s ease-out}.jm-mega h4{margin:0 0 12px;font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;color:#7c8ba1}.jm-mega-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px}.jm-mega a{padding:9px 10px;border-radius:10px;color:#344054;font-size:.9rem}.jm-mega a:hover{background:#eef5ff;color:var(--jm-blue)}.jm-mega-promo{border-radius:18px;padding:19px;background:linear-gradient(145deg,#061b3a,#075bd8);color:#fff;min-height:160px;display:flex;flex-direction:column;justify-content:flex-end}.jm-mobile-top,.jm-mobile-bottom,.jm-drawer,.jm-drawer-backdrop{display:none}
.jm-main{min-height:70vh}.jm-hero{position:relative;min-height:min(690px,76vh);overflow:hidden;background:#071c3d}.jm-hero-track{position:absolute;inset:0}.jm-hero-slide{position:absolute;inset:0;opacity:0;transform:scale(1.04);transition:opacity .9s ease,transform 4s ease;background:#071c3d;color:#fff}.jm-hero-slide.active{opacity:1;transform:scale(1)}.jm-hero-media{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.55}.jm-hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(2,15,38,.92) 0%,rgba(4,29,66,.72) 45%,rgba(4,29,66,.15) 75%),linear-gradient(0deg,rgba(2,15,38,.6),transparent 55%)}.jm-hero-content{position:relative;z-index:3;min-height:min(690px,76vh);display:flex;align-items:center}.jm-hero-copy{max-width:720px;padding:56px 0}.jm-kicker{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border:1px solid rgba(255,255,255,.18);border-radius:999px;background:rgba(255,255,255,.1);backdrop-filter:blur(12px);text-transform:uppercase;font-size:.74rem;font-weight:850;letter-spacing:.12em}.jm-kicker::before{content:"";width:8px;height:8px;border-radius:50%;background:#38d47a;box-shadow:0 0 0 6px #38d47a22}.jm-hero h1{font-size:clamp(2.8rem,6vw,6.3rem);line-height:.93;margin:20px 0 18px;letter-spacing:-.055em;max-width:900px}.jm-hero h1 .accent{background:linear-gradient(90deg,#fff,#64d9ff);-webkit-background-clip:text;color:transparent}.jm-hero p{font-size:clamp(1rem,1.4vw,1.25rem);color:#d5e4f6;line-height:1.65;max-width:660px}.jm-hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.jm-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:0 19px;border-radius:14px;border:0;cursor:pointer;font-weight:800;transition:transform .2s,box-shadow .2s,background .2s}.jm-btn:hover{transform:translateY(-2px)}.jm-btn-primary{background:linear-gradient(135deg,#1686ff,#00b7ff);color:#fff;box-shadow:0 12px 26px #008cff4c}.jm-btn-light{background:#fff;color:#153052}.jm-btn-ghost{background:#eef4fb;color:#223a58}.jm-btn-danger{background:#fff0f0;color:#b42318}.jm-btn-dark{background:#071c3d;color:#fff}.jm-hero-dots{position:absolute;left:50%;bottom:30px;transform:translateX(-50%);z-index:5;display:flex;gap:9px}.jm-hero-dot{width:9px;height:9px;border:0;border-radius:999px;background:#ffffff70;transition:.25s;cursor:pointer}.jm-hero-dot.active{width:30px;background:#fff}.jm-type-line{font-weight:850;color:#67d7ff;min-height:1.5em}.jm-section{padding:76px 0}.jm-section.compact{padding:54px 0}.jm-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:26px}.jm-section-head h2{margin:0;font-size:clamp(1.7rem,2.8vw,2.7rem);letter-spacing:-.035em}.jm-section-head p{margin:7px 0 0;color:var(--jm-muted);max-width:700px}.jm-section-link{font-weight:850;color:var(--jm-blue);white-space:nowrap}.jm-rail{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(230px,285px);gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;padding:4px 2px 18px;scrollbar-width:none}.jm-rail::-webkit-scrollbar{display:none}.jm-card{scroll-snap-align:start;background:var(--jm-card);border:1px solid var(--jm-border);border-radius:var(--jm-radius);box-shadow:0 10px 32px #102b4d0b;overflow:hidden;transition:.3s}.jm-card:hover{transform:translateY(-7px);box-shadow:var(--jm-shadow);border-color:#d6e5fb}.jm-product-image{position:relative;aspect-ratio:1.2/1;background:linear-gradient(145deg,#eef4fb,#fff);overflow:hidden}.jm-product-image img{width:100%;height:100%;object-fit:cover;transition:transform .55s ease}.jm-card:hover .jm-product-image img{transform:scale(1.065)}.jm-product-chip{position:absolute;left:12px;top:12px;padding:7px 9px;background:rgba(255,255,255,.9);border-radius:10px;backdrop-filter:blur(8px);font-size:.68rem;font-weight:900;color:#1554a8}.jm-card-body{padding:16px}.jm-card-body h3{font-size:1rem;line-height:1.35;margin:0;min-height:2.7em}.jm-card-meta{display:flex;justify-content:space-between;gap:8px;margin-top:10px;color:var(--jm-muted);font-size:.78rem}.jm-card-actions{display:flex;gap:8px;margin-top:14px}.jm-icon-btn{width:44px;height:44px;border:1px solid #dce6f2;border-radius:13px;background:#fff;display:grid;place-items:center;cursor:pointer;color:#305177}.jm-icon-btn:hover{background:#eef6ff;color:#0867df}.jm-category-strip,.jm-brand-strip{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(280px,420px);gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:16px;scrollbar-width:none}.jm-category-strip::-webkit-scrollbar,.jm-brand-strip::-webkit-scrollbar{display:none}.jm-banner-card{position:relative;min-height:230px;border-radius:28px;overflow:hidden;scroll-snap-align:start;background:linear-gradient(135deg,#061b3a,#0e67db);color:#fff;box-shadow:var(--jm-shadow)}.jm-banner-card img,.jm-banner-card video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.52}.jm-banner-card::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#061b3ad9 0%,#061b3a20 80%)}.jm-banner-copy{position:absolute;left:22px;right:22px;bottom:20px;z-index:2}.jm-banner-copy h3{margin:0 0 7px;font-size:1.55rem}.jm-banner-copy p{margin:0;color:#e2ecf7;font-size:.9rem}.jm-brand-banner{min-height:190px;background:linear-gradient(135deg,#fff,#eaf4ff);color:#0b2a52;border:1px solid #dceaff}.jm-brand-banner::after{background:linear-gradient(90deg,rgba(255,255,255,.94),rgba(255,255,255,.42))}.jm-brand-banner img{opacity:.35}.jm-brand-banner .jm-banner-copy p{color:#536985}.jm-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.jm-catalog-layout{display:grid;grid-template-columns:260px 1fr;gap:26px}.jm-filter{position:sticky;top:calc(var(--navh) + 16px);align-self:start;background:#fff;border:1px solid var(--jm-border);border-radius:22px;padding:18px}.jm-filter h4{margin:0 0 12px}.jm-filter-group{padding:16px 0;border-top:1px solid #edf1f6}.jm-filter-group:first-of-type{border-top:0}.jm-filter a{display:block;padding:8px 10px;border-radius:10px;color:#56667a;font-size:.9rem}.jm-filter a:hover,.jm-filter a.active{background:#eef6ff;color:var(--jm-blue);font-weight:800}.jm-pagination{display:flex;justify-content:center;gap:7px;flex-wrap:wrap;margin-top:32px}.jm-pagination a,.jm-pagination span{min-width:42px;height:42px;padding:0 12px;display:grid;place-items:center;border-radius:12px;border:1px solid var(--jm-border);background:#fff}.jm-pagination .active{background:var(--jm-blue);color:#fff;border-color:var(--jm-blue)}.jm-page-hero{padding:74px 0 46px;background:radial-gradient(circle at 80% 15%,#1c7cff33,transparent 30%),linear-gradient(135deg,#061a3a,#0a3978);color:#fff}.jm-page-hero h1{font-size:clamp(2.4rem,5vw,4.8rem);margin:0 0 14px;letter-spacing:-.05em}.jm-page-hero p{max-width:760px;color:#d6e5f7;line-height:1.65}.jm-product-detail{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(360px,.8fr);gap:36px;padding:44px 0 70px}.jm-gallery-main{position:relative;aspect-ratio:1.2/1;border-radius:28px;background:#fff;border:1px solid var(--jm-border);overflow:hidden;display:grid;place-items:center}.jm-gallery-main img,.jm-gallery-main video{width:100%;height:100%;object-fit:contain;background:#fff}.jm-gallery-thumbs{display:grid;grid-auto-flow:column;grid-auto-columns:90px;gap:10px;overflow-x:auto;margin-top:12px;padding-bottom:6px}.jm-thumb{width:90px;height:76px;border-radius:14px;border:2px solid transparent;overflow:hidden;background:#fff;cursor:pointer}.jm-thumb.active{border-color:var(--jm-blue)}.jm-thumb img,.jm-thumb video{width:100%;height:100%;object-fit:cover}.jm-product-copy{padding:12px 0}.jm-product-copy h1{font-size:clamp(2rem,4vw,4rem);line-height:1.02;margin:10px 0 18px;letter-spacing:-.045em}.jm-product-copy .desc{color:#607086;line-height:1.75}.jm-stock-ok{display:inline-flex;align-items:center;gap:8px;padding:9px 12px;border-radius:999px;background:#eafaf0;color:#08783a;font-size:.82rem;font-weight:850}.jm-order-box{margin-top:24px;padding:20px;border-radius:22px;background:#fff;border:1px solid var(--jm-border);box-shadow:var(--jm-shadow)}.jm-qty{display:flex;align-items:center;border:1px solid #dbe5f1;border-radius:14px;overflow:hidden;width:max-content}.jm-qty button{width:44px;height:44px;border:0;background:#f7f9fc;cursor:pointer}.jm-qty input{width:62px;height:44px;border:0;text-align:center;outline:none;background:#fff}.jm-auth-wrap{min-height:calc(100vh - var(--navh));display:grid;grid-template-columns:1.05fr .95fr;background:#fff}.jm-auth-visual{position:relative;overflow:hidden;background:linear-gradient(145deg,#061b3a,#0867df);min-height:620px}.jm-auth-visual img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.58}.jm-auth-visual::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#061b3add,#061b3a14)}.jm-auth-quote{position:absolute;left:7vw;right:7vw;bottom:7vw;z-index:2;color:#fff}.jm-auth-quote h2{font-size:clamp(2rem,4vw,4.8rem);line-height:.98;margin:0}.jm-auth-panel{display:grid;place-items:center;padding:60px 7vw}.jm-auth-card{width:min(520px,100%)}.jm-auth-card h1{font-size:2.5rem;letter-spacing:-.04em;margin:0 0 8px}.jm-auth-card>p{color:var(--jm-muted);margin-bottom:28px}.jm-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.jm-field{margin-bottom:15px}.jm-field label{display:block;font-size:.82rem;font-weight:800;margin-bottom:7px}.jm-field input,.jm-field textarea,.jm-field select{width:100%;border:1px solid #dce5f0;border-radius:14px;min-height:48px;padding:10px 13px;outline:none;background:#fff}.jm-field input:focus,.jm-field textarea:focus,.jm-field select:focus{border-color:#69a8ff;box-shadow:0 0 0 4px #0d6efd12}.jm-alert{padding:13px 15px;border-radius:14px;margin-bottom:12px;font-size:.9rem}.jm-alert.success{background:#eafaf1;color:#08783a}.jm-alert.error{background:#fff0f1;color:#aa1f2c}.jm-alert.info{background:#eef6ff;color:#174f91}.jm-cart-layout{display:grid;grid-template-columns:1fr 360px;gap:26px}.jm-cart-list{display:grid;gap:13px}.jm-cart-item{display:grid;grid-template-columns:100px 1fr auto;gap:16px;align-items:center;background:#fff;border:1px solid var(--jm-border);border-radius:20px;padding:12px}.jm-cart-item img{width:100px;height:88px;border-radius:15px;object-fit:cover;cursor:zoom-in}.jm-cart-item h3{margin:0 0 5px}.jm-cart-summary{align-self:start;position:sticky;top:calc(var(--navh) + 16px);padding:22px;background:#071c3d;color:#fff;border-radius:24px;box-shadow:var(--jm-shadow)}.jm-cart-summary p{color:#cbd9eb;line-height:1.6}.jm-account-layout{display:grid;grid-template-columns:250px 1fr;gap:24px}.jm-account-nav{align-self:start;position:sticky;top:calc(var(--navh) + 16px);padding:12px;background:#fff;border:1px solid var(--jm-border);border-radius:20px}.jm-account-nav a{display:flex;gap:10px;padding:12px;border-radius:12px;color:#526277;font-weight:700}.jm-account-nav a:hover,.jm-account-nav a.active{background:#eef6ff;color:var(--jm-blue)}.jm-panel{background:#fff;border:1px solid var(--jm-border);border-radius:24px;padding:22px;box-shadow:0 12px 38px #1636570b}.jm-table-wrap{overflow:auto}.jm-table{width:100%;border-collapse:collapse;min-width:720px}.jm-table th{text-align:left;padding:12px;color:#74849a;font-size:.76rem;text-transform:uppercase;letter-spacing:.06em}.jm-table td{padding:13px 12px;border-top:1px solid #edf1f5}.jm-status{display:inline-flex;padding:6px 10px;border-radius:999px;font-size:.75rem;font-weight:900;text-transform:capitalize}.jm-status.pending{background:#fff6db;color:#8b5c00}.jm-status.successful{background:#e8f9ef;color:#08783a}.jm-status.cancelled{background:#fff0f1;color:#a22431}.jm-chat{display:grid;gap:10px;max-height:440px;overflow:auto;padding:10px}.jm-message{max-width:75%;padding:11px 14px;border-radius:16px;background:#eef3f8}.jm-message.mine{justify-self:end;background:#0872e8;color:#fff}.jm-message small{display:block;margin-top:5px;opacity:.7;font-size:.68rem}.jm-collage{columns:4 260px;column-gap:16px}.jm-collage-item{break-inside:avoid;margin-bottom:16px;border-radius:22px;overflow:hidden;background:#fff;border:1px solid var(--jm-border);box-shadow:0 10px 30px #142e4c0c}.jm-collage-item img,.jm-collage-item video{width:100%;display:block}.jm-collage-item figcaption{padding:12px 14px}.jm-contact-grid{display:grid;grid-template-columns:1fr 1.3fr;gap:24px}.jm-map{min-height:450px;border:0;width:100%;border-radius:24px;background:#e8eef6}.jm-footer{background:#05162f;color:#dce7f5;margin-top:70px}.jm-footer-top{display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:38px;padding:64px 0 46px}.jm-footer h4{color:#fff;margin:0 0 14px}.jm-footer p{color:#9fb2c9;line-height:1.7}.jm-footer a{display:block;color:#b7c7da;padding:5px 0}.jm-footer a:hover{color:#fff}.jm-socials{display:flex;gap:9px;flex-wrap:wrap}.jm-socials a{width:42px;height:42px;padding:0;display:grid;place-items:center;border-radius:12px;background:#0c2a55;color:#fff}.jm-footer-bottom{border-top:1px solid #12305a;padding:18px 0;color:#8298b3;font-size:.83rem;display:flex;justify-content:space-between;gap:20px}.jm-empty{text-align:center;padding:70px 20px;background:#fff;border:1px dashed #ccd7e5;border-radius:24px}.jm-empty-icon{font-size:3rem;margin-bottom:12px}.jm-modal{position:fixed;inset:0;background:#071426aa;z-index:3000;display:none;place-items:center;padding:20px;backdrop-filter:blur(8px)}.jm-modal.open{display:grid}.jm-modal-card{width:min(520px,100%);background:#fff;border-radius:24px;padding:24px;box-shadow:0 30px 100px #0005;animation:pop .18s ease-out}.jm-lightbox-card{width:min(1100px,96vw);height:min(860px,92vh);padding:12px;background:#06111f}.jm-lightbox-card img,.jm-lightbox-card video{width:100%;height:100%;object-fit:contain}.reveal{opacity:0;transform:translateY(28px);transition:opacity .7s ease,transform .7s ease}.reveal.visible{opacity:1;transform:none}.floaty{animation:floaty 5s ease-in-out infinite}@keyframes floaty{50%{transform:translateY(-10px)}}@keyframes pop{from{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:none}}@keyframes drop{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
@media(max-width:1150px){.jm-nav-inner{grid-template-columns:auto minmax(280px,1fr) auto;gap:14px}.jm-nav-link span.label{display:none}.jm-grid{grid-template-columns:repeat(3,1fr)}.jm-product-detail{grid-template-columns:1.05fr .95fr}.jm-footer-top{grid-template-columns:1.4fr 1fr 1fr}.jm-footer-top>div:last-child{grid-column:2/4}}
@media(max-width:900px){:root{--bottomh:70px}.jm-desktop-nav{display:none}.jm-mobile-top{display:block;position:sticky;top:0;z-index:1000;background:rgba(255,255,255,.93);backdrop-filter:blur(18px);padding:9px 12px;border-bottom:1px solid var(--jm-border)}.jm-mobile-row{display:flex;align-items:center;gap:10px}.jm-mobile-logo{width:44px;height:44px;border-radius:13px;object-fit:contain;background:#fff}.jm-hamburger{width:44px;height:44px;border:0;border-radius:13px;background:#eff5fc;color:#17467d}.jm-mobile-search{margin-top:8px}.jm-mobile-search .jm-search{height:48px;width:100%;padding-left:44px}.jm-mobile-bottom{display:grid;position:fixed;bottom:0;left:0;right:0;z-index:1400;height:var(--bottomh);grid-template-columns:repeat(5,1fr);background:rgba(255,255,255,.96);backdrop-filter:blur(20px);border-top:1px solid #dce6f2;padding-bottom:env(safe-area-inset-bottom)}.jm-mobile-bottom a{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:3px;color:#637287;font-size:.68rem;font-weight:800}.jm-mobile-bottom a i{font-size:1.2rem}.jm-mobile-bottom a.active{color:var(--jm-blue)}.jm-mobile-cart{position:relative}.jm-mobile-cart .jm-badge-count{position:absolute;top:5px;right:calc(50% - 21px);min-width:17px;height:17px;font-size:.59rem}.jm-drawer-backdrop{position:fixed;inset:0;background:#07142680;z-index:1800;backdrop-filter:blur(4px)}.jm-drawer{position:fixed;left:0;top:0;bottom:0;z-index:1900;width:min(88vw,380px);background:#071c3d;color:#fff;padding:22px;transform:translateX(-102%);transition:.3s;overflow:auto}.jm-drawer.open{transform:none}.jm-drawer-backdrop.open{display:block}.jm-drawer-head{display:flex;justify-content:space-between;align-items:center}.jm-drawer-brand{display:flex;align-items:center;gap:10px;font-weight:900}.jm-drawer-brand img{width:48px;height:48px;object-fit:contain;border-radius:14px;background:#fff}.jm-drawer-close{width:40px;height:40px;border:1px solid #ffffff33;border-radius:12px;background:#ffffff0e;color:#fff}.jm-drawer-section{margin-top:26px}.jm-drawer-section h4{font-size:.7rem;color:#87a5c9;text-transform:uppercase;letter-spacing:.12em}.jm-drawer a{display:flex;align-items:center;gap:10px;padding:12px;border-radius:12px;color:#d6e5f6}.jm-drawer a:hover{background:#ffffff12}.jm-main{padding-bottom:var(--bottomh)}.jm-container{width:min(100% - 24px,1440px)}.jm-hero,.jm-hero-content{min-height:670px}.jm-hero h1{font-size:clamp(2.8rem,12vw,5rem)}.jm-section{padding:52px 0}.jm-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.jm-catalog-layout{display:block}.jm-filter{position:static;margin-bottom:18px}.jm-product-detail{grid-template-columns:1fr;padding-top:22px}.jm-cart-layout,.jm-account-layout,.jm-contact-grid{grid-template-columns:1fr}.jm-cart-summary,.jm-account-nav{position:static}.jm-auth-wrap{grid-template-columns:1fr}.jm-auth-visual{display:none}.jm-auth-panel{padding:42px 22px}.jm-footer-top{grid-template-columns:1fr 1fr;gap:26px}.jm-footer-top>div:last-child{grid-column:auto}.jm-footer-bottom{padding-bottom:calc(18px + var(--bottomh));flex-direction:column}.jm-category-strip,.jm-brand-strip{grid-auto-columns:minmax(82vw,360px)}.jm-rail{grid-auto-columns:minmax(220px,72vw)}}
@media(max-width:520px){.jm-container{width:calc(100% - 20px)}.jm-mobile-row .jm-brand-word{font-size:.9rem;font-weight:900;flex:1}.jm-mobile-row .jm-search-wrap{width:100%}.jm-hero{min-height:610px}.jm-hero-content{min-height:610px}.jm-hero-copy{padding:40px 0 80px}.jm-hero h1{font-size:3.25rem}.jm-section-head{align-items:flex-start;flex-direction:column}.jm-grid{grid-template-columns:1fr 1fr;gap:9px}.jm-grid .jm-card-body{padding:12px}.jm-grid .jm-card-body h3{font-size:.88rem}.jm-grid .jm-card-meta{font-size:.68rem;flex-direction:column}.jm-grid .jm-card-actions{gap:5px}.jm-grid .jm-btn{padding:0 10px;font-size:.76rem;min-height:40px}.jm-grid .jm-icon-btn{width:40px;height:40px}.jm-rail{grid-auto-columns:76vw}.jm-banner-card{min-height:210px}.jm-form-grid{grid-template-columns:1fr}.jm-cart-item{grid-template-columns:78px 1fr}.jm-cart-item img{width:78px;height:72px}.jm-cart-item>.jm-qty{grid-column:2}.jm-gallery-main{aspect-ratio:1/1}.jm-product-copy h1{font-size:2.35rem}.jm-collage{columns:2 145px;column-gap:10px}.jm-collage-item{margin-bottom:10px}.jm-footer-top{grid-template-columns:1fr}.jm-footer-top>div:last-child{grid-column:auto}.jm-page-hero{padding:54px 0 34px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}}


/* Jumia-style product-card cart control */
.jm-card-actions{align-items:stretch}.jm-view-product{flex:0 0 auto;padding-inline:14px}.jm-cart-widget{flex:1;min-width:0}.jm-cart-widget.busy{opacity:.65;pointer-events:none}.jm-add-cart-btn{width:100%;min-height:44px;border-radius:13px;white-space:nowrap}.jm-product-stepper{height:44px;width:100%;display:grid;grid-template-columns:44px 1fr 44px;align-items:center;border-radius:13px;overflow:hidden;background:linear-gradient(135deg,#0c72e8,#04a8ef);color:#fff;box-shadow:0 9px 20px rgba(7,112,224,.2)}.jm-product-stepper button{height:44px;border:0;background:rgba(255,255,255,.08);color:#fff;font-size:1.35rem;font-weight:900;cursor:pointer;transition:.2s}.jm-product-stepper button:hover:not(:disabled){background:rgba(255,255,255,.2)}.jm-product-stepper button:disabled{opacity:.4;cursor:not-allowed}.jm-product-stepper strong{text-align:center;font-size:1rem;font-weight:900}.jm-detail-add-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.jm-detail-add-row .jm-add-cart-btn{width:auto;min-width:170px}.jm-order-box .jm-cart-widget{max-width:430px}.jm-order-box .jm-product-stepper{max-width:250px;height:50px}.jm-order-box .jm-product-stepper button{height:50px}
@media(max-width:520px){.jm-card-actions{gap:7px}.jm-view-product{padding-inline:11px}.jm-add-cart-btn{padding-inline:10px;font-size:.82rem}.jm-product-stepper{grid-template-columns:38px 1fr 38px}.jm-product-stepper button{width:38px}.jm-detail-add-row{align-items:stretch}.jm-detail-add-row .jm-add-cart-btn{flex:1;min-width:140px}}


/* =========================================================
   JoyMore 2026 storefront refinement
   - responsive/zoom-safe home
   - uniform product cards + quick cart
   - infinite catalogue
   - distinct category/brand motion
   ========================================================= */
.jm-mobile-catalog-tools{display:none}
.jm-hero,.jm-hero-content{min-height:clamp(500px,68svh,650px)}
.jm-hero-copy{padding:clamp(36px,6vh,64px) 0}
.jm-hero h1{font-size:clamp(2.45rem,5.2vw,5.35rem);line-height:.96;max-width:780px}
.jm-hero p{font-size:clamp(.98rem,1.25vw,1.18rem)}
.jm-nav-inner{grid-template-columns:minmax(250px,auto) minmax(320px,1fr) auto}
.jm-search-wrap{min-width:0}

/* White studio/cut-out stage. Object-fit keeps every image edge visible. */
.jm-shop-card{border-radius:18px;background:#fff;display:flex;flex-direction:column;min-width:0}
.jm-shop-card .jm-product-image{aspect-ratio:1/1;background:#fff;border-bottom:1px solid #f0f2f5;display:block}
.jm-cutout-stage{isolation:isolate}
.jm-cutout-stage img{width:100%;height:100%;object-fit:contain!important;object-position:center;padding:12px;background:#fff;mix-blend-mode:multiply;filter:saturate(1.03) contrast(1.02)}
.jm-shop-card:hover .jm-product-image img{transform:scale(1.035)}
.jm-shop-card .jm-card-body{padding:13px 13px 14px;display:flex;flex-direction:column;flex:1}
.jm-shop-card .jm-card-body h3{font-size:.96rem;line-height:1.38;min-height:2.76em;margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.jm-shop-card .jm-card-actions{margin-top:auto;padding-top:13px;width:100%}
.jm-shop-card .jm-cart-widget{width:100%}
.jm-add-cart-btn{width:100%;border-radius:10px;min-height:43px;font-size:.9rem}
.jm-product-stepper{height:43px;border-radius:10px;grid-template-columns:42px minmax(0,1fr) 42px}
.jm-product-stepper button{height:43px}
.jm-stepper-input{width:100%;height:43px;border:0;outline:0;background:rgba(255,255,255,.98);color:#102a4d;text-align:center;font-weight:900;font-size:.95rem;appearance:textfield;-moz-appearance:textfield}
.jm-stepper-input::-webkit-outer-spin-button,.jm-stepper-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.jm-grid.jm-catalog-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:15px}
.jm-rail{grid-auto-columns:245px;gap:14px}
.jm-rail .jm-shop-card{width:245px}
.jm-catalog-section{padding-top:38px}
.jm-catalog-results{min-width:0}
.jm-infinite-sentinel{height:2px}
.jm-infinite-status{min-height:72px;display:flex;align-items:center;justify-content:center;gap:10px;color:#738399;font-weight:700;opacity:0;transition:.2s}
.jm-infinite-status.loading{opacity:1}
.jm-infinite-status.done{display:none}
.jm-infinite-status.error{opacity:1;color:#b42318}
.jm-infinite-spinner{width:22px;height:22px;border:3px solid #d7e4f5;border-top-color:#0c72e8;border-radius:50%;animation:jmSpin .8s linear infinite}
@keyframes jmSpin{to{transform:rotate(360deg)}}

/* Category slider: snap/step motion with explicit controls */
.jm-slider-shell{position:relative}
.jm-category-strip{scroll-behavior:smooth;overscroll-behavior-x:contain;padding:5px 2px 17px}
.jm-slider-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:5;width:46px;height:46px;border:1px solid #dbe7f5;border-radius:50%;background:rgba(255,255,255,.94);box-shadow:0 12px 32px rgba(17,47,84,.16);color:#0a5fd2;font-size:2rem;line-height:1;cursor:pointer;transition:.2s}
.jm-slider-arrow:hover{transform:translateY(-50%) scale(1.08);background:#fff}
.jm-slider-arrow.prev{left:-18px}.jm-slider-arrow.next{right:-18px}

/* Brand slider: continuous marquee, intentionally different from category slider */
.jm-brand-marquee{overflow:hidden;padding:5px 0 18px;mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent)}
.jm-brand-marquee-track{display:flex;width:max-content;gap:18px;animation:jmBrandMarquee 34s linear infinite}
.jm-brand-marquee:hover .jm-brand-marquee-track,.jm-brand-marquee:active .jm-brand-marquee-track{animation-play-state:paused}
.jm-brand-marquee .jm-brand-banner{width:330px;min-height:180px;flex:0 0 330px}
@keyframes jmBrandMarquee{to{transform:translateX(calc(-50% - 9px))}}

/* Mobile app-style drawer taxonomy */
.jm-drawer-taxonomy{border-top:1px solid rgba(255,255,255,.1);border-bottom:1px solid rgba(255,255,255,.1);padding:8px 0}
.jm-drawer-taxonomy details{border-bottom:1px solid rgba(255,255,255,.08)}
.jm-drawer-taxonomy details:last-child{border-bottom:0}
.jm-drawer-taxonomy summary{list-style:none;display:flex;align-items:center;justify-content:space-between;padding:13px 10px;font-weight:850;cursor:pointer;color:#fff}
.jm-drawer-taxonomy summary::-webkit-details-marker{display:none}
.jm-drawer-taxonomy details[open] summary span{transform:rotate(45deg)}
.jm-drawer-taxonomy summary span{transition:.2s}
.jm-drawer-sub{max-height:42vh;overflow:auto;padding:0 4px 9px}
.jm-drawer-sub a{padding:9px 12px}
body.jm-drawer-open{overflow:hidden}

/* Dynamic public media collage */
.jm-collage-item{transition:transform .28s ease,box-shadow .28s ease}
.jm-collage-item:hover{transform:translateY(-4px) rotate(.15deg);box-shadow:0 22px 60px rgba(15,43,76,.13)}
.jm-collage-item:nth-child(5n+2){border-radius:34px 16px 28px 18px}
.jm-collage-item:nth-child(5n+4){border-radius:16px 34px 18px 28px}
.jm-collage-item img{background:#fff;object-fit:contain}

@media(max-width:1150px){
  .jm-hero,.jm-hero-content{min-height:clamp(480px,64svh,590px)}
  .jm-hero h1{font-size:clamp(2.35rem,5vw,4.45rem)}
  .jm-grid.jm-catalog-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .jm-nav-inner{grid-template-columns:minmax(220px,auto) minmax(260px,1fr) auto;gap:12px}
  .jm-nav-link{padding:9px 9px;font-size:.84rem}
  .jm-brand small{display:none}
}
@media(max-width:900px){
  .jm-desktop-nav{display:none}
  .jm-mobile-top{display:block}
  .jm-mobile-bottom{display:grid}
  .jm-filter{display:none!important}
  .jm-mobile-catalog-tools{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:15px}
  .jm-filter-drawer-btn{border:1px solid #dce7f5;background:#fff;color:#0a5fd2;border-radius:12px;padding:10px 13px;font-weight:850;box-shadow:0 7px 22px rgba(22,54,90,.07)}
  .jm-catalog-layout{display:block}
  .jm-slider-arrow{display:none}
  .jm-hero,.jm-hero-content{min-height:clamp(470px,61svh,560px)}
  .jm-hero-copy{padding:34px 0 54px}
  .jm-hero h1{font-size:clamp(2.35rem,9vw,4rem);max-width:620px}
  .jm-home-taxonomy .jm-category-strip{grid-auto-columns:minmax(250px,70vw)}
  .jm-brand-marquee .jm-brand-banner{width:285px;flex-basis:285px}
  .jm-grid.jm-catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .jm-rail{grid-auto-columns:calc(50vw - 22px);gap:10px}
  .jm-rail .jm-shop-card{width:auto}
}
@media(max-width:520px){
  .jm-container{width:calc(100% - 16px)}
  .jm-mobile-top{padding:7px 8px}
  .jm-mobile-search{margin-top:7px}
  .jm-mobile-search .jm-search{height:46px;border-radius:14px}
  .jm-hero,.jm-hero-content{min-height:520px}
  .jm-hero-copy{padding:34px 2px 58px}
  .jm-hero h1{font-size:clamp(2.25rem,12vw,3.2rem);letter-spacing:-.045em}
  .jm-hero-actions .jm-btn{min-height:43px;padding-inline:14px}
  .jm-page-hero.jm-catalog-hero{padding:36px 0 26px}
  .jm-page-hero.jm-catalog-hero h1{font-size:clamp(2rem,9vw,2.8rem)}
  .jm-catalog-section{padding-top:22px}
  .jm-grid.jm-catalog-grid{gap:8px}
  .jm-shop-card{border-radius:13px}
  .jm-shop-card .jm-product-image{aspect-ratio:1/1}
  .jm-cutout-stage img{padding:8px}
  .jm-shop-card .jm-card-body{padding:9px 9px 10px}
  .jm-shop-card .jm-card-body h3{font-size:.82rem;line-height:1.32;min-height:2.64em}
  .jm-shop-card .jm-card-actions{padding-top:9px}
  .jm-add-cart-btn{min-height:39px;font-size:.78rem;padding:0 7px}
  .jm-product-stepper{height:39px;grid-template-columns:34px minmax(0,1fr) 34px}
  .jm-product-stepper button,.jm-stepper-input{height:39px}
  .jm-product-stepper button{font-size:1.1rem}
  .jm-stepper-input{font-size:.82rem}
  .jm-rail{grid-auto-columns:calc(50vw - 17px);gap:8px}
  .jm-home-taxonomy .jm-category-strip{grid-auto-columns:82vw}
  .jm-brand-marquee .jm-brand-banner{width:78vw;flex-basis:78vw}
  .jm-section{padding:44px 0}.jm-section.compact{padding:38px 0}
  .jm-section-head{margin-bottom:18px}
}

/* Browser zoom / short viewport resilience: keep the complete hero call-to-action visible. */
@media (max-height:760px) and (min-width:901px){
  .jm-hero,.jm-hero-content{min-height:clamp(455px,calc(100svh - var(--navh)),590px)}
  .jm-hero-copy{padding:28px 0 42px}
  .jm-hero h1{font-size:clamp(2.25rem,4.6vw,4.35rem);margin:14px 0 12px}
  .jm-hero p{line-height:1.5;margin-block:8px}
  .jm-hero-actions{margin-top:16px}
  .jm-hero-dots{bottom:16px}
}
@media (max-height:620px) and (min-width:901px){
  .jm-hero,.jm-hero-content{min-height:500px}
  .jm-kicker{padding:6px 10px}
  .jm-type-line{min-height:1.2em}
}
/* Fallback hero slides remain visually distinct even before CMS banner media is uploaded. */
.jm-hero-slide:nth-child(2){background:radial-gradient(circle at 78% 30%,#0cb9ff55,transparent 28%),linear-gradient(135deg,#061b3a,#063f78)}
.jm-hero-slide:nth-child(3){background:radial-gradient(circle at 76% 34%,#34d3993f,transparent 27%),linear-gradient(135deg,#071b34,#123f49)}
/* Cart thumbnails follow the same full-image studio treatment. */
.jm-cart-item img{object-fit:contain;background:#fff;padding:4px}
.jm-suggest-row img{object-fit:contain;background:#fff;padding:3px}

/* 2026-09-09 mobile/search/account/product-rail fixes */
.jm-suggestions{max-height:min(68vh,540px);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#9db1c9 transparent}
.jm-suggestions::-webkit-scrollbar{width:8px}.jm-suggestions::-webkit-scrollbar-thumb{background:#b3c2d3;border-radius:10px}.jm-suggestions::-webkit-scrollbar-track{background:transparent}
.jm-product-rail-shell{position:relative}.jm-product-rail-arrow{position:absolute;z-index:7;top:43%;transform:translateY(-50%);width:48px;height:48px;border:1px solid #d8e4f3;border-radius:50%;background:rgba(255,255,255,.96);box-shadow:0 12px 32px rgba(8,38,78,.18);color:#075bd8;font-size:2rem;display:grid;place-items:center;cursor:pointer;transition:.2s}.jm-product-rail-arrow:hover{transform:translateY(-50%) scale(1.08);box-shadow:0 18px 42px rgba(8,38,78,.24)}.jm-product-rail-arrow.prev{left:-18px}.jm-product-rail-arrow.next{right:-18px}
.jm-verify-page{min-height:70vh;display:grid;align-items:center}.jm-verify-card{width:min(680px,100%);margin:auto;background:#fff;border:1px solid var(--jm-border);border-radius:30px;padding:clamp(26px,5vw,52px);box-shadow:var(--jm-shadow);text-align:center}.jm-verify-icon{width:74px;height:74px;margin:0 auto 16px;display:grid;place-items:center;border-radius:24px;background:linear-gradient(135deg,#e8f3ff,#d9f7ff);font-size:2rem}.jm-verify-card .jm-kicker{color:#075bd8;border-color:#d6e7ff;background:#f3f8ff}.jm-verify-card h1{font-size:clamp(2rem,5vw,3.3rem);line-height:1.05;letter-spacing:-.045em}.jm-verify-card p{color:#5f7085;line-height:1.75}.jm-verify-expiry{font-size:.86rem}.jm-verify-links{display:flex;justify-content:center;gap:22px;flex-wrap:wrap;margin-top:22px}.jm-verify-links a{color:#075bd8;font-weight:800}
.jm-account-layout>div{min-width:0}
@media(max-width:900px){
  .jm-drawer{display:block;visibility:visible}.jm-drawer-backdrop{display:none}.jm-drawer-backdrop.open{display:block}
  .jm-mobile-search .jm-suggestions{max-height:min(58dvh,520px);overflow-y:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;touch-action:pan-y}
  .jm-mobile-search .jm-suggestions::-webkit-scrollbar{display:none;width:0}
  .jm-product-rail-arrow{display:none}
  .jm-product-rail-shell .jm-rail{touch-action:pan-x pan-y;-webkit-overflow-scrolling:touch;scroll-snap-type:x proximity}
  .jm-account-layout{display:block;width:100%;min-width:0}.jm-account-layout>div{width:100%;min-width:0}
  .jm-account-nav{display:flex;gap:8px;overflow-x:auto;max-width:100%;padding:8px;margin-bottom:16px;white-space:nowrap;scrollbar-width:none;border-radius:16px}.jm-account-nav::-webkit-scrollbar{display:none}.jm-account-nav a{flex:0 0 auto;padding:10px 13px}
  .jm-page-hero .jm-container{min-width:0}.jm-page-hero h1{font-size:clamp(1.9rem,8vw,2.8rem);overflow-wrap:anywhere;word-break:normal}.jm-page-hero p{font-size:.95rem;max-width:100%}
  .jm-panel{max-width:100%;padding:16px;border-radius:18px;overflow:hidden}
  .jm-table-wrap{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
}
@media(max-width:640px){
  .jm-order-table{min-width:0;display:block}.jm-order-table thead{display:none}.jm-order-table tbody{display:grid;gap:12px}.jm-order-table tr{display:block;background:#fff;border:1px solid #e5edf6;border-radius:16px;padding:10px 12px;box-shadow:0 7px 24px rgba(13,43,82,.05)}.jm-order-table td{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;border:0!important;padding:7px 2px!important;text-align:right;overflow-wrap:anywhere}.jm-order-table td::before{content:attr(data-label);color:#77869a;text-transform:uppercase;font-size:.66rem;letter-spacing:.06em;font-weight:850;text-align:left;flex:0 0 70px}.jm-order-table td[data-label="Order"]{font-size:.96rem}.jm-order-table td[data-label="Action"]{justify-content:flex-end}.jm-order-table td[data-label="Action"]::before{display:none}
  .jm-form-grid{grid-template-columns:1fr!important}.jm-message{max-width:90%}
}
@media(prefers-reduced-motion:reduce){.jm-product-rail-arrow{transition:none}}

/* 2026-09-09 gallery studio, live chat and password affordances */
.jm-password-wrap{position:relative;width:100%}.jm-password-wrap>input{padding-right:50px!important}.jm-password-eye{position:absolute;right:7px;top:50%;transform:translateY(-50%);width:38px;height:38px;border:0;border-radius:11px;background:#f3f7fb;display:grid;place-items:center;cursor:pointer;font-size:1rem;line-height:1}.jm-password-eye:hover{background:#e9f2fc}.jm-password-eye:focus-visible{outline:3px solid #65a7ff;outline-offset:1px}
.jm-order-unread{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;margin-left:7px;border-radius:999px;background:#e53935;color:#fff;font-size:.68rem;font-weight:900;vertical-align:middle;box-shadow:0 3px 9px rgba(229,57,53,.28)}
.jm-gallery-stack{display:grid;gap:clamp(26px,5vw,66px)}.jm-gallery-block{min-width:0}.jm-gallery-block .jm-section-head{margin-bottom:16px}
.jm-designed-collage{display:grid;grid-template-columns:repeat(var(--jm-gallery-cols,3),minmax(0,1fr));grid-auto-flow:dense;grid-auto-rows:clamp(120px,calc(58vw / var(--jm-gallery-rows,2)),340px);gap:12px}.jm-designed-collage figure{position:relative;margin:0;min-height:0;height:100%;border-radius:22px;overflow:hidden;background:#fff;border:1px solid var(--jm-border);box-shadow:0 12px 34px rgba(18,49,82,.08)}.jm-designed-collage img,.jm-designed-collage video{display:block;width:100%;height:100%;min-height:0;object-fit:cover}.jm-layout-grid .jm-designed-collage figure{min-height:0}.jm-layout-feature-left .jm-designed-collage figure:first-child,.jm-layout-feature-right .jm-designed-collage figure:last-child{grid-column:span 2;grid-row:span 2;min-height:372px}.jm-layout-mosaic .jm-designed-collage figure:nth-child(5n+1){grid-column:span 2;grid-row:span 2}.jm-layout-mosaic .jm-designed-collage figure:nth-child(3n){aspect-ratio:1.45/1}.jm-layout-masonry .jm-designed-collage{display:block;columns:var(--jm-gallery-cols,3);column-gap:12px}.jm-layout-masonry .jm-designed-collage figure{break-inside:avoid;margin-bottom:12px}.jm-layout-masonry .jm-designed-collage img,.jm-layout-masonry .jm-designed-collage video{height:auto;min-height:0;max-height:560px;object-fit:cover}
.jm-gallery-banner{position:relative;min-height:clamp(260px,42vw,560px);border-radius:28px;overflow:hidden;background:#061b3a;box-shadow:var(--jm-shadow)}.jm-gallery-banner>img,.jm-gallery-banner>video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.jm-gallery-banner-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,21,45,.88),rgba(4,21,45,.2) 66%,rgba(4,21,45,.04))}.jm-gallery-banner-copy{position:absolute;left:clamp(20px,5vw,70px);right:clamp(20px,5vw,70px);bottom:clamp(22px,5vw,66px);max-width:680px;color:#fff}.jm-gallery-banner-copy h3{font-size:clamp(1.8rem,4vw,4.2rem);line-height:1;margin:0 0 10px}.jm-gallery-banner-copy p{font-size:clamp(.95rem,1.7vw,1.3rem);line-height:1.55;margin:0;color:#e8f2ff}
.jm-mini-carousel{position:relative;min-width:0}.jm-mini-track{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(280px,42%);gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:4px 2px 14px;-webkit-overflow-scrolling:touch}.jm-mini-track::-webkit-scrollbar{display:none}.jm-mini-slide{scroll-snap-align:start;margin:0;aspect-ratio:4/3;border-radius:22px;overflow:hidden;background:#fff;border:1px solid var(--jm-border);box-shadow:0 12px 34px rgba(18,49,82,.08)}.jm-mini-slide img,.jm-mini-slide video{width:100%;height:100%;object-fit:contain;background:#fff;display:block}.jm-mini-arrow{position:absolute;top:50%;z-index:5;transform:translateY(-50%);width:46px;height:46px;border:1px solid #d8e4f3;border-radius:50%;background:rgba(255,255,255,.96);color:#075bd8;box-shadow:0 10px 30px rgba(10,44,83,.18);font-size:2rem;display:grid;place-items:center;cursor:pointer}.jm-mini-arrow.prev{left:-18px}.jm-mini-arrow.next{right:-18px}
@media(max-width:900px){.jm-designed-collage{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.jm-layout-feature-left .jm-designed-collage figure:first-child,.jm-layout-feature-right .jm-designed-collage figure:last-child,.jm-layout-mosaic .jm-designed-collage figure:nth-child(5n+1){grid-column:span 2}.jm-layout-masonry .jm-designed-collage{columns:2}.jm-mini-track{grid-auto-columns:82vw}.jm-mini-arrow{display:none}.jm-gallery-banner{border-radius:20px;min-height:320px}.jm-gallery-banner-shade{background:linear-gradient(0deg,rgba(4,21,45,.88),rgba(4,21,45,.12) 78%)}}
@media(max-width:520px){.jm-designed-collage{grid-template-columns:repeat(2,minmax(0,1fr))}.jm-designed-collage{grid-auto-rows:clamp(118px,calc(86vw / var(--jm-gallery-rows,2)),250px)}.jm-designed-collage figure,.jm-designed-collage img,.jm-designed-collage video{min-height:0;border-radius:14px}.jm-layout-feature-left .jm-designed-collage figure:first-child,.jm-layout-feature-right .jm-designed-collage figure:last-child,.jm-layout-mosaic .jm-designed-collage figure:nth-child(5n+1){min-height:264px}.jm-layout-masonry .jm-designed-collage{columns:2}.jm-gallery-banner{min-height:280px}.jm-gallery-banner-copy{left:18px;right:18px;bottom:20px}.jm-mini-slide{border-radius:16px}}
@media(max-width:640px){
  .jm-order-items-table{min-width:0;display:block}.jm-order-items-table thead{display:none}.jm-order-items-table tbody{display:grid;gap:10px}.jm-order-items-table tr{display:block;border:1px solid #e7edf5;border-radius:14px;padding:9px}.jm-order-items-table td{display:flex;justify-content:space-between;align-items:center;gap:12px;border:0!important;padding:6px!important}.jm-order-items-table td::before{content:attr(data-label);flex:0 0 62px;color:#7a899b;text-transform:uppercase;font-size:.65rem;font-weight:850}.jm-order-items-table td[data-label="Product"]>div{min-width:0;text-align:right}.jm-order-items-table td[data-label="Product"] img{flex:0 0 auto}.jm-chat+form{flex-wrap:wrap}.jm-chat+form input[name="message"]{flex:1 1 100%!important}.jm-chat+form .jm-btn{width:100%}
}

/* 2026-09-09 merchandising studio + responsive media/privacy refinements */
.jm-password-eye{color:#17283d;font-size:0}.jm-password-eye svg{width:21px;height:21px;display:block;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.jm-password-eye:hover{color:#06172d;background:#e6edf5}
.jm-lightbox-card{position:relative;width:min(1100px,calc(100vw - 24px));height:min(860px,calc(100dvh - 24px));max-width:none;max-height:none;padding:50px 12px 12px;border-radius:22px;overflow:hidden}.jm-lightbox-media{width:100%;height:100%;min-width:0;min-height:0;display:grid;place-items:center;overflow:hidden}.jm-lightbox-media img,.jm-lightbox-media video{display:block;width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain}.jm-lightbox-close{position:absolute;z-index:3;right:10px;top:9px;height:34px;display:inline-flex;align-items:center;gap:6px;border:1px solid #ffffff35;border-radius:10px;background:#12243b;color:#fff;padding:0 11px;cursor:pointer;font-weight:800}.jm-lightbox-close span{font-size:1.35rem;line-height:1}.jm-lightbox-close:hover{background:#203b5d}

.jm-created-design-media{position:absolute;inset:0;z-index:0;display:grid;gap:3px;background:#061b3a;overflow:hidden;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr))}.jm-created-design-cell{position:relative;min-width:0;min-height:0;overflow:hidden}.jm-created-design-cell img,.jm-created-design-cell video,.jm-banner-card .jm-created-design-cell img,.jm-banner-card .jm-created-design-cell video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:1}.jm-created-design-overlay{position:absolute;inset:0;z-index:2;background:rgba(3,17,37,var(--jm-design-overlay,.28));pointer-events:none}.jm-design-thirds{grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:1fr}.jm-design-strip{grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:1fr}.jm-design-grid{grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(3,minmax(0,1fr))}.jm-design-mosaic{grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr))}.jm-design-mosaic .jm-created-design-cell:first-child{grid-column:span 2;grid-row:span 2}.jm-design-split{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:1fr}.jm-hero-slide>.jm-created-design-media{z-index:0}.jm-hero-slide>.jm-hero-overlay{z-index:1}.jm-hero-slide>.jm-hero-content{position:relative;z-index:2}.jm-banner-card .jm-created-design-media{z-index:0}.jm-banner-card::after{z-index:1}.jm-banner-card .jm-banner-copy{z-index:2}

.jm-effect-fade{animation:jmStudioFade var(--jm-transition,700ms) ease both}.jm-effect-slide{animation:jmStudioSlide var(--jm-transition,700ms) ease both}.jm-effect-zoom{animation:jmStudioZoom var(--jm-transition,700ms) ease both}.jm-effect-kenburns img{animation:jmKenBurns max(7s,calc(var(--jm-transition,700ms) * 8)) ease-in-out infinite alternate}.jm-created-design-media.jm-effect-kenburns .jm-created-design-cell:nth-child(even) img{animation-direction:alternate-reverse}
@keyframes jmStudioFade{from{opacity:.15}to{opacity:1}}@keyframes jmStudioSlide{from{opacity:.3;transform:translateX(22px)}to{opacity:1;transform:none}}@keyframes jmStudioZoom{from{opacity:.4;transform:scale(.97)}to{opacity:1;transform:none}}@keyframes jmKenBurns{from{transform:scale(1)}to{transform:scale(1.09)}}

.jm-gallery-block{position:relative}.jm-gallery-target-link{position:absolute;inset:0;z-index:7;border-radius:24px}.jm-gallery-target-link:focus-visible{outline:4px solid #68a8ff;outline-offset:5px}.jm-gallery-block .jm-mini-arrow{z-index:8;pointer-events:none}.jm-mini-slide img,.jm-mini-slide video{object-fit:cover!important}.jm-designed-collage img,.jm-designed-collage video,.jm-gallery-banner>img,.jm-gallery-banner>video,.jm-collage-item img,.jm-collage-item video{object-fit:cover}.jm-collage-item img,.jm-collage-item video{aspect-ratio:4/3;width:100%;height:auto}

.jm-about-layout{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr);gap:28px;align-items:stretch}.jm-about-intro p,.jm-about-card-grid p{font-size:1.02rem;line-height:1.85;color:#52657b}.jm-about-logo-card{position:relative;min-height:330px;border-radius:28px;overflow:hidden;background:linear-gradient(145deg,#061b3a,#0a63cc);color:#fff;padding:28px;display:flex;flex-direction:column;justify-content:flex-end;box-shadow:var(--jm-shadow)}.jm-about-logo-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.32}.jm-about-logo-card:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#061b3aec,#061b3a15)}.jm-about-logo-card>div{position:relative;z-index:1}.jm-about-logo-card h3{font-size:clamp(1.7rem,3vw,2.6rem);margin:0 0 8px}.jm-about-logo-card p{color:#dceafb;line-height:1.6}.jm-about-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.jm-about-values{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.jm-about-value{display:flex;align-items:flex-start;gap:11px;padding:18px;border:1px solid var(--jm-border);border-radius:18px;background:#fff}.jm-about-value span{width:30px;height:30px;flex:0 0 30px;border-radius:50%;display:grid;place-items:center;background:#eaf4ff;color:#0865d7;font-weight:900}.jm-about-value p{margin:4px 0 0;line-height:1.55}.jm-about-cta{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:clamp(24px,5vw,48px);border-radius:28px;background:#061b3a;color:#fff}.jm-about-cta h2{margin:0 0 8px;font-size:clamp(1.7rem,3vw,2.7rem)}.jm-about-cta p{margin:0;color:#c9d9ed;line-height:1.6}.jm-news-article{max-width:980px}.jm-news-cover{width:100%;max-height:560px;object-fit:cover;border-radius:26px;margin-bottom:20px}.jm-rich-content{font-size:1.05rem;line-height:1.8;color:#40546b}.jm-rich-content h2{font-size:clamp(1.5rem,3vw,2.2rem);color:#0b2444}.jm-rich-content a{color:#075bd8;text-decoration:underline}.jm-rich-content ul{padding-left:1.4rem}

@media(max-width:900px){.jm-lightbox-card{width:calc(100vw - 16px);height:calc(100dvh - 16px);border-radius:18px;padding:48px 8px 8px}.jm-about-layout{grid-template-columns:1fr}.jm-about-logo-card{min-height:270px}.jm-about-card-grid{grid-template-columns:1fr 1fr}.jm-about-values{grid-template-columns:1fr 1fr}.jm-about-cta{align-items:flex-start;flex-direction:column}.jm-design-strip{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:520px){.jm-modal{padding:4px}.jm-lightbox-card{width:calc(100vw - 8px);height:calc(100dvh - 8px);padding:46px 6px 6px;border-radius:14px}.jm-lightbox-close{right:7px;top:7px}.jm-about-card-grid,.jm-about-values{grid-template-columns:1fr}.jm-about-logo-card{min-height:240px;border-radius:20px}.jm-about-cta{border-radius:20px}.jm-design-grid,.jm-design-mosaic{grid-template-columns:repeat(2,minmax(0,1fr))}.jm-design-strip{grid-template-columns:repeat(2,minmax(0,1fr))}}

.jm-gallery-stage{position:relative}
.jm-gallery-main{display:grid;grid-auto-flow:column;grid-auto-columns:100%;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;place-items:stretch}
.jm-gallery-main::-webkit-scrollbar{display:none}
.jm-gallery-slide{scroll-snap-align:start;display:grid;place-items:center;width:100%;height:100%;background:#fff}
.jm-gallery-slide img,.jm-gallery-slide video{width:100%;height:100%;object-fit:contain;background:#fff}
.jm-gallery-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:4;width:42px;height:42px;border:0;border-radius:999px;background:rgba(7,28,61,.82);color:#fff;font-size:1.6rem;display:grid;place-items:center;box-shadow:0 12px 30px rgba(7,28,61,.24)}
.jm-gallery-arrow.prev{left:14px}.jm-gallery-arrow.next{right:14px}
.jm-gallery-arrow[hidden]{display:none!important}
.jm-gallery-main img,.jm-gallery-main video,.jm-lightbox-card img,.jm-lightbox-card video{object-fit:contain!important;object-position:center center}
@media(max-width:900px){.jm-gallery-arrow{display:none}.jm-designed-collage{grid-template-columns:repeat(var(--jm-gallery-cols,3),minmax(0,1fr))!important;gap:7px!important}.jm-layout-masonry .jm-designed-collage{columns:var(--jm-gallery-cols,3)!important;column-gap:7px!important}.jm-designed-collage figure img,.jm-designed-collage figure video{object-fit:cover}.jm-layout-feature-left .jm-designed-collage figure:first-child,.jm-layout-feature-right .jm-designed-collage figure:last-child,.jm-layout-mosaic .jm-designed-collage figure:first-child{min-height:180px}}
@media(max-width:520px){.jm-gallery-thumbs{grid-auto-columns:78px}.jm-thumb{width:78px;height:66px}.jm-designed-collage{grid-template-columns:repeat(var(--jm-gallery-cols,3),minmax(0,1fr))!important;gap:6px!important}.jm-layout-masonry .jm-designed-collage{columns:var(--jm-gallery-cols,3)!important;column-gap:6px!important}.jm-layout-feature-left .jm-designed-collage figure:first-child,.jm-layout-feature-right .jm-designed-collage figure:last-child,.jm-layout-mosaic .jm-designed-collage figure:first-child{min-height:145px}}

/* Pending-order merge choices and staff-processing callout */
.jm-merge-choice{margin:14px 0;padding:12px;border:1px solid #dce5f0;border-radius:16px;background:#f8fbff}.jm-merge-choice h3{margin:0 0 10px;font-size:1rem}.jm-merge-option{display:flex;gap:10px;align-items:flex-start;padding:10px;border:1px solid #e1e8f0;border-radius:12px;background:#fff;margin:7px 0;cursor:pointer}.jm-merge-option:has(input:checked){border-color:#0d6efd;box-shadow:0 0 0 2px rgba(13,110,253,.1);background:#f4f8ff}.jm-merge-option input{margin-top:3px;accent-color:#0d6efd}.jm-merge-option span,.jm-merge-option b,.jm-merge-option small{display:block}.jm-merge-option small{color:#667085;margin-top:2px;line-height:1.35}.jm-call-addition{display:flex;flex-direction:column;gap:4px;margin-top:12px;padding:12px 14px;border:1px solid #ffd78a;border-radius:14px;background:#fff8e8;color:#5e4707}.jm-call-addition a{font-weight:900;color:#075bd8;text-decoration:none}.jm-call-addition a:hover{text-decoration:underline}

.jm-call-addition-btn{align-self:flex-start;min-height:38px;padding:0 13px;margin-top:5px;background:#fff!important;color:#075bd8!important;border-color:#b9d2ff!important}

/* Category/brand cards do not require artwork. Without a selected background they use the original blue card. */
.jm-banner-card-default{background:linear-gradient(135deg,#061b3a,#0e67db)}
.jm-brand-banner.jm-banner-card-default{color:#fff;border-color:transparent}
.jm-brand-banner.jm-banner-card-default::after{background:linear-gradient(0deg,#061b3ad9 0%,#061b3a20 80%)}
.jm-brand-banner.jm-banner-card-default .jm-banner-copy p{color:#e2ecf7}

/* Product and order-detail media must show the complete image without requiring zoom. */
.jm-product-detail .jm-gallery-slide img,.jm-product-detail .jm-gallery-slide video{width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain!important;object-position:center!important;background:#fff}
.jm-order-items-table td[data-label="Product"] img{object-fit:contain!important;object-position:center!important;background:#f7f9fc}


/* Final product-detail media containment: both the large stage and thumbnail must show the full source media. */
.jm-product-detail .jm-gallery-main{position:relative;isolation:isolate}
.jm-product-detail .jm-gallery-slide{position:relative!important;min-width:100%!important;width:100%!important;height:100%!important;min-height:0!important;overflow:hidden!important;display:grid!important;place-items:center!important;background:#fff}
.jm-product-detail .jm-gallery-slide>img,
.jm-product-detail .jm-gallery-slide>video{
  position:absolute!important;
  inset:0!important;
  margin:auto!important;
  display:block!important;
  width:auto!important;
  height:auto!important;
  max-width:100%!important;
  max-height:100%!important;
  min-width:0!important;
  min-height:0!important;
  object-fit:contain!important;
  object-position:center center!important;
  background:#fff!important;
}
.jm-product-detail .jm-gallery-thumbs{align-items:center}
.jm-product-detail .jm-thumb{position:relative!important;display:grid!important;place-items:center!important;background:#fff!important}
.jm-product-detail .jm-thumb>img,
.jm-product-detail .jm-thumb>video{
  position:absolute!important;
  inset:0!important;
  margin:auto!important;
  display:block!important;
  width:auto!important;
  height:auto!important;
  max-width:100%!important;
  max-height:100%!important;
  min-width:0!important;
  min-height:0!important;
  object-fit:contain!important;
  object-position:center center!important;
  background:#fff!important;
}

/* 2026-09-10: customer order/cart grouping. Keep all items inside one card. */
.jm-cart-items-card{background:#fff;border:1px solid var(--jm-border);border-radius:22px;overflow:hidden;box-shadow:0 12px 34px rgba(16,43,77,.06)}
.jm-cart-items-card .jm-cart-item{background:transparent;border:0;border-radius:0;box-shadow:none;padding:16px}
.jm-cart-items-card .jm-cart-item+.jm-cart-item{border-top:1px solid #e9eff6}
.jm-cart-items-card .jm-cart-item img{object-fit:contain!important;object-position:center!important;background:#fff;padding:4px}
.jm-order-items-card{background:#fff;border:1px solid #e4eaf2;border-radius:18px;overflow:hidden}
.jm-order-item-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:center;padding:13px 14px}
.jm-order-item-row+.jm-order-item-row{border-top:1px solid #e9eff6}
.jm-order-item-product{display:flex;align-items:center;gap:12px;min-width:0}
.jm-order-item-product img{width:68px;height:62px;flex:0 0 68px;object-fit:contain!important;object-position:center!important;background:#f7f9fc;border:1px solid #e4eaf2;border-radius:11px;padding:3px}
.jm-order-item-product>div{min-width:0;display:grid;gap:3px}.jm-order-item-product b{overflow-wrap:anywhere}.jm-order-item-product small,.jm-order-item-qty small{color:#78889b;font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em}
.jm-order-item-qty{display:grid;gap:3px;text-align:right;min-width:76px}.jm-order-item-qty b{font-size:1.05rem}
@media(max-width:520px){
 .jm-cart-items-card{border-radius:18px}
 .jm-cart-items-card .jm-cart-item{padding:12px;grid-template-columns:76px minmax(0,1fr)}
 .jm-cart-items-card .jm-cart-item img{width:76px;height:72px}
 .jm-cart-items-card .jm-cart-item>.jm-qty{grid-column:2;margin-top:4px}
 .jm-order-items-card{border-radius:16px}
 .jm-order-item-row{padding:11px 10px;gap:10px}
 .jm-order-item-product{gap:9px}.jm-order-item-product img{width:58px;height:54px;flex-basis:58px}
 .jm-order-item-product b{font-size:.88rem}.jm-order-item-qty{min-width:55px}.jm-order-item-qty b{font-size:.95rem}
}

/* 2026-09-10 Gallery display overhaul: exact collages + Slider + true Carousel. */
.jm-gallery-stack,.jm-gallery-block,.jm-gallery-slider,.jm-true-carousel{width:100%;max-width:100%;min-width:0}
.jm-gallery-block{overflow:visible}

/* Exact collage frame. The grid geometry never changes at mobile breakpoints; only
   the whole 16:9 frame scales with its responsive container. Every grid cell is
   occupied and every media item fills its cell with object-fit:cover. */
.jm-designed-collage[data-exact-layout]{
  display:grid!important;
  width:100%!important;
  height:auto!important;
  aspect-ratio:16/9!important;
  grid-auto-flow:row!important;
  grid-auto-rows:auto!important;
  /* grid-template-columns/rows/areas are supplied inline by the selected
     count-specific layout and intentionally never reflow at breakpoints. */
  gap:clamp(1px,.28vw,4px)!important;
  padding:0!important;
  margin:0!important;
  columns:auto!important;
  column-gap:normal!important;
  overflow:hidden!important;
  border-radius:clamp(12px,2vw,24px);
  background:#061b3a;
  box-shadow:0 14px 38px rgba(18,49,82,.12)
}
.jm-designed-collage[data-exact-layout] figure{
  position:relative!important;
  display:block!important;
  width:auto!important;
  height:auto!important;
  min-width:0!important;
  min-height:0!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  aspect-ratio:auto!important;
  overflow:hidden!important;
  background:#061b3a!important;
  break-inside:auto!important;
  /* The chosen collage matrix owns placement. Using a custom property here
     prevents older responsive/layout rules from cancelling the grid-area. */
  grid-area:var(--jm-collage-area)!important;
}
.jm-designed-collage[data-exact-layout] figure img,
.jm-designed-collage[data-exact-layout] figure video{
  position:absolute!important;
  inset:0!important;
  display:block!important;
  width:100%!important;
  height:100%!important;
  min-width:0!important;
  min-height:0!important;
  max-width:none!important;
  max-height:none!important;
  margin:0!important;
  padding:0!important;
  object-fit:cover!important;
  object-position:center center!important;
  aspect-ratio:auto!important;
  border-radius:0!important;
  background:#061b3a!important;
}

/* Slider: this is the previous horizontal presentation, intentionally preserved
   but correctly named. It remains swipeable and responsive. */
.jm-gallery-slider{position:relative}
.jm-slider-track{
  display:grid;
  grid-auto-flow:column;
  grid-auto-columns:minmax(260px,42%);
  gap:14px;
  width:100%;
  max-width:100%;
  overflow-x:auto;
  overflow-y:hidden;
  scroll-snap-type:x mandatory;
  scrollbar-width:none;
  overscroll-behavior-inline:contain;
  -webkit-overflow-scrolling:touch;
  padding:4px 2px 14px
}
.jm-slider-track::-webkit-scrollbar{display:none}
.jm-slider-slide{
  position:relative;
  display:block;
  min-width:0;
  aspect-ratio:4/3;
  scroll-snap-align:start;
  overflow:hidden;
  border-radius:22px;
  background:#061b3a;
  border:1px solid var(--jm-border);
  box-shadow:0 12px 34px rgba(18,49,82,.08)
}
.jm-slider-slide img,.jm-slider-slide video{
  position:absolute;
  inset:0;
  display:block;
  width:100%;
  height:100%;
  object-fit:cover!important;
  object-position:center;
  background:#061b3a
}

/* Shared gallery navigation control. */
.jm-gallery-control{
  position:absolute;
  top:50%;
  z-index:12;
  transform:translateY(-50%);
  width:clamp(36px,4vw,46px);
  height:clamp(36px,4vw,46px);
  border:1px solid #d8e4f3;
  border-radius:50%;
  background:rgba(255,255,255,.96);
  color:#075bd8;
  box-shadow:0 10px 30px rgba(10,44,83,.18);
  font-size:clamp(1.5rem,3vw,2rem);
  line-height:1;
  display:grid;
  place-items:center;
  cursor:pointer
}
.jm-gallery-control.prev{left:clamp(5px,1.5vw,14px)}.jm-gallery-control.next{right:clamp(5px,1.5vw,14px)}
.jm-gallery-control:focus-visible{outline:3px solid #65a7ff;outline-offset:2px}

/* True carousel: one active card is centred while previous/next cards remain
   visible at the sides. Percent-based geometry is identical on every viewport. */
.jm-true-carousel{position:relative;padding-bottom:32px;--jm-transition:650ms}
.jm-carousel-stage{
  position:relative;
  width:100%;
  max-width:100%;
  aspect-ratio:16/8;
  min-height:0;
  overflow:hidden;
  perspective:1200px;
  touch-action:pan-y;
  background:linear-gradient(145deg,#f5f8fc,#eef4fb);
  border-radius:clamp(16px,2vw,26px)
}
.jm-carousel-item{
  position:absolute;
  left:50%;
  top:50%;
  width:68%;
  height:88%;
  overflow:hidden;
  border-radius:clamp(12px,1.8vw,22px);
  background:#061b3a;
  box-shadow:0 18px 42px rgba(12,38,71,.22);
  opacity:0;
  pointer-events:none;
  transform:translate(-50%,-50%) scale(.72);
  transition:transform var(--jm-transition) cubic-bezier(.2,.75,.2,1),opacity var(--jm-transition) ease,filter var(--jm-transition) ease;
  will-change:transform,opacity
}
.jm-carousel-item img,.jm-carousel-item video{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  display:block;
  object-fit:cover!important;
  object-position:center;
  background:#061b3a
}
.jm-carousel-item.is-active{z-index:4;opacity:1;pointer-events:auto;transform:translate(-50%,-50%) scale(1);filter:none}
.jm-carousel-item.is-prev{z-index:2;opacity:.62;pointer-events:auto;transform:translate(-103%,-50%) scale(.78) rotateY(10deg);filter:saturate(.82)}
.jm-carousel-item.is-next{z-index:2;opacity:.62;pointer-events:auto;transform:translate(3%,-50%) scale(.78) rotateY(-10deg);filter:saturate(.82)}
.jm-carousel-motion-slide .jm-carousel-item.is-prev{transform:translate(-105%,-50%) scale(.86) rotateY(0)}
.jm-carousel-motion-slide .jm-carousel-item.is-next{transform:translate(5%,-50%) scale(.86) rotateY(0)}
.jm-carousel-motion-fade .jm-carousel-item.is-prev,.jm-carousel-motion-fade .jm-carousel-item.is-next{opacity:0;pointer-events:none;transform:translate(-50%,-50%) scale(.96)}
.jm-carousel-dots{position:absolute;left:50%;bottom:7px;z-index:13;transform:translateX(-50%);display:flex;gap:7px;max-width:90%;overflow:hidden}
.jm-carousel-dots button{width:8px;height:8px;min-width:8px;padding:0;border:0;border-radius:999px;background:#b9c8db;cursor:pointer;transition:width .2s,background .2s}
.jm-carousel-dots button.active{width:24px;background:#0d6efd}

/* Interactive Slider/Carousel controls must sit above media links. Collage/banner
   can still use the full-block destination overlay. */
.jm-gallery-block>.jm-gallery-target-link{z-index:9}
.jm-gallery-slider .jm-gallery-control,.jm-true-carousel .jm-gallery-control{pointer-events:auto}

@media(max-width:900px){
  .jm-slider-track{grid-auto-columns:82%;gap:10px}
  .jm-gallery-slider .jm-gallery-control{display:none}
}
@media(max-width:700px){
  .jm-slider-track{grid-auto-columns:82%;gap:10px}
  .jm-slider-slide{border-radius:16px}
  .jm-true-carousel{padding-bottom:29px}
  /* Do not alter collage/carousel geometry here. Their frames scale as one unit. */
}
@media(max-width:430px){
  .jm-slider-track{grid-auto-columns:86%}
  .jm-gallery-control{width:34px;height:34px;font-size:1.45rem}
}
@media(prefers-reduced-motion:reduce){
  .jm-carousel-item{transition:none!important}
  .jm-slider-track{scroll-behavior:auto}
}

/* 2026-09-10 Gallery quick fixes: keep changes scoped to the public Gallery page. */
/* Collage media must show the complete source image/video inside its assigned frame.
   The collage grid itself remains fully occupied; any aspect-ratio remainder uses the
   existing dark frame rather than a white gap. Slider/Carousel rules are untouched. */
.jm-gallery-page-container .jm-designed-collage[data-exact-layout] figure img,
.jm-gallery-page-container .jm-designed-collage[data-exact-layout] figure video{
  object-fit:contain!important;
  object-position:center center!important;
  background:#061b3a!important;
}

/* On medium and large desktop screens, do not let a collage stretch to the site's
   full 1440px content width. The framed composition keeps its geometry and simply
   scales inside a more comfortable centred canvas with real side margins. */
@media(min-width:901px){
  .jm-gallery-page-container{
    width:min(1120px,calc(100% - clamp(48px,8vw,140px)))!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
}

/* A short gallery must not inherit the generic 70vh page minimum or the large
   global footer separation. These rules affect the Gallery route only. */
.jm-main-gallery{min-height:0!important}
.jm-main-gallery .jm-gallery-page-section{padding-bottom:16px!important}
.jm-main-gallery + .jm-footer{margin-top:18px!important}


/* 2026-09-10 Gallery collage frame styling: visual-only; exact layout geometry unchanged. */
.jm-gallery-page-container .jm-designed-collage[data-exact-layout]{
  position:relative!important;
  box-sizing:border-box!important;
  background:#071c3d!important;
  border:2px solid #071c3d!important;
  border-radius:clamp(14px,2vw,26px)!important;
  padding:0!important;
  gap:2px!important;
}
.jm-gallery-page-container .jm-designed-collage[data-exact-layout]::after{
  content:none!important;
}
.jm-gallery-page-container .jm-designed-collage[data-exact-layout] figure{
  box-sizing:border-box!important;
  background:#fff!important;
  border:0!important;
}
.jm-gallery-page-container .jm-designed-collage[data-exact-layout] figure img,
.jm-gallery-page-container .jm-designed-collage[data-exact-layout] figure video{
  background:#fff!important;
  object-fit:contain!important;
  object-position:center center!important;
}

/* 2026-09-10 Installable JoyMore web app prompt. UI-only; storefront layout logic unchanged. */
.jm-pwa-install[hidden],.jm-drawer-install[hidden]{display:none!important}
.jm-pwa-install{
  position:fixed;
  right:clamp(14px,2vw,28px);
  bottom:clamp(14px,2vw,28px);
  z-index:1200;
  width:min(560px,calc(100vw - 28px));
  display:grid;
  grid-template-columns:56px minmax(0,1fr) auto;
  align-items:center;
  gap:13px;
  padding:13px;
  border:1px solid #cfe0f4;
  border-radius:20px;
  background:#fff;
  box-shadow:0 20px 60px rgba(7,28,61,.22)
}
.jm-pwa-install>img{width:56px;height:56px;border-radius:14px;object-fit:contain;background:#fff;border:1px solid #e1eaf4}
.jm-pwa-install-copy{display:grid;gap:3px;min-width:0}
.jm-pwa-install-copy strong{font-size:.98rem;color:#071c3d}
.jm-pwa-install-copy span{font-size:.78rem;line-height:1.4;color:#607086}
.jm-pwa-install-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap;justify-content:flex-end}
.jm-pwa-install-actions .jm-btn{min-height:40px;padding:0 14px;border-radius:12px}
.jm-pwa-install-dismiss{min-height:40px;border:0;background:transparent;color:#5f6f83;font-weight:800;cursor:pointer;padding:0 8px}
.jm-drawer-install{width:100%;display:flex;align-items:center;gap:10px;padding:11px 12px;border:0;border-radius:12px;background:#eaf4ff;color:#075fbf;font:inherit;font-weight:800;text-align:left;cursor:pointer}
.jm-drawer-install:hover{background:#dcecff}
@media(max-width:700px){
  .jm-pwa-install{
    left:10px;
    right:10px;
    bottom:calc(82px + env(safe-area-inset-bottom,0px));
    width:auto;
    grid-template-columns:46px minmax(0,1fr);
    padding:11px;
    gap:10px;
    border-radius:18px
  }
  .jm-pwa-install>img{width:46px;height:46px;border-radius:12px}
  .jm-pwa-install-actions{grid-column:1/-1;justify-content:stretch}
  .jm-pwa-install-actions .jm-btn{flex:1}
  .jm-pwa-install-dismiss{flex:0 0 auto}
}
@media(display-mode:standalone){
  .jm-pwa-install,.jm-drawer-install{display:none!important}
}


/* Persistent PWA install entry points in the mobile drawer and footer. */
.jm-footer-install{
  display:block;
  width:max-content;
  max-width:100%;
  padding:0;
  margin:7px 0 0;
  border:0;
  background:transparent;
  color:#c9d9ed;
  font:inherit;
  font-size:.9rem;
  text-align:left;
  cursor:pointer;
}
.jm-footer-install:hover{color:#fff;text-decoration:underline}
@media(display-mode:standalone){
  .jm-footer-install{display:none!important}
}
