.fit-shop-tools { --shop-border: var(--fit-color-border, #d9e2ec); --shop-accent: var(--fit-color-primary, #173c52); }
.fit-shop-jumps,.fit-shop-category-nav,.fit-shop-filter-checks,.fit-shop-filter-actions,.fit-shop-card-actions { display:flex; flex-wrap:wrap; align-items:center; gap:.65rem 1rem; }
.fit-shop-jumps { margin:1.2rem 0 1.8rem; }
.fit-shop-filters { padding:1rem; margin:1rem 0; border:1px solid var(--shop-border); border-radius:8px; background:var(--fit-surface,#fff); }
.fit-shop-filter-primary { display:grid; grid-template-columns:2fr 1fr 1.5fr; gap:1rem; }
.fit-shop-filters label,.fit-shop-dialog label,.fit-shop-coupon label { display:flex; flex-direction:column; gap:.35rem; font-weight:600; }
.fit-shop-filters input:not([type=checkbox]),.fit-shop-filters select,.fit-shop-dialog input,.fit-shop-dialog select,.fit-shop-coupon input { min-height:44px; width:100%; max-width:100%; box-sizing:border-box; padding:.6rem .7rem; border:1px solid var(--shop-border); border-radius:5px; font:inherit; background:#fff; color:inherit; }
.fit-shop-filter-details { margin:1rem 0; }
.fit-shop-filter-details summary,.fit-shop-section summary { cursor:pointer; padding:.6rem 0; font-weight:600; }
.fit-shop-filter-secondary { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; padding:.75rem 0; }
.fit-shop-filter-secondary fieldset { min-width:0; grid-column:1/-1; border:1px solid var(--shop-border); padding:.75rem; }
.fit-shop-brand-choices { display:flex; flex-wrap:wrap; gap:.6rem 1rem; max-height:12rem; overflow:auto; }
.fit-shop-brand-choices label,.fit-shop-filter-checks label,.fit-shop-card-actions label { flex-direction:row; align-items:center; font-weight:400; }
.fit-shop-filter-checks { margin:.8rem 0 1rem; }
.fit-shop-filter-checks input,.fit-shop-brand-choices input { width:18px; height:18px; }
.fit-shop-filters :focus-visible,.fit-shop-tools button:focus-visible,.fit-shop-tools a:focus-visible { outline:3px solid var(--shop-accent); outline-offset:3px; }
.fit-shop-category-nav { margin:1rem 0; }
.fit-shop-category-nav a { padding:.45rem .65rem; border:1px solid var(--shop-border); border-radius:5px; text-decoration:none; }
.fit-shop-category-nav a[aria-current] { background:var(--shop-accent); color:#fff; }
.fit-shop-summary { border-block:1px solid var(--shop-border); padding:.75rem 0; }
.fit-shop-summary dl { display:flex; flex-wrap:wrap; gap:1rem 2.5rem; margin:.5rem 0; }
.fit-shop-summary dd { margin:0; font-size:1.55rem; font-weight:700; }
.fit-shop-summary dt { font-size:.85rem; }
.fit-shop-note,.fit-shop-pack,.fit-shop-card-decision small { font-size:.8rem; color:var(--fit-text-muted,#526174); line-height:1.5; }
.fit-shop-note { margin:.75rem 0 0; }
.fit-shop-card-decision { border-top:1px solid var(--shop-border); margin-top:auto; padding:.8rem 1rem; overflow-wrap:anywhere; }
.fit-shop-card-decision p { margin:0 0 .55rem; }
.fit-shop-total strong { display:block; }
.fit-shop-best { color:#166534; font-weight:700; }
.fit-shop-card-actions { align-items:flex-start; gap:.6rem; margin:.75rem 0; font-size:.8rem; }
.fit-shop-card-actions button,.fit-shop-code { border:0; padding:0; color:var(--shop-accent); font:inherit; background:transparent; cursor:pointer; text-decoration:underline; text-underline-offset:3px; }
.fit-shop-card-actions label { display:flex; gap:.3rem; }
.fit-shop-card-decision > a.fit-btn,.fit-shop-filters button.fit-btn,.fit-shop-dialog button.fit-btn,[data-fit-shop-coupon] button.fit-btn { background:var(--fit-color-price,#15803d); color:#fff; border:0; border-radius:6px; padding:.65rem .85rem; min-height:44px; text-decoration:none; font:inherit; font-weight:600; display:inline-flex; justify-content:center; align-items:center; }
.fit-shop-card-decision > a.fit-btn { display:flex; }
.fit-shop-card-actions a { padding:0; display:inline-flex; flex-direction:row; font-weight:400; text-decoration:underline; }
.fit-shop-unavailable-heading { grid-column:1/-1; margin:1rem 0 0; }
.fit-shop-pagination { padding:1.25rem 0; }
.fit-shop-pagination nav { display:flex; flex-wrap:wrap; gap:1rem; align-items:center; }
.fit-shop-compare-link { display:inline-block; margin-bottom:1rem; }
.fit-shop-section { margin:2rem 0; padding-top:1rem; border-top:1px solid var(--shop-border); }
.fit-shop-profile dl { display:grid; grid-template-columns:minmax(100px,1fr) 3fr; gap:.6rem 1rem; }
.fit-shop-profile dd { margin:0; overflow-wrap:anywhere; }
.fit-shop-profile dd small { display:block; }
.fit-shop-delivery dt { font-weight:600; margin-top:.8rem; }
.fit-shop-delivery dd { margin:.3rem 0 1rem; }
.fit-shop-delivery small { display:block; margin-top:.4rem; color:var(--fit-color-text-muted); }
.fit-shop-section details { border-bottom:1px solid var(--shop-border); padding:.25rem 0; }
.fit-shop-coupon { margin:1rem 0; padding:.75rem; border:1px solid var(--shop-border); border-radius:5px; }
[data-fit-shop-coupon] { display:grid; gap:.75rem; max-width:600px; padding:1rem 0; }
.fit-shop-honeypot { position:absolute!important; left:-10000px; width:1px; height:1px; overflow:hidden; }
.fit-shop-dialog { max-width:560px; width:calc(100% - 2rem); box-sizing:border-box; border:1px solid var(--shop-border); border-radius:8px; padding:1.2rem; max-height:90vh; overflow:auto; }
.fit-shop-dialog::backdrop { background:rgba(0,0,0,.5); }
.fit-shop-dialog form { display:grid; gap:.9rem; }
.fit-shop-dialog [hidden] { display:none; }
.fit-shop-dialog h2 { margin:0; }
.fit-shop-live-status { min-height:1.5em; }

/* Shop directory: a compact search bar and readable merchant comparisons.
 * Scoped separately so product filters and shop-detail cards keep their layout. */
.fit-shop-overview { --shop-forest:var(--fit-forest,#173e32); --shop-sage:var(--fit-sage,#edf2e9); padding:32px 0 48px; }
.fit-shop-overview .fit-shop-index__hero { padding:0; margin:0 0 28px; background:none; border:0; border-radius:0; }
.fit-shop-overview .fit-shop-index__hero h1 { margin:0 0 10px; font-size:clamp(1.75rem,3.2vw,2.6rem); line-height:1.15; }
.fit-shop-overview .fit-shop-index__hero p { margin:0; color:var(--fit-color-text-muted,#4b5563); line-height:1.6; }
.fit-shop-overview .fit-shop-overview__filters { margin:0 0 26px; padding:22px 24px 16px; border-radius:14px; background:#fff; }
.fit-shop-overview .fit-shop-filter-primary { grid-template-columns:minmax(0,1.5fr) minmax(0,1fr) minmax(0,1.2fr) auto; gap:16px; align-items:end; }
.fit-shop-overview .fit-shop-filter-primary > label { min-width:0; gap:8px; font-size:.8125rem; line-height:1.4; }
.fit-shop-overview .fit-shop-filter-primary input,
.fit-shop-overview .fit-shop-filter-primary select { height:48px; padding:11px 14px; border-radius:8px; border-color:#a8b6ac; font-size:1rem; font-weight:400; }
.fit-shop-overview .fit-shop-filter-primary select { padding-right:30px; }
.fit-shop-search-field { display:block; position:relative; }
.fit-shop-search-field svg { position:absolute; left:14px; top:14px; color:var(--fit-color-text-muted,#4b5563); pointer-events:none; }
.fit-shop-overview .fit-shop-search-field input { padding-left:43px; }
.fit-shop-overview .fit-shop-filter-primary .fit-btn { min-height:48px; padding:11px 20px; border-radius:8px; background:var(--shop-forest); font-size:.9375rem; line-height:1.4; white-space:nowrap; cursor:pointer; }
.fit-shop-overview .fit-shop-filter-primary .fit-btn:hover { background:var(--fit-forest-hover,#235b48); }
.fit-shop-overview__filter-footer { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:12px; margin-top:10px; }
.fit-shop-overview .fit-shop-overview__shipping-check { display:inline-flex; flex-direction:row; align-items:center; gap:10px; min-height:44px; font-size:.875rem; font-weight:400; line-height:1.5; cursor:pointer; }
.fit-shop-overview__shipping-check input { flex:0 0 18px; width:18px; height:18px; margin:0; accent-color:var(--shop-forest); cursor:pointer; }
.fit-shop-overview__reset { display:inline-flex; align-items:center; min-height:44px; font-size:.875rem; text-underline-offset:3px; }
.fit-shop-overview__results { display:flex; flex-wrap:wrap; align-items:baseline; justify-content:space-between; gap:8px 16px; margin-bottom:16px; font-size:.9375rem; }
.fit-shop-overview__results p { margin:0; }
.fit-shop-overview__results > span { font-size:.8125rem; color:var(--fit-color-text-muted,#4b5563); }
.fit-shop-overview .fit-shop-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; margin-top:0; }
.fit-shop-overview .fit-shop-card { display:flex; flex-direction:column; min-width:0; padding:24px; border-radius:12px; background:#fff; transition:border-color .15s; }
.fit-shop-overview .fit-shop-card:hover { border-color:#a0b39f; box-shadow:none; }
.fit-shop-overview .fit-shop-card__header { margin-bottom:22px; min-height:56px; }
.fit-shop-overview .fit-shop-card__ident { align-items:center; gap:14px; }
.fit-shop-overview .fit-shop-card__ident > div:last-child { min-width:0; }
.fit-shop-overview .fit-shop-card__logo { width:56px; height:56px; flex-basis:56px; border-radius:10px; padding:5px; box-sizing:border-box; }
.fit-shop-overview .fit-shop-card__logo--monogram { border:0; background:var(--shop-sage); color:var(--shop-forest); font-size:1.125rem; }
.fit-shop-overview .fit-shop-card__name { margin:0 0 5px; font-size:1.0625rem; font-weight:700; line-height:1.35; letter-spacing:-.02em; overflow-wrap:anywhere; }
.fit-shop-overview .fit-shop-card__country { display:block; font-size:.75rem; line-height:1.5; }
.fit-shop-card__affiliate { display:inline-block; margin-left:6px; padding:1px 5px; border-radius:4px; background:var(--shop-sage); font-size:.6875rem; }
.fit-shop-overview .fit-shop-card__meta { justify-content:space-between; gap:8px 12px; margin-bottom:18px; }
.fit-shop-overview .fit-shop-card__products { display:flex; align-items:baseline; gap:6px; color:var(--fit-color-text-muted,#4b5563); font-size:.8125rem; white-space:nowrap; }
.fit-shop-card__products strong { font-size:1.625rem; line-height:1; font-weight:700; letter-spacing:-.04em; color:var(--shop-forest); font-variant-numeric:tabular-nums; }
.fit-shop-overview .fit-shop-card__scraped,
.fit-shop-overview .fit-shop-card__inactive { padding:4px 8px; font-size:.6875rem; line-height:1.5; border-radius:5px; }
.fit-shop-overview .fit-shop-card__scraped { background:var(--shop-sage); color:var(--shop-forest); }
.fit-shop-overview .fit-shop-card__shipping { display:grid; grid-template-columns:1fr auto; align-items:baseline; gap:6px 12px; padding:15px 0; margin:0; border-block:1px solid var(--shop-border); line-height:1.5; }
.fit-shop-card__shipping-label { color:var(--fit-color-text-muted,#4b5563); font-size:.8125rem; }
.fit-shop-card__shipping-value { font-size:.9375rem; font-weight:600; text-align:right; font-variant-numeric:tabular-nums; }
.fit-shop-card__shipping-value--note { grid-column:1/-1; font-size:.8125rem; font-weight:400; text-align:left; }
.fit-shop-card__shipping-free { grid-column:1/-1; font-size:.8125rem; }
.fit-shop-overview .fit-shop-rating { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:8px 12px; padding:15px 0 0; font-size:.75rem; }
.fit-shop-rating > a { display:flex; align-items:center; gap:8px; text-decoration:none; }
.fit-shop-rating > a:hover { text-decoration:underline; text-underline-offset:3px; }
.fit-shop-rating__score { font-size:1rem; font-weight:700; font-variant-numeric:tabular-nums; }
.fit-shop-rating__score > span { font-size:.75rem; font-weight:400; }
.fit-shop-rating__context { display:flex; flex-direction:column; gap:2px; color:var(--fit-color-text-muted,#4b5563); font-size:.6875rem; }
.fit-shop-card__footer { display:flex; gap:8px; margin-top:auto; padding-top:20px; }
.fit-shop-card__browse { display:flex; flex:1; align-items:center; justify-content:space-between; gap:8px; min-height:44px; padding:0 14px; border-radius:7px; background:var(--shop-sage); color:var(--shop-forest); font-size:.8125rem; font-weight:600; text-decoration:none; }
.fit-shop-card__browse:hover { background:#e1eadb; color:var(--shop-forest); }
.fit-shop-card__browse svg { flex-shrink:0; }
.fit-shop-overview .fit-shop-card__link { display:flex; flex:0 0 44px; align-items:center; justify-content:center; width:44px; height:44px; padding:0; border:1px solid var(--shop-border); border-radius:7px; box-sizing:border-box; color:var(--shop-forest); }
.fit-shop-overview .fit-shop-card__link:hover { background:var(--shop-sage); }
.fit-shop-overview__empty { padding:32px 24px; text-align:center; border:1px dashed var(--shop-border); border-radius:12px; }
.fit-shop-overview__empty h2 { margin:0 0 12px; font-size:1.25rem; }
.fit-shop-overview__empty p { color:var(--fit-color-text-muted,#4b5563); }
@media(max-width:1000px) {
    .fit-shop-overview .fit-shop-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .fit-shop-overview .fit-shop-filter-primary { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .fit-shop-overview .fit-shop-overview__search { grid-column:1/-1; }
    .fit-shop-overview .fit-shop-filter-primary .fit-btn { grid-column:1/-1; }
}
@media(max-width:600px) {
    .fit-shop-overview { padding-top:24px; }
    .fit-shop-overview .fit-shop-index__hero { margin-bottom:22px; }
    .fit-shop-overview .fit-shop-overview__filters { padding:18px 16px 12px; border-radius:12px; }
    .fit-shop-overview .fit-shop-filter-primary { grid-template-columns:minmax(0,1fr); gap:14px; }
    .fit-shop-overview .fit-shop-filter-primary > label { gap:6px; }
    .fit-shop-overview .fit-shop-grid { grid-template-columns:minmax(0,1fr); gap:14px; }
    .fit-shop-overview .fit-shop-card { padding:20px; }
    .fit-shop-overview .fit-shop-card__header { margin-bottom:20px; }
    .fit-shop-overview__results { margin-bottom:14px; }
    .fit-shop-overview__results > span { width:100%; }
}
@media(prefers-reduced-motion:reduce) { .fit-shop-overview .fit-shop-card { transition:none; } }
@media(max-width:700px) { .fit-shop-filter-primary,.fit-shop-filter-secondary { grid-template-columns:1fr; } .fit-shop-profile dl { grid-template-columns:1fr; } .fit-shop-profile dd { margin-bottom:.6rem; } .fit-shop-card-actions { font-size:.85rem; } .fit-shop-tools .fit-product-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .fit-shop-card-decision { padding:.6rem; } .fit-shop-category-nav { flex-wrap:nowrap; overflow-x:auto; padding-bottom:.5rem; } .fit-shop-category-nav a { flex-shrink:0; } }
@media(max-width:600px) { .fit-shop-tools .fit-product-grid { grid-template-columns:1fr; } .fit-shop-card-actions button,.fit-shop-card-actions a,.fit-shop-card-actions label { min-height:36px; display:inline-flex; align-items:center; } }
