/* Progressive enhancement for the locally mirrored product and commerce pages. */
.woocommerce-product-gallery{opacity:1!important}
.np-local-gallery-viewport .woocommerce-product-gallery__wrapper{width:100%!important;transform:none!important}
.np-local-gallery-viewport .woocommerce-product-gallery__image{width:100%!important;float:none!important}
body .npp-col-media .np-local-gallery-viewport .woocommerce-product-gallery__image.np-gallery-hidden,body .np-local-gallery-viewport .woocommerce-product-gallery__image.np-gallery-hidden{display:none!important}
.np-local-gallery-viewport .woocommerce-product-gallery__image>a{display:flex;width:100%;height:100%;align-items:center;justify-content:center}
/* FlexSlider's original image keeps its intrinsic portrait height inside the
   square, clipped viewport; constraining it to the square shrinks the vial. */
body .npp-col-media .np-local-gallery-viewport .woocommerce-product-gallery__image:first-child>a>img{height:auto!important;max-height:none!important}
.np-gallery-thumb{display:block!important;width:100%!important;background:none!important;border:0!important;border-radius:11px!important;padding:0!important;box-shadow:none!important}
.np-gallery-thumb:focus-visible{outline:3px solid #2b6fa6;outline-offset:3px}
.np-gallery-zoom{display:grid!important;place-items:center;width:36px!important;height:36px!important;line-height:1!important;border:1px solid #d6e4ef!important;background:white!important;border-radius:50%!important;padding:0!important;font-size:26px!important;color:#23445e!important;cursor:zoom-in}
.np-gallery-zoom:before,.np-gallery-zoom:after{display:none!important}
.np-tabs[data-np-ready]>.np-panel:not(.is-active){display:none!important}
.np-tabs[data-np-ready]>.np-panel.is-active{display:block!important}
.np-tab:focus-visible{outline:2px solid #2e76ac;outline-offset:3px}
ul.products>li.product[hidden],.np-local-search-empty[hidden]{display:none!important}
.np-media-modal{position:fixed;inset:0;width:min(1180px,94vw);height:min(940px,94vh);max-width:94vw;max-height:94vh;padding:0;border:0;border-radius:14px;background:#fff;color:#122b40;box-shadow:0 24px 90px #0006;overflow:hidden}
.np-media-modal::backdrop{background:rgba(8,22,35,.8);backdrop-filter:blur(5px)}
.np-media-modal header{height:64px;display:flex;align-items:center;gap:16px;padding:12px 22px;border-bottom:1px solid #dae3ec;font-size:14px}
.np-media-caption{flex:1;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;font-weight:600}
.np-media-original{color:#286ba0!important;font-size:13px;white-space:nowrap}
.np-media-close{flex:none;width:36px;height:36px;padding:0!important;font-size:28px!important;line-height:1!important;border:1px solid #dce5ed!important;border-radius:50%!important;background:white!important;color:#102c42!important}
.np-media-content{height:calc(100% - 96px);padding:14px;overflow:auto;display:flex;justify-content:center;background:#f7f9fc}
.np-media-content img{display:block;max-width:100%;height:100%;object-fit:contain;flex:none}
.np-media-content iframe{border:0;width:100%;height:100%;background:#fff}
.np-media-modal>button.np-media-prev,.np-media-modal>button.np-media-next{position:absolute;top:50%;width:42px;height:42px;padding:0!important;border:1px solid #d4e1ec!important;background:#fffffff2!important;color:#193f5c!important;border-radius:50%!important;font-size:30px!important;line-height:1!important;box-shadow:0 3px 15px #102d3f15}
.np-media-prev{left:18px}.np-media-next{right:18px}.np-media-modal>button[hidden]{display:none!important}
.np-media-count{height:32px;text-align:center;font-size:13px;color:#4d6475;padding:4px;background:#fff}
.np-local-cart-veil{position:fixed;inset:0;z-index:999998;display:none;border:0!important;background:#0b192b80!important;border-radius:0!important;padding:0!important;width:100vw;height:100dvh;cursor:default}
.nph-cart-count[hidden],.xoo-wsc-items-count[hidden],.elementor-button-icon-qty[hidden]{display:none!important}
body.np-local-cart-open{overflow:hidden!important}
body.np-local-cart-open>.np-local-cart-veil{display:block}
.xoo-wsc-container{visibility:hidden!important;pointer-events:none!important;transform:translateX(105%)!important;right:0!important;left:auto!important;transition:transform .22s ease,visibility .22s ease!important}
body.np-local-cart-open .xoo-wsc-container{visibility:visible!important;pointer-events:auto!important;transform:translateX(0)!important;position:fixed!important;inset:0 0 0 auto!important;height:100dvh!important;width:min(480px,100vw)!important;max-width:100vw!important;z-index:999999!important;background:#fff!important;display:flex!important;flex-direction:column!important;border-radius:0!important;box-shadow:-12px 0 60px #10273833!important}
.xoo-wsc-basket{display:none!important}
.xoo-wsc-container .xoo-wsc-header{padding:20px 22px!important;flex:none!important;border-bottom:1px solid #dce5ef;background:#fff}
.xoo-wsc-container .xoo-wsch-top{display:flex!important;justify-content:space-between!important;align-items:center!important;width:100%!important}
.xoo-wsc-container .xoo-wsch-text{font-size:21px!important;font-weight:700!important;color:#142c43!important}
.xoo-wsc-container .xoo-wsch-close{font-family:Arial,sans-serif!important;font-size:28px!important;line-height:1!important;width:32px;height:32px;display:grid!important;place-items:center;border:0!important;background:#f0f5fa!important;border-radius:50%!important;color:#173b59!important;cursor:pointer;padding:0!important}
.xoo-wsc-container .xoo-wsch-close:before{display:none!important}
.xoo-wsc-container .xoo-wsc-body{overflow-y:auto!important;min-height:0!important;flex:1 1 auto!important;padding:0 22px!important;background:#fff!important}
.xoo-wsc-container .xoo-wsc-footer{padding:18px 22px!important;flex:none!important;background:#f6f9fc!important;border-top:1px solid #dce5ef!important;margin:0!important}
.xoo-wsc-container .xoo-wsc-loader,.xoo-wsc-container .xoo-wsc-loader-icon{display:none!important}
.np-local-cart-line{display:flex;align-items:flex-start;gap:14px;padding:20px 0;border-bottom:1px solid #e1e9f0;color:#17364d;font-size:14px}
.np-local-cart-picture{flex:none;width:74px;height:94px;background:#f8fafc;border:1px solid #dce6ee;border-radius:10px;overflow:hidden}
.np-local-cart-picture img{display:block;width:100%;height:100%;object-fit:contain}
.np-local-cart-detail{display:flex;flex-direction:column;gap:8px;flex:1;min-width:0}.np-local-cart-detail>a{font-weight:700!important;color:#15344d!important;line-height:1.4!important}
.np-local-cart-detail small{font-size:10px;color:#6c7e8c}
.np-local-cart-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.np-local-qty{display:flex;align-items:center;border:1px solid #ccdbe7;border-radius:7px;height:32px;overflow:hidden;background:#fff}
.np-local-qty button{width:29px!important;height:30px!important;border:0!important;background:none!important;border-radius:0!important;color:#183c55!important;padding:0!important;font-size:17px!important;line-height:1!important}
.np-local-qty input{width:35px!important;height:30px!important;min-height:0!important;padding:0!important;border:0!important;background:none!important;border-radius:0!important;text-align:center!important;color:#173b59!important;font-size:13px!important;-moz-appearance:textfield;appearance:textfield}
.np-local-qty input::-webkit-inner-spin-button,.np-local-qty input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.np-local-remove{font-size:11px!important;color:#63798b!important;border:0!important;padding:3px 0!important;background:none!important;text-decoration:underline;min-width:0!important;box-shadow:none!important}
.np-local-line-total{font-size:14px!important;white-space:nowrap;color:#17344a}
.np-local-cart-summary>div{display:flex;justify-content:space-between;gap:15px;font-size:14px;margin-bottom:12px;line-height:1.5;color:#29475d}.np-local-cart-summary>div.np-local-saving{color:#108260}
.np-local-cart-summary>.np-local-cart-total{border-top:1px solid #dbe5ee;padding-top:12px;font-size:19px;margin-top:16px;color:#122e44}.np-local-cart-total small{font-size:11px;font-weight:500;letter-spacing:.06em}
.np-local-cart-summary p{font-size:12px;line-height:1.5;margin:6px 0!important;color:#426579}.np-local-cart-summary p.np-local-shipping{color:#236d54;font-weight:600}
.np-local-checkout{display:flex!important;width:100%;align-items:center;justify-content:center;gap:14px;border:0!important;border-radius:10px!important;padding:14px 20px!important;background:#0e4167!important;color:#fff!important;text-decoration:none!important;font-size:15px!important;font-weight:700!important;line-height:1.4!important;text-align:center;margin:15px 0 8px;box-sizing:border-box}
.np-local-checkout:hover{background:#13557e!important}
.np-local-view-cart{display:block;text-align:center;color:#325e7d!important;font-size:12px;padding:6px;text-decoration:underline!important}
.np-local-continue{display:block!important;border:0!important;background:none!important;color:#48677d!important;font-size:12px!important;text-align:center;margin:0 auto!important;padding:9px!important;box-shadow:none!important}
.np-local-order-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(280px,1fr);gap:36px;max-width:1200px;margin:20px auto 50px;text-align:left;width:100%}.np-local-order-grid h2{font-size:23px!important;color:#143c5c!important;margin:0 0 18px!important}
.np-local-order-totals{padding:24px;background:#f7fafc;border:1px solid #d9e5ee;border-radius:14px;align-self:start}.np-local-checkout-notice{padding:15px;border:1px solid #c4d7e7;background:#edf5fc;border-radius:10px;font-size:13px;color:#2a506c}.np-local-checkout-notice p{margin:8px 0 0!important;line-height:1.6!important;font-size:13px!important}
.np-local-order-grid .np-local-cart-picture{width:90px;height:105px}
@media(max-width:768px){.np-local-order-grid{grid-template-columns:1fr;gap:26px}.np-local-order-totals{padding:20px}.np-local-cart-line{gap:10px}.np-media-modal{width:96vw;max-width:96vw;height:90dvh;max-height:90dvh;border-radius:10px}.np-media-modal header{padding:10px 12px;height:58px;gap:10px}.np-media-caption{font-size:12px}.np-media-original{font-size:11px}.np-media-content{height:calc(100% - 90px);padding:6px}.np-media-prev{left:8px}.np-media-next{right:8px}.np-media-modal>button.np-media-prev,.np-media-modal>button.np-media-next{width:34px;height:34px}.np-local-line-total{font-size:12px!important}}
@media(prefers-reduced-motion:reduce){.xoo-wsc-container{transition:none!important}}
