/* AMPOL SHOP v29.1.4 — mobile header, compact drawer and theme contrast polish. */

/* The mobile wordmark owns a protected lane beside the avatar instead of the
   geometric center, where notification and cart controls can overlap it. */
@media (max-width:767px){
    .ampol-site-header__bar{isolation:isolate!important;height:3.35rem!important;min-height:3.35rem!important;padding:0 .5rem!important;gap:.22rem!important;white-space:nowrap!important}
    .ampol-header-spacer{height:3.35rem!important}
    .ampol-brand{position:relative;z-index:5;flex:none!important}
    .ampol-brand__mark{width:2rem!important;height:2rem!important;flex-basis:2rem!important;border-radius:.68rem!important;font-size:.72rem!important}
    .ampol-mobile-wordmark{position:static!important;inset:auto!important;display:inline-flex!important;flex:1 1 auto!important;min-width:0!important;max-width:none!important;align-self:center!important;justify-content:center!important;overflow:hidden!important;transform:none!important;font-size:8.5px!important;text-overflow:clip;text-shadow:none!important}
    .ampol-header-actions{position:relative;z-index:6;max-width:none!important;flex:none!important;gap:.16rem!important;white-space:nowrap!important}
    .ampol-header-actions :is(.ampol-header-icon,.ampol-notification-trigger,.ampol-mobile-identity,.ampol-menu-button),
    .ampol-notification-trigger__ring{width:1.95rem!important;height:1.95rem!important;flex:0 0 1.95rem!important;border-radius:.65rem!important}
    .ampol-header-actions :is(.ampol-header-icon,.ampol-notification-trigger,.ampol-mobile-identity,.ampol-menu-button) svg{width:.9rem!important;height:.9rem!important}
    .ampol-header-count,.ampol-notification-trigger .ampol-header-count{top:-.22rem!important;inset-inline-end:-.2rem!important;min-width:.92rem!important;height:.92rem!important;padding:0 .16rem!important;border-width:1px!important;font-size:.43rem!important}
}
@media (max-width:370px){
    .ampol-site-header__bar{height:3.15rem!important;min-height:3.15rem!important;padding-inline:.35rem!important}
    .ampol-header-spacer{height:3.15rem!important}
    .ampol-brand__mark{width:1.85rem!important;height:1.85rem!important;flex-basis:1.85rem!important}
    .ampol-mobile-wordmark{font-size:7.5px!important;gap:2px!important}
    .ampol-header-actions{gap:.1rem!important}
    .ampol-header-actions :is(.ampol-header-icon,.ampol-notification-trigger,.ampol-mobile-identity,.ampol-menu-button),
    .ampol-notification-trigger__ring{width:1.82rem!important;height:1.82rem!important;flex-basis:1.82rem!important}
}

/* Compact left glass drawer: a two-column quick menu keeps the storefront
   visible and avoids turning navigation into a full-screen page. */
.ampol-mobile-menu-layer{display:none}
@media (max-width:1099px){
    .ampol-mobile-menu-layer{position:fixed;z-index:1095;inset:var(--ampol-header-height,74px) 0 0;display:block;overflow:hidden}
    .ampol-mobile-menu-backdrop{position:absolute;z-index:0;inset:0;width:100%;height:100%;border:0;background:rgba(2,6,12,.3);backdrop-filter:blur(2px);cursor:default}
    .ampol-mobile-menu{position:absolute!important;z-index:1!important;top:.55rem!important;right:auto!important;bottom:auto!important;left:.55rem!important;width:min(72vw,260px)!important;height:auto!important;max-height:calc(100% - 5.8rem)!important;overflow-y:auto!important;overscroll-behavior:contain;padding:0!important;border:1px solid color-mix(in srgb,var(--theme-accent) 26%,var(--theme-line))!important;border-radius:1.25rem!important;background:linear-gradient(150deg,color-mix(in srgb,var(--theme-panel-strong) 94%,transparent),color-mix(in srgb,var(--theme-panel) 88%,transparent))!important;box-shadow:18px 24px 55px rgba(0,0,0,.28),inset 0 1px color-mix(in srgb,var(--theme-text) 9%,transparent)!important;backdrop-filter:blur(28px) saturate(1.28)!important;animation:ampolDrawerEnter .22s cubic-bezier(.2,.8,.2,1) both;scrollbar-width:thin;scrollbar-color:var(--theme-accent) transparent}
    .ampol-mobile-menu .page-shell{width:100%!important;padding:.48rem!important}
    .ampol-mobile-menu__head{display:flex;align-items:center;gap:.42rem;margin-bottom:.45rem;padding:.48rem .5rem;border:1px solid color-mix(in srgb,var(--theme-accent) 24%,transparent);border-radius:.9rem;background:linear-gradient(125deg,var(--theme-accent-soft),color-mix(in srgb,var(--theme-panel-soft) 78%,transparent));color:var(--theme-text)}
    .ampol-mobile-menu__head-icon{display:grid;place-items:center;width:1.72rem;height:1.72rem;flex:0 0 1.72rem;border-radius:.58rem;background:var(--theme-accent);color:var(--theme-on-accent,#fff);box-shadow:0 6px 16px color-mix(in srgb,var(--theme-accent) 28%,transparent)}
    .ampol-mobile-menu__head-icon svg{width:.9rem;height:.9rem}
    .ampol-mobile-menu__head-copy{display:grid;min-width:0;gap:.06rem;line-height:1.35}
    .ampol-mobile-menu__head-copy strong{color:var(--theme-text)!important;font-size:.67rem;font-weight:900}
    .ampol-mobile-menu__head-copy small{overflow:hidden;color:var(--theme-muted)!important;font-size:.48rem;white-space:nowrap;text-overflow:ellipsis}
    .ampol-mobile-menu__close{display:grid;place-items:center;width:1.55rem;height:1.55rem;flex:0 0 1.55rem;margin-inline-start:auto;border:1px solid var(--theme-line);border-radius:.52rem;background:var(--theme-panel-soft);color:var(--theme-text)}
    .ampol-mobile-menu__close svg{width:.76rem;height:.76rem}
    .ampol-mobile-menu__grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:.28rem!important;padding:0!important}
    .ampol-mobile-menu__grid>a{display:flex!important;min-width:0!important;min-height:2rem!important;align-items:center!important;justify-content:flex-start!important;overflow:hidden;border:1px solid color-mix(in srgb,var(--theme-text) 11%,transparent)!important;border-radius:.68rem!important;padding:.38rem .5rem!important;background:color-mix(in srgb,var(--theme-panel-soft) 76%,transparent)!important;color:var(--theme-text)!important;font-size:.54rem!important;font-weight:750!important;line-height:1.35!important;white-space:nowrap!important;text-overflow:ellipsis!important;box-shadow:inset 0 1px color-mix(in srgb,var(--theme-text) 5%,transparent)}
    .ampol-mobile-menu__grid>a:is(:hover,:focus-visible){border-color:var(--theme-accent)!important;background:var(--theme-accent-soft)!important;color:var(--theme-accent-text)!important;outline:0}
    .ampol-mobile-menu__grid>a.is-primary{border-color:color-mix(in srgb,var(--theme-accent) 40%,transparent)!important;background:linear-gradient(120deg,color-mix(in srgb,var(--theme-accent) 20%,var(--theme-panel-soft)),var(--theme-panel-soft))!important;color:var(--theme-text)!important}
    .ampol-mobile-menu__grid>a b{margin-inline-start:.18rem;font-size:.44rem;color:var(--theme-accent-text)!important}
    .ampol-mobile-menu__logout{grid-column:1/-1!important;position:static!important;margin-top:.08rem!important;padding-top:.3rem!important;border-top:1px solid var(--theme-line)!important;background:transparent!important}
    .ampol-mobile-menu__logout button{width:100%!important;min-height:2.05rem!important;border-radius:.68rem!important;font-size:.54rem!important}
}
@media (max-width:370px){
    .ampol-mobile-menu{right:auto!important;left:.38rem!important;width:min(73vw,252px)!important}
    .ampol-mobile-menu .page-shell{padding:.4rem!important}
    .ampol-mobile-menu__grid{gap:.24rem!important}
    .ampol-mobile-menu__grid>a{min-height:1.88rem!important;padding:.32rem .42rem!important;font-size:.5rem!important}
}
@keyframes ampolDrawerEnter{from{opacity:0;transform:translateX(-22px) scale(.98)}to{opacity:1;transform:none}}

/* Dashboard cards inherit explicit foreground colors in every dark theme. */
html[data-theme] body.is-dashboard-route :is(.v1218-identity-card,.v1218-appearance-card){color:var(--theme-text)!important;border-color:var(--theme-line)!important;background:linear-gradient(145deg,var(--theme-panel-strong),var(--theme-panel))!important}
html[data-theme] body.is-dashboard-route :is(.v1218-identity-card b,.v1218-appearance-card h2,.v1218-theme-option b){color:var(--theme-text)!important;-webkit-text-fill-color:var(--theme-text)!important}
html[data-theme] body.is-dashboard-route :is(.v1218-identity-card em,.v1218-appearance-card header p,.v1218-theme-option small){color:var(--theme-muted)!important;-webkit-text-fill-color:var(--theme-muted)!important}
html[data-theme] body.is-dashboard-route .v1218-theme-option button{border-color:var(--theme-line)!important;background:var(--theme-panel-soft)!important;color:var(--theme-text)!important}
html[data-theme] body.is-dashboard-route .v1218-theme-option.is-active button{border-color:var(--theme-accent)!important;background:linear-gradient(135deg,var(--theme-accent-soft),var(--theme-panel-soft))!important}

/* Keep the six appearance choices visible together on narrow account screens. */
@media (max-width: 640px) {
    html[data-theme] body.is-dashboard-route .v1218-appearance-card { padding: .9rem !important; border-radius: 1.2rem !important; }
    html[data-theme] body.is-dashboard-route .v1218-appearance-card header { margin-bottom: .75rem !important; }
    html[data-theme] body.is-dashboard-route .v1218-appearance-card h2 { font-size: .95rem !important; }
    html[data-theme] body.is-dashboard-route .v1218-theme-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: .5rem !important; }
    html[data-theme] body.is-dashboard-route .v1218-theme-option { min-width: 0; }
    html[data-theme] body.is-dashboard-route .v1218-theme-option button {
        grid-template-columns: 2rem minmax(0, 1fr) !important;
        gap: .45rem !important;
        min-height: 3.55rem !important;
        padding: .45rem !important;
        border-radius: .85rem !important;
    }
    html[data-theme] body.is-dashboard-route .v1218-theme-option__preview { width: 2rem !important; height: 2rem !important; padding: .3rem !important; border-radius: .6rem !important; }
    html[data-theme] body.is-dashboard-route .v1218-theme-option button > span:nth-child(2) { min-width: 0; gap: .12rem !important; }
    html[data-theme] body.is-dashboard-route .v1218-theme-option b { font-size: .65rem !important; line-height: 1.35 !important; white-space: normal; }
    html[data-theme] body.is-dashboard-route .v1218-theme-option small { font-size: .52rem !important; }
    html[data-theme] body.is-dashboard-route .v1218-theme-option em { display: none !important; }
}

/* Store category choices and result controls follow the selected theme rather
   than mixing white cards with white text. */
html[data-theme] body.is-shop-route .storefront-page :is(h1,h2,h3,b,strong){color:var(--theme-text)!important;-webkit-text-fill-color:var(--theme-text)!important}
html[data-theme] body.is-shop-route .store-subcategory-picker{border-color:var(--theme-line)!important;background:linear-gradient(145deg,var(--theme-panel-strong),var(--theme-panel))!important}
html[data-theme] body.is-shop-route .store-subcategory-picker__title{color:var(--theme-text)!important}
html[data-theme] body.is-shop-route .store-subcategory-picker__option{border-color:var(--theme-line)!important;background:var(--theme-panel-soft)!important;color:var(--theme-text)!important;-webkit-text-fill-color:var(--theme-text)!important}
html[data-theme] body.is-shop-route .store-subcategory-picker__option small{color:var(--theme-muted)!important;-webkit-text-fill-color:var(--theme-muted)!important}
html[data-theme] body.is-shop-route .store-subcategory-picker__option:is(:hover,:focus-visible){border-color:var(--theme-accent)!important;background:var(--theme-accent-soft)!important;color:var(--theme-accent-text)!important;outline:0}
html[data-theme] body.is-shop-route .store-result-toolbar{border-color:var(--theme-line)!important;background:var(--theme-panel-strong)!important}
html[data-theme] body.is-shop-route .store-result-toolbar__count{color:var(--theme-muted)!important}.store-result-toolbar__count b{color:var(--theme-text)!important}
html[data-theme] body.is-shop-route .store-result-toolbar__sort{border:1px solid var(--theme-line)!important;border-radius:.65rem!important;background:var(--theme-panel-soft)!important;color:var(--theme-text)!important;-webkit-text-fill-color:var(--theme-text)!important}

/* Mobile product flow: order first, information second, artwork last. */
@media (max-width:767px){
    body.is-product-route .product-service-page-v123 .product-order-card{order:1!important}
    body.is-product-route .product-service-page-v123 .product-service-copy{order:2!important}
    body.is-product-route .product-service-page-v123 .product-service-artwork{order:3!important}
    body.is-product-route .product-service-page-v123 .product-order-card{padding:.82rem!important}
    body.is-product-route .product-service-page-v123 .product-order-card form{margin-top:1rem!important}
    body.is-product-route .product-service-page-v123 .product-order-submit{min-height:3.15rem!important;border-radius:.85rem!important;padding:.5rem .75rem!important;gap:.6rem!important;box-shadow:0 10px 28px var(--theme-accent-soft)!important}
    body.is-product-route .product-service-page-v123 .product-order-submit small{font-size:.5rem!important}
    body.is-product-route .product-service-page-v123 .product-order-submit b{margin-top:.12rem!important;font-size:.76rem!important}
    body.is-product-route .product-service-page-v123 .product-order-submit>svg{width:1rem!important;height:1rem!important}
}

/* Stable Latin/tabular figures for every cart quantity and monetary value. */
.ampol-cart-number{direction:ltr!important;unicode-bidi:isolate;font-family:Figtree,Arial,sans-serif!important;font-variant-numeric:tabular-nums lining-nums;font-feature-settings:"tnum" 1,"lnum" 1;letter-spacing:.035em;white-space:nowrap}
.ampol-cart-number small{font-family:Estedad,Tahoma,sans-serif!important;letter-spacing:0}

/* Partner center must remain painted after Alpine hydration. */
body.is-admin-route:has(.partner-admin-overview) .ampol-admin-content{display:block!important;min-height:1px!important;visibility:visible!important;opacity:1!important}
body.is-admin-route:has(.partner-admin-overview) :is(.partner-admin-overview,.partner-admin-nav,.partner-admin-shell,.partner-admin-two){visibility:visible!important;opacity:1!important;transform:none!important}
[data-product-card][hidden]{display:none!important}

@media (prefers-reduced-motion:reduce){.ampol-mobile-menu{animation:none!important}}
