/* ==========================================================================
   Air: the site-wide spacing pass (the owner: "להגדיל ריווחים בכל האתר", 2026-09-30).
   One section per area; every rule is scoped to its pages. Loaded after every other plugin stylesheet.
   ========================================================================== */

/* ---------- Content pages, blog, 404, and the space under the page-title panel (site-wide) (designer's version, checked by the main measurements (its reviewer did not finish)) ---------- */
/* ==========================================================================
   Air pass: content pages + the space under the dark page-title panel.
   About (page-id-5517) · contact (5518) · build-your-own box (29493) · blog · article · 404,
   and the gap between the title panel and the content on every inner page.
   Only vertical spacing and padding inside boxes; the 1192px box and the phone gutters stay put.
   Phones ≤767 · tablets 768 עד 1024 · desktop ≥1025. All values on the 4/8 grid.
   ========================================================================== */

/* ---------- 1. dark title panel → content (every inner page: blog, cart, account, wishlist, search…) ----------
   was 40px everywhere (20px on the shop / category pages on phones and tablets).
   (the article hides its panel, so it is left out here) */
body:not(.single-post) .wd-page-title.page-title + .wd-content-layout { padding-top: 64px; }
/* shop + categories: the toolbar is a thin utility line, it stays closer to its title */
body.woodmart-archive-shop .wd-page-title.page-title + .wd-content-layout { padding-top: 56px; }
@media (max-width: 1024px) {
	body:not(.single-post) .wd-page-title.page-title + .wd-content-layout { padding-top: 56px; }
	body.woodmart-archive-shop .wd-page-title.page-title + .wd-content-layout { padding-top: 40px; }
}
@media (max-width: 767px) {
	body.woodmart-archive-shop .wd-page-title.page-title + .wd-content-layout { padding-top: 32px; }
}

/* ---------- 2. last block → footer (blog, article, box builder, 404) ----------
   was 40px; about + contact already end with 140px and keep it */
body.blog .wd-content-layout, body.archive.category .wd-content-layout,
body.single-post .wd-content-layout, body.page-id-29493 .wd-content-layout, body.error404 .wd-content-layout { padding-bottom: 120px; }
@media (max-width: 1024px) {
	body.blog .wd-content-layout, body.archive.category .wd-content-layout,
	body.single-post .wd-content-layout, body.page-id-29493 .wd-content-layout, body.error404 .wd-content-layout { padding-bottom: 96px; }
}
@media (max-width: 767px) {
	body.blog .wd-content-layout, body.archive.category .wd-content-layout,
	body.single-post .wd-content-layout, body.page-id-29493 .wd-content-layout, body.error404 .wd-content-layout { padding-bottom: 80px; }
}

/* ==========================================================================
   3. About (אודות)
   ========================================================================== */
/* hero → "קצת עלינו" panel: the same gap as under every other title panel (was 40 / 24 on phones) */
body.page-id-5517 .lg-page-hero + .lg-about--page { margin-top: 64px !important; }
/* heading → text inside the panel (was 20) */
body.page-id-5517 .lg-about--page > .e-con-inner { gap: 28px; }
/* two panels stacked: "קצת עלינו" → "מה שותים היום?" had only 20px between them */
body.page-id-5517 .lg-cta-band > .e-con-inner { padding-top: 96px; }
/* closing call to action: title → line → button (was 14 / 14) */
body.page-id-5517 .lg-cta-band__panel.e-con { gap: 28px; }
body.page-id-5517 .lg-cta-band__panel .lg-hero-btn { margin-top: 4px; }
@media (max-width: 1024px) {
	body.page-id-5517 .lg-page-hero + .lg-about--page { margin-top: 56px !important; }
	body.page-id-5517 .lg-about--page > .e-con-inner { gap: 24px; }
	body.page-id-5517 .lg-cta-band > .e-con-inner { padding-top: 72px; }
	body.page-id-5517 .lg-cta-band__panel.e-con { gap: 24px; }
	body.page-id-5517 .lg-cta-band__panel .lg-hero-btn { margin-top: 8px; }
}
@media (max-width: 767px) {
	body.page-id-5517 .lg-about--page > .e-con-inner { gap: 20px; }
	body.page-id-5517 .lg-cta-band > .e-con-inner { padding-top: 56px; }
	body.page-id-5517 .lg-cta-band__panel.e-con { gap: 20px; }
	body.page-id-5517 .lg-cta-band__panel .lg-hero-btn .elementor-button { min-height: 48px; } /* was 46 on phones */
}

/* ==========================================================================
   4. Contact (צור קשר)
   ========================================================================== */
/* "דברו איתנו" → text → the two contact cards */
body.page-id-5518 .lg-contact__info.e-con { gap: 28px; }
body.page-id-5518 .lg-contact-cards { gap: 16px; margin-top: 8px; }
body.page-id-5518 .lg-contact-card { padding: 24px 28px; }
/* the form panel: more room inside; the bottom keeps clear of the big rounded corner */
body.page-id-5518 .lg-contact__form.e-con { padding: 40px 40px 48px; }
/* fields: 20px apart (was 10), 16px between the two half-width fields */
body.page-id-5518 .lg-form .elementor-form .elementor-form-fields-wrapper { margin-inline: -8px; margin-bottom: -20px; }
body.page-id-5518 .lg-form .elementor-form .elementor-field-group { padding-inline: 8px; margin-bottom: 20px; }
/* the send button as designed (Elementor held it at 40px) */
body.page-id-5518 .lg-form .elementor-form .elementor-button { min-height: 54px; }
@media (max-width: 1024px) {
	body.page-id-5518 .lg-contact > .e-con-inner { gap: 40px; }
	body.page-id-5518 .lg-contact__info.e-con { gap: 24px; }
	body.page-id-5518 .lg-contact__form.e-con { padding: 32px 28px 36px; }
}
@media (max-width: 767px) {
	/* the text block and the form stack: a full section gap between them (was 32) */
	body.page-id-5518 .lg-contact > .e-con-inner { gap: 56px; }
	body.page-id-5518 .lg-contact-card { padding: 24px; }
	body.page-id-5518 .lg-contact__form.e-con { padding: 24px 20px 32px; }
	body.page-id-5518 .lg-form .elementor-form .elementor-form-fields-wrapper { margin-bottom: -16px; }
	body.page-id-5518 .lg-form .elementor-form .elementor-field-group { margin-bottom: 16px; }
}

/* ==========================================================================
   5. Build your own box (הרכיבו מארז)
   The total bar is sticky: above it only moderate additions, so at first load on a 1280×800 laptop and on
   390×844 / 360×844 phones the floating bar still sits below the slots panel, never over the slot frames.
   The generous air goes below the bar: search, results, end of page.
   ========================================================================== */
/* the page has no title panel: the heading starts lower under the header (was 40) */
body.page-id-29493 .wd-content-layout { padding-top: 56px; }
/* steps: sizes → box (slots + total bar, kept together) → search + results */
body.page-id-29493 .lg-box { gap: 0; }
body.page-id-29493 .lg-box__head { gap: 16px; } /* was 10 */
body.page-id-29493 .lg-box__slots { margin-top: 32px; gap: 24px; } /* was 28 / 16 */
body.page-id-29493 .lg-box__bar { margin-top: 28px; padding: 16px 24px; } /* was 28 / 14px 18px */
body.page-id-29493 .lg-box__pick { margin-top: 72px; } /* was 28 */
body.page-id-29493 .lg-box__results { margin-top: 32px; gap: 32px 24px; } /* was 18 / 16px 16px */
/* result tiles: the bottle no longer touches the top edge (the theme's button padding was 5px 20px) */
body.page-id-29493 .lg-box .lg-box__item { padding: 16px 16px 18px; }
/* size chips at least 48px tall (46 in features.css; the submit button keeps its 50) */
body.page-id-29493 .lg-box__size { --btn-height: 48px; }
@media (max-width: 1024px) {
	body.page-id-29493 .lg-box__pick { margin-top: 64px; }
	body.page-id-29493 .lg-box__results { margin-top: 28px; gap: 28px 16px; } /* 16: four tiles per row stay on a 768 tablet */
}
@media (max-width: 767px) {
	body.page-id-29493 .wd-content-layout { padding-top: 48px; }
	body.page-id-29493 .lg-box__head { gap: 12px; }
	body.page-id-29493 .lg-box__slots { gap: 16px; } /* was 10 */
	body.page-id-29493 .lg-box__bar { padding: 16px 20px; }
	body.page-id-29493 .lg-box__pick { margin-top: 56px; }
	body.page-id-29493 .lg-box__results { margin-top: 24px; gap: 24px 16px; } /* was 18 / 10px 10px */
	body.page-id-29493 .lg-box .lg-box__item { padding: 14px 14px 16px; }
}

/* ==========================================================================
   6. Blog archive (המגזין)
   ========================================================================== */
body.blog .wd-blog-holder, body.archive.category .wd-blog-holder { gap: 48px 32px; }
body.blog .wd-post.blog-post-loop .wd-post-content,
body.archive.category .wd-post.blog-post-loop .wd-post-content { padding: 28px 24px 32px; }
body.blog .wd-post.blog-post-loop .wd-post-excerpt,
body.archive.category .wd-post.blog-post-loop .wd-post-excerpt { margin-bottom: 24px; }
@media (max-width: 1024px) {
	body.blog .wd-blog-holder, body.archive.category .wd-blog-holder { gap: 40px 24px; }
	body.blog .wd-post.blog-post-loop .wd-post-content,
	body.archive.category .wd-post.blog-post-loop .wd-post-content { padding: 24px 20px 28px; }
}
@media (max-width: 767px) {
	body.blog .wd-blog-holder, body.archive.category .wd-blog-holder { gap: 32px; }
	body.blog .wd-post.blog-post-loop .wd-post-content,
	body.archive.category .wd-post.blog-post-loop .wd-post-content { padding: 24px 20px; }
}

/* ==========================================================================
   7. Article
   ========================================================================== */
/* title block: category chip → title, date → photo → text */
body.single-post .wd-single-post-header .wd-post-cat { margin-bottom: 8px; }
body.single-post .wd-single-post-header .wd-post-image { margin: 24px 0 56px; }
/* reading rhythm: paragraphs 28, sections 56 / 24, panels 48 around */
body.single-post .post-single-page > .wd-entry-content > * { margin-block: 0 28px; }
body.single-post .post-single-page .wd-entry-content h2 { margin: 56px 0 24px; }
body.single-post .post-single-page .wd-entry-content h3 { margin: 44px 0 16px; }
body.single-post .post-single-page .wd-entry-content h2:first-child,
body.single-post .post-single-page .wd-entry-content h3:first-child { margin-top: 0; }
body.single-post .post-single-page .wd-entry-content blockquote { margin: 48px 0; padding: 36px 40px; }
body.single-post .post-single-page > .wd-entry-content > .lg-post-panel { margin-block: 48px; padding: 32px 36px; }
body.single-post .post-single-page > .wd-entry-content > .lg-post-cta { margin-block: 56px 0; padding: 36px 40px; }
body.single-post .post-single-page .wd-entry-content figure { margin: 40px 0; }
/* under the article: prev / next row, then the comment form */
body.single-post .wd-page-nav { margin-top: 64px; padding-block: 24px; }
body.single-post .comments-area { margin-top: 72px; }
body.single-post .comments-area .comment-notes { margin-bottom: 24px; }
body.single-post .comments-area .comment-form > p:not(.form-submit):not(.comment-notes) { margin-bottom: 20px; }
body.single-post .comments-area .form-submit { margin-top: 8px; }
body.single-post .comments-area input[type="text"], body.single-post .comments-area input[type="email"] { min-height: 48px; }
@media (max-width: 767px) {
	body.single-post .wd-single-post-header .wd-post-image { margin: 20px 0 36px; }
	body.single-post .post-single-page > .wd-entry-content > * { margin-block: 0 24px; }
	body.single-post .post-single-page .wd-entry-content h2 { margin: 48px 0 16px; }
	body.single-post .post-single-page .wd-entry-content h3 { margin: 40px 0 12px; }
	body.single-post .post-single-page .wd-entry-content blockquote { margin: 40px 0; padding: 28px 24px; }
	body.single-post .post-single-page > .wd-entry-content > .lg-post-panel { margin-block: 40px; padding: 24px; }
	body.single-post .post-single-page > .wd-entry-content > .lg-post-cta { margin-block: 48px 0; padding: 28px 24px; }
	body.single-post .post-single-page .wd-entry-content figure { margin: 32px 0; }
	body.single-post .wd-page-nav { margin-top: 56px; }
	body.single-post .comments-area { margin-top: 64px; }
}

/* ==========================================================================
   8. 404
   ========================================================================== */
/* text → search field (collapses with the paragraph's own 20px margin; was 20); field + its button 48px tall (was 46) */
body.error404 .page-content .wd-search-form { margin-top: 40px; }
body.error404 .page-content .wd-search-form .searchform { --wd-form-height: 48px; }
@media (max-width: 767px) { body.error404 .page-content .wd-search-form { margin-top: 32px; } }

/* ---------- Shop and category grids (reviewed (approved_with_fixes)) ---------- */
/* ==========================================================================
   Air pass , SHOP AND CATEGORY GRIDS
   /shop/, product categories, product search (incl. no results), the wishlist.
   Only vertical rhythm and inner spacing: the 1192px box / 15px phone gutters,
   the title panel and the card's outer look stay as they are.
   Scope: body.woodmart-archive-shop = shop + product categories + product search;
          body.page-id-60 = /wishlist/.
   ========================================================================== */

/* ---------- page rhythm: title panel → toolbar, last row → footer ---------- */
body.woodmart-archive-shop .wd-content-layout { padding-top: 56px; padding-bottom: 96px; }

/* ---------- toolbar (breadcrumbs · results · sort) → grid ---------- */
body.woodmart-archive-shop .shop-loop-head { margin-bottom: 40px; }
/* on a filtered page the "clear filters" chips close the toolbar: the grid keeps the same distance under them */
body.woodmart-archive-shop .wd-active-filters { margin-bottom: 40px; }

/* ---------- grid: rows further apart on desktop (columns already 30px) ---------- */
body.woodmart-archive-shop .products.wd-grid-g { row-gap: 56px !important; }

/* ---------- inside a card: bottle → name, air under the last line ---------- */
body.woodmart-archive-shop .products .wd-product.wd-hover-alt .product-element-top { margin-bottom: 16px; }
body.woodmart-archive-shop .products .wd-product.wd-hover-alt .product-wrapper { padding-bottom: 28px; }

/* ---------- load more / pagination ---------- */
body.woodmart-archive-shop .wd-loop-footer { margin-top: 56px; }
body.woodmart-archive-shop .wd-pagination ul.page-numbers { gap: 8px; }

/* ---------- filters (sidebar on desktop, side panel below 1025) ---------- */
body.woodmart-archive-shop .wd-sidebar .widget { padding-bottom: 32px; margin-bottom: 32px; }
body.woodmart-archive-shop .wd-sidebar .widget:last-child { padding-bottom: 0; margin-bottom: 0; }
body.woodmart-archive-shop .wd-sidebar .widget-title { margin-bottom: 24px; }
body.woodmart-archive-shop .wd-sidebar .widget_product_categories .widget-title { margin-bottom: 16px; }

/* ---------- empty states ---------- */
/* wishlist: title panel → icon, icon → heading → text → button → footer */
body.page-id-60 .wd-content-layout { padding-top: 64px; padding-bottom: 96px; }
body.page-id-60 .wd-empty-block-title::before { margin-bottom: 24px; }
body.page-id-60 .wd-empty-block-title { margin-bottom: 24px; }
body.page-id-60 .wd-empty-block-text { margin-bottom: 40px; }

/* ---------- tablets (768 עד 1024) ---------- */
@media (max-width: 1024px) {
	body.woodmart-archive-shop .wd-content-layout { padding-top: 40px; padding-bottom: 80px; }
	body.woodmart-archive-shop .shop-loop-head { margin-bottom: 32px; }
	body.woodmart-archive-shop .wd-active-filters { margin-bottom: 32px; }
	body.woodmart-archive-shop .products.wd-grid-g { row-gap: 48px !important; }
	body.woodmart-archive-shop .products .wd-product.wd-hover-alt .product-wrapper { padding-bottom: 24px; }
	/* price → button 12px, button a comfortable touch height */
	body.woodmart-archive-shop .products .wd-product.wd-hover-alt .wd-add-btn { margin-block: 0; }
	body.woodmart-archive-shop .products .wd-product.wd-hover-alt .wd-add-btn .button { min-height: 48px; }
	body.woodmart-archive-shop .wd-loop-footer { margin-top: 48px; }
	body.woodmart-archive-shop .wd-loop-footer .wd-load-more { min-height: 48px; padding-inline: 32px; }
	body.woodmart-archive-shop .wd-pagination .page-numbers li > * { min-width: 44px; height: 44px; }
	/* toolbar in two rows with a divider: even air on both sides of the line (the filter row is 48px, a touch target).
	   769 עד 1024: the 200×48 sort select already makes the second row 48px, so the theme's 15px row gap stays
	   (29px from the line to the filter text) and the first row gets about the same above the line (28px) */
	body.woodmart-archive-shop .shop-loop-head .wd-shop-tools:not(:last-child) { padding-bottom: 24px; }
	body.woodmart-archive-shop .shop-loop-head .wd-show-sidebar-btn > a { min-height: 48px; }
	/* no products (a search, or filters that match nothing): the second row is empty, so the notice comes 40px
	   under the line (the "clear filters" chips 25px); the :has rule also covers a category filtered to nothing */
	body.search-no-results.woodmart-archive-shop .shop-loop-head { row-gap: 8px; margin-bottom: 32px; }
	body.woodmart-archive-shop .shop-loop-head:not(:has(.woocommerce-ordering)) { row-gap: 8px; margin-bottom: 32px; }
	body.woodmart-archive-shop .wd-sidebar .widget { padding-bottom: 28px; margin-bottom: 28px; }
	body.woodmart-archive-shop .wd-sidebar .widget:last-child { padding-bottom: 0; margin-bottom: 0; }
	body.woodmart-archive-shop .wd-sidebar .widget-title { margin-bottom: 20px; }
	body.woodmart-archive-shop .wd-sidebar .widget_product_categories .widget-title { margin-bottom: 12px; }
	/* touch height only: any wider, the button no longer fits beside the price label in the 288px panel (360) */
	body.woodmart-archive-shop .wd-sidebar .price_slider_amount .button { min-height: 48px; }
	body.page-id-60 .wd-content-layout { padding-top: 56px; padding-bottom: 80px; }
	body.page-id-60 .wd-empty-block-text { margin-bottom: 32px; }
	body.page-id-60 .wd-empty-block-btn { min-height: 48px; padding-inline: 32px; }
}
/* up to 768: the theme's phone toolbar (divider line between the two tool rows) and 2-column grid */
@media (max-width: 768.98px) {
	/* the 48px filter row already brings its own air above the first bottles */
	body.woodmart-archive-shop .shop-loop-head { margin-bottom: 20px; }
	/* phone toolbar (30px sort icon): the 48px filter row brings the air under the line, so a smaller row gap keeps it even */
	body.woodmart-archive-shop .shop-loop-head { row-gap: 8px; }
	body.woodmart-archive-shop .shop-loop-head .wd-shop-tools:not(:last-child) { padding-bottom: 20px; }
	/* 10px → 24px between the two big tablet cards; the name keeps (at least) its old line length */
	body.woodmart-archive-shop .products.wd-grid-g { column-gap: 24px; }
	body.woodmart-archive-shop .products .wd-product.wd-hover-alt .product-element-bottom { padding-inline: 8px !important; }
}

/* ---------- phones (up to 767) ---------- */
@media (max-width: 767px) {
	body.woodmart-archive-shop .wd-content-layout { padding-top: 32px; padding-bottom: 64px; }
	/* 10px → 16px between cards (rows keep their 44px); the name/price line gives back the 2px per side
	   the card loses, so no product name wraps onto an extra line */
	body.woodmart-archive-shop .products.wd-grid-g { row-gap: 44px !important; column-gap: 16px; }
	body.woodmart-archive-shop .products .wd-product.wd-hover-alt .product-element-bottom { padding-inline: 6px !important; }
	body.woodmart-archive-shop .products .wd-product.wd-hover-alt .product-wrapper { padding-bottom: 20px; }
	body.woodmart-archive-shop .products .wd-product.wd-hover-alt .wd-add-btn { margin-block: 2px 0; }
	body.woodmart-archive-shop .wd-loop-footer { margin-top: 44px; }
	body.page-id-60 .wd-content-layout { padding-top: 48px; padding-bottom: 64px; }
	body.page-id-60 .wd-empty-block-text { margin-bottom: 28px; }
}
/* small phones (360): 12px between cards, so a long sale price still fits inside its card */
@media (max-width: 374px) {
	body.woodmart-archive-shop .products.wd-grid-g { column-gap: 12px; }
}

/* ---------- Product pages (reviewed (approved_with_fixes)) ---------- */
/* ==========================================================================
   Air pass: single product pages. The owner found the product page crowded on
   phones and asked for more space across the site. Adds vertical rhythm and
   inner padding only. The content edges stay where they are (the 1192px box on
   desktop, the 15px WooCommerce gutters on phones).
   WoodMart spaces the page sections with --wd-single-spacing: the hero box's
   bottom margin, the tab strip's top padding (the tab nav is pulled up onto the
   strip's top line by the same amount) and the margin above the related row.
   The summary rules go through .single-product-page (the main product only), so
   the quick-view popup opened from the related row keeps the same look it has
   on the shop and the homepage.
   ========================================================================== */

/* ---------- summary: one rhythm for every product type ---------- */
body.single-product .single-product-page .summary-inner > .lg-facts { margin-top: 0; }
body.single-product .single-product-page .summary-inner > .lg-set { margin-top: 0; }
/* align-items: the theme gives every list item but the last a 10px bottom margin, which stretched
   the last badge of a one-row set to 42px while the others are 32px */
body.single-product .single-product-page .lg-facts__badges { row-gap: 10px; align-items: flex-start; }
body.single-product .single-product-page .lg-facts__list > div { padding-block: 12px; }
body.single-product .single-product-page .lg-set__add { min-height: 48px; }
/* wishlist (+ compare, now hidden by refine.css): 16px under the row, +16px above the meta line = 32px;
   if the two buttons ever wrap onto two lines they stay 16px apart */
body.single-product .single-product-page .summary-inner > .wd-action-btn { margin-bottom: 16px; }
body.single-product .single-product-page .summary-inner > .wd-action-btn + .product_meta { margin-top: 16px; }

/* reviews form (opened from the tab / accordion) */
body.single-product .wd-reviews-heading { margin-bottom: 24px; }
body.single-product #review_form .comment-reply-title { margin-bottom: 24px; }
body.single-product .comment-form > p,
body.single-product .comment-form > .comment-form-rating { margin-bottom: 20px; }
body.single-product .comment-form > p.comment-notes { margin-bottom: 24px; }
body.single-product .comment-form > p.form-submit { margin: 4px 0 0; }
body.single-product .comment-form .submit { min-height: 48px; }

/* ---------- phones (up to 767px) ---------- */
@media (max-width: 767px) {
	/* header → gallery, related → footer */
	body.single-product main.wd-content-layout.wd-builder-off { padding-block: 24px 64px; }
	/* hero → tabs 64, tabs → related 72 */
	body.single-product .wd-builder-off .single-product-page { --wd-single-spacing: 32px; }
	body.single-product .wd-builder-off .product-tabs-wrapper { padding-bottom: 40px; }
	/* gallery (+ thumbnails) → breadcrumbs */
	body.single-product .product-image-summary-inner.wd-grid-g { row-gap: 32px; }

	body.single-product .single-product-page .product-image-summary .summary-inner { --wd-mb: 24px; }
	body.single-product .single-product-page .summary-inner > .single-breadcrumbs-wrapper { margin-bottom: 24px; }
	body.single-product .single-product-page .summary-inner > .product_title { margin-bottom: 16px; }
	body.single-product .single-product-page .summary-inner > .price { margin-bottom: 20px; }
	body.single-product .single-product-page .summary-inner > .woocommerce-product-details__short-description { margin-bottom: 28px; }
	body.single-product .single-product-page .summary-inner > .lg-facts { margin-bottom: 32px; gap: 20px; }
	body.single-product .single-product-page .summary-inner > .stock { margin-bottom: 20px; }
	body.single-product .single-product-page .summary-inner > form.cart { margin-bottom: 32px; }
	body.single-product .single-product-page .summary-inner > .lg-set { margin-bottom: 32px; padding: 24px 20px; }
	body.single-product .single-product-page .summary-inner > .product_meta { padding-top: 24px; margin-bottom: 16px; }

	/* "השלימו את החוויה": the item's inner gaps (12 → 10) give each name back the 4px the panel's side
	   padding (18 → 20) takes, so no name wraps onto an extra line (it did at 322 עד 642px) */
	body.single-product .single-product-page .lg-set__title { margin-bottom: 16px; }
	body.single-product .single-product-page .lg-set__item { padding: 12px 8px; column-gap: 10px; }

	/* accordion panels breathe before the next title */
	body.single-product .woocommerce-tabs.wd-accordion > .wd-accordion-item > .woocommerce-Tabs-panel { padding-bottom: 32px; }

	/* related row: 10px → 16px between the cards; each card is 3px narrower, so the name / price line
	   gets 2px back per side (8px → 6px) and no product name wraps onto an extra line (they did between 337 and 670px) */
	body.single-product .related-and-upsells .wd-products-element > .wd-el-title { margin-bottom: 24px; }
	body.single-product .related-and-upsells .wd-carousel { --wd-gap: 16px; }
	body.single-product .related-and-upsells .wd-product.wd-hover-alt .product-element-bottom { padding-inline: 6px !important; }
	body.single-product .related-and-upsells .wd-products-element:not(:last-child) { margin-bottom: 64px; }
}

/* ---------- tablets (768 עד 1024) ---------- */
@media (min-width: 768px) and (max-width: 1024px) {
	body.single-product main.wd-content-layout.wd-builder-off { padding-block: 32px 80px; }
	/* hero → tabs 80, tabs → related 80 */
	body.single-product .wd-builder-off .single-product-page { --wd-single-spacing: 40px; }
	body.single-product .wd-builder-off .product-tabs-wrapper { padding-bottom: 40px; }
	/* gallery → breadcrumbs when stacked (768); the column gutter stays WoodMart's 30px so the summary keeps its width */
	body.single-product .product-image-summary-inner.wd-grid-g { row-gap: 40px; }

	body.single-product .single-product-page .product-image-summary .summary-inner { --wd-mb: 24px; }
	body.single-product .single-product-page .summary-inner > .single-breadcrumbs-wrapper { margin-bottom: 24px; }
	body.single-product .single-product-page .summary-inner > .product_title { margin-bottom: 16px; }
	body.single-product .single-product-page .summary-inner > .price { margin-bottom: 20px; }
	body.single-product .single-product-page .summary-inner > .woocommerce-product-details__short-description { margin-bottom: 28px; }
	body.single-product .single-product-page .summary-inner > .lg-facts { margin-bottom: 32px; gap: 20px; }
	body.single-product .single-product-page .summary-inner > .stock { margin-bottom: 20px; }
	body.single-product .single-product-page .summary-inner > form.cart { margin-bottom: 32px; }
	/* the set sits in the narrow summary column from 769px: the sides keep the phone values, or the long
	   product names wrap onto extra lines (3 → 5 at 769 עד 795px with 28px + 12px) */
	body.single-product .single-product-page .summary-inner > .lg-set { margin-bottom: 32px; padding: 28px 20px; }
	body.single-product .single-product-page .summary-inner > .product_meta { padding-top: 24px; margin-bottom: 16px; }

	body.single-product .single-product-page .lg-set__title { margin-bottom: 16px; }
	body.single-product .single-product-page .lg-set__item { padding: 12px 8px; column-gap: 10px; }

	body.single-product .woocommerce-tabs.wd-accordion > .wd-accordion-item > .woocommerce-Tabs-panel { padding-bottom: 32px; }

	body.single-product .related-and-upsells .wd-products-element > .wd-el-title { margin-bottom: 28px; }
	body.single-product .related-and-upsells .wd-products-element:not(:last-child) { margin-bottom: 80px; }
}
/* 768 still gets WoodMart's phone carousel (2 cards, 10px apart): 24px between them; each card is 7px
   narrower, so the name / price line gets 4px back per side (12px → 8px) */
@media (min-width: 768px) and (max-width: 768.98px) {
	body.single-product .related-and-upsells .wd-carousel { --wd-gap: 24px; }
	body.single-product .related-and-upsells .wd-product.wd-hover-alt .product-element-bottom { padding-inline: 8px !important; }
}

/* WoodMart pulls the summary box 20px up under 769px; without that pull the hero → tabs distance is counted from the summary's last line */
@media (max-width: 1024px) {
	body.single-product .single-product-page .summary-inner { margin-bottom: 0; }
}

/* ---------- desktop (1025+) ---------- */
@media (min-width: 1025px) {
	body.single-product main.wd-content-layout.wd-builder-off { padding-block: 56px 96px; }
	/* hero → tab line 96, panel → closing line 56, line → related 96 */
	body.single-product .wd-builder-off .single-product-page { --wd-single-spacing: 96px; }
	body.single-product .wd-builder-off .product-tabs-wrapper { padding-bottom: 56px; }

	body.single-product .single-product-page .product-image-summary .summary-inner { --wd-mb: 28px; }
	body.single-product .single-product-page .summary-inner > .single-breadcrumbs-wrapper { margin-bottom: 28px; }
	body.single-product .single-product-page .summary-inner > .product_title { margin-bottom: 20px; }
	body.single-product .single-product-page .summary-inner > .price { margin-bottom: 24px; }
	body.single-product .single-product-page .summary-inner > .woocommerce-product-details__short-description { margin-bottom: 32px; }
	body.single-product .single-product-page .summary-inner > .lg-facts { margin-bottom: 32px; gap: 20px; }
	body.single-product .single-product-page .summary-inner > .stock { margin-bottom: 24px; }
	body.single-product .single-product-page .summary-inner > form.cart { margin-bottom: 32px; }
	body.single-product .single-product-page .summary-inner > .lg-set { margin-bottom: 32px; padding: 32px; }
	body.single-product .single-product-page .summary-inner > .product_meta { padding-top: 28px; margin-bottom: 16px; }

	body.single-product .single-product-page .lg-set__title { margin-bottom: 20px; }
	body.single-product .single-product-page .lg-set__item { padding: 12px; }

	/* tabs: nav → panel 32 (the labels already sit 19px above the nav's lower edge); a panel that opens with its own heading (e.g. a description) */
	body.single-product .product-tabs-wrapper .tabs-layout-tabs > .wd-nav-tabs-wrapper { margin-bottom: 32px; }
	body.single-product .woocommerce-Tabs-panel .wc-tab-inner > h2:first-child { margin-bottom: 24px; }

	body.single-product .related-and-upsells .wd-products-element > .wd-el-title { margin-bottom: 32px; }
}

/* the last line of the summary never carries a margin (keeps the hero → tabs distance exact) */
body.single-product .single-product-page .summary-inner.reset-last-child > :last-child { margin-bottom: 0; }

/* ---------- Cart, checkout and my account (reviewed (approved_with_fixes)) ---------- */
/* ==========================================================================
   Air · cart, checkout, my account (logged out) , spacing pass
   Only vertical rhythm and inner padding: the 1192px box and the phone gutters stay where they are.
   Phones ≤767 · tablets 768 עד 1024 · desktop ≥1025
   ========================================================================== */

/* ---------- page frame: title panel → content, content → footer ---------- */
body.woocommerce-cart main#main-content.wd-content-layout,
body.woocommerce-checkout main#main-content.wd-content-layout,
body.woocommerce-account main#main-content.wd-content-layout { padding-top: 64px; padding-bottom: 80px; }
@media (min-width: 768px) {
	body.woocommerce-cart main#main-content.wd-content-layout,
	body.woocommerce-checkout main#main-content.wd-content-layout,
	body.woocommerce-account main#main-content.wd-content-layout { padding-top: 64px; padding-bottom: 88px; }
}
@media (min-width: 1025px) {
	body.woocommerce-cart main#main-content.wd-content-layout,
	body.woocommerce-checkout main#main-content.wd-content-layout,
	body.woocommerce-account main#main-content.wd-content-layout { padding-top: 72px; padding-bottom: 96px; }
}
/* the checkout block brought its own 24px on top and 52px of margins at the end: the frame above does both now
   (the same 80 / 88 / 96 end as the cart and the account pages) */
body.woocommerce-checkout .wp-block-woocommerce-checkout { padding-top: 0; }
body.woocommerce-checkout .wc-block-components-sidebar-layout.wc-block-checkout { margin-bottom: 0; }
body.woocommerce-checkout .wc-block-checkout__actions { margin-bottom: 0; }

/* ==========================================================================
   Cart
   ========================================================================== */
/* line items */
body.woocommerce-cart table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__wrap { gap: 8px; }
body.woocommerce-cart .wc-block-cart.is-large .wc-block-cart__main .wc-block-cart-items td { padding-block: 24px; }
body.woocommerce-cart .wc-block-cart.is-large .wc-block-cart-items th { padding-bottom: 16px; }
body.woocommerce-cart .wc-block-cart:not(.is-large) table.wc-block-cart-items .wc-block-cart-items__row { padding-block: 20px; }
body.woocommerce-cart .wc-block-cart:not(.is-large) table.wc-block-cart-items .wc-block-cart-items__row:first-child { padding-top: 0; }

/* items → totals when stacked (phones and the in-between widths, where the box sat right on the list), totals box,
   box → checkout button; the trailing block margins go, the frame sets the end. "Stacked" is WooCommerce's own
   container query (block narrower than 700px), not the is-large class: at a 700px block the class says medium while
   the two columns already sit side by side, and the box would drop 32px below the items */
@container (max-width: 699px) {
	body.woocommerce-cart .wc-block-cart .wc-block-cart__sidebar { margin-top: 32px; }
}
body.woocommerce-cart .wc-block-cart .wc-block-cart__sidebar { margin-bottom: 0; }
body.woocommerce-cart .wc-block-components-sidebar-layout.wc-block-cart { margin-bottom: 0; }
body.woocommerce-cart .wc-block-cart__sidebar .wp-block-woocommerce-cart-order-summary-block { padding: 24px !important; }
body.woocommerce-cart .wc-block-cart__sidebar .wc-block-components-totals-wrapper:not(:empty) { padding-block: 20px; }
body.woocommerce-cart div.wc-block-cart .wc-block-cart__totals-title { padding: 0 0 16px; }
body.woocommerce-cart .wc-block-cart__submit { margin: 24px 0 0; }
/* coupon row, opened: code field and its button (cart and checkout summaries) */
body:is(.woocommerce-cart, .woocommerce-checkout) .wc-block-components-totals-coupon__form { gap: 12px; }
@media (min-width: 1025px) {
	body.woocommerce-cart .wc-block-cart__sidebar .wp-block-woocommerce-cart-order-summary-block { padding: 32px !important; }
}

/* empty cart: message → dots → "חדש בחנות" → tiles. account.css already puts the tiles on the content lines
   with a 24px gap between them; here the blocks get air and a tile row keeps its distance from the next */
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-cart__empty-cart__title { margin-bottom: 0; }
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block hr.wp-block-separator { margin-block: 32px; }
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block hr.wp-block-separator + h2 { margin-bottom: 24px; }
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__products { margin: 0 !important; gap: 40px 24px; }
/* only the top and bottom grow: the sides stay at 14px, or a product name wraps once more in the narrower columns */
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__product { padding: 24px 14px !important; }
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-image { margin-bottom: 16px; }
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__product > :last-child { margin-bottom: 0; }
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__product .wp-block-button__link { min-height: 44px; align-items: center; justify-content: center; }
@media (max-width: 767px) {
	body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__products { gap: 32px 16px; }
	body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__product .wp-block-button__link { min-height: 48px; }
}
@media (max-width: 480px) {
	/* WooCommerce lays the list out as plain blocks here (one tile per row), where a gap does nothing: a one-column grid carries it */
	body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid.has-4-columns .wc-block-grid__products { display: grid; grid-template-columns: minmax(0, 1fr); }
}
@media (min-width: 1025px) {
	body.woocommerce-cart .wp-block-woocommerce-empty-cart-block hr.wp-block-separator { margin-block: 40px; }
	body.woocommerce-cart .wp-block-woocommerce-empty-cart-block hr.wp-block-separator + h2 { margin-bottom: 32px; }
	body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__product { padding: 28px 14px !important; }
}

/* ==========================================================================
   Checkout
   ========================================================================== */
/* steps: heading → fields, field → field, step → step */
body.woocommerce-checkout .wc-block-components-form .wc-block-components-checkout-step { margin-bottom: 40px; }
body.woocommerce-checkout .wc-block-components-checkout-step__heading-container { margin-bottom: 20px; }
body.woocommerce-checkout .wc-block-components-address-form > * + :is(.wc-block-components-text-input, .wc-block-components-country-input, .wc-block-components-state-input, .wc-block-components-address-form__address_2-toggle) { margin-top: 16px; }
body.woocommerce-checkout :is(.wc-block-checkout__billing-fields, .wc-block-checkout__shipping-fields) .wc-block-components-address-form { column-gap: 16px; }
/* the two small checkboxes (newsletter, order note) belong together */
body.woocommerce-checkout .wc-block-components-form .wc-block-checkout__order-fields:has(+ .wc-block-checkout__order-notes) { margin-bottom: 24px; }
/* terms line, then the place-order button. WooCommerce draws the separator above the terms only when the checkout
   block is 700px wide or more (container query); below that there is no line to keep a distance from */
body.woocommerce-checkout .wc-block-checkout .wc-block-checkout__terms.wc-block-checkout__terms--with-separator { padding-top: 24px; }
@container (max-width: 699px) {
	body.woocommerce-checkout .wc-block-checkout .wc-block-checkout__terms.wc-block-checkout__terms--with-separator { padding-top: 8px; }
}
body.woocommerce-checkout .wc-block-checkout .wc-block-checkout__terms { margin-bottom: 32px; }

/* order summary box (top on phones, side column on larger screens); stacked (WooCommerce's own container query, as in
   the cart), it keeps a step's distance from the form */
@container (max-width: 699px) {
	body.woocommerce-checkout .wc-block-checkout .wc-block-checkout__sidebar { margin-bottom: 40px; }
}
/* the title row sat 16px lower than the box's padding (38 above it, 22 under it): now even, sides as they were.
   Phones keep the phone panel padding (24, like the cart's totals box); tablets get 28 */
body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block { padding: 24px 22px !important; }
@media (min-width: 768px) {
	body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block { padding: 28px 22px !important; }
}
body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-checkout-order-summary__title { margin-top: 0; }
/* phones: the summary repeated above the place-order button stood right on it */
body.woocommerce-checkout .checkout-order-summary-block-fill-wrapper { margin-bottom: 24px; }
body.woocommerce-checkout .checkout-order-summary-block-fill-wrapper .wc-block-components-checkout-step__title { margin-bottom: 20px; }
@media (min-width: 1025px) {
	body.woocommerce-checkout .wc-block-components-form .wc-block-components-checkout-step { margin-bottom: 48px; }
	body.woocommerce-checkout .wc-block-components-checkout-step__heading-container { margin-bottom: 24px; }
	/* side column: title, product and rows on one edge 44px in (the item list added a second 22px padding: product at 44, rows at 38) */
	body.woocommerce-checkout .wc-block-checkout.is-large .wc-block-checkout__sidebar .wp-block-woocommerce-checkout-order-summary-block { padding: 40px 28px !important; }
	body.woocommerce-checkout .wc-block-checkout.is-large .wc-block-checkout__sidebar .wc-block-components-order-summary { padding: 24px 16px !important; }
	/* rows of the summary: 16 → 20 above and below each separator (empty discount / fee slots stay collapsed) */
	body.woocommerce-checkout .wc-block-checkout.is-large .wc-block-checkout__sidebar .wc-block-components-totals-wrapper:not(:empty):not(.wp-block-woocommerce-checkout-order-summary-cart-items-block) { padding-top: 20px; }
	body.woocommerce-checkout .wc-block-checkout.is-large .wc-block-checkout__sidebar .wp-block-woocommerce-checkout-order-summary-coupon-form-block.wc-block-components-totals-wrapper,
	body.woocommerce-checkout .wc-block-checkout.is-large .wc-block-checkout__sidebar .wp-block-woocommerce-checkout-order-summary-totals-block,
	body.woocommerce-checkout .wc-block-checkout.is-large .wc-block-checkout__sidebar .wc-block-components-checkout-order-summary__content > .wc-block-components-totals-wrapper:last-child { padding-bottom: 20px; }
}

/* ==========================================================================
   My account (logged out): login / register cards, lost password
   ========================================================================== */
body.woocommerce-account .col-login, body.woocommerce-account .col-register, body.woocommerce-account .col-register-text { padding: 24px !important; }
/* 360px phones keep the 18px sides: with 24 the consent line under the register form breaks into three lines with one word alone */
@media (max-width: 374px) {
	body.woocommerce-account .col-login, body.woocommerce-account .col-register, body.woocommerce-account .col-register-text { padding-inline: 18px !important; }
}
body.woocommerce-account #customer_login .woocommerce-form-login__submit,
body.woocommerce-account #customer_login .woocommerce-form-register button[type="submit"],
body.woocommerce-account .woocommerce-ResetPassword button[type="submit"] { min-height: 50px; }
body.woocommerce-account .woocommerce-ResetPassword > p:last-of-type { margin-bottom: 0; }
@media (min-width: 768px) {
	body.woocommerce-account .col-login, body.woocommerce-account .col-register, body.woocommerce-account .col-register-text { padding: 36px !important; }
}
@media (min-width: 1025px) {
	body.woocommerce-account .col-login, body.woocommerce-account .col-register, body.woocommerce-account .col-register-text { padding: 40px !important; }
	body.woocommerce-account #customer_login .wd-login-title { margin-bottom: 24px; }
	/* every block of both forms on one 24px step (the register form's notice and privacy text kept 20 between the 24s) */
	body.woocommerce-account #customer_login form > p:not(:last-child),
	body.woocommerce-account #customer_login form > .woocommerce-privacy-policy-text > p:last-child { margin-bottom: 24px; }
	body.woocommerce-account .woocommerce-ResetPassword > p:not(:last-of-type) { margin-bottom: 24px; }
}
