/* Catalog only: native price/review data and filter/pagination behavior remain owned by FluentCart. */
.thisline-shop-page { --catalog-lime:#ccff00; --catalog-line:#2a2a2a; --theme-normal-container-max-width:1320px; }
.thisline-shop-page #main .fct-products-wrapper { width:var(--theme-container-width,90%); max-width:1320px; margin:0 auto 64px; padding-inline:0!important; }
.thisline-shop-page .page-title,.thisline-shop-page .fct-archive-title { color:#fff; font:900 clamp(42px,5vw,72px)/1.02 'Roboto Condensed','Arial Narrow',sans-serif!important; text-transform:uppercase; letter-spacing:-.03em; }
.thisline-shop-page .fct-products-wrapper,.thisline-shop-page .fct-products-wrapper * { box-sizing:border-box; }
.thisline-shop-page .fct-products-wrapper-inner { display:grid!important; grid-template-columns:230px minmax(0,1fr)!important; gap:32px!important; align-items:start; }
.thisline-shop-page .fct-products-container { display:grid!important; grid-template-columns:repeat(3,minmax(0,1fr))!important; gap:24px!important; grid-column:auto!important; width:100%!important; min-width:0; }
.thisline-shop-page .fct-shop-filter-wrapper { grid-column:auto!important; width:100%!important; min-width:0; position:static; padding:0!important; }
.thisline-shop-page .fct-shop-view-switcher { display:none!important; }
.thisline-shop-page .fct-product-action-container { justify-content:flex-end; min-height:0; margin-bottom:20px; }
.thisline-shop-page .fct-product-card { position:relative; display:flex!important; flex-direction:column!important; gap:0!important; min-width:0; width:auto!important; padding:0!important; overflow:visible!important; border:1px solid var(--catalog-line)!important; border-radius:0!important; background:#111!important; box-shadow:none!important; transition:border-color .15s; }
.thisline-shop-page .fct-product-card:hover,.thisline-shop-page .fct-product-card:focus-within { border-color:var(--catalog-lime)!important; }
.thisline-shop-page .fct-product-card-image-wrap { order:0; display:block!important; position:relative; width:100%!important; aspect-ratio:1; margin:0!important; padding:16px!important; overflow:hidden; background:#111!important; border:0!important; border-radius:0!important; }
.thisline-shop-page .fct-product-card-image-wrap img { display:block; width:100%!important; height:100%!important; max-height:none!important; object-fit:contain!important; border-radius:0!important; }
.thisline-shop-page .fct-product-card-title { order:1; margin:0!important; padding:22px 22px 12px!important; color:#fff!important; font:900 24px/1.15 'Roboto Condensed','Arial Narrow',sans-serif!important; letter-spacing:-.015em; text-transform:uppercase; }
.thisline-shop-page .fct-product-card-title a { color:inherit!important; text-decoration:none!important; font:inherit!important; letter-spacing:inherit; }
/* The real title anchor covers the card; there is no synthetic click or purchase handler. */
.thisline-shop-page .fct-product-card-title a::after { content:""; position:absolute; inset:0; z-index:2; }
.thisline-shop-page .fct-product-card-title a:focus-visible { outline:0; }
.thisline-shop-page .fct-product-card-title a:focus-visible::after { outline:2px solid var(--catalog-lime); outline-offset:4px; }
.thisline-shop-page .fct-product-card-prices { order:2; display:flex; flex-wrap:wrap; align-items:baseline; gap:4px 8px; min-height:42px; margin: auto 0 0!important; padding:0 22px 8px!important; font:700 23px/1.3 'Roboto Condensed','Arial Narrow',sans-serif!important; color:#fff!important; }
.thisline-shop-page .fct-product-card-prices .fct_price_suffix { color:#aaa!important; font:400 11px/1.5 Inter,system-ui,sans-serif!important; }
.thisline-shop-page .fct-product-card-rating { order:3; display:flex; align-items:center; gap:8px; min-height:40px; line-height:18px; margin:0!important; padding:0 22px 22px!important; color:var(--catalog-lime); --fct-review-star-color:#ccff00; --fct-review-star-empty-color:#555; }
.thisline-shop-page .fct-product-card-stars { display:inline-flex; align-items:center; gap:2px; }
.thisline-shop-page .fct-product-card-rating svg { width:15px; height:15px; }
.thisline-shop-page .fct-product-card-review-count { color:#aaa; font:400 12px/1.5 Inter,system-ui,sans-serif; }
/* Defensive for native fragments from older cached templates. Full renders also suppress these at RenderGate. */
.thisline-shop-page .fct-product-card-excerpt,.thisline-shop-page .fct-product-card .fct-single-product-card-view-button,.thisline-shop-page .fct-product-card .fluent-cart-add-to-cart-button,.thisline-shop-page .fct-product-card .fluent-cart-direct-checkout-button,.thisline-shop-page .fct-product-card [data-fluent-cart-product-details-button] { display:none!important; }
.thisline-shop-page .fct-shop-filter-item { padding:24px 0!important; border-bottom:1px solid var(--catalog-line); }
.thisline-shop-page .fct-shop-filter-item .item-heading { margin:0; color:#fff; font:700 14px/1.3 'Roboto Condensed','Arial Narrow',sans-serif; text-transform:uppercase; letter-spacing:.1em; }
.thisline-shop-page .fct-shop-checkbox-group-inner { max-height:none!important; }
.thisline-shop-page .fct-shop-checkbox { display:flex; align-items:center; gap:10px; min-height:36px; margin:0!important; color:#ccc!important; font:400 14px/1.5 Inter,system-ui,sans-serif; }
.thisline-shop-page .fct-shop-checkbox .checkmark { width:20px!important; height:20px!important; flex:0 0 20px; border-radius:0!important; }
.thisline-shop-page .fct-shop-checkbox input:focus-visible+.checkmark { outline:2px solid var(--catalog-lime); outline-offset:4px; }
.thisline-shop-page .fct-shop-input { min-height:48px; border:1px solid #444!important; border-radius:0!important; background:#111!important; color:#fff!important; font:400 13px/1.5 Inter,system-ui,sans-serif; }
.thisline-shop-page .fct-shop-input:focus { border-color:var(--catalog-lime)!important; outline:1px solid var(--catalog-lime); }
.thisline-shop-page .fct-shop-filter-toggle-button { min-height:46px; padding:12px 20px; margin:0 0 20px; border:1px solid #444; border-radius:0; background:#111; color:#fff; font:700 14px/1.4 'Roboto Condensed','Arial Narrow',sans-serif; text-transform:uppercase; letter-spacing:.1em; }
.thisline-shop-page .fct-shop-filter-toggle-button svg path { stroke:currentColor; }
.thisline-shop-page .fct-shop-paginator { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:20px; margin-top:32px; padding-top:24px; border-top:1px solid var(--catalog-line); }
.thisline-shop-page .fct-shop-paginator-result-wrapper { width:auto!important; }
.thisline-shop-page .fct-shop-paginator-results { color:#aaa; font:400 12px/1.5 Inter,system-ui,sans-serif; }
.thisline-shop-page .fct-shop-per-page-selector { display:none; }
.thisline-shop-page .fct-shop-paginator-pager { display:flex; flex-wrap:wrap; gap:8px; margin:0!important; padding:0!important; list-style:none!important; }
.thisline-shop-page .fct-shop-paginator-pager button { display:grid; place-items:center; min-width:44px; min-height:44px; padding:8px; border:1px solid #444!important; border-radius:0!important; background:transparent!important; color:#fff!important; font:700 16px/1 'Roboto Condensed','Arial Narrow',sans-serif; }
.thisline-shop-page .fct-shop-paginator-pager button.active,.thisline-shop-page .fct-shop-paginator-pager button[aria-current=page] { border-color:var(--catalog-lime)!important; background:var(--catalog-lime)!important; color:#000!important; }
.thisline-shop-page .fct-shop-paginator-pager button:focus-visible { outline:2px solid var(--catalog-lime); outline-offset:4px; }
.thisline-shop-page .thisline-shop-club { max-width:1320px!important; margin:72px auto!important; padding-top:48px; border-top:1px solid var(--catalog-line); }
.thisline-shop-page .thisline-shop-club h2 { margin:0 0 16px; font:900 clamp(34px,4vw,56px)/1.05 'Roboto Condensed','Arial Narrow',sans-serif; text-transform:uppercase; letter-spacing:-.02em; }
.thisline-shop-page .thisline-shop-club>.tl-eyebrow { color:var(--catalog-lime); font:700 12px/1.4 'Roboto Condensed','Arial Narrow',sans-serif; text-transform:uppercase; letter-spacing:.15em; }
.thisline-shop-page .thisline-shop-club .tl-club { padding:0; }
@media(max-width:1100px) and (min-width:768px) {
 .thisline-shop-page .fct-products-wrapper-inner { grid-template-columns:200px minmax(0,1fr)!important; gap:24px!important; }
 .thisline-shop-page .fct-products-container { grid-template-columns:repeat(2,minmax(0,1fr))!important; }
}
@media(max-width:767px) {
 .thisline-shop-page .fct-products-wrapper-inner { display:block!important; }
 .thisline-shop-page .fct-products-container { grid-template-columns:repeat(2,minmax(0,1fr))!important; gap:12px!important; }
 .thisline-shop-page .fct-product-card-image-wrap { padding:8px!important; }
 .thisline-shop-page .fct-product-card-title { padding:16px 12px 10px!important; font-size:19px!important; }
 .thisline-shop-page .fct-product-card-prices { padding:0 12px 8px!important; font-size:20px!important; }
 .thisline-shop-page .fct-product-card-rating { padding:0 12px 16px!important; gap:4px; }
 .thisline-shop-page .fct-product-card-rating svg { width:12px; height:12px; }
 .thisline-shop-page .fct-shop-checkbox { min-height:44px; }
 .thisline-shop-page .fct-shop-paginator { align-items:flex-start; }
 .thisline-shop-page .thisline-shop-club { margin-block:48px!important; padding-top:32px; }
}

.thisline-shop-page .thisline-catalog-unrated>span:first-child { color:#777; font-size:18px; line-height:18px; letter-spacing:1px; }

.thisline-shop-page .fct-product-card-image-wrap>a { display:block; width:100%; height:100%; }
.thisline-shop-page .fct-product-card-title,.thisline-shop-page .fct-product-card-title a { position:static!important; }
.thisline-shop-page .fct-product-card-title a { margin:0!important; padding:0!important; }
.thisline-shop-page .fct-products-container { scroll-margin-top:160px; }
/* Old native excerpts can contain nested paragraphs repaired by the HTML parser into siblings. */
.thisline-shop-page .fct-product-card>p { display:none!important; }

.thisline-shop-page .fct-archive-header-wrap { width:var(--theme-container-width,90%); max-width:1320px; margin:56px auto 40px; }
