/* Catalog and department navigation share PhoneHub's existing design tokens. */
.toanweb-archive { width:100%; padding-block:18px 32px; }
.toanweb-archive-crumbs { margin-bottom:14px; font-size:13px; }
.toanweb-archive-title { font-size:28px; font-weight:800; line-height:1.3; margin:0 0 22px; color:var(--ph-ink); }
.toanweb-filter-bar,.toanweb-archive-products { width:100%; padding:22px; background:var(--ph-surface); border-radius:var(--ph-radius); }
.toanweb-filter-bar { position:relative; z-index:12; margin-bottom:18px; }
.toanweb-filter-bar h2 { color:var(--ph-ink); font-size:17px; font-weight:700; margin:0 0 18px; }
.toanweb-filter-slot,.toanweb-filter-slot > .bde-woo-faceted-filters { width:100%; }
.toanweb-filter-slot .wc-block-product-filters { display:block; width:100%; --wc-product-filters-background-color:var(--ph-surface); --wc-product-filters-text-color:var(--ph-ink); --wc-product-filter-block-spacing:16px; --wc-product-filter-checkbox-list-option-element:var(--ph-surface); --wc-product-filter-checkbox-list-option-element-border:var(--ph-line); --wc-product-filter-checkbox-list-option-element-selected:var(--ph-brand); --wc-product-filter-checkbox-list-label-element:var(--ph-ink); --wc-product-filter-price-slider:var(--ph-brand); --wc-product-filter-price-slider-handle:var(--ph-surface); --wc-product-filter-price-slider-handle-border:var(--ph-brand); --wc-product-filter-removable-chips-background:var(--ph-canvas); --wc-product-filter-removable-chips-border:var(--ph-line); --wc-product-filter-removable-chips-text:var(--ph-ink); --wp--preset--spacing--30:20px; --wc-product-filters-overlay-background-color:var(--ph-surface); --wc-product-filters-overlay-text-color:var(--ph-ink); font-size:13px; }
.toanweb-filter-slot h3.wp-block-heading { color:var(--ph-ink); font-size:14px; font-weight:600; line-height:1.5; margin:0 0 12px; }
.toanweb-filter-slot .wc-block-product-filter-checkbox-list__items { display:grid; gap:12px; }
.toanweb-filter-slot .wc-block-product-filter-checkbox-list__label { line-height:1.6; align-items:flex-start; }
.toanweb-filter-slot .wc-block-product-filter-checkbox-list__input-wrapper { margin-top:4px; }
.toanweb-filter-slot .wc-block-product-filter-checkbox-list__count { color:var(--ph-muted); }
.toanweb-filter-slot .wc-block-product-filter--hidden { display:none; }
.toanweb-filter-slot .wc-block-product-filter-price-slider__content { display:grid; grid-template-columns:1fr 1fr; grid-template-areas:none; gap:12px; }
.toanweb-filter-slot .wc-block-product-filter-price-slider__range { grid-area:1 / 1 / 2 / 3; }
.toanweb-filter-slot .wc-block-product-filter-price-slider__left { grid-area:2 / 1 / 3 / 2; }
.toanweb-filter-slot .wc-block-product-filter-price-slider__right { grid-area:2 / 2 / 3 / 3; }
.toanweb-filter-slot :is(.wc-block-product-filter-price-slider__left,.wc-block-product-filter-price-slider__right) { min-width:0; width:100%; }
.toanweb-filter-slot .wc-block-product-filter-price-slider input[type=text] { width:100%; max-width:none; min-width:0; font-size:12px; padding:8px; }
.toanweb-filter-slot .wp-block-woocommerce-product-filter-clear-button .wp-block-button__link { color:var(--ph-brand); background:transparent; padding:8px; font-size:13px; }
.toanweb-filter-slot .wc-block-product-filters__apply { min-height:48px; padding:12px 20px; background:var(--ph-brand); color:white; border:0; border-radius:10px; font-size:14px; font-weight:700; }
.toanweb-filter-slot .wc-block-product-filters__open-overlay { min-height:44px; border:1px solid var(--ph-line); border-radius:8px; background:var(--ph-surface); color:var(--ph-ink); font-size:14px; }
.toanweb-filter-trigger { display:flex; align-items:center; gap:12px; width:100%; padding:10px 12px; min-height:42px; border:1px solid var(--ph-line); border-radius:8px; background:white; color:var(--ph-ink); font:inherit; font-weight:500; cursor:pointer; }
.toanweb-filter-trigger::after { content:''; width:7px; height:7px; border-right:1.5px solid currentColor; border-bottom:1.5px solid currentColor; transform:rotate(45deg); margin:-3px 2px 0 auto; }
.toanweb-filter-trigger[aria-expanded=true] { border-color:var(--ph-brand); color:var(--ph-brand); }
.toanweb-filter-trigger[aria-expanded=true]::after { transform:rotate(225deg); margin-top:3px; }
.toanweb-catalog-search { display:flex; align-items:center; gap:10px; max-width:540px; border:1px solid var(--ph-line); border-radius:8px; padding:4px 5px 4px 12px; margin:0 0 20px; color:var(--ph-muted); }
.toanweb-catalog-search .toanweb-ui-icon { width:18px; height:18px; }
.toanweb-catalog-search input { width:100%; min-width:0; border:0; padding:9px 0; background:transparent; color:var(--ph-ink); font:inherit; font-size:14px; }
.toanweb-catalog-search input:focus { outline:0; }
.toanweb-catalog-search:focus-within { border-color:var(--ph-brand); box-shadow:0 0 0 2px #e6001214; }
.toanweb-catalog-search button { padding:10px 12px; border:0; border-radius:6px; background:var(--ph-brand); color:white; font-size:13px; font-weight:600; cursor:pointer; white-space:nowrap; }
.toanweb-catalog-tools { display:flex; align-items:center; flex-wrap:wrap; gap:12px 18px; margin-bottom:20px; }
.toanweb-catalog-tools .toanweb-catalog-search { flex:1; margin:0; }
.toanweb-catalog-reset { color:var(--ph-brand); font-size:12px; text-decoration:none; white-space:nowrap; }
.breakdance .toanweb-archive-grid { display:flex; flex-wrap:wrap; align-items:center; gap:16px; width:100%; }
.breakdance .toanweb-archive-grid .woocommerce-result-count { flex:1; margin:0; color:var(--ph-muted); font-size:13px; }
.breakdance .toanweb-archive-grid .woocommerce-ordering { margin:0; flex:0 0 auto; width:auto; }
.breakdance .toanweb-archive-grid .woocommerce-ordering select { width:200px; max-width:100%; padding:10px 34px 10px 12px; border:1px solid var(--ph-line); border-radius:8px; background:var(--ph-surface); color:var(--ph-ink); font-size:13px; }
.breakdance .toanweb-archive-grid :is(.woocommerce-notices-wrapper,.woocommerce-pagination,.woocommerce-info,.woocommerce-no-products-found) { flex-basis:100%; }
.breakdance .toanweb-archive-grid ul.products { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:12px; width:100%; margin:0; padding:0; }
.breakdance .toanweb-archive-grid ul.products::before,.breakdance .toanweb-archive-grid ul.products::after { display:none; }
.breakdance .toanweb-archive-grid ul.products li.product { position:relative; display:flex; flex-direction:column; min-width:0; width:100%; margin:0; padding:14px 12px; float:none; border:1px solid var(--ph-line); border-radius:10px; background:var(--ph-surface); transition:box-shadow .2s; }
.breakdance .toanweb-archive-grid ul.products li.product:hover { box-shadow:0 5px 24px #10151f0e; border-color:#f2c8cd; }
.breakdance .toanweb-archive-grid ul.products li.product .woocommerce-loop-product__link { display:flex; flex-direction:column; flex:1; gap:12px; color:var(--ph-ink); text-decoration:none; }
.breakdance .toanweb-archive-grid .bde-woo-product-image { position:relative; width:100%; aspect-ratio:1; margin:10px 0 8px; }
.breakdance .toanweb-archive-grid .bde-woo-product-image img { width:100%; height:100%; object-fit:contain; margin:0; border-radius:8px; }
.breakdance .toanweb-archive-grid ul.products li.product .woocommerce-loop-product__title { margin:0; padding:0; min-height:44px; color:var(--ph-ink); font-size:14px; font-weight:700; line-height:1.55; }
.breakdance .toanweb-archive-grid li.product .price { display:flex; flex-wrap:wrap; align-items:baseline; gap:4px 8px; margin:0; color:var(--ph-brand); font-size:17px; font-weight:800; line-height:1.5; }
.breakdance .toanweb-archive-grid ul.products li.product .price :is(.amount,bdi) { color:inherit; font-weight:inherit; font-size:inherit; line-height:inherit; display:inline; width:auto; }
.breakdance .toanweb-archive-grid .price del { order:1; color:var(--ph-muted); font-weight:400; font-size:12px; }
.breakdance .toanweb-archive-grid .price ins { order:0; text-decoration:none; }
.breakdance .toanweb-archive-grid .onsale { top:-10px; left:0; right:auto; margin:0; padding:4px 7px; min-width:0; min-height:0; border-radius:5px; background:var(--ph-brand); color:white; font-size:10px; line-height:1.5; }
.toanweb-card-specs { padding:9px 0; font-size:11px; line-height:1.65; color:var(--ph-muted); }
.toanweb-card-service { display:flex; flex-wrap:wrap; align-items:center; gap:7px; margin-top:auto; font-size:10px; color:var(--ph-muted); line-height:1.5; }
.toanweb-card-stock { background:#eaf7ef; color:#157344; padding:3px 6px; border-radius:4px; font-weight:600; }
.toanweb-card-stock.is-preorder { background:#fff4e7; color:#a15e11; }
.breakdance .toanweb-archive-grid .bde-woo-product-footer { margin-top:14px; }
.breakdance .toanweb-archive-grid ul.products li.product :is(a.button,a.added_to_cart) { display:flex; align-items:center; justify-content:center; width:100%; min-height:42px; margin:0; padding:10px 8px; border:1px solid var(--ph-brand); border-radius:7px; background:var(--ph-surface); color:var(--ph-brand); font-size:12px; font-weight:700; line-height:1.5; text-indent:0; text-decoration:none; text-transform:none; }
.breakdance .toanweb-archive-grid ul.products li.product :is(a.button,a.added_to_cart):hover { background:var(--ph-brand); color:white; }
.breakdance .toanweb-archive-grid a.button::before { content:none; }
.breakdance .toanweb-archive-grid a.button.loading { opacity:.6; text-indent:0; pointer-events:none; }
.breakdance .toanweb-archive-grid .bde-woo-product-footer:has(a.added_to_cart) a.button.added { display:none; }
.breakdance .toanweb-archive-grid .woocommerce-pagination { margin-top:14px; }
.breakdance .toanweb-archive-grid .page-numbers { display:flex; justify-content:center; gap:8px; margin:0; border:0; }
.breakdance .toanweb-archive-grid .page-numbers li { border:0; }
.breakdance .toanweb-archive-grid .page-numbers li :is(a,span) { display:flex; justify-content:center; align-items:center; min-width:42px; height:42px; border:1px solid var(--ph-line); border-radius:8px; color:var(--ph-ink); background:var(--ph-surface); font-size:14px; }
.breakdance .toanweb-archive-grid .page-numbers li .current { background:var(--ph-brand); color:white; border-color:var(--ph-brand); }
.breakdance .toanweb-archive-grid .woocommerce-info { padding:32px 40px; border:0; border-radius:10px; background:var(--ph-canvas); color:var(--ph-muted); font-size:14px; }

/* Live taxonomy-driven home department flyouts, with native details on touch. */
.breakdance .toanweb-categories { position:relative; z-index:25; padding:6px 12px; overflow:visible; anchor-name:--ph-departments; }
.toanweb-department-slot,.toanweb-department-menu { width:100%; }
.toanweb-department-menu { display:flex; flex-direction:column; }
.toanweb-department summary { display:flex; align-items:center; gap:18px; min-height:58px; padding:14px 8px; color:var(--ph-ink); font-size:15px; cursor:pointer; list-style:none; border-bottom:1px solid var(--ph-line); }
.toanweb-department:last-child summary { border-bottom:0; }
.toanweb-department summary::-webkit-details-marker { display:none; }
.toanweb-department summary span { flex:1; }
.toanweb-department summary .toanweb-ui-icon:last-child { width:16px; height:16px; transform:rotate(-90deg); color:var(--ph-muted); }
.toanweb-department[open] summary { color:var(--ph-brand); background:#fff1f3; border-radius:8px; }
.toanweb-mega-panel { position:absolute; top:0; left:100%; width:min(var(--ph-mega-width,1020px),calc(100vw - 360px)); min-height:365px; padding:24px; border:1px solid var(--ph-line); border-radius:var(--ph-radius); box-shadow:0 12px 30px #10151f22; background:var(--ph-surface); color:var(--ph-ink); z-index:26; }
.toanweb-mega-panel::before { content:''; position:absolute; top:0; bottom:0; right:100%; width:var(--ph-mega-bridge,16px); }
.toanweb-mega-all { display:block; padding-bottom:18px; font-size:14px; font-weight:700; color:var(--ph-brand); }
.toanweb-mega-columns { display:grid; grid-template-columns:1fr 1fr 1.35fr; gap:24px; }
.toanweb-mega-col { min-width:0; }
.toanweb-mega-col h3 { font-size:14px; line-height:1.5; color:var(--ph-ink); margin:0 0 16px; font-weight:800; }
.toanweb-mega-col p { font-size:13px; line-height:1.7; color:var(--ph-muted); margin:0 0 12px; }
.toanweb-mega-col a { color:var(--ph-ink); text-decoration:none; font-size:13px; line-height:1.6; }
.toanweb-mega-col a:hover { color:var(--ph-brand); border-color:#f3b8bf; }
.toanweb-mega-pills { display:flex; flex-wrap:wrap; gap:10px; }
.toanweb-mega-pills a,.toanweb-mega-series { display:block; padding:11px 12px; border:1px solid var(--ph-line); border-radius:8px; }
.toanweb-mega-link:has(img),.toanweb-mega-series:has(img) { display:flex; align-items:center; gap:8px; }
.toanweb-mega-col :is(.toanweb-mega-link,.toanweb-mega-series) img { width:32px; height:28px; object-fit:contain; flex:none; }
.toanweb-mega-series { margin-bottom:8px; }
.toanweb-mega-product { display:flex; align-items:center; gap:10px; padding:10px; border:1px solid var(--ph-line); border-radius:8px; margin-bottom:10px; }
.toanweb-mega-product img { width:48px; height:58px; object-fit:contain; flex:none; }
.toanweb-mega-product strong { display:block; font-size:12px; font-weight:700; }
.toanweb-mega-price { display:block; color:var(--ph-brand); font-size:12px; font-weight:700; }
.toanweb-mega-price del { display:none; }
.toanweb-department summary:focus-visible,.toanweb-mega-panel a:focus-visible,.toanweb-filter-trigger:focus-visible { outline:2px solid var(--ph-brand); outline-offset:3px; }
@supports(anchor-name:--ph-departments) {
 .toanweb-mega-panel { position:fixed; position-anchor:--ph-departments; top:anchor(top); left:anchor(right); position-try-fallbacks:flip-inline; }
}
@media(min-width:783px) {
 .toanweb-filter-slot :is(.wc-block-product-filters__content,.wc-block-product-filters__overlay-content) { display:flex; flex-direction:row; flex-wrap:wrap; align-items:flex-start; gap:8px; }
 .toanweb-filter-slot .toanweb-filter-group { position:relative; min-width:0; width:auto; flex:0 0 auto; }
 .toanweb-filter-slot .toanweb-filter-group h3 { margin:0; font-size:13px; }
 .toanweb-filter-slot .toanweb-filter-group > :is(.wc-block-product-filter-checkbox-list,.wc-block-product-filter-price-slider) { display:none; position:absolute; top:calc(100% + 6px); left:0; width:300px; max-width:calc(100vw - 40px); max-height:360px; overflow-y:auto; padding:20px; border:1px solid var(--ph-line); border-radius:10px; background:var(--ph-surface); box-shadow:0 8px 24px #10151f1f; z-index:20; }
 .toanweb-filter-slot .toanweb-filter-group.is-open { z-index:21; }
 .toanweb-filter-slot .toanweb-filter-group.is-open > :is(.wc-block-product-filter-checkbox-list,.wc-block-product-filter-price-slider) { display:block; }
 .toanweb-filter-slot .wc-block-product-filter-active { flex-basis:100%; order:2; margin-top:8px; }
 .toanweb-filter-slot .wc-block-product-filter-active.wc-block-product-filter--hidden { display:none; }
 .toanweb-filter-slot .wc-block-product-filter-price-slider__content { min-width:0; }
}
@media(max-width:1119px) {
 .breakdance .toanweb-archive-grid ul.products { grid-template-columns:repeat(4,minmax(0,1fr)); }
 .toanweb-mega-panel { width:min(var(--ph-mega-width,1020px),calc(100vw - 330px)); padding:20px; }
 .toanweb-mega-columns { gap:16px; }
}
@media(max-width:1023px) {
 .breakdance .toanweb-archive-grid ul.products { grid-template-columns:repeat(3,minmax(0,1fr)); }
 .breakdance .toanweb-categories { width:100%; height:auto; }
 .toanweb-department-menu { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
 .toanweb-department summary { gap:8px; font-size:13px; padding:12px 8px; border:1px solid var(--ph-line); border-radius:8px; }
 .toanweb-department[open] { grid-column:1 / -1; }
 .toanweb-mega-panel { position:static; width:100%; min-height:0; margin-top:8px; box-shadow:none; }
 .toanweb-mega-panel::before { display:none; }
}
@media(max-width:782px) {
 .toanweb-filter-bar { z-index:12; padding:18px; }
 .toanweb-filter-bar h2 { margin-bottom:12px; font-size:16px; }
 .toanweb-filter-slot .wc-block-product-filters__overlay { inset:var(--wp-admin--admin-bar--height,0px) 0 0; z-index:9999; }
 .toanweb-filter-slot .toanweb-filter-trigger { padding:0; border:0; background:transparent; min-height:0; font-weight:700; cursor:default; }
 .toanweb-filter-slot .toanweb-filter-trigger::after { display:none; }
 .toanweb-filter-slot .toanweb-filter-group h3 { margin-bottom:12px; }
 .toanweb-filter-slot .wc-block-product-filters__content { gap:24px; }
 html:has(.toanweb-filter-slot .wc-block-product-filters.is-overlay-opened) .toanweb-floating { visibility:hidden; }
 .toanweb-filter-bar:has(.wc-block-product-filters.is-overlay-opened) { z-index:100; }
 .toanweb-archive-products { padding:14px; }
 .toanweb-archive-title { font-size:24px; margin-bottom:18px; }
 .breakdance .toanweb-archive-grid ul.products { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
 .breakdance .toanweb-archive-grid ul.products li.product { padding:12px 10px; }
 .breakdance .toanweb-archive-grid li.product .price { font-size:15px; }
 .breakdance .toanweb-archive-grid .woocommerce-result-count { flex-basis:100%; }
 .breakdance .toanweb-archive-grid .woocommerce-ordering,.breakdance .toanweb-archive-grid .woocommerce-ordering select { width:100%; }
 .toanweb-catalog-search { max-width:none; }
 .toanweb-catalog-tools .toanweb-catalog-search { flex-basis:100%; }
 .toanweb-catalog-search input { font-size:12px; }
 .toanweb-catalog-search button { font-size:12px; padding-inline:9px; }
 .toanweb-mega-columns { grid-template-columns:1fr 1fr; }
 .toanweb-mega-col:last-child { grid-column:1 / -1; }
 .toanweb-mega-panel { padding:18px; }
 .toanweb-department-menu { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(prefers-reduced-motion:reduce) { .breakdance .toanweb-archive-grid ul.products li.product { transition:none; } }

.toanweb-brand-slot { width:100%; }
.toanweb-catalog-brands { display:flex; flex-wrap:wrap; gap:10px; margin:0 0 20px; }
.toanweb-catalog-brands a.toanweb-brand-tile { display:flex; align-items:center; justify-content:center; width:128px; height:52px; padding:10px 16px; border:1px solid var(--ph-line); border-radius:8px; background:var(--ph-surface); color:var(--ph-ink); text-decoration:none; font-size:14px; font-weight:700; }
.toanweb-brand-tile img { display:block; width:100%; max-width:100px; height:28px; object-fit:contain; }
.toanweb-catalog-brands a.toanweb-brand-tile:is(:hover,.is-current) { border-color:var(--ph-brand); background:#fff5f6; }
.toanweb-brand-tile:focus-visible { outline:2px solid var(--ph-brand); outline-offset:3px; }
@media(max-width:782px) { .toanweb-catalog-brands { flex-wrap:nowrap; overflow-x:auto; padding:2px 2px 8px; margin-bottom:12px; } .toanweb-catalog-brands a.toanweb-brand-tile { flex:0 0 112px; height:48px; } }
