/* ShopCMS 1.19.2: semantic palette and responsive image banners */
.storefront .mobile-menu-drawer{background:var(--theme-mobile-drawer-bg)!important;color:var(--theme-mobile-drawer-text)!important}
.storefront .mobile-menu-backdrop{background:color-mix(in srgb,var(--theme-mobile-drawer-backdrop) 60%,transparent)!important}
.storefront .mobile-menu-head{background:var(--theme-mobile-drawer-bg)!important}
.storefront .mobile-custom-menu a{color:var(--theme-mobile-drawer-text)!important;background:var(--theme-mobile-drawer-item)!important;border-color:var(--theme-mobile-drawer-border)!important}
.storefront .mobile-custom-menu a:before{background:var(--theme-mobile-drawer-icon-bg)!important;color:var(--theme-mobile-drawer-icon)!important}
.storefront .mobile-menu-footer{background:var(--theme-mobile-drawer-bg)!important}
.storefront .mobile-bottom-nav,.storefront .cms-mobile-nav{background:var(--theme-mobile-nav-bg)!important;border-color:var(--theme-mobile-nav-border)!important}
.storefront .mobile-bottom-nav a,.storefront .mobile-bottom-nav button{color:var(--theme-mobile-nav-text)!important}
.storefront .mobile-bottom-nav a.is-active,.storefront .mobile-bottom-nav .is-home{color:var(--theme-mobile-nav-active)!important}
.storefront .mobile-search-row{background:var(--theme-mobile-header-bg)!important;color:var(--theme-mobile-header-text)!important}
.storefront .market-products-grid .product-card,.storefront .market-shop .market-product-card{background:var(--theme-product-card-bg);color:var(--theme-product-card-text)}
.storefront .cms-contact-trigger{background:var(--theme-floating-bg)!important;color:var(--theme-floating-text)!important}
.storefront .cms-backtop{background:var(--theme-backtop-bg)!important;color:var(--theme-backtop-text)!important}
.storefront a:focus-visible,.storefront button:focus-visible{outline:2px solid var(--theme-accent);outline-offset:3px}
/* Original banner ratio is respected on mobile: remove artificial letterboxing. */
@media(max-width:700px){
 .storefront .cms-image-banner-widget{width:100%!important;max-width:100%!important;padding-inline:10px!important;box-sizing:border-box}
 .storefront .cms-image-banner-carousel{aspect-ratio:var(--cms-banner-mobile-ratio,16 / 9)!important;height:auto!important;min-height:0!important;background:transparent!important}
 .storefront .cms-image-banner-track{height:100%!important;position:relative!important}
 .storefront .cms-image-banner-slide{position:absolute!important;inset:0!important;height:100%!important;display:block!important;transform:translateX(-2.5%)!important}
 .storefront .cms-image-banner-slide.is-active{transform:translateX(0)!important;opacity:1!important;visibility:visible!important}
 .storefront .cms-image-banner-slide picture,.storefront .cms-image-banner-slide a{height:100%!important;display:block!important}
 .storefront .cms-image-banner-slide img{display:block;width:100%!important;height:100%!important;max-height:none!important;object-fit:cover!important;border-radius:var(--widget-radius,18px)!important}
}
/* Non-mobile retains the fixed frame and smooth crossfade. */
.cms-pwa-offer[hidden]{display:none!important}
.cms-pwa-offer{position:fixed;inset:auto 16px max(18px,env(safe-area-inset-bottom)) 16px;z-index:1200;max-width:450px;margin-inline:auto;direction:rtl;display:flex;align-items:flex-start;gap:12px;background:rgba(255,255,255,.97);color:#15223a;border:1px solid #e7ebf3;border-radius:22px;padding:18px 17px;box-shadow:0 22px 68px rgba(15,23,42,.22);backdrop-filter:blur(12px);animation:cms-pwa-rise .4s cubic-bezier(.2,.8,.2,1)}
.cms-pwa-offer-icon{flex:0 0 58px;width:58px;height:58px;background:#f5f6fb;border:1px solid #edf0f6;border-radius:17px;overflow:hidden;display:grid;place-items:center}
.cms-pwa-offer-icon img{width:100%;height:100%;object-fit:contain}.cms-pwa-offer-copy{display:grid;gap:6px;min-width:0;padding-left:13px}.cms-pwa-offer-copy b{font-size:16px;line-height:1.6}.cms-pwa-offer-copy small{color:#667085;font-size:12px;line-height:1.8}.cms-pwa-offer-copy p{margin:2px 0;font-size:12px;color:#495870;line-height:2}
.cms-pwa-install{margin-top:5px;border:0;background:var(--pwa-accent);color:#fff;border-radius:11px;min-height:42px;padding:8px 18px;font-weight:800;cursor:pointer;width:max-content;max-width:100%}
.cms-pwa-dismiss{position:absolute;top:6px;left:7px;width:32px;height:32px;border:0;border-radius:10px;background:transparent;color:#64748b;font-size:25px;cursor:pointer}
@keyframes cms-pwa-rise{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:none}}
@media(max-width:700px){.cms-pwa-offer{bottom:calc(84px + env(safe-area-inset-bottom));left:12px;right:12px;padding:15px 13px}.cms-pwa-offer-icon{width:48px;height:48px;flex-basis:48px}}
@media(prefers-reduced-motion:reduce){.cms-pwa-offer{animation:none}}
/* PWA settings inside admin */
.cms-pwa-admin{max-width:1100px;margin:auto;display:grid;gap:18px}.cms-pwa-admin h2{margin:0 0 14px}.cms-pwa-admin .panel{padding:22px;border-radius:20px}
.cms-pwa-form{display:grid;gap:18px}.cms-pwa-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.cms-pwa-grid label{display:grid;gap:8px;font-weight:700;min-width:0}.cms-pwa-grid label.full{grid-column:1/-1}
.cms-pwa-grid input:not([type=checkbox]),.cms-pwa-grid textarea{max-width:100%;width:100%;border:1px solid #d9e1f0;border-radius:12px;padding:12px 14px;box-sizing:border-box;min-height:47px;background:#fff}
.cms-pwa-grid input[type=color]{padding:4px;width:95px;max-width:95px}.cms-pwa-check{display:flex!important;align-items:center;gap:10px;background:#f8f9fc;border:1px solid #e3e8f3;border-radius:14px;padding:14px;min-width:0}
.cms-pwa-check input{width:21px;height:21px;flex:0 0 21px}.cms-pwa-check span{display:grid;gap:4px}.cms-pwa-check small{color:#6b768a;font-weight:400}
.cms-pwa-status{background:#fff;border:1px solid #e6eaf2;border-radius:18px;padding:17px;display:flex;align-items:center;justify-content:space-between;gap:12px}.cms-pwa-status>div{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.cms-pwa-status small{color:#667085}.cms-pwa-light{width:12px;height:12px;border-radius:50%;background:#d1d5db}.cms-pwa-light.on{background:#10b981;box-shadow:0 0 0 5px #e5fbf4}
.cms-pwa-icon-row{display:flex;gap:15px;align-items:center}.cms-pwa-icon-row>div:last-child{display:flex;flex-wrap:wrap;gap:12px}.cms-pwa-icon-row small{flex:1 0 100%;color:#778398}.cms-pwa-icon-preview{width:90px;height:90px;flex:0 0 90px;background:#eef2f9;display:grid;place-items:center;overflow:hidden;border-radius:19px}.cms-pwa-icon-preview img{width:100%;height:100%;object-fit:contain}.cms-pwa-links{display:flex;flex-wrap:wrap;gap:12px}.cms-pwa-links a{background:#f3f6fb;padding:10px 14px;border-radius:12px;text-decoration:none}.cms-pwa-save{display:flex;justify-content:flex-start;position:sticky;bottom:12px;background:#ffffffed;border-radius:14px;padding:12px;z-index:5}
@media(max-width:700px){.cms-pwa-grid{grid-template-columns:1fr}.cms-pwa-admin .panel{padding:16px}.cms-pwa-status{align-items:flex-start;flex-direction:column}}

.storefront .cms-image-banner-slide picture{overflow:hidden}

/* Extended storefront palette */
.storefront .market-filter-panel{background:var(--theme-catalog-filter-bg)!important}
.storefront .market-product-price strong,.storefront .cms-builder-product-price strong{color:var(--theme-product-price)!important}
.storefront .market-product-content h3,.storefront .market-product-content h3 a{color:var(--theme-product-card-text)!important}
.storefront .market-product-card,.storefront .cms-builder-product{background:var(--theme-product-card-bg)!important}
.storefront .neo-section-heading h2,.storefront .neo-section-head h2,.storefront .market-section-title{color:var(--theme-section-title)!important}
.storefront .market-primary,.storefront .market-filter-submit,.storefront .neo-btn.primary{background:var(--theme-button-primary)!important;color:var(--theme-button-text)!important}
.storefront .market-primary:hover,.storefront .market-filter-submit:hover,.storefront .neo-btn.primary:hover{background:var(--theme-button-hover)!important}
.storefront input:not([type=checkbox]):not([type=radio]):not([type=color]),.storefront select,.storefront textarea{border-color:var(--theme-input-border)}
.storefront .market-filter-panel input,.storefront .market-filter-panel select{background:var(--theme-input-bg)}

.cms-pwa-update[hidden]{display:none!important}.cms-pwa-update{position:fixed;z-index:1300;bottom:calc(22px + env(safe-area-inset-bottom));left:18px;right:18px;margin:auto;max-width:380px;display:flex;align-items:center;justify-content:space-between;gap:12px;border-radius:14px;background:#14213d;color:white;padding:12px 15px;box-shadow:0 15px 40px #0003;font-size:13px}.cms-pwa-update button{border:0;border-radius:9px;background:#fff;color:#14213d;padding:9px 13px;font-weight:800}
