/* Allwaves functional update. Scoped additions preserve the existing visual design. */
.catalog-filter.catalog-filter-current{display:flex;flex-wrap:wrap;align-items:end;gap:12px;padding:16px;margin-bottom:24px}
.catalog-filter-current>label{display:flex;flex:1 1 180px;min-width:0;flex-direction:column;gap:6px;font-size:14px}
.catalog-filter-current>label.catalog-search-label{flex-basis:240px}
.catalog-filter-current .catalog-stock-filter{flex:0 0 auto;flex-direction:row;align-items:center;gap:8px;min-height:46px}
.catalog-filter-current .catalog-stock-filter input{width:18px;height:18px;padding:0;flex:0 0 auto;accent-color:#222}
.catalog-filter-current button{min-height:46px}
.catalog-pagination{display:flex;justify-content:center;flex-wrap:wrap;gap:8px;margin:28px 0}
.catalog-pagination a,.catalog-pagination>span{padding:10px 14px;border:1px solid #ddd;border-radius:8px}
.catalog-pagination a[aria-current=page]{background:#222;color:#fff;border-color:#222}
.catalog-empty{padding:32px 16px;text-align:center;grid-column:1/-1}
.stock-notification{margin:20px 0;border:1px solid #d8d8d4;border-radius:12px;background:#fafaf8}
.stock-notification summary{padding:16px;cursor:pointer;font-weight:700}
.stock-notification form{display:grid;gap:12px;padding:0 16px 16px}
.stock-notification label{display:grid;gap:6px;font-size:14px}
.stock-notification input:not([type=checkbox]){width:100%;min-height:44px;padding:10px;border:1px solid #ccc;border-radius:6px;box-sizing:border-box}
.stock-notification .stock-consent{display:flex;align-items:flex-start;gap:10px;line-height:1.5}
.stock-consent input{margin-top:4px;flex-shrink:0}
.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}
.stock-notify-link{display:inline-block;font-weight:600;text-decoration:underline;margin-top:8px}
.product-detail-image .product-main-image{width:100%;height:560px;object-fit:contain}
.product-detail-image .product-main-image[data-original-size]{width:auto!important;height:auto!important;max-width:100%;max-height:560px}
.product-gallery-thumbnails{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px;justify-content:center}
.product-gallery-thumbnails button{width:62px;height:68px;border:1px solid #ccc;background:#fff;border-radius:6px;padding:4px;cursor:pointer}
.product-gallery-thumbnails button[aria-pressed=true]{border:2px solid #222}
.product-gallery-thumbnails img{width:100%!important;height:100%!important;object-fit:contain}
.product-detail-image:has(.product-gallery-thumbnails){flex-direction:column}
.usage-guide+.usage-guide{margin-top:24px}
.usage-image{display:block;max-width:100%;max-height:480px;width:auto;height:auto;margin:16px 0}
.usage-video-link{display:inline-block;margin:16px 0;padding:12px 16px;border:1px solid #ccc;border-radius:8px;text-decoration:underline}
.product-usage-jump{display:inline-block;margin:12px 0;text-decoration:underline}
@media(max-width:700px){.catalog-filter-current>label{flex-basis:100%}.catalog-filter-current button{width:100%}.product-detail-image .product-main-image{height:360px}.product-detail-image .product-main-image[data-original-size]{max-height:360px}}

.stock-notification{width:100%;max-width:100%;box-sizing:border-box;min-width:0}
.stock-notification .stock-consent input{width:18px!important;height:18px;flex:0 0 18px;padding:0}
.stock-notification .stock-consent span{min-width:0;overflow-wrap:anywhere}

/* Compact notification controls, isolated from the store's bold form styles. */
.product-card .product-meta.is-unavailable{justify-content:flex-end}
.product-card a.stock-notify-link{display:inline-flex;align-items:center;justify-content:center;gap:7px;max-width:100%;margin:2px 0 0;padding:8px 12px;border:1px solid #d9ddd7;border-radius:999px;background:#fff;color:var(--navy,#171e35);font-family:Arial,Helvetica,sans-serif;font-size:12px;font-weight:500;line-height:1.2;text-decoration:none;box-sizing:border-box;white-space:normal;transition:background .15s,border-color .15s}
.product-card a.stock-notify-link:hover{background:#f0f2eb;border-color:#aeb9a5;text-decoration:none}
.product-card a.stock-notify-link:focus-visible{outline:2px solid var(--navy,#171e35);outline-offset:3px}
.stock-notify-link svg{flex:0 0 15px}
.product-detail-copy .stock-notification{margin:16px 0;border-radius:10px;background:#fafaf8;font-family:Arial,Helvetica,sans-serif;text-align:left}
.stock-notification>summary{padding:13px 14px;font-size:14px;font-weight:600;line-height:1.4}
.stock-notification form{gap:12px;padding:0 14px 14px}
.stock-notification .stock-notification-intro{margin:0;font-size:13px;font-weight:400;line-height:1.5;color:#59635f}
.stock-notification-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,190px),1fr));gap:12px}
.stock-notification form label{min-width:0;margin:0;font-size:13px;font-weight:400;line-height:1.45;text-transform:none;letter-spacing:normal}
.stock-notification form .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:#707873;white-space:nowrap}
.stock-notification input:not([type=checkbox]){height:40px;min-height:40px;padding:9px 10px;font-family:inherit;font-size:14px;font-weight:400;line-height:1.3}
.stock-notification form .stock-consent{gap:8px;align-items:flex-start;font-size:12px;font-weight:400;line-height:1.5}
.stock-notification form .stock-consent span{font-size:12px;font-weight:400;line-height:1.5;white-space:normal;overflow-wrap:normal}
.stock-notification .stock-consent input{width:16px!important;height:16px;flex-basis:16px;margin-top:1px}
.stock-notification form .primary-button{justify-self:start;width:auto;min-height:38px;padding:10px 16px;font-family:inherit;font-size:13px;font-weight:500;line-height:1.35;white-space:normal}
.stock-notification [data-stock-status]{margin:0;font-size:12px;font-weight:400;line-height:1.5}

.product-card a.stock-notify-link{margin-left:auto}
.stock-notification{scroll-margin-top:100px;scroll-margin-bottom:90px}
