/* ORDER FORM */
.order-form.form{margin-top:0;}
.order-form legend{padding:1.5em 0 .5em;color:var(--color-secondary);font-size:1.375rem;font-weight:600;}
.order-form .option{margin:4px 0 10px;font-size:0.875em;}
.order-form .option label{margin:0 4px;font-weight:normal;}
.order-form__section{padding:1rem;}

/* ORDER FORM
Basket - ordered products */
.basket-outlet-info{
  margin-top:0.25rem;
  color:var(--color-secondary);
  line-height:1.4;
}
.basket-outlet-info small{
  font-size:0.875rem;
}
.basket-outlet-info strong{
  font-weight:600;
  color:var(--color-text);
}
.ordered-elements table{width:100%;border-collapse:separate;border-spacing:0;border:none;border-radius:12px;overflow:hidden;font-size:1em;}
.ordered-elements tr > *{padding:12px 16px;background:var(--color-white);font-weight:normal;text-align:left;vertical-align:middle;border:none;}
.ordered-elements tbody tr:nth-child(even) > *{background:#f5f5f7;}
.ordered-elements thead td{padding:14px 16px;background:#1d1d1f;color:#f5f5f7;font-weight:600;font-size:0.875rem;text-transform:uppercase;letter-spacing:0.02em;border:none;}
.ordered-elements thead em{padding:0 4px 0 0;font-style:normal;}
.ordered-elements .image{max-width:80px;max-height:80px;}
.ordered-elements .image img{max-width:100%;max-height:100%;border-radius:8px;}
.ordered-elements .price{text-align:right;font-weight:500;white-space:nowrap;}
.ordered-elements .quantity{width:100px;text-align:right;}
.ordered-elements .quantity input{text-align:right;padding:8px 12px;border:none;border-radius:8px;font-size:0.9375rem;background:#f5f5f7;}
.ordered-elements .quantity label{position:absolute;clip:rect(1px, 1px, 1px, 1px);}
.ordered-elements tfoot .summary > *{padding:16px;font-size:1.25em;font-weight:600;background:#f5f5f7;}
.ordered-elements .recount th{text-align:right;padding-right:16px;}
.ordered-elements .recount input{padding:8px 16px;font-size:0.875em;background:#0071e3;color:#fff;border:none;border-radius:8px;font-weight:500;cursor:pointer;transition:background 0.2s ease;}
.ordered-elements .recount input:hover{background:#0077ed;}
#basket-options{width:100%;margin-top:1rem;}
#basket-options li{display:inline-block;width:49.3%;}
#basket-options .checkout{text-align:right;font-size:1.125em;}
#basket-options .btn.continue{background:#6e6e73;border-radius:var(--radius-pill);}
#basket-options .btn.continue:hover{background:#424245;}
@media screen and (max-width:600px){
  .ordered-elements .order-form__section{padding:0;}
  .ordered-elements tr{display:flex;flex-wrap:wrap;padding:.5rem 0 0;border:0;}
  .ordered-elements tr > *{border:0;flex-grow:1;}
  .ordered-elements .quantity{text-align:left;}
  .ordered-elements .name{order:-1;flex-basis:100%;font-size:1.125rem;}
  .ordered-elements thead .price{text-align:left;}
  .ordered-elements tbody .summary{font-size:1.125rem;}

  .ordered-elements .price:not(.summary), .ordered-elements .options, .ordered-elements tfoot td{display:none;}
}

/* ORDER FORM
Client data - delivery address */
#checkout{display:none;margin-top:0;}

/* ORDER FORM
Client data - for invoice */
#invoice-data{display:none;transition:display 1s ease;}

/* ORDER FORM
Shipping AND payment methods */
.delivery{display:flex;flex-flow:row wrap;}
.delivery__el{flex:0 0 32%;min-width:300px;margin:15px .6%;text-align:center;}
.delivery__choose{width:100%;height:100%;padding:1rem;border:1px solid var(--color-divider);border-radius:var(--radius-md);background:var(--color-white);transition:border-color 0.2s ease, background 0.2s ease;}
.delivery__image{padding-bottom:.5rem;}
.delivery__image img{width:100px;max-height:80px;}
.delivery__description{color:#888;font-weight:normal;}
.delivery__el .radio:checked + .delivery__choose{color:var(--color-primary);border-color:var(--color-primary);background-color:#fff;}
.delivery__choose:hover{background-color:#fff;}
/* Payment custom styles */
.delivery.payment .price strong:before{content:'+';font-weight:normal;font-size:1rem;}
/* Custom radio - margins */  
.delivery .radio + label:before,
.delivery .radio + label:after{margin:1rem 0 0 1rem;}
/* Payment channels */
#paymentChannels legend{padding-top:0;font-size:1.25rem}
.payment-channels .delivery__el{flex:0 0 auto;margin:0;min-width:156px;}
.payment-channels .delivery__name{display:inline-block;max-width:110px;font-weight:normal;font-size:.75rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}

/* ORDER FORM
Footer */
#orderComment{display:none;}
#order-summary{padding: 1.5em 0 .5em;text-align:center;}
#checkout .save{margin-top:1rem;}

/* ORDER SAVED DETAILS/SUMMARY */
/* Online payment button */
.order__make-payment{display:inline-block;margin:1rem 0;padding:.4em 1em;background:var(--color-primary);color:#fff;text-decoration:none;transition:all 0.3s ease;}
.order__make-payment:hover, .order__make-payment:focus{background:var(--color-primary);color:#fff;text-decoration:none;cursor:pointer;}
/* Payment and shipping */
.order-foot{display:flex;flex-direction:column;}
.order-foot__row{position:relative;padding-bottom:1em;border-bottom:1px solid var(--color-divider);}
.order-foot__name{font-weight:bold;}
.order-foot__price{position:absolute;right:0;top:0;}
.order-foot__image{float:left;width:100px;margin:0 1em .5em 0;}

/* USER ORDERS HISTORY */
.details-list .legend{padding:1em 0 0.5em;background:inherit;color:#2e6a97;font-size:1.2em;font-weight:bold;}
.details-list dl{display:block;width:100%;margin:0;padding:5px 0;border-top:2px solid #e0e0e0;border-bottom:2px solid #e0e0e0;background:#f8f8f8;}
.details-list dt, .details-list dd{display:inline-block;width:40%;margin:0;padding:3px 0;vertical-align:top;}
.details-list dt{clear:left;text-align:right;}
.details-list dd{padding-left:2%;font-weight:bold;}
.details-list .comment{font-weight:normal;}

/* Basket: nazwa produktu pogrubiona, opis atrybutów poniżej cienką czcionką */
.ordered-elements th.name strong{display:block;font-weight:700;}
.ordered-elements th.name .basket-attr-label{display:block;font-size:0.8em;font-weight:300;color:#555;margin-top:0.2em;}

/* Wysylka zamowienia w toku — przycisk zablokowany do czasu odpowiedzi */
.order-form .submit.is-sending,
.order-form input[name="sOrderSend"]:disabled{
  opacity:.65;
  cursor:progress;
}

/* ==========================================================================
   Potwierdzenie zamowienia — czytelny uklad kart zamiast surowych list
   ========================================================================== */
.details-list.order{
  display:flex;
  flex-direction:column;
  gap:.35rem;
  max-width:100%;
}
.details-list.order .legend{
  margin:1.75rem 0 .65rem;
  padding:0;
  color:var(--color-secondary);
  font-size:1.0625rem;
  font-weight:600;
  letter-spacing:-.01em;
}
.details-list.order .legend:first-child{ margin-top:0; }

/* Bloki danych: etykieta po lewej, wartosc po prawej, jeden wiersz = jedna para */
.details-list.order dl{
  display:grid;
  grid-template-columns:minmax(8rem,14rem) 1fr;
  width:100%;
  margin:0;
  padding:.35rem 1.15rem;
  border:1px solid var(--color-divider);
  border-radius:var(--radius-md);
  background:var(--color-white);
}
.details-list.order dt,
.details-list.order dd{
  display:block;
  width:auto;
  margin:0;
  padding:.55rem 0;
  border-top:1px solid var(--color-divider);
  font-size:.9375rem;
  vertical-align:top;
}
.details-list.order dt{
  text-align:left;
  color:var(--color-light);
  font-weight:400;
}
.details-list.order dd{
  padding-left:1rem;
  color:var(--color-secondary);
  font-weight:600;
  overflow-wrap:anywhere;
}
.details-list.order dl > dt:first-of-type,
.details-list.order dl > dt:first-of-type + dd{ border-top:0; }
.details-list.order .comment{ font-weight:400; }

/* Tabela pozycji */
.details-list.order .ordered-elements table{
  width:100%;
  border-collapse:separate;
  border-spacing:0;
  border:1px solid var(--color-divider);
  border-radius:var(--radius-md);
  overflow:hidden;
  background:var(--color-white);
}
.details-list.order .ordered-elements thead td{
  padding:.7rem .85rem;
  background:var(--color-grey);
  color:var(--color-light);
  font-size:.75rem;
  font-weight:600;
  text-transform:uppercase;
  letter-spacing:.04em;
  border-bottom:1px solid var(--color-divider);
}
.details-list.order .ordered-elements tbody td{
  padding:.85rem;
  font-size:.9375rem;
  vertical-align:middle;
}
.details-list.order .ordered-elements td.quantity,
.details-list.order .ordered-elements td.price{ text-align:right; white-space:nowrap; }
.details-list.order .ordered-elements thead td.quantity,
.details-list.order .ordered-elements thead td.price{ text-align:right; }
.details-list.order .ordered-elements td.name a{
  color:var(--color-secondary);
  font-weight:600;
  text-decoration:none;
}
.details-list.order .ordered-elements td.name a:hover{ color:var(--color-link); }
.details-list.order .ordered-elements tfoot th,
.details-list.order .ordered-elements tfoot td{
  padding:.85rem;
  background:var(--color-grey);
  border-top:1px solid var(--color-divider);
  font-size:1rem;
  font-weight:700;
  text-align:right;
}

/* Miniatura pozycji — bez odnosnika */
.details-list.order .ordered-elements td.thumb,
.details-list.order .ordered-elements thead td.thumb{
  width:72px;
  padding:.5rem .35rem .5rem .85rem;
}
.details-list.order .ordered-elements td.thumb img{
  display:block;
  width:56px;
  height:56px;
  object-fit:contain;
  background:var(--color-grey);
  border-radius:var(--radius-sm);
  pointer-events:none;
}
.details-list.order .ordered-elements td.thumb .thumb__empty{
  display:block;
  width:56px;
  height:56px;
  border-radius:var(--radius-sm);
  background:var(--color-grey);
}

/* Stopka: wysylka, platnosc, suma */
.details-list.order .order-foot{ gap:0; margin-top:.5rem; }
.details-list.order .order-foot .legend{ margin:1.75rem 0 .65rem; font-size:1.0625rem; }
.details-list.order .order-foot__row{
  display:flex;
  align-items:center;
  gap:1rem;
  position:static;
  padding:.9rem 1.15rem;
  border:1px solid var(--color-divider);
  border-radius:var(--radius-md);
  background:var(--color-white);
}
.details-list.order .order-foot__image{
  float:none;
  flex:0 0 auto;
  width:64px;
  margin:0;
}
.details-list.order .order-foot__image img{ display:block; max-width:100%; height:auto; }
.details-list.order .order-foot__name{ flex:1 1 auto; font-weight:600; }
.details-list.order .order-foot__description{ flex:1 1 100%; color:var(--color-light); font-size:.875rem; }
.details-list.order .order-foot__price{ position:static; margin-left:auto; white-space:nowrap; }
.details-list.order .summary-price-total{
  display:flex;
  align-items:baseline;
  justify-content:flex-end;
  gap:.6rem;
  margin-top:1rem;
  padding:1rem 1.15rem;
  border-radius:var(--radius-md);
  background:var(--color-grey);
  font-size:1.125rem;
}
.details-list.order .summary-price-total strong{ font-size:1.35rem; font-weight:700; }

@media (max-width:640px){
  .details-list.order dl{
    grid-template-columns:1fr;
    padding:.35rem .9rem;
  }
  .details-list.order dt{ padding-bottom:0; border-top:1px solid var(--color-divider); }
  .details-list.order dd{ padding:.15rem 0 .55rem; border-top:0; }
  .details-list.order dl > dt:first-of-type + dd{ border-top:0; }
  .details-list.order .ordered-elements td.thumb,
  .details-list.order .ordered-elements thead td.thumb{ width:52px; padding-left:.5rem; }
  .details-list.order .ordered-elements td.thumb img,
  .details-list.order .ordered-elements td.thumb .thumb__empty{ width:40px; height:40px; }
  .details-list.order .ordered-elements tbody td{ padding:.6rem .5rem; font-size:.875rem; }
  .details-list.order .order-foot__row{ flex-wrap:wrap; }
}

/* Dwie kolumny na desktopie: adres i informacje, dostawa i platnosc */
.details-list.order .details-cols{
  display:grid;
  grid-template-columns:1fr;
  gap:0 1.25rem;
}
.details-list.order .details-cols__col{ min-width:0; }
.details-list.order .details-cols__col > .legend:first-child{ margin-top:1.75rem; }
@media (min-width:860px){
  .details-list.order .details-cols{ grid-template-columns:1fr 1fr; }
  /* Rownanie naglowkow obu kolumn w jednej linii */
  .details-list.order .details-cols__col > .legend:first-child{ margin-top:1.75rem; }
}

/* Ankieta po zamowieniu */
.order-feedback{
  position:fixed;
  inset:0;
  z-index:1000;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:1rem;
}
.order-feedback[hidden]{ display:none !important; }
.order-feedback__backdrop{
  position:absolute;
  inset:0;
  background:rgba(0,0,0,.5);
}
.order-feedback__dialog{
  position:relative;
  width:100%;
  max-width:30rem;
  padding:2rem 1.75rem 1.75rem;
  background:var(--color-white);
  border-radius:var(--radius-md);
  box-shadow:0 18px 50px rgba(0,0,0,.28);
}
.order-feedback__close{
  position:absolute;
  top:.5rem;
  right:.5rem;
  width:2.25rem;
  height:2.25rem;
  padding:0;
  border:0;
  border-radius:var(--radius-pill);
  background:none;
  color:var(--color-light);
  font-size:1.5rem;
  line-height:1;
  cursor:pointer;
}
.order-feedback__close:hover{ color:var(--color-secondary); }
.order-feedback__title{
  margin:0 0 .6rem;
  font-size:1.35rem;
  line-height:1.25;
  color:var(--color-secondary);
}
.order-feedback__text{
  margin:0 0 1rem;
  color:var(--color-light);
  font-size:.9375rem;
  line-height:1.5;
}
.order-feedback__input{
  width:100%;
  box-sizing:border-box;
  padding:.7rem .85rem;
  border:1px solid var(--color-divider);
  border-radius:var(--radius-sm);
  font-family:inherit;
  font-size:.9375rem;
  resize:vertical;
}
.order-feedback__buttons{
  display:flex;
  flex-wrap:wrap;
  gap:.6rem;
  margin-top:.85rem;
}
/* Regula z display:flex wygrywala z atrybutem hidden — po wyslaniu przyciski
   zostawaly widoczne, mimo ze byly juz oznaczone jako ukryte */
.order-feedback [hidden]{ display:none !important; }
.order-feedback__send{
  flex:1 1 12rem;
  padding:.7rem 1rem;
  border:0;
  border-radius:var(--radius-pill);
  background:var(--color-link);
  color:#fff;
  font-size:.9375rem;
  font-weight:600;
  cursor:pointer;
}
.order-feedback__send:hover{ background:var(--color-link-hover); }
.order-feedback__ok{
  flex:1 1 10rem;
  padding:.7rem 1rem;
  border:1px solid var(--color-divider);
  border-radius:var(--radius-pill);
  background:var(--color-white);
  color:var(--color-secondary);
  font-size:.9375rem;
  font-weight:600;
  cursor:pointer;
}
.order-feedback__ok:hover{ border-color:var(--color-link); color:var(--color-link); }
.order-feedback__done{
  margin:0;
  padding:1.5rem 0 .5rem;
  color:var(--color-secondary);
  font-size:1.5rem;
  font-weight:700;
  text-align:center;
}

/* Potwierdzenie zamowienia: naglowek o 30% mniejszy niz standardowy */
body:not(.is-product) #content h1.heading--order-summary{ font-size:56px; }
h1.heading--order-summary .heading__order-nr{
  color:var(--color-light);
  font-weight:400;
  white-space:nowrap;
}
@media screen and (max-width:640px){
  body:not(.is-product) #content h1.heading--order-summary{ font-size:35px; }
}

/* Pusty koszyk: oferta pod komunikatem */
.order-empty-widget{ margin-top:2rem; }
.order-empty-widget .widget{ margin:0; }
