/* ARTY mobile commerce polish — conversion-focused and isolated from desktop. */
@media screen and (max-width:820px){
  :root{--arty-mobile-commerce-shadow:0 14px 42px rgba(25,34,35,.18)}

  /* Keep the existing ARTY mobile navigation as the single source of navigation. */
  .navbar,.navbar.scrolled{
    background:rgba(253,251,247,.96)!important;
    -webkit-backdrop-filter:blur(16px) saturate(1.15);
    backdrop-filter:blur(16px) saturate(1.15);
    border-bottom:1px solid rgba(55,48,39,.06);
    box-shadow:0 7px 24px rgba(35,39,39,.05);
  }
  .navbar .container{padding-left:14px;padding-right:12px}
  .navbar .nav-logo-img,.navbar.scrolled .nav-logo-img{height:40px}
  .nav-hamburger,.mobile-cart-button:not([hidden]){
    border:1px solid rgba(61,53,43,.07);
    background:#fff;
    box-shadow:0 5px 16px rgba(30,38,39,.06);
  }

  /* Product page: image-first, with one persistent purchase action. */
  #page-product.active .product-page{padding-bottom:calc(104px + env(safe-area-inset-bottom,0px))!important}
  #page-product .product-breadcrumb{display:none}
  #page-product .product-back{margin-top:0}
  #page-product .product-layout-pro{display:flex;flex-direction:column;gap:18px}
  #page-product .product-main-media{border-radius:22px;overflow:hidden;background:#fff;box-shadow:0 8px 26px rgba(34,40,41,.06)}
  #page-product .product-main-img{width:100%;max-height:none;aspect-ratio:1/1.08;object-fit:contain;background:#f8f6f2}
  #page-product .product-info-pro{padding:0}
  #page-product .product-meta-line{margin-bottom:8px}
  #page-product .product-title-row{align-items:flex-start;gap:8px}
  #page-product .product-title-row h1{font-size:clamp(1.55rem,6.7vw,2rem);letter-spacing:-.4px}
  #page-product .product-desc{font-size:.96rem;line-height:1.55}
  #page-product .product-purchase-card{padding:18px 15px;border-radius:22px;box-shadow:none;border:1px solid rgba(55,48,39,.08)}
  #page-product .product-price-line{gap:12px}
  #page-product .product-configured-price strong{font-size:1.65rem}
  #page-product .product-checkout-note{margin-bottom:0}
  #page-product .product-service-strip{gap:8px}
  #page-product .product-service-strip>div{padding:14px;border-radius:16px;background:#fff}
  #page-product .product-details-grid{gap:14px}

  .arty-mobile-product-dock{
    position:fixed;z-index:1060;left:10px;right:10px;bottom:calc(8px + env(safe-area-inset-bottom,0px));
    min-height:76px;padding:10px 10px 10px 15px;border:1px solid rgba(58,50,41,.08);border-radius:23px;
    background:rgba(255,255,255,.97);box-shadow:var(--arty-mobile-commerce-shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);
    display:flex;align-items:center;gap:12px;
  }
  .arty-mobile-product-dock .dock-price{min-width:0;display:grid;gap:2px;flex:1}
  .arty-mobile-product-dock .dock-price small{font-size:.7rem;color:var(--muted);font-weight:700}
  .arty-mobile-product-dock .dock-price strong{font-size:1.2rem;white-space:nowrap;color:var(--text)}
  .arty-mobile-product-dock button{min-height:54px;min-width:52%;border-radius:17px;font-weight:850;box-shadow:0 8px 20px rgba(227,121,50,.22)}
  .arty-mobile-product-dock button:disabled{box-shadow:none}

  /* Shop: cleaner cards without adding another sticky/floating navigation layer. */
  #page-paintings .catalog-results .kit-card{box-shadow:0 7px 22px rgba(31,38,39,.06);border:1px solid rgba(55,48,39,.06)}
  #page-paintings .catalog-results .kit-card:active{transform:scale(.985)}
  #page-paintings .catalog-results .kit-card-desc{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
  #page-paintings .catalog-filter-toggle,#page-paintings .catalog-toolbar select{border-radius:14px}

  /* Cart: modern bottom sheet, using the existing cart content and actions. */
  .cart-overlay{background:rgba(20,28,30,.48)!important;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}
  .cart-sidebar{
    top:auto!important;right:0!important;bottom:-105%;width:100%!important;max-width:100%!important;height:min(88dvh,760px)!important;
    padding-top:0!important;border-radius:28px 28px 0 0!important;border:0!important;
    box-shadow:0 -24px 70px rgba(20,29,31,.25)!important;transition:bottom .28s cubic-bezier(.22,.75,.22,1)!important;
  }
  .cart-sidebar.open{bottom:0!important}
  .cart-header{position:relative;min-height:72px;padding:18px 18px 14px;border-radius:28px 28px 0 0;background:#fff;border-bottom:1px solid rgba(50,45,38,.07)}
  .cart-header:before{content:"";position:absolute;top:8px;left:50%;width:38px;height:4px;transform:translateX(-50%);border-radius:4px;background:#d8d5cf}
  .cart-items{padding:4px 14px 18px}
  .cart-item{margin:10px 0;padding:11px;border:1px solid rgba(55,48,39,.07);border-radius:18px;background:#fff}
  .cart-item-img{width:72px;height:82px;border-radius:13px;object-fit:cover}
  .cart-item-remove{width:40px;height:40px;border-radius:12px}
  .cart-footer{background:#fff;padding:14px 16px calc(14px + env(safe-area-inset-bottom,0px));border-top:1px solid rgba(55,48,39,.07)}
  .cart-total{font-size:1.02rem;margin-bottom:10px}
  .cart-total span:last-child{font-size:1.35rem;font-weight:900}
  .arty-mobile-cart-trust{display:flex;justify-content:center;margin:1px 0 10px;color:var(--muted);font-size:.75rem;font-weight:650}
  .cart-footer>.btn-orange{min-height:54px;border-radius:17px;font-weight:850}

  /* Checkout: compact, touch-friendly and single-column. */
  #page-checkout.active .checkout-page{padding-bottom:calc(112px + env(safe-area-inset-bottom,0px))!important}
  #page-checkout .checkout-hero-clean{display:block;margin-bottom:14px}
  #page-checkout .checkout-hero-clean .section-tag{font-size:.8rem}
  #page-checkout .checkout-hero-clean .section-heading{font-size:1.85rem;margin:4px 0 6px}
  #page-checkout .checkout-hero-clean p{font-size:.9rem;line-height:1.45;margin:0 0 10px}
  #page-checkout .checkout-hero-clean>.btn{min-height:42px;padding:8px 12px;font-size:.84rem;background:transparent}
  #page-checkout .checkout-layout{display:flex;flex-direction:column;gap:12px}
  #page-checkout .checkout-card-main{order:1;padding:18px 14px;border-radius:22px;box-shadow:0 8px 28px rgba(31,38,39,.05)}
  #page-checkout .checkout-summary-card{order:2;padding:14px;border-radius:20px;box-shadow:none;border:1px solid rgba(55,48,39,.08)}
  #page-checkout .checkout-step-title{margin-top:20px;margin-bottom:12px;padding-bottom:10px;border-bottom:1px solid rgba(55,48,39,.07)}
  #page-checkout .checkout-step-title:first-child{margin-top:0}
  #page-checkout .checkout-step-title>span{width:34px;height:34px;flex:0 0 34px}
  #page-checkout .checkout-step-title h3{font-size:1.05rem}
  #page-checkout .checkout-step-title p{font-size:.8rem;line-height:1.35;margin-top:2px}
  #page-checkout .checkout-account-box{padding:13px;border-radius:16px;background:rgba(27,154,170,.06);border:1px solid rgba(27,154,170,.12)}
  #page-checkout .checkout-account-box:not(.connected)>strong{font-size:.92rem}
  #page-checkout .checkout-account-box:not(.connected)>span{font-size:.8rem;line-height:1.4}
  #page-checkout .checkout-account-actions{margin-top:9px}
  #page-checkout .checkout-account-actions .btn{min-height:40px;padding:8px 10px;font-size:.8rem;background:#fff}
  #page-checkout .form-group{margin-bottom:12px}
  #page-checkout .form-group label{margin-bottom:6px;font-size:.82rem;font-weight:750}
  #page-checkout input:not([type=checkbox]),#page-checkout select,#page-checkout textarea{
    min-height:52px!important;border-radius:14px!important;background:#fff!important;border-color:rgba(55,48,39,.12)!important;padding-left:14px!important;padding-right:14px!important;
  }
  #page-checkout textarea{min-height:84px!important;padding-top:12px!important}
  #page-checkout input:focus,#page-checkout select:focus,#page-checkout textarea:focus{box-shadow:0 0 0 3px rgba(27,154,170,.11)!important;border-color:rgba(27,154,170,.5)!important}
  #page-checkout .payment-provider-box{border-radius:16px;padding:13px}
  #page-checkout .checkout-policy-check{padding:12px 2px;font-size:.78rem;line-height:1.45}
  #page-checkout .checkout-line{padding:9px 0}
  #page-checkout .checkout-note-small{font-size:.76rem}

  .arty-mobile-checkout-dock{
    position:fixed;z-index:1060;left:10px;right:10px;bottom:calc(8px + env(safe-area-inset-bottom,0px));
    min-height:78px;padding:9px 9px 9px 14px;border-radius:23px;background:rgba(255,255,255,.97);
    border:1px solid rgba(55,48,39,.08);box-shadow:var(--arty-mobile-commerce-shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);display:flex;align-items:center;gap:10px;
  }
  .arty-mobile-checkout-dock .checkout-dock-copy{display:grid;gap:1px;min-width:0;flex:1}
  .arty-mobile-checkout-dock small{font-size:.68rem;color:var(--muted);font-weight:700}
  .arty-mobile-checkout-dock strong{font-size:1.08rem;white-space:nowrap}
  .arty-mobile-checkout-dock button{min-height:56px;min-width:56%;padding:10px 13px;border-radius:17px;font-size:.9rem;font-weight:900}
  .arty-mobile-checkout-dock button:disabled{opacity:.5}

  /* Never let commerce docks cover menus, carts, modals or fields while typing. */
  body.mobile-menu-open .arty-mobile-product-dock,
  body.mobile-menu-open .arty-mobile-checkout-dock,
  body.arty-mobile-input-focus .arty-mobile-product-dock,
  body.arty-mobile-input-focus .arty-mobile-checkout-dock{display:none}
}

@media screen and (max-width:390px){
  .arty-mobile-product-dock,.arty-mobile-checkout-dock{left:6px;right:6px}
  .arty-mobile-product-dock button,.arty-mobile-checkout-dock button{min-width:54%;font-size:.84rem;padding-left:10px;padding-right:10px}
}

/* Mobile storefront: one navigation, compact discovery, comfortable controls. */
@media screen and (max-width:820px){
  html{background:var(--bg)}
  body{background:var(--bg)}

  /* One premium mobile header + one menu only. */
  .navbar,.navbar.scrolled{height:calc(64px + env(safe-area-inset-top,0px))!important}
  .navbar .container{height:64px!important;gap:8px}
  .nav-hamburger{
    border-radius:15px!important;
    width:46px!important;
    height:46px!important;
  }
  .mobile-cart-button:not([hidden]){
    width:46px!important;
    height:46px!important;
    border-radius:15px!important;
  }
  .nav-drawer{
    width:min(390px,92vw)!important;
    background:rgba(253,251,247,.99)!important;
    box-shadow:-24px 0 70px rgba(23,31,33,.18)!important;
    padding-left:16px!important;
    padding-right:16px!important;
  }
  .mobile-menu-head{
    position:sticky;
    top:calc(-18px - env(safe-area-inset-top,0px));
    z-index:4;
    margin:calc(-18px - env(safe-area-inset-top,0px)) -16px 10px;
    padding:calc(20px + env(safe-area-inset-top,0px)) 16px 14px;
    background:rgba(253,251,247,.97);
    -webkit-backdrop-filter:blur(16px);
    backdrop-filter:blur(16px);
    border-bottom:1px solid rgba(55,48,39,.06);
  }
  .mobile-menu-head strong{font-size:1.2rem;letter-spacing:-.2px}
  .mobile-menu-head button{border-radius:14px!important;border-color:rgba(55,48,39,.08)!important}
  .nav-drawer .nav-links{gap:7px!important}
  .nav-drawer .nav-links>a,
  .nav-drawer .nav-main-link{
    min-height:52px!important;
    padding:13px 15px!important;
    border:1px solid rgba(55,48,39,.055);
    border-radius:16px!important;
    background:#fff!important;
    color:var(--text)!important;
    font-size:.94rem!important;
    font-weight:800!important;
    box-shadow:0 4px 14px rgba(31,38,39,.035);
  }
  .nav-drawer .nav-submenu{
    margin:5px 0 7px 12px!important;
    padding:3px 0 3px 10px!important;
    border-left-color:rgba(27,154,170,.22)!important;
  }
  .nav-drawer .nav-submenu a{
    min-height:43px!important;
    padding:9px 12px!important;
    border-radius:12px;
    color:var(--muted)!important;
  }
  .nav-drawer .nav-auth{
    margin-top:4px;
    padding-top:16px!important;
  }
  .nav-drawer .nav-auth>.btn:not(.btn-cart){
    border-radius:15px!important;
    min-height:50px!important;
  }

  /* Keep the main shop action in the first screen. */
  #page-home .hero-inner{padding-top:calc(var(--arty-header-offset) + 24px)!important;padding-bottom:28px!important;gap:24px!important}
  #page-home .hero-text h1{max-width:100%;font-size:clamp(2.2rem,9.7vw,3.6rem)!important;line-height:1.06!important;letter-spacing:-1.5px!important;margin-bottom:12px}
  #page-home .hero-tagline{font-size:1.08rem!important;line-height:1.4!important;margin-bottom:10px!important}
  #page-home .hero-orange-line{font-size:.94rem!important;line-height:1.5!important;margin-bottom:20px!important;color:var(--text-md)}
  #page-home .hero-desc{display:none}
  #page-home .hero-actions{display:grid;grid-template-columns:1fr;gap:10px;margin-bottom:0!important}
  #page-home .hero-actions .btn{min-height:54px!important;border-radius:16px!important;font-weight:800!important;box-shadow:0 8px 20px rgba(227,121,50,.15)}
  .arty-mobile-events-link{display:flex;align-items:center;justify-content:center;gap:8px;min-height:44px;color:var(--teal-dark,var(--teal));font-size:.92rem;font-weight:750;text-decoration:none}
  #page-home .hero-visual{margin:0;border-radius:24px;overflow:hidden}
  #page-home .hero-img-main{width:100%;height:225px;object-fit:cover;object-position:center 42%;border:0;border-radius:24px!important;box-shadow:none;transform:none}
  #page-home .hero-badge{display:none}

  #page-home .section-pad{padding-top:42px!important;padding-bottom:42px!important}
  #page-home .section-heading{
    font-size:clamp(1.75rem,7.2vw,2.2rem)!important;
    line-height:1.12!important;
  }
  #page-home .section-tag{
    font-size:.78rem!important;
    text-transform:uppercase;
    letter-spacing:.08em;
    font-weight:850;
  }

  /* Popular kits become a swipeable shopping rail. */
  #page-home .popular-section .kits-grid{
    display:grid!important;
    grid-auto-flow:column;
    grid-auto-columns:min(72vw,285px);
    grid-template-columns:none!important;
    gap:14px!important;
    overflow-x:auto;
    overflow-y:hidden;
    scroll-snap-type:x mandatory;
    overscroll-behavior-x:contain;
    padding:4px 2px 16px;
    margin-right:0;
    scrollbar-width:none;
  }
  #page-home .popular-section .kits-grid::-webkit-scrollbar{display:none}
  #page-home .popular-section .kit-card{
    scroll-snap-align:start;
    border-radius:22px!important;
    border:1px solid rgba(55,48,39,.06);
    box-shadow:0 10px 28px rgba(31,38,39,.07);
    overflow:hidden;
    background:#fff;
  }
  #page-home .popular-section .kit-card-img{
    aspect-ratio:1/1.03;
    height:auto!important;
  }
  #page-home .popular-section .kit-card-body{padding:15px!important}

  #page-home .cat-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:11px!important;
  }
  #page-home .cat-card{
    height:160px!important;
    border-radius:20px!important;
    box-shadow:0 7px 22px rgba(31,38,39,.07);
  }

  #page-home .included-single,
  #page-home .special-cat-card{
    border-radius:22px!important;
    box-shadow:0 8px 24px rgba(31,38,39,.05);
  }
  #page-home .occasions-icons{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:10px!important;
  }
  #page-home .occ-icon-card{
    min-width:0;
    padding:16px 10px!important;
    border-radius:18px!important;
    background:#fff;
    border:1px solid rgba(55,48,39,.06);
  }
  #page-home .occ-icon-card h4{font-size:.86rem!important;line-height:1.25}

  /* Shop: two-column mobile commerce grid for faster browsing. */
  #page-paintings .catalog-visual-hero{
    height:190px!important;
    border-radius:22px!important;
    margin-bottom:16px!important;
  }
  #page-paintings .catalog-visual-copy{
    width:65%;height:100%;padding:18px!important;
    background:linear-gradient(90deg,rgba(253,249,243,.98),rgba(253,249,243,.9) 80%,rgba(253,249,243,0));
  }
  #page-paintings .catalog-visual-copy h1{
    font-size:clamp(1.5rem,6vw,2rem)!important;
    line-height:1.03!important;
  }
  #page-paintings .catalog-promise{
    padding:14px 2px 20px!important;
    gap:8px!important;
  }
  #page-paintings .catalog-toolbar{
    padding:12px!important;
    border-radius:18px!important;
    margin-bottom:13px!important;
    background:#fff;
    border:1px solid rgba(55,48,39,.07);
    box-shadow:0 6px 20px rgba(31,38,39,.045);
  }
  #page-paintings .catalog-toolbar>div:first-child{width:100%}
  #page-paintings .catalog-toolbar-actions{width:100%;gap:8px!important}
  #page-paintings .catalog-filter-toggle,
  #page-paintings .catalog-toolbar select{
    min-height:46px!important;
    border-radius:14px!important;
  }
  #page-paintings .catalog-results .kits-grid{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:11px!important;
  }
  #page-paintings .catalog-results .kit-card{
    min-width:0;
    border-radius:18px!important;
    overflow:hidden;
    background:#fff;
  }
  #page-paintings .catalog-results .kit-card-img{
    aspect-ratio:1/1.08!important;
    height:auto!important;
  }
  #page-paintings .catalog-results .kit-card-body{
    padding:11px 10px 12px!important;
  }
  #page-paintings .catalog-results .kit-card-category{
    font-size:.67rem!important;
    letter-spacing:.04em;
  }
  #page-paintings .catalog-results .kit-card-title{
    font-size:.92rem!important;
    line-height:1.2!important;
    margin-top:3px!important;
  }
  #page-paintings .catalog-results .kit-card-desc{display:none!important}
  #page-paintings .catalog-results .kit-card-price{
    font-size:1.08rem!important;
    margin-top:7px!important;
  }

  /* Events: clearer cards and hierarchy. */
  #page-party .event-hero-modern{padding-top:14px!important;padding-bottom:30px!important}
  #page-party .event-hero-grid{gap:20px!important}
  #page-party .event-hero-copy .section-heading{
    font-size:clamp(1.9rem,8.2vw,2.45rem)!important;
  }
  #page-party .event-hero-occasions,
  #page-party .event-intro-highlight{font-size:.95rem!important;line-height:1.55!important}
  #page-party .event-hero-actions{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:9px!important;
  }
  #page-party .event-hero-actions .btn{
    width:100%!important;
    min-height:52px!important;
    border-radius:16px!important;
  }
  #page-party .event-hero-photo{
    border-radius:24px!important;
    max-height:390px;
    object-fit:cover;
  }
  #page-party .event-options-grid{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:12px!important;
  }
  #page-party .event-option-card{
    border-radius:20px!important;
    padding:20px!important;
  }
  #page-party .events-grid .event-card{
    border-radius:20px!important;
    overflow:hidden;
    box-shadow:0 8px 26px rgba(31,38,39,.06);
  }

  /* Product cards and buying controls. */
  #page-product .product-size-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  #page-product .product-size-option,
  #page-product .product-addon-option{border-radius:15px!important}
  #page-product .product-buy-row{gap:10px!important}
  #page-product .product-add-button{border-radius:16px!important}
  #page-product .product-bundle-button{border-radius:16px!important}

  /* Profile/customer pages retain the modern card language. */
  #page-profile .account-sidebar,
  #page-profile .account-card,
  #page-profile .account-form-card{
    border-radius:20px!important;
  }

  /* Footer: less dense on a phone. */
  .footer{padding-bottom:calc(20px + env(safe-area-inset-bottom,0px))}
  .footer-grid{
    grid-template-columns:1fr 1fr!important;
    gap:24px 14px!important;
  }
  .footer-brand{grid-column:1/-1!important}
  .footer h4{font-size:.86rem!important}
  .footer a,.footer p{font-size:.84rem!important;line-height:1.5!important}
}

@media screen and (max-width:360px){
  #page-paintings .catalog-results .kits-grid{gap:8px!important}
  #page-paintings .catalog-results .kit-card-body{padding:9px 8px 10px!important}
  #page-paintings .catalog-results .kit-card-title{font-size:.84rem!important}
}

@media screen and (max-width:820px){
  /* Every addition is scoped to phones; desktop keeps its original DOM order. */
  .arty-mobile-product-dock[hidden],.arty-mobile-checkout-dock[hidden]{display:none!important}
  .arty-mobile-product-dock,.arty-mobile-checkout-dock{box-sizing:border-box}
  .arty-mobile-product-dock button,.arty-mobile-checkout-dock button{flex:0 1 58%;min-width:0;overflow-wrap:anywhere}
  .arty-mobile-product-dock small,.arty-mobile-checkout-dock small{line-height:1.35}
  body.mobile-filters-open .arty-mobile-product-dock,
  body.mobile-filters-open .arty-mobile-checkout-dock{display:none}
  #page-home .popular-section{background:#fff}
  #page-home .popular-section .kit-card-desc{display:none}
  #page-home .popular-section .kit-card-title{font-size:1.06rem;line-height:1.35}
  #page-home .popular-section .kit-card-price{font-size:1.22rem}
  #page-home .why-grid{gap:14px}
  #page-home .why-card{padding:22px;border-radius:22px}
  #page-home .why-card-img{max-height:180px;object-fit:cover}
  #page-home .why-card p{font-size:.92rem;line-height:1.6}

  .arty-mobile-kit-info{margin:0 0 18px;border-bottom:1px solid var(--border-light)}
  .arty-mobile-kit-info>summary{min-height:48px;display:flex;align-items:center;justify-content:space-between;font-weight:700;font-size:.9rem;cursor:pointer;list-style:none}
  .arty-mobile-kit-info>summary::after{content:'+';font-size:1.35rem;color:var(--teal)}
  .arty-mobile-kit-info[open]>summary::after{content:'−'}
  .arty-mobile-kit-info>summary::-webkit-details-marker{display:none}
  #page-paintings .arty-mobile-kit-info .catalog-promise{padding:8px 0 18px!important;text-align:left}
  #page-paintings .catalog-toolbar{gap:12px!important;padding:16px!important}
  #page-paintings .catalog-toolbar h3{font-size:1.15rem}
  #page-paintings .catalog-toolbar-actions{display:flex;flex-direction:row!important;align-items:stretch;flex-wrap:wrap}
  #page-paintings .catalog-builder-cta{order:3;width:100%;min-height:44px;background:var(--teal-pale,#eaf5f3);color:var(--teal-dark,#14636b);box-shadow:none;border:1px solid rgba(27,154,170,.15);font-size:.85rem}
  #page-paintings .catalog-filter-toggle{flex:0 0 auto;width:auto;min-width:84px}
  #page-paintings .catalog-toolbar select{flex:1;min-width:0;width:auto;font-size:.88rem}
  .arty-mobile-search{position:relative;width:100%;border:0!important;margin:0!important;padding:0!important}
  .arty-mobile-search label{display:block;font-size:.78rem;font-weight:700;margin-bottom:6px;color:var(--muted)}
  .arty-mobile-search input{width:100%;min-height:50px!important;padding:12px 14px!important;background:var(--bg)!important;border-radius:14px;font-size:16px!important}
  .arty-mobile-card-link{display:flex;align-items:center;justify-content:space-between;gap:6px;min-height:44px;margin-top:8px;border-top:1px solid var(--border-light);color:var(--teal-dark,#14636b);font-size:.8rem;font-weight:750;text-decoration:none}
  .arty-mobile-card-link::after{content:'↗';font-size:1.15rem}
  #page-paintings .catalog-results .kit-card-title{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.4em}
  #page-product .product-main-img{object-fit:contain!important}
  #page-product .product-size-option:has(input:checked),#page-product .product-addon-option:has(input:checked){box-shadow:0 0 0 1px var(--teal);background:var(--teal-pale,#eaf5f3)}

  .cart-sidebar:not(.open){visibility:hidden;pointer-events:none}
  .cart-sidebar.open{visibility:visible;pointer-events:auto}
  .cart-items{overscroll-behavior:contain}
  .cart-item{display:grid;grid-template-columns:60px minmax(0,1fr) 36px;gap:10px;align-items:start}
  .cart-item-img{width:60px;height:76px;object-fit:contain;background:var(--bg)}
  .cart-item-name{font-size:.94rem;line-height:1.35}
  .cart-item-info{min-width:0}
  .cart-qty-control{gap:4px;margin-top:10px;padding:2px}
  .cart-qty-control button{width:44px;height:44px;font-size:1.1rem}
  .cart-qty-control span{min-width:22px;font-size:.9rem}
  .cart-item-remove{width:36px;height:44px;margin:0}
  .cart-footer>.btn-ghost{min-height:44px;font-size:.85rem;padding:8px;box-shadow:none}

  #page-checkout .checkout-hero-clean{padding:20px 16px;box-shadow:none;background:transparent;border:0}
  #page-checkout .checkout-hero-clean .section-heading{font-size:1.8rem;line-height:1.15}
  .arty-mobile-order-summary{order:0;border:1px solid rgba(27,154,170,.15);background:#fff;border-radius:18px;overflow:hidden}
  .arty-mobile-order-summary>summary{min-height:72px;padding:14px 16px;display:flex;align-items:center;gap:12px;list-style:none;cursor:pointer}
  .arty-mobile-order-summary>summary::-webkit-details-marker{display:none}
  .arty-mobile-order-summary>summary>span{display:grid;gap:3px;flex:1;font-weight:750;font-size:.94rem}
  .arty-mobile-order-summary>summary small{font-size:.76rem;font-weight:500;color:var(--muted)}
  .arty-mobile-order-summary>summary>strong{font-size:1.06rem;white-space:nowrap}
  .arty-mobile-order-summary>summary::after{content:'⌄';color:var(--teal);font-size:1.15rem}
  .arty-mobile-order-summary[open]>summary::after{content:'⌃'}
  #page-checkout .arty-mobile-order-summary .checkout-summary-card{border:0;border-top:1px solid var(--border-light);border-radius:0;padding:16px}
  #page-checkout .arty-mobile-order-summary .checkout-summary-card>h3{display:none}
  #page-checkout .checkout-account-box{margin-bottom:18px}
  #page-checkout .checkout-submit{min-height:54px;border-radius:15px}
  #page-checkout .checkout-policy-check{align-items:flex-start;gap:10px;padding:16px 0;font-size:.85rem}
  #page-checkout .checkout-policy-check input{margin-top:2px}
  #page-checkout [aria-invalid=true]{border-color:#ae3428!important;box-shadow:0 0 0 2px rgba(174,52,40,.1)!important}
  .arty-mobile-field-error{font-size:.82rem;color:#ae3428;line-height:1.45;margin:6px 0 0}
  #page-checkout input,#page-checkout select,#page-checkout textarea{scroll-margin-top:calc(var(--arty-header-offset) + 20px);scroll-margin-bottom:120px}
  .arty-mobile-checkout-dock .checkout-dock-copy{flex:1 1 40%}
  .arty-mobile-checkout-dock button{font-size:.87rem}
  .arty-consent-banner{padding:16px!important;gap:12px!important;max-height:80dvh;overflow:auto}
  .arty-consent-banner p{font-size:.8rem!important;line-height:1.5}
  .arty-consent-actions{display:grid!important;grid-template-columns:1fr 1fr;gap:8px!important}
  .arty-consent-actions .btn{font-size:.8rem;min-height:44px;padding:10px 8px}
  .arty-consent-actions .btn:last-child{grid-column:1/-1}
  .arty-mobile-card-link:focus-visible,.arty-mobile-events-link:focus-visible,
  .arty-mobile-order-summary>summary:focus-visible,.arty-mobile-kit-info>summary:focus-visible{outline:3px solid var(--teal);outline-offset:3px}
}

@media screen and (max-width:820px) and (prefers-reduced-motion:reduce){
  .cart-sidebar,.nav-drawer,.kit-card,.btn{transition:none!important}
  .arty-mobile-product-dock,.arty-mobile-checkout-dock{scroll-behavior:auto}
}
