/* Mobile rules are loaded after the desktop design. Keep one breakpoint per layout. */
:root{--app-height:100vh;--visual-top:0px;--phone-gutter:20px}
@supports(height:100dvh){:root{--app-height:100dvh}}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body.modal-open{position:fixed;inset-inline:0;width:100%;overflow:hidden}
button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}
input,select,textarea{min-width:0;max-width:100%;font-family:inherit}
textarea{overflow-wrap:anywhere}
input[type=date],input[type=time]{display:block;text-align:left;min-height:48px;max-inline-size:100%}
input::-webkit-date-and-time-value{text-align:left;min-height:1.2em}
input::-webkit-datetime-edit{min-width:0;padding:0}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-offset:3px}
dialog{overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;max-height:calc(var(--app-height) - 32px);scroll-padding-block:85px 28px}
.mobile-nav{overflow-y:auto;overscroll-behavior:contain}
.mobile-menu-actions{display:none}
.product-dialog-bar{position:absolute;right:0;top:0;z-index:5}
.product-dialog-bar>span{display:none}
.manage-dialog-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}
.manage-dialog-heading h2{min-width:0}
.manage-dialog-heading>button{width:44px;height:44px;flex-shrink:0;border:1px solid #c6cfb8;background:#fffefa;font:28px/1 Arial}
.gallery-thumbs{overflow-x:auto;overscroll-behavior-x:contain}
.gallery-thumbs button{flex-shrink:0}
.manage-page main,.manage-page section,.manage-page .catalog-layout>*,.manage-page label,.manage-page fieldset{min-width:0}
.manage-page .product>div,.manage-page .order-item>div,.replacement-card>div{min-width:0;overflow-wrap:anywhere}
.manage-page .fields-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.manage-page .table-scroll{max-width:100%;overflow-x:auto;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}
.manage-page .order-history{overflow-wrap:anywhere}
.manage-page #order-dialog,.manage-page .operations-dialog{max-height:calc(var(--app-height) - 32px)}
@media(max-width:1024px){
  .storefront input:not([type=checkbox]):not([type=radio]),.storefront select,.storefront textarea,
  .manage-page input:not([type=checkbox]):not([type=radio]),.manage-page select,.manage-page textarea,
  .manage-page #order-dialog input:not([type=checkbox]),.manage-page #order-dialog select,
  .manage-page #order-dialog textarea,.manage-page #staff-form input{font-size:16px;min-height:48px;line-height:1.4}
  .storefront .icon-button,.storefront .header-actions .icon-button,.storefront .shop-grid .heart{width:44px;height:44px;flex-shrink:0}
  .storefront .lang,.storefront .filter,.storefront .filter-toggle,.storefront .text-button,.storefront .size-button{min-height:44px}
  .storefront .text-button{display:inline-flex;align-items:center;justify-content:center}
  .storefront .catalog-controls>.search-box input{font-size:16px;max-width:none}
  .storefront .catalog-controls>select,.storefront .filter-panel select{font-size:16px}
  .storefront .gallery-controls{bottom:5px;left:5px;right:5px}
  .storefront .gallery-controls span{font-size:12px}
  .storefront .quantity-control{height:44px}
  .storefront .quantity-control button{width:44px;height:44px}
  .storefront .quantity-control span{width:24px;font-size:14px}
  .storefront .cart-row-controls select{width:86px}
  .storefront .cart-row-controls{flex-wrap:wrap}
  .storefront .gallery-thumbs button{min-width:48px;min-height:48px}
  .manage-page button{min-height:44px}
  .manage-page .button{font-size:14px;line-height:1.4;white-space:normal}
  .manage-page .catalog-layout{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr)}
  .manage-page nav{gap:20px;overflow-x:auto;scrollbar-width:thin;overscroll-behavior-x:contain}
  .manage-page nav button{font-size:14px;flex-shrink:0}
  .manage-page .stock-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 44px}
  .manage-page .photo-tile button{font-size:12px;min-width:44px}
  .storefront .product-dialog-bar{position:sticky;top:0;display:flex;align-items:center;justify-content:flex-end;padding:8px 16px;background:var(--paper);z-index:6;border-bottom:1px solid var(--line)}
  .storefront .product-dialog-bar .dialog-close{position:static}
  .storefront .drawer-heading{position:sticky;top:0;z-index:6;background:var(--paper)}
  .manage-page .manage-dialog-heading{position:sticky;top:-26px;z-index:5;background:#fffefa;padding:10px 0;border-bottom:1px solid #d5dac9}
  .manage-page .stock-heading{gap:12px}
  .manage-page .order-actions{flex-wrap:wrap}
  .manage-page .order-actions select{max-width:100%;min-width:0}
  .manage-page #toast,.storefront .toast{bottom:calc(16px + env(safe-area-inset-bottom,0px));width:max-content;max-width:calc(100% - 32px);font-size:14px;line-height:1.5}
}
@media(max-width:767px),(orientation:landscape) and (max-height:500px) and (max-width:1024px){
  html{scroll-padding-top:88px;scroll-behavior:auto}
  .storefront{font-size:16px;line-height:1.6}
  .storefront .announcement{height:auto;min-height:32px;padding:7px 16px;font-size:11px;line-height:1.4;letter-spacing:.3px;text-align:center}
  .storefront .header{height:auto;min-height:72px;padding:10px max(16px,env(safe-area-inset-right,0px)) 10px max(16px,env(safe-area-inset-left,0px));gap:8px}
  .storefront .header .logo img{width:clamp(118px,33vw,160px);height:auto}
  .storefront .desktop-nav{display:none}
  .storefront .header-actions{gap:2px;margin-left:auto}
  .storefront .header-actions>.lang{display:inline-flex;align-items:center;justify-content:center;min-width:48px;font-size:12px;margin:0;padding:4px;gap:2px}
  .storefront .header-actions>.lang span{margin:0;font-size:10px}
  .storefront #open-search,.storefront #open-favorites{display:none}
  .storefront .mobile-toggle{display:inline-flex}
  .storefront .header-actions svg{width:23px;height:23px}
  .storefront .cart-count{right:0;top:0;font-size:10px;line-height:18px;min-width:18px}
  .storefront .mobile-nav:not([hidden]){position:fixed;inset-inline:0;z-index:21;display:flex;flex-direction:column;gap:0;padding:12px max(20px,env(safe-area-inset-right,0px)) calc(20px + env(safe-area-inset-bottom,0px)) max(20px,env(safe-area-inset-left,0px));border-bottom:1px solid var(--line);box-shadow:0 12px 24px #0002;background:var(--paper)}
  .storefront .mobile-nav a{font-size:17px;min-height:52px;display:flex;align-items:center;border-bottom:1px solid var(--line)}
  .storefront .mobile-menu-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:16px}
  .storefront .mobile-menu-actions button{min-height:48px;padding:10px;border:1px solid var(--line);font-size:15px}
  .storefront .hero{display:flex;flex-direction:column;min-height:0}
  .storefront .hero-copy{min-height:0;min-width:0;padding:32px var(--phone-gutter) 30px}
  .storefront .hero-copy .eyebrow{font-size:10px;line-height:1.5;letter-spacing:1.4px}
  .storefront h1{font-size:clamp(41px,11.2vw,61px);line-height:1.08;letter-spacing:-1.6px;margin:22px 0 20px;overflow-wrap:normal}
  .storefront .hero-copy>p{font-size:15px;line-height:1.75;max-width:440px}
  .storefront .hero-copy>.button{min-height:52px;margin-top:24px;min-width:210px;font-size:14px}
  .storefront .hero-visual{min-height:0;aspect-ratio:1.35;width:100%}
  .storefront .hero-image-note{left:20px;bottom:14px;max-width:65%;font-size:10px;line-height:1.4}
  .storefront .image-index{font-size:10px;letter-spacing:1px;left:20px;top:18px;max-width:80%}
  .storefront .hero-seal{width:70px;height:83px;right:16px;bottom:22px;padding:9px 5px;gap:5px}
  .storefront .hero-seal img{width:34px;height:34px}
  .storefront .hero-seal span{font-size:7px;letter-spacing:1px}
  .storefront .principles{grid-template-columns:1fr;gap:12px;padding:23px var(--phone-gutter)}
  .storefront .principles p{font-size:14px;line-height:1.5;gap:12px;align-items:center}
  .storefront .principles p>span{font-size:11px}
  .storefront .principles>a{display:none}
  .storefront .brand-bar{padding:16px var(--phone-gutter);min-width:0;overflow:hidden}
  .storefront .brand-bar #brand-buttons{display:flex;flex-wrap:nowrap;justify-content:flex-start;gap:20px;overflow-x:auto;padding:2px 0 8px;width:100%;min-width:0;scroll-snap-type:x proximity;overscroll-behavior-x:contain;scrollbar-width:thin}
  .storefront #brand-buttons button[data-brand]{min-height:52px;flex:0 0 auto;scroll-snap-align:start}
  .storefront .brand-bar>.text-button{display:none}
  .storefront .section{padding:48px var(--phone-gutter)}
  .storefront .section-heading{flex-direction:column;align-items:flex-start;gap:16px;margin-bottom:24px}
  .storefront .section-heading h2,.storefront .catalog-section .section-heading h2{font-size:clamp(30px,8.5vw,40px);line-height:1.16;max-width:none;letter-spacing:-.8px}
  .storefront .heading-note,.storefront .section-heading .heading-note{display:none}
  .storefront .eyebrow{font-size:11px;line-height:1.5;letter-spacing:1.3px}
  .storefront .catalog-notice{font-size:13px;line-height:1.7;padding:14px;margin:24px 0}
  .storefront .catalog-toolbar{flex-direction:column;align-items:stretch;gap:18px;padding-bottom:16px}
  .storefront .audience-filters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px}
  .storefront .filter{font-size:13px;line-height:1.4;padding:10px 4px;min-width:0}
  .storefront .catalog-controls{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;min-width:0}
  .storefront .catalog-controls>.search-box{grid-column:1/-1;display:flex;min-width:0;width:100%;gap:10px}
  .storefront .catalog-controls>.search-box input{font-size:16px;min-width:0;width:100%;max-width:none;padding:12px 0}
  .storefront .catalog-controls>.filter-toggle{order:initial;margin:0;padding:8px 0;font-size:14px;justify-content:flex-start}
  .storefront .catalog-controls>select{order:initial;width:100%;max-width:none;border:1px solid var(--line);padding:12px 8px;font-size:16px}
  .storefront .filter-panel{grid-template-columns:minmax(0,1fr);padding:16px;gap:16px}
  .storefront .filter-panel>label:not(.in-stock-filter){font-size:13px;gap:8px}
  .storefront .filter-panel select{width:100%;padding:12px;font-size:16px}
  .storefront .in-stock-filter{font-size:13px;line-height:1.6;min-height:44px}
  .storefront input[type=checkbox],.storefront input[type=radio]{width:20px;height:20px}
  .storefront .active-filters button{min-height:44px;font-size:13px;padding:8px 12px}
  .storefront .result-line{font-size:12px;min-height:52px;gap:12px}
  .storefront .result-line .text-button{font-size:12px;flex-shrink:0}
  .storefront .shop-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 12px}
  .storefront .shop-grid .product-photo{aspect-ratio:1;min-width:0}
  .storefront .shop-grid .product-open>img{padding:0 0 22px}
  .storefront .shop-grid .product-label{top:auto;bottom:0;left:0;right:0;max-width:100%;font-size:10px;line-height:1.4;letter-spacing:0;padding:5px 4px;border:0;background:#f8f7f3e8;white-space:normal;text-align:center}
  .storefront .shop-grid .heart{right:0;top:0;width:44px;height:44px;background:#f8f7f3b3}
  .storefront .shop-grid .heart svg{width:20px;height:20px}
  .storefront .shop-grid .product-meta{font-size:10px;line-height:1.4;letter-spacing:.6px;padding:12px 0 7px}
  .storefront .shop-grid .product-title{font-size:16px;line-height:1.4;letter-spacing:0;overflow-wrap:anywhere}
  .storefront .shop-grid .product-title button{min-height:44px;display:block}
  .storefront .shop-grid .product-caption{font-size:12px;line-height:1.5;white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:anywhere;margin-top:5px}
  .storefront .shop-grid .product-price{font-size:13px;line-height:1.5;margin-top:10px}
  .storefront .load-more-wrap>span{font-size:13px;line-height:1.5}
  .storefront .load-more-wrap .button{font-size:14px;min-height:52px}
  .storefront .catalog-bottom{flex-direction:column;font-size:13px;line-height:1.7;gap:12px}
  .storefront .about-section{display:flex;flex-direction:column-reverse;padding:48px var(--phone-gutter);gap:28px}
  .storefront .about-copy{padding:0}
  .storefront .about-copy h2{font-size:36px;line-height:1.15}
  .storefront .about-copy p{font-size:15px;line-height:1.8}
  .storefront .about-link{font-size:14px;min-height:44px;gap:24px;max-width:100%}
  .storefront .about-mark{border-right:0;border-top:1px solid #4b4d40;margin:0;padding:24px 0 0;flex-direction:row;gap:24px}
  .storefront .about-mark span{font-size:10px;letter-spacing:2px;text-align:left}
  .storefront .steps{grid-template-columns:minmax(0,1fr);gap:24px;margin-top:30px}
  .storefront .steps article{display:grid;grid-template-columns:32px minmax(0,1fr);gap:4px 12px;padding-top:20px}
  .storefront .step-no{grid-row:1/3;font-size:12px;padding-top:7px}
  .storefront .steps h3{font-size:28px;line-height:1.2;margin:0 0 8px}
  .storefront .steps p{font-size:14px;line-height:1.8;max-width:none}
  .storefront .sales-status{font-size:13px;line-height:1.7}
  .storefront .visit-section{grid-template-columns:minmax(0,1fr)}
  .storefront .visit-copy{padding:44px var(--phone-gutter)}
  .storefront .visit-copy h2{font-size:38px;line-height:1.15}
  .storefront .address{font-size:16px}
  .storefront .visit-note{font-size:14px;line-height:1.7;max-width:none}
  .storefront .visit-copy .button{font-size:14px;max-width:100%;gap:20px}
  .storefront .location-map{grid-template-rows:300px auto;border-left:0;border-top:1px solid var(--line)}
  .storefront .location-map iframe{min-height:300px}
  .storefront .location-map-caption{font-size:12px;line-height:1.5;padding:14px var(--phone-gutter);gap:8px}
  .storefront .location-map-caption a{min-height:44px;display:flex;align-items:center}
  .storefront .faq-section{display:flex;flex-direction:column;gap:24px}
  .storefront .faq-section h2{font-size:36px}
  .storefront .faq-section .eyebrow{font-size:11px}
  .storefront .faq-list{width:100%}
  .storefront summary{font-size:15px;line-height:1.6;padding:20px 28px 20px 0}
  .storefront .faq-list details p{font-size:14px;line-height:1.8;padding-right:12px}
  .storefront footer{padding:32px var(--phone-gutter) calc(24px + env(safe-area-inset-bottom,0px))}
  .storefront .footer-top{display:flex;flex-wrap:wrap;align-items:center;gap:8px 24px;padding:0 0 24px}
  .storefront .footer-top p{flex:0 0 100%;text-align:left;font-size:24px;margin:0 0 12px}
  .storefront .footer-top>a:not(.logo){font-size:14px;min-height:44px;display:flex;align-items:center}
  .storefront .footer-top .back-top{margin-left:auto}
  .storefront .footer-bottom{flex-wrap:wrap;gap:8px 16px;font-size:12px;line-height:1.5}
  .storefront .footer-bottom .text-button{font-size:12px;max-width:none;text-align:left}
  /* Full-screen sheets: the close control remains visible during scrolling. */
  .storefront .shop-product-dialog,.storefront .cart-dialog,.storefront .checkout-dialog,.storefront .favorites-dialog{
    position:fixed;inset:auto 0 auto 0;top:var(--visual-top);margin:0;width:100%;max-width:none;height:var(--app-height);max-height:var(--app-height);border:0;
    padding:0 max(0px,env(safe-area-inset-right,0px)) max(16px,env(safe-area-inset-bottom,0px)) max(0px,env(safe-area-inset-left,0px));scrollbar-gutter:auto
  }
  .storefront .product-dialog-bar{display:flex;position:sticky;top:0;right:auto;align-items:center;justify-content:space-between;gap:12px;z-index:6;background:var(--paper);padding:calc(8px + env(safe-area-inset-top,0px)) 16px 8px;border-bottom:1px solid var(--line)}
  .storefront .product-dialog-bar>span{display:block;font-size:12px;letter-spacing:2px}
  .storefront .product-dialog-bar .dialog-close{position:static;background:none}
  .storefront .drawer-heading,.storefront .dialog-heading{position:sticky;top:0;z-index:6;background:var(--paper);padding:calc(14px + env(safe-area-inset-top,0px)) 20px 14px;gap:12px;border-bottom:1px solid var(--line)}
  .storefront .dialog-heading{display:flex;align-items:center;justify-content:space-between}
  .storefront .dialog-heading .dialog-close{position:static}
  .storefront .drawer-heading h2,.storefront .checkout-dialog .drawer-heading h2,.storefront .dialog-heading h2{font-size:29px;line-height:1.15;margin-top:6px;letter-spacing:-.5px}
  .storefront .drawer-heading>div,.storefront .dialog-heading>div{min-width:0}
  .storefront .drawer-heading .eyebrow,.storefront .dialog-heading .eyebrow{font-size:10px}
  .storefront .shop-detail{grid-template-columns:minmax(0,1fr)}
  .storefront .gallery{padding:16px 20px}
  .storefront .main-photo{aspect-ratio:1.25;max-height:none}
  .storefront .gallery-thumbs{gap:8px;margin-top:12px}
  .storefront .gallery-thumbs button{width:56px;height:56px}
  .storefront .photo-note{font-size:11px;line-height:1.5;margin-top:12px}
  .storefront .shop-detail-copy{padding:20px}
  .storefront .shop-detail-copy h2{font-size:36px;line-height:1.12;letter-spacing:-.6px;overflow-wrap:anywhere}
  .storefront .detail-brand{font-size:12px;letter-spacing:1px}
  .storefront .detail-price{font-size:18px;line-height:1.5;margin-top:14px}
  .storefront .detail-color,.storefront .detail-color strong{font-size:14px;line-height:1.6}
  .storefront .size-heading{font-size:14px;gap:12px;flex-wrap:wrap;margin-top:20px}
  .storefront .size-heading small,.storefront .size-heading .text-button{font-size:12px}
  .storefront .size-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:7px}
  .storefront .size-button{min-height:48px;font-size:14px;padding:8px 2px}
  .storefront .size-note,.storefront .detail-info-notice{font-size:13px;line-height:1.7}
  .storefront .detail-cta{position:static;margin:0;padding:16px 0 0;background:none}
  .storefront .detail-cta .button{font-size:15px;min-height:54px;margin:0}
  .storefront .product-accordion summary{font-size:15px;padding-block:18px}
  .storefront .product-accordion p{font-size:14px;line-height:1.8}
  .storefront .product-accordion dl{grid-template-columns:70px minmax(0,1fr);font-size:13px;gap:10px;overflow-wrap:anywhere}
  .storefront .product-accordion>a{font-size:13px;line-height:1.6;min-height:44px;display:inline-flex;align-items:center}
  .storefront .detail-related{padding:24px 20px 32px}
  .storefront .detail-related>h3{font-size:28px}
  .storefront .detail-related>div{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 12px}
  .storefront .detail-related span{font-size:11px}
  .storefront .detail-related strong{font-size:14px;line-height:1.5;overflow-wrap:anywhere}
  .storefront .cart-mode-note{font-size:13px;line-height:1.7;margin:18px 20px;padding:14px}
  .storefront .cart-lines{padding:0 20px}
  .storefront .cart-line{display:grid;grid-template-columns:76px minmax(0,1fr);gap:12px;padding:20px 0}
  .storefront .cart-image{width:76px}
  .storefront .cart-line-brand{font-size:11px}
  .storefront .cart-line-copy h3{font-size:23px;line-height:1.2;overflow-wrap:anywhere}
  .storefront .cart-line-copy>p{font-size:12px;line-height:1.6;overflow-wrap:anywhere}
  .storefront .cart-row-controls{gap:12px;justify-content:flex-start;margin-block:14px}
  .storefront .cart-row-controls>label{font-size:13px}
  .storefront .cart-line-bottom{flex-wrap:wrap;font-size:13px;line-height:1.5;gap:4px 12px}
  .storefront .cart-line-bottom .text-button{font-size:13px}
  .storefront .cart-line-copy .stock-error{font-size:13px}
  .storefront .cart-footer{padding:24px 20px}
  .storefront .summary-totals>div,.storefront .checkout-summary .summary-totals>div{font-size:14px;line-height:1.6;gap:16px}
  .storefront .summary-totals .total-line{font-size:16px}
  .storefront .summary-totals>div>*{min-width:0;overflow-wrap:anywhere}
  .storefront .cart-footer>.button{font-size:15px;min-height:54px}
  .storefront .continue-shopping{font-size:14px}
  .storefront .cart-empty{padding:48px 24px}
  .storefront .cart-empty p{font-size:15px}
  .storefront .checkout-mode{margin:20px 20px 0;padding:14px;font-size:14px;line-height:1.7}
  .storefront .checkout-mode p{font-size:13px}
  .storefront .checkout-layout{grid-template-columns:minmax(0,1fr);gap:28px;padding:24px 20px}
  .storefront .form-section-title{font-size:27px;line-height:1.2;gap:12px}
  .storefront .form-section-title>span:first-child{font-size:12px}
  .storefront .form-fields{grid-template-columns:minmax(0,1fr);gap:18px}
  .storefront .form-fields label,.storefront .address-field,.storefront .comment-field{font-size:14px;line-height:1.5;gap:8px}
  .storefront .form-fields input,.storefront .checkout-layout textarea,.storefront .delivery-time-field input{font-size:16px;padding:13px 12px;border-radius:4px;line-height:1.5}
  .storefront .delivery-options>label{padding:16px 14px;gap:12px}
  .storefront .delivery-options strong{font-size:15px;line-height:1.5}
  .storefront .delivery-options small{font-size:13px;line-height:1.6}
  .storefront fieldset.delivery-time-field{font-size:14px;line-height:1.6;margin-top:24px;max-width:100%;min-inline-size:0}
  .storefront .delivery-time-field small{font-size:12px;line-height:1.6}
  .storefront .delivery-slot-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .storefront .delivery-slot-grid label{font-size:14px}
  .storefront .delivery-slot-grid label:first-child{grid-column:1/-1}
  .storefront .delivery-slot-grid input{width:100%;min-inline-size:0;max-inline-size:100%;box-sizing:border-box}
  .storefront .payment-note{font-size:14px;line-height:1.8}
  .storefront .checkout-summary{padding:20px 16px;min-width:0}
  .storefront .checkout-summary>h3{font-size:28px}
  .storefront .checkout-item{gap:12px}
  .storefront .checkout-item img{width:62px}
  .storefront .checkout-item span{font-size:11px}
  .storefront .checkout-item strong{font-size:14px}
  .storefront .checkout-item small{font-size:12px;line-height:1.7;overflow-wrap:anywhere}
  .storefront .consent{font-size:13px;line-height:1.7;gap:12px;margin:24px 0}
  .storefront .checkout-summary>.button{font-size:15px;min-height:54px}
  .storefront .checkout-back{min-height:48px;font-size:14px}
  .storefront .checkout-bottom-note{font-size:12px;line-height:1.8}
  .storefront .checkout-summary .error-box,.storefront .error-box{font-size:14px;line-height:1.7}
  .storefront .favorites-dialog .dialog-note,.storefront #favorites-list{margin:20px}
  .storefront .dialog-note{font-size:14px;line-height:1.8}
  .storefront .favorite-row{display:grid;grid-template-columns:64px minmax(0,1fr);gap:12px}
  .storefront .favorite-row>button:first-child,.storefront .favorite-row img{width:64px;height:72px}
  .storefront .favorite-row h3{font-size:23px;overflow-wrap:anywhere}
  .storefront .favorite-row p{font-size:13px}
  .storefront .favorite-row .remove-favorite{grid-column:2;margin:0;justify-self:start;font-size:13px}
  .storefront .size-dialog,.storefront .privacy-dialog,.storefront .success-dialog{top:var(--visual-top);max-height:calc(var(--app-height) - 32px);width:calc(100% - 24px);padding:48px 24px 28px}
  .storefront .size-dialog h2,.storefront .privacy-dialog h2,.storefront .success-dialog h2{font-size:32px;line-height:1.15;letter-spacing:-.5px}
  .storefront .size-dialog ol,.storefront .privacy-dialog p,.storefront .success-dialog #success-content>p{font-size:15px;line-height:1.8}
  .storefront .success-dialog .dialog-close,.storefront .size-dialog .dialog-close,.storefront .privacy-dialog .dialog-close{top:8px;right:8px}
  .storefront .success-actions{flex-direction:column}
  .storefront .success-actions .button{width:100%;font-size:13px;justify-content:center;min-height:48px}
  .storefront .order-number,.storefront .order-status{font-size:13px;gap:12px;flex-wrap:wrap}
  .storefront .order-status strong{font-size:13px}
  .storefront .success-lines>div,.storefront .success-lines strong{font-size:13px;line-height:1.6;white-space:normal}
  .storefront .success-lines small{font-size:12px}
  /* Management is a full-width form rather than two compressed columns. */
  .manage-page{font-size:15px;line-height:1.6}
  .manage-page header{flex-wrap:wrap;gap:12px;padding:16px max(16px,env(safe-area-inset-right,0px)) 16px max(16px,env(safe-area-inset-left,0px))}
  .manage-page header img{width:145px}
  .manage-page header span{display:none}
  .manage-page header>a:last-child{margin-left:auto;min-height:44px;display:flex;align-items:center;font-size:12px}
  .manage-page main{padding:28px max(16px,env(safe-area-inset-right,0px)) calc(40px + env(safe-area-inset-bottom,0px)) max(16px,env(safe-area-inset-left,0px))}
  .manage-page .title,.manage-page .section-head{flex-direction:column;align-items:stretch;gap:18px}
  .manage-page h1{font-size:34px;line-height:1.15}
  .manage-page .eyebrow{font-size:10px}
  .manage-page .stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:24px 0}
  .manage-page .stat{padding:14px;overflow-wrap:anywhere}
  .manage-page .stat span{font-size:12px;line-height:1.5}
  .manage-page .stat strong{font-size:26px;line-height:1.2}
  .manage-page .section-head h2{font-size:29px;line-height:1.2}
  .manage-page .section-head p{font-size:14px;line-height:1.7}
  .manage-page .section-head input,.manage-page .section-head select{width:100%;min-width:0}
  .manage-page .catalog-layout{display:flex;flex-direction:column;gap:24px}
  .manage-page #product-list{width:100%;max-height:380px;padding:0;overscroll-behavior-y:contain}
  .manage-page .product{gap:10px;padding:12px 8px}
  .manage-page .product img{width:58px;height:60px}
  .manage-page .product h3{font-size:20px;line-height:1.25}
  .manage-page .product span,.manage-page .product small{font-size:11px}
  .manage-page .product .badge{display:none}
  .manage-page #editor{position:static;width:100%;max-height:none;padding:18px}
  .manage-page .editor-head img{width:75px;height:80px}
  .manage-page .editor-head h3{font-size:25px;overflow-wrap:anywhere}
  .manage-page .editor-head p,.manage-page .editor-head a{font-size:12px}
  .manage-page .fields-grid{grid-template-columns:minmax(0,1fr);gap:18px}
  .manage-page label,.manage-page .stock-row label{font-size:14px;line-height:1.5}
  .manage-page .catalog-tools{display:flex;width:100%;justify-content:stretch;gap:12px}
  .manage-page .catalog-tools>*{width:100%;max-width:none;min-width:0}
  .manage-page .editor-note,.manage-page .placeholder{font-size:13px;line-height:1.8}
  .manage-page .stock-heading{font-size:14px;gap:12px;flex-wrap:wrap}
  .manage-page .stock-heading small,.manage-page .stock-heading button{font-size:12px}
  .manage-page .stock-heading button{border:1px solid #c6cfb8;padding:8px 12px}
  .manage-page .publish-label{font-size:14px;gap:12px}
  .manage-page input[type=checkbox]{width:20px;height:20px;flex-shrink:0}
  .manage-page .photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .manage-page .photo-tile{padding:8px}
  .manage-page .photo-tile img{height:110px}
  .manage-page .photo-tile>span{font-size:12px}
  .manage-page .photo-tile>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
  .manage-page .photo-tile button{overflow-wrap:normal;min-width:0;padding:6px 4px}
  .manage-page .photo-tile>div button:first-child,.manage-page .photo-tile>div button:nth-child(n+4){grid-column:1/-1}
  .manage-page .product-actions{gap:10px}
  .manage-page .product-actions .button{width:100%}
  .manage-page .order{padding:16px}
  .manage-page .order-head{align-items:flex-start;gap:12px}
  .manage-page .order-head h3{font-size:22px;overflow-wrap:anywhere}
  .manage-page .order-head span{font-size:13px}
  .manage-page .order-meta{font-size:14px;gap:10px;line-height:1.7}
  .manage-page .order-meta>*{flex-basis:100%;overflow-wrap:anywhere}
  .manage-page .order-meta a{min-height:44px;display:flex;align-items:center;text-decoration:underline}
  .manage-page .order-item{display:grid;grid-template-columns:55px minmax(0,1fr);gap:10px}
  .manage-page .order-item img{width:55px;height:60px}
  .manage-page .order-item strong{font-size:14px;line-height:1.5}
  .manage-page .order-item small{font-size:12px;line-height:1.7}
  .manage-page .order-item>span{grid-column:2;font-size:14px}
  .manage-page .order-foot{flex-direction:column;align-items:stretch;gap:18px;font-size:14px;line-height:1.8}
  .manage-page .order-actions{display:flex;width:100%;gap:10px;flex-wrap:wrap}
  .manage-page .order-actions>*{flex:1 1 100%;max-width:100%;font-size:14px}
  .manage-page .comment{font-size:14px;line-height:1.7;overflow-wrap:anywhere}
  .manage-page .order-history{font-size:13px;line-height:1.8}
  .manage-page .order-history summary{font-size:15px;min-height:48px;padding:10px 0}
  .manage-page .table-scroll table{font-size:13px}
  .manage-page th,.manage-page td{padding:12px 10px}
  .manage-page #order-dialog,.manage-page .operations-dialog{
    position:fixed;inset:auto 0 auto 0;top:var(--visual-top);margin:0;width:100%;max-width:none;height:var(--app-height);max-height:var(--app-height);border:0;
    padding:0 max(18px,env(safe-area-inset-right,0px)) calc(28px + env(safe-area-inset-bottom,0px)) max(18px,env(safe-area-inset-left,0px))
  }
  .manage-page .manage-dialog-heading{position:sticky;top:0;z-index:5;background:#fffefa;margin:0 -18px 18px;padding:calc(12px + env(safe-area-inset-top,0px)) 18px 12px;border-bottom:1px solid #d5dac9}
  .manage-page #order-dialog h2,.manage-page .operations-dialog h2{font-size:28px;line-height:1.15}
  .manage-page #order-dialog label{margin-block:18px;font-size:14px}
  .manage-page #order-dialog textarea{font-size:16px;line-height:1.6}
  .manage-page #order-dialog .amend-line{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .manage-page #order-dialog .amend-line>label:first-child{grid-column:1/-1}
  .manage-page #order-dialog .amend-line>button{grid-column:1/-1}
  .manage-page .amend-product-heading{gap:12px;font-size:14px}
  .manage-page .amend-product-photo{width:80px;height:76px;flex-basis:80px}
  .manage-page #order-dialog .amend-line>small{font-size:13px;line-height:1.7}
  .manage-page .replacement-actions .button{flex:1 1 120px}
  .manage-page #order-dialog .delivery-slot-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .manage-page #order-dialog .delivery-slot-grid label:first-child{grid-column:1/-1}
  .manage-page .return-line{grid-template-columns:64px minmax(0,1fr);gap:12px}
  .manage-page .return-line img{width:64px;height:64px}
  .manage-page .return-line>label{grid-column:1/-1}
  .manage-page .return-line p{font-size:13px;line-height:1.7}
  .manage-page .return-line select{width:100%}
  .manage-page .replacement-card{display:grid;grid-template-columns:64px minmax(0,1fr);gap:12px}
  .manage-page .replacement-card img{width:64px;height:70px}
  .manage-page .replacement-card h3{font-size:23px;line-height:1.2}
  .manage-page .replacement-card p,.manage-page .operations-dialog>p{font-size:13px;line-height:1.7}
  .manage-page .replacement-sizes{gap:8px}
  .manage-page .replacement-sizes .button{min-width:64px;font-size:13px}
  .manage-page .staff-row{flex-wrap:wrap;gap:12px}
  .manage-page .staff-row>div{flex-basis:100%;overflow-wrap:anywhere}
  .manage-page .staff-row>button{flex:1 1 120px}
  .manage-page #staff-form{padding:16px}
}
@media(max-width:359px){
  :root{--phone-gutter:16px}
  .storefront .header{padding-inline:12px;gap:4px}
  .storefront .header .logo img{width:112px}
  .storefront .header-actions{gap:0}
  .storefront .header-actions>.lang{min-width:44px}
  .storefront .catalog-controls>select{grid-column:1/-1}
  .storefront .size-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
  .storefront .cart-line{grid-template-columns:60px minmax(0,1fr);gap:10px}
  .storefront .cart-image{width:60px}
  .manage-page .photo-grid{grid-template-columns:minmax(0,1fr)}
}
@media(orientation:landscape) and (max-height:500px) and (max-width:1024px){
  .storefront .header{height:64px;min-height:64px}
  .storefront .shop-detail,.storefront .checkout-layout{grid-template-columns:repeat(2,minmax(0,1fr))}
  .storefront .gallery{align-self:start}
  .storefront .hero-visual{max-height:320px}
  .storefront .shop-product-dialog,.storefront .cart-dialog,.storefront .checkout-dialog,.manage-page #order-dialog,.manage-page .operations-dialog{top:var(--visual-top);height:var(--app-height);max-height:var(--app-height);width:100%;max-width:100%;margin:0;inset-inline:0}
  .storefront .drawer-heading{position:sticky;top:0;z-index:6;background:var(--paper);padding-block:10px}
  .storefront .drawer-heading h2,.storefront .checkout-dialog .drawer-heading h2{font-size:25px}
}
@media(hover:none){.shop-grid .product-open:hover .second-photo{opacity:0}.shop-grid .product-open:hover img{transform:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Shared vector icons keep their geometry and color on every operating system. */
.ui-icon{display:inline-block;width:1.1em;height:1.1em;vertical-align:-.15em;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0;pointer-events:none}
.icon-button .ui-icon,.photo-tile .ui-icon{width:20px;height:20px}
.success-mark .ui-icon,.cart-empty>span .ui-icon,.empty-symbol .ui-icon{width:50px;height:50px;stroke-width:1.35}
.manage-page .button .ui-icon{width:17px;height:17px;vertical-align:-.2em}
