/* GM STORES v1.3.8 — storefront, theme, content and mobile stabilization */

/* 1. Shared surface and contrast normalization */
html[data-color-scheme="light"] body.gm-brand-v013,
html[data-color-scheme="dark"] body.gm-brand-v013{
    background:var(--gm-bg);
    color:var(--gm-ink);
}
body.gm-brand-v013 main{background:var(--gm-bg);color:var(--gm-ink)}
body.gm-brand-v013 :where(h1,h2,h3,h4,h5,h6,strong,b,label,legend){color:inherit}
body.gm-brand-v013 :where(.text-secondary,.form-text){color:var(--gm-muted)!important}
body.gm-brand-v013 :where(.card,.modal-content,.dropdown-menu,.accordion-item,.list-group-item,.offcanvas,.toast,.alert-light,.bg-white){
    background-color:var(--gm-surface)!important;
    color:var(--gm-ink)!important;
    border-color:var(--gm-border)!important;
}
body.gm-brand-v013 :where(.form-control,.form-select,.form-check-input,.input-group-text){
    background-color:var(--gm-surface);
    color:var(--gm-ink);
    border-color:var(--gm-border);
}
body.gm-brand-v013 :where(.form-control,.form-select)::placeholder{color:color-mix(in srgb,var(--gm-muted) 82%,transparent)}
body.gm-brand-v013 .dropdown-item{color:var(--gm-ink)}
body.gm-brand-v013 .dropdown-item:hover,
body.gm-brand-v013 .dropdown-item:focus{background:var(--gm-bg);color:var(--gm-primary)}
body.gm-brand-v013 .pagination .page-link{background:var(--gm-surface);color:var(--gm-ink);border-color:var(--gm-border)}
body.gm-brand-v013 .pagination .active>.page-link{background:var(--gm-primary);color:var(--gm-on-primary);border-color:var(--gm-primary)}
body.gm-brand-v013 :where(.table,.admin-table){--bs-table-bg:transparent;--bs-table-color:var(--gm-ink);--bs-table-border-color:var(--gm-border)}
body.gm-brand-v013 .btn-outline-dark{border-color:color-mix(in srgb,var(--gm-ink) 70%,var(--gm-border));color:var(--gm-ink)}
body.gm-brand-v013 .btn-outline-dark:hover{background:var(--gm-ink);border-color:var(--gm-ink);color:var(--gm-bg)}
html[data-color-scheme="dark"] body.gm-brand-v013 :where(.badge.text-bg-light,.alert-light){background:color-mix(in srgb,var(--gm-surface) 80%,var(--gm-border))!important;color:var(--gm-ink)!important}
html[data-color-scheme="dark"] body.gm-brand-v013 :where(.text-dark,.link-dark){color:var(--gm-ink)!important}
html[data-color-scheme="dark"] body.gm-brand-v013 .accordion-button::after{filter:invert(1) brightness(1.35)}

/* 2. Mobile search — fixes same-element selector and keeps search available even when desktop search is hidden */
.brand-search.is-mobile-only{display:none}
@media(max-width:767.98px){
    .brand-search.is-mobile-only{display:block}
    body.gm-brand-v013.mobile-search-open .brand-search{
        display:block!important;
        opacity:1!important;
        visibility:visible!important;
        pointer-events:auto!important;
        transform:none!important;
    }
    body.gm-brand-v013.mobile-search-open .mobile-search-backdrop{display:block}
    body.gm-brand-v013 .brand-search{
        left:10px;
        right:10px;
        bottom:calc(var(--gm-mobile-dock-height,68px) + 10px + env(safe-area-inset-bottom));
        z-index:1110;
    }
    body.gm-brand-v013 .brand-search .nav-search{
        width:100%!important;
        min-height:56px;
        margin:0;
        border-radius:17px;
        background:var(--gm-surface);
        color:var(--gm-ink);
        box-shadow:0 24px 70px rgba(0,0,0,.28);
    }
    body.gm-brand-v013 .brand-search .live-search-panel{
        width:100%;
        max-height:min(54vh,430px);
        background:var(--gm-surface);
        border-color:var(--gm-border);
    }
    body.gm-brand-v013 .mobile-search-backdrop{z-index:1100}
    body.gm-brand-v013 .mobile-commerce-dock{z-index:1120}
}

/* 3. Compact product cards and denser product grids */
body.gm-brand-v013 .product-grid{--bs-gutter-x:14px;--bs-gutter-y:18px}
body.gm-brand-v013 .theme-product-card{
    height:100%;
    border-radius:17px;
    border-color:var(--gm-border);
    box-shadow:0 10px 28px rgba(15,23,42,.055);
    overflow:hidden;
}
body.gm-brand-v013 .theme-product-card:hover{transform:translateY(-3px);box-shadow:0 17px 38px rgba(15,23,42,.1)}
body.gm-brand-v013 .theme-product-card .product-image-wrap{aspect-ratio:4/5;padding:6px 6px 0;background:color-mix(in srgb,var(--gm-bg) 82%,var(--gm-surface))}
body.gm-brand-v013 .theme-product-card .product-image-link{border-radius:13px;overflow:hidden}
body.gm-brand-v013 .theme-product-card .product-card-body{min-height:0;padding:12px 13px 13px}
body.gm-brand-v013 .theme-product-card .product-card-category{margin-bottom:5px;font-size:.57rem;line-height:1.3}
body.gm-brand-v013 .theme-product-card h3{min-height:2.65em;margin:0 0 7px;font-size:.83rem;line-height:1.33;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
body.gm-brand-v013 .theme-product-card .product-card-rating{min-height:18px;margin-bottom:5px;font-size:.62rem}
body.gm-brand-v013 .theme-product-card .product-card-meta{margin:4px 0 8px;font-size:.61rem}
body.gm-brand-v013 .theme-product-card .product-card-meta small{display:none}
body.gm-brand-v013 .theme-product-card .product-card-footer{gap:8px;align-items:center}
body.gm-brand-v013 .theme-product-card .product-price strong{font-size:.91rem}
body.gm-brand-v013 .theme-product-card .product-price del{font-size:.62rem}
body.gm-brand-v013 .theme-product-card .product-add{min-height:36px;padding:8px 10px;border-radius:10px;font-size:.66rem;white-space:nowrap}
body.gm-brand-v013 .theme-product-card .product-card-tools{top:10px;right:10px}
body.gm-brand-v013 .theme-product-card .favorite-button{width:34px;height:34px}
@media(max-width:767.98px){
    body.gm-brand-v013 .product-grid{--bs-gutter-x:10px;--bs-gutter-y:13px}
    body.gm-brand-v013 .theme-product-card{border-radius:14px}
    body.gm-brand-v013 .theme-product-card .product-image-wrap{padding:4px 4px 0}
    body.gm-brand-v013 .theme-product-card .product-card-body{padding:9px 9px 10px}
    body.gm-brand-v013 .theme-product-card h3{font-size:.76rem;min-height:2.55em}
    body.gm-brand-v013 .theme-product-card .product-card-rating,
    body.gm-brand-v013 .theme-product-card .product-card-meta{display:none}
    body.gm-brand-v013 .theme-product-card .product-card-footer{display:grid;grid-template-columns:1fr;gap:6px}
    body.gm-brand-v013 .theme-product-card .product-add{width:100%;min-height:34px;padding:7px 8px;font-size:.62rem}
}

/* 4. FAQ page */
body.gm-brand-v013.page-type-faq .faq-premium{padding:clamp(58px,7vw,92px) 0 42px;background:linear-gradient(180deg,color-mix(in srgb,var(--gm-primary) 7%,var(--gm-bg)),var(--gm-bg))}
body.gm-brand-v013.page-type-faq .faq-premium h1{max-width:13ch;font-size:clamp(2.55rem,6vw,5rem);line-height:.97;color:var(--gm-ink)}
body.gm-brand-v013.page-type-faq .faq-premium p{max-width:680px;color:var(--gm-muted);font-size:1rem;line-height:1.75}
body.gm-brand-v013.page-type-faq .faq-search{max-width:760px;margin-top:25px;border-radius:15px;box-shadow:0 14px 38px rgba(15,23,42,.07)}
body.gm-brand-v013.page-type-faq .faq-content{padding:46px 0 68px}
body.gm-brand-v013.page-type-faq .faq-directory{gap:24px}
body.gm-brand-v013.page-type-faq .faq-group{display:grid;grid-template-columns:minmax(155px,210px) minmax(0,1fr);gap:22px;padding:22px;border:1px solid var(--gm-border);border-radius:22px;background:var(--gm-surface);box-shadow:0 13px 34px rgba(15,23,42,.05)}
body.gm-brand-v013.page-type-faq .faq-group-title span{font-family:var(--gm-font-heading);font-size:1.18rem;color:var(--gm-ink)}
body.gm-brand-v013.page-type-faq .premium-accordion .accordion-button{padding:16px 4px;font-family:inherit;font-size:.94rem;line-height:1.45}
body.gm-brand-v013.page-type-faq .premium-accordion .accordion-body{padding:0 4px 18px;color:var(--gm-muted);font-size:.9rem;line-height:1.75}
body.gm-brand-v013.page-type-faq .faq-support-cta{padding:38px 0;background:var(--gm-primary);color:var(--gm-on-primary)}
body.gm-brand-v013.page-type-faq .faq-support-cta h2{font-size:clamp(1.8rem,3.5vw,3.2rem);color:inherit}
body.gm-brand-v013.page-type-faq .faq-support-cta .eyebrow{color:color-mix(in srgb,var(--gm-on-primary) 72%,transparent)}
@media(max-width:767.98px){
    body.gm-brand-v013.page-type-faq .faq-premium{padding:42px 0 30px}
    body.gm-brand-v013.page-type-faq .faq-premium h1{font-size:2.45rem}
    body.gm-brand-v013.page-type-faq .faq-group{grid-template-columns:1fr;padding:16px;gap:9px;border-radius:17px}
    body.gm-brand-v013.page-type-faq .faq-category-nav{margin-top:15px}
    body.gm-brand-v013.page-type-faq .faq-search{margin-top:18px}
}

/* 5. Blog archive and article */
body.gm-brand-v013.page-type-blog .system-profile-hero{padding:clamp(56px,7vw,88px) 0 44px;background:linear-gradient(145deg,color-mix(in srgb,var(--gm-primary) 8%,var(--gm-bg)),var(--gm-bg));color:var(--gm-ink)}
body.gm-brand-v013.page-type-blog .system-profile-hero h1{max-width:14ch;font-size:clamp(2.7rem,5.8vw,5rem);line-height:.98;color:var(--gm-ink)}
body.gm-brand-v013.page-type-blog .system-profile-hero p{max-width:680px;color:var(--gm-muted);line-height:1.75}
body.gm-brand-v013.page-type-blog .journal-search{max-width:560px;margin-top:24px;padding:5px 5px 5px 15px;border:1px solid var(--gm-border);border-radius:14px;background:var(--gm-surface)}
body.gm-brand-v013.page-type-blog .journal-search input{min-height:42px;color:var(--gm-ink)}
body.gm-brand-v013.page-type-blog .journal-search button{padding:10px 15px;border-radius:10px;background:var(--gm-primary);color:var(--gm-on-primary)}
body.gm-brand-v013.page-type-blog .journal-grid.is-archive{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
body.gm-brand-v013.page-type-blog .journal-card{display:flex;flex-direction:column;border-radius:18px;background:var(--gm-surface);color:var(--gm-ink);border:1px solid var(--gm-border);box-shadow:0 12px 32px rgba(15,23,42,.055)}
body.gm-brand-v013.page-type-blog .journal-card .journal-cover{aspect-ratio:16/10;background:var(--gm-bg)}
body.gm-brand-v013.page-type-blog .journal-card>div{display:flex;flex:1;flex-direction:column;padding:16px 17px 18px}
body.gm-brand-v013.page-type-blog .journal-card time{color:var(--gm-muted)}
body.gm-brand-v013.page-type-blog .journal-card h2{font-size:1.08rem;line-height:1.35;margin:8px 0}
body.gm-brand-v013.page-type-blog .journal-card p{color:var(--gm-muted);font-size:.8rem;line-height:1.65;margin-bottom:13px}
body.gm-brand-v013.page-type-blog .journal-card .journal-link{margin-top:auto;color:var(--gm-ink);border:0;padding:0}
body.gm-brand-v013.page-type-blog_post .article-page{background:var(--gm-bg);color:var(--gm-ink)}
body.gm-brand-v013.page-type-blog_post .article-header{padding:clamp(48px,7vw,84px) 0 34px}
body.gm-brand-v013.page-type-blog_post .article-header h1{max-width:16ch;font-size:clamp(2.45rem,5vw,4.6rem);line-height:1.02;color:var(--gm-ink)}
body.gm-brand-v013.page-type-blog_post .article-header>div>p{color:var(--gm-muted);font-size:1rem}
body.gm-brand-v013.page-type-blog_post .article-cover{height:min(55vw,610px);border-radius:22px}
body.gm-brand-v013.page-type-blog_post .article-body{max-width:760px;padding-top:48px;color:var(--gm-ink);font-size:1rem;line-height:1.9}
body.gm-brand-v013.page-type-blog_post .article-body :where(h2,h3,h4){color:var(--gm-ink)}
body.gm-brand-v013.page-type-blog_post .article-body :where(p,li){color:color-mix(in srgb,var(--gm-ink) 86%,var(--gm-muted))}
@media(max-width:991.98px){body.gm-brand-v013.page-type-blog .journal-grid.is-archive{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){
    body.gm-brand-v013.page-type-blog .journal-grid.is-archive{grid-template-columns:1fr;gap:14px}
    body.gm-brand-v013.page-type-blog .system-profile-hero{padding:42px 0 30px}
    body.gm-brand-v013.page-type-blog .system-profile-hero h1{font-size:2.5rem}
    body.gm-brand-v013.page-type-blog_post .article-cover{height:68vw;border-radius:15px}
}

/* 6. Compact footer */
body.gm-brand-v013 .premium-footer.footer-v124{padding:30px 0 14px}
body.gm-brand-v013 .footer-v124 :where(p,small,a,span){color:color-mix(in srgb,currentColor 76%,transparent)}
body.gm-brand-v013 .footer-v124 :where(h2,h3,strong,.store-brand-copy strong){color:inherit}
body.gm-brand-v013 .footer-v124 a:hover{color:inherit}
body.gm-brand-v013 .footer-v124 .footer-main{grid-template-columns:minmax(230px,1.15fr) minmax(115px,.55fr) minmax(115px,.55fr) minmax(190px,.85fr);gap:24px;padding-bottom:20px}
body.gm-brand-v013 .footer-v124 .footer-brand-block>p{max-width:390px;margin:12px 0 10px;font-size:.74rem;line-height:1.55}
body.gm-brand-v013 .footer-v124 .store-brand.is-footer{margin-bottom:0}
body.gm-brand-v013 .footer-v124 .store-brand.is-footer .store-brand-logo img{max-height:42px;width:auto}
body.gm-brand-v013 .footer-v124 .footer-contact{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:.72rem}
body.gm-brand-v013 .footer-v124 .footer-business-address{max-width:400px;margin-top:10px;font-size:.68rem;line-height:1.5;color:var(--gm-muted)}
body.gm-brand-v013 .footer-v124 .footer-link-column h3{margin:0 0 10px;font-size:.72rem;letter-spacing:.11em;text-transform:uppercase;color:var(--gm-muted)}
body.gm-brand-v013 .footer-v124 .footer-link-column ul{display:grid;gap:6px;margin:0;padding:0}
body.gm-brand-v013 .footer-v124 .footer-link-column li{margin:0!important}
body.gm-brand-v013 .footer-v124 .footer-link-column a{font-size:.72rem;line-height:1.35}
body.gm-brand-v013 .footer-v124 .footer-legal-trust{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:13px 0;border-top:1px solid color-mix(in srgb,currentColor 12%,transparent);border-bottom:1px solid color-mix(in srgb,currentColor 12%,transparent);font-size:.65rem}
body.gm-brand-v013 .footer-v124 .footer-legal-trust>div{display:flex;flex-wrap:wrap;gap:7px 14px}
body.gm-brand-v013 .footer-v124 .footer-bottom{padding-top:12px;font-size:.62rem}
body.gm-brand-v013 .footer-v124 .footer-bottom a{color:inherit;text-decoration:none}
@media(max-width:991.98px){body.gm-brand-v013 .footer-v124 .footer-main{grid-template-columns:1.2fr repeat(2,minmax(120px,.65fr));}.footer-v124 .footer-link-column:last-child{grid-column:2/-1}}
@media(max-width:650px){
    body.gm-brand-v013 .premium-footer.footer-v124{padding:24px 0 88px}
    body.gm-brand-v013 .footer-v124 .footer-main{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 14px;padding-bottom:14px}
    body.gm-brand-v013 .footer-v124 .footer-brand-block{grid-column:1/-1}
    body.gm-brand-v013 .footer-v124 .footer-link-column:last-child{grid-column:1/-1}
    body.gm-brand-v013 .footer-v124 .footer-link-column:last-child ul{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px 12px}
    body.gm-brand-v013 .footer-v124 .footer-brand-block>p{font-size:.7rem}
    body.gm-brand-v013 .footer-v124 .footer-business-address{font-size:.64rem}
    body.gm-brand-v013 .footer-v124 .footer-legal-trust{align-items:flex-start;flex-direction:column;padding:11px 0}
    body.gm-brand-v013 .footer-v124 .footer-bottom{gap:6px;align-items:flex-start}
}

/* 7. Dark theme page-specific repairs */
html[data-color-scheme="dark"] body.gm-brand-v013 :where(.system-profile-hero,.faq-premium,.catalog-hero,.page-hero,.article-header,.content-page,.article-page,.store-section,.commerce-section,.faq-content){background-color:var(--gm-bg);color:var(--gm-ink)}
html[data-color-scheme="dark"] body.gm-brand-v013 :where(.journal-card,.faq-group,.premium-empty,.catalog-sidebar,.catalog-toolbar,.product-card,.summary-card,.auth-card,.contact-form-card,.payment-result-card){background:var(--gm-surface);color:var(--gm-ink);border-color:var(--gm-border)}
html[data-color-scheme="dark"] body.gm-brand-v013 :where(.journal-card p,.article-meta,.article-header p,.faq-group-title small,.accordion-body,.footer-business-address){color:var(--gm-muted)!important}
html[data-color-scheme="dark"] body.gm-brand-v013 .journal-cover{background:color-mix(in srgb,var(--gm-bg) 80%,var(--gm-border))}
