/* Katalog: trzy produkty w rzędzie, czytelne ceny i stały koszyk. */
.store-page {
   --store-ink:#193c2c;
  --store-line:#e0e6df;
  --store-muted:#788578;
   
}

.store-page .shop-main {
   background:#f7f8f6;
  padding-bottom:70px;
  font-family:Arial,Helvetica,sans-serif;
   
}

.store-page .shop-main>.demo-note {
   padding:7px 16px;
  background:#edf2e9;
  color:#6b7c65;
  font-size:10px;
  text-align:center;
  line-height:1.6;
   
}

.store-page .store-hero {
   background:#fff;
  border-bottom:1px solid #e0e6de;
   
}

.store-page .store-hero>.container,.store-page .shop-layout {
   width:min(1420px,94%);
   
}

.store-breadcrumb {
   display:flex;
  justify-content:flex-start;
  gap:10px;
  padding-top:20px;
  font-size:11px;
  color:#879082;
   
}

.store-breadcrumb a {
   color:#53704e;
   
}

.store-heading {
   display:flex;
  align-items:center;
  justify-content:space-between;
  gap:30px;
  padding:22px 0 30px;
   
}

.store-heading-kicker {
   font-size:10px;
  letter-spacing:1.6px;
  color:#6a8061;
  margin:0 0 9px;
   
}

.store-heading h1 {
   font-size:38px;
  line-height:1.12;
  letter-spacing:-1.3px;
  margin:0 0 12px;
  color:var(--store-ink);
  font-weight:600;
   
}

.store-heading>div>p:last-child {
   color:#758272;
  font-size:13px;
  line-height:1.8;
  margin:0;
   
}

.store-contact {
   padding:5px 0 5px 28px;
  border-left:1px solid #e0e7dc;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:7px;
   
}

.store-contact>span {
   font-size:11px;
  color:#7a8974;
   
}

.store-contact>a {
   font-size:12px;
  color:#35613e;
   
}

.store-contact .store-contact-phone {
   font-size:20px;
  font-weight:600;
  letter-spacing:.4px;
   
}

.mobile-only {
   display:none;
   
}

.store-page .shop-layout {
   display:grid;
  grid-template-columns:minmax(0,1fr) 300px;
  gap:28px;
  padding-top:32px;
  align-items:start;
   
}

.store-section-heading {
   display:flex;
  align-items:center;
  justify-content:space-between;
  margin-bottom:20px;
   
}

.store-section-heading h2 {
   font-size:25px;
  line-height:1.1;
  letter-spacing:-.6px;
  margin:0;
  color:var(--store-ink);
   
}

.store-page .shop-toolbar {
   display:flex;
  justify-content:space-between;
  align-items:center;
  gap:18px;
  flex-wrap:nowrap;
  padding:15px 0;
  border-top:1px solid #e0e6de;
  border-bottom:1px solid #e0e6de;
   
}

.store-page .shop-filters {
   display:flex;
  gap:5px;
  flex-wrap:nowrap;
   
}

.store-page .shop-filters button {
   padding:10px 13px;
  background:transparent;
  border:1px solid transparent;
  border-radius:5px;
  font-size:12px;
  color:#748270;
  white-space:nowrap;
  cursor:pointer;
   
}

.store-page .shop-filters button[aria-pressed=true] {
   border-color:#d6e2d2;
  background:#e9f0e5;
  color:#2e5739;
  font-weight:600;
   
}

.store-page .shop-filters button:after {
   display:none;
   
}

.store-page .shop-search {
   display:block;
  margin:0;
  max-width:230px;
  width:100%;
  font-size:10px;
  color:#7d8978;
   
}

.store-page .shop-search input {
   margin-top:3px;
  padding:9px 11px;
  border:1px solid #dbe3d7;
  border-radius:5px;
  font-size:12px;
  color:#314b34;
  background:white;
   
}

.store-page #result-count {
   margin:15px 0;
  font-size:11px;
  color:#8a9683;
   
}

.store-page .shop-grid {
   display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:22px 17px;
   
}

.store-page .shop-card {
   border:1px solid #e0e6dc;
  border-radius:9px;
  background:white;
  box-shadow:none;
  overflow:hidden;
  display:flex;
  flex-direction:column;
  transition:border-color .2s,box-shadow .2s;
   
}

.store-page .shop-card:hover {
   border-color:#adc2a4;
  box-shadow:0 8px 25px #233e250a;
  transform:none;
   
}

.store-page .catalog-photo {
   height:200px;
  background:#f0f3ed;
  position:relative;
  padding:18px;
   
}

.store-page .catalog-photo img {
   width:100%;
  height:164px;
  object-fit:contain;
  background:transparent;
  max-height:none;
   
}

.store-page .catalog-capacity,.store-page .catalog-thick {
   position:absolute;
  top:12px;
  background:#fff;
  color:#35533b;
  border:1px solid #dce5d5;
  padding:4px 8px;
  font-size:10px;
  border-radius:4px;
  z-index:1;
   
}

.store-page .catalog-capacity {
   left:12px;
  font-weight:600;
   
}

.store-page .catalog-thick {
   right:12px;
  background:#e3eddc;
  color:#45623a;
   
}

.store-page .shop-card-body {
   padding:18px;
  display:flex;
  flex-direction:column;
  flex:1;
   
}

.store-page .shop-badge {
   font-size:9px;
  letter-spacing:1px;
  color:#829279;
   
}

.store-page .shop-card h2 {
   font-size:18px;
  line-height:1.3;
  min-height:47px;
  letter-spacing:-.5px;
  font-weight:600;
  margin:8px 0 5px;
  color:#203e2c;
   
}

.store-page .shop-card-body>p.shop-muted {
   margin:0;
  font-size:11px;
  line-height:1.6;
  color:#8a9582;
   
}

.store-page .catalog-colors {
   display:flex;
  gap:4px;
  flex-wrap:wrap;
  margin:13px 0 5px;
   
}

.store-page .catalog-color {
   display:grid;
  place-items:center;
  width:26px;
  height:26px;
  padding:3px;
  border:1px solid transparent;
  border-radius:50%;
  background:transparent;
  cursor:pointer;
   
}

.store-page .catalog-color>span {
   width:18px;
  height:18px;
  border-radius:50%;
  border:1px solid #0002;
   
}

.store-page .catalog-color:hover {
   border-color:#a9be9f;
   
}

.store-page .catalog-color[aria-pressed=true] {
   border-color:#285b47;
  box-shadow:0 0 0 1px #285b47;
   
}

.store-page .catalog-color-name {
   margin:0 0 13px;
  font-size:10px;
  color:#74836a;
  line-height:1.5;
  min-height:15px;
   
}

.store-page .shop-card .shop-price {
   font-size:24px;
  line-height:1.2;
  letter-spacing:-.6px;
  color:#203e2b;
  margin:5px 0 7px;
   
}

.store-page .shop-card .shop-price small {
   font-size:10px;
  font-weight:400;
  letter-spacing:0;
   
}

.store-page .shop-card .card-price-note {
   font-size:10px;
   
}

.store-page .catalog-actions {
   display:grid;
  grid-template-columns:65px minmax(0,1fr);
  gap:10px 9px;
  margin-top:auto;
  padding-top:17px;
  align-items:end;
   
}

.store-page .catalog-quantity-label {
   display:flex;
  flex-direction:column;
  gap:5px;
  font-size:9px;
  color:#7b8b71;
  line-height:1.4;
  margin:0;
   
}

.store-page .catalog-quantity {
   padding:8px 9px;
  width:100%;
  min-width:0;
  height:40px;
  border:1px solid #d5dfcc;
  border-radius:5px;
  background:#fff;
  color:#2f4e36;
  font:13px Arial,Helvetica,sans-serif;
   
}

.store-page .catalog-actions .quick-add {
   min-height:40px;
  height:auto;
  width:100%;
  margin:0;
  padding:10px 5px;
  border-radius:5px;
  border:1px solid #285b47;
  background:#285b47;
  color:white;
  font-size:11px;
  font-weight:600;
  line-height:1.5;
  cursor:pointer;
   
}

.store-page .catalog-actions .quick-add:hover {
   background:#1c4233;
   
}

.store-page .catalog-actions .quick-add:disabled {
   background:#e6eddf;
  border-color:#e6eddf;
  color:#8b987f;
  opacity:1;
  cursor:not-allowed;
   
}

.store-page .catalog-details {
   grid-column:1/-1;
  justify-self:center;
  padding:4px 12px;
  background:transparent;
  border:0;
  color:#6b815d;
  font:11px Arial,Helvetica,sans-serif;
  text-decoration:underline;
  text-underline-offset:4px;
  cursor:pointer;
   
}

.store-page .catalog-details:hover {
   color:#285b47;
   
}

.store-page .catalog-photo-missing:not([hidden]) {
   height:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  flex-direction:column;
   
}

.store-page .catalog-photo-missing>span {
   width:60px;
  height:60px;
  border-radius:50%;
  border:1px solid #0002;
   
}

.store-page .catalog-photo-missing strong {
   font-size:12px;
  font-weight:600;
   
}

.store-page .catalog-photo-missing small {
   font-size:10px;
  color:#83917b;
   
}

.store-page .shop-cart {
   top:110px;
  padding:21px 20px;
  background:#fff;
  border:1px solid #dae4d3;
  border-radius:9px;
  box-shadow:0 5px 20px #1e3b2310;
   
}

.store-page .cart-heading h2 {
   font-size:20px;
  letter-spacing:-.5px;
   
}

.store-page #cart-count {
   font-size:10px;
  background:#e9f1e3;
  padding:4px 7px;
  border-radius:4px;
  white-space:nowrap;
   
}

.store-page .shop-cart>.shop-muted {
   font-size:10px;
  color:#8b9980;
   
}

.store-page .cart-empty {
   background:#f7f9f3;
  border:1px dashed #d6e2cb;
  border-radius:6px;
  padding:22px 12px;
   
}

.store-page .cart-empty>span {
   width:34px;
  height:34px;
  background:#e7efde;
   
}

.store-page .cart-empty strong {
   font-size:12px;
   
}

.store-page .cart-empty p {
   font-size:11px;
  line-height:1.7;
  color:#8a977d;
   
}

.store-page .cart-row {
   padding-block:14px;
   
}

.store-page .cart-row strong {
   font-size:12px;
   
}

.store-page .cart-row .shop-muted,.store-page .cart-line-price small {
   font-size:10px;
   
}

.store-page .cart-product-heading img {
   width:44px;
  height:44px;
  flex-basis:44px;
  background:#f3f5ee;
   
}

.store-page .cart-controls {
   gap:6px;
  flex-wrap:wrap;
   
}

.store-page .cart-controls button {
   width:28px;
  height:29px;
   
}

.store-page .cart-controls input {
   width:47px;
   
}

.store-page .cart-total {
   font-size:12px;
   
}

.store-page #total {
   font-size:22px;
  letter-spacing:-.6px;
   
}

.store-page .shop-cart .button {
   font-size:11px;
  border-radius:5px;
  padding:12px 7px;
   
}

.store-page .shop-cart .button:disabled {
   background:#e1ead8;
  color:#819473;
  border-color:#e1ead8;
  opacity:1;
   
}

@media(max-width:1200px) {
   .store-page .shop-grid{
  grid-template-columns:repeat(2,minmax(0,1fr))
}
.store-page .shop-layout{
  grid-template-columns:minmax(0,1fr) 280px;
  gap:22px
}
.store-page .shop-filters button{
  padding-inline:9px
}
.store-page .shop-toolbar{
  gap:10px
}
 
}

@media(max-width:850px) {
   .store-page .shop-layout{
  grid-template-columns:1fr
}
.store-page .shop-cart{
  position:static
}
.store-contact{
  display:none
}
 
}

@media(max-width:550px) {
  
 .store-page .store-hero>.container,.store-page .shop-layout{
  width:92%
}
.store-heading{
  padding:20px 0 25px
}
.store-heading h1{
  font-size:32px
}
.store-heading>div>p:last-child{
  font-size:12px
}
.mobile-only{
  display:block
}
.store-page .shop-toolbar{
  flex-wrap:wrap;
  gap:14px
}
.store-page .shop-search{
  max-width:none;
  font-size:10px
}
.store-page .shop-search input{
  font-size:16px
}
.store-page .shop-filters{
  gap:6px
}
.store-page .shop-filters button{
  font-size:12px;
  padding:9px 12px
}
.store-page .shop-grid{
  gap:13px 11px
}
.store-page .catalog-photo{
  height:147px;
  padding:13px
}
.store-page .catalog-photo img{
  height:121px
}
.store-page .catalog-capacity,.store-page .catalog-thick{
  font-size:8px;
  top:8px;
  padding:3px 5px
}
.store-page .catalog-capacity{
  left:8px
}
.store-page .catalog-thick{
  right:8px
}
.store-page .shop-card-body{
  padding:13px 11px
}
.store-page .shop-card h2{
  font-size:15px;
  min-height:40px
}
.store-page .shop-badge{
  font-size:8px
}
.store-page .shop-card-body>p.shop-muted{
  font-size:10px
}
.store-page .catalog-colors{
  gap:4px;
  margin-top:10px
}
.store-page .catalog-color{
  width:27px;
  height:27px
}
.store-page .catalog-color-name{
  font-size:9px;
  margin-bottom:9px
}
.store-page .shop-card .shop-price{
  font-size:20px
}
.store-page .shop-card .shop-price small{
  display:block;
  font-size:9px;
  margin-top:3px
}
.store-page .catalog-actions{
  grid-template-columns:1fr;
  gap:8px;
  padding-top:14px
}
.store-page .catalog-quantity-label{
  flex-direction:row;
  align-items:center;
  justify-content:space-between;
  font-size:10px
}
.store-page .catalog-quantity{
  width:58px;
  font-size:16px;
  height:35px
}
.store-page .catalog-actions .quick-add{
  font-size:10px;
  min-height:38px
}
.store-page .catalog-details{
  min-height:29px;
  font-size:10px
}


}

@media(max-width:350px) {
   .store-page .shop-grid{
  grid-template-columns:1fr
}
.store-page .catalog-photo{
  height:220px
}
.store-page .catalog-photo img{
  height:194px
}
 
}

@media(prefers-reduced-motion:reduce) {
   .store-page .shop-card{
  transition:none
}
 
}

/* Lista produktów przewija się niezależnie;
   podsumowanie pozostaje dostępne. */
.store-page .shop-cart {
  
  display: flex;
  
  flex-direction: column;
  
  max-height: calc(100dvh - 130px);
  
  overflow: hidden;
  

}

.store-page .shop-cart > .cart-heading,
.store-page .shop-cart > .cart-subtitle,
.store-page .cart-footer {
  
  flex: none;
  

}

.store-page #cart-items {
  
  min-height: 74px;
  
  overflow-y: auto;
  
  overscroll-behavior: contain;
  
  scrollbar-width: thin;
  
  scrollbar-color: #acbfa0 transparent;
  
  padding-right: 5px;
  
  flex: 1 1 auto;
  

}

.store-page .shop-cart .cart-subtitle {
  
  margin: 6px 0 12px;
  

}

.store-page .cart-footer {
  
  border-top: 1px solid #dfe6d6;
  
  padding-top: 10px;
  

}

.store-page .cart-footer .cart-total {
  
  margin-top: 0;
  
  padding-top: 0;
  
  border: 0;
  

}

.store-page .cart-footer #total-net {
  
  margin: 3px 0;
  
  font-size: 9px;
  

}

.store-page .cart-footer .delivery-progress {
  
  padding: 8px 9px;
  
  margin: 9px 0;
  
  font-size: 10px;
  

}

.store-page .cart-footer .delivery-progress p {
  
  margin-bottom: 5px;
  

}

.store-page .cart-shipping-details {
  
  font-size: 11px;
  
  margin: 9px 0;
  
  color: #57704c;
  

}

.store-page .cart-shipping-details > summary {
  
  cursor: pointer;
  
  padding: 5px 0;
  

}

.store-page .cart-shipping-details[open] {
  
  max-height: 170px;
  
  overflow: auto;
  
  scrollbar-width: thin;
  

}

.store-page .cart-shipping-details .delivery-options {
  
  margin: 8px 0;
  

}

.store-page .cart-footer .delivery-grand-total {
  
  margin: 8px 0 12px;
  
  padding-top: 9px;
  

}

.store-page .cart-footer #checkout-button {
  
  margin: 0;
  
  min-height: 40px;
  

}

.store-page .cart-footer #clear-cart {
  
  font-size: 10px;
  
  margin-top: 8px;
  

}

.store-page .cart-footer > .shop-muted {
  
  font-size: 10px;
  

}

.checkout-page #cart-items {
  
  max-height: 350px;
  
  overflow-y: auto;
  
  overscroll-behavior: contain;
  
  scrollbar-width: thin;
  

}

@media (min-width: 851px) and (max-height: 760px) {
  
  .store-page .shop-cart {
  
    top: 95px;
  
    max-height: calc(100dvh - 110px);
  
    padding-block: 15px;
  
  
}

  .store-page #cart-items {
  
    min-height: 60px;
  
  
}

  .store-page .cart-shipping-details[open] {
  
    max-height: 110px;
  
  
}

  .store-page .cart-footer .delivery-progress {
  
    font-size: 9px;
  
    margin-block: 6px;
  
    padding: 6px;
  
  
}

  .store-page .cart-footer .delivery-grand-total {
  
    margin: 6px 0 8px;
  
  
}

  .store-page .cart-heading h2 {
  
    font-size: 17px;
  
  
}


}

@media (max-width: 850px) {
  
  .store-page .shop-cart {
  
    max-height: none;
  
    overflow: visible;
  
    display: block;
  
  
}

  .store-page #cart-items {
  
    max-height: 310px;
  
    min-height: 0;
  
  
}

  .store-page .cart-footer {
  
    margin-top: 10px;
  
  
}

  .store-page .cart-shipping-details[open] {
  
    max-height: none;
  
    overflow: visible;
  
  
}


}

.store-page .cart-controls .remove {
  
  width: auto;
  
  min-width: 42px;
  
  padding-inline: 6px;
  
  font-size: 10px;
  

}


/* Całe zdjęcie otwiera szczegóły, także z klawiatury. */
.store-page button.catalog-photo {
  display: block;
  width: 100%;
  border: 0;
  border-radius: 0;
  flex: none;
  cursor: pointer;
  font: inherit;
  color: inherit;
}
.store-page button.catalog-photo:focus-visible {
  outline: 3px solid #285b47;
  outline-offset: -4px;
}
.store-page button.catalog-photo:hover img {
  transform: scale(1.035);
}
.store-page button.catalog-photo img {
  transition: transform .2s;
}
@media (prefers-reduced-motion: reduce) {
  .store-page button.catalog-photo img { transition: none; }
}
