/* Saraf · system layer: catalog (shop, category, product, cart, checkout, account). */

/* cart / checkout / account: the hidden sidebar must not keep its grid column */
html body.woocommerce-cart .wd-content-layout.wd-grid-g, html body.woocommerce-checkout .wd-content-layout.wd-grid-g, html body.woocommerce-account .wd-content-layout.wd-grid-g { grid-template-columns: minmax(0, 1fr) !important; }
html body.woocommerce-cart .site-content.wd-grid-col, html body.woocommerce-checkout .site-content.wd-grid-col, html body.woocommerce-account .site-content.wd-grid-col { grid-column: 1 / -1 !important; }
/* cart headings in the display face */
html body.woocommerce-cart .wp-block-heading, html body.woocommerce-cart .wc-block-cart__empty-cart__title { font-family: var(--f-display) !important; font-weight: 700; font-size: var(--fs-h2) !important; line-height: .95; color: var(--sf-ink); }
/* product page: the theme's red round label becomes a quiet paper tag */
html body.single-product .product-labels .product-label { background: var(--sf-paper) !important; color: var(--sf-ink) !important; border: 1px solid var(--sf-line); border-radius: 2px !important; font: 600 .74rem var(--f-sans) !important; text-transform: none !important; min-width: 0; padding: 5px 9px; }
/* product page: no dead band above the gallery */
html body.single-product .wd-content-layout { padding-top: clamp(16px, 2vw, 32px) !important; }

/* product options (12.10.2026): resin swatch, engraving text, size line */
html body .sf-po-dims { margin: 4px 0 14px; font-size: .98rem; color: var(--sf-ink); }
html body .sf-po-dims span { color: var(--sf-ink-soft); margin-inline-end: 6px; }
html body .sf-po { display: grid; gap: 18px; margin: 4px 0 20px; width: 100%; }
html body .sf-po fieldset { border: 0; margin: 0; padding: 0; min-width: 0; }
html body .sf-po legend, html body .sf-po__eng > span { display: block; margin-bottom: 10px; font-weight: 700; font-size: 1rem; color: var(--sf-ink); }
html body .sf-po small { font-weight: 400; color: var(--sf-ink-soft); }
html body .sf-po__sw { display: flex; flex-wrap: wrap; gap: 8px; }
html body .sf-po__c { position: relative; display: inline-flex; align-items: center; gap: 7px; padding: 7px 12px 7px 14px; border: 1px solid var(--sf-line); border-radius: 999px; background: var(--sf-paper); cursor: pointer; font-size: .92rem; color: var(--sf-ink); transition: border-color .2s, box-shadow .2s; }
html body .sf-po__c input { position: absolute; inset: 0; opacity: 0; margin: 0; cursor: pointer; }
html body .sf-po__c i { width: 16px; height: 16px; border-radius: 50%; background: var(--sw); box-shadow: inset 0 0 0 1px rgba(0,0,0,.15); }
html body .sf-po__c i.is-clear { background: repeating-linear-gradient(45deg, #fff 0 3px, #e8e2d8 3px 6px); }
html body .sf-po__c:has(input:checked) { border-color: var(--sf-wine); box-shadow: inset 0 0 0 1px var(--sf-wine); }
html body .sf-po__c:has(input:focus-visible) { outline: 2px solid var(--sf-gold); outline-offset: 2px; }
html body .sf-po__note { display: block; margin-top: 8px; font-size: .82rem; }
html body .sf-po__eng input { width: 100%; min-height: 46px; padding: 10px 14px; border: 1px solid var(--sf-line) !important; border-radius: 2px; background: var(--sf-paper) !important; font: inherit; color: var(--sf-ink); }
html body .sf-po__eng input:focus { border-color: var(--sf-gold) !important; outline: none; }
html body form.cart .sf-po { flex: 1 0 100%; max-width: 100%; order: -1; }
html body form.cart:has(.sf-po) { flex-wrap: wrap; row-gap: 14px; }
/* shop filters (13.10.2026): the price slider in the site colours, a real button */
html body .widget_price_filter .ui-slider .ui-slider-range, html body .widget_price_filter .ui-slider .ui-slider-handle { background-color: var(--sf-wine) !important; }
html body .widget_price_filter .price_slider_amount .button { min-height: 38px; padding: 0 18px !important; border-radius: 2px !important; background: var(--sf-wine) !important; color: var(--sf-paper) !important; font-weight: 600; font-size: .9rem; opacity: 1 !important; }
html body .widget_price_filter .price_slider_amount .button:hover { background: var(--sf-wine-deep) !important; }
html body .filters-area .product-categories a { color: var(--sf-ink); }
html body .filters-area .product-categories .current-cat > a { color: var(--sf-wine); font-weight: 700; }
html body .sf-po-handmade { margin: 14px 0 6px; padding-inline-start: 14px; border-inline-start: 2px solid var(--sf-gold-soft); font-size: .92rem; line-height: 1.6; color: var(--sf-ink-soft); }
/* "לטעון עוד" (13.10): ink outline, fills with wine on hover */
html body .wd-load-more.wd-products-load-more { display: inline-flex; align-items: center; justify-content: center; min-width: 220px; min-height: 52px; padding: 0 28px !important; border: 1px solid var(--sf-ink) !important; border-radius: 2px !important; background: transparent !important; color: var(--sf-ink) !important; font-weight: 600; font-size: 1rem; transition: background-color .25s, color .25s, border-color .25s; }
html body .wd-load-more.wd-products-load-more .load-more-label { color: inherit !important; }
html body .wd-load-more.wd-products-load-more:hover { background: var(--sf-wine) !important; border-color: var(--sf-wine) !important; color: var(--sf-paper) !important; }
html body .sf-bk-cal { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 12px; margin: 0 0 28px; padding: 18px 20px; border-inline-start: 3px solid var(--sf-wine); background: var(--sf-paper-2); }
html body .sf-bk-cal p { flex: 1 0 100%; margin: 0 0 4px; color: var(--sf-ink); }
/* related products under the button */
html body .sf-ups { width: 100%; margin: 18px 0 8px; padding-top: 16px; border-top: 1px solid var(--sf-line); }
html body .sf-ups__t { display: block; margin-bottom: 10px; font-weight: 700; color: var(--sf-ink); }
html body .sf-ups ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
html body .sf-ups li { display: grid; grid-template-columns: 64px minmax(0, 1fr) auto; align-items: center; gap: 12px; }
html body .sf-ups__img img { width: 64px; height: 64px; object-fit: contain; background: var(--sf-paper); border-radius: 2px; display: block; }
html body .sf-ups__txt { display: grid; gap: 2px; min-width: 0; }
html body .sf-ups__txt a { color: var(--sf-ink); font-size: .95rem; line-height: 1.35; }
html body .sf-ups__txt b { font-weight: 600; font-size: .92rem; color: var(--sf-ink-soft); }
html body .sf-ups__btn { padding: 8px 14px; border: 1px solid var(--sf-ink); border-radius: 2px; font-size: .86rem; font-weight: 600; color: var(--sf-ink) !important; white-space: nowrap; transition: background-color .2s, color .2s; }
html body .sf-ups__btn:hover { background: var(--sf-wine); border-color: var(--sf-wine); color: var(--sf-paper) !important; }
html body .sf-ups__btn.added { display: none; }

html body .sf-ups__img img { mix-blend-mode: darken; }
