/* Mobile shopping controls only. Native forms, IDs, prices, availability and
   gallery/layout dimensions remain unchanged. Load after the commerce styles. */
/* Reserve the native rating slot even when the product has no reviews. */
/* Compact storefront header on every page; touch targets remain 44px. */
body .vo-header .vo-header-row { min-height:64px; }
@media(min-width:1024px) {
    body .vo-header .vo-header-row { min-height:68px; }
    body .vo-header .vo-header-row :is([data-nav-item],[data-nav-item] > [data-nav-canonical],[data-nav-more] > button) { font-size:16px; font-weight:400; line-height:28px; letter-spacing:0; }
}
@media(max-width:639px) { body .vo-header .vo-header-row { min-height:56px; } }
/* Keep the primary menu readable at the same 16px reference size. */
body .vo-header .vo-header-row :is([data-nav-item],[data-nav-item] > [data-nav-canonical],[data-nav-more] > button) { font-size:16px; }
body #nav-drawer nav > ul > li > :is(a,button),
body #nav-drawer nav > ul > li > div > a { font-family:var(--vo-font,Inter,system-ui,sans-serif); font-size:16px; font-weight:400; line-height:1.5; }
main .vo-product-card .vo-card-rating { min-height: 22px; display: flex; align-items: center; }
main .vo-product-card .vo-card-rating > span { margin: 0 !important; font-size: 11px !important; line-height: 20px; }
main .vo-product-card .vo-card-rating [aria-hidden] { color: #9b7749 !important; }
/* Product card typography: clear names, a readable reference price and a
   stronger selling price. Native money markup also survives colour changes. */
main .vo-product-card .vo-card-body h3 { font-size:20px; font-weight:500; line-height:1.35; letter-spacing:-.02em; }
main .vo-product-card .vo-card-tagline { min-width:0; margin:4px 0 8px; color:#85858b; font-size:16px; font-weight:400; line-height:1.4; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
main .vo-product-card [data-card-price] { font-variant-numeric:tabular-nums; }
main .vo-product-card [data-card-price] > s { display:block; font-size:16px; font-weight:400; line-height:1.45; color:#8b8f98; text-decoration-thickness:1px; margin-bottom:6px; }
main .vo-product-card [data-card-price] > span { display:block; font-size:22px; font-weight:600; line-height:1.3; letter-spacing:-.025em; color:#101010; }
main .vo-product-card .vo-card-rating > span { font-size:13px !important; }
main .vo-product-card .vo-buy { min-height:46px; padding-inline:20px; font-size:13px; font-weight:600; }
@media (max-width: 639px) {
    main .vo-product-card .vo-quick-view-trigger { display:none !important; }
    main .vo-product-card { min-width: 0; }
    main .vo-product-card .vo-card-body { display: grid; grid-template-rows: minmax(34px,auto) 36px 44px 44px auto auto; align-content: start; gap: 6px; min-width: 0; }
    main .vo-product-card .vo-card-body > .flex:first-child { grid-row: 1; min-height: 34px !important; }
    main .vo-product-card .vo-card-body h3 { min-height: 0; overflow-wrap: anywhere; }
    main .vo-product-card [data-card-price] { grid-row: 3; align-self: end; min-width: 0; font-variant-numeric: tabular-nums; }
    main .vo-product-card [data-card-price] > span { line-height: 1.35; }
    main .vo-product-card .vo-card-body > .flex.items-end { display: contents; }
    main .vo-product-card .vo-buy { grid-row: 4; display: inline-flex; align-items: center; justify-content: center; width: 100%; min-height: 44px; padding-inline: 10px; font-size: 10px; line-height: 1.3; }
    :where(body:has([data-hero])) main .vo-product-rail .vo-card .vo-buy { min-height: 44px; font-size: 10px; }
    main .vo-product-card .vo-card-colors { grid-row: 2; flex-wrap: nowrap; gap: 0; margin: 0; min-width: 0; max-width: 100%; height: 36px; overflow-x: auto; scrollbar-width: none; }
    main .vo-product-card .vo-card-colors::-webkit-scrollbar { display: none; }
    main .vo-product-card .vo-card-color { width: 32px; height: 36px; }
    main .vo-product-card .vo-card-colors-more { min-width: 32px; min-height: 36px; }
    main .vo-product-card .vo-card-stock { grid-row: 4; display: flex; align-items: center; justify-content: center; min-height: 44px; margin: 0; border: 1px solid #e5e5e5; border-radius: 999px; background: #f5f5f5; color: #777; font-size: 11px; }
    main .vo-product-card [data-card-offers] { grid-row: 5; }
    main .vo-product-card .vo-card-status { grid-row: 6; }
    main .vo-product-card .vo-quick-view-trigger { display: grid; place-items: center; top: auto; bottom: 7px; inset-inline-end: 7px; width: 44px; height: 44px; min-height: 44px; padding: 0; border-radius: 50%; font-size: 0; opacity: 1; transform: none; }
    main .vo-product-card .vo-quick-view-trigger::before { content: ''; display: block; width: 18px; height: 18px; background-color: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M2 12s3.5-6 10-6 10 6 10 6-3.5 6-10 6S2 12 2 12Z' fill='none' stroke='black' stroke-width='1.6'/%3E%3Ccircle cx='12' cy='12' r='3' fill='none' stroke='black' stroke-width='1.6'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M2 12s3.5-6 10-6 10 6 10 6-3.5 6-10 6S2 12 2 12Z' fill='none' stroke='black' stroke-width='1.6'/%3E%3Ccircle cx='12' cy='12' r='3' fill='none' stroke='black' stroke-width='1.6'/%3E%3C/svg%3E") center / contain no-repeat; }
    :where(body:has([data-hero])) main .vo-product-rail .vo-quick-view-trigger { top: auto; bottom: 7px; inset-inline-end: 7px; width: 44px; height: 44px; min-height: 44px; padding: 0; font-size: 0; }
    main .vo-product-card .vo-included-offers { overflow-wrap: anywhere; padding: 8px; }

    /* Sort keeps the server's complete option labels and submitted values;
       the native picker can expand beyond the compact closed control. */
    .vo-listing-toolbar > .vo-shell { min-height: 62px; gap: 12px; }
    .vo-listing-toolbar form[data-autosubmit] { flex: 0 1 auto; min-width: 0; margin-inline-start: auto; gap: 7px; }
    .vo-listing-toolbar select.vo-field { width: min(48vw,184px); min-width: 0; min-height: 44px; padding-inline: 12px 30px; font-size: 12px; background-color: #fafafa; }
    .vo-listing-toolbar .vo-mobile-filter-button { min-height: 44px; flex: none; padding-inline: 2px; }
    .vo-listing-toolbar label { flex: none; font-size: 10px; }
    .vo-listing-toolbar > .vo-shell > p { flex: none; font-size: 11px; }

    main [data-product-detail] .vo-product-information .vo-product-actions { gap: 8px; }
    main [data-product-detail] .vo-product-information .vo-product-actions > button { min-height: 48px; }
    main [data-product-detail] .vo-product-information .vo-product-quantity { flex-wrap: wrap; gap: 12px; }
    main [data-product-detail] .vo-product-information [data-product-cart] [data-qty] { min-height: 44px; }
    main [data-product-detail] .vo-product-information [data-qty] button { min-height: 44px; }
    main [data-product-detail] .vo-product-information [data-variant-picker] fieldset { min-width: 0; }
    main [data-product-detail] .vo-product-information .vo-swatch--photo { min-width: 62px; min-height: 68px; }
    main .vo-product-detail-nav a { display: inline-flex; align-items: center; min-height: 44px; }

    .vo-cart { padding-block: 24px 36px; }
    .vo-cart .vo-h1 { margin-bottom: 24px; font-size: 27px; }
    .vo-cart > .vo-shell > .grid { gap: 28px; }
    .vo-cart ul > li { display: grid; grid-template-columns: 64px minmax(0,1fr); align-items: start; gap: 12px; padding-block: 20px; }
    .vo-cart ul > li > .vo-media { width: 64px; border-radius: 8px; }
    .vo-cart ul > li > .vo-media img { object-fit: contain; }
    .vo-cart ul > li > .flex-1 > .flex:first-child { display: block; }
    .vo-cart ul > li .text-right { margin-top: 8px; text-align: start; font-size: 14px; font-weight: 600; font-variant-numeric: tabular-nums; }
    .vo-cart ul > li p { overflow-wrap: anywhere; }
    .vo-cart ul > li form:has([data-qty]) { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; max-width: 100%; }
    .vo-cart ul > li form:has([data-qty]) > .vo-btn { min-height: 44px; margin: 0; padding: 8px; font-size: 11px; }
    .vo-cart [data-qty] { min-height: 44px; border-radius: 6px; overflow: hidden; }
    .vo-cart [data-qty] button { width: 38px; min-height: 44px; }
    .vo-cart [data-qty-input] { width: 40px; min-width: 0; font-size: 16px; }
    .vo-cart ul > li button[type="submit"] { min-height: 44px; }
    .vo-cart aside > div { padding: 20px 16px; border-radius: 12px; }
    .vo-cart aside form .flex { min-width: 0; }
    .vo-cart #coupon { flex: 1 1 0; width: 0; min-width: 0; min-height: 46px; padding-inline: 12px; font-size: 16px; }
    .vo-cart aside form .vo-btn { min-height: 46px; padding-inline: 14px; font-size: 12px; }
    .vo-cart aside dl .flex { gap: 12px; }
    .vo-cart aside dd { flex: none; font-variant-numeric: tabular-nums; }
    .vo-cart .vo-cart-promotions { background: #f6f4f8; border-color: #e9e4ed; }
    .vo-cart .vo-cart-promotions .vo-offer-included { color: #4d4056; }
}

@media (max-width: 359px) {
    main .vo-product-card .vo-card-body > .flex.items-end { flex-wrap: wrap; row-gap: 9px; }
    main .vo-product-card [data-card-price] { flex-basis: 100%; }
    main .vo-product-card .vo-buy,
    :where(body:has([data-hero])) main .vo-product-rail .vo-card .vo-buy { width: 100%; }
    main .vo-product-card [data-card-price] > span { white-space: normal; overflow-wrap: anywhere; }
}
@media (max-width: 639px) {
    main .vo-product-card .vo-card-body { grid-template-rows: minmax(38px,auto) 32px 22px 36px 44px 44px auto auto; }
    main .vo-product-card .vo-card-body h3 { font-size:14px; }
    main .vo-product-card [data-card-price] > s { font-size:12px; line-height:1.4; margin-bottom:3px; }
    main .vo-product-card [data-card-price] > span { font-size:17px; }
    main .vo-product-card .vo-card-rating > span { font-size:11px !important; }
    main .vo-product-card .vo-buy { font-size:12px; }
    :where(body:has([data-hero])) main .vo-product-rail .vo-card .vo-buy { font-size:12px; }
    main .vo-product-card .vo-card-tagline { grid-row:2; margin:0; font-size:12px; line-height:16px; white-space:normal; display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; max-height:32px; }
    main .vo-product-card .vo-card-rating { grid-row: 3; }
    main .vo-product-card .vo-card-colors { grid-row: 4; }
    main .vo-product-card [data-card-price] { grid-row: 5; }
    main .vo-product-card :is(.vo-buy,.vo-card-stock) { grid-row: 6; }
    main .vo-product-card [data-card-offers] { grid-row: 7; }
    main .vo-product-card .vo-card-status { grid-row: 8; }
}