/** Editorial native catalog and shared search suggestions. */
.aurome-storefront .aurome-catalog { padding-bottom: 64px; width: 100%; }
.aurome-storefront.aurome-catalog-page #primary { width:100%; margin:32px 0 0; padding:0; border:0; }
.aurome-storefront .aurome-catalog-heading { text-align:center; max-width:900px; margin:0 auto 40px; }
.aurome-storefront .aurome-catalog-heading h1 { font:var(--aurome-type-display); margin:12px 0 20px; letter-spacing:var(--aurome-display-tracking); }
.aurome-storefront .aurome-catalog-heading p { color:var(--aurome-muted); }
.aurome-storefront .aurome-catalog-heading .aurome-eyebrow { font-size:12px; letter-spacing:var(--aurome-label-tracking); text-transform:uppercase; font-weight:500; }
.aurome-storefront .aurome-catalog-search { position:relative; display:flex; gap:8px; margin:28px auto 0; padding:8px; background:#fff; border:1px solid #dce1e8; border-radius:999px; text-align:left; }
.aurome-storefront .aurome-catalog-search input[type=search] { border:0; background:transparent; flex:1; min-width:0; padding:10px 16px; width:100%; }
.aurome-storefront .aurome-catalog-search button { min-height:44px; padding:10px 24px; background:var(--aurome-accent); color:#fff; border-radius:999px; }
.aurome-storefront .aurome-catalog-layout { display:grid; gap:30px; }
.aurome-storefront .aurome-catalog-results { min-width:0; }
.aurome-storefront .aurome-catalog-toolbar { display:flex; align-items:center; gap:16px; flex-wrap:wrap; margin-bottom:24px; }
/* Astra Pro's mobile toolbar is fixed by default; keep native sorting in this catalog's flow. */
.aurome-storefront .aurome-catalog-toolbar .ast-shop-toolbar-container { position:static; inset:auto; z-index:auto; }
.aurome-storefront .aurome-catalog-toolbar .woocommerce-result-count { margin:0 auto 0 0; float:none; font-size:14px; }
.aurome-storefront .aurome-catalog-toolbar .woocommerce-ordering { margin:0; float:none; max-width:100%; }
.aurome-storefront .aurome-catalog-toolbar .woocommerce-ordering select { min-height:44px; max-width:100%; font:var(--aurome-type-body); color:var(--aurome-ink); border:1px solid #dce1e8; border-radius:4px; }
.aurome-storefront .aurome-catalog-toolbar .woocommerce-notices-wrapper { flex-basis:100%; }
.aurome-storefront .aurome-catalog-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.aurome-storefront .aurome-catalog-empty { padding:64px 24px; text-align:center; border:1px solid #dce1e8; border-radius:12px; background:#fff; }
.aurome-storefront .aurome-catalog-empty > span { font-size:40px; color:var(--aurome-accent); }
.aurome-storefront .aurome-catalog-empty h2 { font:var(--aurome-type-section); margin:20px 0; }
.aurome-storefront .aurome-catalog-empty p { max-width:440px; margin:0 auto 24px; color:var(--aurome-muted); }
.aurome-storefront .aurome-catalog-empty a { display:inline-flex; min-height:44px; align-items:center; text-decoration:underline; }
.aurome-filter-details > summary { cursor:pointer; min-height:44px; font-weight:500; }
.aurome-catalog-filters.is-mobile-ready { display:none; }
.aurome-filter-form fieldset { border:0; border-bottom:1px solid #dce1e8; margin:0 0 24px; padding:0 0 24px; }
.aurome-filter-form legend { font:var(--aurome-type-control); text-transform:none; letter-spacing:0; padding:0 0 14px; }
.aurome-price-fields { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.aurome-price-fields label span { display:block; font-size:12px; color:var(--aurome-muted); margin-bottom:5px; }
.aurome-price-fields input[type=number] { padding:8px; width:100%; min-width:0; background:#fff; border:1px solid #c5ccd6; min-height:44px; }
.aurome-filter-form .aurome-filter-choice { display:flex; gap:10px; align-items:center; min-height:44px; cursor:pointer; font-size:14px; margin:0; }
.aurome-filter-form .aurome-filter-choice[hidden] { display:none; }
.aurome-filter-choice input[type=checkbox] { flex:0 0 18px; height:18px; width:18px; accent-color:var(--aurome-accent); }
.aurome-filter-terms { max-height:260px; overflow:auto; overscroll-behavior:contain; padding-right:8px; }
.aurome-brand-filter-label { display:block; font-size:14px; }
.aurome-brand-filter-label input[type=search] { display:block; width:100%; background:#fff; padding:10px; min-height:44px; margin:8px 0; border:1px solid #c5ccd6; }
.aurome-filter-submit { display:grid; gap:12px; }
.aurome-filter-submit button { background:var(--aurome-accent); color:#fff; padding:14px; min-height:44px; border-radius:4px; }
.aurome-filter-submit a { text-align:center; display:inline-flex; justify-content:center; align-items:center; min-height:44px; text-decoration:underline; }
.aurome-filter-dialog { box-sizing:border-box; position:fixed; inset:0 0 0 auto; margin:0; width:min(400px,92vw); max-width:none; height:100dvh; max-height:none; border:0; padding:24px; color:var(--aurome-ink); background:#fff; overflow:auto; }
.aurome-filter-dialog::backdrop { background:#0d0d0d88; }
.aurome-filter-dialog-head { display:flex; justify-content:space-between; align-items:center; gap:16px; margin-bottom:32px; }
.aurome-filter-dialog-head h2 { margin:0; font:var(--aurome-type-section); }
.aurome-filter-dialog-head button { min-height:44px; min-width:44px; padding:8px; color:var(--aurome-ink); background:#f0f2f5; border-radius:50%; font-size:24px; }
[data-aurome-filters-open] { color:var(--aurome-ink); background:#fff; border:1px solid #c5ccd6; min-height:44px; padding:10px 18px; }
[data-aurome-search] { position:relative; }
.aurome-storefront .aurome-search-suggestions { position:absolute; z-index:30; inset:calc(100% + 8px) 0 auto auto; min-width:min(340px,calc(100vw - 32px)); width:100%; padding:4px 0; border:1px solid #dce1e8; border-radius:12px; box-shadow:0 12px 30px #0d1a2e22; color:var(--aurome-ink); background:#fff; text-align:left; overflow:hidden; }
.aurome-search-suggestions[hidden] { display:none!important; }
.aurome-search-suggestions ul { list-style:none; margin:0; padding:0; max-height: min(420px,55dvh); overflow:auto; }
.aurome-search-suggestions li { margin:0; padding:0; }
.aurome-storefront .aurome-search-suggestions [role=option] { display:flex; gap:12px; align-items:center; min-height:64px; padding:10px 14px; color:var(--aurome-ink); text-decoration:none; border-top:1px solid #edf0f4; }
.aurome-storefront .aurome-search-suggestions [role=option]:hover,.aurome-storefront .aurome-search-suggestions [role=option][aria-selected=true] { background:#eef5fd; }
.aurome-search-suggestions [role=option] img { object-fit:contain; flex:0 0 44px; background:#fff; }
.aurome-search-suggestions [role=option] > span { display:block; min-width:0; }
.aurome-search-suggestions strong { display:block; font:var(--aurome-type-title); overflow-wrap:anywhere; }
.aurome-search-price { display:block; color:var(--aurome-muted); font-size:14px; margin-top:3px; }
.aurome-search-status { padding:8px 14px; margin:0; font-size:14px; color:var(--aurome-muted); }
.aurome-storefront .aurome-search-all { display:block; min-height:44px; padding:12px; text-align:center; background:#f7f9fc; color:var(--aurome-accent); font-size:14px; text-decoration:underline; }
.aurome-storefront .aurome-search-all[hidden] { display:none; }
.aurome-budget-status { margin:20px 0 0; color:var(--aurome-muted); font-size:14px; min-height:24px; }
.aurome-budget-status:empty { display:none; }
[data-aurome-budget-panel][aria-busy=true] .aurome-home-products { opacity:.5; }
@media(min-width:1024px) {
 .aurome-storefront .aurome-catalog-layout { grid-template-columns:260px minmax(0,1fr); gap:32px; }
 .aurome-storefront .aurome-catalog-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
 .aurome-filter-details > summary { display:none; }
}
@media(min-width:1280px) {
 .aurome-storefront .aurome-catalog-layout { grid-template-columns:280px minmax(0,1fr); }
 .aurome-storefront .aurome-catalog-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
}
@media(max-width:767px) {
 .aurome-storefront .aurome-catalog-search button { padding:10px 16px; }
 .aurome-storefront .aurome-catalog-search input[type=search] { padding-inline:8px; }
 .aurome-storefront .aurome-catalog-heading { margin-bottom:24px; }
}
