/* Bloom Room Atelier 1.6.1 — responsive boutique presentation.
   Loaded last, after the earlier styling layers. No checkout/cart logic changes.
   Special editorial landing pages remain full-bleed by design. */

/* 01 — One deliberate rhythm for everyday pages, shop and product views. */
body.br-atelier{--brs-container:1280px;--br-tablet-gutter:clamp(22px,4.5vw,64px);--br-content-reading:900px}
body.br-atelier .br-container:not(.br-landing-fullbleed){
  width:calc(100% - (var(--br-tablet-gutter) * 2))!important;
  max-width:var(--brs-container)!important;
  margin-inline:auto!important;
}
body.br-atelier .br-site-header .br-header-inner.br-container,
body.br-atelier .br-topbar .br-topbar-inner.br-container{
  width:calc(100% - clamp(32px,5vw,92px))!important;
  max-width:1720px!important;
}
body.br-atelier .br-site-main:not(.br-landing-fullbleed){min-width:0}
body.br-atelier .br-page-main:not(.br-landing-fullbleed) .br-page-article .entry-content,
body.br-atelier .br-home-main:not(.br-landing-fullbleed) .br-home-article .entry-content{min-width:0}
/* Normal Gutenberg editorial prose, rather than unstyled full-width paragraphs. */
body.br-atelier .br-page-main:not(.br-landing-fullbleed) .entry-content > :is(p,h2,h3,h4,h5,h6,ul,ol,blockquote),
body.br-atelier .br-home-main:not(.br-landing-fullbleed) .entry-content > :is(p,h2,h3,h4,h5,h6,ul,ol,blockquote){
  max-width:var(--br-content-reading);
  margin-inline:auto;
}
body.br-atelier .br-page-main:not(.br-landing-fullbleed) .entry-content > p,
body.br-atelier .br-home-main:not(.br-landing-fullbleed) .entry-content > p{font-size:clamp(14px,1.1vw,16px);line-height:1.95;color:#695e66;margin-block:0 1.6em}
body.br-atelier .br-page-main:not(.br-landing-fullbleed) .entry-content > :is(h2,h3),
body.br-atelier .br-home-main:not(.br-landing-fullbleed) .entry-content > :is(h2,h3){margin-block:clamp(38px,5vw,68px) 20px;font-weight:500;line-height:1.25;letter-spacing:-.038em}
body.br-atelier .br-page-main:not(.br-landing-fullbleed) .entry-content > :is(h2,h3):first-child{margin-top:0}
body.br-atelier .br-page-main:not(.br-landing-fullbleed) .entry-content > :is(ul,ol){line-height:1.85;color:#695e66;margin-bottom:28px;padding-left:clamp(22px,3vw,38px)}
body.br-atelier .br-page-main:not(.br-landing-fullbleed) .entry-content > .wp-block-group:not(.alignfull){max-width:100%;margin-inline:auto}
body.br-atelier .br-page-main:not(.br-landing-fullbleed) .entry-content > .wp-block-separator{max-width:var(--br-content-reading);margin:38px auto}
body.br-atelier .br-page-main:not(.br-landing-fullbleed) .entry-header{max-width:var(--br-content-reading);margin-inline:auto}

/* 02 — Site header: ample breathing room, one logo, no compressed link row.
   Tablet/zoom breakpoint mirrors the menu's JS behavior. */
body.br-atelier .br-site-header .br-header-inner{gap:clamp(18px,2.3vw,38px)}
body.br-atelier .br-site-header .br-brand{position:relative;z-index:2;flex:0 0 auto}
body.br-atelier .br-site-header .br-brand .custom-logo{max-width:min(235px,17vw);max-height:78px}
body.br-atelier .br-site-header .br-header-actions{flex:1 1 auto;min-width:0;gap:clamp(8px,1.1vw,18px)}
body.br-atelier .br-site-header .br-main-navigation{min-width:0}
body.br-atelier .br-site-header .br-menu{gap:clamp(1px,.3vw,7px)}
body.br-atelier .br-site-header .br-menu > li > a{font-size:clamp(11px,.7vw,13px);padding-inline:clamp(5px,.55vw,10px)}
body.br-atelier .br-site-header .br-mobile-toggle{flex:0 0 44px;min-height:44px}
/* Also correct the independently enabled header cart counter. */
body.br-atelier .br-cart-count{display:inline-grid;place-items:center;flex:0 0 24px;width:24px;min-width:24px;max-width:24px;height:24px;min-height:24px;max-height:24px;aspect-ratio:1;border-radius:50%;padding:0;line-height:1;font-size:11px;font-weight:750;font-variant-numeric:tabular-nums;box-sizing:border-box}
/* Existing cart item: the badge is drawn by the current menu/cart provider. */
body.br-atelier .br-main-navigation .br-menu > li:is(.br-atelier-menu-cart,.wpmenucartli) :is(.cartcontents,.cart-count,.cart-contents-count,.cartitems,.cart-counter,.cart-count-badge,.count,.basket-count),
body.br-atelier .br-main-navigation .br-menu > li > a.br-atelier-menu-cart-link :is(.cartcontents,.cart-count,.cart-contents-count,.cartitems,.cart-counter,.cart-count-badge,.count,.basket-count){
  display:inline-grid!important;place-items:center!important;flex:0 0 23px!important;
  width:23px!important;min-width:23px!important;max-width:23px!important;
  height:23px!important;min-height:23px!important;max-height:23px!important;
  aspect-ratio:1!important;box-sizing:border-box!important;border-radius:50%!important;
  padding:0!important;margin:0!important;line-height:1!important;font-size:11px!important;
  text-align:center!important;white-space:nowrap!important;font-variant-numeric:tabular-nums!important;
  vertical-align:middle!important;
}
body.br-atelier .br-main-navigation .br-menu > li:is(.br-atelier-menu-cart,.wpmenucartli) :is(.cartcontents,.cart-count,.cart-contents-count,.cartitems,.cart-counter,.cart-count-badge,.count,.basket-count):empty{display:none!important}

/* 03 — Catalogue: cards instead of enormous image-and-plain-text stacks. */
body.br-atelier .woocommerce ul.products,
body.br-atelier.woocommerce ul.products,
body.br-atelier.woocommerce-page ul.products{
  width:100%;max-width:1180px;margin:0 auto clamp(38px,5vw,66px)!important;
  display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:clamp(18px,2.3vw,28px)!important;align-items:stretch;
}
body.br-atelier .woocommerce ul.products li.product,
body.br-atelier.woocommerce ul.products li.product,
body.br-atelier.woocommerce-page ul.products li.product{
  position:relative;min-width:0!important;float:none!important;
  background:#fff!important;border:1px solid #eee2e7!important;
  border-radius:20px!important;overflow:hidden!important;
  box-shadow:0 10px 28px rgba(69,43,56,.045)!important;
  padding:0 0 22px!important;
  transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease;
}
body.br-atelier .woocommerce ul.products li.product:hover,
body.br-atelier.woocommerce ul.products li.product:hover{
  border-color:#d6bcc9!important;box-shadow:0 17px 36px rgba(69,43,56,.095)!important;transform:translateY(-3px);
}
body.br-atelier .woocommerce ul.products li.product a img,
body.br-atelier.woocommerce ul.products li.product a img{
  display:block!important;width:100%!important;max-width:100%!important;
  height:auto!important;aspect-ratio:4/4.4!important;object-fit:cover!important;
  margin:0 0 18px!important;background:#f8f3f5;transition:transform .3s ease;
}
body.br-atelier .woocommerce ul.products li.product .woocommerce-loop-product__title,
body.br-atelier.woocommerce ul.products li.product .woocommerce-loop-product__title{
  padding-inline:18px!important;margin:0 0 9px!important;
  font-size:clamp(16px,1.25vw,21px)!important;line-height:1.38!important;
  font-weight:550!important;letter-spacing:-.025em;text-align:center!important;
  min-height:2.76em!important;
}
body.br-atelier .woocommerce ul.products li.product .price,
body.br-atelier.woocommerce ul.products li.product .price{
  margin:0 12px 17px!important;font-size:15px!important;font-weight:750!important;line-height:1.4;
  text-align:center!important;color:#94647a!important;
}
body.br-atelier .woocommerce ul.products li.product .button,
body.br-atelier.woocommerce ul.products li.product .button{
  width:calc(100% - 36px)!important;max-width:calc(100% - 36px)!important;
  margin:auto 18px 0!important;align-self:center!important;
  min-height:43px!important;padding:10px 12px!important;
  border-radius:12px!important;background:#f6edf1!important;
  border:1px solid #ead9e1!important;color:#725465!important;
  font-weight:700!important;font-size:12px!important;line-height:1.45!important;
  text-align:center;white-space:normal!important;
}
body.br-atelier .woocommerce ul.products li.product .button:hover,
body.br-atelier.woocommerce ul.products li.product .button:hover{background:#745b6a!important;border-color:#745b6a!important;color:#fff!important}
body.br-atelier .woocommerce ul.products li.product .star-rating{margin-inline:auto!important}
/* Homepage "Wasze ulubione": four cards on desktop, no orphan fourth card.
   Do not inherit the three-column catalogue rule at intermediate viewport widths. */
body.br-atelier .brhp .brhp-products .wc-block-grid__products{
  display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:clamp(14px,1.7vw,25px)!important;max-width:1180px!important;
  width:calc(100% - clamp(34px,6vw,88px))!important;margin-inline:auto!important;
}
body.br-atelier .brhp .brhp-products .wc-block-grid__products > li.wc-block-grid__product{
  min-width:0!important;width:100%!important;max-width:100%!important;margin:0!important;
  padding-bottom:20px!important;border-radius:19px!important;
}
body.br-atelier .brhp .brhp-products .wc-block-grid__product .wc-block-grid__product-image img{aspect-ratio:4/4.3!important}
body.br-atelier .brhp .brhp-products .wc-block-grid__product .wc-block-grid__product-title{
  font-size:clamp(16px,1.25vw,21px)!important;min-height:2.7em!important;
  font-weight:550!important;margin-bottom:7px!important;
}
body.br-atelier .brhp .brhp-products .wc-block-grid__product .wc-block-grid__product-price{margin-bottom:17px!important}

/* 04 — Single product: consistent margins and a calm editorial description. */
body.br-atelier.single-product .br-shop-main.br-container{max-width:1240px!important}
body.br-atelier.single-product .woocommerce div.product{min-width:0}
body.br-atelier.single-product .woocommerce div.product .woocommerce-product-gallery{
  max-width:100%;min-width:0;margin-bottom:clamp(30px,4vw,55px);
}
body.br-atelier.single-product .woocommerce div.product .summary{
  min-width:0;max-width:100%;padding-top:clamp(4px,1.4vw,22px);
}
body.br-atelier.single-product .woocommerce div.product .product_title{
  font-size:clamp(30px,3.2vw,49px)!important;line-height:1.2;letter-spacing:-.04em;
}
body.br-atelier.single-product .woocommerce div.product .woocommerce-tabs{
  clear:both!important;max-width:100%;margin-top:clamp(35px,5vw,70px)!important;
  margin-bottom:clamp(35px,5vw,64px)!important;
  border-top:1px solid #ece1e6;padding-top:clamp(25px,3vw,42px);
}
body.br-atelier.single-product .woocommerce div.product .woocommerce-tabs ul.tabs{
  width:100%;max-width:var(--br-content-reading);margin:0 auto 24px!important;
  padding:0 0 8px!important;gap:clamp(18px,3vw,35px)!important;
}
body.br-atelier.single-product .woocommerce div.product .woocommerce-tabs .panel{
  box-sizing:border-box;max-width:var(--br-content-reading);margin-inline:auto!important;
  padding:clamp(8px,1.4vw,20px) 0 20px!important;
  font-size:clamp(14px,1vw,16px)!important;line-height:1.95!important;color:#665e65!important;
}
body.br-atelier.single-product .woocommerce div.product .woocommerce-tabs .panel p{margin:0 0 1.35em}
body.br-atelier.single-product .woocommerce div.product .woocommerce-tabs .panel h2{font-size:clamp(24px,2.4vw,32px);font-weight:550;margin-bottom:22px}
body.br-atelier.single-product .woocommerce .related.products,
body.br-atelier.single-product .woocommerce .up-sells{clear:both;max-width:100%;padding-top:clamp(22px,3vw,40px);margin-top:30px}
body.br-atelier.single-product .woocommerce .related.products > h2,
body.br-atelier.single-product .woocommerce .up-sells > h2{font-size:clamp(26px,3vw,38px);font-weight:550}

/* 05 — Classic cart: constrain panels, protect cart table, align totals. */
body.br-atelier.woocommerce-cart .br-page-main.br-container{max-width:1280px!important}
body.br-atelier.woocommerce-cart .woocommerce{width:100%;min-width:0}
body.br-atelier.woocommerce-cart .woocommerce-cart-form{box-sizing:border-box;min-width:0}
body.br-atelier.woocommerce-cart .cart-collaterals{box-sizing:border-box;min-width:0}
body.br-atelier.woocommerce-cart .woocommerce table.shop_table{width:100%;max-width:100%;table-layout:auto}
body.br-atelier.woocommerce-cart .woocommerce table.shop_table th,
body.br-atelier.woocommerce-cart .woocommerce table.shop_table td{padding:clamp(12px,1.2vw,18px) clamp(10px,1.2vw,17px)}
body.br-atelier.woocommerce-cart .woocommerce .product-name a{font-size:clamp(15px,1.4vw,20px)!important}
body.br-atelier.woocommerce-cart .cart-collaterals .cart_totals{width:100%;max-width:100%;padding:clamp(19px,2.3vw,30px)!important}
body.br-atelier.woocommerce-cart .cart-collaterals .cart_totals h2{font-size:clamp(23px,2.3vw,31px)}
body.br-atelier.woocommerce-cart .cart-collaterals .woocommerce-shipping-methods li{overflow-wrap:anywhere}
body.br-atelier.woocommerce-cart .cart-collaterals .woocommerce-shipping-methods label{overflow-wrap:anywhere}

/* 06 — Tablet: prioritize readability over squeezing desktop columns. */
@media(min-width:1501px){
  body.br-atelier .woocommerce ul.products,
  body.br-atelier.woocommerce ul.products,
  body.br-atelier.woocommerce-page ul.products{grid-template-columns:repeat(4,minmax(0,1fr))!important}
}
@media(min-width:801px) and (max-width:1500px){
  body.br-atelier .woocommerce ul.products,
  body.br-atelier.woocommerce ul.products,
  body.br-atelier.woocommerce-page ul.products{grid-template-columns:repeat(3,minmax(0,1fr))!important}
}
@media(max-width:1100px){
  body.br-atelier .brhp .brhp-products .wc-block-grid__products{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    max-width:760px!important;
  }
}
@media(min-width:981px) and (max-width:1250px){
  body.br-atelier.woocommerce-cart .woocommerce-cart-form,
  body.br-atelier.woocommerce-cart .cart-collaterals{
    width:100%!important;float:none!important;clear:both!important;margin:0 0 26px!important;
  }
  body.br-atelier.woocommerce-cart .cart-collaterals .cart_totals{max-width:680px}
}
@media(max-width:980px){
  body.br-atelier .br-container:not(.br-landing-fullbleed){width:calc(100% - 44px)!important}
  body.br-atelier .woocommerce ul.products,
  body.br-atelier.woocommerce ul.products,
  body.br-atelier.woocommerce-page ul.products{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  body.br-atelier .brhp .brhp-products .wc-block-grid__products{grid-template-columns:repeat(2,minmax(0,1fr))!important;max-width:760px!important}
  body.br-atelier .woocommerce div.product .woocommerce-tabs .panel{padding-inline:0}
  body.br-atelier.woocommerce-cart .woocommerce-cart-form,
  body.br-atelier.woocommerce-cart .cart-collaterals{width:100%!important;float:none!important;clear:both!important}
}
@media(max-width:600px){
  body.br-atelier{--br-tablet-gutter:16px}
  body.br-atelier .br-container:not(.br-landing-fullbleed){width:calc(100% - 32px)!important}
  body.br-atelier .br-site-header .br-header-inner.br-container,
  body.br-atelier .br-topbar .br-topbar-inner.br-container{width:calc(100% - 32px)!important}
  body.br-atelier .woocommerce ul.products,
  body.br-atelier.woocommerce ul.products,
  body.br-atelier.woocommerce-page ul.products{gap:13px!important}
  body.br-atelier .woocommerce ul.products li.product,
  body.br-atelier.woocommerce ul.products li.product{border-radius:15px!important;padding-bottom:14px!important}
  body.br-atelier .woocommerce ul.products li.product .woocommerce-loop-product__title,
  body.br-atelier.woocommerce ul.products li.product .woocommerce-loop-product__title{font-size:15px!important;padding-inline:9px!important;min-height:2.65em!important}
  body.br-atelier .woocommerce ul.products li.product .button,
  body.br-atelier.woocommerce ul.products li.product .button{margin-inline:9px!important;width:calc(100% - 18px)!important;max-width:calc(100% - 18px)!important;font-size:11px!important;min-height:41px!important}
  body.br-atelier .brhp .brhp-products .wc-block-grid__products{width:calc(100% - 28px)!important;gap:12px!important}
  body.br-atelier .brhp .brhp-products .wc-block-grid__product .wc-block-grid__product-title{font-size:15px!important}
  body.br-atelier .brhp .brhp-products .wc-block-grid__product .wc-block-grid__product-image img{aspect-ratio:4/4.5!important}
  body.br-atelier.single-product .woocommerce div.product .woocommerce-tabs ul.tabs{gap:20px!important}
}
@media(max-width:365px){
  body.br-atelier .woocommerce ul.products,
  body.br-atelier.woocommerce ul.products,
  body.br-atelier.woocommerce-page ul.products{grid-template-columns:1fr!important;max-width:300px!important}
  body.br-atelier .brhp .brhp-products .wc-block-grid__products{grid-template-columns:1fr!important;max-width:310px!important}
}
@media(prefers-reduced-motion:reduce){
  body.br-atelier .woocommerce ul.products li.product,
  body.br-atelier.woocommerce ul.products li.product:hover{transition:none!important;transform:none!important}
}
