/* Shared small-screen rules; desktop layouts retain their existing styles. */
.cart-email-access{margin:20px 0;border:1px solid #dfd1f1;border-radius:12px;background:#faf7ff;color:#594267}
.cart-email-access>summary{cursor:pointer;padding:15px 18px;font:600 14px/1.6 Arial,Helvetica,sans-serif;min-height:48px}
.cart-email-access>summary small{display:block;font:12px/1.6 Arial,Helvetica,sans-serif;color:#786286;margin-top:4px}
.cart-email-access .customer-access{margin:0;border:0;border-top:1px solid #e8def3;border-radius:0 0 12px 12px}
@media(max-width:640px){
  html{-webkit-text-size-adjust:100%;scroll-padding-top:16px}
  input,textarea,select{font-size:16px!important}
  .store-header .header-main{grid-template-columns:minmax(0,1fr) auto;gap:14px 10px}
  .store-header .brand{min-width:0}
  .store-header .brand-logo{width:144px;max-width:100%;height:auto}
  .store-header .header-actions{gap:2px}
  .store-header .downloads-link{font-size:12px;padding:9px 7px;min-height:44px}
  .store-header .search-form{padding:4px 4px 4px 16px;height:54px;min-width:0}
  .store-header .search-submit{width:44px;height:44px;min-width:44px;min-height:44px;flex:0 0 44px;padding:0;display:flex;align-items:center;justify-content:center}
  .store-header .search-submit svg{width:22px;height:22px;display:block;margin:0}
  .filter-dock .filter-pill,.filter-dock .all-filters{min-width:132px}
  .filter-dock .filter-pill select,.filter-dock .all-filters{height:44px;font-size:14px!important}
  .product-grid .card-actions{align-items:stretch;gap:6px}
  .product-grid .add-to-cart{min-height:44px;height:auto;min-width:0;padding:8px;font-size:12px;line-height:1.4}
  .product-grid .save-resource{height:44px;width:44px;padding:12px}
  .product-grid .card-bottom{flex-wrap:wrap;row-gap:4px}
  .product-grid .product-title{font-size:14px;line-height:1.5;min-height:42px}
  .product-grid .seller{font-size:12px}
  .product-grid.is-list .product-card{grid-template-columns:96px minmax(0,1fr);gap:8px 14px}
  .product-grid.is-list .product-card:not(.has-image){grid-template-columns:minmax(0,1fr)}
  .product-grid.is-list .product-title{margin-top:0}
  .product-grid.is-list .card-actions{grid-column:1/-1;max-width:none}
  .store-footer .policy-links a,.store-footer .policy-links button{min-height:44px;display:inline-flex;align-items:center}
  .store-footer .footer-inner{gap:12px}
  .help-link{bottom:max(16px,env(safe-area-inset-bottom));right:12px}
  .cart-toast{width:calc(100% - 32px);text-align:center;bottom:max(20px,env(safe-area-inset-bottom))}
  .product-page>header,.cart-page>header{padding:18px 16px;gap:14px;flex-wrap:wrap}
  .product-page>header>a,.cart-page>header>a{min-width:0;max-width:100%}
  .product-page>header img,.cart-page>header img{width:190px;max-width:100%;height:auto}
  .product-page>header nav{width:100%;display:flex;gap:10px;align-items:stretch}
  .cart-page>header nav a:not([hidden]){display:flex}
  .product-page>header nav a:not([hidden]){display:flex;flex:1;align-items:center;justify-content:center;min-height:44px;padding:10px;border:1px solid #dcd0ee;border-radius:9px;background:#faf7ff;color:#6546d7;font:600 13px/1.4 Arial;text-align:center}
  .product-page .crumb{padding:0 16px;line-height:1.7;overflow-wrap:anywhere}
  .product-page>main,.cart-page>main{padding-left:16px;padding-right:16px;min-width:0}
  .product-page .detail{display:flex;flex-direction:column;gap:24px;min-width:0}
  .product-page .gallery{display:flex;flex-direction:column;gap:12px;width:100%;min-width:0;max-width:100%}
  .product-page .gallery-main{order:0;width:100%;min-width:0}
  .product-page .thumbs{order:1;display:flex;flex-direction:row;gap:10px;max-width:100%;margin:0;padding:2px}
  .product-page .thumbs button{width:60px;height:60px;flex:0 0 60px;min-height:44px}
  .product-page .product-info{width:100%;min-width:0}
  .product-page .product-info h1{font-size:21px;line-height:1.45;overflow-wrap:anywhere;letter-spacing:-.3px}
  .product-page .price{font-size:28px;margin:18px 0}
  .product-page .buttons .btn,.product-page .preview-link{min-height:46px;display:flex;align-items:center;justify-content:center}
  .product-page .product-info .highlight{grid-template-columns:90px minmax(0,1fr);gap:12px;font-size:14px}
  .product-page .resource-description .description{font-size:15px;line-height:1.85;color:#695476}
  .product-page .resource-tags{overflow-wrap:anywhere}
  .product-page .resource-tags .tag{max-width:100%;white-space:normal;font-size:12px}
  .product-page .product-section-nav{width:100%;padding:10px 0}
  .product-page .product-section-nav a{min-height:44px}
  .product-page .zoom{max-height:calc(100dvh - 24px);width:calc(100% - 20px);padding:10px}
  .product-page .zoom nav{gap:6px;align-items:center}
  .product-page .zoom nav button{min-width:44px;min-height:44px;padding:8px}
  .product-page .zoom img{max-height:calc(100dvh - 100px)}
  .product-page #feedbackForm input,.product-page #feedbackForm select,.product-page #feedbackForm textarea{max-width:100%;min-width:0}
  .cart-page h1{font-size:30px;line-height:1.25}
  .cart-page .cart-layout{grid-template-columns:minmax(0,1fr);gap:24px;margin-top:20px}
  .cart-page .cart-layout>section,.cart-page .summary{min-width:0}
  .cart-page .cart-item{display:grid;grid-template-columns:72px minmax(0,1fr);gap:12px;align-items:start;padding:20px 0}
  .cart-page .cart-item>a{grid-column:1;grid-row:1;width:72px}
  .cart-page .cart-item img{width:72px;height:72px}
  .cart-page .cart-item-details{grid-column:2;grid-row:1;min-width:0}
  .cart-page .cart-item h2{font-size:14px;line-height:1.6;margin-top:0;overflow-wrap:anywhere}
  .cart-page .cart-item p{font-size:12px;line-height:1.7}
  .cart-page .cart-item .amount{grid-column:2;margin:0;font-size:17px}
  .cart-page .quantity-row{gap:10px;align-items:center}
  .cart-page .quantity-row .cart-quantity{min-height:44px;width:72px}
  .cart-page .cart-item .quantity-row button{min-height:44px}
  .cart-page .summary{padding:22px 18px;width:100%}
  .cart-page .summary-row{gap:12px;font-size:14px}
  .cart-page .summary-row.total{font-size:18px;flex-wrap:wrap}
  .cart-page .summary p,.cart-page .quantity-note{font-size:13px;color:#79638b}
  .cart-page .customer-heading{display:block;margin-bottom:16px}
  .cart-page .customer-lock{display:none}
  .cart-page .customer-access{padding:18px}
  .product-page footer,.cart-page footer{padding:24px 16px;align-items:flex-start;gap:18px}
  .product-page footer .policy-links,.cart-page footer .policy-links{width:100%;gap:6px 18px}
  .product-page footer .policy-links a,.product-page footer .policy-links button,.cart-page footer .policy-links a,.cart-page footer .policy-links button{display:inline-flex;align-items:center;min-height:44px;font-size:12px}
  .downloads-header{padding:18px 16px}
  .downloads-page .downloads-main{padding:0 16px}
  .downloads-page.email-only .customer-access{padding:24px 18px}
  .downloads-page .order-heading{flex-wrap:wrap}
  .downloads-page .order-meta{overflow-wrap:anywhere}
  .newsletter-popup .newsletter-popup-close{width:44px;height:44px;right:8px;top:8px}
  .newsletter-popup .newsletter{padding-top:50px}
  .newsletter-popup{max-height:calc(100dvh - 24px);overscroll-behavior:contain}
  .newsletter-popup .newsletter-consent{font-size:12px}
  .newsletter .newsletter-input input{min-height:48px}
}
@media(max-width:359px){
  .store-header .brand-logo{width:118px}
  .store-header .header-actions{gap:0}
  .store-header .downloads-link{font-size:11px;padding:8px 4px}
  .wrap{width:calc(100% - 24px)}
  .product-grid{column-gap:12px}
  .product-grid .card-actions{flex-wrap:wrap}
  .product-grid .add-to-cart{flex-basis:100%}
  .product-grid .save-resource{margin-left:auto}
  .product-page .thumbs{gap:8px}
  .product-page .thumbs button{width:54px;height:54px;flex-basis:54px}
}
