/* Wspólne wykończenie wersji demonstracyjnej Arkady */
[hidden] {
  display: none !important;
}
img {
  max-width: 100%;
}
.header-content {
  gap: 20px;
}
#main-nav {
  gap: 20px;
}
#main-nav a[href="konto.html"] {
  padding-left: 18px;
  border-left: 1px solid var(--border);
}
.header .button-small {
  padding-inline: 16px;
}
.cart-product-heading {
  display: flex;
  align-items: center;
  gap: 12px;
}
.cart-product-heading img {
  flex: 0 0 58px;
  width: 58px;
  height: 58px;
  object-fit: contain;
  background: #f3f5f0;
  border-radius: 7px;
}
.cart-product-heading > div {
  min-width: 0;
}
.cart-line-price {
  margin-top: 11px;
}
.cart-line-price small {
  display: block;
  color: var(--muted);
  font-size: 11px;
  margin-top: 3px;
}
.cart-empty {
  padding: 20px 0;
  text-align: center;
}
.cart-empty > span {
  display: grid;
  place-items: center;
  width: 45px;
  height: 45px;
  margin: 0 auto 12px;
  background: #eef4ed;
  color: var(--brand);
  border-radius: 50%;
  font-size: 26px;
}
.cart-empty > strong {
  display: block;
  font-size: 15px;
}
.cart-empty p {
  font-size: 13px;
  color: var(--muted);
  margin-top: 6px;
}
.shop-checkout .form-grid {
  gap: 17px;
}
.shop-checkout input {
  min-height: 46px;
}
.shop-checkout .form-required-note {
  color: var(--muted);
  font-size: 12px;
  margin: 22px 0;
}
.profile-fill {
  padding: 11px 16px;
  border: 1px solid #cbd9cd;
  border-radius: 7px;
  color: var(--brand);
  background: #f4f8f2;
  font: inherit;
  font-size: 13px;
  cursor: pointer;
  margin-top: 18px;
}
.checkout-local-note {
  color: var(--muted);
  font-size: 11px;
  line-height: 1.7;
}
.shop-checkout .invoice-option input {
  width: 20px;
  min-height: 20px;
  flex-shrink: 0;
}
.checkout-pending {
  padding: 20px;
  border: 1px solid #e2d9b8;
  border-radius: 9px;
  background: #fbf8ed;
  font-size: 13px;
  line-height: 1.8;
  margin-block: 24px;
}
.checkout-pending p {
  margin-bottom: 0;
  color: var(--muted);
}
.review-data-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 25px;
  border-top: 1px solid var(--border);
  padding-top: 24px;
  margin-top: 24px;
}
.review-data {
  overflow-wrap: anywhere;
}
.review-data h3 {
  font-size: 18px;
}
.review-data p {
  font-size: 14px;
  color: var(--muted);
}
.review-totals {
  margin-top: 24px;
  padding: 20px;
  background: #eef5eb;
  border-radius: 8px;
}
.review-totals strong {
  display: block;
  font-size: 27px;
  color: var(--brand);
}
.review-totals small {
  color: var(--muted);
}
.checkout-page .shop-cart {
  top: 120px;
}
.checkout-page .shop-checkout h2 {
  font-size: 27px;
}
.shop-main .shop-cart [hidden] {
  display: none !important;
}
#empty-checkout {
  width: 100%;
}
.shop-card .button {
  min-height: 46px;
}
.product-image img {
  height: 100%;
}
.stretch-catalog-image {
  height: auto;
}
#quote-preview {
  scroll-margin-top: 120px;
}
#quote-preview pre {
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}
@media (max-width: 1100px) and (min-width: 951px) {
  #main-nav {
    gap: 14px;
  }
  #main-nav a {
    font-size: 13px;
  }
  .header-content {
    gap: 14px;
  }
}
@media (max-width: 800px) {
  .checkout-page .shop-cart {
    position: static;
  }
  .review-data-grid {
    grid-template-columns: 1fr;
    gap: 12px;
  }
}
@media (max-width: 650px) {
  #main-nav a[href="konto.html"] {
    padding-left: 8px;
    border-left: 0;
  }
  .checkout-page .shop-intro {
    padding-block: 30px;
  }
  .shop-checkout .form-grid {
    grid-template-columns: 1fr;
  }
  .cart-controls button {
    min-width: 36px;
    min-height: 36px;
  }
  .shop-intro h1 {
    font-size: 34px;
  }
}
/* Dostęp do koszyka bez przewijania całego katalogu na telefonie. */
.mobile-cart-shortcut {
  display: none;
}
.review-mode > .eyebrow,
.review-mode > h2,
.review-mode > p {
  display: none;
}
#order-review {
  scroll-margin-top: 115px;
}
@media (max-width: 700px) {
  .auth-layout > .account-card {
    order: -1;
  }
  .auth-copy {
    padding: 24px;
  }
  .auth-copy h2 {
    font-size: 24px;
  }
}
@media (max-width: 800px) {
  .mobile-cart-shortcut:not([hidden]) {
    position: fixed;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 15px;
    bottom: 12px;
    left: 5%;
    width: 90%;
    z-index: 50;
    padding: 14px 20px;
    border-radius: 10px;
    background: var(--brand);
    color: white;
    box-shadow: 0 5px 25px #17292325;
    font-size: 14px;
  }
  body.has-mobile-cart {
    padding-bottom: 75px;
  }
  .shop-cart {
    scroll-margin-top: 20px;
  }
}
.variant-photo {
  min-width: 0;
}
.variant-photo > img {
  width: 100%;
  height: auto;
  aspect-ratio: 3 / 2;
  object-fit: contain;
  background: #f3f6f1;
  border-radius: 10px;
}
.variant-photo > p {
  font-size: 11px;
  line-height: 1.5;
  color: var(--muted);
  margin-top: 10px;
  text-align: center;
}
.variant-unit-note {
  font-size: 11px;
  line-height: 1.6;
  color: var(--muted);
  margin: 8px 0 0;
}
.variant-selection {
  font-size: 12px;
  color: var(--brand);
  margin-top: 15px;
}
.variant-example-note {
  font-size: 11px;
  color: var(--muted);
  margin-bottom: 0;
}
.variant-card-hint {
  color: var(--brand);
  font-size: 12px;
  margin: 0 0 10px;
}
.detail-layout .shop-price {
  font-size: 23px;
}
@media (max-width: 550px) {
  .variant-photo > img {
    max-height: 185px;
  }
  #product-dialog {
    padding: 28px 22px;
  }
}
.catalog-colors {
  display: flex;
  gap: 7px;
  margin: 14px 0;
  flex-wrap: wrap;
}
.catalog-colors span {
  width: 17px;
  height: 17px;
  border: 1px solid #0002;
  border-radius: 50%;
}
.specs-title {
  font-size: 16px;
  margin: 22px 0 10px;
}
.product-specs {
  margin: 0;
  border: 1px solid #dfe7df;
  border-radius: 9px;
  overflow: hidden;
}
.product-specs > div {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  padding: 10px 13px;
  font-size: 13px;
  background: #f8faf6;
}
.product-specs > div + div {
  border-top: 1px solid #e3e9df;
}
.product-specs dt {
  color: #647364;
}
.product-specs dd {
  margin: 0;
  text-align: right;
  font-weight: 600;
  overflow-wrap: anywhere;
}
.spec-missing {
  font-weight: 400;
  color: #7c8278;
}
#variant-photo-missing {
  min-height: 260px;
  background: #f3f6ef;
  border-radius: 12px;
  padding: 35px;
  text-align: center;
}
#variant-photo-missing:not([hidden]) {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 14px;
}
#variant-color-sample {
  width: 100px;
  height: 100px;
  border-radius: 50%;
  border: 1px solid #0002;
  box-shadow: 0 10px 20px #20302012;
}
#variant-photo-missing p {
  font-size: 13px;
  color: #6c7868;
  margin: 0;
}
#variant-image[hidden] {
  display: none;
}
.button:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}
/* Karta produktu */
#product-dialog{width:min(1080px,94vw);padding:44px;border-radius:20px;max-height:92vh;box-shadow:0 30px 90px #0e241f45}
#product-dialog .dialog-close{position:absolute;right:14px;top:12px;border-radius:50%;width:36px;height:36px;display:grid;place-items:center;line-height:1;background:#f2f5ee;z-index:2}
#product-dialog .detail-layout{grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:42px;align-items:start}
#product-dialog .variant-photo{position:sticky;top:0}#product-dialog .variant-photo>img{aspect-ratio:1;max-height:none;background:linear-gradient(145deg,#f0f4e9,#fafbf8);padding:14px;border-radius:16px}#product-dialog .variant-photo>p{font-size:11px;margin:13px 0;color:#7c8776}
#product-dialog .product-information{min-width:0}#product-dialog .eyebrow{font-size:10px;letter-spacing:2px;margin:0 0 10px;color:#6a855d}#product-dialog h2{font-size:clamp(25px,3vw,34px);line-height:1.15;letter-spacing:-1px;margin:0 0 12px}#product-dialog .product-information>p.shop-muted{font-size:13px;color:#7b8675;padding-bottom:19px;border-bottom:1px solid #e7ecdf;margin:0 0 20px}
.color-select-accessible{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap;border:0}
.color-picker{margin:0 0 22px;padding:0;border:0;min-width:0}.color-picker legend{font-size:13px;font-weight:600;color:#344a36;margin-bottom:10px}.color-options{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.color-option{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:7px;padding:11px 3px;border:1px solid #dfe6d8;border-radius:9px;color:#5f6f57;background:white;cursor:pointer;font:inherit;font-size:11px;transition:border-color .15s,background .15s}.color-option>span{width:22px;height:22px;border-radius:50%;border:1px solid #0002;box-shadow:inset 0 0 0 2px #ffffff30}.color-option:hover{background:#f5f8f0;border-color:#9db68c}.color-option[aria-pressed=true]{border-color:#285b47;background:#edf4e7;box-shadow:0 0 0 1px #285b47;color:#285b47;font-weight:700}.color-option:focus-visible{outline:3px solid #b68b25;outline-offset:3px}
#product-dialog .specs-title{font-size:14px;margin:20px 0 12px}#product-dialog .product-specs{border:0;border-radius:0}#product-dialog .product-specs>div{padding:12px 0;background:white;grid-template-columns:1fr 1fr;border-bottom:1px solid #e6ecdf;border-top:0;font-size:12px}#product-dialog .product-specs dt{color:#7b8774}#product-dialog .product-specs dd{color:#344d36;font-weight:600}.spec-missing{font-size:11px;color:#929a8b}
.product-purchase{margin-top:24px;padding:20px;border:1px solid #e1e9d9;background:#f7f9f2;border-radius:12px}.product-purchase label{display:flex;align-items:center;justify-content:space-between;gap:15px;font-size:12px}.product-purchase input{width:90px;background:white}.product-purchase .variant-selection{font-size:11px;margin-top:13px}.product-purchase .shop-price{font-size:24px;margin-top:8px;line-height:1.3}.product-purchase #detail-net{font-size:11px;margin:4px 0}.product-purchase .variant-example-note{font-size:10px;margin:12px 0}.product-purchase .button{width:100%;margin-top:6px}.product-purchase .button:disabled{background:#dde5d7;color:#65765a;border-color:#dde5d7;opacity:1}
#product-dialog #variant-photo-missing{aspect-ratio:1;min-height:0;border-radius:16px;background:linear-gradient(145deg,#f0f4e9,#fafbf8)}
@media(max-width:760px){#product-dialog{padding:38px 22px 24px;width:94vw}#product-dialog .detail-layout{grid-template-columns:1fr;gap:24px}#product-dialog .variant-photo{position:static}#product-dialog .variant-photo>img{aspect-ratio:3/2;max-height:260px}#product-dialog #variant-photo-missing{aspect-ratio:3/2;max-height:260px}#product-dialog h2{font-size:28px}.color-options{grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.color-option{font-size:10px;padding:10px 2px}.product-purchase{padding:16px}}
@media(prefers-reduced-motion:reduce){.color-option{transition:none}}
