/* meble7: the product description, classic HTML and blocks alike, in its own row under the gallery and the purchase column
   (inc/product-page.php). Loaded on product pages after woocommerce.css.
   The row and its text span the page container (1346 px at a 1440 px window; on phones the page's width), as do wide and
   full alignments; floats unfloat and columns stack when the text is narrow.
   The product block editor loads this file too, with `.product-description` replaced by its canvas root
   (inc/product-description.php), so every rule stays scoped to `.product-description`; there WordPress lays out wide and
   full itself (1346 px content and wide). Spacing comes from theme.json's spacing sizes (--space-* below), colours from
   its palette and the theme's variables. */

.product-description{container:product-description/inline-size;color:var(--muted);font-size:1rem;line-height:1.65;--space-20:var(--wp--preset--spacing--20,8px);--space-30:var(--wp--preset--spacing--30,14px);--space-40:var(--wp--preset--spacing--40,24px);--space-50:var(--wp--preset--spacing--50,40px);--wp--preset--font-size--x-large:1.75rem;--wp--preset--font-size--xx-large:2.125rem}
.product-description>:first-child{margin-top:0}
.product-description>:last-child{margin-bottom:0}

/* Text */
.product-description :is(h1,h2,h3,h4){margin:1.4em 0 .5em;color:var(--ink);font-family:var(--serif);font-weight:400;line-height:1.15;letter-spacing:-.005em;text-wrap:balance}
.product-description :is(h1,h2){font-size:1.75rem}
.product-description h3{font-size:1.4rem}
.product-description h4{font-size:1.2rem}
.product-description :is(h5,h6){margin:1.6em 0 .6em;color:var(--ink);font-family:var(--sans);font-size:.74rem;font-weight:400;letter-spacing:.14em;line-height:1.4;text-transform:uppercase}
.product-description :is(strong,b){color:var(--ink);font-weight:500}
.product-description :is(p,li,td,th,figcaption,cite) a:not(.wp-block-button__link){border-bottom:1px solid currentColor;color:inherit;text-decoration:none}
.product-description :is(p,li,td,th,figcaption,cite) a:not(.wp-block-button__link):hover{color:var(--ink)}
.product-description>:is(ul,ol),.product-description :is(ul,ol).wp-block-list{margin:1em 0;padding-left:1.25em}
.product-description>:is(ul,ol) li+li,.product-description .wp-block-list li+li{margin-top:.35em}
.product-description .wp-block-list li::marker{color:var(--ink)}
/* Supplier HTML (imported by Dori Import, also after „Przekształć na bloki”) carries inline fonts such as
   <span style="font-family: Arial; font-size: small">; the description keeps its own. Blocks never put fonts on a span. */
.product-description :is(span,font)[style*="font-family"],.product-description font[face]{font-family:inherit!important}
.product-description :is(span,font)[style*="font-size"],.product-description font[size]{font-size:inherit!important}

/* Blocks: one rhythm (theme.json spacing) */
.product-description :is(.wp-block-image,.wp-block-gallery,.wp-block-columns,.wp-block-cover,.wp-block-media-text,.wp-block-table,.wp-block-quote,.wp-block-pullquote,.wp-block-buttons,.wp-block-group,.wp-block-embed,.wp-block-video,.wp-block-woocommerce-product-collection,.wp-block-woocommerce-featured-product,.wp-block-woocommerce-featured-category){margin-top:var(--space-40);margin-bottom:var(--space-40)}
.product-description :is(.wp-block-column,.wp-block-group,.wp-block-cover__inner-container,.wp-block-media-text__content)>:first-child{margin-top:0}
.product-description :is(.wp-block-column,.wp-block-group,.wp-block-cover__inner-container,.wp-block-media-text__content)>:last-child{margin-bottom:0}

/* The row: the page container is the query container (so `100cqw` is its width). Not in the editor, where
   `.product-description-row` does not exist. */
.product-description-row{container:product-description/inline-size;margin:0 0 64px}
.product-description-row>.product-description{container:none;max-width:none}

/* Alignments: wide and full span the row's container; left and right float beside the text until it gets narrow. */
.product-description>.wp-block-image:is(.alignwide,.alignfull) img,.product-description>.wp-block-cover:is(.alignwide,.alignfull){width:100%}
.product-description-row>.product-description>:is(.alignwide,.alignfull){clear:both;width:100cqw;max-width:none;margin-left:0;margin-right:0}
.product-description>.aligncenter{margin-left:auto;margin-right:auto}
.product-description>.alignleft{float:left;max-width:50%;margin:.3em var(--space-40) var(--space-30) 0}
.product-description>.alignright{float:right;max-width:50%;margin:.3em 0 var(--space-30) var(--space-40)}
.product-description>:is(h1,h2,h3,h4,h5,h6,.wp-block-columns,.wp-block-gallery,.wp-block-table,.wp-block-separator,.wp-block-woocommerce-product-collection){clear:both}

/* Images, video and captions. A supplier's <iframe width="560"> (a film) never gets wider than the text. */
.product-description img{max-width:100%;height:auto}
.product-description :is(iframe,video,embed,object){max-width:100%}
.product-description video{height:auto}
.product-description :is(.wp-element-caption,figcaption){margin:10px 0 0;color:var(--muted);font-size:.8rem;line-height:1.45;letter-spacing:.01em}
.product-description :where(.wp-element-caption,figcaption){text-align:left}

/* Columns: core stacks them below a 782 px window; in a narrow description they stack too. */
.product-description .wp-block-columns{gap:var(--space-30) var(--space-40)}

/* Cover: its own text colour (white on a dark image), not the description's grey and ink. */
.product-description .wp-block-cover{padding:var(--space-40)}
.product-description .wp-block-cover :is(h1,h2,h3,h4,h5,h6,strong,b){color:inherit}
.product-description .wp-block-cover :is(h1,h2,h3,h4){margin:0 0 .4em}

/* Media and text */
.product-description .wp-block-media-text{gap:var(--space-40)}
.product-description .wp-block-media-text .wp-block-media-text__content{padding:0}

/* Quote and pull quote */
.product-description .wp-block-quote{padding:2px 0 2px var(--space-40);border-left:1px solid var(--accent)}
.product-description .wp-block-quote p{margin:0 0 .4em;color:var(--ink);font-family:var(--serif);font-size:1.3rem;line-height:1.3}
.product-description .wp-block-quote>p:last-of-type{margin-bottom:0}
.product-description :is(.wp-block-quote,.wp-block-pullquote) cite{display:block;margin-top:12px;color:var(--muted);font-size:.7rem;font-style:normal;letter-spacing:.14em;line-height:1.4;text-transform:uppercase}
.product-description .wp-block-pullquote{padding:var(--space-40) 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);text-align:center}
.product-description .wp-block-pullquote blockquote{margin:0}
.product-description .wp-block-pullquote p{margin:0;color:var(--ink);font-family:var(--serif);font-size:1.5rem;line-height:1.25}

/* Separator: a hairline the width of the description, or three dots. */
.product-description .wp-block-separator,.product-description .wp-block-separator:not(.is-style-wide):not(.is-style-dots){width:100%;height:0;margin:var(--space-50) 0;border:0;border-top:1px solid var(--line);opacity:1}
.product-description .wp-block-separator.has-background:not(.is-style-dots){height:1px;border-top:0}
.product-description .wp-block-separator.is-style-dots{height:auto;border:0;color:var(--muted)}

/* Buttons: the theme's button (main.css), repeated for the editor canvas. */
.product-description .wp-block-buttons{gap:var(--space-30)}
.product-description .wp-block-button__link{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:14px 28px;border:1px solid var(--ink);border-radius:0;background:var(--ink);color:var(--paper);font-family:var(--sans);font-size:.75rem;font-weight:400;letter-spacing:.13em;line-height:1.2;text-align:center;text-decoration:none;text-transform:uppercase;transition:background-color .25s,color .25s}
.product-description .wp-block-button__link:hover{background:transparent;color:var(--ink)}
.product-description .wp-block-button.is-style-outline>.wp-block-button__link{border:1px solid var(--ink);background:transparent;color:var(--ink)}
.product-description .wp-block-button.is-style-outline>.wp-block-button__link:hover{background:var(--ink);color:var(--paper)}
.product-description .wp-block-button__link:focus-visible{outline:2px solid var(--ink);outline-offset:3px}

/* Table: ruled rows like the „Wymiary i materiały” table. Alignment set in the editor (has-text-align-*) still wins. */
.product-description .wp-block-table{overflow-x:auto}
.product-description .wp-block-table table{width:100%;border-top:1px solid var(--line);border-collapse:collapse;font-size:.88rem;line-height:1.5}
.product-description .wp-block-table :is(th,td){padding:10px 14px 10px 0;border:0;border-bottom:1px solid var(--line);vertical-align:top}
.product-description .wp-block-table :is(th,td):last-child{padding-right:0}
:where(.product-description .wp-block-table) :where(th,td){text-align:left}
.product-description .wp-block-table :is(thead,tfoot){border:0}
.product-description .wp-block-table thead th{border-bottom-color:var(--ink);color:var(--ink);font-size:.7rem;font-weight:400;letter-spacing:.13em;text-transform:uppercase}
.product-description .wp-block-table :is(tbody th,tfoot td,tfoot th){color:var(--ink);font-weight:400}
.product-description .wp-block-table.is-style-stripes{border:0}
.product-description .wp-block-table.is-style-stripes tbody tr:nth-child(odd){background:var(--wp--preset--color--sand)}
.product-description .wp-block-table.is-style-stripes :is(th,td){padding-left:10px;padding-right:10px}

/* WooCommerce product blocks (Product Collection and its product template): the theme's product cards. Two in a row, three
   when the text is at least 480 px wide; the Dori Omnibus lines stay inside the price in the price's colour (main.css). */
.product-description .wc-block-product-template.is-flex-container{gap:var(--space-40) var(--space-30)}
.product-description .wc-block-product-template.is-flex-container.is-flex-container[class*=columns-]>li{width:calc(50% - var(--space-30) / 2)}
.product-description .wc-block-product-template.is-flex-container.is-flex-container.columns-1>li{width:100%}
.product-description .wc-block-product .wc-block-components-product-image{margin:0 0 12px}
.product-description .wc-block-product .wc-block-components-product-image img{background:var(--wp--preset--color--stone)}
.product-description .wc-block-product .wp-block-post-title{color:var(--ink);font-family:var(--serif);font-weight:400;letter-spacing:-.005em;text-wrap:balance}
.product-description .wc-block-product .wp-block-post-title a{border:0;color:inherit;text-decoration:none}
.product-description .wc-block-components-product-price{color:var(--ink);font-weight:300}
.product-description .wc-block-components-product-price .dori-omnibus-line{margin-top:3px}
.product-description .wc-block-components-product-sale-badge,.product-description .product-badge-block .product-badge{min-width:0;padding:5px 9px;border:0;border-radius:0;background:var(--ink);color:#f7f3ed;font-size:.62rem;font-weight:400;line-height:1.2;letter-spacing:.13em;text-transform:uppercase}
/* „Nowość” (inc/new-badge.php) after the sale badge block, aligned as WooCommerce aligns that badge (4px from the image's
   corner, or in the image's column without an alignment), under „Promocja” when both show. */
.product-description .product-badge-block .product-badge{position:static;display:inline-block;width:fit-content}
.product-description .product-badge-block--align-left .product-badge{position:absolute;top:4px;left:4px}
.product-description .product-badge-block--align-center .product-badge{position:absolute;top:4px;left:50%;transform:translateX(-50%)}
.product-description .product-badge-block--align-right .product-badge{position:absolute;top:4px;right:4px;left:auto}
.product-description .wp-block-woocommerce-product-sale-badge+.product-badge-block{margin-top:4px}
.product-description .wp-block-woocommerce-product-sale-badge+.product-badge-block[class*=--align-] .product-badge{top:calc(18px + .744rem)}
.product-description .wc-block-components-product-button{margin-top:10px}
.product-description .wc-block-components-product-button .wp-block-button__link{min-height:0;padding:4px 0 5px;border:0;border-bottom:1px solid currentColor;background:none;color:var(--ink);font-size:.7rem;letter-spacing:.14em;line-height:1.4}
.product-description .wc-block-components-product-button .wp-block-button__link:hover{background:none;color:var(--ink);opacity:.62}
/* After an add the cart drawer opens (theme.js), as in the shop's lists, so WooCommerce's „Zobacz koszyk” link is not needed. */
.product-description .wc-block-components-product-button .added_to_cart{display:none}

@container product-description (max-width:479px){
	.product-description .wp-block-columns:not(.is-not-stacked-on-mobile){flex-wrap:wrap!important}
	.product-description .wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column{flex-basis:100%!important}
	.product-description>:is(.alignleft,.alignright){float:none;max-width:100%;margin-left:0;margin-right:0}
	.product-description .wp-block-media-text.is-stacked-on-mobile{grid-template-columns:100%!important}
	.product-description .wp-block-media-text.is-stacked-on-mobile>.wp-block-media-text__media{grid-column:1;grid-row:1}
	.product-description .wp-block-media-text.is-stacked-on-mobile>.wp-block-media-text__content{grid-column:1;grid-row:2}
}
@container product-description (min-width:480px){
	.product-description .wc-block-product-template.is-flex-container.is-flex-container[class*=columns-]:not(.columns-1):not(.columns-2)>li{width:calc((100% - 2 * var(--space-30)) / 3)}
}
/* A wide or full product block with four or more columns: four in a row, like the shop's grid. */
@container product-description (min-width:900px){
	.product-description>:is(.alignwide,.alignfull) .wc-block-product-template.is-flex-container.is-flex-container[class*=columns-]:not(.columns-1):not(.columns-2):not(.columns-3)>li{width:calc((100% - 3 * var(--space-30)) / 4)}
}
@media(max-width:900px){
	.product-description-row{margin-bottom:48px}
}
@media(prefers-reduced-motion:reduce){
	.product-description .wp-block-button__link{transition:none}
}
