/** Shopify CDN: Minification failed

Line 9:3853 The "+" operator only works if there is whitespace on both sides
Line 2139:18 Unexpected "`"
Line 3343:52 Unexpected "`"

**/
/* gore-pdp-combined.css 2026-04-25 — concatenation of: gore-product-ux + gore-bundle-pdp + gore-collection-mobile + gore-perf-overrides + gore-mobile-tighten. Minified. */
.product-form__action-wrapper{flex-direction:column !important;align-items:stretch !important;gap:12px !important}.product-form__action-wrapper .quantity-selector{max-width:160px !important;flex:0 0 auto !important}.product-form--atc-button,.product-form--atc .product-form--atc-button,.product-form--atc .product-form__submit,button.product-form--atc-button,[data-product-atc]{width:100% !important;min-height:56px !important;background:#C0C8D0 !important;background-image:none !important;color:#0e0e0e !important;-webkit-text-fill-color:#0e0e0e !important;border:2px solid #C0C8D0 !important;border-radius:6px !important;font-weight:700 !important;font-size:16px !important;text-transform:uppercase !important;letter-spacing:0.12em !important;cursor:pointer !important;transition:background 0.45s cubic-bezier(0.16,1,0.3,1),transform 0.3s cubic-bezier(0.16,1,0.3,1) !important}.product-form--atc-button:hover,button.product-form--atc-button:hover{background:#fff !important;border-color:#fff !important;transform:translateY(-1px) !important}.shopify-payment-button{opacity:0.65 !important;margin-top:16px !important;display:block !important}.shopify-payment-button__button,.shopify-payment-button__button--branded{max-height:44px !important;border-radius:6px !important}.shopify-payment-button .shopify-payment-button__more-options{display:block !important;margin-top:10px !important;text-align:center !important;line-height:1.2 !important}.gore-buy-now-btn,button.gore-buy-now-btn{display:block !important;width:100% !important;min-height:48px !important;background:transparent;color:#C0C8D0;border:1.5px solid rgba(192,200,208,0.35);border-radius:6px !important;font-size:13px !important;font-weight:700 !important;text-transform:uppercase !important;letter-spacing:0.14em !important;text-align:center !important;cursor:pointer !important}.gore-buy-now-btn:hover{background:rgba(192,200,208,0.08);border-color:rgba(192,200,208,0.6);color:#fff}.product__price .price__current,.product__price .price__current .money,.product__price .price__current--emphasize,.product__price .price__current--emphasize .money{font-size:30px !important;font-weight:800 !important;color:#fff !important;-webkit-text-fill-color:#fff !important}.product__price .price__compare-at .money{font-size:18px !important;color:rgba(255,255,255,0.45) !important;text-decoration:line-through !important}.breadcrumbs a{color:rgba(192,200,208,0.6) !important;text-decoration:none !important;transition:color 0.2s ease !important}.breadcrumbs a:hover{color:#C0C8D0 !important}.breadcrumbs .breadcrumbs__separator{color:rgba(192,200,208,0.3) !important}.breadcrumbs__text{color:rgba(255,255,255,0.5) !important}.collapsible-tab{border:1px solid rgba(192,200,208,0.1) !important;border-radius:6px !important;margin-bottom:6px !important;overflow:hidden !important}.collapsible-tab:hover{border-color:rgba(192,200,208,0.25) !important}.collapsible-tab__heading{padding:14px 18px !important;font-weight:700 !important;cursor:pointer !important}.collapsible-tab__heading:hover{background:rgba(192,200,208,0.04) !important}.collapsible-tab__text table td:first-child,.rte table td:first-child{font-weight:700 !important;color:#C0C8D0 !important;white-space:nowrap !important}.collapsible-tab__text table td,.rte table td{padding:10px 14px !important;border-bottom:1px solid rgba(192,200,208,0.08) !important;font-size:14px !important;line-height:1.5 !important}.collapsible-tab__text table th,.rte table th{padding:10px 14px !important;font-weight:700 !important;color:#C0C8D0 !important;text-transform:uppercase !important;font-size:12px !important;letter-spacing:0.08em !important;border-bottom:1px solid rgba(192,200,208,0.15) !important}.gore-sticky-atc{position:fixed;bottom:0;left:0;right:0;z-index:999;display:flex;align-items:center;justify-content:center;padding:12px 20px calc(12px+env(safe-area-inset-bottom));background:rgba(14,14,14,0.96);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-top:1px solid rgba(192,200,208,0.12);box-shadow:0 -8px 24px rgba(0,0,0,0.35);transform:translateY(100%);opacity:0;pointer-events:none;transition:transform 220ms cubic-bezier(0.22,1,0.36,1),opacity 160ms ease-out;will-change:transform,opacity}.gore-sticky-atc.is-visible{transform:translateY(0);opacity:1;pointer-events:auto}.gore-sticky-atc__btn{width:100%;max-width:480px;min-height:48px;padding:14px 24px;background:#C0C8D0;color:#0e0e0e;border:none;border-radius:6px;font-size:14px;font-weight:700;text-transform:uppercase;letter-spacing:0.14em;cursor:pointer;white-space:nowrap;transition:background 140ms ease-out}.gore-sticky-atc__btn:hover{background:#fff}.gore-sticky-atc__btn:focus-visible{outline:2px solid #fff;outline-offset:2px}@media (prefers-reduced-motion:reduce){.gore-sticky-atc{transition:opacity 120ms linear;transform:none}.gore-sticky-atc:not(.is-visible){opacity:0;visibility:hidden}}.gore-trust-signals{display:flex;flex-wrap:wrap;gap:12px;margin-top:16px;padding:12px 0;border-top:1px solid rgba(192,200,208,0.08)}.gore-trust-signals__item{display:flex;align-items:center;gap:6px;font-size:12px;color:rgba(255,255,255,0.55);letter-spacing:0.02em}.gore-trust-signals__item svg{width:16px;height:16px;fill:none;stroke:#C0C8D0;stroke-width:1.5;flex-shrink:0}.gore-shipping-info{display:flex;align-items:center;gap:6px;margin-top:8px;font-size:13px;color:rgba(192,200,208,0.7)}.gore-shipping-info svg{width:16px;height:16px;fill:none;stroke:#C0C8D0;stroke-width:1.5;flex-shrink:0}#downpay-block .downpay-toggle{outline:none;box-shadow:none}#downpay-block .downpay-toggle.downpay-toggle--selected{background:rgba(192,200,208,0.1);border-color:#C0C8D0;color:#ffffff;font-weight:600;outline:none;box-shadow:none}#downpay-block .downpay-toggle:focus,#downpay-block .downpay-toggle:focus-visible{outline:none;box-shadow:0 0 0 2px rgba(192,200,208,0.3)}#downpay-block .downpay-toggle.downpay-toggle--selected:focus,#downpay-block .downpay-toggle.downpay-toggle--selected:focus-visible{outline:none;box-shadow:0 0 0 2px rgba(192,200,208,0.35)}#downpay-block .downpay-toggle input[type="radio"]{outline:none;box-shadow:none}#downpay-block .downpay-toggle input[type="radio"]:focus,#downpay-block .downpay-toggle input[type="radio"]:focus-visible{outline:none;box-shadow:none}.price__tax-label{margin-top:2px}.price__tax-note{font-size:0.75em;color:var(--color-body-text,#666);opacity:0.7;letter-spacing:0.02em}.product--section .gore-bundle-resize{margin:14px 0 4px}.product--section .gore-bundle-resize__trigger{display:inline-flex;align-items:center;justify-content:center;gap:10px;width:100%;padding:12px 18px;background:transparent;border:1.5px solid #F0A140;border-radius:6px;color:#F0A140;font-family:inherit;font-size:13px;font-weight:700;letter-spacing:0.04em;text-transform:uppercase;text-decoration:none;line-height:1.2;cursor:pointer;text-align:center;min-height:44px;box-sizing:border-box;transition:background-color 160ms ease-out,color 160ms ease-out,border-color 160ms ease-out}.product--section .gore-bundle-resize__trigger:hover,.product--section .gore-bundle-resize__trigger:focus-visible{background:rgba(240,161,64,0.08);color:#ffffff;border-color:#ffb968}.product--section .gore-bundle-resize__trigger:focus-visible{outline:2px solid #F0A140;outline-offset:2px}.product--section .gore-bundle-resize__trigger-icon{flex:0 0 auto;color:inherit}.product--section .gore-bundle-resize__trigger-text{text-transform:none;letter-spacing:0.01em;font-weight:600;font-size:13px}.gore-modal__body .gore-bundle-resize__intro{font-size:14px;line-height:1.55;color:#C0C8D0;margin:0 0 16px}.gore-modal__body .gore-bundle-resize__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.gore-modal__body .gore-bundle-resize__item{margin:0}.gore-modal__body .gore-bundle-resize__card{display:grid;grid-template-columns:72px 1fr auto;gap:14px;align-items:center;padding:10px 12px;background:#0E0E0E;border:1px solid #2a2a2a;border-radius:10px;text-decoration:none;color:inherit;min-height:88px;transition:border-color 150ms ease-out,transform 150ms ease-out,box-shadow 150ms ease-out}.gore-modal__body .gore-bundle-resize__card:hover{border-color:#F0A140;transform:translateY(-1px);box-shadow:0 6px 16px rgba(240,161,64,0.12)}.gore-modal__body .gore-bundle-resize__card:focus-visible{outline:2px solid #F0A140;outline-offset:2px}.gore-bundle-resize__media{width:72px;height:72px;background:#161616;border:1px solid #2a2a2a;border-radius:8px;overflow:hidden;display:flex;align-items:center;justify-content:center}.gore-bundle-resize__media img{width:100%;height:100%;object-fit:contain}.gore-bundle-resize__media-fallback{width:32px;height:32px;background:#2a2a2a;border-radius:4px}.gore-bundle-resize__body{display:flex;flex-direction:column;gap:4px;min-width:0}.gore-bundle-resize__badges{display:inline-flex;flex-wrap:wrap;gap:6px}.gore-bundle-resize__badge{display:inline-block;padding:2px 8px;font-size:11px;font-weight:600;letter-spacing:0.02em;border-radius:4px;text-transform:uppercase;line-height:1.4;font-variant-numeric:tabular-nums}.gore-bundle-resize__badge--tonnage{background:rgba(240,161,64,0.18);color:#F0A140}.gore-bundle-resize__badge--coupling{background:#2a2a2a;color:#FFFFFF}.gore-bundle-resize__title{font-size:14px;font-weight:600;line-height:1.3;color:#FFFFFF;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.gore-bundle-resize__price{font-size:13px;font-weight:700;color:#FFFFFF;font-variant-numeric:tabular-nums}.gore-bundle-resize__chevron{color:#5A5A5A;flex:0 0 auto;transition:color 150ms ease-out,transform 150ms ease-out}.gore-modal__body .gore-bundle-resize__card:hover .gore-bundle-resize__chevron{color:#F0A140;transform:translateX(2px)}.gore-bundle-resize__fallback{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;padding:16px;background:#0E0E0E;border:1px solid #2a2a2a;border-radius:10px}.gore-bundle-resize__phone{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;background:#C8321F;color:#FFFFFF;border-radius:999px;text-decoration:none;font-weight:700;font-size:14px;font-variant-numeric:tabular-nums;white-space:nowrap;transition:background-color 150ms ease-out}.gore-bundle-resize__phone:hover{background:#B82A18}.gore-bundle-resize__fallback-or{font-size:13px;color:#9d9e9e}.gore-bundle-resize__contact{font-size:14px;font-weight:600;color:#F0A140;text-decoration:underline;text-underline-offset:3px;transition:color 150ms ease-out}.gore-bundle-resize__contact:hover{color:#FFFFFF}.product--section .gore-bundle-rail-wrap{margin:48px 0 0;padding-top:32px;border-top:1px solid #2a2a2a}@media (max-width:767px){.product--section .gore-bundle-rail-wrap{margin-top:32px;padding-top:24px}}.product--section .gore-bundle-rail{margin:0 0 8px;padding:0}.product--section .gore-bundle-rail__head{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:20px;padding:0}.product--section .gore-bundle-rail__title{font-size:24px;font-weight:700;line-height:1.2;letter-spacing:-0.02em;margin:0;color:#FFFFFF}@media (min-width:1024px){.product--section .gore-bundle-rail__title{font-size:28px}}@media (max-width:480px){.product--section .gore-bundle-rail__title{font-size:20px}}.product--section .gore-bundle-rail__see-all{display:inline-flex;align-items:center;gap:4px;font-size:14px;font-weight:600;color:#F0A140;text-decoration:none;white-space:nowrap;transition:color 150ms ease-out}.product--section .gore-bundle-rail__see-all:hover{color:#ffb968}.product--section .gore-bundle-rail__see-all svg{transition:transform 150ms ease-out}.product--section .gore-bundle-rail__see-all:hover svg{transform:translateX(2px)}.product--section .gore-bundle-rail__viewport{display:grid;grid-template-columns:1fr;gap:16px;padding:0 0 8px}@media (min-width:481px){.product--section .gore-bundle-rail__viewport{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:768px){.product--section .gore-bundle-rail__viewport{grid-template-columns:repeat(3,minmax(0,1fr))}}.product--section .gore-bundle-rail__card{flex:1 1 auto;width:100%;display:flex;flex-direction:column;background:#161616;border:1px solid #2a2a2a;border-radius:10px;overflow:hidden;text-decoration:none;color:inherit;transition:transform 180ms ease-out,box-shadow 180ms ease-out,border-color 180ms ease-out}.product--section .gore-bundle-rail__card:hover{transform:translateY(-2px) scale(1.02);box-shadow:0 12px 24px rgba(0,0,0,0.30),0 0 0 1px rgba(240,161,64,0.20);border-color:#F0A140}.product--section .gore-bundle-rail__card:focus-visible{outline:2px solid #F0A140;outline-offset:3px}.product--section .gore-bundle-rail__media{display:block;width:100%;aspect-ratio:1 / 1;background:#0E0E0E;position:relative;overflow:hidden}.product--section .gore-bundle-rail__media img{width:100%;height:100%;object-fit:contain;transition:transform 220ms ease-out}.product--section .gore-bundle-rail__card:hover .gore-bundle-rail__media img{transform:scale(1.04)}.product--section .gore-bundle-rail__media-fallback{position:absolute;inset:24px;background:#2a2a2a;border-radius:8px}.product--section .gore-bundle-rail__body{display:flex;flex-direction:column;gap:6px;padding:12px 12px 14px;min-height:110px}.product--section .gore-bundle-rail__badges{display:inline-flex;flex-wrap:wrap;gap:6px}.product--section .gore-bundle-rail__badge{display:inline-block;padding:2px 8px;font-size:11px;font-weight:600;letter-spacing:0.02em;border-radius:4px;text-transform:uppercase;line-height:1.4;font-variant-numeric:tabular-nums}.product--section .gore-bundle-rail__badge--tonnage{background:rgba(240,161,64,0.18);color:#F0A140}.product--section .gore-bundle-rail__badge--coupling{background:#2a2a2a;color:#FFFFFF}.product--section .gore-bundle-rail__name{font-size:13px;font-weight:600;line-height:1.35;color:#FFFFFF;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.product--section .gore-bundle-rail__price{font-size:14px;font-weight:700;color:#FFFFFF;font-variant-numeric:tabular-nums;margin-top:auto}@media (min-width:1024px){.product--section .gore-bundle-rail__viewport{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;overflow:visible;padding:0 0 8px;scroll-snap-type:none}.product--section .gore-bundle-rail__card{flex:1 1 auto;width:100%;scroll-snap-align:none}}@media (prefers-reduced-motion:reduce){.product--section .gore-bundle-resize__trigger,.product--section .gore-bundle-resize__trigger:hover,.gore-modal__body .gore-bundle-resize__card,.gore-modal__body .gore-bundle-resize__card:hover,.gore-bundle-resize__chevron,.gore-modal__body .gore-bundle-resize__card:hover .gore-bundle-resize__chevron,.product--section .gore-bundle-rail__card,.product--section .gore-bundle-rail__card:hover,.product--section .gore-bundle-rail__media img,.product--section .gore-bundle-rail__card:hover .gore-bundle-rail__media img,.product--section .gore-bundle-rail__see-all svg,.product--section .gore-bundle-rail__see-all:hover svg{transition:none !important;transform:none !important;animation:none !important}}@media (max-width:480px){.template-collection .productgrid--items .productgrid--item,.template-search .productgrid--items .productgrid--item{width:100%;margin-left:0;margin-top:12px}.template-collection .productgrid--items .productgrid--item:first-child,.template-search .productgrid--items .productgrid--item:first-child{margin-top:0}.template-collection .productitem .productitem--title,.template-collection .productitem .productitem--title a,.template-search .productitem .productitem--title,.template-search .productitem .productitem--title a{-webkit-hyphens:manual;hyphens:manual;word-break:normal;overflow-wrap:break-word;line-height:1.3}.template-collection .productitem .productitem__price,.template-collection .productitem .productitem__price .price__current,.template-collection .productitem .productitem__price .price__current .money,.template-collection .productitem .productitem__price .price__compare-at,.template-collection .productitem .productitem__price .price__compare-at .money,.template-search .productitem .productitem__price,.template-search .productitem .productitem__price .price__current,.template-search .productitem .productitem__price .price__current .money,.template-search .productitem .productitem__price .price__compare-at,.template-search .productitem .productitem__price .price__compare-at .money{-webkit-hyphens:manual;hyphens:manual;word-break:keep-all;overflow-wrap:normal}.template-collection .productitem .productitem__price .money,.template-search .productitem .productitem__price .money{white-space:nowrap}.template-collection .productitem .productitem__badge,.template-collection .productitem .productitem__badge--sale,.template-search .productitem .productitem__badge,.template-search .productitem .productitem__badge--sale{max-width:none;width:auto;overflow:visible;text-overflow:clip;white-space:nowrap;padding:0.3rem 0.5rem}.template-collection .productgrid--masthead{padding-left:16px;padding-right:16px;margin-bottom:8px}.template-collection .productgrid--masthead .collection--title{font-size:1.5rem;line-height:1.2;margin-bottom:0.5rem;word-break:normal;overflow-wrap:break-word;-webkit-hyphens:manual;hyphens:manual}.template-collection .productgrid--masthead .collection--description{font-size:0.875rem;line-height:1.45}}@media (min-width:481px) and (max-width:768px){.template-collection .productitem .productitem--title,.template-collection .productitem .productitem--title a,.template-search .productitem .productitem--title,.template-search .productitem .productitem--title a{-webkit-hyphens:manual;hyphens:manual;word-break:normal;overflow-wrap:break-word;line-height:1.3}.template-collection .productitem .productitem__price .money,.template-search .productitem .productitem__price .money{word-break:keep-all;overflow-wrap:normal;white-space:nowrap}.template-collection .productitem .productitem__badge,.template-collection .productitem .productitem__badge--sale,.template-search .productitem .productitem__badge,.template-search .productitem .productitem__badge--sale{max-width:none;width:auto;overflow:visible;text-overflow:clip;white-space:nowrap}}.product-compare-sticky-bar-wrapper,[class*="shimmer"]{animation:none !important}.site-header{box-shadow:0 2px 8px rgba(0,0,0,0.3)}@media (prefers-reduced-motion:no-preference){.site-footer-credits,.product-recently-viewed-card-title:after,.flickity-viewport:before,.flickity-viewport:after{transition:none;animation:none}}html{color-scheme:light dark}.site-announcement,.shopify-section-group-header-group .site-announcement,.announcement-bar{min-height:40px;box-sizing:border-box}.site-header-wrapper{min-height:82px;box-sizing:border-box}.site-header{min-height:82px}@media (max-width:767px){.site-announcement,.announcement-bar{min-height:36px}.site-header-wrapper,.site-header{min-height:60px}}.site-logo-image{aspect-ratio:245 / 48;max-height:48px;width:auto}@media (max-width:767px){body.template-product h1.product-title,body.template-product .product-block--title .product-title,body.template-product h1{font-size:22px;line-height:1.25;letter-spacing:-0.01em;margin-top:12px;margin-bottom:6px}body h2,body .h2,body .section-heading,body .gore-pdp-acc__item>summary,body .collapsible-tab__title{font-size:18px;line-height:1.3}body h3,body .h3{font-size:16px;line-height:1.3}body,body p,body .rte,body .rte p,body .product-description,body .product-description p,body.template-product .product-main p{font-size:15px;line-height:1.55}body .rte small,body .product-vendor,body .product-sku,body small,body .meta,body .price__tax-line,body .product-tax-line{font-size:13px;line-height:1.4}body.template-product .product__container,body.template-product .product__container--two-columns,body.template-product section.shopify-section .container,body.template-product .container,body.template-product .grid{padding-left:12px;padding-right:12px}body .section--has-padding,body .section-padded,body .shopify-section>.section,body.template-product .product__container{padding-top:32px;padding-bottom:32px}body.template-product .product-gallery-wrapper{height:auto;overflow:visible;margin-bottom:12px}body.template-product .product-gallery-wrapper .product-gallery,body.template-product .product-gallery-wrapper .product-gallery__viewer,body.template-product .product-gallery-wrapper .product-gallery__carousel,body.template-product .product-gallery-wrapper [data-product-gallery]{max-height:35vh;height:35vh}body.template-product .product-gallery-wrapper .swiper,body.template-product .product-gallery-wrapper .swiper-wrapper,body.template-product .product-gallery-wrapper .swiper-slide{max-height:35vh;height:35vh}body.template-product .product-gallery-wrapper .media__image,body.template-product .product-gallery-wrapper .photoswipe__image,body.template-product .product-gallery-wrapper img.media__image{width:100%;height:100%;max-height:35vh;object-fit:contain;object-position:center}body.template-product .product-gallery-wrapper .product-gallery__navigation,body.template-product .product-gallery-wrapper .product-gallery__thumbnails{max-height:48px;overflow-x:auto;overflow-y:hidden}body.template-product .product-gallery-wrapper .thumbnail,body.template-product .product-gallery-wrapper .thumbnail--aspect-ratio-set{width:48px;height:48px;min-width:48px;flex:0 0 48px}body.template-product .product-gallery-wrapper .thumbnail__image{width:48px;height:48px;object-fit:cover}body.template-product .product-main,body.template-product .product-details{padding-left:0;padding-right:0}body.template-product .product-block{margin-top:0;margin-bottom:10px}body.template-product .product-block--title{margin-bottom:10px}body.template-product .product-block+.product-block{margin-top:0}body.template-product .product-pricing{margin-bottom:10px}body .product-list,body .product-listing,body .product-grid{gap:12px}body .product-form--atc-button,body .product-form__add-to-cart-button,body .product-form__cart-submit,body button[name="add"],body .btn--add-to-cart,body .product-form [type="submit"]{min-height:56px;height:56px;font-size:15px;letter-spacing:0.02em;padding-top:0;padding-bottom:0}body .product-form--atc-button .atc-button--text{font-size:15px}body input[type="text"],body input[type="email"],body input[type="tel"],body input[type="number"],body input[type="search"],body select,body .product-form__quantity input,body .product-form__variants select{min-height:44px;height:44px;font-size:15px}body .gore-cat-nav__link{padding:6px 4px 5px}body .gore-cat-nav__icon{width:30px;height:30px}body .shopify-section.site-announcement,body .site-announcement{height:36px;min-height:36px}body .announcement-bar{height:34px;min-height:34px;padding:8px 0}body .site-header-wrapper,body .site-header{min-height:64px;top:36px}body .site-header-main-content{min-height:64px;padding:0 12px;gap:12px}body .btn,body .button,body button:not(.gore-cat-nav-drawer__btn):not([aria-label]){font-size:15px}body.template-product .product-price,body.template-product .product-pricing .price__regular,body .price__current{font-size:18px}body .collapsible-tab__title,body .collapsible-tab summary,body summary.collapsible-tab__summary{min-height:44px;padding-top:10px;padding-bottom:10px;font-size:15px}body .breadcrumbs,body .breadcrumb,body .breadcrumbs-container{font-size:11px;padding-top:8px;padding-bottom:8px;line-height:1.3}body .breadcrumbs a,body .breadcrumbs-container a,body .breadcrumbs-delimiter{font-size:11px}body .gore-trust-bar,body .gore-trust-row{padding-top:10px;padding-bottom:10px;font-size:12px}}.product-form--atc-button .atc-button--icon{display:none}.gore-pdp-acc{border-top:1px solid #2a2a2a;margin-top:16px}.gore-pdp-acc__item{border-bottom:1px solid #2a2a2a}.gore-pdp-acc__item>summary{list-style:none;cursor:pointer;min-height:44px;display:flex;align-items:center;justify-content:space-between;padding:10px 4px;font-size:15px;font-weight:600;color:#0a0a0a;user-select:none}.gore-pdp-acc__item>summary::-webkit-details-marker{display:none}.gore-pdp-acc__item>summary::after{content:'';width:10px;height:10px;border-right:2px solid #0a0a0a;border-bottom:2px solid #0a0a0a;transform:rotate(45deg);margin-right:6px;transition:transform 180ms ease}.gore-pdp-acc__item[open]>summary::after{transform:rotate(-135deg)}.gore-pdp-acc__body{padding:4px 4px 16px;font-size:14px;line-height:1.6;color:#2a2a2a}.gore-pdp-acc__body p{margin:0 0 10px}.gore-pdp-acc__body ul{padding-left:20px;margin:0 0 10px}.gore-pdp-acc__body li{margin-bottom:4px}.gore-pdp-acc__body table{width:100%;border-collapse:collapse;font-size:13px}.gore-pdp-acc__body th,.gore-pdp-acc__body td{padding:8px 10px;border-bottom:1px solid #e5e5e5;text-align:left}.gore-pdp-acc__body th{font-weight:600;color:#0a0a0a;background:#f4f3f0}@media (max-width:767px){body .gore-cat-nav__list{display:none}body .gore-cat-nav-drawer{display:block}}@media (min-width:768px){body .gore-cat-nav-drawer{display:none}}.gore-cat-nav-drawer{background:#1a1a1a;border-top:1px solid #2a2a2a;border-bottom:1px solid #2a2a2a}.gore-cat-nav-drawer>summary{list-style:none;cursor:pointer;min-height:44px;display:flex;align-items:center;gap:10px;padding:0 14px;color:#ffffff;font-size:14px;font-weight:600;letter-spacing:0.04em;user-select:none}.gore-cat-nav-drawer>summary::-webkit-details-marker{display:none}.gore-cat-nav-drawer__icon{width:16px;height:16px;flex:0 0 16px;display:inline-grid;grid-template-columns:6px 6px;grid-template-rows:6px 6px;gap:2px}.gore-cat-nav-drawer__icon span{background:currentColor;border-radius:1px}.gore-cat-nav-drawer__label{flex:1 1 auto}.gore-cat-nav-drawer__chev{width:8px;height:8px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);transition:transform 180ms ease;margin-right:4px}.gore-cat-nav-drawer[open]>summary .gore-cat-nav-drawer__chev{transform:rotate(-135deg)}.gore-cat-nav-drawer__list{list-style:none;margin:0;padding:0;border-top:1px solid #2a2a2a}.gore-cat-nav-drawer__item+.gore-cat-nav-drawer__item{border-top:1px solid #2a2a2a}.gore-cat-nav-drawer__link{display:flex;align-items:center;min-height:40px;padding:0 14px;color:rgba(255,255,255,0.85);text-decoration:none;font-size:14px}.gore-cat-nav-drawer__item.is-active .gore-cat-nav-drawer__link{background:#2a2a2a;color:#ffffff;font-weight:700}.gore-cd-strip{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;height:36px;background:#C0C8D0;color:#0a0a0a;font-size:13px;font-weight:600;letter-spacing:0.3px;font-variant-numeric:tabular-nums;padding:0 12px}.gore-cd-strip__label{white-space:nowrap}.gore-cd-strip__timer{font-variant-numeric:tabular-nums}.gore-cd-strip[data-expired]{display:none}@media (max-width:767px){.gore-cd-strip{height:28px;font-size:12px;gap:8px}}@media (max-width:767px){body.template-product .product-gallery,body.template-product .product-gallery__carousel,body.template-product .product-gallery__viewer,body.template-product .flickity-viewport,body.template-product .flickity-slider,body.template-product .product-gallery__slide,body.template-product .product-gallery-wrapper .swiper-slide{max-height:38vh;height:auto}body.template-product .product-gallery img,body.template-product .product-gallery__slide img,body.template-product .product-gallery__carousel img,body.template-product .product-gallery-wrapper img:not(.gore-cat-nav__thumb){max-height:38vh;width:auto;max-width:100%;height:auto;object-fit:contain;object-position:center;margin:0 auto;display:block}body.template-product .flickity-viewport[style*="height"]{min-height:0}body.template-product .product-gallery-wrapper{aspect-ratio:auto;min-height:0}body.template-product .product-gallery__slide[style*="padding"],body.template-product .swiper-slide[style*="padding"]{padding-top:0;padding-bottom:0}body.template-product .gore-cat-nav-drawer:not([data-user-opened]) .gore-cat-nav-drawer__list{display:none}body.template-product .gore-cat-nav-drawer[open] .gore-cat-nav-drawer__list{display:block}}@media (max-width:767px){body.template-product .gore-cat-nav__list{display:none}body.template-product .gore-cat-nav-drawer{display:block}}@media (min-width:768px){body.template-product .gore-cat-nav-drawer{display:none}}.gore-pdp-acc{margin:16px 0;border-top:1px solid #2a2a2a}.gore-pdp-acc__item{border-bottom:1px solid #2a2a2a}.gore-pdp-acc__item>summary{list-style:none;cursor:pointer;padding:14px 0;color:#ffffff;font-size:15px;font-weight:700;letter-spacing:0.02em;display:flex;align-items:center;justify-content:space-between;position:relative;user-select:none}.gore-pdp-acc__item>summary::-webkit-details-marker{display:none}.gore-pdp-acc__item>summary::after{content:'';width:8px;height:8px;border-right:2px solid #ffffff;border-bottom:2px solid #ffffff;transform:rotate(45deg);transition:transform 180ms ease;margin-right:4px}.gore-pdp-acc__item[open]>summary::after{transform:rotate(-135deg)}.gore-pdp-acc__body{padding:4px 0 16px;color:rgba(255,255,255,0.78);font-size:14px;line-height:1.6}.gore-pdp-acc__body p{margin:0 0 8px}.gore-pdp-acc__body strong{color:#ffffff}.gore-warranty-card,[class*="warranty-card"],.gore-warranty-badge-card{display:none}.productgrid--items.products-per-row-5{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px;float:none;width:100%}.productgrid--items.products-per-row-5>.productgrid--item{width:100%;max-width:100%;margin:0;float:none;flex:unset;padding:0}@media (max-width:1024px) and (min-width:768px){.productgrid--items.products-per-row-5{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:767px){.productgrid--items.products-per-row-5{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}}

/* === Coda 2026-04-26 mobile-bundle-audit append === */
/* Trust strip rightcol — keep 2x2 down to iPhone widths (overrides earlier
   1-col rule that ships as part of product.liquid inline styles).
   Specificity: same as the original (.product--section .gore-pdp-trust-strip-rightcol .gore-pdp-trust-strip)
   so source order in HTML matters. This file is loaded in <head>, the inline
   <style> in product.liquid is loaded later in body — so inline wins on PDPs.
   For safety we DON'T re-declare the trust-strip rules here; the fix is in the
   inline <style> via product.liquid. We keep this file focused on bundle-rail
   + benefit-checklist + resize-modal mobile tweaks. */

/* Bundle rail head wraps cleanly under 480px so title + see-all don't crowd. */
@media (max-width: 480px) {
  .product--section .gore-bundle-rail__head {
    flex-wrap: wrap;
    gap: 6px 14px;
    margin-bottom: 14px;
  }
  .product--section .gore-bundle-rail__title {
    font-size: 19px;
    line-height: 1.18;
    flex: 1 1 100%;
  }
  .product--section .gore-bundle-rail__see-all {
    font-size: 13px;
  }
  .product--section .gore-bundle-rail__name {
    hyphens: auto;
    word-break: break-word;
  }
  .product--section .gore-bundle-rail-wrap {
    margin-top: 28px;
    padding-top: 20px;
  }
}

/* 2-col rail on iPhone widths — bridges 1-col (≤379) and 2-col (≥481). */
@media (min-width: 380px) and (max-width: 480px) {
  .product--section .gore-bundle-rail__viewport {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
  }
  .product--section .gore-bundle-rail__body {
    padding: 10px 10px 12px;
    gap: 4px;
    min-height: 96px;
  }
  .product--section .gore-bundle-rail__name {
    font-size: 12px;
    line-height: 1.3;
  }
  .product--section .gore-bundle-rail__price {
    font-size: 13px;
  }
  .product--section .gore-bundle-rail__badge {
    font-size: 10px;
    padding: 2px 6px;
  }
}

/* Section 2 vertical spacing — replaces inline style="margin-top:40px" that
   was removed from the snippet. Scoped + responsive. */
.product--section .gore-bundle-rail--secondary {
  margin-top: 40px;
}
@media (max-width: 480px) {
  .product--section .gore-bundle-rail--secondary {
    margin-top: 24px;
  }
}

/* Benefit checklist — hyphenate Swedish compound words on narrow widths. */
@media (max-width: 480px) {
  .product--section .gore-pdp-benefits__text {
    hyphens: auto;
    word-break: normal;
    overflow-wrap: anywhere;
  }
}

/* Resize-modal card grid — drop media to 56px on very narrow screens so
   badges + title get room within the modal. */
@media (max-width: 380px) {
  .gore-modal__body .gore-bundle-resize__card {
    grid-template-columns: 56px 1fr auto;
    gap: 10px;
    padding: 8px 10px;
    min-height: 76px;
  }
  .gore-bundle-resize__media {
    width: 56px;
    height: 56px;
  }
  .gore-bundle-resize__title {
    font-size: 13px;
  }
}
/* === END Coda 2026-04-26 mobile-bundle-audit append === */

/* =========================================================================
   gore-lasmer — Bundle PDP "Läs mer / Läs mindre" expand/collapse panel
   Coda 2026-04-26 (v2 — mobile parity, height-truncate fade)
   Scoped under .product--section .gore-bundle-desc to stay isolated.
   ========================================================================= */

/* Visible block: intro + first <h3>. Clamped to a fixed height with a gradient
   fade at the bottom so a long components list does not push the rest of the
   PDP off-screen. Mobile clamps tighter than desktop. The toggle button below
   removes the clamp on expand. */
.product--section .gore-bundle-desc .gore-lasmer__visible {
  position: relative;
  max-height: 320px;
  overflow: hidden;
  transition: max-height 320ms cubic-bezier(0.25, 1, 0.5, 1);
}
.product--section .gore-bundle-desc .gore-lasmer__visible::after {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 96px;
  background: linear-gradient(to bottom, rgba(14, 14, 14, 0) 0%, #0E0E0E 88%);
  pointer-events: none;
  opacity: 1;
  transition: opacity 200ms ease-out;
}
.product--section .gore-bundle-desc .gore-lasmer__visible--expanded {
  max-height: 4000px;
}
.product--section .gore-bundle-desc .gore-lasmer__visible--expanded::after {
  opacity: 0;
}
@media (min-width: 1024px) {
  .product--section .gore-bundle-desc .gore-lasmer__visible {
    max-height: 520px;
  }
  .product--section .gore-bundle-desc .gore-lasmer__visible::after {
    height: 120px;
  }
}

/* Collapsible panel for parts 2..N (Vem passar, Tekniska detaljer, etc).
   Animate max-height (not height) — height:auto is not animatable. */
.product--section .gore-lasmer__panel {
  max-height: 0;
  overflow: hidden;
  transition: max-height 320ms cubic-bezier(0.25, 1, 0.5, 1);
}
.product--section .gore-lasmer__panel--open {
  max-height: 4000px;
}

/* Toggle-wrap: gives the button a clear lane below the fade */
.product--section .gore-lasmer__toggle-wrap {
  margin: 16px 0 8px;
  position: relative;
  z-index: 1;
}

/* Toggle button: secondary outlined style. Full-width on mobile (≤1023px),
   auto-width on desktop. Does NOT use primary red — must not compete with
   "Lägg i varukorgen". 48px touch target. */
.product--section .gore-lasmer__toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 12px 20px;
  min-height: 48px;
  background: transparent;
  border: 1.5px solid #3d3d3d;
  border-radius: 6px;
  color: #C0C8D0;
  font-family: inherit;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0.02em;
  cursor: pointer;
  line-height: 1.2;
  text-align: center;
  box-sizing: border-box;
  transition:
    border-color 160ms ease-out,
    color 160ms ease-out,
    background-color 160ms ease-out;
}
@media (max-width: 1023px) {
  .product--section .gore-lasmer__toggle {
    width: 100%;
  }
}
.product--section .gore-lasmer__toggle:hover,
.product--section .gore-lasmer__toggle:focus-visible {
  border-color: #C0C8D0;
  color: #ffffff;
  background: rgba(192, 200, 208, 0.06);
}
.product--section .gore-lasmer__toggle:focus-visible {
  outline: 2px solid #C0C8D0;
  outline-offset: 2px;
}

/* Chevron: rotates 180deg when expanded */
.product--section .gore-lasmer__chevron {
  flex: 0 0 auto;
  transition: transform 260ms cubic-bezier(0.25, 1, 0.5, 1);
}
.product--section .gore-lasmer__toggle-wrap--open .gore-lasmer__chevron {
  transform: rotate(180deg);
}

/* Label visibility: swap between "Läs mer" and "Läs mindre".
   aria-hidden drives both screen-reader and visual via attribute selector. */
.product--section .gore-lasmer__label-more,
.product--section .gore-lasmer__label-less {
  display: inline;
}
.product--section .gore-lasmer__label-more[aria-hidden="true"],
.product--section .gore-lasmer__label-less[aria-hidden="true"] {
  display: none;
}

/* Reduced motion: keep expand/collapse functional, drop transitions */
@media (prefers-reduced-motion: reduce) {
  .product--section .gore-bundle-desc .gore-lasmer__visible,
  .product--section .gore-bundle-desc .gore-lasmer__visible::after,
  .product--section .gore-lasmer__panel,
  .product--section .gore-lasmer__toggle,
  .product--section .gore-lasmer__chevron {
    transition: none;
  }
}
/* === END gore-lasmer 2026-04-26 v2 === */

/* === gore-faktura-badge 2026-04-26 === */

/* ── Faktura badge: pill below price, above ATC ── */
.product--section .gore-faktura-badge {
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  min-height: 48px;
  padding: 12px 16px;
  margin: 14px 0 16px;
  background: rgba(34, 90, 56, 0.12);
  border: 1px solid rgba(52, 168, 83, 0.30);
  border-radius: 8px;
  color: #5DC882;
  font-family: inherit;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.35;
  letter-spacing: 0.01em;
  text-align: left;
  cursor: pointer;
  /* Entrance: fade + slide-up, 220ms ease-out */
  animation: gore-faktura-enter 220ms cubic-bezier(0.16, 1, 0.3, 1) both;
  transition:
    background-color 160ms ease-out,
    border-color 160ms ease-out,
    box-shadow 160ms ease-out,
    transform 120ms ease-out;
}

@keyframes gore-faktura-enter {
  from {
    opacity: 0;
    transform: translateY(6px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.product--section .gore-faktura-badge:hover,
.product--section .gore-faktura-badge:focus-visible {
  background: rgba(34, 90, 56, 0.20);
  border-color: rgba(52, 168, 83, 0.55);
  box-shadow: 0 0 0 3px rgba(52, 168, 83, 0.12);
}

.product--section .gore-faktura-badge:focus-visible {
  outline: 2px solid #5DC882;
  outline-offset: 2px;
}

.product--section .gore-faktura-badge:active {
  transform: translateY(1px);
  background: rgba(34, 90, 56, 0.26);
}

.product--section .gore-faktura-badge__icon {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #5DC882;
}

.product--section .gore-faktura-badge__text {
  flex: 1 1 auto;
  color: #EAFAF0;
}

.product--section .gore-faktura-badge__chevron {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  color: rgba(93, 200, 130, 0.55);
  transition: transform 160ms ease-out;
}

.product--section .gore-faktura-badge:hover .gore-faktura-badge__chevron {
  transform: translateX(2px);
  color: #5DC882;
}

/* Full-width on mobile (already 100%), text-size bump on tiny screens */
@media (max-width: 480px) {
  .product--section .gore-faktura-badge {
    font-size: 13px;
    padding: 11px 14px;
  }
}

/* Reduced motion: keep badge visible but no animation */
@media (prefers-reduced-motion: reduce) {
  .product--section .gore-faktura-badge {
    animation: none;
    transition: none;
  }
  .product--section .gore-faktura-badge__chevron {
    transition: none;
  }
}

/* ── Trust strip: faktura icon accent colour ── */
.product--section .gore-pdp-trust-strip__item--faktura .gore-pdp-trust-strip__icon--faktura {
  color: #5DC882;
}

/* ── Faktura modal body ── */
.gore-faktura-modal-body {
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.gore-faktura-modal-body p {
  margin: 0;
  color: #C0C8D0;
  font-size: 15px;
  line-height: 1.6;
}

.gore-faktura-modal-body__intro {
  color: #EAFAF0;
  font-weight: 600;
}

.gore-faktura-modal-body__contact {
  padding-top: 6px;
  border-top: 1px solid rgba(192, 200, 208, 0.12);
}

.gore-faktura-modal-body__tel,
.gore-faktura-modal-body__email {
  color: #5DC882;
  text-decoration: none;
  font-weight: 600;
  transition: color 140ms ease-out;
}

.gore-faktura-modal-body__tel:hover,
.gore-faktura-modal-body__tel:focus-visible,
.gore-faktura-modal-body__email:hover,
.gore-faktura-modal-body__email:focus-visible {
  color: #7EE09A;
}

.gore-faktura-modal-body__tel:focus-visible,
.gore-faktura-modal-body__email:focus-visible {
  outline: 2px solid #5DC882;
  outline-offset: 2px;
  border-radius: 2px;
}

.gore-faktura-modal-body__close-btn {
  align-self: flex-start;
  margin-top: 6px;
  padding: 10px 22px;
  background: rgba(192, 200, 208, 0.08);
  border: 1px solid rgba(192, 200, 208, 0.20);
  border-radius: 6px;
  color: #FAFAF7;
  font-family: inherit;
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
  transition:
    background-color 140ms ease-out,
    border-color 140ms ease-out;
}

.gore-faktura-modal-body__close-btn:hover,
.gore-faktura-modal-body__close-btn:focus-visible {
  background: rgba(192, 200, 208, 0.14);
  border-color: rgba(192, 200, 208, 0.40);
}

.gore-faktura-modal-body__close-btn:focus-visible {
  outline: 2px solid #C0C8D0;
  outline-offset: 2px;
}

/* === END gore-faktura-badge 2026-04-26 === */

/* === gore-pdp-sister-sizes 2026-04-26 (Coda) =============================
   Sister-sizes card grid in the empty bottom-left grid cell on bundle PDPs.
   Same-family bundles in DIFFERENT tonnages. Hidden when no siblings exist
   (snippet renders nothing).

   Layout:
     - ≥ 720px: 2-column grid
     - < 720px: 1-column stacked

   All rules scoped to .product--section to prevent leakage.
   ========================================================================= */

.product--section .gore-pdp-sister-sizes {
  margin: 24px 0 16px;
  padding-top: 24px;
  border-top: 1px solid #2a2a2a;
}

.product--section .gore-pdp-sister-sizes__title {
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #e7e5e5;
  margin: 0 0 16px;
  line-height: 1.2;
}

.product--section .gore-pdp-sister-sizes__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 12px;
}

@media (min-width: 720px) {
  .product--section .gore-pdp-sister-sizes__grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 14px;
  }
}

.product--section .gore-pdp-sister-sizes__card {
  display: flex;
  align-items: stretch;
  gap: 14px;
  padding: 12px;
  background: #161616;
  border: 1px solid #2a2a2a;
  border-radius: 8px;
  text-decoration: none;
  color: #e7e5e5;
  min-height: 96px;
  transition:
    transform 160ms ease-out,
    border-color 160ms ease-out,
    background-color 160ms ease-out;
}

.product--section .gore-pdp-sister-sizes__card:hover {
  background: #1c1c1c;
  border-color: #3d3d3d;
  transform: translateY(-1px);
}

.product--section .gore-pdp-sister-sizes__card:focus-visible {
  outline: 2px solid #F0A140;
  outline-offset: 2px;
}

.product--section .gore-pdp-sister-sizes__media {
  flex: 0 0 88px;
  width: 88px;
  height: 88px;
  background: #0e0e0e;
  border-radius: 6px;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  align-self: center;
}

.product--section .gore-pdp-sister-sizes__media img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
  padding: 4px;
  box-sizing: border-box;
}

.product--section .gore-pdp-sister-sizes__media-fallback {
  width: 100%;
  height: 100%;
  background: #1c1c1c;
}

.product--section .gore-pdp-sister-sizes__body {
  flex: 1 1 auto;
  min-width: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 4px;
}

.product--section .gore-pdp-sister-sizes__tonnage {
  display: inline-block;
  align-self: flex-start;
  padding: 3px 8px;
  background: rgba(240, 161, 64, 0.10);
  border: 1px solid rgba(240, 161, 64, 0.32);
  border-radius: 4px;
  color: #F0A140;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1.2;
}

.product--section .gore-pdp-sister-sizes__name {
  font-size: 13px;
  font-weight: 600;
  color: #ffffff;
  line-height: 1.3;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.product--section .gore-pdp-sister-sizes__price {
  font-size: 13px;
  font-weight: 700;
  color: #C0C8D0;
  font-variant-numeric: tabular-nums;
}

.product--section .gore-pdp-sister-sizes__cta {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  margin-top: 4px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #F0A140;
  transition: color 160ms ease-out;
}

.product--section .gore-pdp-sister-sizes__cta svg {
  transition: transform 160ms ease-out;
}

.product--section .gore-pdp-sister-sizes__card:hover .gore-pdp-sister-sizes__cta {
  color: #ffb968;
}

.product--section .gore-pdp-sister-sizes__card:hover .gore-pdp-sister-sizes__cta svg {
  transform: translateX(2px);
}

@media (max-width: 480px) {
  .product--section .gore-pdp-sister-sizes__title {
    font-size: 12px;
  }
  .product--section .gore-pdp-sister-sizes__media {
    flex: 0 0 72px;
    width: 72px;
    height: 72px;
  }
  .product--section .gore-pdp-sister-sizes__name {
    font-size: 12.5px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .product--section .gore-pdp-sister-sizes__card,
  .product--section .gore-pdp-sister-sizes__card:hover,
  .product--section .gore-pdp-sister-sizes__cta svg,
  .product--section .gore-pdp-sister-sizes__card:hover .gore-pdp-sister-sizes__cta svg {
    transition: none;
    transform: none;
  }
}

/* === END gore-pdp-sister-sizes 2026-04-26 === */

/* === gore-faktura-badge anchor element 2026-04-26 (Coda) =================
   Faktura badge changed from <button data-modal-trigger> to <a href> so it
   submits straight to checkout (Issue 2). Add text-decoration: none and
   inherit color so anchor defaults don't override the existing badge style.
   ========================================================================= */
.product--section a.gore-faktura-badge {
  text-decoration: none;
  color: #5DC882;
}
.product--section a.gore-faktura-badge:hover,
.product--section a.gore-faktura-badge:focus-visible {
  text-decoration: none;
  color: #5DC882;
}
/* === END gore-faktura-badge anchor element 2026-04-26 === */

/* === gore-pdp-bundle-fallback 2026-04-26 (Coda) ============================
   Renders in the bottom-left grid cell of bundle PDPs ONLY when the
   sister-sizes block is empty (no same-family-different-tonnage siblings).

   Two render paths inside the same wrapper:
     Path A (structured): rich product cards + numeric savings strip
     Path B (description-parsed): text checklist + qualitative trust strip

   Visual treatment matches gore-pdp-sister-sizes (#2a2a2a borders,
   8px radius, #161616 surface, #F0A140 accent). All rules scoped under
   .product--section. No !important.
   =========================================================================== */

.product--section .gore-pdp-bundle-fallback {
  margin: 24px 0 16px;
  padding-top: 24px;
  border-top: 1px solid #2a2a2a;
}

.product--section .gore-pdp-bundle-fallback__title {
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #e7e5e5;
  margin: 0 0 16px;
  line-height: 1.2;
}

.product--section .gore-pdp-bundle-fallback__empty {
  margin: 0;
  padding: 16px;
  background: #161616;
  border: 1px solid #2a2a2a;
  border-radius: 8px;
  color: #C0C8D0;
  font-size: 13px;
  line-height: 1.5;
}

/* ---------- Components grid: Path A (rich) ----------------------------- */

.product--section .gore-pdp-components-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 12px;
  margin: 0;
  padding: 0;
  list-style: none;
}

@media (min-width: 720px) {
  .product--section .gore-pdp-components-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 14px;
  }
}

.product--section .gore-pdp-components-grid__card {
  display: flex;
  align-items: stretch;
  gap: 14px;
  padding: 12px;
  background: #161616;
  border: 1px solid #2a2a2a;
  border-radius: 8px;
  text-decoration: none;
  color: #e7e5e5;
  min-height: 96px;
  transition:
    transform 160ms ease-out,
    border-color 160ms ease-out,
    background-color 160ms ease-out;
}

.product--section .gore-pdp-components-grid__card:hover {
  background: #1c1c1c;
  border-color: #3d3d3d;
  transform: translateY(-1px);
}

.product--section .gore-pdp-components-grid__card:focus-visible {
  outline: 2px solid #F0A140;
  outline-offset: 2px;
}

.product--section .gore-pdp-components-grid__media {
  flex: 0 0 88px;
  width: 88px;
  height: 88px;
  background: #0e0e0e;
  border-radius: 6px;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  align-self: center;
}

.product--section .gore-pdp-components-grid__media img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
  padding: 4px;
  box-sizing: border-box;
}

.product--section .gore-pdp-components-grid__media-fallback {
  width: 100%;
  height: 100%;
  background: #1c1c1c;
}

.product--section .gore-pdp-components-grid__body {
  flex: 1 1 auto;
  min-width: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 4px;
}

.product--section .gore-pdp-components-grid__name {
  font-size: 13px;
  font-weight: 600;
  color: #ffffff;
  line-height: 1.3;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.product--section .gore-pdp-components-grid__value {
  display: flex;
  align-items: baseline;
  gap: 6px;
  font-variant-numeric: tabular-nums;
}

.product--section .gore-pdp-components-grid__value-label {
  font-size: 11px;
  font-weight: 500;
  color: #C0C8D0;
}

.product--section .gore-pdp-components-grid__value-amount {
  font-size: 13px;
  font-weight: 700;
  color: #ffffff;
}

.product--section .gore-pdp-components-grid__cta {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  margin-top: 4px;
  min-height: 20px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #F0A140;
  transition: color 160ms ease-out;
}

.product--section .gore-pdp-components-grid__cta svg {
  transition: transform 160ms ease-out;
}

.product--section .gore-pdp-components-grid__card:hover .gore-pdp-components-grid__cta {
  color: #ffb968;
}

.product--section .gore-pdp-components-grid__card:hover .gore-pdp-components-grid__cta svg {
  transform: translateX(2px);
}

/* ---------- Components grid: Path B (text checklist) ------------------ */

.product--section .gore-pdp-components-grid--text {
  display: flex;
  flex-direction: column;
  gap: 0;
  padding: 4px 0;
  background: #161616;
  border: 1px solid #2a2a2a;
  border-radius: 8px;
  list-style: none;
}

.product--section .gore-pdp-components-grid--text .gore-pdp-components-grid__item {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 12px 16px;
  border-bottom: 1px solid #232323;
  color: #e7e5e5;
  font-size: 14px;
  line-height: 1.45;
}

.product--section .gore-pdp-components-grid--text .gore-pdp-components-grid__item:last-child {
  border-bottom: none;
}

.product--section .gore-pdp-components-grid__check {
  flex: 0 0 22px;
  width: 22px;
  height: 22px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: rgba(240, 161, 64, 0.10);
  color: #F0A140;
  margin-top: 1px;
}

.product--section .gore-pdp-components-grid__line {
  flex: 1 1 auto;
  min-width: 0;
}

/* ---------- Savings strip: Path A (numeric) -------------------------- */

.product--section .gore-pdp-savings-strip {
  margin-top: 14px;
  padding: 14px 16px;
  background: linear-gradient(135deg, #161616 0%, #1a1a1a 100%);
  border: 1px solid #2a2a2a;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
}

.product--section .gore-pdp-savings-strip__lead {
  display: flex;
  flex-direction: column;
  gap: 2px;
  flex: 0 0 auto;
}

.product--section .gore-pdp-savings-strip__label {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #C0C8D0;
  line-height: 1.2;
}

.product--section .gore-pdp-savings-strip__amount {
  font-size: 22px;
  font-weight: 800;
  color: #5DC882;
  font-variant-numeric: tabular-nums;
  line-height: 1.1;
}

.product--section .gore-pdp-savings-strip__breakdown {
  display: flex;
  flex-direction: column;
  gap: 4px;
  flex: 1 1 auto;
  min-width: 0;
  align-items: flex-end;
  text-align: right;
}

.product--section .gore-pdp-savings-strip__row {
  display: inline-flex;
  align-items: baseline;
  gap: 8px;
  font-size: 12px;
  color: #C0C8D0;
  font-variant-numeric: tabular-nums;
  line-height: 1.3;
}

.product--section .gore-pdp-savings-strip__row-label {
  font-weight: 500;
}

.product--section .gore-pdp-savings-strip__row-value {
  font-weight: 700;
  color: #e7e5e5;
}

.product--section .gore-pdp-savings-strip__row--bundle .gore-pdp-savings-strip__row-value {
  color: #ffffff;
}

@media (max-width: 480px) {
  .product--section .gore-pdp-savings-strip {
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
  }
  .product--section .gore-pdp-savings-strip__breakdown {
    align-items: flex-start;
    text-align: left;
    width: 100%;
  }
}

/* ---------- Savings strip: Path B (qualitative trust) --------------- */

.product--section .gore-pdp-savings-strip--qualitative {
  display: flex;
  flex-direction: column;
  gap: 0;
  margin-top: 14px;
  padding: 4px 0;
  background: #161616;
  border: 1px solid #2a2a2a;
  border-radius: 8px;
  list-style: none;
}

.product--section .gore-pdp-savings-strip__qual-item {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 11px 16px;
  border-bottom: 1px solid #232323;
  color: #C0C8D0;
  font-size: 13px;
  line-height: 1.4;
}

.product--section .gore-pdp-savings-strip__qual-item:last-child {
  border-bottom: none;
}

.product--section .gore-pdp-savings-strip__qual-item svg {
  flex: 0 0 18px;
  color: #F0A140;
}

@media (min-width: 720px) {
  .product--section .gore-pdp-savings-strip--qualitative {
    flex-direction: row;
    padding: 4px;
  }
  .product--section .gore-pdp-savings-strip__qual-item {
    flex: 1 1 0;
    border-bottom: none;
    border-right: 1px solid #232323;
    padding: 12px 14px;
    font-size: 12px;
  }
  .product--section .gore-pdp-savings-strip__qual-item:last-child {
    border-right: none;
  }
}

/* ---------- Mobile small + reduced motion ---------------------------- */

@media (max-width: 480px) {
  .product--section .gore-pdp-bundle-fallback__title {
    font-size: 12px;
  }
  .product--section .gore-pdp-components-grid__media {
    flex: 0 0 72px;
    width: 72px;
    height: 72px;
  }
  .product--section .gore-pdp-components-grid__name {
    font-size: 12.5px;
  }
  .product--section .gore-pdp-savings-strip__amount {
    font-size: 20px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .product--section .gore-pdp-components-grid__card,
  .product--section .gore-pdp-components-grid__card:hover,
  .product--section .gore-pdp-components-grid__cta svg,
  .product--section .gore-pdp-components-grid__card:hover .gore-pdp-components-grid__cta svg {
    transition: none;
    transform: none;
  }
}

/* === END gore-pdp-bundle-fallback 2026-04-26 === */
/* === BEGIN OPUS mobile-parity-batch (Coda 2026-04-26) === */
/* Issues addressed:
     3. Image bg — iron dark grey, smoky (.product-gallery-wrapper)
     4. Hide sticky bottom ATC bar on mobile (.gore-sticky-atc)
     5. Mobile image cropping fix (object-fit: contain on gallery imgs)
     7. Mobile category nav 2x5 grid swap (.gore-cat-nav__grid + hide drawer/list)
     9. Cart drawer mobile simplification overrides (most live in the snippet's <style>)
*/

/* Issue 3 — iron dark grey, smoky background on PDP gallery surface.
   Scoped to .product--section so it cannot leak into other pages. */
.product--section .product-gallery-wrapper {
  background:
    radial-gradient(circle at 30% 20%, rgba(58,64,68,0.55) 0%, rgba(31,35,38,0.0) 55%),
    radial-gradient(circle at 75% 85%, rgba(40,44,48,0.45) 0%, rgba(24,27,29,0.0) 60%),
    linear-gradient(180deg, #1f2326 0%, #1a1d20 50%, #161819 100%);
  border: 1px solid #2a2f33;
  box-shadow: 0 6px 28px rgba(0,0,0,0.45), inset 0 0 80px rgba(0,0,0,0.18);
}

/* Issue 5 — fix mobile image cropping.
   Force object-fit: contain on gallery images so the whole product is visible
   against the new iron-grey background (was object-fit: cover at 38vh in tighten). */
@media (max-width: 1023px) {
  body.template-product .product-gallery-wrapper img:not(.gore-cat-nav__thumb),
  body.template-product .product-gallery__carousel img,
  body.template-product .product-gallery img {
    object-fit: contain;
    object-position: center center;
    background: transparent;
  }
}

/* Issue 4 — hide the sticky bottom ATC bar on mobile (≤1023px).
   The main buy-box CTA above-fold is sufficient. JS still toggles is-visible
   but display:none kills any visual presence + reclaims vertical space. */
@media (max-width: 1023px) {
  body .gore-sticky-atc,
  body .gore-sticky-atc.is-visible {
    display: none;
  }
  /* Cancel the body-class padding-bottom hack so content doesn't have dead space */
  body.sticky-atc-visible .product-main { padding-bottom: 0; }
  /* Hide the secondary sticky-btns footer too if it slips through */
  body .gore-sticky-btns,
  body.sticky-atc-visible .gore-sticky-btns { display: none; }
}

/* Issue 7 — mobile category nav 2 cols × 5 rows image-tile grid.
   Below 768px: hide the desktop pill row AND the legacy <details> drawer (now removed),
   show the new image-tile grid. Bigger images, all 10 categories visible at once. */
.gore-cat-nav__grid { display: none; }
@media (max-width: 767px) {
  body .gore-cat-nav__list { display: none; }
  body .gore-cat-nav-drawer { display: none; }   /* legacy drawer (no longer in DOM) */
  body .gore-cat-nav__grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 6px;
    list-style: none;
    margin: 0;
    padding: 6px;
    background: #111;
  }
  body .gore-cat-nav__grid-item { margin: 0; padding: 0; }
  body .gore-cat-nav__grid-link {
    display: block;
    text-decoration: none;
    color: rgba(255,255,255,0.85);
    background: #1a1a1a;
    border: 1px solid #2a2a2a;
    border-radius: 8px;
    overflow: hidden;
    transition: border-color 160ms ease, background 160ms ease;
    min-height: 48px;
  }
  body .gore-cat-nav__grid-link:hover,
  body .gore-cat-nav__grid-link:focus-visible {
    border-color: rgba(245,162,10,0.55);
    background: #1f1f1f;
  }
  body .gore-cat-nav__grid-item.is-active .gore-cat-nav__grid-link {
    border-color: #F5A20A;
    background: rgba(245,162,10,0.10);
  }
  body .gore-cat-nav__grid-thumb {
    display: block;
    width: 100%;
    aspect-ratio: 1 / 1;
    background: #222;
    overflow: hidden;
  }
  body .gore-cat-nav__grid-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    filter: brightness(0.92);
    transition: filter 160ms ease;
  }
  body .gore-cat-nav__grid-link:hover .gore-cat-nav__grid-thumb img,
  body .gore-cat-nav__grid-item.is-active .gore-cat-nav__grid-thumb img {
    filter: brightness(1.0);
  }
  body .gore-cat-nav__grid-thumb svg {
    width: 64px;
    height: 64px;
    margin: 24% auto;
    display: block;
    color: rgba(255,255,255,0.45);
  }
  body .gore-cat-nav__grid-label {
    display: block;
    text-align: center;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    line-height: 1.2;
    padding: 8px 6px 10px;
    color: rgba(255,255,255,0.85);
  }
  body .gore-cat-nav__grid-item.is-active .gore-cat-nav__grid-label {
    color: #F5A20A;
  }
}
/* === END OPUS mobile-parity-batch (Coda 2026-04-26) === */

/* === gore-bundle-gallery-components 2026-04-26 (Coda) ========================
   Component image divider slide + thumbnail styles for bundle PDPs.
   =========================================================================== */

.gore-gallery__component-divider-slide .swiper-slide__inner {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  min-height: 200px;
  background: #0e0e0e;
}

.gore-gallery__component-divider {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  min-height: 200px;
}

.gore-gallery__component-divider__label {
  display: inline-block;
  padding: 8px 20px;
  background: rgba(192, 200, 208, 0.10);
  border: 1px solid rgba(192, 200, 208, 0.25);
  border-radius: 999px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #C0C8D0;
}

.gore-gallery__component-divider-thumb .thumbnail,
.gore-gallery__component-divider-thumb__inner {
  display: flex;
  align-items: center;
  justify-content: center;
  background: #0e0e0e;
  border: 1px solid #2a2a2a;
  cursor: default;
}

.gore-gallery__component-divider-thumb__label {
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #C0C8D0;
  text-align: center;
  line-height: 1.3;
}

.gore-gallery__component-thumb .thumbnail {
  border-color: transparent;
  transition: border-color 150ms ease-out;
}

.gore-gallery__component-thumb .thumbnail.is-active,
.gore-gallery__component-thumb .thumbnail:focus-visible {
  border-color: #F0A140;
  outline: none;
}

.gore-gallery__component-thumb .thumbnail__image {
  width: 100%;
  height: 100%;
  object-fit: contain;
  padding: 4px;
  box-sizing: border-box;
}

/* === END gore-bundle-gallery-components 2026-04-26 === */
/* === BEGIN savings-dedup-fix (Coda 2026-04-26) === */
/* Quantity badge for components that appear >1 time in a bundle */
.product--section .gore-pdp-components-grid__media {
  position: relative;
}
.product--section .gore-pdp-components-grid__qty {
  position: absolute;
  top: 4px;
  right: 4px;
  min-width: 22px;
  height: 22px;
  padding: 0 6px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #F0A140;
  color: #161616;
  border-radius: 11px;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.02em;
  line-height: 1;
  font-variant-numeric: tabular-nums;
  box-shadow: 0 1px 0 rgba(0, 0, 0, 0.4);
  pointer-events: none;
}
.product--section .gore-pdp-components-grid__value-qty {
  font-size: 11px;
  font-weight: 500;
  color: #9ea4ab;
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
}
/* Allow value row to wrap on narrow cards so the qty math line falls below */
.product--section .gore-pdp-components-grid__card--multi .gore-pdp-components-grid__value {
  flex-wrap: wrap;
  row-gap: 2px;
}
/* === END savings-dedup-fix === */

/* === BEGIN MOBILE PDP REDESIGN (Coda 2026-04-26) ============================
   Ali's mockup, mobile-only (≤1023px). Desktop layout preserved.
   8 sections: header / pricing / buy-box card / payment accordion / trust strip /
   help cards (Ring oss DOMINANT) / payment icons / sticky bottom buy-now bar.
   Designed against iron-grey gallery BG already shipped today (OPUS issue 3).
   No !important, scoped to .product--section / .template-product.
   ============================================================================ */

/* ─── ATC primary suppression on mobile — only KÖP NU (orange) is visible ──
       Course correction (Ali 2026-04-26): mockup has ONE primary CTA. Mobile
       hides Empire's "Lägg i varukorgen" + dynamic checkout (Shop Pay etc).
       Quantity selector stays visible (section 3 of mockup keeps it). Desktop unchanged. */
@media (max-width: 1023px) {
  body.template-product .product-form--regular .product-form__add-button,
  body.template-product .product-form--regular .product-form__buttons .add-to-cart-button,
  body.template-product .product-form--regular button[name="add"],
  body.template-product .product-form--regular .product-form__buttons .button--primary,
  body.template-product .product-form--regular .shopify-payment-button,
  body.template-product .product-form--regular .shopify-payment-button__button,
  body.template-product .product-form--regular .shopify-payment-button__more-options,
  body.template-product .product-form--atc .add-to-cart-button,
  body.template-product .product-form--atc .product-form__add-button,
  body.template-product .product-form--atc .shopify-payment-button {
    display: none;
  }
  /* Quantity selector stays — it's part of the buy-box card. */
  body.template-product .product-form--atc .quantity-selector { display: flex; }
}

/* ─── Duplicate large payment-logo cards row — HIDE on mobile ──────────────
       Ali correction: only one payment row should show (the new gore-pdp-paymethods
       compact row). Empire's right-column "Trust row — payment logos" big tiles
       are redundant on mobile. Desktop unchanged. */
@media (max-width: 1023px) {
  body.template-product .gore-payment-logo,
  body.template-product .gore-payment-logo svg,
  body.template-product .gore-payment-logo img {
    display: none;
  }
  /* Also hide the wrapping flex row that contains them. The wrapper has no
     class — target by direct attribute selector matching the inline style. */
  body.template-product .product--section [style*="border-top:1px solid #2a2a2a"][style*="display:flex"]:has(.gore-payment-logo) {
    display: none;
  }
}

/* ─── Trust strip text — fix mid-word wrapping on narrow viewports ────────
       Ali correction: text wrapped "Reserv-/delar till-/gängliga". Use
       `hyphens: manual` (no auto-break) + tighter font, and gate ultra-narrow
       widths to 2-col grid. */
@media (max-width: 1023px) {
  body.template-product .gore-pdp-trust-strip-rightcol .gore-pdp-trust-strip__head {
    font-size: 10px;
    line-height: 1.15;
    letter-spacing: 0;
    word-break: keep-all;
    overflow-wrap: normal;
    hyphens: manual;
  }
  body.template-product .gore-pdp-trust-strip-rightcol .gore-pdp-trust-strip__sub {
    display: none;  /* drop sub copy on mobile to free space */
  }
}
@media (max-width: 480px) {
  /* On <480 widths, fall back to 2 cols x 2 rows so each label has more width */
  body.template-product .gore-pdp-trust-strip-rightcol .gore-pdp-trust-strip {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px 8px;
  }
  body.template-product .gore-pdp-trust-strip-rightcol .gore-pdp-trust-strip__item {
    flex-direction: row;
    align-items: center;
    text-align: left;
    gap: 8px;
  }
  body.template-product .gore-pdp-trust-strip-rightcol .gore-pdp-trust-strip__icon {
    width: 22px;
    height: 22px;
  }
  body.template-product .gore-pdp-trust-strip-rightcol .gore-pdp-trust-strip__icon svg {
    width: 18px;
    height: 18px;
  }
  body.template-product .gore-pdp-trust-strip-rightcol .gore-pdp-trust-strip__head {
    font-size: 11px;
    line-height: 1.2;
  }
}

/* ─── Section 3: Buy-box card containment ─────────────────────────────────── */
@media (max-width: 1023px) {
  body.template-product .product-form--regular {
    margin: 12px 0 14px;
    padding: 16px;
    background: #1a1d20;
    border: 1px solid #2a2f33;
    border-radius: 10px;
  }
  body.template-product .product-form--regular .product-form__buttons,
  body.template-product .product-form--regular .product-form__add-button-wrapper {
    width: 100%;
  }
  /* Big orange KÖP NU on mobile (overrides global silver styling above only on mobile) */
  body.template-product .gore-buy-now-btn {
    background: linear-gradient(180deg, #F59E0B 0%, #E37F00 100%);
    border: 1px solid #C8321F;
    color: #0e0e0e;
    font-size: 16px;
    font-weight: 800;
    letter-spacing: 0.04em;
    padding: 18px 20px;
    min-height: 56px;
    margin-top: 12px;
    border-radius: 8px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
  }
  body.template-product .gore-buy-now-btn:hover,
  body.template-product .gore-buy-now-btn:focus-visible {
    background: linear-gradient(180deg, #FFB13D 0%, #F08A00 100%);
    border-color: #FFB13D;
  }
  body.template-product .gore-buy-now-btn::before {
    content: "";
    display: inline-block;
    width: 16px;
    height: 16px;
    background-image: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%230e0e0e' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='11' width='18' height='11' rx='2'%3E%3C/rect%3E%3Cpath d='M7 11V7a5 5 0 0 1 10 0v4'%3E%3C/path%3E%3C/svg%3E");
    background-repeat: no-repeat;
  }
  /* Trust line under KÖP NU: "🛡 Säker betalning · 30 dagars öppet köp" */
  body.template-product .product-form--regular::after {
    content: "🛡 Säker betalning · 30 dagars öppet köp";
    display: block;
    margin-top: 12px;
    text-align: center;
    font-size: 12px;
    line-height: 1.3;
    color: rgba(255,255,255,0.6);
    letter-spacing: 0.02em;
  }
}

/* ─── Section 2: Pricing row presentation on mobile ──────────────────────── */
@media (max-width: 1023px) {
  body.template-product .product__price,
  body.template-product .product-prices {
    margin: 8px 0 16px;
  }
  /* "Spara X%" badge — Empire renders it inside .product__price-saved or similar.
     Force pill styling and place it above (the wrapping order is set in markup). */
  body.template-product .product-price-saved,
  body.template-product .product__price-saved,
  body.template-product .price__badge,
  body.template-product .product__badges {
    display: inline-flex;
    align-items: center;
    padding: 4px 10px;
    background: #15803d;
    color: #fff;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    margin-bottom: 8px;
  }
  /* Strikethrough compare-at price size + colour */
  body.template-product .product__price s,
  body.template-product .price__compare,
  body.template-product .product__price del {
    color: rgba(255,255,255,0.45);
    font-size: 14px;
    margin-right: 8px;
  }
}

/* ─── Section 4: Betalningsalternativ accordion ──────────────────────────── */
.product--section .gore-pdp-pay-accordion { display: none; }
@media (max-width: 1023px) {
  .product--section .gore-pdp-pay-accordion {
    display: block;
    margin: 14px 0 16px;
    background: #0e0e0e;
    border: 1px solid #2a2f33;
    border-radius: 10px;
    overflow: hidden;
  }
  .product--section .gore-pdp-pay-accordion__summary {
    list-style: none;
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 14px 16px;
    cursor: pointer;
    min-height: 56px;
    color: #fff;
  }
  .product--section .gore-pdp-pay-accordion__summary::-webkit-details-marker {
    display: none;
  }
  .product--section .gore-pdp-pay-accordion__icon {
    color: #C0C8D0;
    display: inline-flex;
    flex: 0 0 auto;
  }
  .product--section .gore-pdp-pay-accordion__text {
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
  }
  .product--section .gore-pdp-pay-accordion__head {
    font-size: 15px;
    font-weight: 700;
    color: #fff;
    line-height: 1.2;
  }
  .product--section .gore-pdp-pay-accordion__sub {
    font-size: 12px;
    color: rgba(255,255,255,0.55);
    line-height: 1.3;
  }
  .product--section .gore-pdp-pay-accordion__chevron {
    flex: 0 0 auto;
    color: rgba(255,255,255,0.55);
    transition: transform 180ms ease;
  }
  .product--section .gore-pdp-pay-accordion[open] .gore-pdp-pay-accordion__chevron {
    transform: rotate(90deg);
  }
  .product--section .gore-pdp-pay-accordion__body {
    padding: 4px 16px 16px;
    border-top: 1px solid #2a2f33;
  }
  .product--section .gore-pdp-pay-accordion__list {
    list-style: none;
    margin: 12px 0 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 10px;
  }
  .product--section .gore-pdp-pay-accordion__list li {
    font-size: 13px;
    line-height: 1.45;
    color: rgba(255,255,255,0.78);
  }
  .product--section .gore-pdp-pay-accordion__list strong {
    color: #fff;
    font-weight: 700;
  }
  .product--section .gore-pdp-pay-accordion__note {
    margin: 12px 0 0;
    font-size: 12px;
    color: rgba(255,255,255,0.45);
    line-height: 1.4;
  }
}

/* ─── Section 5: Trust strip — 4-col compact mobile ──────────────────────── */
@media (max-width: 1023px) {
  body.template-product .gore-pdp-trust-strip-rightcol {
    margin: 14px 0;
    padding: 14px 12px;
    background: #161819;
    border: 1px solid #2a2f33;
    border-radius: 10px;
  }
  body.template-product .gore-pdp-trust-strip-rightcol .gore-pdp-trust-strip {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 8px;
  }
  body.template-product .gore-pdp-trust-strip-rightcol .gore-pdp-trust-strip__item {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 6px;
    padding: 6px 4px;
  }
  body.template-product .gore-pdp-trust-strip-rightcol .gore-pdp-trust-strip__icon {
    width: 28px;
    height: 28px;
    color: #F0A140;
  }
  body.template-product .gore-pdp-trust-strip-rightcol .gore-pdp-trust-strip__icon svg {
    width: 22px;
    height: 22px;
  }
  body.template-product .gore-pdp-trust-strip-rightcol .gore-pdp-trust-strip__text {
    display: flex;
    flex-direction: column;
    gap: 2px;
  }
  body.template-product .gore-pdp-trust-strip-rightcol .gore-pdp-trust-strip__head {
    font-size: 11px;
    font-weight: 700;
    color: #fff;
    line-height: 1.2;
    letter-spacing: 0;
  }
  body.template-product .gore-pdp-trust-strip-rightcol .gore-pdp-trust-strip__sub {
    font-size: 10px;
    color: rgba(255,255,255,0.55);
    line-height: 1.25;
  }
}

/* ─── Section 6: "Behöver du hjälp?" — Ring oss DOMINANT + Boka rådgivning  */
.gore-pdp-help-heading { display: none; }
.gore-pdp-help-cards { display: none; }
@media (max-width: 1023px) {
  body.template-product .gore-pdp-help-heading {
    display: block;
    margin: 18px 0 8px;
    font-size: 15px;
    font-weight: 700;
    color: #fff;
    letter-spacing: 0.01em;
  }
  body.template-product .gore-pdp-help-cards {
    display: grid;
    grid-template-columns: 1fr;
    gap: 10px;
    margin: 0 0 14px;
  }
  /* Ring oss — DOMINANT card. Bigger, heavier, red accent. */
  body.template-product .gore-pdp-help-cards .gore-call-pdp {
    margin: 0;
    padding: 18px 16px;
    border: 1.5px solid #C8321F;
    border-left: 5px solid #C8321F;
    border-radius: 10px;
    background: linear-gradient(180deg, #1f1414 0%, #1a1010 100%);
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
    box-shadow: 0 4px 18px rgba(200,50,31,0.18);
  }
  body.template-product .gore-pdp-help-cards .gore-call-pdp__icon {
    width: 44px;
    height: 44px;
    background: rgba(200,50,31,0.22);
  }
  body.template-product .gore-pdp-help-cards .gore-call-pdp__icon svg {
    width: 24px;
    height: 24px;
  }
  body.template-product .gore-pdp-help-cards .gore-call-pdp__text {
    width: 100%;
    gap: 2px;
  }
  body.template-product .gore-pdp-help-cards .gore-call-pdp__headline {
    font-size: 15px;
    line-height: 1.15;
    letter-spacing: 0.02em;
    text-transform: uppercase;
    color: #fff;
  }
  body.template-product .gore-pdp-help-cards .gore-call-pdp__caption {
    display: none;
  }
  body.template-product .gore-pdp-help-cards .gore-call-pdp__number {
    font-size: 22px;
    font-weight: 800;
    margin-top: 4px;
    color: #fff;
  }
  /* Hours line we add via ::after */
  body.template-product .gore-pdp-help-cards .gore-call-pdp::after {
    content: "Vardagar 08-17";
    display: block;
    font-size: 11px;
    color: rgba(255,255,255,0.55);
    margin-top: 2px;
    letter-spacing: 0.02em;
  }
  /* Boka rådgivning — secondary card */
  body.template-product .gore-pdp-help-cards .gore-pdp-booking-btn {
    margin: 0;
    padding: 18px 14px;
    border: 1px solid #2a2f33;
    border-radius: 10px;
    background: #161819;
    color: rgba(255,255,255,0.85);
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
    text-decoration: none;
    min-height: 100%;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.25;
  }
  body.template-product .gore-pdp-help-cards .gore-pdp-booking-btn:hover,
  body.template-product .gore-pdp-help-cards .gore-pdp-booking-btn:focus-visible {
    border-color: #15803d;
    background: #1a1d20;
  }
  body.template-product .gore-pdp-help-cards .gore-pdp-booking-btn svg {
    width: 22px;
    height: 22px;
    color: #15803d;
  }
  body.template-product .gore-pdp-help-cards .gore-pdp-booking-btn span {
    font-size: 13px;
    font-weight: 700;
    color: #fff;
    line-height: 1.2;
  }
  body.template-product .gore-pdp-help-cards .gore-pdp-booking-btn::after {
    content: "Prata med våra experter";
    font-size: 11px;
    font-weight: 500;
    color: rgba(255,255,255,0.55);
    line-height: 1.3;
  }
}

/* ─── Section 7: Payment icons row ───────────────────────────────────────── */
.product--section .gore-pdp-paymethods { display: none; }
@media (max-width: 1023px) {
  .product--section .gore-pdp-paymethods {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 8px;
    margin: 8px 0 14px;
    padding: 12px;
    background: #161819;
    border: 1px solid #2a2f33;
    border-radius: 10px;
  }
  .product--section .gore-pdp-paymethods__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #fff;
    border-radius: 4px;
    padding: 4px 8px;
    height: 28px;
    min-width: 38px;
  }
  .product--section .gore-pdp-paymethods__svg,
  .product--section .gore-pdp-paymethods__icon svg {
    display: block;
    height: 20px;
    width: auto;
    max-width: 40px;
  }
}

/* ─── Section 8: Sticky bottom buy-now bar (mobile only) ─────────────────── */
.gore-pdp-buynow-bar { display: none; }
@media (max-width: 1023px) {
  .gore-pdp-buynow-bar {
    display: flex;
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    padding: 10px 14px env(safe-area-inset-bottom, 10px);
    align-items: center;
    gap: 12px;
    background: #0e0e0e;
    border-top: 1px solid #2a2f33;
    z-index: 998;
    transform: translateY(110%);
    transition: transform 240ms cubic-bezier(0.2, 0.7, 0.2, 1);
    box-shadow: 0 -8px 24px rgba(0,0,0,0.5);
  }
  .gore-pdp-buynow-bar.is-visible {
    transform: translateY(0);
  }
  .gore-pdp-buynow-bar__price {
    flex: 0 1 auto;
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
  }
  .gore-pdp-buynow-bar__amount {
    font-size: 16px;
    font-weight: 800;
    color: #fff;
    line-height: 1.1;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
  }
  .gore-pdp-buynow-bar__vat {
    font-size: 10px;
    color: rgba(255,255,255,0.5);
    line-height: 1.1;
    letter-spacing: 0.02em;
  }
  .gore-pdp-buynow-bar__cta {
    flex: 1 1 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 56px;
    padding: 14px 20px;
    background: linear-gradient(180deg, #F59E0B 0%, #E37F00 100%);
    color: #0e0e0e;
    border-radius: 8px;
    font-size: 15px;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    text-decoration: none;
    box-shadow: 0 4px 14px rgba(243,128,0,0.4);
  }
  .gore-pdp-buynow-bar__cta:hover,
  .gore-pdp-buynow-bar__cta:focus-visible {
    background: linear-gradient(180deg, #FFB13D 0%, #F08A00 100%);
  }
  .gore-pdp-buynow-bar__lock {
    flex: 0 0 auto;
  }
  /* Reserve space at bottom of page so sticky bar doesn't overlap content */
  body.template-product { padding-bottom: 80px; }
}

/* Guard: never show sticky on desktop even if .is-visible is set */
@media (min-width: 1024px) {
  .gore-pdp-buynow-bar { display: none; }
}

/* === END MOBILE PDP REDESIGN (Coda 2026-04-26) ============================ */

/* === BEGIN PDP CLEANUP 2026-04-26 (Coda) === */
/* Fix 3: extend smoky iron-grey BG to bundle "Det här ingår" + "Du sparar".
   Keeps .product-gallery-wrapper smoky (defined upstream in OPUS block).
   Buy-box / Betalningsalternativ / Help / Trust / Payment-icons / Sticky bar
   are NOT touched — they stay plain dark per Ali. */
.product--section .gore-pdp-bundle-fallback {
  background:
    radial-gradient(circle at 30% 20%, rgba(58,64,68,0.55) 0%, rgba(31,35,38,0.0) 55%),
    radial-gradient(circle at 75% 85%, rgba(40,44,48,0.45) 0%, rgba(24,27,29,0.0) 60%),
    linear-gradient(180deg, #1f2326 0%, #1a1d20 50%, #161819 100%);
  border: 1px solid #2a2f33;
  box-shadow: 0 6px 28px rgba(0,0,0,0.45), inset 0 0 80px rgba(0,0,0,0.18);
  border-radius: 10px;
  padding: 18px 14px;
  margin: 14px 0;
}

/* Fix 4 (mobile image cropping) DROPPED 2026-04-26 per Ali — earlier object-fit:contain
   work in upstream OPUS block + gore-mobile-tighten is rendering correctly once the CDN
   evicted. No additional gallery-image rules needed here. Reverting to leave Empire's
   gallery sizing alone keeps this block focused on the in-scope smoky-bg + bottom-pills
   wins only. */

/* Fix 2 supporting CSS: when the Visa-detta-paket / koppling / dimensions pills move
   below the rail, give them a proper bottom-of-page treatment (centered, breathing room). */
.gore-pdp-bottom-actions {
  display: block;
  margin: 28px 0 36px;
  padding: 0 16px;
}
.gore-pdp-bottom-actions .gore-bundle-resize {
  margin: 0 0 14px;
}
.gore-pdp-bottom-actions .gore-pdp-quick-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 14px 0 0;
}
.gore-pdp-bottom-actions .collapsible-tab.gore-kopplingsguide {
  margin: 14px 0 0;
}
@media (max-width: 1023px) {
  body.template-product .gore-pdp-bottom-actions {
    padding: 0 12px;
    margin: 24px 0 24px;
  }
  body.template-product .gore-pdp-bottom-actions .gore-pdp-quick-actions {
    flex-direction: column;
  }
  body.template-product .gore-pdp-bottom-actions .gore-pdp-quick-actions__pill {
    width: 100%;
    min-height: 48px;
  }
}
/* === END PDP CLEANUP 2026-04-26 === */

/* === BEGIN BUNDLE-PDP-DESKTOP-REORDER (Coda 2026-04-26) === */
/* Group D: desktop bundle PDP layout — DET HÄR INGÅR + DU SPARAR
   render in LEFT column directly under the gallery, not in right column.
   Mobile unchanged.
   Group F (accordion glow fix): plain dark BG, no orange halo.
   Group E (desktop adaptations): payment-icon row, accordion, help cards on desktop. */

/* --- Group F: Accordion glow fix ---------------------------------------- */
/* Force the Betalningsalternativ accordion to be plain dark, no glow halo
   from any inherited box-shadow / outline / orange-tinted border. */
.product--section .gore-pdp-pay-accordion,
.product--section .gore-pdp-pay-accordion[open],
.product--section .gore-pdp-pay-accordion__summary,
.product--section .gore-pdp-pay-accordion__summary:focus,
.product--section .gore-pdp-pay-accordion__summary:focus-visible,
.product--section .gore-pdp-pay-accordion__summary:hover {
  box-shadow: none;
  outline: none;
  background-image: none;
}
.product--section .gore-pdp-pay-accordion {
  background: #0d0d0d;
  border: 1px solid #1f2326;
}
.product--section .gore-pdp-pay-accordion__summary:focus-visible {
  outline: 2px solid rgba(255,255,255,0.18);
  outline-offset: 2px;
}

/* --- Group D: Desktop bundle slot — show under gallery in left column --- */
/* The slot already exists in product.liquid as
   .gore-pdp-bundle-slot--desktop inside .product-gallery-wrapper.
   We move it BEFORE Tekniska specifikationer via Liquid edit (separate change),
   and tighten its desktop spacing here. */
@media (min-width: 1024px) {
  body.template-product .product--section .product-gallery-wrapper .gore-pdp-bundle-slot--desktop {
    display: block;
    margin-top: 24px;
    padding-top: 0;
  }
  body.template-product .product--section .product-gallery-wrapper .gore-pdp-bundle-slot--desktop:empty {
    display: none;
  }
}

/* --- Group E: Desktop adaptations ---------------------------------------- */
/* E.1 Show Behöver du hjälp? card on desktop too. Mobile rules already exist
   under @media max-width:1023; we add a desktop counterpart that flips display:
   from none to grid, but keeps the card sizing tighter for the right column. */
@media (min-width: 1024px) {
  body.template-product .gore-pdp-help-heading {
    display: block;
    margin: 18px 0 10px;
    font-size: 14px;
    font-weight: 700;
    color: #fff;
    letter-spacing: 0.01em;
  }
  body.template-product .gore-pdp-help-cards {
    display: grid;
    grid-template-columns: 1fr;
    gap: 12px;
    margin: 0 0 16px;
  }
  /* Ring oss DOMINANT (desktop variant — smaller padding for narrow right col) */
  body.template-product .gore-pdp-help-cards .gore-call-pdp {
    margin: 0;
    padding: 18px 18px;
    border: 1px solid rgba(192, 200, 208, 0.15);
    border-left: 4px solid #C8321F;
    border-radius: 4px;
    background: #1A1A1A;
    display: flex;
    align-items: center;
    gap: 14px;
  }
  body.template-product .gore-pdp-help-cards .gore-call-pdp__icon {
    flex: 0 0 auto;
    color: #C8321F;
  }
  body.template-product .gore-pdp-help-cards .gore-call-pdp__icon svg {
    width: 26px;
    height: 26px;
  }
  body.template-product .gore-pdp-help-cards .gore-call-pdp__text {
    display: flex;
    flex-direction: column;
    min-width: 0;
  }
  body.template-product .gore-pdp-help-cards .gore-call-pdp__headline {
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.08em;
    color: #FAFAF7;
    text-transform: uppercase;
    line-height: 1.1;
  }
  body.template-product .gore-pdp-help-cards .gore-call-pdp__caption {
    font-size: 11px;
    color: rgba(255,255,255,0.55);
    margin-top: 2px;
    line-height: 1.2;
  }
  body.template-product .gore-pdp-help-cards .gore-call-pdp__number {
    font-size: 16px;
    font-weight: 800;
    letter-spacing: 0.02em;
    color: #FAFAF7;
    margin-top: 4px;
  }
  /* Boka rådgivning (secondary card on desktop) */
  body.template-product .gore-pdp-help-cards .gore-pdp-booking-btn {
    margin: 0;
    padding: 14px 14px;
    border: 1px solid rgba(192, 200, 208, 0.18);
    border-radius: 4px;
    background: #0e0e0e;
    color: #FAFAF7;
    text-decoration: none;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    min-height: 48px;
  }
  body.template-product .gore-pdp-help-cards .gore-pdp-booking-btn:hover,
  body.template-product .gore-pdp-help-cards .gore-pdp-booking-btn:focus-visible {
    background: rgba(192, 200, 208, 0.06);
    border-color: rgba(192, 200, 208, 0.32);
    outline: none;
  }
  body.template-product .gore-pdp-help-cards .gore-pdp-booking-btn svg {
    flex: 0 0 auto;
  }

  /* E.2 Betalningsalternativ accordion on desktop too */
  .product--section .gore-pdp-pay-accordion {
    display: block;
    margin: 14px 0 16px;
    background: #0d0d0d;
    border: 1px solid #1f2326;
    border-radius: 8px;
    overflow: hidden;
  }
  .product--section .gore-pdp-pay-accordion__summary {
    list-style: none;
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 14px;
    cursor: pointer;
    min-height: 48px;
    color: #fff;
  }
  .product--section .gore-pdp-pay-accordion__summary::-webkit-details-marker {
    display: none;
  }
  .product--section .gore-pdp-pay-accordion__icon {
    color: #C0C8D0;
    display: inline-flex;
    flex: 0 0 auto;
  }
  .product--section .gore-pdp-pay-accordion__text {
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
  }
  .product--section .gore-pdp-pay-accordion__head {
    font-size: 14px;
    font-weight: 700;
    color: #fff;
    line-height: 1.2;
  }
  .product--section .gore-pdp-pay-accordion__sub {
    font-size: 11px;
    color: rgba(255,255,255,0.55);
    line-height: 1.3;
  }
  .product--section .gore-pdp-pay-accordion__chevron {
    flex: 0 0 auto;
    color: rgba(255,255,255,0.55);
    transition: transform 180ms ease;
  }
  .product--section .gore-pdp-pay-accordion[open] .gore-pdp-pay-accordion__chevron {
    transform: rotate(90deg);
  }
  .product--section .gore-pdp-pay-accordion__body {
    padding: 4px 14px 14px;
    border-top: 1px solid #1f2326;
  }
  .product--section .gore-pdp-pay-accordion__list {
    list-style: none;
    margin: 10px 0 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 8px;
  }
  .product--section .gore-pdp-pay-accordion__list li {
    font-size: 12px;
    line-height: 1.45;
    color: rgba(255,255,255,0.78);
  }
  .product--section .gore-pdp-pay-accordion__list strong {
    color: #fff;
    font-weight: 700;
  }
  .product--section .gore-pdp-pay-accordion__note {
    margin: 10px 0 0;
    font-size: 11px;
    color: rgba(255,255,255,0.45);
    line-height: 1.4;
  }

  /* E.3 Small canonical payment-icon row on desktop too */
  .product--section .gore-pdp-paymethods {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 6px;
    margin: 8px 0 14px;
    padding: 10px;
    background: #161819;
    border: 1px solid #1f2326;
    border-radius: 8px;
  }
  .product--section .gore-pdp-paymethods__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #fff;
    border-radius: 4px;
    padding: 3px 6px;
    height: 24px;
    min-width: 32px;
  }
  .product--section .gore-pdp-paymethods__svg,
  .product--section .gore-pdp-paymethods__icon svg {
    display: block;
    height: 16px;
    width: auto;
    max-width: 36px;
  }

  /* E.4 (desktop within @media) — also relocated below as global rule */
}

/* E.4 Hide the old big VISA/MC/Klarna tile row at ALL viewports (replaced by canonical small row).
   The wrapper <div> that holds the 3 big tiles has NO class, but its first child has
   .gore-payment-logo. Hide the .gore-payment-logo elements AND collapse the wrapper to nothing
   visually. We use :has() to also hide the wrapper itself when supported. */
body.template-product .gore-payment-logo {
  display: none;
}
/* Wrapper has no class — use :has() to target it where supported (modern browsers) */
body.template-product div[style*="display:flex;flex-wrap:wrap;gap:10px;margin-top:24px"]:has(.gore-payment-logo) {
  display: none;
}
/* === END BUNDLE-PDP-DESKTOP-REORDER === */

/* ========================================================================
   ROLLBACK 2026-04-30 STEP 2 — MOBILE-IMAGE-CROP-FIX-3 disabled (Coda).
   Reason: Ali reports mobile gallery still broken after step 1
   (MOBILE-GALLERY-FIXES-2026-04-30 disabled). Continuing rollback
   newest-first. This block previously overrode aspect-ratio and
   height on .product-gallery-wrapper inline gallery for the
   bundle PDP letterboxing fix. Original block contents preserved
   below (with `*/` -> `*_/` to keep outer CSS comment well-formed).
   Restore by undoing this wrap.
   ========================================================================
/* === BEGIN MOBILE-IMAGE-CROP-FIX-3 (Coda 2026-04-26) =========================
   Bug: Bundle PDP hero image on mobile is letterboxed with massive black
   bars on left/right. Root cause: Empire's gallery snippet renders every
   .media wrapper with inline `style="--aspect-ratio: 1/1"` regardless of
   the source image's true ratio. The wrapper's CSS uses `aspect-ratio:
   var(--aspect-ratio, 1/1)` so it forces a 1:1 square. With a 4:5 portrait
   hero (e.g. 1080x1350) and `object-fit: contain`, the image fits to
   height inside the square box and leaves vertical bars on each side
   showing the wrapper's #0e0e0e background.

   Fix part 1: On mobile (<=1023px) override `aspect-ratio` to `auto` on
   the gallery's main media wrapper so the natural ratio is used. Image
   stretches width:100% with height:auto; object-fit:contain centers
   anything off-ratio.

   Fix part 2 (added 2026-04-26 lightbox repair): The earlier scope was
   `.product-gallery-wrapper` which seemed safe, but Ali reported the
   PhotoSwipe lightbox opens with the image stuck in the upper-left ~30%
   of viewport. PhotoSwipe (`.pswp`) is appended to <body> on click, so
   in theory my rules don't cascade in -- but defensively we now:
     (a) restore PhotoSwipe vendor defaults inside `.pswp` at higher
         specificity, so any of our `.media` / `.media__image` /
         `.swiper-slide__inner` overrides go quiet inside the lightbox;
     (b) re-assert that `.pswp__img` keeps `width:auto; height:auto;
         max-width:none; aspect-ratio:auto; object-fit:initial` so
         PhotoSwipe's JS-set inline width/height + the `.pswp__zoom-wrap`
         transform position the image correctly centered.
   Zero !important.
   ============================================================================ *_/
@media (max-width: 1023px) {
  /* Inline gallery only -- explicit `:not(.pswp ...)` guard via parent
     `.product-gallery-wrapper`. PhotoSwipe lightbox is a body-level
     sibling so it's already excluded by structure, but we keep the
     scope tight in case a future Empire update wraps the lightbox
     differently. *_/
  body.template-product .product-gallery-wrapper .swiper.product-gallery__viewer .media,
  body.template-product .product-gallery-wrapper .swiper.product-gallery__viewer .media--aspect-ratio-set,
  body.template-product .product-gallery-wrapper .swiper.product-gallery__viewer .swiper-slide__inner,
  body.template-product .product-gallery-wrapper .swiper.product-gallery__viewer .swiper-slide__inner .media {
    aspect-ratio: auto;
    height: auto;
    min-height: 0;
  }
  body.template-product .product-gallery-wrapper .swiper.product-gallery__viewer .media__image {
    width: 100%;
    height: auto;
    max-width: 100%;
    display: block;
    object-fit: contain;
    object-position: center center;
  }
  /* Gallery wrapper: keep smoky bg but let image dictate height. *_/
  body.template-product .product-gallery-wrapper {
    height: auto;
  }
  /* Swiper viewport / wrapper -- natural-height slides (inline gallery
     only; PhotoSwipe doesn't use these classes). *_/
  body.template-product .product-gallery-wrapper .swiper.product-gallery__viewer,
  body.template-product .product-gallery-wrapper .swiper.product-gallery__viewer .swiper-wrapper,
  body.template-product .product-gallery-wrapper .swiper.product-gallery__viewer .swiper-slide {
    height: auto;
  }
}

/* Lightbox / PhotoSwipe restoration moved to MOBILE-GALLERY-FIXES-2026-04-30 *_/
/* === END MOBILE-IMAGE-CROP-FIX-3 (Coda 2026-04-26) === *_/
*/


/* === BEGIN COLLECTION-CARDS CONSOLIDATED 2026-04-26 === */
/* Collection / search browse cards — mobile + tablet (<=1023px).
   Single authoritative block. Replaces 4 prior conflicting blocks.
   Specificity: body.template-X .productgrid--items .productitem ... = (0,4,1) min.
   Zero !important. See diag/2026-04-26-collection-card-audit.md.
*/
@media (max-width: 1023px) {

  /* ============ CARD CONTAINER — transparent, no chrome ============ */
  body.template-collection .productgrid--items .productgrid--item .productitem,
  body.template-search     .productgrid--items .productgrid--item .productitem {
    background: transparent;
    background-color: transparent;
    border: 0;
    box-shadow: none;
    outline: 0;
    padding: 0;
    margin: 0;
  }
  body.template-collection .productgrid--items .productgrid--item .productitem .productitem__container,
  body.template-search     .productgrid--items .productgrid--item .productitem .productitem__container {
    background: transparent;
    border: 0;
    box-shadow: none;
  }

  /* ============ IMAGE AREA — full-width, square, transparent ============ */
  body.template-collection .productgrid--items .productitem .productitem__image-container,
  body.template-search     .productgrid--items .productitem .productitem__image-container {
    position: relative;
    width: 100%;
    aspect-ratio: 1 / 1;
    background: transparent;
    border: 0;
    box-shadow: none;
    overflow: hidden;
    padding: 0;
    margin: 0;
  }
  body.template-collection .productgrid--items .productitem .productitem__image-container .productitem--image-link,
  body.template-search     .productgrid--items .productitem .productitem__image-container .productitem--image-link {
    display: block;
    width: 100%;
    height: 100%;
    background: transparent;
    border: 0;
  }
  body.template-collection .productgrid--items .productitem .productitem__image-container .productitem--image,
  body.template-search     .productgrid--items .productitem .productitem__image-container .productitem--image {
    display: block;
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0;
    background: transparent;
    border: 0;
    box-shadow: none;
  }
  body.template-collection .productgrid--items .productitem .productitem__image-container .productitem--image img,
  body.template-search     .productgrid--items .productitem .productitem__image-container .productitem--image img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center center;
    background: transparent;
    mix-blend-mode: normal;
  }

  /* ============ SALE BADGE — orange brand pill, full text ============ */
  body.template-collection .productgrid--items .productitem .productitem__image-container .productitem__badge.productitem__badge--sale,
  body.template-search     .productgrid--items .productitem .productitem__image-container .productitem__badge.productitem__badge--sale {
    position: absolute;
    top: 8px;
    left: 8px;
    right: auto;
    bottom: auto;
    width: max-content;
    max-width: calc(100% - 16px);
    min-width: 0;
    padding: 4px 10px;
    background-color: #F0A140;
    color: #ffffff;
    font-size: 11px;
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: 0.02em;
    text-transform: uppercase;
    border-radius: 999px;
    white-space: nowrap;
    overflow: visible;
    text-overflow: clip;
    box-shadow: 0 1px 3px rgba(0,0,0,0.18);
    z-index: 3;
    box-sizing: border-box;
  }
  body.template-collection .productgrid--items .productitem .productitem__image-container .productitem__badge.productitem__badge--sale > span,
  body.template-search     .productgrid--items .productitem .productitem__image-container .productitem__badge.productitem__badge--sale > span {
    display: inline;
    white-space: nowrap;
    overflow: visible;
  }
  /* Hide the duplicate badge inside .productitem--actions .productitem--listview-badge
     (Empire renders it twice; only the image-overlay one should show). */
  body.template-collection .productgrid--items .productitem .productitem--actions .productitem--listview-badge,
  body.template-search     .productgrid--items .productitem .productitem--actions .productitem--listview-badge {
    display: none;
  }

  /* ============ INFO BLOCK — title, vendor, price ============ */
  body.template-collection .productgrid--items .productitem .productitem__container .productitem--info,
  body.template-search     .productgrid--items .productitem .productitem__container .productitem--info {
    background: transparent;
    margin: 0;
    padding: 8px 4px 6px;
  }

  /* Title — 3 lines clamp, normal word-break */
  body.template-collection .productgrid--items .productitem .productitem--info .productitem--title,
  body.template-search     .productgrid--items .productitem .productitem--info .productitem--title {
    display: -webkit-box;
    -webkit-line-clamp: 3;
    line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    min-height: 0;
    max-height: 4.2em;
    margin: 6px 0 4px;
    word-break: normal;
    overflow-wrap: break-word;
    -webkit-hyphens: manual;
    hyphens: manual;
    line-height: 1.35;
  }
  body.template-collection .productgrid--items .productitem .productitem--info .productitem--title a,
  body.template-search     .productgrid--items .productitem .productitem--info .productitem--title a {
    display: inline;
    font-size: 13px;
    line-height: 1.35;
    font-weight: 600;
  }

  /* Vendor — small, muted */
  body.template-collection .productgrid--items .productitem .productitem--info .productitem--vendor,
  body.template-search     .productgrid--items .productitem .productitem--info .productitem--vendor {
    font-size: 11px;
    line-height: 1.2;
    margin-bottom: 2px;
  }
  /* Description — hidden on mobile cards */
  body.template-collection .productgrid--items .productitem .productitem--info .productitem--description,
  body.template-search     .productgrid--items .productitem .productitem--info .productitem--description {
    display: none;
  }

  /* Price — single line, no wrap */
  body.template-collection .productgrid--items .productitem .productitem__price,
  body.template-search     .productgrid--items .productitem .productitem__price {
    margin-top: 4px;
  }
  body.template-collection .productgrid--items .productitem .productitem__price .price__current,
  body.template-collection .productgrid--items .productitem .productitem__price .price__current .money,
  body.template-search     .productgrid--items .productitem .productitem__price .price__current,
  body.template-search     .productgrid--items .productitem .productitem__price .price__current .money {
    font-size: 15px;
    font-weight: 800;
    line-height: 1.2;
    white-space: nowrap;
  }
  body.template-collection .productgrid--items .productitem .productitem__price .price__compare-at,
  body.template-collection .productgrid--items .productitem .productitem__price .price__compare-at .money,
  body.template-search     .productgrid--items .productitem .productitem__price .price__compare-at,
  body.template-search     .productgrid--items .productitem .productitem__price .price__compare-at .money {
    font-size: 12px;
    white-space: nowrap;
  }
  body.template-collection .productgrid--items .productitem .productitem__price .price__tax-label,
  body.template-search     .productgrid--items .productitem .productitem__price .price__tax-label {
    margin-top: 2px;
  }
  body.template-collection .productgrid--items .productitem .productitem__price .price__tax-note,
  body.template-search     .productgrid--items .productitem .productitem__price .price__tax-note {
    font-size: 11px;
    line-height: 1.2;
    white-space: nowrap;
    display: inline-block;
  }

  /* ============ ACTIONS — full-width Köp button ============ */
  body.template-collection .productgrid--items .productitem .productitem--actions,
  body.template-search     .productgrid--items .productitem .productitem--actions {
    display: flex;
    flex-direction: column;
    gap: 6px;
    padding: 6px 0 0 0;
    margin: 0;
    max-width: none;
    width: 100%;
    box-sizing: border-box;
  }
  body.template-collection .productgrid--items .productitem .productitem--actions .productitem--listview-price,
  body.template-search     .productgrid--items .productitem .productitem--actions .productitem--listview-price {
    display: none; /* price already shown above in .productitem--info */
  }
  /* Hide quickshop + desktop-only actions on mobile */
  body.template-collection .productgrid--items .productitem .productitem--actions .quickshop-button,
  body.template-collection .productgrid--items .productitem .productitem--actions .productitem-action--desktop,
  body.template-search     .productgrid--items .productitem .productitem--actions .quickshop-button,
  body.template-search     .productgrid--items .productitem .productitem--actions .productitem-action--desktop {
    display: none;
  }
  /* Each action wrapper — full width */
  body.template-collection .productgrid--items .productitem .productitem--actions .productitem--action,
  body.template-search     .productgrid--items .productitem .productitem--actions .productitem--action {
    width: 100%;
    margin: 0;
    padding: 0;
    flex: none;
  }
  /* CTA button — Empire's Add-to-cart trigger.
     Full width, 44px tall, brand orange, white-space:nowrap.
     Specificity (0,5,1) wins against Empire's `.productitem--action-trigger`
     (0,1,0) and `.productitem--actions .button-primary` (0,2,0).
     Site-wide `min-height: 44px` from theme.liquid inline style stays compatible. */
  body.template-collection .productgrid--items .productitem .productitem--actions .productitem--action-trigger,
  body.template-collection .productgrid--items .productitem .productitem--actions .button-primary,
  body.template-collection .productgrid--items .productitem .productitem--actions .button-secondary,
  body.template-search     .productgrid--items .productitem .productitem--actions .productitem--action-trigger,
  body.template-search     .productgrid--items .productitem .productitem--actions .button-primary,
  body.template-search     .productgrid--items .productitem .productitem--actions .button-secondary {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 44px;
    height: 44px;
    padding: 0 12px;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.04em;
    line-height: 1;
    white-space: nowrap;
    text-align: center;
    text-overflow: ellipsis;
    overflow: hidden;
    background-color: #F0A140;
    color: #1a1a1a;
    border: 0;
    border-radius: 4px;
    box-sizing: border-box;
  }
  /* The atc-button text span — keep visible, inline. The ::before { content: 'Köp' }
     hack from prior block is REMOVED. Text is whatever Liquid renders ("Add to cart"
     or translated "Lägg till"). Copy translation is a separate Liquid/locale fix. */
  body.template-collection .productgrid--items .productitem .productitem--actions .productitem--action-trigger .atc-button--text,
  body.template-search     .productgrid--items .productitem .productitem--actions .productitem--action-trigger .atc-button--text {
    display: inline;
    font-size: inherit;
    line-height: inherit;
    padding: 0;
    margin: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  /* Hide the loading-spinner SVG icon in card buttons (clutter at 44px height) */
  body.template-collection .productgrid--items .productitem .productitem--actions .productitem--action-trigger .atc-button--icon,
  body.template-search     .productgrid--items .productitem .productitem--actions .productitem--action-trigger .atc-button--icon {
    display: none;
  }
}
/* === END COLLECTION-CARDS CONSOLIDATED 2026-04-26 === */

/* === BEGIN mobile-pdp-fix-bundle-slot-visibility (Coda 2026-04-26) === */
/* Fix: "Det här ingår" appearing twice on mobile.
   Desktop slot: render under gallery on desktop only (≥768px). Hide on mobile.
   Mobile slot: render after buy-now bar on mobile only (≤767px). Hide on desktop.
*/
/* Desktop slot — hide on mobile */
@media (max-width: 767px) {
  body.template-product .gore-pdp-bundle-slot--desktop {
    display: none;
  }
}
/* Mobile slot — hide on desktop */
@media (min-width: 768px) {
  body.template-product .gore-pdp-bundle-slot--mobile {
    display: none;
  }
}
/* === END mobile-pdp-fix-bundle-slot-visibility === */

/* === BEGIN trust-strip-mobile-fix === */
/* Trust strip mobile fix — 2026-04-26 (Coda).
   (a) 2x2 grid at <=480px overrides the earlier 1-col fallback on the base rule.
       The rightcol variant already has its own 2x2 override — this ensures the
       base .gore-pdp-trust-strip also stays 2x2 if ever rendered outside .rightcol.
   (b) background: transparent on mobile removes the iron-grey (#161616) BG so the
       strip blends into the page background rather than floating as a box.
   Scoped to .product--section throughout. Zero !important. */
@media (max-width: 480px) {
  .product--section .gore-pdp-trust-strip {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    background: transparent;
    border: none;
    padding: 12px 0;
    margin: 16px 0 4px;
  }
}
/* === END trust-strip-mobile-fix === */

/* === BEGIN buy-section-card-flat-mobile (Coda 2026-04-26) ============================
   Strip the dark card framing from the mobile buy-section so it blends with the page BG.
   Source rule lives in MOBILE PDP REDESIGN block (line ~1360) and applies:
     background: #1a1d20; border: 1px solid #2a2f33; border-radius: 10px.
   Ali wants no card frame on mobile — plain page BG, no border, no rounding.
   Internal padding (16px) is preserved so content does not run flush to the viewport edge.
   Higher specificity via leading `html` type selector. Mobile only. Zero !important.
   Desktop frame (>=1024px) untouched. */
@media (max-width: 1023px) {
  html body.template-product .product-form--regular {
    background: transparent;
    border: 0;
    border-radius: 0;
  }
}
/* === END buy-section-card-flat-mobile === */

/* === BEGIN hero-badges-mobile-restore === */
/* Hero badges mobile restore — 2026-04-26 (Coda).
   Earlier today the badges were hidden on <1024px because the previous brief
   said the lifestyle photo was being cropped. Reversed per Ali's request:
   badges should be visible on mobile.
   The snippet's inline <style> block already has mobile shrinkage rules
   (top:10/right:10, 56x56px, smaller type) that take effect at <=600px.
   This block is a defensive re-assertion so any future cascade keeps them
   visible. pointer-events: none ensures image tap-to-zoom is unaffected. */
@media (max-width: 1023px) {
  body.template-product .product--section .gore-pdp-hero-badges {
    display: flex;
    pointer-events: none;
  }
}
/* === END hero-badges-mobile-restore === */


/* === BEGIN HOMEPAGE-CATEGORIES (Coda 2026-04-26 v-final) === */
/*
  CONSOLIDATED rewrite. Replaces:
    - HOME-COLLECTIONS smoky-bg (deleted)
    - HOME-CARDS FIX-2 (deleted)
    - CATEGORY-CARDS REDESIGN (deleted)
    - HOMEPAGE-CATEGORY-GRID-FILL (deleted)

  Strategy:
    - Smoky iron-grey section BG preserved (Ali's preference).
    - Square 1:1 image tile, object-fit: cover, products fill edge-to-edge.
    - Card link is flex column with stretch — equal heights regardless of
      title length. Image area is fixed-aspect; title row reserves space
      for 2 lines so "Drivenheter för Jordborrar" (2 lines) and "Skopor"
      (1 line) cards align perfectly.
    - Title clamps to 2 lines max with ellipsis fallback.
    - Subtle inner border + radius on tile so dark products separate from
      smoky BG. No solid card background — the BG shows through the gap.
    - Mobile-only (<= 1023px). Desktop untouched.
    - Zero !important. No JS.

  Specificity: body.template-index .collection-list--section ... = (0,3,1)+
  Late position in file ensures cascade-tie wins against any future
  generic .collection-list rules.

  HTML reference (live homepage iPhone, post product-image-swap):
    section.collection-list--section
      > section.collection-list__container
        > h2.home-section--title
        > ul.collection-list__content
          > li.collection__item
            > a
              > figure.collection__item-image
                > img  (or empty-state placeholder div)
              > span.collection__item-info.collection__item-title
*/
@media (max-width: 1023px) {

  /* ---- Section wrapper: KEEP smoky iron-grey BG (Ali wants this) ---- */
  body.template-index .collection-list--section,
  body.template-list-collections .collection-list--section {
    background:
      radial-gradient(circle at 30% 20%, rgba(58,64,68,0.55) 0%, rgba(31,35,38,0.0) 55%),
      radial-gradient(circle at 75% 85%, rgba(40,44,48,0.45) 0%, rgba(24,27,29,0.0) 60%),
      linear-gradient(180deg, #1f2326 0%, #1a1d20 50%, #161819 100%);
    border-top: 1px solid #2a2f33;
    border-bottom: 1px solid #2a2f33;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    overflow: hidden;
  }
  body.template-index .collection-list--section .collection-list__container,
  body.template-list-collections .collection-list--section .collection-list__container {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    margin: 0 auto;
    padding: 8px 0 12px;
  }

  /* ---- Section title (h2.home-section--title) ---- */
  body.template-index .collection-list--section .home-section--title,
  body.template-list-collections .collection-list--section .home-section--title {
    color: #e8edf2;
    text-align: center;
    margin: 6px 12px 8px;
    font-size: 18px;
    font-weight: 700;
    letter-spacing: 0.01em;
  }

  /* ---- Grid: 2-up, stretch for equal heights ---- */
  body.template-index .collection-list--section .collection-list__content,
  body.template-list-collections .collection-list--section .collection-list__content {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px 10px;
    align-items: stretch;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    padding: 8px 12px 14px;
    margin: 0;
    list-style: none;
  }

  /* ---- Card cell: stretches full grid height ---- */
  body.template-index .collection-list--section .collection__item,
  body.template-list-collections .collection-list--section .collection__item {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
    margin: 0;
    padding: 0;
    background: transparent;
    border: 0;
    outline: 0;
    box-shadow: none;
    list-style: none;
    align-self: stretch;
    cursor: pointer;
  }

  /* ---- Card link: flex column, full height (drives equal-height alignment) ---- */
  body.template-index .collection-list--section .collection__item > a,
  body.template-list-collections .collection-list--section .collection__item > a {
    display: flex;
    flex-direction: column;
    width: 100%;
    height: 100%;
    box-sizing: border-box;
    text-decoration: none;
    color: inherit;
    background: transparent;
    border: 0;
    outline: 0;
    box-shadow: none;
    -webkit-tap-highlight-color: transparent;
    padding: 0;
    min-height: 48px;
  }
  body.template-index .collection-list--section .collection__item > a:focus-visible,
  body.template-list-collections .collection-list--section .collection__item > a:focus-visible {
    outline: 2px solid #F5A20A;
    outline-offset: 2px;
    border-radius: 8px;
  }

  /* ---- Image figure: 1:1 square tile, edge-to-edge fill ---- */
  body.template-index .collection-list--section .collection__item .collection__item-image,
  body.template-list-collections .collection-list--section .collection__item .collection__item-image {
    display: block;
    position: relative;
    width: 100%;
    aspect-ratio: 1 / 1;
    height: auto;
    min-height: 0;
    max-height: none;
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    background: rgba(255,255,255,0.02);
    border: 1px solid rgba(255,255,255,0.06);
    border-radius: 8px;
    overflow: hidden;
    flex: 0 0 auto;
  }

  /* ---- Inner img: COVER fill — products dominate the tile edge-to-edge ----
     Tight-cropped product photos look photographic. Padded collection PNGs
     also look full because cover crops the transparent margins. */
  body.template-index .collection-list--section .collection__item .collection__item-image img,
  body.template-list-collections .collection-list--section .collection__item .collection__item-image img,
  body.template-index .collection-list--section .collection__item .collection__item-image picture img,
  body.template-list-collections .collection-list--section .collection__item .collection__item-image picture img {
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
    max-width: 100%;
    max-height: 100%;
    margin: 0;
    padding: 0;
    object-fit: cover;
    object-position: center center;
    background: transparent;
    mix-blend-mode: normal;
    transform: none;
    transition: transform 220ms ease-out;
  }

  /* Tap-feedback: subtle press scale */
  body.template-index .collection-list--section .collection__item > a:active .collection__item-image img,
  body.template-list-collections .collection-list--section .collection__item > a:active .collection__item-image picture img {
    transform: scale(0.98);
  }

  /* ---- Empty-state placeholder (rendered by snippet when no image source resolves) ---- */
  body.template-index .collection-list--section .collection__item .collection__item-image .gore-cat-empty,
  body.template-list-collections .collection-list--section .collection__item .collection__item-image .gore-cat-empty {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 12px;
    background:
      linear-gradient(135deg, rgba(245,162,10,0.12) 0%, rgba(245,162,10,0.04) 100%),
      linear-gradient(180deg, #1f2326 0%, #161819 100%);
    color: #e8edf2;
    font-size: 14px;
    font-weight: 700;
    text-align: center;
    line-height: 1.25;
    letter-spacing: 0.02em;
    text-transform: uppercase;
    word-break: break-word;
  }

  /* ---- Title: clamp to 2 lines, reserve height so cards align ---- */
  body.template-index .collection-list--section .collection__item-info.collection__item-title,
  body.template-list-collections .collection-list--section .collection__item-info.collection__item-title,
  body.template-index .collection-list--section .collection__item .collection__item-title,
  body.template-list-collections .collection-list--section .collection__item .collection__item-title {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
    margin: 8px 2px 0;
    padding: 0 2px;
    background: transparent;
    border: 0;
    border-radius: 0;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.3;
    color: #d8dfe6;
    text-align: center;
    letter-spacing: 0.01em;
    word-break: normal;
    overflow-wrap: break-word;
    -webkit-hyphens: manual;
    hyphens: manual;
    min-height: 2.6em; /* reserves 2-line space so 1-line + 2-line cards align */
    flex: 0 0 auto;
  }

  /* Reduced motion: kill the press transition */
  @media (prefers-reduced-motion: reduce) {
    body.template-index .collection-list--section .collection__item .collection__item-image img,
    body.template-list-collections .collection-list--section .collection__item .collection__item-image img,
    body.template-index .collection-list--section .collection__item .collection__item-image picture img,
    body.template-list-collections .collection-list--section .collection__item .collection__item-image picture img {
      transition: none;
    }
  }
}

/* Desktop (>=1024px) untouched — Empire's grid handles desktop. */
/* === END HOMEPAGE-CATEGORIES (Coda 2026-04-26 v-final) === */

/* === BEGIN HOME-BUNDLES (Coda 2026-04-28) === */
/*
  Homepage bundle showcase — scoped to .gore-home-bundles
  Visual language matches .gore-bundle-rail (PDP) + Gore brand:
    - Dark card (#161616) on smoky bg
    - 1:1 aspect image, object-fit contain (bundles photographed on white/transparent)
    - "Spara X kr" pill in top-right
    - Strikethrough compare price + active price
    - Hover: lift + amber border
  Mobile-first: 1-col → 2-col @481 → 3-col @768.
*/

.gore-home-bundles {
  background: #0E0E0E;
  padding: 56px 0;
  color: #FFFFFF;
}
@media (max-width: 767px) {
  .gore-home-bundles {
    padding: 40px 0;
  }
}

.gore-home-bundles__inner {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 24px;
}
@media (max-width: 767px) {
  .gore-home-bundles__inner {
    padding: 0 16px;
  }
}

.gore-home-bundles__head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 28px;
  flex-wrap: wrap;
}
@media (max-width: 767px) {
  .gore-home-bundles__head {
    margin-bottom: 20px;
    align-items: flex-start;
  }
}

.gore-home-bundles__head-text {
  flex: 1 1 auto;
  min-width: 0;
}

.gore-home-bundles__title {
  font-size: 32px;
  font-weight: 700;
  line-height: 1.15;
  letter-spacing: -0.02em;
  margin: 0;
  color: #FFFFFF;
}
@media (min-width: 1024px) {
  .gore-home-bundles__title {
    font-size: 40px;
  }
}
@media (max-width: 480px) {
  .gore-home-bundles__title {
    font-size: 26px;
  }
}

.gore-home-bundles__subtitle {
  font-size: 15px;
  line-height: 1.5;
  margin: 8px 0 0;
  color: #B5B5B5;
  max-width: 60ch;
}
@media (max-width: 480px) {
  .gore-home-bundles__subtitle {
    font-size: 14px;
  }
}

.gore-home-bundles__see-all {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 14px;
  font-weight: 600;
  color: #F0A140;
  text-decoration: none;
  white-space: nowrap;
  transition: color 150ms ease-out;
  flex: 0 0 auto;
}
.gore-home-bundles__see-all:hover {
  color: #ffb968;
}
.gore-home-bundles__see-all svg {
  transition: transform 150ms ease-out;
}
.gore-home-bundles__see-all:hover svg {
  transform: translateX(2px);
}

.gore-home-bundles__grid {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: 1fr;
  gap: 16px;
}
@media (min-width: 481px) {
  .gore-home-bundles__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
  }
}
@media (min-width: 768px) {
  .gore-home-bundles__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px;
  }
}

.gore-home-bundles__item {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
}

.gore-home-bundles__card {
  flex: 1 1 auto;
  width: 100%;
  display: flex;
  flex-direction: column;
  background: #161616;
  border: 1px solid #2a2a2a;
  border-radius: 12px;
  overflow: hidden;
  text-decoration: none;
  color: inherit;
  transition: transform 180ms ease-out, box-shadow 180ms ease-out, border-color 180ms ease-out;
}
.gore-home-bundles__card:hover {
  transform: translateY(-3px);
  box-shadow: 0 14px 28px rgba(0,0,0,0.40), 0 0 0 1px rgba(240,161,64,0.25);
  border-color: #F0A140;
}
.gore-home-bundles__card:focus-visible {
  outline: 2px solid #F0A140;
  outline-offset: 3px;
}

.gore-home-bundles__media {
  display: block;
  width: 100%;
  aspect-ratio: 1 / 1;
  background: #0E0E0E;
  position: relative;
  overflow: hidden;
}
.gore-home-bundles__media img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  transition: transform 240ms ease-out;
}
.gore-home-bundles__card:hover .gore-home-bundles__media img {
  transform: scale(1.04);
}
.gore-home-bundles__media-fallback {
  position: absolute;
  inset: 24px;
  background: #2a2a2a;
  border-radius: 8px;
}

.gore-home-bundles__savings {
  position: absolute;
  top: 12px;
  right: 12px;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  padding: 6px 10px;
  background: #F0A140;
  color: #1a1a1a;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  border-radius: 4px;
  font-variant-numeric: tabular-nums;
  box-shadow: 0 2px 8px rgba(0,0,0,0.25);
}

.gore-home-bundles__body {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 16px 16px 18px;
  flex: 1 1 auto;
}
@media (max-width: 480px) {
  .gore-home-bundles__body {
    padding: 14px 14px 16px;
  }
}

.gore-home-bundles__badges {
  display: inline-flex;
  flex-wrap: wrap;
  gap: 6px;
}

.gore-home-bundles__badge {
  display: inline-block;
  padding: 2px 8px;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.03em;
  border-radius: 4px;
  text-transform: uppercase;
  line-height: 1.4;
  font-variant-numeric: tabular-nums;
}
.gore-home-bundles__badge--tonnage {
  background: rgba(240,161,64,0.18);
  color: #F0A140;
}
.gore-home-bundles__badge--coupling {
  background: #2a2a2a;
  color: #FFFFFF;
}

.gore-home-bundles__name {
  font-size: 15px;
  font-weight: 700;
  line-height: 1.3;
  color: #FFFFFF;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
@media (min-width: 1024px) {
  .gore-home-bundles__name {
    font-size: 16px;
  }
}

.gore-home-bundles__price-row {
  display: flex;
  align-items: baseline;
  gap: 8px;
  flex-wrap: wrap;
  margin-top: auto;
}

.gore-home-bundles__compare {
  font-size: 13px;
  color: #888888;
  text-decoration: line-through;
  font-variant-numeric: tabular-nums;
}

.gore-home-bundles__price {
  font-size: 17px;
  font-weight: 700;
  color: #F0A140;
  font-variant-numeric: tabular-nums;
}

.gore-home-bundles__cta {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 13px;
  font-weight: 600;
  color: #FFFFFF;
  margin-top: 4px;
  transition: gap 150ms ease-out;
}
.gore-home-bundles__card:hover .gore-home-bundles__cta {
  gap: 8px;
  color: #F0A140;
}

/* === END HOME-BUNDLES === */

/* === BEGIN CATEGORY-CARD-UNIFORM-BOX-2026-04-30 (Coda) === */
/*
  Desktop counterpart to HOMEPAGE-CATEGORIES (Coda 2026-04-26 v-final).
  That block stops at @media (max-width: 1023px), leaving desktop on
  Empire's natural-aspect rendering — which means category cards on
  /sv/collections size to their image's intrinsic ratio. Result:
  the Paket card (portrait bundle banner) dominates the row over
  the product-shot cards (Drivenheter, Jordborrar, Skopor, Trädklippare,
  Stubbfräsar) which are tighter aspect.

  Fix: enforce uniform 1:1 tile + object-fit: cover on desktop too.
  Image fills the tile edge-to-edge regardless of source aspect.
  Card link is flex column so titles align across the row.

  Scope: body.template-index .collection-list--section
       + body.template-list-collections .collection-list--section
  Specificity: (0,3,1) — wins against Empire's bare .collection__item rules.
  Zero !important. No JS.

  Pages affected:
    - /sv/collections (template-list-collections)
    - homepage category section (template-index, secondary effect)
  Mobile (<=1023px): untouched — HOMEPAGE-CATEGORIES already covers it.
*/
@media (min-width: 1024px) {

  /* ---- Card cell: stretch to grid row height ---- */
  body.template-index .collection-list--section .collection__item,
  body.template-list-collections .collection-list--section .collection__item {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
    margin: 0;
    padding: 0;
    background: transparent;
    border: 0;
    outline: 0;
    box-shadow: none;
    list-style: none;
    align-self: stretch;
    cursor: pointer;
  }

  /* ---- Card link: flex column so titles align across the row ---- */
  body.template-index .collection-list--section .collection__item > a,
  body.template-list-collections .collection-list--section .collection__item > a {
    display: flex;
    flex-direction: column;
    width: 100%;
    height: 100%;
    box-sizing: border-box;
    text-decoration: none;
    color: inherit;
    background: transparent;
    border: 0;
    outline: 0;
    box-shadow: none;
    padding: 0;
  }
  body.template-index .collection-list--section .collection__item > a:focus-visible,
  body.template-list-collections .collection-list--section .collection__item > a:focus-visible {
    outline: 2px solid #F5A20A;
    outline-offset: 2px;
    border-radius: 8px;
  }

  /* ---- Image figure: 1:1 square tile, edge-to-edge fill ---- */
  body.template-index .collection-list--section .collection__item .collection__item-image,
  body.template-list-collections .collection-list--section .collection__item .collection__item-image {
    display: block;
    position: relative;
    width: 100%;
    aspect-ratio: 1 / 1;
    height: auto;
    min-height: 0;
    max-height: none;
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    background: rgba(255,255,255,0.02);
    border: 1px solid rgba(255,255,255,0.06);
    border-radius: 10px;
    overflow: hidden;
    flex: 0 0 auto;
  }

  /* ---- Inner img: cover fill — products dominate the tile.
         Tight product photos look photographic.
         Padded collection PNGs also fill since cover crops transparent margins.
         Portrait banner (Paket bundle promo) crops to the central focal area
         instead of dictating the row height. ---- */
  body.template-index .collection-list--section .collection__item .collection__item-image img,
  body.template-list-collections .collection-list--section .collection__item .collection__item-image img,
  body.template-index .collection-list--section .collection__item .collection__item-image picture img,
  body.template-list-collections .collection-list--section .collection__item .collection__item-image picture img {
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
    max-width: 100%;
    max-height: 100%;
    margin: 0;
    padding: 0;
    object-fit: cover;
    object-position: center center;
    background: transparent;
    mix-blend-mode: normal;
    transform: none;
    transition: transform 220ms ease-out;
  }

  /* Hover: subtle scale-up on the image to signal interactivity */
  body.template-index .collection-list--section .collection__item > a:hover .collection__item-image img,
  body.template-list-collections .collection-list--section .collection__item > a:hover .collection__item-image img,
  body.template-index .collection-list--section .collection__item > a:hover .collection__item-image picture img,
  body.template-list-collections .collection-list--section .collection__item > a:hover .collection__item-image picture img {
    transform: scale(1.03);
  }

  /* ---- Title: clamp to 2 lines, reserve height so all cards align ---- */
  body.template-index .collection-list--section .collection__item-info.collection__item-title,
  body.template-list-collections .collection-list--section .collection__item-info.collection__item-title,
  body.template-index .collection-list--section .collection__item .collection__item-title,
  body.template-list-collections .collection-list--section .collection__item .collection__item-title {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
    margin: 12px 2px 0;
    padding: 0 2px;
    background: transparent;
    border: 0;
    text-align: center;
    word-break: normal;
    overflow-wrap: break-word;
    -webkit-hyphens: manual;
    hyphens: manual;
    min-height: 2.6em;
    flex: 0 0 auto;
  }

  /* Reduced motion: kill the hover transition */
  @media (prefers-reduced-motion: reduce) {
    body.template-index .collection-list--section .collection__item .collection__item-image img,
    body.template-list-collections .collection-list--section .collection__item .collection__item-image img,
    body.template-index .collection-list--section .collection__item .collection__item-image picture img,
    body.template-list-collections .collection-list--section .collection__item .collection__item-image picture img {
      transition: none;
    }
    body.template-index .collection-list--section .collection__item > a:hover .collection__item-image img,
    body.template-list-collections .collection-list--section .collection__item > a:hover .collection__item-image img {
      transform: none;
    }
  }
}
/* === END CATEGORY-CARD-UNIFORM-BOX-2026-04-30 === */

/* === BEGIN PDP-FRICTION-FIXES-2026-04-30 (Coda) === */
/*
  Three friction fixes per Sable's mobile bundle PDP audit (2026-04-30):

  1. Sister-sizes slot toggle: desktop slot visible ≥1024px (gallery column,
     original behaviour). Mobile slot visible ≤1023px AFTER trust strip in
     right column. Both wrappers on .gore-pdp-sister-sizes-slot[--desktop|--mobile].
     Mobile change moves "FINNS ÄVEN FÖR ANDRA STORLEKAR" cross-sell from
     ABOVE H1 to BELOW the buy-box, putting H1+price+ATC in first viewport.

  2. Mobile-only PDP nav suppression: .gore-cat-nav-collapsible (Visa kategorier
     trigger) + .gore-collection-search (search bar) hidden on PDPs ≤1023px.
     They steal ~90px of fold without serving conversion. PDPs only —
     collection / homepage / search routes unaffected.

  3. KÖP NU desktop polish: bumps the global low-contrast border style to a
     dark grey #2a2a2a background + iron silver #C0C8D0 1px border so the
     button reads as active rather than disabled. Mobile orange-gradient
     style (lines ~1372-1391 above) untouched.

  Sticky bottom ATC bar (Sable's "Fix 3") is already built — see Section 8
  earlier in this file (lines ~1729-1803). No changes needed there.

  Zero !important. All selectors scoped (body.template-product / explicit
  parent). Marker block re-runnable: prior block detected and replaced.
*/

/* ── Fix 1: sister-sizes slot visibility ─────────────────────────────── */
/* Desktop slot: visible ≥1024px (gallery column, original behaviour). */
.gore-pdp-sister-sizes-slot--desktop { display: block; }
@media (max-width: 1023px) {
  .gore-pdp-sister-sizes-slot--desktop { display: none; }
}
/* Mobile slot: visible ≤1023px (right column, after ATC). Empty :empty
   guard prevents the 24px top margin from rendering when the snippet
   self-hides (no siblings — e.g. Smamaskinspaket). */
.gore-pdp-sister-sizes-slot--mobile { display: none; }
@media (max-width: 1023px) {
  .gore-pdp-sister-sizes-slot--mobile { display: block; margin-top: 24px; }
  .gore-pdp-sister-sizes-slot--mobile:empty { display: none; margin: 0; }
}
.gore-pdp-sister-sizes-slot--desktop:empty { display: none; }

/* ── Fix 2: hide category nav + search on mobile PDPs ────────────────── */
@media (max-width: 1023px) {
  body.template-product .gore-cat-nav-collapsible,
  body.template-product .gore-collection-search {
    display: none;
  }
}

/* ── Polish: KÖP NU reads as active on desktop ───────────────────────── */
/* The global rule (top of file) sets background:transparent + low-opacity
   border which reads as disabled on dark theme. Bump background to #2a2a2a
   and border to iron silver #C0C8D0 so the button has visible weight.
   Specificity: body.template-product + class match outranks the global
   .gore-buy-now-btn rule without needing !important. */
body.template-product .gore-buy-now-btn {
  background: #2a2a2a;
  border: 1px solid #C0C8D0;
  color: #C0C8D0;
}
body.template-product .gore-buy-now-btn:hover,
body.template-product .gore-buy-now-btn:focus-visible {
  background: #353535;
  border-color: #ffffff;
  color: #ffffff;
}
/* === END PDP-FRICTION-FIXES-2026-04-30 === */

/* ========================================================================
   ROLLBACK 2026-04-30 — MOBILE-GALLERY-FIXES-2026-04-30 disabled (Coda).
   Reason: Ali reports zoom + thumbs broken on real iPhone Safari despite
   smoke PASS. Reverting our overrides to surface Empire native behavior.
   Original block contents preserved below (with `*/` -> `*_/` to keep
   the outer CSS comment well-formed). Restore by undoing this wrap.
   ========================================================================
/* === BEGIN MOBILE-GALLERY-FIXES-2026-04-30 (Coda) === *_/
/*
  Two coordinated mobile gallery fixes (2026-04-30):

  1. PhotoSwipe lightbox pan/zoom bounds fix.
     Symptom: pinch-zoom in then drag to corner caused image to fly off-screen.
     Cause: prior MOBILE-IMAGE-CROP-FIX-3 restoration block had defensive but
     dead overrides on `.pswp .media`, `.pswp .swiper-slide__inner` (these
     classes do NOT exist inside the PhotoSwipe DOM) and a `.pswp { height }`
     duplicate of the vendor default. Defensive rules can become the bug if a
     vendor update changes layout assumptions.
     Fix: tight, additive-only override on `.pswp__img` for the four properties
     Empire's `.media__image` / `.swiper-slide` could leak into the lightbox.
     Vendor JS owns `position`, `top`, `left`, `inset`, `transform`,
     `translate*` — we never touch those.

  2. Mobile thumbnail strip — make Empire's `.product-gallery__navigation`
     visually prominent on mobile (≤1023px). The strip already renders in
     markup but hero image dominates the viewport, thumbs are clipped at
     48px max-height (52px content), and active state has no contrast vs.
     surrounding cards. Result: users don't notice they can scroll through
     more images. Conversion-killer for visual-decision purchases.
     Fix: 56×56 thumbs (≥44px tap target), 8px gap, iron-silver active
     border, gradient fade on right edge as scroll affordance, sized to
     show ~5 thumbs at once on a 393px viewport.

  Zero !important. All selectors scoped to `body.template-product` or
  PhotoSwipe-only roots. Backward compatible — if the strip is already
  visible (it is) the rules just upgrade its sizing/contrast.
*_/

/* ── Part 1: PhotoSwipe lightbox image — tight override only ───────────── *_/
/* Vendor `.pswp__img` defaults: position:absolute; top:0; left:0; width:auto;
   height:auto. We only re-assert width/height/aspect-ratio/object-fit/max-width
   so any of our `.media__image` / `.swiper-slide__inner img` rules that might
   cascade in don't squash the image. We do NOT set position, top, left, inset,
   transform — PhotoSwipe JS sets those inline per-slide for pan/zoom math. *_/
body.template-product #pswp.pswp .pswp__img,
body.template-product .pswp .pswp__img {
  width: auto;
  height: auto;
  max-width: none;
  aspect-ratio: auto;
  object-fit: initial;
  object-position: initial;
}

/* ── Part 2: Mobile gallery thumbnail strip ────────────────────────────── *_/
@media (max-width: 1023px) {
  /* Container: bigger, breathable, scroll-snapped *_/
  body.template-product .product-gallery-wrapper .product-gallery__navigation,
  body.template-product .product-gallery-wrapper .product-gallery__thumbnails {
    max-height: 76px;
    height: 76px;
    margin-top: 12px;
    padding: 6px 12px;
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    scroll-snap-type: x proximity;
    scrollbar-width: none;
  }
  body.template-product .product-gallery-wrapper .product-gallery__navigation::-webkit-scrollbar,
  body.template-product .product-gallery-wrapper .product-gallery__thumbnails::-webkit-scrollbar {
    display: none;
  }

  /* Thumb wrapper sizing — 56x56 = comfortably above 44px tap target *_/
  body.template-product .product-gallery-wrapper .product-gallery__navigation .swiper-slide,
  body.template-product .product-gallery-wrapper .product-gallery__thumbnails .swiper-slide,
  body.template-product .product-gallery-wrapper .thumbnail,
  body.template-product .product-gallery-wrapper .thumbnail--aspect-ratio-set {
    width: 56px;
    height: 56px;
    min-width: 56px;
    flex: 0 0 56px;
    margin-right: 8px;
    border-radius: 6px;
    overflow: hidden;
    scroll-snap-align: start;
  }
  body.template-product .product-gallery-wrapper .product-gallery__navigation .swiper-slide:last-child,
  body.template-product .product-gallery-wrapper .product-gallery__thumbnails .swiper-slide:last-child {
    margin-right: 0;
  }

  /* Image inside thumb *_/
  body.template-product .product-gallery-wrapper .thumbnail__image {
    width: 56px;
    height: 56px;
    object-fit: cover;
    display: block;
  }

  /* Inactive thumb — subtle border so the chip reads as tappable *_/
  body.template-product .product-gallery-wrapper .thumbnail {
    border: 1px solid rgba(192, 200, 208, 0.18);
    transition: border-color 150ms ease-out, transform 150ms ease-out;
  }
  body.template-product .product-gallery-wrapper .thumbnail:hover,
  body.template-product .product-gallery-wrapper .thumbnail:focus-visible {
    border-color: rgba(192, 200, 208, 0.55);
    outline: none;
  }

  /* Active thumb — iron silver border for clear visual indication *_/
  body.template-product .product-gallery-wrapper .thumbnail.is-active,
  body.template-product .product-gallery-wrapper .swiper-slide.swiper-slide-thumb-active .thumbnail,
  body.template-product .product-gallery-wrapper .swiper-slide.is-active .thumbnail {
    border: 2px solid #C0C8D0;
  }

  /* Hide scroll buttons on mobile (touch users swipe natively) *_/
  body.template-product .product-gallery-wrapper .product-gallery__scroll-button,
  body.template-product .product-gallery-wrapper .product-gallery__scroll-button--prev,
  body.template-product .product-gallery-wrapper .product-gallery__scroll-button--next {
    display: none;
  }
}
/* === END MOBILE-GALLERY-FIXES-2026-04-30 === *_/
*/

/* === BEGIN GALLERY-NATIVE-RESTORE-2026-04-30 (Coda) === */
/*
  Surgical override to restore Empire's native mobile gallery sizing.

  Background: upstream concatenated CSS (gore-mobile-tighten / gore-product-ux,
  baked into line 1 of this file at byte ~20K) clamps:
    .product-gallery / __viewer / __carousel / [data-product-gallery] {
        max-height: 35vh; height: 35vh
    }
    .product-gallery-wrapper .swiper / .swiper-wrapper / .swiper-slide {
        max-height: 35vh; height: 35vh
    }
    .product-gallery, __carousel, __viewer, .flickity-*, .swiper-slide {
        max-height: 38vh; height: auto    (second @media block)
    }
    .product-gallery__navigation / __thumbnails { max-height: 48px }
    .product-gallery-wrapper .thumbnail { width:48px; height:48px;
        min-width:48px; flex:0 0 48px }

  Symptom: navigation thumb strip clipped to 48px tall (cuts off thumbs);
  parent .product-gallery clamped to 35vh which clips the wrapped flex
  line containing the navigation; viewer swiper-slides locked to 35vh.

  Marker-block rollback (steps 1+2 today) couldn't reach these because
  they're upstream of all marker blocks.

  Fix: matching-specificity override at file END so source-order wins
  the cascade. Restores Empire's defaults — no Gore-specific styling.

  Zero !important. Specificity matched: 0,3,2 (body.template-product
  .product-gallery-wrapper .X) for selectors with that depth, 0,2,2 or
  0,2,1 for shorter targets when sufficient.

  Re-asserts:
  - .product-gallery / __viewer / __carousel / [data-product-gallery]
    -> height:auto, max-height:none, min-height:0
  - .product-gallery-wrapper .swiper / .swiper-wrapper -> height:auto,
    max-height:none (lets vendor swiper compute)
  - .product-gallery__viewer .swiper-slide -> KEEPS native viewer slide
    behavior (not touched here — Empire/swiper own that)
  - .product-gallery__navigation / __thumbnails -> max-height:none,
    height:auto (lets thumbs determine container size)
  - .product-gallery__navigation .thumbnail / .swiper-slide -> auto-size
    so Empire's native thumb dimensions return
*/
@media (max-width: 1023px) {
  /* 1. Unclamp the gallery container + viewer/carousel + web component */
  body.template-product .product-gallery-wrapper .product-gallery,
  body.template-product .product-gallery-wrapper .product-gallery__viewer,
  body.template-product .product-gallery-wrapper .product-gallery__carousel,
  body.template-product .product-gallery-wrapper [data-product-gallery] {
    max-height: none;
    height: auto;
    min-height: 0;
  }

  /* 2. Unclamp swiper + swiper-wrapper inside the gallery wrapper.
        We do NOT touch .swiper-slide here — the viewer's slides need to
        fill the viewer (their height is governed by the viewer container
        which is now auto). The navigation's slides are handled below
        with a tighter selector that scopes to __navigation. */
  body.template-product .product-gallery-wrapper .swiper,
  body.template-product .product-gallery-wrapper .swiper-wrapper {
    max-height: none;
    height: auto;
  }

  /* 3. Unclamp the navigation/thumbnails container so thumbs aren't
        cut off at 48px tall. */
  body.template-product .product-gallery-wrapper .product-gallery__navigation,
  body.template-product .product-gallery-wrapper .product-gallery__thumbnails {
    max-height: none;
    height: auto;
  }

  /* 4. Restore navigation thumbnails to natural sizing.
        Upstream forced 48x48 with flex:0 0 48px on every .thumbnail in the
        wrapper. We scope to ONLY the navigation/thumbnails parent so we
        don't disturb other thumbnail uses in the wrapper. Empire's
        natural thumb size from compiled_assets/styles.css is height:auto
        on swiper-slide + thumbnail's own padding/aspect-ratio. Letting
        them go auto restores that. */
  body.template-product .product-gallery-wrapper .product-gallery__navigation .thumbnail,
  body.template-product .product-gallery-wrapper .product-gallery__navigation .thumbnail--aspect-ratio-set,
  body.template-product .product-gallery-wrapper .product-gallery__thumbnails .thumbnail,
  body.template-product .product-gallery-wrapper .product-gallery__thumbnails .thumbnail--aspect-ratio-set {
    width: auto;
    height: auto;
    min-width: 0;
    flex: initial;
  }

  /* 5. Restore navigation swiper-slides too (the second upstream @media
        block clamps __slide / .swiper-slide to max-height:38vh). Scope
        ONLY to nav so we don't break viewer slides. */
  body.template-product .product-gallery-wrapper .product-gallery__navigation .swiper-slide,
  body.template-product .product-gallery-wrapper .product-gallery__thumbnails .swiper-slide {
    max-height: none;
    height: auto;
  }
}
/* === END GALLERY-NATIVE-RESTORE-2026-04-30 === */

/* === BEGIN GORE-FOOTER-PAYMENT-OPTIONS (Coda 2026-04-30) === */
/* Footer payment-options: bigger taps, clickable, FAKTURA pill.
   Scope: .site-footer-right .payment-icons (Empire footer container). */
.site-footer-right .payment-icons {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: center;
  justify-content: flex-end;
  margin: 0;
  padding: 0;
  list-style: none;
}
.site-footer-right .payment-icons-item {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin: 0;
  padding: 0;
  line-height: 0;
}
.site-footer-right .payment-icons-item .gore-pay-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 44px;
  min-height: 44px;
  padding: 4px;
  border-radius: 6px;
  cursor: pointer;
  text-decoration: none;
  color: inherit;
  transition: background-color 160ms ease, transform 120ms ease, opacity 120ms ease;
  -webkit-tap-highlight-color: transparent;
}
.site-footer-right .payment-icons-item .gore-pay-link:hover,
.site-footer-right .payment-icons-item .gore-pay-link:focus-visible {
  background-color: rgba(255,255,255,0.08);
  outline: none;
}
.site-footer-right .payment-icons-item .gore-pay-link:active {
  opacity: 0.6;
  transform: scale(0.96);
}
.site-footer-right .payment-icons-item svg {
  display: block;
  width: auto;
  height: 32px; /* desktop default */
}

/* FAKTURA typographic pill — matches icon visual weight. */
.site-footer-right .payment-icons-item--faktura .gore-pay-link {
  background: #1a1a1a;
  color: #fff;
  font: 700 11px/1 -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  padding: 0 10px;
  border: 1px solid rgba(255,255,255,0.12);
}
.site-footer-right .payment-icons-item--faktura .gore-pay-link:hover,
.site-footer-right .payment-icons-item--faktura .gore-pay-link:focus-visible {
  background: #2a2a2a;
}

/* Tablet 481-1023 — icons 40-48px tall. */
@media (min-width: 481px) and (max-width: 1023px) {
  .site-footer-right .payment-icons {
    gap: 14px;
  }
  .site-footer-right .payment-icons-item svg {
    height: 40px;
  }
  .site-footer-right .payment-icons-item .gore-pay-link {
    min-width: 48px;
    min-height: 48px;
  }
  .site-footer-right .payment-icons-item--faktura .gore-pay-link {
    font-size: 13px;
    padding: 0 14px;
    height: 40px;
  }
}

/* Mobile ≤480 — icons 44-52px tall, larger gap, wrap freely. */
@media (max-width: 480px) {
  .site-footer-right .payment-icons {
    gap: 14px;
    justify-content: flex-start;
  }
  .site-footer-right .payment-icons-item svg {
    height: 44px;
  }
  .site-footer-right .payment-icons-item .gore-pay-link {
    min-width: 52px;
    min-height: 52px;
    padding: 4px 6px;
  }
  .site-footer-right .payment-icons-item--faktura .gore-pay-link {
    font-size: 14px;
    padding: 0 14px;
    height: 44px;
  }
}
/* === END GORE-FOOTER-PAYMENT-OPTIONS === */

/* === BEGIN GORE-FAKTURA-BADGE-SIZE-UP (Coda 2026-04-30) === */
/* Faktura PDP banner — bigger, more prominent.
   Brief 2026-04-30: mobile padding 16-20px / text >=16px / icon 28-32px,
   tablet padding 18-22px, desktop padding 16-20px.
   Preserves existing dark-green theme + checkout link behaviour. */
.product--section .gore-faktura-badge {
  min-height: 56px;
  padding: 16px 20px;
  gap: 14px;
  font-size: 16px;
  line-height: 1.4;
  border-radius: 10px;
}
.product--section .gore-faktura-badge__icon svg {
  width: 28px;
  height: 28px;
}
.product--section .gore-faktura-badge__chevron svg {
  width: 18px;
  height: 18px;
}

@media (min-width: 481px) and (max-width: 1023px) {
  .product--section .gore-faktura-badge {
    padding: 20px 22px;
    min-height: 60px;
    font-size: 16px;
  }
  .product--section .gore-faktura-badge__icon svg {
    width: 30px;
    height: 30px;
  }
}

@media (max-width: 480px) {
  .product--section .gore-faktura-badge {
    padding: 18px 18px;
    min-height: 60px;
    font-size: 16px;
    gap: 14px;
    border-radius: 10px;
  }
  .product--section .gore-faktura-badge__icon svg {
    width: 30px;
    height: 30px;
  }
  .product--section .gore-faktura-badge__chevron svg {
    width: 20px;
    height: 20px;
  }
}
/* === END GORE-FAKTURA-BADGE-SIZE-UP === */
/* === BEGIN GORE-PAKET-HERO 2026-05-02 (Coda saltsjobo-correction — compressed) === */
.gore-paket-hero {
  background: #141414;
  border-top: 2px solid #C0C8D0;
  border-bottom: 1px solid #2a2a2a;
  padding: 0;
}
.gore-paket-hero__inner {
  max-width: 1280px;
  margin: 0 auto;
  padding: 18px 40px 16px;
  text-align: left;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 18px;
}
.gore-paket-hero__h1 {
  font-size: clamp(18px, 2.2vw, 26px);
  font-weight: 700;
  letter-spacing: -0.01em;
  line-height: 1.15;
  margin: 0;
  color: #FFFFFF;
  flex: 0 0 auto;
}
.gore-paket-hero__chips {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0;
  flex: 1 1 auto;
  justify-content: flex-end;
}
.gore-paket-hero__chip {
  display: inline-flex;
  flex-direction: column;
  gap: 1px;
  padding: 8px 14px;
  background: #1f1f1f;
  border: 1px solid #2a2a2a;
  border-radius: 4px;
  color: #FFFFFF;
  text-decoration: none;
  min-height: 40px;
  transition: background 180ms ease, border-color 180ms ease;
}
.gore-paket-hero__chip:hover,
.gore-paket-hero__chip:focus-visible {
  background: #262626;
  border-color: #C8321F;
  outline: none;
}
.gore-paket-hero__chip--all {
  background: transparent;
  border-color: #3a3a3a;
}
.gore-paket-hero__chip--all:hover,
.gore-paket-hero__chip--all:focus-visible {
  background: #1f1f1f;
  border-color: #C0C8D0;
}
.gore-paket-hero__chip-label {
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.01em;
  line-height: 1.1;
}
.gore-paket-hero__chip-sub {
  font-size: 11px;
  font-weight: 400;
  color: #888;
  letter-spacing: 0.02em;
  line-height: 1.2;
}
@media (max-width: 768px) {
  .gore-paket-hero__inner {
    padding: 14px 16px 14px;
    gap: 12px;
    flex-direction: column;
    align-items: stretch;
  }
  .gore-paket-hero__h1 {
    font-size: 17px;
  }
  .gore-paket-hero__chips {
    gap: 6px;
    justify-content: flex-start;
  }
  .gore-paket-hero__chip {
    flex: 1 1 calc(50% - 3px);
    min-width: 0;
    padding: 7px 10px;
    min-height: 38px;
  }
  .gore-paket-hero__chip--all {
    flex: 1 1 100%;
  }
}
/* Suppress the dynamic_html_8Wbyhr override H1 size on .paket page so it doesn't cascade into our hero H1 */
.template-collection.collection-handle-paket h1.collection--title:not(.gore-paket-hero__h1) {
  display: none;
}
/* === END GORE-PAKET-HERO 2026-05-02 === */
/* === BEGIN GORE-SALTSJOBO-GALLERY 2026-05-02 (Coda saltsjobo-banner-gallery-fix — hero + 2x2) === */
.page-content .gore-saltsjobo-gallery,
.gore-saltsjobo-gallery {
  display: grid;
  gap: 12px;
  margin: 28px 0 32px;
  grid-template-columns: repeat(2, 1fr);
}
.gore-saltsjobo-gallery__item {
  display: block;
  overflow: hidden;
  background: #f4f4f4;
  border-radius: 4px;
  aspect-ratio: 4 / 3;
  margin: 0;
}
.gore-saltsjobo-gallery__item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 400ms ease;
}
.gore-saltsjobo-gallery__item:hover img {
  transform: scale(1.03);
}
.gore-saltsjobo-gallery__item--hero {
  grid-column: 1 / -1;
  aspect-ratio: 16 / 9;
}
@media (min-width: 769px) {
  .gore-saltsjobo-gallery {
    gap: 16px;
    grid-template-columns: repeat(2, 1fr);
  }
  .gore-saltsjobo-gallery__item--hero {
    grid-column: 1 / -1;
    aspect-ratio: 21 / 9;
  }
  .gore-saltsjobo-gallery__item:not(.gore-saltsjobo-gallery__item--hero) {
    grid-column: span 1;
    aspect-ratio: 4 / 3;
  }
}
@media (max-width: 480px) {
  .gore-saltsjobo-gallery {
    grid-template-columns: 1fr;
    gap: 10px;
  }
  .gore-saltsjobo-gallery__item--hero,
  .gore-saltsjobo-gallery__item {
    grid-column: 1 / -1;
    aspect-ratio: 4 / 3;
  }
  .gore-saltsjobo-gallery__item--hero {
    aspect-ratio: 16 / 10;
  }
}
/* === END GORE-SALTSJOBO-GALLERY 2026-05-02 === */

/* === BEGIN GORE-PAKET-HIDE-MASTHEAD 2026-05-02 (Coda section-reorder) === */
/* On /collections/paket the description is rendered inside gore-paket-hero
   ABOVE the H1. Empire's static-collection section also renders the same
   title+description in .productgrid--masthead — hide the duplicate here
   to avoid double-rendering. Scoped to body.collection-paket only — every
   other collection masthead (/all, /tilltbehor, etc.) keeps its title+desc. */
body.collection-paket .productgrid--masthead .collection--title,
body.collection-paket .productgrid--masthead .collection--description {
  display: none;
}

/* Intro description block inside paket hero — sits above H1, neutral typography
   so the description reads as page intro, not a marketing block. */
.gore-paket-hero .gore-paket-hero__intro {
  max-width: 1280px;
  margin: 0 auto 18px;
  padding: 18px 16px 0;
  font-size: 15px;
  line-height: 1.55;
  color: rgba(255, 255, 255, 0.78);
}
.gore-paket-hero .gore-paket-hero__intro p {
  margin: 0 0 8px;
}
.gore-paket-hero .gore-paket-hero__intro p:last-child {
  margin-bottom: 0;
}
.gore-paket-hero .gore-paket-hero__intro a {
  color: #F5A20A;
  text-decoration: underline;
  text-underline-offset: 2px;
}
@media (max-width: 600px) {
  .gore-paket-hero .gore-paket-hero__intro {
    font-size: 14px;
    line-height: 1.5;
    padding: 14px 12px 0;
    margin-bottom: 14px;
  }
}
/* === END GORE-PAKET-HIDE-MASTHEAD 2026-05-02 === */

/* === BEGIN GORE-HEADER-TRUST 2026-05-02 (Coda saltsjobo-banner-gallery-fix — global trust strip) === */
.gore-header-trust {
  background: #1a1a1a;
  border-top: 1px solid rgba(192, 200, 208, 0.12);
  border-bottom: 1px solid rgba(192, 200, 208, 0.06);
  font-size: 12px;
  color: rgba(255, 255, 255, 0.72);
  line-height: 1.4;
  padding: 7px 16px;
  text-align: center;
  letter-spacing: 0.02em;
  font-weight: 400;
}
.gore-header-trust__inner {
  max-width: 1280px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 0 10px;
}
.gore-header-trust__text {
  display: inline-block;
}
.gore-header-trust__sep {
  display: inline-block;
  color: rgba(192, 200, 208, 0.35);
  margin: 0 2px;
}
.gore-header-trust__link {
  color: #C0C8D0;
  text-decoration: none;
  font-weight: 500;
  transition: color 180ms ease;
}
.gore-header-trust__link:hover,
.gore-header-trust__link:focus-visible {
  color: #ffffff;
  text-decoration: underline;
  outline: none;
}
.gore-header-trust__phone {
  color: rgba(255, 255, 255, 0.85);
  text-decoration: none;
  font-weight: 500;
  white-space: nowrap;
}
.gore-header-trust__phone:hover,
.gore-header-trust__phone:focus-visible {
  color: #ffffff;
  outline: none;
}
@media (max-width: 600px) {
  .gore-header-trust {
    font-size: 11px;
    padding: 6px 10px;
    letter-spacing: 0;
  }
  .gore-header-trust__inner {
    gap: 0 6px;
  }
}
/* === END GORE-HEADER-TRUST 2026-05-02 === */
/* === BEGIN GORE-MOBILE-UX-2026-05-04 (Coda mobile-ux-restructure) === */
/* Approach B — mobile-only restructure. Desktop = no diff.
   Surfaces still active after Round 11 ROLLBACK:
     - Trust strip toggle (mobile/desktop) — working
     - Hamburger menu phone link — working
     - Paket collection hero hide on mobile — working
     - Fix #3 thumbnail strip hide on mobile PDP — working
     - Fix #10 mobile sticky-header kill — working
     - Fix #15 .gore-pdp-hero-badges overlay hide on mobile — working

   ROLLED BACK in Round 11 (Ali "rollback before layering"):
     - Fix #14 PDP gallery natural-height rules
     - Fix #15 wrapper-chrome strip (.product-zoom, .product__media*, swiper*,
       .media*, .product-gallery-wrapper height/padding/aspect-ratio rules)
     - Fix #15 image rules (.media__image / img.photoswipe__image width/height/
       object-fit/position rules)
     - Fix #16 tall-gallery 60vh cover rules

   Rationale: 6 successive fixes targeting the same gallery, each exposed a
   new slice of broken behavior on real iOS. Stripping our overrides lets
   Empire's stock CSS take over — diagnose actual Empire behavior on real
   device + headless engines, then ship ONE minimal targeted fix if needed. */

/* ── Trust-strip mobile/desktop toggle ────────────────────────────────────── */
.gore-header-trust__set--mobile { display: none; }
@media (max-width: 749px) {
  .gore-header-trust__set--desktop { display: none; }
  .gore-header-trust__set--mobile {
    display: inline-flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 0 8px;
  }
  .gore-header-trust { padding: 5px 10px; font-size: 11.5px; line-height: 1.35; }
}

/* ── Hamburger menu: phone tel: link as top item (SV) ─────────────────────── */
.site-mobile-nav .gore-mobile-phone-item {
  border-bottom: 1px solid rgba(192, 200, 208, 0.15);
}
.site-mobile-nav .gore-mobile-phone-link {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 16px 20px;
  font-weight: 700;
  font-size: 16px;
  color: #ffffff;
  text-decoration: none;
  letter-spacing: 0.01em;
  min-height: 48px;
}
.site-mobile-nav .gore-mobile-phone-link__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  color: #C0C8D0;
  flex-shrink: 0;
}
.site-mobile-nav .gore-mobile-phone-link:hover,
.site-mobile-nav .gore-mobile-phone-link:focus-visible {
  background: rgba(192, 200, 208, 0.06);
  color: #ffffff;
  outline: none;
}

/* ── Collection /paket: hide hero on mobile ───────────────────────────────── */
@media (max-width: 749px) {
  .gore-paket-hero { display: none; }
}

/* ── FIX #3 — Hide thumbnail strip on mobile PDP ──────────────────────────── */
@media (max-width: 749px) {
  body.template-product .product--section .product-gallery__navigation,
  body.template-product .product--section .product-zoom--thumb-scroller,
  body.template-product .product--section .product-zoom--thumbnails {
    display: none;
  }
}

/* ── FIX #10 — Kill mobile sticky header (Ali Round 6, Option B) ──────────── */
/* Empire applies THREE competing sticky rules (verified Round 5):
   1. html body .site-header-wrapper { position: sticky; top: 42px; z-index: 9 }
   2. .site-header-sticky .site-header { position: sticky; top: 0 }
   3. .site-header[data-site-header] { top: 40px !important !important }
   On mobile only, force all three to position: static so the header scrolls
   away with the page (Option B per Ali's call). !important authorized for
   vendor-CSS combat. Desktop sticky behavior preserved. */
@media (max-width: 749px) {
  html body .site-header-wrapper,
  html body .site-header-sticky .site-header,
  html body .site-header[data-site-header] {
    position: static !important;
    top: auto !important;
    z-index: auto !important;
  }
}

/* ── Fix #15 partial — Nuke gallery hero-badges overlay on mobile ─────────── */
/* Ali round 9: hide the absolute-positioned overlay card stacking tonnage /
   coupling / warranty badges over the image. Round 11 rollback keeps THIS
   piece (Ali never complained about it; the overlay obstructs the image
   regardless of other gallery sizing decisions). The wrapper-chrome strip
   and image positioning rules from full Fix #15 ARE rolled back. */
@media (max-width: 749px) {
  body.template-product .product--section .gore-pdp-hero-badges,
  body.template-product .product--section .gore-pdp-hero-badges__item {
    display: none !important;
  }
}

/* ── FIX #18 — Clip horizontal overflow from off-screen cart drawer (Round 18) ── */
/* Round 18 (2026-05-05): #gore-cart-drawer is position:fixed left:100% width:420px
   transform:translateX(420px) — extends 420px past viewport. Empire/Shopify clips
   this on body at ≤768px (overflow-x: clip) and ≥1024px (overflow-x: hidden) BUT
   leaves it VISIBLE at 820-1023px (tablet landscape range), causing horizontal
   page scroll on bundle PDPs (and any other page) at those widths.
   Plus at 1024px html overflow-x is visible — drawer still leaks through body's
   hidden setting on some browsers. Bundle PDPs amplify the issue because the
   .product--outer flex layout puts gallery + buy-box side-by-side at exactly
   these widths, and the resulting horizontal scroll visually clips the gallery
   image and right-side buy-box.
   Universal fix: overflow-x: clip on BOTH html and body sitewide.
   `clip` doesn't create a scroll context (keeps sticky-positioned ancestors
   working), `hidden` is fallback for Safari ≤15. Authorized sitewide because
   the cart drawer is a sitewide widget not template-specific. */
html, body {
  overflow-x: hidden; /* fallback for Safari ≤15 */
  overflow-x: clip;   /* preferred — doesn't create scroll context */
}
/* ── End Fix #18 ─────────────────────────────────────────────────────────── */

/* === END   GORE-MOBILE-UX-2026-05-04 === */

/* === BEGIN GORE-DESKTOP-LOCALE-HIDE-2026-05-04 (Coda fix-5) === */
/* Hide EN/SV language picker in DESKTOP top navbar only.
   Authorization: Ali 2026-05-04 round 4 — desktop top-navbar declutter.
   Scope: ancestor .site-header-right (DESKTOP-only DOM path) + min-width 750px
   (Empire's tablet+ breakpoint).
   Untouched: mobile hamburger picker (different ancestor .site-mobile-nav),
   footer Shopify-default localization form (different selector entirely).
   Reverse: re-PUT backups/2026-05-04-coda-mobile-ux/before-fix5/. */
@media (min-width: 750px) {
  .site-header-right .site-header-actions__locale {
    display: none;
  }
}
/* === END   GORE-DESKTOP-LOCALE-HIDE-2026-05-04 === */

/* === BEGIN GORE-MOBILE-PDP-DECLUTTER-2026-05-04 (Coda fix-6/7/8) === */
/* Mobile PDP declutter + trust line + sitewide account icon hide.
   Authorization: Ali 2026-05-04 round 4.
   Fix #6 — hide three redundant elements on mobile PDP only.
   Fix #7 — style + show new trust line under price (mobile only, SV).
   Fix #8 — hide account icon in both desktop top navbar and mobile drawer. */

/* ── Fix #6 — Hide redundant mobile PDP elements ──────────────────────────── */
@media (max-width: 749px) {
  /* a) Inline KÖP NU anchor — RESTORED on mobile per Ali round 8 (Fix #13).
     Round 4 Fix #6 had hidden it as redundant with sticky bottom CTA;
     Round 7 Fix #6a-corrected added !important to win the cascade fight
     against Empire's @1791 vendor rule. Round 8 Fix #13: rule fully removed
     so Empire's @1791 `display: block !important` re-wins and renders the
     button. Sticky bottom CTA remains as the secondary checkout path; both
     coexist. Trust line + faktura banner intact. Comment kept for traceability. */
  /* b) "Beställ nu med faktura" banner — RESTORED on mobile per Ali round 7 (Fix #12).
     Round 4 Fix #6 had hidden it as duplicate of trust-strip "Faktura 30 dagar";
     Ali wants it visible again as a tappable CTA. Trust line under price
     remains a passive copy line; faktura banner is the active 30-day-invoice
     CTA. Kept this comment in place of the rule for traceability. */
  /* c) "I lager · 2-5 dagar leverans" pill — leverans info now in trust line. */
  body.template-product .product--section .gore-pdp-stock-pill {
    display: none;
  }
}

/* ── Fix #7 — Trust line under price (mobile only, SV) ────────────────────── */
.gore-pdp-mobile-trust-line {
  /* Hidden on desktop — desktop has the 4-col .gore-pdp-trust-strip below */
  display: none;
}
@media (max-width: 749px) {
  body.template-product .gore-pdp-mobile-trust-line {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-start;
    gap: 0 6px;
    margin: 8px 0 4px;
    padding: 0;
    font-size: 11px;
    line-height: 1.4;
    color: rgba(192, 200, 208, 0.72);
    letter-spacing: 0.01em;
  }
  body.template-product .gore-pdp-mobile-trust-line__item {
    color: rgba(192, 200, 208, 0.85);
    white-space: nowrap;
  }
  body.template-product .gore-pdp-mobile-trust-line__sep {
    color: rgba(192, 200, 208, 0.4);
  }
}

/* ── Fix #8 — Hide account icon in top navbar (desktop + mobile drawer) ───── */
/* Both desktop top navbar (inside .site-header-right) and mobile hamburger
   drawer (inside .site-mobile-nav) render the same site-header-actions snippet,
   which emits <li class="site-header-actions__account-link">. Unscoped hide
   covers both contexts; cart icon (.site-header-cart) untouched.
   Login still reachable via direct URL /account. */
.site-header-actions__account-link {
  display: none;
}

/* === END   GORE-MOBILE-PDP-DECLUTTER-2026-05-04 === */

/* === BEGIN GORE-ABOUT-VIDEO-CONSTRAIN 2026-05-07 (Coda Round 26 Task E) === */
/* Constrains hero video on /pages/about + /sv/pages/about so it stays inside viewport.
   Source: Empire dynamic_html_xk7Gah custom_html block, .gore-about-block__video
   tag had ZERO CSS — defaulted to intrinsic source dimensions. */

.gore-about-block {
  display: flex;
  flex-direction: row;
  width: 100%;
  max-width: 100%;
  overflow: hidden;
  position: relative;
}

.gore-about-block__left {
  position: relative;
  flex: 1 1 50%;
  max-width: 50%;
  min-height: 320px;
  overflow: hidden;
  aspect-ratio: 16 / 9;
}

.gore-about-block__video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.gore-about-block__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(0, 0, 0, 0.35) 0%, rgba(0, 0, 0, 0.55) 100%);
  pointer-events: none;
  z-index: 1;
}

.gore-about-block__title {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1.5rem;
  z-index: 2;
  color: #fff;
  text-align: center;
}

.gore-about-block__title h2,
.gore-about-block__title .rich-text-heading {
  color: #fff;
  margin: 0;
  font-weight: 700;
}

.gore-about-block__right {
  flex: 1 1 50%;
  max-width: 50%;
  padding: 2rem;
  box-sizing: border-box;
}

@media (max-width: 767px) {
  .gore-about-block {
    flex-direction: column;
  }
  .gore-about-block__left,
  .gore-about-block__right {
    flex: 1 1 100%;
    max-width: 100%;
  }
  .gore-about-block__left {
    aspect-ratio: 16 / 9;
    min-height: 0;
  }
  .gore-about-block__right {
    padding: 1.25rem;
  }
}
/* === END GORE-ABOUT-VIDEO-CONSTRAIN 2026-05-07 === */
