/* WooCommerce-only structural refinements. No price, stock or availability rules. */
.ctc-woocommerce-main { width: min(100% - 2rem, var(--ctc-foundation-content)); margin-inline: auto; padding-block: var(--ctc-foundation-space-4); }
.woocommerce-message,
.woocommerce-info,
.woocommerce-error { border: 0.125rem solid var(--ctc-foundation-border); padding: var(--ctc-foundation-space-2) var(--ctc-foundation-space-2) var(--ctc-foundation-space-2) 3.5rem; background: var(--ctc-foundation-surface-alt); }
.woocommerce ul.products { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 16rem), 1fr)); gap: var(--ctc-foundation-space-3); margin: var(--ctc-foundation-space-3) 0; padding: 0; list-style: none; }
.woocommerce ul.products::before,
.woocommerce ul.products::after { display: none; }
.woocommerce ul.products li.product { width: auto; margin: 0; border: 0.0625rem solid var(--ctc-foundation-border); padding: var(--ctc-foundation-space-2); float: none; }
.woocommerce ul.products[class*="columns-"] li.product { width: auto; margin: 0; float: none; }
.woocommerce div.product { display: flow-root; }
.woocommerce-cart-form,
.woocommerce-checkout,
.woocommerce-account .woocommerce { overflow-x: auto; }
.woocommerce .quantity .qty { width: 5rem; }
.woocommerce div.product form.cart,
.woocommerce div.product form.variations_form { display: flex; flex-wrap: wrap; align-items: end; gap: var(--ctc-foundation-space-2); }
.woocommerce div.product form.cart .variations { flex: 1 1 100%; }
.woocommerce div.product form.variations_form .single_variation_wrap { flex: 1 1 100%; min-width: 0; }
.woocommerce div.product form.variations_form .woocommerce-variation-price { display: block; margin-block-end: var(--ctc-foundation-space-2); }
.woocommerce div.product form.variations_form .woocommerce-variation-add-to-cart { display: flex; flex-wrap: wrap; align-items: center; gap: var(--ctc-foundation-space-1); clear: both; }
.woocommerce .woocommerce-breadcrumb { margin-block-end: var(--ctc-foundation-space-3); }
.woocommerce form .form-row { margin-block-end: var(--ctc-foundation-space-2); }
.woocommerce form .form-row-first,
.woocommerce form .form-row-last { width: min(100%, 30rem); float: none; }
@media (max-width: 48rem) {
  .woocommerce div.product .images,
  .woocommerce div.product .summary { width: 100%; float: none; }
  .woocommerce div.product form.cart,
  .woocommerce div.product form.variations_form { align-items: stretch; flex-direction: column; }
  .woocommerce table.shop_table_responsive thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0, 0, 0, 0); }
}

/* Fase 3.2 — approved commerce composition, native WooCommerce markup. */
:is(.woocommerce-cart,.woocommerce-checkout,.woocommerce-account) :is(.entry-header,.entry-content) { width:100%; }
.ctc-woocommerce-main { width:min(calc(100% - 72px),1216px); padding-block:32px 64px; }
.woocommerce .woocommerce-breadcrumb { font-size:12px; color:var(--ctc-muted); margin-bottom:32px; }
.woocommerce ul.products { grid-template-columns:repeat(4,minmax(0,1fr)); gap:20px; clear:both; }
.woocommerce ul.products li.product { border:1px solid var(--ctc-line); border-radius:12px; padding:18px; display:flex; flex-direction:column; min-width:0; }
.woocommerce ul.products li.product .woocommerce-loop-product__link { text-decoration:none; color:var(--ctc-ink); }
.woocommerce ul.products li.product a img { height:215px; width:100%; object-fit:contain; border-radius:8px; background:var(--ctc-soft); }
.woocommerce ul.products li.product h2.woocommerce-loop-product__title { font-size:18px; line-height:1.35; letter-spacing:-.35px; padding:10px 0; }
.woocommerce ul.products li.product .price { color:var(--ctc-ink); font-size:20px; font-weight:700; }
.woocommerce ul.products li.product .button { margin-top:auto; padding:12px; min-height:44px; font-size:14px; text-align:center; }
.woocommerce a.button,.woocommerce button.button,.woocommerce input.button { border-radius:7px; font-family:inherit; font-weight:600; min-height:46px; padding:13px 19px; line-height:1.3; }
.woocommerce a.button.alt,.woocommerce button.button.alt,.woocommerce input.button.alt { background:var(--ctc-green); color:#fff; }
.woocommerce a.button.alt:hover,.woocommerce button.button.alt:hover,.woocommerce input.button.alt:hover { background:var(--ctc-green-hover); }
/* Match native Woo disabled-attribute specificity, including hover. */
.woocommerce :is(a,button,input).button.alt:is(.disabled,:disabled[disabled]),
.woocommerce :is(a,button,input).button.alt:is(.disabled,:disabled[disabled]):hover { background:#50645a; color:#fff; cursor:not-allowed; opacity:.72; }
.woocommerce div.product div.images { width:calc((100% - 45px)/2); }
.woocommerce div.product div.summary { width:calc((100% - 45px)/2); }
.woocommerce div.product div.images .woocommerce-product-gallery__image { background:var(--ctc-soft); border-radius:12px; min-height:380px; display:flex; align-items:center; justify-content:center; }
.woocommerce div.product div.images .woocommerce-product-gallery__image > a { display:flex; width:100%; align-items:center; justify-content:center; padding:22px; }
.woocommerce div.product div.images .woocommerce-product-gallery__image > a > img { width:100%; height:300px; object-fit:contain; }
.woocommerce div.product div.images img { max-height:470px; object-fit:contain; }
.woocommerce div.product div.images .flex-control-thumbs { display:flex; gap:12px; padding-top:16px; }
.woocommerce div.product div.images .flex-control-thumbs li { width:74px; border:1px solid var(--ctc-line); border-radius:6px; }
.woocommerce div.product div.images .flex-control-thumbs img:focus-visible { outline:3px solid var(--ctc-foundation-focus); outline-offset:-3px; opacity:1; }
.woocommerce div.product .product_title { font-size:32px; line-height:1.15; margin-bottom:16px; }
.woocommerce div.product .summary > .ctc-content-subtitle,
.woocommerce div.product .summary > .ctc-retail-capacity-selection { font-size:14px; line-height:1.6; margin:0 0 14px; }
.woocommerce div.product .summary > p.price { margin:16px 0; }
.woocommerce div.product p.price,.woocommerce div.product span.price { color:var(--ctc-ink); font-size:30px; font-weight:700; }
.woocommerce div.product .woocommerce-product-details__short-description { color:var(--ctc-muted); font-size:14px; }
.woocommerce div.product form.cart { margin-bottom:16px; }
.woocommerce div.product form.cart table.variations { border:0; margin-bottom:16px; }
.woocommerce div.product form.cart table.variations th,.woocommerce div.product form.cart table.variations td { border:0; padding:8px 0; }
.woocommerce div.product form.cart table.variations select { min-height:46px; min-width:min(100%,220px); width:100%; }
.woocommerce div.product form.cart .single_add_to_cart_button { flex:1; }
.woocommerce .ctc-commerce-tradein { clear:both; margin:12px 0 24px; }
.woocommerce a.button.ctc-secondary-button { display:flex; width:100%; justify-content:center; background:#fff; color:var(--ctc-green-hover); border:1px solid #b4cec0; }
.woocommerce a.button.ctc-secondary-button:hover { background:var(--ctc-pale); color:var(--ctc-green-hover); }
.woocommerce .product_meta { color:var(--ctc-muted); font-size:12px; padding-block:16px; border-top:1px solid var(--ctc-line); }
.woocommerce div.product .woocommerce-tabs { clear:both; padding-top:32px; }
.woocommerce div.product .woocommerce-tabs ul.tabs { padding:0; }
.woocommerce div.product .woocommerce-tabs ul.tabs li { border:1px solid var(--ctc-line); border-radius:7px 7px 0 0; background:var(--ctc-soft); margin:0 4px 0 0; }
.woocommerce div.product .woocommerce-tabs ul.tabs li::before,.woocommerce div.product .woocommerce-tabs ul.tabs li::after { display:none; }
.woocommerce div.product .woocommerce-tabs .panel { width:100%; max-width:none; }
.woocommerce div.product .woocommerce-tabs .panel h2 { margin-top:32px; font-size:25px; }
.ctc-product-description-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.ctc-product-content-card { min-width:0; padding:24px; border:1px solid var(--ctc-line); border-radius:12px; }
.woocommerce div.product .woocommerce-tabs .ctc-product-content-card h2 { margin-top:0; font-size:24px; }
.ctc-product-content-card p,.ctc-product-content-card li { color:var(--ctc-muted); font-size:14px; line-height:1.7; }
.ctc-product-content-card > :last-child { margin-bottom:0; }
.ctc-product-content-intro { grid-column:1/-1; padding:0; border:0; }
.ctc-product-policy-links { display:flex; flex-wrap:wrap; gap:12px 22px; border-top:1px solid var(--ctc-line); padding-top:14px; margin-bottom:20px; }
.ctc-product-policy-links a { display:inline-flex; align-items:center; min-height:44px; color:var(--ctc-green-hover); font-size:13px; }
.woocommerce table.shop_table { border:1px solid var(--ctc-line); border-radius:12px; border-collapse:separate; padding:12px; }
.woocommerce table.shop_table th,.woocommerce table.shop_table td { padding:16px 12px; }
.woocommerce table.shop_table td { border-top:1px solid var(--ctc-line); }
.woocommerce .cart .product-thumbnail img { width:96px; min-width:72px; max-height:120px; object-fit:contain; background:var(--ctc-soft); border-radius:8px; }
.woocommerce-cart .entry-content>.woocommerce { display:grid; grid-template-columns:minmax(0,1.7fr) minmax(300px,1fr); align-items:start; gap:24px; }
.woocommerce-cart .entry-content>.woocommerce::before,.woocommerce-cart .entry-content>.woocommerce::after { display:none; }
.woocommerce-cart .cart :is(.product-price,.product-subtotal) { white-space:nowrap; }
.woocommerce-cart .woocommerce-notices-wrapper,.woocommerce-cart .cart-empty,.woocommerce-cart .return-to-shop { grid-column:1/-1; }
.woocommerce-cart .entry-content>.woocommerce:has(.ctc-empty-cart) { display:flex; flex-direction:column; align-items:center; gap:0; text-align:center; padding:20px 0 40px; }
.ctc-empty-cart { order:1; width:100%; }
.ctc-empty-cart-icon { display:grid; place-items:center; width:78px; height:78px; margin:0 auto 24px; border-radius:50%; background:var(--ctc-pale); }
.ctc-empty-cart-icon img { width:33px; height:33px; }
.ctc-empty-cart h2 { font-size:34px; letter-spacing:-1px; margin:0 0 16px; }
.ctc-empty-cart p { color:var(--ctc-muted); font-size:15px; line-height:1.75; margin:0; }
.woocommerce-cart .ctc-empty-cart~.return-to-shop { order:2; margin:27px 0 12px; }
.woocommerce-cart .ctc-empty-cart~.return-to-shop .button { min-width:208px; background:var(--ctc-green); color:#fff; }
.ctc-empty-cart-seller { order:3; margin:0; color:var(--ctc-muted); font-size:13px; }
.ctc-empty-cart-seller a { display:inline-flex; align-items:center; min-height:44px; margin-left:8px; font-weight:600; }
.ctc-shop-tradein { clear:both; display:flex; align-items:center; gap:24px; padding:24px; margin-top:36px; border-radius:10px; background:var(--ctc-pale); }
.ctc-shop-tradein>img { flex:none; width:28px; height:28px; }
.ctc-shop-tradein>div { flex:1; min-width:0; }
.ctc-shop-tradein h2 { font-size:17px; margin:0 0 6px; }
.ctc-shop-tradein p { font-size:13px; color:var(--ctc-muted); margin:0; }
.woocommerce .ctc-shop-tradein a.button { width:auto; flex:none; font-size:13px; }
.woocommerce-cart .woocommerce-cart-form { overflow:visible; min-width:0; }
.woocommerce-cart .cart-collaterals { width:auto; }
.woocommerce-cart .cart-collaterals .cart_totals { float:none; width:100%; padding:24px; background:var(--ctc-soft); border:1px solid var(--ctc-line); border-radius:12px; }
.woocommerce-cart .cart_totals h2 { font-size:23px; }
.woocommerce-cart .cart_totals table { padding:0; border:0; }
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button { font-size:16px; margin-bottom:0; }
.woocommerce form.checkout { display:grid; grid-template-columns:minmax(0,1.4fr) minmax(320px,1fr); gap:24px; align-items:start; overflow:visible; }
.woocommerce form.checkout::before,.woocommerce form.checkout::after { display:none; }
.woocommerce form.checkout #customer_details { grid-row:1/4; }
.woocommerce form.checkout #customer_details .col-1,.woocommerce form.checkout #customer_details .col-2 { width:100%; float:none; }
.woocommerce form.checkout #order_review_heading { margin:0; }
.woocommerce form.checkout #order_review { border:1px solid var(--ctc-line); border-radius:12px; background:var(--ctc-soft); padding:22px; }
.woocommerce form.checkout .woocommerce-billing-fields__field-wrapper,.woocommerce form.checkout .woocommerce-shipping-fields__field-wrapper { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.woocommerce form.checkout .form-row { width:auto; min-width:0; padding:0; margin:0 0 12px; }
.woocommerce form.checkout .form-row-wide { grid-column:1/-1; }
.woocommerce form.checkout .woocommerce-input-wrapper { display:block; width:100%; }
.woocommerce form.checkout #payment { background:#fff; border-radius:8px; }
.woocommerce form.checkout #payment div.payment_box { background:var(--ctc-pale); color:var(--ctc-ink); }
.woocommerce form.checkout #payment div.payment_box::before { border-bottom-color:var(--ctc-pale); }
.woocommerce form.checkout #place_order { width:100%; font-size:16px; }
.ctc-checkout-primary,.ctc-checkout-summary { min-width:0; }
.woocommerce form.checkout .ctc-checkout-primary #customer_details { grid-row:auto; }
.woocommerce form.checkout .ctc-checkout-primary :is(.woocommerce-billing-fields,.woocommerce-additional-fields),
.woocommerce form.checkout .ctc-checkout-primary #payment { border:1px solid var(--ctc-line); border-radius:12px; background:#fff; padding:24px; margin:0 0 24px; }
.woocommerce form.checkout .ctc-checkout-primary :is(h2,h3) { margin:0 0 24px; font-size:20px; }
.woocommerce form.checkout .ctc-checkout-primary #payment ul.payment_methods { padding:0; border:0; }
.woocommerce form.checkout .ctc-checkout-summary { padding:24px; border:1px solid var(--ctc-line); border-radius:12px; background:var(--ctc-soft); }
.woocommerce form.checkout .ctc-checkout-summary #order_review_heading { font-size:23px; margin:0 0 24px; }
.woocommerce form.checkout .ctc-checkout-summary #order_review { border:0; padding:0; background:transparent; }
.woocommerce form.checkout .ctc-checkout-summary table.shop_table { border:0; padding:0; }
.woocommerce form.checkout .ctc-checkout-actions { margin-top:20px; }
.woocommerce form.checkout .ctc-checkout-actions.is-updating { opacity:.6; pointer-events:none; }
.woocommerce form.checkout .ctc-checkout-actions .place-order { margin:0; }
.woocommerce form.checkout .ctc-checkout-actions .woocommerce-privacy-policy-text { font-size:13px; color:var(--ctc-muted); }
.woocommerce form.checkout>.woocommerce-NoticeGroup { grid-column:1/-1; }
@media(max-width:767px) {
 .woocommerce form.checkout .ctc-checkout-primary :is(.woocommerce-billing-fields,.woocommerce-additional-fields),
 .woocommerce form.checkout .ctc-checkout-primary #payment,
 .woocommerce form.checkout .ctc-checkout-summary { padding:20px; }
}
.woocommerce-account .woocommerce { display:flow-root; overflow:visible; }
.woocommerce-account .woocommerce-MyAccount-navigation { width:24%; padding:18px; border:1px solid var(--ctc-line); border-radius:12px; background:var(--ctc-soft); }
.woocommerce-account .woocommerce-MyAccount-content { width:71%; min-width:0; }
.woocommerce-account .woocommerce-MyAccount-navigation ul { list-style:none; margin:0; padding:0; }
.woocommerce-account .woocommerce-MyAccount-navigation a { display:block; padding:12px; border-radius:7px; color:var(--ctc-ink); text-decoration:none; }
.woocommerce-account .woocommerce-MyAccount-navigation .is-active a { background:var(--ctc-pale); font-weight:700; }
.ctc-account-overview { margin-top:32px; }
.ctc-account-overview>h2 { margin-bottom:12px; }
.ctc-account-overview>p { color:var(--ctc-muted); }
.ctc-account-cards { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; margin:26px 0 24px; }
.ctc-account-card { padding:20px; border:1px solid var(--ctc-line); border-radius:10px; display:flex; flex-direction:column; align-items:flex-start; min-width:0; }
.ctc-account-card img { width:24px; height:24px; margin:4px 0 18px; }
.ctc-account-card h3 { font-size:16px; margin:0 0 10px; }
.ctc-account-card p { color:var(--ctc-muted); font-size:13px; margin:0 0 16px; }
.ctc-account-card a { display:inline-flex; align-items:center; min-height:44px; margin-top:auto; font-size:13px; font-weight:600; text-decoration:none; }
.ctc-account-card a:hover { text-decoration:underline; }
.ctc-account-orders { border:1px solid var(--ctc-line); border-radius:12px; padding:24px; }
.ctc-account-orders>h2 { margin:0 0 24px; }
.ctc-account-orders .woocommerce-info { border:0; margin:0; background:var(--ctc-soft); border-radius:8px; min-height:120px; }
.ctc-account-support { padding:18px; border-radius:8px; margin-top:20px; background:var(--ctc-pale); color:var(--ctc-muted); font-size:14px; }
.ctc-account-support a { display:inline-flex; align-items:center; min-height:44px; margin-left:8px; }
.woocommerce form.login,.woocommerce form.register,.woocommerce form.lost_reset_password { max-width:540px; margin:24px auto; padding:28px; border:1px solid var(--ctc-line); border-radius:12px; }
/* E6 access uses native Woo forms in the approved two-column composition. */
.ctc-auth-page .site-main>article { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:70px; align-items:center; max-width:930px; margin:30px auto 24px; }
.ctc-auth-page .site-main>article>.entry-header { margin:0; padding:0; min-width:0; }
.ctc-auth-page .entry-header h1 { font-size:40px; line-height:1.15; letter-spacing:-1px; margin:0 0 16px; }
.ctc-auth-page .entry-header>p { font-size:16px; max-width:360px; margin:0 0 20px; }
.ctc-auth-page .entry-header .ctc-auth-eyebrow { color:var(--ctc-green-hover); text-transform:uppercase; font-size:11px; font-weight:700; letter-spacing:1.3px; margin:0 0 16px; }
.ctc-auth-benefits { list-style:none; padding:0; margin:28px 0; display:grid; gap:20px; }
.ctc-auth-benefits li { display:flex; align-items:center; gap:12px; font-size:14px; }
.ctc-auth-benefits img { flex:none; width:20px; height:20px; }
.ctc-auth-return { display:inline-flex; align-items:center; min-height:44px; font-size:14px; font-weight:600; }
.ctc-auth-page .entry-content { min-width:0; }
.ctc-auth-page #customer_login { border:1px solid var(--ctc-line); border-radius:12px; padding:30px; }
.ctc-auth-page #customer_login::before,.ctc-auth-page #customer_login::after { display:none; }
.ctc-auth-page #customer_login>.col-1,.ctc-auth-page #customer_login>.col-2 { float:none; width:100%; }
.ctc-auth-page #customer_login>[hidden] { display:none; }
.ctc-auth-page #customer_login h2 { font-size:24px; line-height:1.25; margin:0 0 22px; }
.ctc-auth-page .woocommerce form.login,.ctc-auth-page .woocommerce form.register { padding:0; margin:0; border:0; border-radius:0; }
.ctc-auth-page .woocommerce form.lost_reset_password { padding:30px; margin:0; }
.ctc-auth-recovery { padding:30px; border:1px solid var(--ctc-line); border-radius:12px; }
.ctc-auth-recovery h2 { font-size:24px; line-height:1.25; margin:0 0 22px; }
.ctc-auth-page .ctc-auth-recovery form.lost_reset_password { padding:0; border:0; border-radius:0; }
.ctc-auth-page .woocommerce form .form-row { padding:0; margin:0 0 20px; float:none; width:100%; }
.ctc-auth-page .woocommerce form .form-row label { font-size:13px; font-weight:500; line-height:1.5; margin-bottom:8px; }
.ctc-auth-page .woocommerce form .form-row input.input-text { min-height:46px; width:100%; font-size:16px; }
.ctc-auth-page .woocommerce form .form-row:has(.woocommerce-form-login__submit) { display:flex; flex-direction:column; gap:16px; }
.ctc-auth-page .woocommerce form .woocommerce-form-login__rememberme { order:-1; }
.ctc-auth-page .woocommerce button.button { float:none; width:100%; background:var(--ctc-green); color:white; font-size:14px; }
.ctc-auth-page .woocommerce button.button:hover { background:var(--ctc-green-hover); }
.ctc-auth-page .woocommerce form p { font-size:13px; line-height:1.65; }
.ctc-auth-page .woocommerce-LostPassword { margin:0; }
.ctc-auth-page .woocommerce-LostPassword a,.ctc-auth-back a { display:inline-flex; align-items:center; min-height:44px; font-size:13px; }
.ctc-auth-tabs { display:flex; gap:22px; border-bottom:1px solid var(--ctc-line); margin-bottom:26px; }
.ctc-auth-tabs button { min-height:44px; padding:0 0 12px; border:0; border-bottom:2px solid transparent; border-radius:0; background:transparent; color:var(--ctc-muted); font-size:13px; font-weight:400; }
.ctc-auth-tabs button[aria-selected="true"] { border-bottom-color:var(--ctc-green); color:var(--ctc-green-hover); font-weight:700; }
.ctc-auth-tabs button:hover { background:transparent; color:var(--ctc-green-hover); }
.ctc-auth-tabs button:focus-visible { outline:2px solid var(--ctc-green-hover); outline-offset:4px; }
.ctc-auth-back { margin:12px 0 0; }
@media(max-width:1000px) { .ctc-auth-page .site-main>article { gap:40px; } }
@media(max-width:700px) {
 .ctc-auth-page .site-main>article { grid-template-columns:1fr; gap:25px; margin:24px 0 0; }
 .ctc-auth-page .entry-header h1 { font-size:32px; }
 .ctc-auth-page .entry-header>p { font-size:14px; }
 .ctc-auth-benefits { display:none; }
 .ctc-auth-page #customer_login,.ctc-auth-page .woocommerce form.lost_reset_password { padding:24px 20px; }
 .ctc-auth-page .ctc-auth-recovery { padding:24px 20px; }
 .ctc-auth-page .ctc-auth-recovery form.lost_reset_password { padding:0; }
}
.woocommerce ul.order_details { display:flex; gap:16px; flex-wrap:wrap; padding:24px; border:1px solid var(--ctc-line); border-radius:12px; background:var(--ctc-soft); }
.woocommerce ul.order_details li { float:none; min-width:130px; margin:0; padding-right:16px; }
.ctc-product-sticky { position:fixed; z-index:29; bottom:0; left:0; right:0; padding:12px 20px calc(12px + env(safe-area-inset-bottom)); border-top:1px solid var(--ctc-line); background:#fff; display:flex; align-items:center; justify-content:space-between; gap:16px; box-shadow:0 -3px 16px #143a2f12; }
.ctc-product-sticky[hidden] { display:none; }
.ctc-product-sticky__label { display:block; font-size:11px; color:var(--ctc-muted); }
.ctc-product-sticky [data-ctc-sticky-price] { display:block; font-size:20px; font-weight:700; color:var(--ctc-ink); }
.ctc-product-sticky button { font-size:13px; min-height:46px; flex:none; }
@media(max-width:1023px) {
  .woocommerce ul.products { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .woocommerce-cart .entry-content>.woocommerce,.woocommerce form.checkout { grid-template-columns:1fr; }
  .woocommerce form.checkout #customer_details { grid-row:auto; }
}
@media(max-width:767px) {
  .ctc-empty-cart h2 { font-size:29px; }
  .ctc-shop-tradein { flex-wrap:wrap; gap:16px; padding:20px; }
  .woocommerce .ctc-shop-tradein a.button { width:100%; }
  .ctc-woocommerce-main { width:calc(100% - 40px); padding-block:24px 40px; }
  .single-product { padding-bottom:86px; }
  .woocommerce ul.products { grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
  .woocommerce ul.products li.product { padding:12px; }
  .woocommerce ul.products li.product a img { height:150px; }
  .woocommerce ul.products li.product h2.woocommerce-loop-product__title { font-size:16px; }
  .woocommerce ul.products li.product .price { font-size:18px; }
  .woocommerce div.product div.images,.woocommerce div.product div.summary { width:100%; float:none; }
  .woocommerce div.product div.images .woocommerce-product-gallery__image { min-height:276px; }
  .woocommerce div.product div.images .woocommerce-product-gallery__image > a > img { height:218px; }
  .ctc-product-description-grid { grid-template-columns:1fr; gap:16px; }
  .ctc-product-content-card { padding:20px; }
  .ctc-product-content-intro { padding:0; }
  .woocommerce div.product div.images .flex-control-thumbs li { width:56px; }
  .woocommerce div.product div.images .flex-control-thumbs img { height:61px; object-fit:contain; }
  .woocommerce div.product .product_title { font-size:29px; }
  .woocommerce div.product div.images img { max-height:330px; }
  .woocommerce div.product form.cart { flex-direction:row; align-items:end; }
  .woocommerce-cart table.shop_table_responsive tr td.product-thumbnail { display:block; text-align:center!important; }
  .woocommerce-cart table.shop_table_responsive tr td.product-thumbnail::before { display:none; }
  .woocommerce table.shop_table_responsive tbody tr { border:1px solid var(--ctc-line); border-radius:10px; margin-bottom:18px; padding:12px; }
  .woocommerce table.shop_table_responsive tr td { background:#fff; padding:12px 4px; }
  .woocommerce-account .woocommerce-MyAccount-navigation,.woocommerce-account .woocommerce-MyAccount-content { float:none; width:100%; margin-bottom:24px; }
  .woocommerce-account .woocommerce-MyAccount-navigation ul { display:flex; flex-wrap:wrap; gap:4px; }
  .ctc-account-cards { grid-template-columns:1fr; }
  .ctc-account-orders { padding:18px; }
  .woocommerce form.checkout .woocommerce-billing-fields__field-wrapper,.woocommerce form.checkout .woocommerce-shipping-fields__field-wrapper { grid-template-columns:1fr; }
  .woocommerce form.checkout #order_review { padding:16px; }
  .woocommerce .woocommerce-result-count,.woocommerce .woocommerce-ordering { float:none; margin-bottom:14px; }
  .woocommerce .woocommerce-ordering select { width:100%; }
}
@media(max-width:359px) { .woocommerce ul.products { grid-template-columns:1fr; } }

/* E5: authorized server-side order state, native detail and payment actions. */
.ctc-order-status { margin:0 0 28px; display:flex; gap:20px; align-items:start; }
.ctc-order-status-icon { display:flex; align-items:center; justify-content:center; flex:0 0 66px; width:66px; height:66px; border-radius:50%; background:var(--ctc-soft); }
.ctc-order-status--pending .ctc-order-status-icon { background:#fbf5e9; }
.ctc-order-status .ctc-eyebrow { font-size:11px; letter-spacing:1.4px; font-weight:700; color:var(--ctc-green); margin:0; }
.ctc-order-result-details address { overflow-wrap:anywhere; }
.ctc-order-status h2 { font-size:32px; line-height:1.2; margin:10px 0; }
.ctc-order-status-label { display:inline-block; padding:8px 12px; border-radius:5px; background:#fbf4e4; color:#825700; font-size:14px; margin:0; }
.ctc-order-status--paid .ctc-order-status-label { color:#006442; background:#eaf5ef; }
.ctc-order-status--failed .ctc-order-status-label,.ctc-order-status--cancelled .ctc-order-status-label { color:#8b2d20; background:#fff0ed; }
.ctc-order-status--unverified .ctc-order-status-label,.ctc-order-status--refunded .ctc-order-status-label { color:var(--ctc-muted); background:var(--ctc-soft); }
.woocommerce .ctc-order-result ul.order_details { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); padding:24px; margin:0 0 24px; gap:20px; border:1px solid var(--ctc-line); border-radius:10px; background:var(--ctc-soft); }
.woocommerce .ctc-order-result ul.order_details::before,.woocommerce .ctc-order-result ul.order_details::after { display:none; }
.woocommerce .ctc-order-result ul.order_details li { float:none; margin:0; padding:0; border:0; font-size:12px; text-transform:none; overflow-wrap:anywhere; }
.woocommerce .ctc-order-result ul.order_details li strong { margin-top:6px; font-size:16px; }
.ctc-order-result-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:20px; align-items:start; }
.ctc-order-result-details,.ctc-order-next { border:1px solid var(--ctc-line); border-radius:10px; padding:24px; min-width:0; }
.ctc-order-next { background:var(--ctc-soft); }
.ctc-order-result-grid h2 { margin:0 0 20px; font-size:24px; }
.ctc-order-result-details .woocommerce-order-details,.ctc-order-result-details .woocommerce-customer-details { margin-bottom:24px; }
.ctc-order-result-details .woocommerce-customer-details .col2-set { display:block; }
.ctc-order-result-details .woocommerce-customer-details .col2-set .col-1,.ctc-order-result-details .woocommerce-customer-details .col2-set .col-2 { float:none; width:100%; margin:0 0 16px; }
.ctc-order-result-details th,.ctc-order-result-details td { overflow-wrap:anywhere; }
@media(max-width:767px) {
 .ctc-order-result-grid { grid-template-columns:minmax(0,1fr); }
 .woocommerce .ctc-order-result ul.order_details { grid-template-columns:repeat(2,minmax(0,1fr)); padding:20px; }
 .ctc-order-result-details,.ctc-order-next { padding:20px; }
 .ctc-order-status h2 { font-size:28px; }
 .ctc-order-status-icon { flex-basis:50px; width:50px; height:50px; }
}

/* E4/E5 approved hierarchy, using native Woo field and amount markup. */
.woocommerce-order-received .entry-header:empty { display:none; }
.woocommerce-order-received .ctc-order-result > .ctc-breadcrumb { margin-bottom:30px; }
.ctc-commerce-eyebrow { color:var(--ctc-green); font-size:11px; font-weight:700; letter-spacing:1.5px; margin:0 0 12px; }
.ctc-order-status h1 { font-size:36px; line-height:1.15; margin:12px 0; letter-spacing:-1px; }
.ctc-product-reference-note { color:var(--ctc-muted); font-size:13px; line-height:1.6; margin:12px 0 18px; }
.ctc-order-status-description { margin:0 0 16px; color:var(--ctc-muted); }
.ctc-order-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:24px; }
.woocommerce .ctc-order-actions a.button { width:auto; font-size:14px; }
.ctc-order-next p { color:var(--ctc-muted); font-size:14px; line-height:1.65; }
.ctc-checkout-progress ol { display:flex; gap:28px; flex-wrap:wrap; padding:0; margin:0 0 30px; list-style:none; font-size:13px; color:var(--ctc-muted); }
.ctc-checkout-progress [aria-current="step"] { color:var(--ctc-green-hover); font-weight:700; }
.woocommerce form.checkout .woocommerce-billing-fields.ctc-billing-grouped { border:0; padding:0; background:transparent; display:grid; gap:24px; }
.woocommerce form.checkout .ctc-billing-section { border:1px solid var(--ctc-line); border-radius:10px; padding:24px; background:#fff; }
.ctc-order-product { display:flex; gap:12px; align-items:center; }
.ctc-order-product > span { min-width:0; }
.woocommerce .ctc-order-product-image { width:64px; height:88px; flex:0 0 64px; object-fit:contain; border-radius:7px; background:var(--ctc-soft); }
.woocommerce .ctc-checkout-summary table.shop_table,.woocommerce .ctc-order-result-details table.shop_table { border:0; border-radius:0; border-collapse:collapse; }
.woocommerce .ctc-checkout-summary table.shop_table th,.woocommerce .ctc-checkout-summary table.shop_table td,.woocommerce .ctc-order-result-details table.shop_table th,.woocommerce .ctc-order-result-details table.shop_table td { border:0; border-bottom:1px solid var(--ctc-line); padding:16px 0; background:transparent; font-size:14px; }
.woocommerce .ctc-checkout-summary table.shop_table td:last-child,.woocommerce .ctc-order-result-details table.shop_table td:last-child { padding-left:12px; text-align:right; }
.woocommerce .ctc-checkout-summary table.shop_table th { font-weight:500; }
.woocommerce .ctc-checkout-summary table.shop_table .order-total { font-size:18px; }
.ctc-order-result-details .woocommerce-customer-details { margin-top:24px; }
@media(max-width:767px) {
 .ctc-order-status h1 { font-size:28px; letter-spacing:-.6px; }
 .ctc-order-actions { flex-direction:column; }
 .woocommerce .ctc-order-actions a.button { width:100%; }
 .woocommerce form.checkout .ctc-billing-section { padding:20px; }
 .woocommerce .ctc-order-product-image { width:46px; height:66px; flex-basis:46px; }
 .ctc-checkout-progress ol { gap:18px; font-size:12px; }
}
