/*
 * The original storefront template's stylesheet, carried over by
 * a script rather than retyped, so the theme draws its catalogue,
 * category pages, slider and product cards exactly as the template does.
 *
 * Scoped under .jk-tpl; colours follow the Customizer (--jk-*); demo images
 * are replaced by --jk-art, which the theme sets to the real picture.
 */
.jk-tpl .tpl :is(h1,h2,h3){font-family:var(--jk-body);font-weight:700;line-height:1.15;text-transform:none;letter-spacing:normal;margin-top:0}
.jk-tpl .tpl h1{font-size:clamp(30px,3.2vw,43px);letter-spacing:-1.2px;margin-bottom:7px}
.jk-tpl .tpl h2{font-size:26px;letter-spacing:-.3px;margin-bottom:13px}
.jk-tpl .tpl a{color:inherit;text-decoration:none}
.jk-tpl .tpl p{margin-top:0}

.jk-tpl .tpl button {font:inherit}
.jk-tpl .tpl button {touch-action:manipulation}
.jk-tpl .tpl button {color:inherit;cursor:pointer}
.jk-tpl .tpl button {background:none;border:0}
.jk-tpl summary:focus-visible {outline:2px solid var(--jk-accent);outline-offset:4px}
.jk-tpl .tpl svg {width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:1.35;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
.jk-tpl [hidden] {display:none!important}
.jk-tpl .container {width:min(1220px,calc(100% - 80px));margin:auto;position:relative}
.jk-tpl .brand {display:flex;align-items:center;gap:12px;flex-shrink:0}
.jk-tpl .brand strong {font-family:var(--jk-display);font-stretch:condensed;font-size:26px;letter-spacing:-.5px;line-height:1.1}
.jk-tpl .brand small {display:block;font-size:9px;letter-spacing:2px;margin-top:6px}
.jk-tpl .icon-button {position:relative;padding:6px;display:grid;place-items:center}
.jk-tpl #cart-count {position:absolute;top:-3px;right:0;border-radius:50%;background:var(--jk-accent);font-size:10px;min-width:17px;padding:1px 4px;color: var(--jk-on-accent);}
.jk-tpl .breadcrumbs {display:flex;flex-wrap:wrap;gap:18px;color:var(--jk-muted);font-size:14px;margin:24px 0 20px}
.jk-tpl .breadcrumbs>span:last-child {color:var(--jk-text)}
.jk-tpl section.product {display:grid;grid-template-columns:1.15fr 1fr;gap:42px}
.jk-tpl .hero-image {width:100%;padding:0;display:block;position:relative;aspect-ratio:1.07;border:1px solid #404040;border-radius:5px;overflow:hidden;background:#080808}
.jk-tpl .hero-image>img {width:100%;height:100%;object-fit:cover;display:block}
.jk-tpl .expand {position:absolute;top:16px;right:16px;background:#0008;padding:0 8px;border-radius:4px;font-size:27px}
.jk-tpl .thumbnails {display:grid;grid-template-columns:repeat(5,1fr);gap:13px;margin-top:15px}
.jk-tpl .thumb {border:1px solid var(--jk-line);border-radius:4px;padding:0;overflow:hidden;aspect-ratio:1;background:#0a0a0a}
.jk-tpl .thumb.selected {border-color:var(--jk-accent-line);box-shadow:0 0 0 2px rgb(48 48 48 / 0.3)}
.jk-tpl .thumb img {width:100%;height:100%;object-fit:cover}
.jk-tpl .cap {background-position:16.52% 41.84%}
.jk-tpl .front {background-position:27.7% 41.84%}
.jk-tpl .dimensions {background-position:39.2% 41.84%}
.jk-tpl .label {background-position:50.7% 41.84%}
.jk-tpl .eyebrow {font-size:14px;letter-spacing:4px;color:#9b9b9b;margin:10px 0 3px}
.jk-tpl .subtitle {color:#c6c6c6;margin-bottom:14px;font-size:18px}
.jk-tpl .pills {display:flex;gap:9px;margin-bottom:23px}
.jk-tpl .pills span {border:1px solid #363636;background:linear-gradient(#222222,#121212);border-radius:30px;font-size:13px;padding:4px 14px}
.jk-tpl .intro {color:#d0d0d0;font-size:15px;line-height:1.65;margin-bottom:24px}
.jk-tpl .benefits {list-style:none;margin:0;padding:0;display:grid;gap:18px}
.jk-tpl .benefits li {display:flex;align-items:center;gap:25px}
.jk-tpl .benefits svg {width:38px;height:38px;margin:0 7px}
.jk-tpl .benefits strong {font-size:15px;display:block;font-weight:600}
.jk-tpl .benefits span {display:block;font-size:14px;color:var(--jk-muted)}
.jk-tpl .purchase {border-top:1px solid var(--jk-line);margin-top:25px;padding-top:13px}
.jk-tpl .price-row {display:flex;align-items:center;justify-content:space-between;margin-bottom:13px}
.jk-tpl .price {font-size:30px;letter-spacing:-.8px}
.jk-tpl .stock {color:#8abe99;font-size:13px}
.jk-tpl .buy-row {display:flex;gap:16px}
.jk-tpl .quantity {display:flex;border:1px solid #525252;border-radius:4px;width:116px;flex-shrink:0}
.jk-tpl .quantity button {width:34px}
.jk-tpl .quantity input {appearance:textfield;width:45px;border:0;background:none;text-align:center;color:var(--jk-text);font-size:14px}
.jk-tpl .quantity input::-webkit-inner-spin-button {appearance:none}
.jk-tpl .primary {display:flex;justify-content:center;align-items:center;gap:16px;background:linear-gradient(100deg,var(--jk-accent),color-mix(in srgb,var(--jk-accent) 72%,#000));padding:13px 20px;border:1px solid color-mix(in srgb,var(--jk-accent) 82%,#fff);border-radius:3px;letter-spacing:1.8px;font-size:12px;font-weight:600;min-height:48px;flex:1;color: var(--jk-on-accent);}
.jk-tpl .primary:hover {filter:brightness(1.15)}
.jk-tpl .primary:active {transform:translateY(1px)}
.jk-tpl .trust {display:flex;justify-content:space-between;gap:15px;margin-top:19px}
.jk-tpl .trust>span {display:flex;align-items:center;gap:12px;font-size:12px;line-height:1.4;color:#cccccc}
.jk-tpl .trust b {font-size:34px;font-weight:400;line-height:1}
.jk-tpl .details {margin-top:38px;border-top:1px solid var(--jk-line)}
.jk-tpl .tabs {display:flex;gap:38px;border-bottom:1px solid var(--jk-line);overflow:auto}
.jk-tpl .tabs button {font-size:12px;letter-spacing:1.5px;padding:20px 18px;white-space:nowrap;border-bottom:2px solid transparent}
.jk-tpl .tabs button[aria-selected=true] {border-color:var(--jk-accent);font-weight:bold}
.jk-tpl .detail-grid {display:grid;grid-template-columns:1.35fr 1fr;gap:70px;padding:27px 0 30px}
.jk-tpl .detail-grid p {font-size:15px;color:#cacaca;line-height:1.6;margin-bottom:14px}
.jk-tpl .research-points {display:flex;justify-content:space-between;gap:24px;margin-top:30px;color:#c4c4c4;font-size:14px;text-align:center}
.jk-tpl .research-points svg {display:block;margin:0 auto 12px;width:34px;height:34px}
.jk-tpl .spec-card {border:1px solid var(--jk-line);border-radius:4px;padding:8px 17px;align-self:start}
.jk-tpl table {width:100%;border-collapse:collapse;font-size:13px}
.jk-tpl caption {position:absolute;clip-path:inset(50%);width:1px;height:1px;overflow:hidden}
.jk-tpl th,
.jk-tpl td {text-align:left;padding:5px 0;border-bottom:1px solid #232323;font-weight:400;vertical-align:top}
.jk-tpl th {color:#bababa;width:45%;padding-right:15px}
.jk-tpl tr:last-child>* {border:0}
.jk-tpl details {border-bottom:1px solid var(--jk-line);padding:12px 0}
.jk-tpl summary {cursor:pointer}
.jk-tpl .related {border-top:1px solid var(--jk-line);padding:24px 0 30px}
.jk-tpl .section-heading {display:flex;justify-content:space-between;align-items:center;margin-bottom:13px}
.jk-tpl .section-heading h2 {font-size:20px;margin:0}
.jk-tpl .section-heading>span {font-size:10px;letter-spacing:2px;color:#8c8c8c}
.jk-tpl .product-cards {display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.jk-tpl .product-card {border:1px solid var(--jk-line);border-radius:3px;overflow:hidden;background:#0a0a0a;transition:border-color .2s,transform .2s}
.jk-tpl .product-card:hover {border-color:var(--jk-accent-line);transform:translateY(-3px)}
.jk-tpl .card-body {padding:10px 14px 14px;display:flex;justify-content:space-between;gap:5px;align-items:end}
.jk-tpl .card-body h3 {font-size:15px;line-height:1.2;margin:0 0 2px}
.jk-tpl .card-body p {font-size:13px;color:var(--jk-muted);margin:0 0 9px}
.jk-tpl .card-body strong {font-size:15px}
.jk-tpl .card-add {background:var(--jk-accent);width:40px;height:40px;display:grid;place-items:center;border-radius:2px;flex-shrink:0;color: var(--jk-on-accent);}
.jk-tpl .footer-grid {display:grid;grid-template-columns:1.35fr .8fr .8fr 1.1fr;gap:30px;padding-top:32px;padding-bottom:27px}
.jk-tpl .footer-grid h3 {font-size:11px;letter-spacing:2px;font-weight:400;margin-bottom:13px}
.jk-tpl .footer-grid>div>a:not(.brand),
.jk-tpl .footer-grid>div>span,
.jk-tpl .text-button {display:block;font-size:13px;color:#b8b8b8;line-height:1.8}
.jk-tpl .text-button {padding:0}
.jk-tpl .footer-description {font-size:12px;color:var(--jk-muted);margin-top:14px}
.jk-tpl #newsletter {display:flex;border:1px solid #404040;border-radius:3px;height:42px}
.jk-tpl #newsletter input {min-width:0;width:100%;border:0;background:transparent;padding:10px;font-size:13px;color:white}
.jk-tpl #newsletter button {width:43px;border-left:1px solid #404040;font-size:22px}
.jk-tpl #newsletter-status {font-size:12px;color:#949494;margin-top:9px}
.jk-tpl .footer-bottom {border-top:1px solid var(--jk-line);display:flex;justify-content:space-between;padding-top:19px;padding-bottom:20px;color:#9b9b9b;font-size:11px}
.jk-tpl .footer-bottom>span:last-child {font-size:9px;letter-spacing:2.7px}
.jk-tpl .close {font-size:32px;line-height:1;padding:4px 8px}
.jk-tpl #lightbox {padding:0;width:min(820px,calc(100% - 32px));overflow:hidden}
.jk-tpl #lightbox .close {position:absolute;right:12px;top:12px;z-index:2;background:#0009;border-radius:4px}
.jk-tpl #lightbox-content {aspect-ratio:1}
.jk-tpl #lightbox img {width:100%;height:100%;object-fit:contain}
.jk-tpl #lightbox .expand {display:none}
.jk-tpl .cart-item {display:grid;grid-template-columns:1fr auto;gap:12px;padding:18px 0;border-bottom:1px solid var(--jk-line)}
.jk-tpl .cart-item small {display:block;color:var(--jk-muted)}
.jk-tpl .cart-item button {color:var(--jk-accent-ink);font-size:13px;padding:0;margin-top:5px}
.jk-tpl .cart-total {display:flex;justify-content:space-between;margin:22px 0;font-size:20px}
.jk-tpl #continue-shopping {width:100%;margin-top:20px}

@media(min-width:1500px) {
.jk-tpl .container {width:1220px}
}

@media(max-width:1100px) {
.jk-tpl .container {width:calc(100% - 48px)}
.jk-tpl section.product {gap:30px;grid-template-columns:1.08fr 1fr}
.jk-tpl .benefits {gap:13px}
.jk-tpl .intro {margin-bottom:18px}
.jk-tpl .detail-grid {gap:35px}
.jk-tpl .tabs {gap:20px}
.jk-tpl .brand strong {font-size:23px}
.jk-tpl .footer-grid {grid-template-columns:1fr 1fr}
.jk-tpl .hero-image {aspect-ratio:.93}
}

@media(max-width:760px) {
.jk-tpl .container {width:calc(100% - 32px)}
.jk-tpl .brand strong {font-size:22px}
.jk-tpl .brand small {font-size:8px;letter-spacing:1.4px}
.jk-tpl .breadcrumbs {font-size:12px;gap:10px;margin:18px 0}
.jk-tpl section.product {grid-template-columns:1fr;gap:25px}
.jk-tpl .hero-image {aspect-ratio:1.07}
.jk-tpl .thumbnails {gap:10px;margin-top:10px}
.jk-tpl .eyebrow {margin-top:0}
.jk-tpl .intro {font-size:16px}
.jk-tpl .benefits {grid-template-columns:1fr 1fr;gap:20px 14px}
.jk-tpl .benefits li {gap:10px;align-items:flex-start}
.jk-tpl .benefits svg {width:29px;height:29px;margin:3px 0}
.jk-tpl .benefits strong {font-size:13px}
.jk-tpl .benefits span {font-size:12px}
.jk-tpl .tabs {gap:5px}
.jk-tpl .tabs button {padding:17px 13px}
.jk-tpl .detail-grid {grid-template-columns:1fr;gap:26px}
.jk-tpl .details {margin-top:27px}
.jk-tpl .research-points {margin-top:23px}
.jk-tpl .product-cards {grid-template-columns:1fr 1fr;gap:12px}
.jk-tpl .section-heading>span {display:none}
.jk-tpl .section-heading h2 {font-size:19px}
.jk-tpl .footer-grid {gap:25px}
.jk-tpl .footer-grid>div:first-child,
.jk-tpl .footer-grid>div:last-child {grid-column:1/-1}
.jk-tpl .footer-bottom {display:block;line-height:1.8}
.jk-tpl .footer-bottom>span {display:block}
.jk-tpl .buy-row {gap:10px}
.jk-tpl .primary {padding:13px 10px;font-size:11px;letter-spacing:1px;gap:9px}
}

.jk-tpl a.primary {text-decoration: none; color: var(--jk-on-accent);}
.jk-tpl .secondary {display: inline-flex; justify-content: center; align-items: center; padding: 13px 20px; border: 1px solid #525252; border-radius: 3px; font-size: 12px; letter-spacing: 1px; min-height: 48px;}
.jk-tpl .secondary:hover {background: #232323; border-color: var(--jk-accent-line);}
.jk-tpl .full-width {width: 100%; margin-top: 12px;}
.jk-tpl .underlined-link {display: inline-flex; align-items: center; gap: 24px; border-bottom: 1px solid #767676; padding-bottom: 6px; font-size: 14px;}
.jk-tpl .underlined-link span {font-size: 22px;}
.jk-tpl .eyebrow {font-size: 12px; letter-spacing: 3px;}
.jk-tpl .empty-state {text-align: center; padding: 75px 25px; border: 1px solid var(--jk-line); background: #101010;}
.jk-tpl .empty-state > svg {width: 40px; height: 40px; color: var(--jk-accent-line); margin-bottom: 15px;}
.jk-tpl .empty-state h3 {font-size: 24px; margin-bottom: 10px;}
.jk-tpl .empty-state p {color: var(--jk-muted); max-width: 500px; margin: 0 auto 25px;}
.jk-tpl .empty-state .primary,
.jk-tpl .empty-state .secondary {display: inline-flex;}
.jk-tpl .muted {color: var(--jk-muted);}
.jk-tpl .text-button:hover {color: var(--jk-accent-ink);}
.jk-tpl .home-hero {min-height: 660px; height: calc(100svh - 88px); max-height: 1100px; position: relative; overflow: hidden; border-bottom: 1px solid var(--jk-line);}
.jk-tpl .hero-slide {position: absolute; inset: 0; overflow: hidden;}
.jk-tpl .hero-art {position: absolute; inset: 0 0 0 24%; background: var(--jk-art,none) center 52% / cover no-repeat;}
.jk-tpl .hero-slide::after {content: ''; position: absolute; inset: 0; background: linear-gradient(90deg,#0a0a0a 0%,rgb(10 10 10 / 0.93) 22%,rgb(10 10 10 / 0.4) 49%,transparent 73%),linear-gradient(0deg,#0a0a0a 0%,transparent 24%); pointer-events: none;}
.jk-tpl .hero-content {z-index: 2; height: 100%; display: flex; flex-direction: column; align-items: flex-start; justify-content: center; padding-bottom: 75px;}
.jk-tpl .hero-content .eyebrow {color: var(--jk-accent-line); margin-bottom: 23px;}
.jk-tpl .hero-content h1 {font-family:var(--jk-display); font-size: clamp(56px,6.9vw,103px); line-height: .99; letter-spacing: -.4px; font-weight: 900; margin-bottom: 28px;}
.jk-tpl .hero-content h1 span {color: var(--jk-accent);}
.jk-tpl .hero-content > p:not(.eyebrow) {color: #c9c9c9; font-size: 18px; line-height: 1.6; margin-bottom: 28px;}
.jk-tpl .hero-ctas {display: flex; align-items: center; gap: 28px; flex-wrap: wrap;}
.jk-tpl .hero-ctas .primary {flex: none; padding: 16px 23px;}
.jk-tpl .hero-text-link {font-size: 13px; color: #d0d0d0;}
.jk-tpl .hero-caption {position: absolute; right: 4%; top: 46%; z-index: 2; font-size: 11px; letter-spacing: 3px; text-align: right;}
.jk-tpl .hero-caption strong {display: block; font-size: 26px; letter-spacing: 2px; margin: 7px 0 40px;}
.jk-tpl .hero-caption span {writing-mode: vertical-rl; font-size: 9px; letter-spacing: 4px;}
.jk-tpl .slide-two .hero-art {background-position: center 38%; filter: saturate(.65); transform: scale(1.1);}
.jk-tpl .slide-three .hero-art {background-position: 65% center; opacity: .65;}
.jk-tpl .slider-bottom {position: absolute; z-index: 3; left: 50%; transform: translateX(-50%); bottom: 30px; display: flex; align-items: center; gap: 26px;}
.jk-tpl .slider-index {display: flex; align-items: baseline; gap: 10px;}
.jk-tpl .slider-index strong {font-size: 26px; font-weight: 400;}
.jk-tpl .slider-index span {color: #8d8d8d; font-size: 12px;}
.jk-tpl .slider-dots {display: flex; gap: 9px;}
.jk-tpl .slider-dots button {width: 44px; height: 30px; position: relative;}
.jk-tpl .slider-dots button::before {content: ''; position: absolute; height: 2px; top: 14px; left: 0; right: 0; background: #4f4f4f;}
.jk-tpl .slider-dots [aria-pressed=true]::before {background: var(--jk-accent);color: var(--jk-on-accent);}
.jk-tpl .slider-buttons {margin-left: auto; display: flex; gap: 8px;}
.jk-tpl .slider-buttons button {border: 1px solid #4f4f4f; background: rgb(12 12 12 / 0.5); width: 44px; height: 44px; font-size: 20px;}
.jk-tpl .slider-buttons button:hover {background: #303030;}
.jk-tpl .home-bestsellers {padding-top: 72px; padding-bottom: 75px;}
.jk-tpl .large-heading {margin-bottom: 27px; align-items: flex-end;}
.jk-tpl .large-heading h2 {font-family:var(--jk-display); font-size: 36px; letter-spacing: .5px;}
.jk-tpl .large-heading .eyebrow {margin: 0 0 9px; color: #a0a0a0;}
.jk-tpl .quality-section {border-top: 1px solid var(--jk-line); border-bottom: 1px solid var(--jk-line); background: linear-gradient(100deg,#161616,#0c0c0c);}
.jk-tpl .quality-inner {padding-top: 53px; padding-bottom: 53px; display: grid; grid-template-columns: 1fr 1fr; gap: 75px; align-items: center;}
.jk-tpl .quality-inner h2 {font-size: clamp(29px,3.7vw,49px); line-height: 1.13; margin: 12px 0 0; letter-spacing: -1px;}
.jk-tpl .quality-inner h2 span {color: var(--jk-accent-line);}
.jk-tpl .quality-inner p {color: #c0c0c0; margin-bottom: 22px;}
.jk-tpl .quality-inner small {display: block; color: #959595; font-size: 12px; margin-top: 22px;}
.jk-tpl .subscribe-section {margin-top: 76px; margin-bottom: 76px; overflow: hidden; border: 1px solid #383838; min-height: 430px; display: flex; align-items: center; background: #1c1c1c;}
.jk-tpl .subscribe-art {position: absolute; inset: 0; background: linear-gradient(90deg,#1a1a1a 10%,rgb(26 26 26 / 0.93) 45%,rgb(26 26 26 / 0.19) 100%),var(--jk-art,none) right 30% / 650px auto no-repeat; opacity: .9;}
.jk-tpl .subscribe-content {position: relative; padding: 50px; max-width: 730px;}
.jk-tpl .subscribe-content .eyebrow {color: var(--jk-accent-ink); margin-bottom: 14px;}
.jk-tpl .subscribe-content h2 {font-size: clamp(28px,3.2vw,42px); letter-spacing: -.7px; line-height: 1.12; margin-bottom: 18px;}
.jk-tpl .subscribe-content > p {color: #c1c1c1;}
.jk-tpl .email-row {display: flex; border: 1px solid var(--jk-accent-line); background: rgb(16 16 16 / 0.9); border-radius: 3px; min-height: 48px; overflow: hidden;}
.jk-tpl .email-row input {border: 0; background: transparent; min-width: 0; flex: 1; color: #fff; padding: 12px 15px; font-size: 14px;}
.jk-tpl .email-row button {padding: 10px 15px;}
.jk-tpl .email-row .primary {flex: none; border-radius: 0; border-width: 0;}
.jk-tpl .consent {display: flex; align-items: flex-start; gap: 10px; color: #bababa; font-size: 12px; margin-top: 16px; line-height: 1.7;}
.jk-tpl .consent input {flex-shrink: 0; margin-top: 3px; width: 16px; height: 16px; accent-color: var(--jk-accent);}
.jk-tpl .form-status {font-size: 12px; color: #a6a6a6; margin: 10px 0 0;}
.jk-tpl .category-hero {position: relative; min-height: 325px; overflow: hidden; border-bottom: 1px solid var(--jk-line);}
.jk-tpl .category-hero-art {position: absolute; inset: 0; background: linear-gradient(90deg,#080808 12%,rgb(8 8 8 / 0.93) 38%,rgb(8 8 8 / 0.13) 67%,rgb(8 8 8 / 0.25)),var(--jk-art,none) 83% 43% / 520px auto no-repeat;}
.jk-tpl .category-hero > .container {padding-top: 27px; padding-bottom: 28px;}
.jk-tpl .category-hero .eyebrow {color: #828282; margin: 0 0 4px;}
.jk-tpl .category-hero h1 {font-family:var(--jk-display); font-size: 43px; letter-spacing: .5px; line-height: 1.1; margin-bottom: 15px;}
.jk-tpl .category-hero p:not(.eyebrow) {color: #cccccc; line-height: 1.4; margin-bottom: 25px;}
.jk-tpl .hero-promises {display: flex; gap: 27px;}
.jk-tpl .hero-promises span {display: flex; align-items: center; gap: 13px; font-size: 12px; line-height: 1.4;}
.jk-tpl .hero-promises svg {width: 28px; height: 28px;}
.jk-tpl .category-strip {border-bottom: 1px solid var(--jk-line); background: #0e0e0e;}
.jk-tpl .category-nav {display: grid; grid-template-columns: repeat(8,1fr); gap: 5px; padding-top: 12px; padding-bottom: 12px;}
.jk-tpl .category-nav button,
.jk-tpl .category-nav a {display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 13px; min-height: 106px; border: 1px solid transparent; padding: 10px 8px; position: relative;}
.jk-tpl .category-nav button::after,
.jk-tpl .category-nav a::after {content: ''; position: absolute; top: 10px; bottom: 10px; right: -3px; width: 1px; background: #262626;}
.jk-tpl .category-nav button:last-child::after,
.jk-tpl .category-nav a:last-child::after {display: none;}
.jk-tpl .category-nav button[aria-pressed=true],
.jk-tpl .category-nav a[aria-current=page] {border-color: var(--jk-accent-line); background: linear-gradient(130deg,#303030,#1c1c1c); box-shadow: inset 0 0 20px rgb(69 69 69 / 0.2); border-radius: 3px;}
.jk-tpl .category-nav button:hover,
.jk-tpl .category-nav a:hover {background-color: #1c1c1c;}
.jk-tpl .category-nav svg {width: 31px; height: 31px; color: #c8c8c8;}
.jk-tpl .category-nav span {text-transform: uppercase; font-size: 10px; letter-spacing: 1px; line-height: 1.5;}
.jk-tpl .catalog-section {padding-top: 26px; padding-bottom: 50px;}
.jk-tpl .catalog-toolbar {display: flex; align-items: center; justify-content: space-between; gap: 22px;}
.jk-tpl .catalog-toolbar h2 {font-size: 25px; text-transform: uppercase; margin-bottom: 2px;}
.jk-tpl .catalog-toolbar p {color: var(--jk-muted); font-size: 14px; margin-bottom: 0;}
.jk-tpl .sort-control {display: flex; align-items: center; gap: 16px; font-size: 13px;}
.jk-tpl .sort-control select {color: #eeeeee; background: #0e0e0e; border: 1px solid #454545; padding: 10px 34px 10px 12px; border-radius: 3px; font: inherit; min-width: 185px;}
.jk-tpl .catalog-filter {display: flex; gap: 20px; align-items: center; margin: 21px 0;}
.jk-tpl .catalog-search {border: 1px solid #3c3c3c; display: flex; align-items: center; gap: 10px; padding: 0 12px; border-radius: 3px;}
.jk-tpl .catalog-search svg {width: 18px; height: 18px; color: #a3a3a3;}
.jk-tpl .catalog-search input {border: 0; background: transparent; color: white; padding: 8px 0; font-size: 13px; min-width: 0; width: 210px;}
.jk-tpl #result-count {font-size: 12px; color: #9e9e9e;}
.jk-tpl #clear-filters {margin-left: auto; font-size: 12px; color: var(--jk-accent-line);}
.jk-tpl .catalog-grid {display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 18px;}
.jk-tpl .catalog-card {min-width: 0; background: linear-gradient(135deg,#101010,#0b0b0b); border: 1px solid #363636; border-radius: 3px; overflow: hidden; transition: transform .2s,border-color .2s;}
.jk-tpl .catalog-card:hover {border-color: var(--jk-accent-line); transform: translateY(-3px);}
.jk-tpl .catalog-photo {position: relative; display: block; aspect-ratio: 218/123; overflow: hidden; background: #0a0a0a;}
.jk-tpl .catalog-image {display: block; width: 100%; height: 100%; object-fit: cover; object-position: center 38%;}
.jk-tpl .product-image-1 {background-position: 35.61% 34.25%;}
.jk-tpl .product-image-2 {background-position: 64.39% 34.25%;}
.jk-tpl .product-image-3 {background-position: 93.18% 34.25%;}
.jk-tpl .product-image-4 {background-position: 6.82% 52.37%;}
.jk-tpl .product-image-5 {background-position: 35.61% 52.37%;}
.jk-tpl .product-image-6 {background-position: 64.39% 52.37%;}
.jk-tpl .product-image-7 {background-position: 93.18% 52.37%;}
.jk-tpl .product-image-8 {background-position: 6.82% 70.49%;}
.jk-tpl .product-image-9 {background-position: 35.61% 70.49%;}
.jk-tpl .product-image-10 {background-position: 64.39% 70.49%;}
.jk-tpl .product-image-11 {background-position: 93.18% 70.49%;}
.jk-tpl .product-badge {position: absolute; top: 11px; left: 11px; background: rgb(24 24 24 / 0.85); border: 1px solid var(--jk-accent-line); padding: 3px 6px; font-size: 9px; letter-spacing: 1px; color: var(--jk-accent-ink);}
.jk-tpl .catalog-body {padding: 13px;}
.jk-tpl .product-name {display: block; font-size: 17px; font-weight: 600; line-height: 1.25; margin-bottom: 2px;}
.jk-tpl .dose {display: block; color: #bcbcbc; font-size: 13px;}
.jk-tpl .catalog-body p {font-size: 13px; line-height: 1.4; color: #c0c0c0; min-height: 36px; margin: 6px 0 7px;}
.jk-tpl .catalog-price {font-size: 17px; font-weight: 600; margin-bottom: 10px;}
.jk-tpl .catalog-body .primary {width: 100%; min-height: 39px; font-size: 10px; letter-spacing: .8px; padding: 8px 5px; gap: 8px;}
.jk-tpl .catalog-body .primary svg {width: 20px; height: 20px;}
.jk-tpl .service-strip {border-top: 1px solid var(--jk-line); background: #0e0e0e;}
.jk-tpl .service-strip > .container {display: grid; grid-template-columns: repeat(4,1fr); padding-top: 28px; padding-bottom: 28px;}
.jk-tpl .service-strip > .container > div {display: flex; align-items: center; gap: 20px; padding-left: 25px; border-right: 1px solid #343434;}
.jk-tpl .service-strip > .container > div:first-child {padding-left: 0;}
.jk-tpl .service-strip > .container > div:last-child {border: 0;}
.jk-tpl .service-strip svg {width: 41px; height: 41px; color: #d2d2d2;}
.jk-tpl .service-strip strong {display: block; font-size: 10px; letter-spacing: 1.5px; font-weight: 400;}
.jk-tpl .service-strip small {display: block; font-size: 11px; color: #adadad; margin-top: 5px;}
.jk-tpl .footer-newsletter .email-row {min-height: 41px;}
.jk-tpl .footer-newsletter .email-row input {padding: 8px 10px; font-size: 12px;}
.jk-tpl .footer-newsletter .email-row button {border-left: 1px solid #464646; font-size: 20px; padding: 3px 11px;}
.jk-tpl .empty-cart {padding: 30px 0; line-height: 2; color: #c3c3c3;}
.jk-tpl .empty-cart a {color: var(--jk-accent-ink);}
.jk-tpl #checkout-link {width: 100%;}
.jk-tpl.single-product .hero-image {display: flex; align-items: center; justify-content: center;}
.jk-tpl.single-product .related {padding-bottom: 40px;}
.jk-tpl.single-product .catalog-body p {min-height: 36px;}
.jk-tpl .checkout-main {padding-bottom: 75px; min-height: 70vh;}
.jk-tpl .checkout-heading {display: flex; align-items: center; justify-content: space-between; padding-top: 17px; gap: 25px;}
.jk-tpl .checkout-heading h1 {font-size: 38px; margin: 8px 0 0;}
.jk-tpl .secure-label {color: #aeaeae; display: flex; align-items: center; gap: 9px; font-size: 13px;}
.jk-tpl .secure-label svg {width: 21px; height: 21px;}
.jk-tpl .checkout-steps {border-top: 1px solid var(--jk-line); border-bottom: 1px solid var(--jk-line); margin: 30px 0;}
.jk-tpl .checkout-steps ol {list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4,1fr);}
.jk-tpl .checkout-steps button {width: 100%; display: flex; align-items: center; gap: 12px; padding: 19px 8px; font-size: 13px; border-bottom: 2px solid transparent; color: #9f9f9f;}
.jk-tpl .checkout-steps button span {font-size: 12px; border: 1px solid #545454; width: 31px; height: 31px; display: grid; place-items: center; border-radius: 50%;}
.jk-tpl .checkout-steps button[aria-current=step] {color: var(--jk-accent-ink); border-color: var(--jk-accent);}
.jk-tpl .checkout-steps button[aria-current=step] span {background: var(--jk-accent); border-color: var(--jk-accent);color: var(--jk-on-accent);}
.jk-tpl .checkout-steps button.is-complete span {border-color: var(--jk-accent-line); color: var(--jk-accent);}
.jk-tpl .checkout-layout {display: grid; grid-template-columns: minmax(0,1.75fr) minmax(280px,1fr); gap: 35px; align-items: start;}
.jk-tpl .checkout-panel {background: #101010; border: 1px solid var(--jk-line); padding: 28px; border-radius: 4px;}
.jk-tpl .panel-title {display: flex; gap: 14px; align-items: center; margin-bottom: 24px;}
.jk-tpl .panel-title > span {font-size: 12px; color: var(--jk-accent-line); border-right: 1px solid #4a4a4a; padding-right: 15px;}
.jk-tpl .panel-title h2 {margin: 0; font-size: 25px;}
.jk-tpl .panel-note {font-size: 13px; color: #b1b1b1; margin-bottom: 24px;}
.jk-tpl .panel-note svg {display: inline-block; vertical-align: middle; width: 18px; height: 18px; margin-right: 6px;}
.jk-tpl .checkout-cart-row {display: grid; grid-template-columns: 75px minmax(90px,1fr) 105px auto; gap: 13px; align-items: center; padding: 18px 0; border-bottom: 1px solid var(--jk-line);}
.jk-tpl .checkout-cart-row:first-child {padding-top: 0;}
.jk-tpl .checkout-cart-row:last-child {margin-bottom: 24px;}
.jk-tpl .checkout-cart-photo {display: block; aspect-ratio: 218/123; background: #0c0c0c; border: 1px solid #343434;}
.jk-tpl .checkout-cart-name > a {display: block; font-weight: 600; font-size: 14px;}
.jk-tpl .checkout-cart-name > span {display: block; color: #b2b2b2; font-size: 12px;}
.jk-tpl .checkout-cart-name > button {color: var(--jk-accent-line); font-size: 11px; padding: 0; margin-top: 8px;}
.jk-tpl .checkout-cart-row > strong {font-size: 14px; text-align: right; white-space: nowrap;}
.jk-tpl .checkout-cart-row .quantity {width: 105px; height: 36px;}
.jk-tpl .quantity output {width: 37px; display: grid; place-items: center; font-size: 13px;}
.jk-tpl .step-next {width: 100%; margin-top: 25px;}
.jk-tpl .order-summary {position: sticky; top: 24px; border: 1px solid #454545; padding: 26px; background: linear-gradient(145deg,#222222,#121212); border-radius: 4px;}
.jk-tpl .order-summary .eyebrow {margin: 0 0 8px;}
.jk-tpl .order-summary h2 {font-size: 23px; margin-bottom: 25px;}
.jk-tpl .summary-product {display: flex; justify-content: space-between; gap: 12px; padding: 11px 0; font-size: 13px; border-bottom: 1px solid #383838;}
.jk-tpl .summary-product strong {white-space: nowrap; font-weight: 500;}
.jk-tpl .summary-product small {display: block; color: #a8a8a8; font-size: 12px; margin-top: 3px;}
.jk-tpl #summary-items {margin-bottom: 24px;}
.jk-tpl .summary-line {display: flex; justify-content: space-between; align-items: baseline; gap: 12px; font-size: 13px; color: #c6c6c6; margin: 11px 0;}
.jk-tpl .summary-line strong {font-weight: 400; white-space: nowrap;}
.jk-tpl .summary-line > span:last-child {font-size: 12px; text-align: right;}
.jk-tpl .summary-total {display: flex; justify-content: space-between; align-items: center; gap: 14px; border-top: 1px solid var(--jk-accent-line); margin-top: 22px; padding-top: 18px;}
.jk-tpl .summary-total strong {font-size: 27px; white-space: nowrap;}
.jk-tpl .summary-note {font-size: 12px; line-height: 1.6; color: #a3a3a3; margin: 14px 0 22px;}
.jk-tpl .summary-assurance {display: flex; align-items: center; gap: 13px; border-top: 1px solid #3c3c3c; padding-top: 18px; font-size: 11px; color: #b2b2b2;}
.jk-tpl .field-grid {display: grid; grid-template-columns: 1fr 1fr; gap: 18px;}
.jk-tpl .field {display: flex; flex-direction: column; gap: 8px; font-size: 13px; color: #cdcdcd; min-width: 0;}
.jk-tpl .field.wide {grid-column: 1 / -1;}
.jk-tpl .field input,
.jk-tpl .field select {width: 100%; background: #0c0c0c; border: 1px solid #484848; color: white; font: inherit; padding: 12px 13px; min-height: 46px; border-radius: 3px;}
.jk-tpl .field input:user-invalid {border-color: #d98e8e;}
.jk-tpl .form-subheading {font-size: 18px; margin: 30px 0 20px;}
.jk-tpl .step-actions {display: flex; gap: 15px; margin-top: 28px;}
.jk-tpl .step-actions .primary {letter-spacing: .8px;}
.jk-tpl #delivery-form fieldset {border: 0; margin: 0 0 27px; padding: 0; min-width: 0;}
.jk-tpl #delivery-form legend {font-size: 16px; margin-bottom: 14px;}
.jk-tpl .choice-card {display: flex; align-items: center; gap: 13px; border: 1px solid #3c3c3c; border-radius: 3px; padding: 17px 14px; margin-bottom: 10px; cursor: pointer; background: #0e0e0e;}
.jk-tpl .choice-card:has(input:checked) {border-color: var(--jk-accent-line); background: #222222;}
.jk-tpl .choice-card input {accent-color: var(--jk-accent); width: 17px; height: 17px; margin: 0; flex-shrink: 0;}
.jk-tpl .choice-card > span {flex: 1; min-width: 0;}
.jk-tpl .choice-card strong {display: block; font-size: 14px; font-weight: 500;}
.jk-tpl .choice-card small {display: block; font-size: 12px; color: #acacac; margin-top: 4px;}
.jk-tpl .choice-card b {font-size: 14px; font-weight: 400; white-space: nowrap;}
.jk-tpl .review-block {border-bottom: 1px solid #3b3b3b; padding-bottom: 22px; margin-bottom: 22px;}
.jk-tpl .review-block h3 {font-size: 16px; margin: 0 0 10px;}
.jk-tpl .review-heading {display: flex; align-items: baseline; justify-content: space-between;}
.jk-tpl .review-heading button {color: var(--jk-accent); font-size: 12px;}
.jk-tpl #review-customer,
.jk-tpl #review-delivery {white-space: pre-line; color: #bcbcbc; font-size: 14px; line-height: 1.8; overflow-wrap: anywhere;}
.jk-tpl .checkout-consent {font-size: 13px;}
.jk-tpl .checkout-success {text-align: center; padding: 55px 20px; max-width: 720px; margin: 35px auto 0;}
.jk-tpl .success-icon {border: 1px solid var(--jk-accent-line); background: #292929; width: 80px; height: 80px; display: grid; place-items: center; border-radius: 50%; margin: 0 auto 26px;}
.jk-tpl .success-icon svg {width: 36px; height: 36px; color: var(--jk-accent-ink);}
.jk-tpl .checkout-success h2 {font-size: 34px;}
.jk-tpl .checkout-success p:not(.eyebrow) {color: #bebebe;}
.jk-tpl #success-total {font-size: 20px; margin: 23px 0;}
.jk-tpl .checkout-success .primary {display: inline-flex;}

@media (min-width: 1500px) {
.jk-tpl .hero-art {background-size: auto 110%; background-position: 70% 48%;}
}

@media (max-width: 1100px) {
.jk-tpl .hero-caption {display: none;}
.jk-tpl .hero-art {left: 15%;}
.jk-tpl .hero-content h1 {font-size: 75px;}
.jk-tpl .hero-text-link {display: none;}
.jk-tpl .category-nav span {font-size: 9px; letter-spacing: .5px;}
.jk-tpl .category-nav {width: calc(100% - 24px);}
.jk-tpl .service-strip > .container > div {gap: 12px; padding-left: 13px;}
.jk-tpl .service-strip svg {width: 30px; height: 30px;}
.jk-tpl .service-strip strong {font-size: 9px; letter-spacing: .6px;}
.jk-tpl .checkout-layout {gap: 20px; grid-template-columns: minmax(0,1.5fr) minmax(270px,1fr);}
.jk-tpl .checkout-panel {padding: 22px;}
.jk-tpl .checkout-cart-row {grid-template-columns: 55px 1fr auto;}
.jk-tpl .checkout-cart-row .quantity {grid-column: 2; grid-row: 2;}
.jk-tpl .checkout-cart-row > strong {grid-column: 3; grid-row: 1 / 3;}
.jk-tpl .order-summary {padding: 20px;}
.jk-tpl .catalog-grid {gap: 13px;}
}

@media (max-width: 880px) {
.jk-tpl .catalog-grid {grid-template-columns: repeat(3,minmax(0,1fr));}
.jk-tpl .home-bestsellers .catalog-grid {grid-template-columns: repeat(2,minmax(0,1fr));}
.jk-tpl .category-nav {display: flex; overflow-x: auto;}
.jk-tpl .category-nav button,
.jk-tpl .category-nav a {flex: 0 0 124px;}
.jk-tpl .category-nav span {font-size: 10px;}
.jk-tpl .quality-inner {gap: 35px;}
.jk-tpl .service-strip > .container {grid-template-columns: repeat(2,1fr); gap: 25px;}
.jk-tpl .service-strip > .container > div {padding-left: 0;}
.jk-tpl .service-strip > .container > div:nth-child(2) {border: 0;}
.jk-tpl .service-strip strong {font-size: 11px;}
.jk-tpl .checkout-layout {grid-template-columns: 1fr;}
.jk-tpl .order-summary {position: static;}
.jk-tpl .checkout-cart-row {grid-template-columns: 80px 1fr 105px auto;}
.jk-tpl .checkout-cart-row .quantity {grid-column: auto; grid-row: auto;}
.jk-tpl .checkout-cart-row > strong {grid-column: auto; grid-row: auto;}
}

@media (max-width: 760px) {
.jk-tpl .home-hero {min-height: 630px; height: calc(100svh - 74px); max-height: 940px;}
.jk-tpl .hero-content {padding-bottom: 72px;}
.jk-tpl .hero-content h1 {font-size: clamp(52px,10.5vw,78px); margin-bottom: 20px;}
.jk-tpl .hero-content .eyebrow {font-size: 10px; letter-spacing: 2px; margin-bottom: 17px;}
.jk-tpl .hero-content > p:not(.eyebrow) {font-size: 16px;}
.jk-tpl .hero-art {left: 0; background-position: 62% center; opacity: .8;}
.jk-tpl .hero-slide::after {background: linear-gradient(90deg,rgb(10 10 10 / 0.91),rgb(10 10 10 / 0.35)),linear-gradient(0deg,#0a0a0a,transparent 30%);}
.jk-tpl .hero-ctas .primary {font-size: 10px; padding: 15px;}
.jk-tpl .slider-bottom {bottom: 20px; gap: 15px;}
.jk-tpl .slider-buttons {gap: 5px;}
.jk-tpl .slider-buttons button {width: 35px; height: 36px; font-size: 18px;}
.jk-tpl .slider-dots {gap: 6px;}
.jk-tpl .slider-dots button {width: 25px;}
.jk-tpl .slider-index strong {font-size: 22px;}
.jk-tpl .slider-index span {font-size: 10px;}
.jk-tpl .home-bestsellers {padding-top: 42px; padding-bottom: 42px;}
.jk-tpl .large-heading h2 {font-size: 28px;}
.jk-tpl .large-heading .eyebrow {font-size: 9px; letter-spacing: 1.7px;}
.jk-tpl .large-heading .underlined-link {font-size: 12px; gap: 9px;}
.jk-tpl .quality-inner {grid-template-columns: 1fr; gap: 22px; padding-top: 35px; padding-bottom: 35px;}
.jk-tpl .quality-inner h2 {font-size: 36px;}
.jk-tpl .quality-inner p {font-size: 15px;}
.jk-tpl .subscribe-section {margin-top: 42px; margin-bottom: 42px; min-height: 430px;}
.jk-tpl .subscribe-content {padding: 29px 24px; width: 100%;}
.jk-tpl .subscribe-content h2 {font-size: 29px;}
.jk-tpl .subscribe-content > p {font-size: 14px;}
.jk-tpl .subscribe-art {background-position: right center; opacity: .7;}
.jk-tpl .landing-newsletter .email-row {flex-wrap: wrap;}
.jk-tpl .landing-newsletter .email-row input {flex-basis: 100%; min-height: 46px;}
.jk-tpl .landing-newsletter .email-row button {flex-basis: 100%;}
.jk-tpl .category-hero {min-height: 325px;}
.jk-tpl .category-hero h1 {font-size: 34px;}
.jk-tpl .category-hero p:not(.eyebrow) {font-size: 14px;}
.jk-tpl .category-hero-art {background: linear-gradient(90deg,rgb(8 8 8 / 0.94),rgb(8 8 8 / 0.38)),var(--jk-art,none) 70% center / cover;}
.jk-tpl .hero-promises {gap: 20px; flex-wrap: wrap; max-width: 360px;}
.jk-tpl .hero-promises span {font-size: 10px; gap: 8px;}
.jk-tpl .hero-promises svg {width: 23px; height: 23px;}
.jk-tpl .category-nav button,
.jk-tpl .category-nav a {flex-basis: 112px; min-height: 91px; gap: 8px;}
.jk-tpl .category-nav svg {width: 27px; height: 27px;}
.jk-tpl .catalog-toolbar {align-items: flex-start; flex-direction: column; gap: 17px;}
.jk-tpl .catalog-toolbar h2 {font-size: 23px;}
.jk-tpl .sort-control {width: 100%; justify-content: space-between;}
.jk-tpl .sort-control select {font-size: 13px;}
.jk-tpl .catalog-grid {grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px;}
.jk-tpl .catalog-filter {gap: 10px; flex-wrap: wrap;}
.jk-tpl .catalog-search {flex: 1;}
.jk-tpl .catalog-search input {width: 100%;}
.jk-tpl #result-count {font-size: 11px;}
.jk-tpl #clear-filters {margin-left: 0;}
.jk-tpl .catalog-body {padding: 10px;}
.jk-tpl .product-name {font-size: 15px;}
.jk-tpl .catalog-body p {font-size: 12px; min-height: 35px;}
.jk-tpl .catalog-price {font-size: 16px;}
.jk-tpl .catalog-body .primary {font-size: 9px; letter-spacing: 0; gap: 5px;}
.jk-tpl .catalog-body .primary svg {width: 16px; height: 16px;}
.jk-tpl .product-badge {font-size: 8px; top: 7px; left: 7px; padding: 2px 4px;}
.jk-tpl .service-strip > .container {gap: 20px 14px;}
.jk-tpl .service-strip strong {font-size: 9px;}
.jk-tpl .service-strip small {font-size: 10px;}
.jk-tpl .service-strip svg {width: 27px; height: 27px;}
.jk-tpl .service-strip > .container > div {gap: 9px;}
.jk-tpl .checkout-heading {display: block; padding-top: 5px;}
.jk-tpl .checkout-heading h1 {font-size: 30px;}
.jk-tpl .secure-label {margin-top: 17px; font-size: 12px;}
.jk-tpl .checkout-steps {margin: 23px 0;}
.jk-tpl .checkout-steps button {flex-direction: column; text-align: center; gap: 9px; font-size: 10px; padding: 12px 3px;}
.jk-tpl .checkout-steps button span {width: 29px; height: 29px; font-size: 11px;}
.jk-tpl .checkout-panel {padding: 20px 16px;}
.jk-tpl .panel-title h2 {font-size: 22px;}
.jk-tpl .checkout-cart-row {grid-template-columns: 58px 1fr auto; gap: 10px;}
.jk-tpl .checkout-cart-row .quantity {grid-column: 2; grid-row: 2;}
.jk-tpl .checkout-cart-row > strong {grid-column: 3; grid-row: 1 / 3; font-size: 13px;}
.jk-tpl .checkout-cart-name > a {font-size: 13px;}
.jk-tpl .field-grid {gap: 15px;}
.jk-tpl .step-actions {gap: 10px;}
.jk-tpl .step-actions .primary {font-size: 10px; letter-spacing: 0;}
.jk-tpl .step-actions .secondary {padding: 12px; font-size: 11px;}
.jk-tpl .choice-card {gap: 10px; padding: 14px 10px;}
.jk-tpl .choice-card strong {font-size: 13px;}
.jk-tpl .choice-card small {font-size: 11px;}
.jk-tpl .choice-card b {font-size: 12px;}
.jk-tpl .checkout-success h2 {font-size: 28px;}
}

@media (max-width: 380px) {
.jk-tpl .brand strong {font-size: 19px;}
.jk-tpl .brand small {font-size: 7px;}
.jk-tpl .brand {gap: 6px;}
.jk-tpl .hero-content h1 {font-size: 48px;}
.jk-tpl .large-heading {align-items: flex-start; gap: 12px;}
.jk-tpl .large-heading .underlined-link {font-size: 10px; white-space: nowrap;}
.jk-tpl .catalog-body .primary {font-size: 8px;}
.jk-tpl .field-grid {grid-template-columns: 1fr;}
}
