/* Structural selectors apply immediately to server HTML and AJAX replacements.
   Load this stylesheet in HEAD, before the first page render. */
/* Pricna ulice / Shoptet Step / checkout v1.4 / 2026-10-11
   Scoped independently to checkout content and the Step cart widget. Use with checkout-v1-4.js. */
:is(#content, #cart-widget):has(.cart-wrapper, #checkoutContent, .cart-header) {
  --pu-gold:#cc982f; --pu-ink:#191714; --pu-line:#e5dfd4; --pu-paper:#faf8f3;
}
:is(#content, #cart-widget):has(.cart-wrapper, #checkoutContent, .cart-header) { color:var(--pu-ink); }
:is(#content, #cart-widget):has(.cart-wrapper, #checkoutContent, .cart-header) .cart-header { margin-bottom:28px; }
/* Step renders the visible tab in the inner span, not its parent. */
:is(#content, #cart-widget):has(.cart-wrapper, #checkoutContent, .cart-header) ol.cart-header .step > a,
:is(#content, #cart-widget):has(.cart-wrapper, #checkoutContent, .cart-header) ol.cart-header .step > strong {
  background:transparent; border:0; box-shadow:none;
}
:is(#content, #cart-widget):has(.cart-wrapper, #checkoutContent, .cart-header) ol.cart-header .step > a > span,
:is(#content, #cart-widget):has(.cart-wrapper, #checkoutContent, .cart-header) ol.cart-header .step > strong > span {
  background:#fff; border:0; border-bottom:3px solid transparent;
  margin-bottom:0; height:100%; color:#665f55;
}
:is(#content, #cart-widget):has(.cart-wrapper, #checkoutContent, .cart-header) ol.cart-header .step.active > a > span,
:is(#content, #cart-widget):has(.cart-wrapper, #checkoutContent, .cart-header) ol.cart-header .step.active > strong > span {
  background:#fff; border:0; border-bottom:3px solid var(--pu-gold);
  color:var(--pu-ink);
}
:is(#content, #cart-widget):has(.cart-wrapper, #checkoutContent, .cart-header) ol.cart-header .step > a:hover > span {
  background:#faf8f3; color:var(--pu-ink);
}
:is(#content, #cart-widget):has(.cart-wrapper, #checkoutContent, .cart-header) .co-box { border-color:var(--pu-line); box-shadow:none; }
:is(#content, #cart-widget):has(.cart-wrapper, #checkoutContent, .cart-header) .co-box h2 { font-size:20px; line-height:1.35; margin:0 0 18px; }
:is(#content, #cart-widget):has(.cart-wrapper, #checkoutContent, .cart-header) .form-control {
  min-height:48px; font-size:16px; border-radius:0; border-color:#c9c2b6;
}
:is(#content, #cart-widget):has(.cart-wrapper, #checkoutContent, .cart-header) .form-control:focus {
  border-color:#99701c; box-shadow:0 0 0 2px #cc982f33;
}
:is(#content, #cart-widget):has(.cart-wrapper, #checkoutContent, .cart-header) :is(input,button,a,select,textarea):focus-visible {
  outline:2px solid #99701c; outline-offset:3px;
}
:is(#content, #cart-widget):has(.cart-wrapper, #checkoutContent, .cart-header) .next-step .btn-conversion {
  background:#191714; border-color:#191714; color:#fff;
  min-height:54px; font-size:16px; line-height:1.4; padding:16px 24px;
  white-space:normal; border-radius:0;
}
:is(#content, #cart-widget):has(.cart-wrapper, #checkoutContent, .cart-header) .next-step .btn-conversion:hover { background:#373027; border-color:#373027; }
:is(#content, #cart-widget):has(.cart-wrapper, #checkoutContent, .cart-header) .next-step .btn-conversion:disabled { opacity:.55; }
:is(#content, #cart-widget):has(.cart-wrapper, #checkoutContent, .cart-header) .price-wrapper .price-primary.price { font-size:30px; line-height:1.2; }
:is(#content, #cart-widget):has(.cart-wrapper, #checkoutContent, .cart-header) .price-wrapper .price-secondary { font-size:12px; }
/* Cart: coupon is moved below the bonuses by JS, without cloning its form. */
:is(#content, #cart-widget):has(.cart-wrapper) .pu-coupon-heading { display:none; }
:is(#content, #cart-widget):has(.cart-wrapper) .cart-table td { padding-top:18px; padding-bottom:18px; }
:is(#content, #cart-widget):has(.cart-wrapper) .cart-table .main-link { font-size:15px; line-height:1.5; }
:is(#content, #cart-widget):has(.cart-wrapper) .delivery-time { padding:16px 0; margin:0; }
:is(#content, #cart-widget):has(.cart-wrapper) .summary { padding-top:20px; border-top:1px solid var(--pu-line); }
:is(#content, #cart-widget):has(.cart-wrapper) .summary .box { padding:0; border:0; background:transparent; }
:is(#content, #cart-widget):has(.cart-wrapper) .price-range { height:7px; background:#eee8dd; border:0; }
:is(#content, #cart-widget):has(.cart-wrapper) .price-range > div { background:var(--pu-gold); }
:is(#content, #cart-widget):has(.cart-wrapper) .pu-coupon-moved {
  float:none; width:100%; max-width:480px; margin:22px 0 0; text-align:left;
}
:is(#content, #cart-widget):has(.cart-wrapper) .pu-coupon-moved .input-group {
  display:flex; width:100%; flex-wrap:wrap;
}
:is(#content, #cart-widget):has(.cart-wrapper) .pu-coupon-moved input[name=discountCouponCode] {
  flex:1 1 160px; width:160px; min-width:0; height:48px;
}
:is(#content, #cart-widget):has(.cart-wrapper) .pu-coupon-moved button {
  flex:0 1 auto; height:auto; min-height:48px; padding:10px 16px;
  font-size:13px; background:#f1ede5; color:#191714; border:1px solid #c9c2b6;
  white-space:normal; border-radius:0;
}
:is(#content, #cart-widget):has(.cart-wrapper) .pu-coupon-moved button::before { display:none; }
:is(#content, #cart-widget):has(.cart-wrapper) .next-step { margin-top:24px; }
/* FV Studio upsell: keep native checkboxes and all products. */
:is(#content, #cart-widget):has(.cart-wrapper) .fvDoplnek-upsell {
  display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px;
  margin:18px 0 22px;
}
:is(#content, #cart-widget):has(.cart-wrapper) .fvDoplnek-upsell > h4 { grid-column:1/-1; margin:0; font-size:17px; }
:is(#content, #cart-widget):has(.cart-wrapper) .fvDoplnek-produkt {
  min-width:0; margin:0!important; padding:14px; background:var(--pu-paper);
  border:1px solid var(--pu-line);
}
:is(#content, #cart-widget):has(.cart-wrapper) .fvDoplnek-product-image { width:42px; object-fit:contain; flex-shrink:0; }
:is(#content, #cart-widget):has(.cart-wrapper) .fvcontent { min-width:0; }
:is(#content, #cart-widget):has(.cart-wrapper) .fvDoplnek-text .name { font-size:13px; text-transform:none; }
:is(#content, #cart-widget):has(.cart-wrapper) .fvDoplnek-description { font-size:12px; line-height:1.5; margin:6px 0 0; }
/* Shipping/payment. No hiding disabled methods or pickup widgets. */
:is(#content, #cart-widget):has(.cart-header.step-1) .order-delivery-payment-form { display:block; }
:is(#content, #cart-widget):has(.cart-header.step-1) .co-basic-information { padding:18px; margin-bottom:22px; background:var(--pu-paper); }
:is(#content, #cart-widget):has(.cart-header.step-1) .co-basic-information h2 { font-size:16px; margin-bottom:14px; }
:is(#content, #cart-widget):has(.cart-header.step-1) .co-delivery-method,
:is(#content, #cart-widget):has(.cart-header.step-1) .co-payment-method {
  float:none; width:100%; padding:20px; margin:0 0 22px;
}
:is(#content, #cart-widget):has(.cart-header.step-1) .shipping-billing-table .radio-wrapper { border-color:var(--pu-line); }
:is(#content, #cart-widget):has(.cart-header.step-1) .shipping-billing-table .radio-wrapper.active {
  background:#fcf7eb; box-shadow:inset 3px 0 0 var(--pu-gold);
}
:is(#content, #cart-widget):has(.cart-header.step-1) .shipping-billing-name { font-size:14px; text-transform:none; }
:is(#content, #cart-widget):has(.cart-header.step-1) .payment-shipping-price { font-size:14px; white-space:nowrap; }
:is(#content, #cart-widget):has(.cart-header.step-1) .payment-logo img { max-width:66px; max-height:32px; object-fit:contain; }
/* Customer details: labels above original inputs; preserve validation/unveil classes. */
:is(#content, #cart-widget):has(.cart-header.step-2) .co-contact-information,
:is(#content, #cart-widget):has(.cart-header.step-2) .co-billing-address > fieldset,
:is(#content, #cart-widget):has(.cart-header.step-2) #shipping-address > fieldset,
:is(#content, #cart-widget):has(.cart-header.step-2) .co-box-additional { padding:22px; }
:is(#content, #cart-widget):has(.cart-header.step-2) .form-group--inline { flex-direction:column; align-items:stretch; margin-bottom:17px; }
:is(#content, #cart-widget):has(.cart-header.step-2) .form-group--inline > label,
:is(#content, #cart-widget):has(.cart-header.step-2) .form-group--inline > .label {
  position:static; transform:none; float:none; width:100%; max-width:none;
  padding:0; margin:0 0 7px; text-align:left; font-size:14px; line-height:1.4;
}
:is(#content, #cart-widget):has(.cart-header.step-2) .form-group--inline > .form-control-wrapper {
  float:none; width:100%; max-width:none; margin-left:0; flex-basis:auto;
}
:is(#content, #cart-widget):has(.cart-header.step-2) .form-control-wrapper > .form-control { width:100%; max-width:none; }
:is(#content, #cart-widget):has(.cart-header.step-2) .phone-combined-input { width:100%; max-width:none; }
:is(#content, #cart-widget):has(.cart-header.step-2) .form-legend { text-align:left; font-size:12px; }
/* Original summary, consents and buttons retain their form owner. */
:is(#content, #cart-widget):has(.cart-wrapper, #checkoutContent, .cart-header) .pu-checkout-aside { min-width:0; background:var(--pu-paper); border:1px solid var(--pu-line); padding:22px; }
:is(#content, #cart-widget):has(.cart-wrapper, #checkoutContent, .cart-header) .pu-checkout-aside .order-summary { width:100%; float:none; border:0; padding:0; margin:0; background:transparent; }
:is(#content, #cart-widget):has(.cart-wrapper, #checkoutContent, .cart-header) .pu-checkout-aside .order-summary-inner { padding:0; }
:is(#content, #cart-widget):has(.cart-wrapper, #checkoutContent, .cart-header) .pu-checkout-aside .order-summary h2 { font-size:18px; }
:is(#content, #cart-widget):has(.cart-wrapper, #checkoutContent, .cart-header) .pu-checkout-aside .order-summary-item { padding:14px 0; font-size:13px; border-color:var(--pu-line); }
:is(#content, #cart-widget):has(.cart-wrapper, #checkoutContent, .cart-header) .pu-checkout-aside .order-summary-item > div:first-child { min-width:0; overflow-wrap:anywhere; }
:is(#content, #cart-widget):has(.cart-wrapper, #checkoutContent, .cart-header) .pu-checkout-aside [data-testid=recapItemPrice] { white-space:nowrap; }
:is(#content, #cart-widget):has(.cart-wrapper, #checkoutContent, .cart-header) .pu-checkout-aside .recapitulation-single { padding:14px 0; font-size:13px; }
:is(#content, #cart-widget):has(.cart-wrapper, #checkoutContent, .cart-header) .pu-checkout-aside .price-wrapper { width:100%; margin:0; }
:is(#content, #cart-widget):has(.cart-wrapper, #checkoutContent, .cart-header) .pu-checkout-aside .consents { font-size:12px; line-height:1.6; margin-top:18px; }
:is(#content, #cart-widget):has(.cart-wrapper, #checkoutContent, .cart-header) .pu-checkout-aside .next-step {
  display:flex; flex-direction:column; gap:10px; margin:22px 0 0; padding:0;
}
:is(#content, #cart-widget):has(.cart-wrapper, #checkoutContent, .cart-header) .pu-checkout-aside .next-step > .btn { width:100%; margin:0; float:none; }
:is(#content, #cart-widget):has(.cart-wrapper, #checkoutContent, .cart-header) .pu-checkout-aside .next-step-back { order:2; font-size:13px; padding:10px; min-height:44px; }
:is(#content, #cart-widget):has(.cart-wrapper, #checkoutContent, .cart-header) .pu-checkout-aside .next-step-finish .order-button-suffix { display:block; font-size:12px; }
@media(min-width:1100px) {
  :is(#content, #cart-widget):has(.cart-wrapper, #checkoutContent, .cart-header) #checkoutContent.pu-checkout-grid {
    display:grid; grid-template-columns:minmax(0,1fr) 340px; column-gap:28px; align-items:start;
  }
  :is(#content, #cart-widget):has(.cart-wrapper, #checkoutContent, .cart-header) #checkoutContent.pu-checkout-grid::before,
  :is(#content, #cart-widget):has(.cart-wrapper, #checkoutContent, .cart-header) #checkoutContent.pu-checkout-grid::after { display:none; }
  :is(#content, #cart-widget):has(.cart-wrapper, #checkoutContent, .cart-header) #checkoutContent.pu-checkout-grid > * { grid-column:1; min-width:0; }
  :is(#content, #cart-widget):has(.cart-wrapper, #checkoutContent, .cart-header) #checkoutContent.pu-checkout-grid > .pu-checkout-aside {
    grid-column:2; grid-row:1 / span 20;
  }
}
@media(max-width:1099px) {
  :is(#content, #cart-widget):has(.cart-wrapper, #checkoutContent, .cart-header) .pu-checkout-aside { clear:both; margin-top:22px; }
}
@media(max-width:767px) {
  :is(#content, #cart-widget):has(.cart-wrapper, #checkoutContent, .cart-header) .co-box h2 { font-size:18px; }
  :is(#content, #cart-widget):has(.cart-wrapper) .fvDoplnek-upsell { grid-template-columns:1fr; }
  :is(#content, #cart-widget):has(.cart-wrapper) .summary .price-wrapper { margin-top:22px; }
  :is(#content, #cart-widget):has(.cart-wrapper, #checkoutContent, .cart-header) .pu-checkout-aside { padding:17px; }
  :is(#content, #cart-widget):has(.cart-header.step-1) .co-delivery-method,
  :is(#content, #cart-widget):has(.cart-header.step-1) .co-payment-method,
  :is(#content, #cart-widget):has(.cart-header.step-2) .co-contact-information,
  :is(#content, #cart-widget):has(.cart-header.step-2) .co-billing-address > fieldset,
  :is(#content, #cart-widget):has(.cart-header.step-2) .co-box-additional { padding:16px; }
  :is(#content, #cart-widget):has(.cart-wrapper, #checkoutContent, .cart-header) .next-step .btn-conversion { font-size:15px; }
}
