/* Shop + category archives: cards match the site's product cards; landing sections run full width. */
.sy-cat-landing, .site-main > .sy-subnav { width: 100vw; margin-left: calc(50% - 50vw); }
.site-main > .sy-subnav { box-sizing: border-box; }
.sy-cat-landing--after { margin-top: clamp(40px, 6vw, 80px); }
.sy-has-landing .hero-section, .sy-has-landing .page-title, .sy-has-landing .woocommerce-products-header { display: none !important; }
.sy-cat-models { background: transparent !important; padding-bottom: 0 !important; }
.sy-cat-models__placeholder { padding: 28px; border: 1px dashed var(--sy-line, #d9e0e6); color: var(--sy-muted, #59677a); font-size: 14px; }

/* Toolbar */
.woo-listing-top { padding-bottom: 18px; border-bottom: 1px solid var(--sy-line, #d9e0e6); margin-bottom: 28px !important; }
.woo-listing-top .woocommerce-ordering select { border-radius: var(--sy-radius, 2px) !important; }

/* Cards */
[data-products] { gap: 22px !important; }
[data-products] > li.product { display: flex; flex-direction: column; align-items: stretch !important; text-align: left !important; background: #fff; border: 1px solid var(--sy-line, #d9e0e6); border-radius: var(--sy-radius, 2px) !important; overflow: hidden; padding: 0 !important; transition: box-shadow .4s ease, border-color .4s ease; }
/* Hover (user 2026-10-21): the card stays put and gets a soft shadow; the photo crossfades to the second one. No lift, no zoom. */
[data-products] > li.product:hover { border-color: #e6ebef; box-shadow: 0 14px 32px -18px rgba(38, 54, 83, .28); }
[data-products] > li.product figure, [data-products] > li.product .ct-media-container { width: 100% !important; max-width: 100% !important; margin: 0 !important; border-radius: 0 !important; background: #eceef0; }
[data-products] > li.product figure img, [data-products] > li.product .ct-media-container img { border-radius: 0 !important; transform: none !important; transition: none; }
[data-products] > li.product .ct-media-container img.ct-swap { z-index: 1; opacity: 0 !important; transition: opacity .55s ease !important; }
[data-products] > li.product:hover .ct-media-container img.ct-swap, [data-products] > li.product .ct-media-container:focus-visible img.ct-swap { opacity: 1 !important; }
@media (prefers-reduced-motion: reduce) { [data-products] > li.product .ct-media-container img.ct-swap { transition: none !important; } }
[data-products] > li.product > *:not(figure):not(.ct-media-container) { padding-inline: 18px; }
[data-products] .woocommerce-loop-product__title { margin: 16px 0 4px !important; font-size: 16px !important; font-weight: 500 !important; line-height: 1.35; text-align: left !important; }
[data-products] .woocommerce-loop-product__title a { color: var(--sy-ink, #263653); }
[data-products] .price { margin: 0 0 12px !important; font-size: 15px; justify-content: flex-start !important; }
[data-products] .ct-compare-button-archive { display: none !important; }
[data-products] .entry-meta, [data-products] [data-type="sku"], [data-products] .sku { justify-content: flex-start !important; text-align: left !important; font-size: 12px; color: var(--sy-muted, #59677a); margin: 0 0 12px !important; }
[data-products] .ct-woo-card-actions, [data-products] .sy-add-quote--loop { margin-top: auto !important; }
[data-products] > li.product .sy-add-quote--loop { width: calc(100% - 36px); margin: auto 18px 18px !important; min-height: 40px; padding: 0 14px !important; justify-content: center; }
/* Price row (Blocksy card type-2 "add to cart and price" layer): price or unlock link, plus Add to cart for ready-to-ship */
[data-products] > li.product .ct-woo-card-actions { width: auto !important; max-width: none !important; display: flex !important; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 12px; min-height: 0 !important; margin: 4px 18px 14px !important; padding: 12px 0 0 !important; border: 0 !important; border-top: 1px solid var(--sy-line, #d9e0e6) !important; }
[data-products] > li.product .ct-woo-card-actions > span[id^="woocommerce_loop_add_to_cart_link_describedby"] { display: none; }
[data-products] > li.product .ct-woo-card-actions .price { position: static !important; min-height: 0 !important; height: auto !important; line-height: 1.4; margin: 0 !important; opacity: 1 !important; transform: none !important; font-size: 16px !important; font-weight: 500; color: var(--sy-ink, #263653); }
[data-products] > li.product .ct-woo-card-actions .button { position: static !important; opacity: 1 !important; visibility: visible !important; transform: none !important; width: auto !important; min-height: 36px; padding: 0 14px !important; border-radius: var(--sy-radius, 2px) !important; font-size: 13px !important; }
[data-products] > li.product .ct-woo-card-actions .sy-unlock { min-height: 0 !important; height: auto; padding: 4px 0; background: none; border: 0; color: var(--sy-navy, #283951); font-size: 13px; font-weight: 500; text-decoration: underline; text-decoration-color: var(--sy-line, #d9e0e6); text-underline-offset: 4px; transition: text-decoration-color .2s; }
[data-products] > li.product .ct-woo-card-actions .sy-unlock:hover { text-decoration-color: currentColor; }
[data-products] > li.product.sy-ready-product .sy-add-quote--loop { background: #fff; color: var(--sy-ink, #263653); box-shadow: inset 0 0 0 1px var(--sy-line, #d9e0e6); }
[data-products] .sy-ready { margin: 14px 18px 0; align-self: flex-start; }

/* Pagination */
.ct-pagination a, .ct-pagination span { border-radius: var(--sy-radius, 2px) !important; }

/* Landing sub-navigation */
.sy-subnav { position: sticky; top: var(--sy-subnav-top, 96px); z-index: 20; background: rgba(255, 255, 255, .94); backdrop-filter: saturate(1.2) blur(8px); border-bottom: 1px solid var(--sy-line, #d9e0e6); }
.sy-subnav .sy-sec__inner { display: flex; gap: 30px; padding: 0; overflow-x: auto; }
/* Section nav (user 2026-10-21: "people don't know it's a tab"): the section being read is always marked (navy
   underline, full ink); the others are muted until hovered. Docks right under the header (subnav.js measures it). */
.sy-subnav a { display: block; padding: 18px 0; font-size: 14.5px; color: var(--sy-muted, #59677a); text-decoration: none; white-space: nowrap; border-bottom: 2px solid transparent; transition: border-color .25s, color .25s; }
.sy-subnav a:hover { color: var(--sy-ink, #263653); border-color: var(--sy-line, #d9e0e6); }
.sy-subnav a.is-current, .sy-subnav a[aria-current="true"] { color: var(--sy-ink, #263653); font-weight: 500; border-color: var(--sy-navy, #283951); }
.sy-subnav a:focus-visible { outline: 2px solid var(--sy-navy, #283951); outline-offset: -2px; }
.wp-block-group.sy-subnav { padding: 0 clamp(16px, 6vw, 85px) !important; }

[data-products] .ct-product-sku { text-align: left !important; padding-inline: 18px; margin: 0 0 14px; font-size: 12px; letter-spacing: .03em; color: var(--sy-muted, #59677a); }
.sy-subnav p { margin: 0 !important; }

/* Wishlist heart on cards (Blocksy): round, quiet, pops when saved */
[data-products] .ct-woo-card-extra { top: 12px !important; right: 12px !important; z-index: 3; }
[data-products] .ct-wishlist-button-archive { width: 38px !important; height: 38px !important; min-height: 38px !important; padding: 0 !important; border: 0 !important; border-radius: 50% !important; background: rgba(255, 255, 255, .94) !important; box-shadow: 0 8px 18px -10px rgba(38, 54, 83, .5) !important; --theme-icon-color: var(--sy-navy, #283951); --theme-icon-hover-color: var(--sy-navy, #283951); color: var(--sy-navy, #283951) !important; transition: transform .3s cubic-bezier(.2, .7, .2, 1), background .2s !important; }
[data-products] .ct-wishlist-button-archive:hover { transform: scale(1.08); background: #fff !important; }
[data-products] .ct-wishlist-button-archive svg { width: 15px !important; height: 15px !important; }
[data-products] .ct-wishlist-button-archive[data-button-state="active"] svg { animation: sy-heart .5s cubic-bezier(.3, 1.6, .5, 1); }
@keyframes sy-heart { 40% { transform: scale(1.35); } }
@media (prefers-reduced-motion: reduce) { [data-products] .ct-wishlist-button-archive, [data-products] .ct-wishlist-button-archive svg { transition: none !important; animation: none !important; } }

/* Family without models yet: an invitation to start a custom project instead of WooCommerce's "No products were found". */
.sy-cat-empty { display: grid; justify-items: start; gap: 14px; max-width: 760px; margin: 0 0 clamp(40px, 5vw, 72px); padding: clamp(28px, 4vw, 48px); border: 1px solid var(--sy-line, #d9e0e6); border-radius: var(--sy-radius-lg, 16px); background: linear-gradient(135deg, #fff 0%, var(--sy-mist-2, #f5f8fa) 100%); animation: sy-cat-empty-in .6s cubic-bezier(.2, .7, .2, 1) both; }
.sy-cat-empty .sy-kicker { margin: 0; }
.sy-cat-empty h3 { margin: 0; font-size: clamp(22px, 2.2vw, 30px); font-weight: 600; letter-spacing: -.02em; line-height: 1.2; color: var(--sy-ink, #263653); }
.sy-cat-empty p:not(.sy-kicker) { margin: 0; max-width: 560px; font-size: 16px; line-height: 1.65; color: var(--sy-muted, #59677a); }
.sy-cat-empty .sy-btn-dark, .woocommerce .sy-cat-empty a.sy-btn-dark { display: inline-flex; align-items: center; gap: 14px; margin-top: 8px; padding: 15px 22px; border-radius: var(--sy-radius, 2px); background: var(--sy-navy, #283951); color: #fff; font-size: 15px; font-weight: 500; text-decoration: none; transition: background .2s, box-shadow .3s; }
.sy-cat-empty .sy-btn-dark:hover, .woocommerce .sy-cat-empty a.sy-btn-dark:hover { background: #1b2a3e; color: #fff; box-shadow: 0 12px 24px -14px rgba(27, 42, 62, .6); }
.sy-cat-empty .sy-btn-dark:focus-visible { outline: 2px solid var(--sy-navy, #283951); outline-offset: 3px; }
@keyframes sy-cat-empty-in { from { opacity: 0; transform: translateY(10px); } }
@media (prefers-reduced-motion: reduce) { .sy-cat-empty { animation: none; } }

