/* Product modal */
#moverlay{
  z-index:5000!important;
  padding:1rem;
  background:rgba(15,17,21,.72)!important;
  backdrop-filter:blur(5px);
}
#moverlay .modal{
  overflow:hidden;
  border:1px solid rgba(255,255,255,.24)!important;
  border-radius:16px!important;
  background:#fff!important;
  box-shadow:0 30px 80px rgba(0,0,0,.28)!important;
}
#moverlay .mimg{background:#f3f4f6!important}
#moverlay .mimg{
  position:relative;
  overflow:hidden;
  cursor:zoom-in;
}
#productZoomLens{
  position:absolute;
  z-index:8;
  width:184px;
  height:184px;
  display:none;
  pointer-events:none;
  border:3px solid #fff;
  border-radius:50%;
  background-color:#fff;
  background-repeat:no-repeat;
  box-shadow:0 12px 32px rgba(0,0,0,.28),0 0 0 1px rgba(0,0,0,.18);
}
#productZoomLens.visible{display:block}
@media (hover:none),(pointer:coarse){
  #moverlay .mimg{cursor:default}
  #productZoomLens{display:none!important}
}
#moverlay .mclose{
  width:42px!important;
  height:42px!important;
  border:1px solid #e0e2e6!important;
  border-radius:50%!important;
  background:#fff!important;
  box-shadow:0 4px 12px rgba(16,24,40,.10);
}
#moverlay .madd{
  border-radius:9px!important;
  background:var(--market-red)!important;
  box-shadow:0 8px 20px rgba(225,29,46,.18)!important;
}
#moverlay .mshare{
  width:100%;
  min-height:42px;
  border:1px solid #dfe2e7;
  border-radius:9px;
  background:#fff;
  color:#17191e;
  font:inherit;
  font-weight:750;
  cursor:pointer;
}
#moverlay .mshare:hover{background:#f5f6f8;border-color:#c9cdd4}
.personal-name-box{
  display:grid;
  gap:.42rem;
  padding:.85rem;
  border:1px solid #eadfce;
  border-radius:11px;
  background:#fffaf2;
}
.personal-name-box[hidden]{display:none!important}
.personal-name-box label{font-size:.82rem;font-weight:850;color:#17191e}
.personal-name-box input{
  width:100%;
  min-height:46px;
  padding:.7rem .8rem;
  border:1px solid #cdd1d8;
  border-radius:9px;
  background:#fff;
  color:#17191e;
  font:700 1rem "DM Sans",sans-serif;
  outline:none;
}
.personal-name-box input:focus{border-color:#ef3340;box-shadow:0 0 0 3px rgba(239,51,64,.12)}
.personal-name-help{font-size:.72rem;line-height:1.45;color:#686d76}
.personal-name-error{min-height:0;font-size:.74rem;font-weight:750;color:#b42318}
.personal-name-error:empty{display:none}

/* Cart */
#pgCart{background:#f5f6f8!important}
.cart-wrap{max-width:1500px!important}
.cart-items,
.order-panel{
  border:1px solid var(--market-line)!important;
  border-radius:14px!important;
  background:#fff!important;
  box-shadow:0 5px 18px rgba(16,24,40,.055)!important;
}
.btn-order-submit{background:var(--market-red)!important;border-radius:9px!important}
.payment-methods{margin:1rem 0}.payment-methods-title{font-weight:800;margin-bottom:.55rem}.payment-method-option{display:flex;align-items:flex-start;gap:.7rem;border:1px solid #d9dde4;border-radius:11px;padding:.8rem .9rem;margin:.55rem 0;cursor:pointer;background:#fff}.payment-method-option[hidden],.payment-test-notice[hidden]{display:none!important}.payment-method-option:has(input:checked){border-color:#ef3340;box-shadow:0 0 0 2px rgba(239,51,64,.1)}.payment-method-option input{margin-top:.2rem}.payment-method-option strong{display:block}.payment-method-option small{display:block;color:#68707c;line-height:1.4;margin-top:.15rem}.payment-test-notice{padding:.55rem .7rem;border-radius:8px;background:#fff3cd;color:#73510d;font-size:.76rem;line-height:1.4}
.creator-photo-actions{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;margin-top:.7rem}.creator-photo-btn{border:1px solid #cfd4dc;border-radius:9px;background:#fff;color:#181a1f;padding:.65rem .55rem;font-weight:750;cursor:pointer}.creator-photo-btn.camera{background:#17191f;color:#fff;border-color:#17191f}.creator-bg-box{border:1px solid #dce1e8;border-radius:10px;background:#f8fafc;padding:.75rem}.creator-bg-box p{font-size:.7rem;line-height:1.45;color:#68707c;margin:.45rem 0}.creator-bg-status{min-height:1.1rem;font-size:.71rem;font-weight:700;color:#166534;margin-top:.45rem}.creator-bg-actions{display:flex;gap:.4rem;flex-wrap:wrap}.creator-bg-actions button{flex:1;border:1px solid #cfd4dc;border-radius:8px;background:#fff;padding:.55rem .45rem;font-weight:700;cursor:pointer}.creator-bg-actions button:first-child{background:#e11d2e;border-color:#e11d2e;color:#fff}@media(max-width:520px){.creator-photo-actions{grid-template-columns:1fr}}
.cookie-consent{position:fixed;inset:auto 16px 16px 16px;z-index:2147483600;display:none;justify-content:center}.cookie-consent.show{display:flex}.cookie-consent-card{width:min(100%,760px);display:grid;grid-template-columns:1fr auto;gap:18px;align-items:center;background:#fff;border:1px solid #d8dde5;border-radius:16px;padding:18px 20px;box-shadow:0 20px 65px rgba(0,0,0,.24)}.cookie-consent h2{font-size:1rem;margin:0 0 .35rem}.cookie-consent p{font-size:.76rem;line-height:1.5;color:#5f6672;margin:0}.cookie-consent a{color:#111;font-weight:700}.cookie-actions{display:flex;gap:8px;flex-wrap:wrap}.cookie-actions button{min-height:42px;border-radius:9px;padding:.65rem .9rem;font-weight:800;cursor:pointer}.cookie-reject{background:#fff;border:1px solid #bfc5ce;color:#181a1f}.cookie-accept{background:#e11d2e;border:1px solid #e11d2e;color:#fff}@media(max-width:700px){.cookie-consent{inset:auto 8px 8px}.cookie-consent-card{grid-template-columns:1fr;padding:16px}.cookie-actions{display:grid;grid-template-columns:1fr 1fr}.cookie-actions button{width:100%}}



.discount-box{margin:1rem 0;padding:1rem;border:1px solid #e1e4e8;border-radius:12px;background:#f8f9fb}
.discount-box label{display:block;margin-bottom:.45rem;font-size:.8rem;font-weight:750;color:#30343b}
.discount-row{display:grid;grid-template-columns:1fr auto;gap:.55rem}
.discount-row input{min-width:0;padding:.72rem .8rem;border:1px solid #cfd4dc;border-radius:9px;font-size:.88rem;text-transform:uppercase;outline:none}
.discount-row input:focus{border-color:#e11d2e;box-shadow:0 0 0 3px rgba(225,29,46,.10)}
.discount-row button{padding:.72rem 1rem;border:0;border-radius:9px;background:#17191f;color:#fff;font-weight:750;cursor:pointer}
.discount-row button:hover{background:#e11d2e}
.discount-row button:disabled{opacity:.55;cursor:wait}
.discount-message{min-height:1.15rem;margin-top:.45rem;font-size:.76rem}
.discount-message.ok{color:#15803d}.discount-message.bad{color:#b42318}
.order-row.discount-applied{color:#15803d;font-weight:700}
@media(max-width:480px){.discount-row{grid-template-columns:1fr}.discount-row button{width:100%}}


/* Větší košík a přehledný profesionální formulář */
#pgCart{min-height:72vh;padding:0 0 4rem!important}
#pgCart .cart-wrap{
  display:grid!important;
  grid-template-columns:minmax(0,1.35fr) minmax(410px,.72fr)!important;
  align-items:start!important;
  gap:clamp(18px,2vw,32px)!important;
  width:min(calc(100% - 40px),1720px)!important;
  max-width:1720px!important;
  margin:0 auto!important;
  padding:clamp(1.4rem,2.8vw,3rem) 0!important;
}
#pgCart .cart-title{
  grid-column:1/-1!important;
  margin:0!important;
  font-size:clamp(1.8rem,3vw,2.7rem)!important;
  letter-spacing:-.035em;
}
#pgCart .cart-items{min-height:240px;padding:clamp(1rem,2vw,1.5rem)!important}
#pgCart .cart-item{
  display:grid!important;
  grid-template-columns:112px minmax(0,1fr) auto auto auto!important;
  align-items:center!important;
  gap:clamp(.75rem,1.3vw,1.25rem)!important;
  min-height:134px;
  padding:1rem 0!important;
}
#pgCart .cart-item:first-child{padding-top:0!important}
#pgCart .cart-item:last-child{padding-bottom:0!important}
#pgCart .cart-item-img{width:112px!important;height:100px!important;object-fit:contain!important;border-radius:12px!important;background:#f7f7f8}
#pgCart .cart-item-name{font-size:1.02rem!important;line-height:1.3!important}
#pgCart .cart-item-sub{margin-top:.3rem!important;line-height:1.45!important}
#pgCart .cart-item-qty{min-height:44px!important;border-radius:11px!important}
#pgCart .qty-btn{width:42px!important;height:42px!important;font-size:1.15rem!important}
#pgCart .cart-item-price{min-width:76px;text-align:right;font-size:1rem!important;font-weight:850!important}
#pgCart .cart-remove{width:42px!important;height:42px!important;border-radius:10px!important}
#pgCart .order-panel{
  position:sticky;
  top:96px;
  padding:clamp(1.25rem,2vw,1.8rem)!important;
  border-radius:18px!important;
}
#pgCart .order-panel>h3{margin:0 0 1rem!important;font-size:1.45rem!important}
#pgCart [hidden]{display:none!important}
#pgCart .checkout-progress{display:flex;gap:.6rem;margin:1rem 0;list-style:none;padding:0;font-size:.85rem}
#pgCart .checkout-progress li{flex:1;padding:.7rem;border-radius:10px;background:#f1f2f4;color:#656b75}
#pgCart .checkout-progress [aria-current="step"]{background:#17191f;color:#fff;font-weight:800}
#pgCart .checkout-back{min-height:44px;background:#fff;border:1px solid #cdd2da;border-radius:10px;padding:.65rem 1rem;cursor:pointer;margin:1rem 0;font:inherit}
#pgCart .checkout-payment{margin:1rem 0;padding:1rem;border:1px solid #e4e7ec;border-radius:14px}
#pgCart .checkout-payment p{font-size:.82rem;color:#737984;line-height:1.5}
#pgCart .checkout-customer,
#pgCart .delivery-section{
  margin:1.15rem 0 0;
  padding:1rem;
  border:1px solid #e4e7ec;
  border-radius:14px;
  background:#fafbfc;
}
#pgCart .checkout-section-head{display:flex;align-items:flex-start;gap:.75rem;margin-bottom:.9rem}
#pgCart .checkout-section-head-compact{margin-bottom:.75rem}
#pgCart .checkout-step{
  display:grid;
  place-items:center;
  flex:0 0 30px;
  width:30px;
  height:30px;
  border-radius:50%;
  background:#17191f;
  color:#fff;
  font-size:.78rem;
  font-weight:850;
}
#pgCart .checkout-section-head h4,
#pgCart .delivery-title{margin:0!important;font-size:.94rem!important;font-weight:850!important;color:#17191f}
#pgCart .checkout-section-head p{margin:.16rem 0 0!important;color:#737984;font-size:.7rem;line-height:1.4}
#pgCart .checkout-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:.8rem}
#pgCart .form-field{margin:0!important}
#pgCart .form-field-wide{grid-column:1/-1}
#pgCart .form-field label{display:block;margin:0 0 .38rem!important;color:#30343b;font-size:.72rem!important;font-weight:800!important}
#pgCart .form-field input,
#pgCart .form-field textarea{
  width:100%!important;
  min-height:48px!important;
  padding:.78rem .85rem!important;
  border:1px solid #cdd2da!important;
  border-radius:10px!important;
  background:#fff!important;
  color:#17191f!important;
  font-size:.88rem!important;
  outline:none!important;
  transition:border-color .15s ease,box-shadow .15s ease;
}
#pgCart .form-field textarea{min-height:84px!important;resize:vertical}
#pgCart .form-field input:focus,
#pgCart .form-field textarea:focus{border-color:#e11d2e!important;box-shadow:0 0 0 3px rgba(225,29,46,.11)!important}
#pgCart .delivery-opt{min-height:68px!important;padding:.8rem!important;border-radius:11px!important}
#pgCart .btn-zasilkovna{min-height:48px!important;border-radius:10px!important;font-weight:800!important}
#pgCart .legal-checks label{min-height:44px;padding:.45rem 0}
#pgCart .legal-checks input{width:19px;height:19px}
#pgCart .btn-order-submit{min-height:54px!important;font-size:.98rem!important;font-weight:850!important}

/* Tablet */
@media(max-width:1180px){
  #pgCart .cart-wrap{grid-template-columns:minmax(0,1fr) minmax(365px,.82fr)!important;width:calc(100% - 24px)!important}
  #pgCart .cart-item{grid-template-columns:96px minmax(0,1fr) auto!important}
  #pgCart .cart-item-img{width:96px!important;height:88px!important}
  #pgCart .cart-item-qty{grid-column:2}
  #pgCart .cart-item-price{grid-column:3;grid-row:1}
  #pgCart .cart-remove{grid-column:3;grid-row:2}
}

/* Mobil: hlavní obsah dříve, velké dotykové prvky, žádné boční přetékání */
@media(max-width:820px){
  body{overflow-x:hidden}
  button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}
  #pgCart{padding-bottom:2rem!important}
  #pgCart .cart-wrap{
    grid-template-columns:1fr!important;
    gap:12px!important;
    width:calc(100% - 16px)!important;
    padding:1rem 0!important;
  }
  #pgCart .cart-title{font-size:1.65rem!important;padding:.1rem .2rem}
  #pgCart .cart-items{min-height:150px;padding:.85rem!important;border-radius:14px!important}
  #pgCart .order-panel{position:static!important;padding:1rem!important;border-radius:14px!important}
  #pgCart .order-panel>h3{font-size:1.25rem!important}
  #pgCart .checkout-customer,#pgCart .delivery-section{padding:.85rem;margin-top:.9rem}
  #pgCart .checkout-form-grid{grid-template-columns:1fr!important;gap:.7rem}
  #pgCart .form-field-wide{grid-column:auto}
  #pgCart .form-field input,#pgCart .form-field textarea{font-size:16px!important}
  #pgCart .btn-order-submit{position:relative;z-index:1;width:100%!important;min-height:56px!important}
}

@media(max-width:520px){
  nav .nav-links a{min-height:42px!important;font-size:.72rem!important}
  .cart-nav-btn{min-width:48px!important;min-height:44px!important}
  #pgCart .cart-item{
    grid-template-columns:82px minmax(0,1fr) 40px!important;
    gap:.65rem!important;
    min-height:110px;
    padding:.85rem 0!important;
  }
  #pgCart .cart-item-img{width:82px!important;height:76px!important}
  #pgCart .cart-item-name{font-size:.9rem!important}
  #pgCart .cart-item-sub{font-size:.7rem!important}
  #pgCart .cart-item-qty{grid-column:2!important;grid-row:2!important;justify-self:start}
  #pgCart .cart-item-price{grid-column:2!important;grid-row:3!important;text-align:left!important;font-size:.9rem!important}
  #pgCart .cart-remove{grid-column:3!important;grid-row:1!important;width:40px!important;height:40px!important}
  #pgCart .checkout-section-head p{font-size:.68rem}
}
