/* Tape Journal — WooCommerce purchase flow */
.tj-commerce-page.alignfull {
  background: var(--tj-paper);
  margin: 0 calc(50% - 50vw) !important;
  max-width: none !important;
  min-height: 65vh;
  width: 100vw;
}

.tj-commerce-page + .wp-block-template-part { margin-block-start: 0 !important; }
.tj-commerce-shell { margin-inline: auto !important; max-width: calc(var(--tj-wide) + (2 * var(--tj-gutter))) !important; padding: clamp(3.5rem,7vw,6.5rem) var(--tj-gutter) clamp(5rem,9vw,8rem); }
.tj-commerce-shell > .wp-block-post-content { margin-block-start: clamp(2.5rem,5vw,4.5rem) !important; max-width: none !important; }

.tj-checkout-legal-links { border-bottom: .0625rem solid var(--tj-rule); color: var(--tj-ink-soft); font-size: .82rem; line-height: 1.7; margin: 1.5rem 0 2rem; padding: 0 0 1.25rem; }
.tj-checkout-legal-links p { margin: 0; }
.tj-checkout-legal-links a,
.tj-commerce-page .tj-classic-order-consent a,
.tj-commerce-page .tj-classic-newsletter-consent a { color: var(--tj-brown); text-decoration: underline; text-underline-offset: .15em; }
.tj-commerce-page .tj-classic-order-consent,
.tj-commerce-page .tj-classic-newsletter-consent { line-height: 1.65; margin: 1rem 0; }
.tj-commerce-page .tj-classic-order-consent input,
.tj-commerce-page .tj-classic-newsletter-consent input { margin-right: .55rem; }
.tj-header-cart-count { white-space: nowrap; }

.tj-commerce-head { align-items: end; border-bottom: .0625rem solid var(--tj-rule); display: flex; gap: 3rem; justify-content: space-between; padding-bottom: 1.5rem; }
.tj-commerce-head .tj-label { color: var(--tj-brown); margin: 0 0 .8rem; }
.tj-commerce-head h1 { font-size: clamp(3.7rem,7vw,7rem); letter-spacing: -.055em; line-height: .8; margin: 0; }
.tj-commerce-head > p { color: var(--tj-ink-soft); font-size: .78rem; line-height: 1.65; margin: 0; max-width: 21rem; }

.tj-checkout-steps { border-bottom: .0625rem solid var(--tj-rule); display: grid; grid-template-columns: repeat(3,1fr); list-style: none; margin: 0 !important; padding: 0 !important; }
.tj-checkout-steps li { color: var(--tj-ink-soft); font-family: var(--tj-font-data); font-size: .64rem; letter-spacing: .07em; padding: 1.15rem 0; text-transform: uppercase; }
.tj-checkout-steps li + li { border-left: .0625rem solid var(--tj-rule); padding-left: 1.25rem; }
.tj-checkout-steps span { color: var(--tj-kraft); margin-right: .65rem; }
.tj-checkout-steps .is-active { color: var(--tj-ink); }

/* Two real destinations: cart and the single-page checkout. */
.tj-checkout-progress { border-bottom: .0625rem solid var(--tj-rule); margin: 0 0 clamp(2rem,4vw,3.5rem); }
.tj-checkout-progress ol { align-items: stretch; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); list-style: none; margin: 0 !important; padding: 0 !important; }
.tj-checkout-progress li { align-items: center; color: var(--tj-ink-soft); display: flex; font-family: var(--tj-font-data); font-size: .68rem; gap: .8rem; letter-spacing: .055em; min-height: 4.5rem; text-transform: uppercase; }
.tj-checkout-progress li + li { border-left: .0625rem solid var(--tj-rule); padding-left: clamp(1rem,3vw,2rem); }
.tj-checkout-progress .tj-checkout-progress__number { align-items: center; border: .0625rem solid var(--tj-kraft); border-radius: 50%; color: var(--tj-brown); display: inline-flex; flex: 0 0 2rem; font-size: .6rem; height: 2rem; justify-content: center; letter-spacing: 0; }
.tj-checkout-progress__current { align-items: center; display: inline-flex; gap: .8rem; }
.tj-checkout-progress [aria-current="step"] { color: var(--tj-ink); font-weight: 600; }
.tj-checkout-progress [aria-current="step"] .tj-checkout-progress__number { background: var(--tj-brown); border-color: var(--tj-brown); color: var(--tj-paper); }
.tj-checkout-progress a { align-items: center; color: var(--tj-ink); display: inline-flex; gap: .8rem; min-height: 3rem; text-decoration: none; transition: color 180ms ease; }
.tj-checkout-progress a:hover { color: var(--tj-brown); text-decoration: underline; text-underline-offset: .2em; }
.tj-checkout-progress a:focus-visible { outline: .125rem solid var(--tj-brown); outline-offset: .25rem; }
.tj-checkout-progress__back-hint { color: var(--tj-brown); display: block; font-size: .54rem; letter-spacing: .06em; margin: -.55rem 0 .55rem 2.8rem; text-transform: uppercase; }

/* Shared Woo block typography and surfaces */
.tj-commerce-page :is(.wc-block-cart,.wc-block-checkout) { font-family: var(--tj-font-body); }
.tj-commerce-page :is(.wc-block-cart__main,.wc-block-checkout__main) { padding-right: clamp(1.5rem,4vw,4rem); }
.tj-commerce-page :is(.wc-block-cart__sidebar,.wc-block-checkout__sidebar) { background: #ebe1d1; padding: clamp(1.5rem,3vw,2.5rem); }
.tj-commerce-page :is(.wc-block-cart__sidebar,.wc-block-checkout__sidebar) { align-self: start; position: sticky; top: 2rem; }
.tj-commerce-page :is(.wc-block-components-sidebar-layout,.wc-block-cart) { gap: 0; }
.tj-commerce-page :is(.wc-block-components-title,.wc-block-components-checkout-step__title,.wc-block-cart__totals-title,.wc-block-components-totals-item__label) { color: var(--tj-ink); }
.tj-commerce-page .wc-block-components-checkout-step__title { font-family: var(--tj-font-display); font-size: clamp(1.65rem,2.2vw,2.4rem); font-weight: 500; letter-spacing: -.025em; line-height: 1.08; }
.tj-commerce-page .wc-block-components-checkout-step__description { color: var(--tj-ink-soft); font-size: .78rem; }

/* Required field markers and a more compact checkout finish. */
.tj-commerce-page .wc-block-components-text-input:has(input[required],input[aria-required="true"]) label::after,
.tj-commerce-page .wc-block-components-combobox-control:has(input[required],input[aria-required="true"]) label::after,
.tj-commerce-page .wc-block-components-select:has(select[required],select[aria-required="true"]) label::after { color: #9b3b20; content: " *"; }
.tj-commerce-page .wp-block-woocommerce-checkout-order-note-block,
.tj-commerce-page .wc-block-checkout__add-note { display: none !important; }
.tj-commerce-page .tj-classic-order-consent abbr.required { color: #9b3b20; text-decoration: none; }

.tj-commerce-page :is(input:not([type="checkbox"]):not([type="radio"]),select,textarea,.wc-block-components-text-input input,.wc-block-components-combobox-control input) {
  background: rgba(255,255,255,.45) !important;
  border: .0625rem solid rgba(50,18,0,.25) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  color: var(--tj-ink) !important;
  min-height: 3.35rem;
}
.tj-commerce-page :is(input,select,textarea):focus { border-color: var(--tj-brown) !important; outline: .0625rem solid var(--tj-brown); outline-offset: 0; }
.tj-commerce-page label { color: var(--tj-ink-soft); font-family: var(--tj-font-data); font-size: .64rem !important; letter-spacing: .04em; }
.tj-commerce-page .wc-block-components-checkbox__label,
.tj-commerce-page .tj-classic-order-consent label,
.tj-commerce-page .tj-classic-newsletter-consent label { font-size: .74rem !important; letter-spacing: 0; line-height: 1.55; text-transform: none; }

.tj-commerce-page :is(.wc-block-components-button,.wc-block-cart__submit-button,.wc-block-components-checkout-place-order-button,.checkout-button,button.button,a.button) {
  background: var(--tj-brown) !important;
  border: .0625rem solid var(--tj-brown) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  color: var(--tj-paper) !important;
  font-family: var(--tj-font-data) !important;
  font-size: .68rem !important;
  font-weight: 500 !important;
  letter-spacing: .07em;
  min-height: 3.35rem;
  text-decoration: none !important;
  text-transform: uppercase;
  transition: background-color 180ms ease,color 180ms ease !important;
}
.tj-commerce-page :is(.wc-block-components-button,.checkout-button,button.button,a.button):hover { background: var(--tj-espresso) !important; color: var(--tj-paper) !important; }

.tj-commerce-page :is(.wc-block-cart-items,.shop_table) { border-collapse: collapse; width: 100%; }
.tj-commerce-page :is(.wc-block-cart-items__header,.shop_table thead) { font-family: var(--tj-font-data); font-size: .62rem; letter-spacing: .08em; text-transform: uppercase; }
.tj-commerce-page :is(.wc-block-cart-items__row,.shop_table tr) { border-bottom: .0625rem solid var(--tj-rule); }
.tj-commerce-page .wc-block-components-product-name { color: var(--tj-ink); font-family: var(--tj-font-display); font-size: clamp(1.55rem,2.2vw,2.1rem); font-weight: 500; line-height: 1; text-decoration: none; }
.tj-commerce-page .wc-block-cart-item__image img { background: #ebe1d1; }
.tj-commerce-page :is(.wc-block-components-product-price,.wc-block-formatted-money-amount,.amount) { color: var(--tj-ink); font-family: var(--tj-font-data); font-size: .75rem; }
.tj-commerce-page .wc-block-components-quantity-selector { border-color: var(--tj-rule); border-radius: 0; }
.tj-commerce-page .wc-block-cart-item__remove-link { color: var(--tj-ink-soft) !important; font-family: var(--tj-font-data); font-size: .58rem !important; letter-spacing: .06em; text-transform: uppercase; }

.tj-commerce-page :is(.wc-block-components-totals-wrapper,.wc-block-components-order-summary,.wp-block-woocommerce-checkout-order-summary-block) { border-color: rgba(50,18,0,.22) !important; }
.tj-commerce-page .wc-block-components-totals-footer-item { font-family: var(--tj-font-display); font-size: 1.5rem; }
.tj-commerce-page :is(.wc-block-components-panel__button,.wc-block-components-totals-coupon-link) { color: var(--tj-brown); font-family: var(--tj-font-data); font-size: .62rem; letter-spacing: .05em; text-transform: uppercase; }

/* Empty cart: replace Woo's oversized default state with an intentional panel. */
.tj-commerce-page--cart .wp-block-woocommerce-empty-cart-block { border: .0625rem solid var(--tj-rule); padding: clamp(3rem,7vw,6rem); text-align: left; }
.tj-commerce-page--cart .wp-block-woocommerce-empty-cart-block::before { color: var(--tj-kraft); content: "00 / EMPTY TAPE"; display: block; font-family: var(--tj-font-data); font-size: .64rem; letter-spacing: .1em; margin-bottom: 2rem; }
.tj-commerce-page--cart .wp-block-woocommerce-empty-cart-block > :first-child { margin-top: 0 !important; }
.tj-commerce-page--cart .wp-block-woocommerce-empty-cart-block h2 { font-size: clamp(2.7rem,5vw,5rem); letter-spacing: -.04em; line-height: .9; margin: 0 0 1rem; max-width: 42rem; }
.tj-commerce-page--cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__products { display: none; }
.tj-commerce-page--cart .wp-block-woocommerce-empty-cart-block h2:last-of-type { display: none; }
.tj-commerce-page--cart .wc-block-cart__empty-cart__title.with-empty-cart-icon::before { display: none; }

.tj-commerce-page .woocommerce-info,
.tj-commerce-page .woocommerce-message,
.tj-commerce-page .woocommerce-error,
.tj-commerce-page .wc-block-components-notice-banner { background: #ebe1d1; border: 0; border-left: .2rem solid var(--tj-kraft); border-radius: 0; color: var(--tj-ink); padding: 1rem 1.25rem; }

.tj-commerce-assurance { border-block: .0625rem solid var(--tj-rule); display: grid; gap: 1rem; grid-template-columns: repeat(3,1fr); margin-top: clamp(3rem,6vw,5rem); padding-block: 1.25rem; }
.tj-commerce-assurance span { color: var(--tj-ink-soft); font-family: var(--tj-font-data); font-size: .6rem; letter-spacing: .06em; text-align: center; text-transform: uppercase; }
.tj-commerce-assurance span + span { border-left: .0625rem solid var(--tj-rule); }

/* Classic checkout fallback */
.tj-commerce-page form.checkout { display: grid; gap: clamp(2rem,5vw,5rem); grid-template-columns: minmax(0,1.35fr) minmax(20rem,.65fr); }
.tj-commerce-page form.checkout #customer_details { min-width: 0; }
.tj-commerce-page form.checkout #order_review_heading,
.tj-commerce-page form.checkout #order_review { background: #ebe1d1; grid-column: 2; padding-inline: clamp(1.5rem,3vw,2.5rem); }
.tj-commerce-page form.checkout #order_review_heading { font-size: 2.25rem; margin: 0; padding-top: 2rem; }
.tj-commerce-page form.checkout #order_review { padding-bottom: 2rem; }

@media (max-width: 900px) {
  .tj-commerce-page :is(.wc-block-cart__main,.wc-block-checkout__main) { padding-right: 0; }
  .tj-commerce-page form.checkout { grid-template-columns: 1fr; }
  .tj-commerce-page form.checkout #order_review_heading,.tj-commerce-page form.checkout #order_review { grid-column: 1; }
}

@media (max-width: 700px) {
  .tj-commerce-shell { padding-top: 2.75rem; }
  .tj-commerce-head { align-items: start; flex-direction: column; gap: 1.25rem; }
  .tj-commerce-head h1 { font-size: clamp(3.5rem,17vw,5.25rem); }
  .tj-checkout-steps li { font-size: .55rem; }
  .tj-checkout-steps li + li { padding-left: .6rem; }
  .tj-checkout-steps span { display: block; margin: 0 0 .25rem; }
  .tj-commerce-assurance { grid-template-columns: 1fr; }
  .tj-commerce-assurance span { text-align: left; }
  .tj-commerce-assurance span + span { border-left: 0; border-top: .0625rem solid var(--tj-rule); padding-top: 1rem; }
  .tj-commerce-page--cart .wp-block-woocommerce-empty-cart-block { padding: 2rem 1.25rem; }
  .tj-commerce-page :is(.wc-block-cart__sidebar,.wc-block-checkout__sidebar) { position: static; }
  .tj-checkout-progress li { align-items: flex-start; flex-direction: column; gap: .45rem; justify-content: center; min-height: 5rem; }
  .tj-checkout-progress li + li { padding-left: 1rem; }
  .tj-checkout-progress a { align-items: flex-start; flex-direction: column; gap: .45rem; }
  .tj-checkout-progress__back-hint { margin: -.2rem 0 .5rem; }
}


/* Tape Journal — checkout product summary */

/* Ukrycie dodatkowej ceny obok nazwy produktu */
.tj-commerce-page--checkout
.wc-block-components-order-summary-item__total-price {
    display: none !important;
}

/* Więcej miejsca na nazwę produktu */
.tj-commerce-page--checkout
.wc-block-components-order-summary-item__description {
    min-width: 0;
    flex: 1 1 auto;
}

/* Mniejsza, elegancka nazwa produktu */
.tj-commerce-page--checkout
.wc-block-components-product-name {
    color: var(--tj-ink);
    font-family: var(--tj-font-display);
    font-size: clamp(1.15rem, 1.5vw, 1.4rem) !important;
    font-weight: 500;
    line-height: 1.2;
    letter-spacing: -0.02em;
    overflow-wrap: normal;
    word-break: normal;
    hyphens: none;
}

/* Tape Journal — sticky order summary */

@media (min-width: 782px) {
    .tj-commerce-page--checkout
    .wc-block-checkout__sidebar {
        position: sticky !important;
        top: 100px !important;
        align-self: start;
    }
}

/* Mobile WooCommerce cart: readable gutters, no viewport overflow. */
@media (max-width: 700px) {
  .tj-commerce-page--cart.alignfull {
    width: 100% !important;
    max-width: 100% !important;
    margin-inline: 0 !important;
  }
  .tj-commerce-page--cart .tj-commerce-shell {
    box-sizing: border-box;
    width: 100% !important;
    max-width: 100% !important;
    padding-inline: 20px !important;
  }
  .tj-commerce-page--cart .wp-block-post-content,
  .tj-commerce-page--cart .wp-block-woocommerce-cart,
  .tj-commerce-page--cart .wc-block-cart,
  .tj-commerce-page--cart .wc-block-components-sidebar-layout,
  .tj-commerce-page--cart .wc-block-cart__main,
  .tj-commerce-page--cart .wc-block-cart__sidebar,
  .tj-commerce-page--cart .wc-block-cart-items,
  .tj-commerce-page--cart .wc-block-cart-items__row {
    box-sizing: border-box;
    max-width: 100%;
    min-width: 0;
  }
  .tj-commerce-page--cart .wc-block-cart-items__row .wc-block-cart-item__product {
    min-width: 0;
    overflow-wrap: anywhere;
  }
  .tj-commerce-page--cart .wc-block-components-product-name {
    font-size: clamp(1.12rem, 4.3vw, 1.4rem);
    line-height: 1.2;
    overflow-wrap: break-word;
  }
  .tj-commerce-page--cart .wc-block-cart-item__image img { max-width: 100%; }
  .tj-commerce-page--cart .wc-block-cart__sidebar {
    padding: 1.4rem 1rem;
    width: 100%;
  }
  .tj-commerce-page--cart .wc-block-components-totals-item,
  .tj-commerce-page--cart .wc-block-components-totals-footer-item {
    min-width: 0;
  }
  .tj-commerce-page--cart .wc-block-cart__submit-button { width: 100%; }
}

/* =========================================
   TAPE JOURNAL — MOBILE CART SPACING
   ========================================= */

@media (max-width: 767px) {

    /* Główny kontener koszyka */
    main[data-page="cart"] {
        box-sizing: border-box;
        width: 100%;
        padding-left: 20px !important;
        padding-right: 20px !important;
    }

    /* Elementy koszyka respektują szerokość kontenera */
    main[data-page="cart"] .wp-block-post-content,
    main[data-page="cart"] .wp-block-woocommerce-cart,
    main[data-page="cart"] .wc-block-components-sidebar-layout {
        box-sizing: border-box;
        width: 100%;
        max-width: 100%;
        min-width: 0;
    }

    /* Wykluczenie dodatkowych marginesów WordPressa */
    main[data-page="cart"] .alignwide {
        margin-left: auto !important;
        margin-right: auto !important;
    }

    /* Zabezpieczenie przed poziomym rozciąganiem */
    main[data-page="cart"] .wc-block-cart__main,
    main[data-page="cart"] .wc-block-cart__sidebar {
        min-width: 0;
        max-width: 100%;
    }
}