/* HAIR-BG functional additions. Preserve the Schon storefront and card controls. */
.catalog-filter.catalog-filter-current{display:flex;flex-wrap:wrap;align-items:end;gap:12px;padding:16px;border:1px solid var(--line,#ddd);margin-bottom:24px;background:#fafafa}
.catalog-filter-current>label{display:flex;flex:1 1 160px;min-width:0;flex-direction:column;gap:5px;font-size:12px;font-weight:400}
.catalog-filter-current input:not([type=checkbox]),.catalog-filter-current select{width:100%;height:40px;min-width:0;padding:9px;border:1px solid #ddd;background:#fff;font:inherit;box-sizing:border-box}
.catalog-filter-current .catalog-stock-filter{flex:0 0 auto;flex-direction:row;align-items:center;gap:7px;min-height:40px}
.catalog-stock-filter input{width:16px;height:16px;margin:0;accent-color:#333}
.catalog-filter-current button{height:40px;padding:0 18px;border:1px solid #333;background:#333;color:#fff;font:inherit;font-size:12px;cursor:pointer}
.catalog-filter-reset{padding:11px 0;font-size:12px}
.product-notify-bar{position:absolute;right:0;bottom:0;left:0;height:44px;display:flex;align-items:stretch;justify-content:center}
.product-card .stock-notify-link{display:flex;align-items:center;justify-content:center;gap:7px;width:100%;height:44px;box-sizing:border-box;padding:0 10px;border:1px solid #e5dfd4;background:#f5f1e9;box-shadow:0 0 9px rgba(172,172,172,.35);border-radius:0;color:#65533b;font-size:10px;font-weight:700;letter-spacing:.1em;line-height:1.25;text-transform:uppercase;text-decoration:none}
.stock-notify-link svg{flex:0 0 15px}.stock-notify-link:hover{background:#ece4d7}.stock-notify-link:focus-visible{outline:2px solid #333;outline-offset:2px}
.stock-notification{width:100%;max-width:100%;box-sizing:border-box;min-width:0;margin:16px 0;border:1px solid #ddd;background:#fafafa;border-radius:3px;scroll-margin-top:110px;scroll-margin-bottom:20px}
.stock-notification>summary{padding:13px 14px;font-size:14px;font-weight:600;line-height:1.4;cursor:pointer}
.stock-notification form{display:grid;gap:12px;padding:0 14px 14px}
.stock-notification .stock-notification-intro{margin:0;font-size:13px;font-weight:400;line-height:1.5;color:#666}
.stock-notification-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.stock-notification form label{display:grid;gap:5px;min-width:0;margin:0;font-size:13px;font-weight:400;line-height:1.45;text-transform:none;letter-spacing:normal}
.stock-notification .stock-field-label{display:block;font-size:13px;font-weight:500;line-height:1.45}
.stock-notification .stock-field-label small{display:inline;font-size:11px;font-weight:400;color:#777;white-space:nowrap}
.stock-notification input:not([type=checkbox]){width:100%;height:40px;min-height:40px;padding:9px 10px;border:1px solid #ccc;border-radius:2px;background:#fff;font:inherit;font-size:14px;font-weight:400;box-sizing:border-box}
.stock-notification form .stock-consent{display:flex;gap:8px;align-items:flex-start;font-size:12px;font-weight:400;line-height:1.5}
.stock-notification .stock-consent span{min-width:0;font-size:12px;font-weight:400;line-height:1.5;white-space:normal}
.stock-notification .stock-consent input{width:16px;height:16px;flex:0 0 16px;margin:1px 0 0;accent-color:#333}
.stock-notification form .primary-button{justify-self:start;width:auto;min-height:38px;padding:10px 16px;border:1px solid #333;background:#333;color:#fff;font:inherit;font-size:13px;line-height:1.35;cursor:pointer}
.stock-notification [data-stock-status]{margin:0;font-size:12px;line-height:1.5}.stock-notification [data-stock-status]:empty{display:none}
.stock-notification [data-stock-status][data-error=true]{color:#9c2020}.stock-notification [data-stock-status][data-error=false]{color:#245b2a}
.schon-thumbnails button[aria-pressed=true]{border-color:#333;outline:1px solid #333}.schon-thumbnails button:focus-visible{outline:2px solid #333}
.product-usage-jump,.product-rating-summary{display:block;margin:12px 0;font-size:13px;text-decoration:underline}
.product-usage-panel h2{white-space:normal}.usage-guide+.usage-guide{margin-top:24px}.usage-guide h3{font-size:18px;margin-top:0}
.usage-image{display:block;max-width:100%;max-height:480px;width:auto;height:auto;margin:16px 0}.usage-video-link{display:inline-block;padding:10px 14px;border:1px solid #ddd;font-size:13px;text-decoration:underline}
.hair-product-reviews{padding:32px 0;border-top:0;margin:32px 0}.hair-product-reviews h2{font-size:24px}.hair-review{margin:20px 0;padding-bottom:20px;border-bottom:1px solid #eee}.hair-review>span{margin-left:16px;font-size:13px}.hair-review h3{font-size:16px}
.hair-review-form>summary{font-weight:600;cursor:pointer;font-size:14px}.hair-review-form form{display:grid;gap:12px;max-width:650px;margin-top:16px}.hair-review-form label{display:grid;gap:5px;font-size:13px}.hair-review-form input,.hair-review-form select,.hair-review-form textarea{max-width:100%;width:100%;box-sizing:border-box;padding:10px;border:1px solid #ddd;background:#fff;font:inherit}.hair-review-form button{justify-self:start;padding:12px 18px}
[data-cart-status]{font-size:12px;color:#8a2727;margin:8px 0}
@media(max-width:560px){.catalog-filter-current>label{flex-basis:100%}.catalog-filter-current button{flex:1 1 auto}}

.schon-feature-list .product-notify-bar{justify-content:center}
.product-stock-label{font-size:12px;font-weight:400;color:#8c3f32}
/* Constrain the gallery's grid track so a tall source image cannot cover thumbnails. */
.schon-product-gallery .product-detail-image{grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(0,1fr);overflow:hidden}
.schon-product-gallery .product-detail-image>img{min-width:0;min-height:0;max-width:100%;max-height:100%}
.usage-guides{min-width:0}

.brand-grid .brand-short-description{margin:8px 0 12px;font-size:13px;font-weight:400;line-height:1.5;color:#666}

.stock-notification-fields .stock-email-field{grid-column:1/-1}
.product-unavailable-notice{margin:20px 0;padding:15px 18px;background:#f5f1e9;border-left:3px solid #b49a72;color:#65533b;font-size:14px;font-weight:500;line-height:1.55}

.stock-notification-fields>label{grid-template-rows:1fr 40px}
