/* Stage 6: account, cart and registered checkout. */

.woocommerce {
  width: min(1180px,calc(100% - 2rem));
  margin-inline: auto;
}
.entry-content > .woocommerce:first-child,
.entry-content > p > .woocommerce:first-child {
  margin-block: 1rem 4rem;
}
.woocommerce form.login,
.woocommerce form.register,
.woocommerce form.lost_reset_password,
.woocommerce form.edit-account,
.woocommerce form.checkout,
.woocommerce form.woocommerce-address-fields,
.woocommerce-cart-form,
.cart_totals,
.woocommerce-MyAccount-content,
.woocommerce-MyAccount-navigation,
.t6-login-intro {
  border: 1px solid var(--t2-line);
  border-radius: 1.1rem;
  background: #fff;
  box-shadow: 0 14px 36px rgba(4,38,84,.07);
}
.woocommerce form.login,
.woocommerce form.register,
.woocommerce form.lost_reset_password,
.woocommerce form.edit-account,
.woocommerce form.woocommerce-address-fields,
.t6-login-intro {
  padding: clamp(1rem,2.5vw,1.6rem);
}
.woocommerce .u-columns {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 1rem;
}
.woocommerce .u-column1,
.woocommerce .u-column2 {
  width: auto;
  float: none;
}
.woocommerce .u-column1 > h2,
.woocommerce .u-column2 > h2,
.woocommerce-MyAccount-content h2,
.cart_totals h2,
.woocommerce-checkout h3 {
  margin: 0 0 1rem;
  color: var(--t2-navy-900);
  font-size: clamp(1.25rem,2.4vw,1.75rem);
}
.woocommerce form .form-row {
  margin: 0 0 .9rem;
}
.woocommerce form .form-row label {
  display: block;
  margin-bottom: .35rem;
  color: var(--t2-navy-900);
  font-size: .82rem;
  font-weight: 750;
}
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.woocommerce .select2-container .select2-selection--single {
  box-sizing: border-box;
  width: 100%;
  min-height: 3rem;
  border: 1px solid #c8d6e5;
  border-radius: .72rem;
  padding: .68rem .8rem;
  background: #fff;
  color: var(--t2-text);
  font: inherit;
}
.woocommerce .select2-container .select2-selection--single {
  padding-top: .18rem;
}
.woocommerce form .form-row input:focus,
.woocommerce form .form-row textarea:focus,
.woocommerce form .form-row select:focus {
  border-color: var(--t2-blue);
  outline: 0;
  box-shadow: 0 0 0 3px rgba(10,112,245,.12);
}
.woocommerce .button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce a.button {
  min-height: 2.75rem;
  border: 0;
  border-radius: .72rem;
  padding: .72rem 1rem;
  background: var(--t2-blue);
  color: #fff;
  font: inherit;
  font-size: .86rem;
  font-weight: 800;
  cursor: pointer;
  text-decoration: none;
}
.woocommerce .button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce a.button:hover {
  background: var(--t2-navy-900);
  color: #fff;
}
.woocommerce .woocommerce-form-login__rememberme {
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  margin-right: .75rem;
}
.woocommerce-password-strength {
  margin-top: .45rem;
  border-radius: .45rem;
  padding: .35rem .55rem;
  font-size: .74rem;
}
.woocommerce-privacy-policy-text {
  color: var(--t2-muted);
  font-size: .8rem;
  line-height: 1.55;
}
.woocommerce-privacy-policy-text a {
  font-weight: 750;
}
.t6-login-intro {
  margin-bottom: 1rem;
  border-left: 4px solid var(--t2-cyan);
}
.t6-login-intro h2 {
  margin: 0 0 .4rem;
  color: var(--t2-navy-900);
  font-size: clamp(1.2rem,2.5vw,1.6rem);
}
.t6-login-intro p {
  margin: 0;
  color: var(--t2-muted);
}
.woocommerce-MyAccount-navigation {
  width: 28%;
  overflow: hidden;
}
.woocommerce-MyAccount-navigation ul {
  margin: 0;
  padding: .55rem;
  list-style: none;
}
.woocommerce-MyAccount-navigation li a {
  display: block;
  border-radius: .65rem;
  padding: .75rem .85rem;
  color: var(--t2-navy-900);
  font-size: .84rem;
  font-weight: 700;
  text-decoration: none;
}
.woocommerce-MyAccount-navigation li.is-active a,
.woocommerce-MyAccount-navigation li a:hover {
  background: #eaf4ff;
  color: var(--t2-blue);
}
.woocommerce-MyAccount-content {
  box-sizing: border-box;
  width: 69%;
  padding: clamp(1rem,2.5vw,1.6rem);
}
.woocommerce table.shop_table {
  overflow: hidden;
  border: 1px solid var(--t2-line);
  border-radius: 1rem;
  background: #fff;
}
.woocommerce table.shop_table th,
.woocommerce table.shop_table td {
  border-color: var(--t2-line);
  padding: .85rem;
}
.woocommerce-cart-form {
  overflow: hidden;
}
.cart_totals {
  padding: 1rem;
}
.woocommerce-cart .cart-collaterals .cart_totals {
  width: min(100%,31rem);
}
.woocommerce .quantity .qty {
  min-height: 2.7rem;
  border: 1px solid #c8d6e5;
  border-radius: .6rem;
}
.woocommerce-checkout form.checkout {
  display: grid;
  grid-template-columns: minmax(0,1.2fr) minmax(300px,.8fr);
  gap: 1.25rem;
  padding: clamp(1rem,2.5vw,1.5rem);
}
.woocommerce-checkout #customer_details,
.woocommerce-checkout #order_review_heading,
.woocommerce-checkout #order_review {
  width: auto;
  float: none;
}
.woocommerce-checkout #order_review_heading,
.woocommerce-checkout #order_review {
  grid-column: 2;
}
.woocommerce-checkout #order_review_heading {
  grid-row: 1;
  align-self: start;
  margin-top: 0;
}
.woocommerce-checkout #order_review {
  grid-row: 1 / span 2;
  margin-top: 3rem;
}
.woocommerce-checkout-review-order-table,
.woocommerce-checkout-payment {
  border-radius: .9rem !important;
  background: #f6f9fd !important;
}
.t6-shipping-notice {
  margin: .8rem 0;
  border: 1px solid #b8d8ff;
  border-radius: .72rem;
  padding: .75rem .85rem;
  background: #eef6ff;
  color: #123f72;
  font-size: .8rem;
  font-weight: 650;
  line-height: 1.45;
}
.woocommerce-error,
.woocommerce-info,
.woocommerce-message {
  border-radius: .8rem;
  background: #fff;
  box-shadow: 0 10px 26px rgba(4,38,84,.06);
}
.woocommerce-error { border-top-color: #b42318; }
.woocommerce-info { border-top-color: var(--t2-blue); }
.woocommerce-message { border-top-color: #147d64; }
.woocommerce .col2-set .col-1,
.woocommerce .col2-set .col-2 {
  width: 48.5%;
}
.woocommerce address {
  line-height: 1.7;
}
.nsl-container:empty {
  display: none !important;
}

@media (max-width: 820px) {
  .woocommerce .u-columns,
  .woocommerce-checkout form.checkout {
    grid-template-columns: 1fr;
  }
  .woocommerce-MyAccount-navigation,
  .woocommerce-MyAccount-content,
  .woocommerce .col2-set .col-1,
  .woocommerce .col2-set .col-2 {
    width: 100%;
    float: none;
  }
  .woocommerce-MyAccount-navigation {
    margin-bottom: 1rem;
  }
  .woocommerce-MyAccount-navigation ul {
    display: flex;
    overflow-x: auto;
    gap: .35rem;
    scrollbar-width: thin;
  }
  .woocommerce-MyAccount-navigation li {
    flex: 0 0 auto;
  }
  .woocommerce-checkout #customer_details,
  .woocommerce-checkout #order_review_heading,
  .woocommerce-checkout #order_review {
    grid-column: auto;
    grid-row: auto;
  }
  .woocommerce-checkout #order_review {
    margin-top: 0;
  }
}

@media (max-width: 640px) {
  .woocommerce {
    width: min(100% - 1rem,1180px);
  }
  .woocommerce table.shop_table_responsive tr {
    margin-bottom: .75rem;
    border: 1px solid var(--t2-line);
    border-radius: .8rem;
    background: #fff;
  }
  .woocommerce table.shop_table_responsive tr td {
    padding: .7rem;
  }
  .woocommerce form.login,
  .woocommerce form.register,
  .woocommerce form.lost_reset_password,
  .woocommerce form.edit-account,
  .woocommerce form.checkout,
  .woocommerce form.woocommerce-address-fields,
  .woocommerce-MyAccount-content {
    padding: .85rem;
  }
}

@media (max-width: 360px) {
  .woocommerce .button,
  .woocommerce button.button,
  .woocommerce input.button,
  .woocommerce a.button {
    width: 100%;
  }
}


/* Stage 7: keep checkout fields within the grid at narrow widths. */
.woocommerce-checkout form.checkout > * { min-width: 0; }
.woocommerce-checkout #customer_details { display: block; min-width: 0; }
.woocommerce-checkout #customer_details .col-1,
.woocommerce-checkout #customer_details .col-2 { width: 100%; float: none; min-width: 0; }
.woocommerce-checkout .woocommerce-input-wrapper,
.woocommerce-checkout .select2-container { max-width: 100%; }
.woocommerce-checkout .product-name { overflow-wrap: anywhere; }
.woocommerce-checkout table.woocommerce-checkout-review-order-table { width: 100%; table-layout: fixed; }
.woocommerce-checkout table.woocommerce-checkout-review-order-table th,
.woocommerce-checkout table.woocommerce-checkout-review-order-table td,
.woocommerce-checkout form .form-row label,
.woocommerce-checkout form .form-row .optional { white-space: normal; overflow-wrap: anywhere; }
.t7-delivery-disclosure { display: block; margin-top: .5rem; line-height: 1.5; color: #123f72; }
@media (max-width: 820px) {
  .woocommerce-checkout form.checkout { grid-template-columns: minmax(0,1fr); }
}
@media (max-width: 640px) {
  .woocommerce-checkout form .form-row-first,
  .woocommerce-checkout form .form-row-last { width: 100%; float: none; }
  .woocommerce-checkout table.shop_table th,
  .woocommerce-checkout table.shop_table td { padding: .65rem .5rem; }
}

/* Tectronis cart and checkout brand palette. */
.commerce-page:has(.woocommerce-cart-form) .wc-proceed-to-checkout a.checkout-button,
.woocommerce-checkout #payment #place_order {
  background: var(--t2-blue);
  border: 1px solid var(--t2-blue);
  color: #fff;
  box-shadow: 0 10px 24px rgba(7, 95, 201, .24);
}

.commerce-page:has(.woocommerce-cart-form) .wc-proceed-to-checkout a.checkout-button:hover,
.woocommerce-checkout #payment #place_order:hover {
  background: var(--t2-navy-800);
  border-color: var(--t2-navy-800);
  color: #fff;
}

.commerce-page:has(.woocommerce-cart-form) .wc-proceed-to-checkout a.checkout-button:focus-visible,
.woocommerce-checkout #payment #place_order:focus-visible {
  outline: 3px solid rgba(62, 216, 255, .48);
  outline-offset: 3px;
}

.commerce-page:has(.woocommerce-cart-form) .button:disabled,
.commerce-page:has(.woocommerce-cart-form) .button.disabled {
  background: var(--color-soft);
  border-color: var(--color-line);
  color: var(--color-muted);
  opacity: 1;
}

.woocommerce-checkout #payment {
  background: #f6f9fd;
  border: 1px solid var(--color-line);
  color: var(--color-ink);
}

.woocommerce-checkout #payment ul.payment_methods {
  border-bottom-color: var(--color-line);
}

.woocommerce-checkout #payment div.payment_box {
  background: var(--color-soft);
  border: 1px solid var(--color-line);
  border-radius: .75rem;
  color: var(--color-ink);
}

.woocommerce-checkout #payment div.payment_box::before {
  border-bottom-color: var(--color-soft);
}

.woocommerce-checkout #payment input[type="radio"],
.woocommerce-checkout form.checkout input[type="checkbox"] {
  accent-color: var(--t2-blue);
}

.commerce-page:has(.woocommerce-cart-form) #coupon_code,
.woocommerce-checkout form.checkout .input-text,
.woocommerce-checkout form.checkout select,
.woocommerce-checkout form.checkout textarea,
.woocommerce-checkout .select2-container .select2-selection {
  border-color: #c8d6e5;
  color: var(--color-ink);
}

.commerce-page:has(.woocommerce-cart-form) #coupon_code:focus,
.woocommerce-checkout form.checkout .input-text:focus,
.woocommerce-checkout form.checkout select:focus,
.woocommerce-checkout form.checkout textarea:focus,
.woocommerce-checkout .select2-container--focus .select2-selection {
  border-color: var(--color-electric);
  box-shadow: 0 0 0 3px rgba(34, 211, 238, .18);
  outline: none;
}
