/* Checkout presentation only. Native visibility, values and refresh targets stay authoritative. */
body.paracel-cream:is(#order, #order-opc) #center_column { min-width: 0; }
body.paracel-cream .paracel-checkout-intro { max-width: 64ch; margin: -8px 0 32px; color: var(--ink-2); }
body.paracel-cream .paracel-cart-heading .heading-counter {
  display: block; float: none; margin-top: 14px; color: var(--ink-2);
  font: 400 .9375rem/1.5 var(--body); letter-spacing: 0; text-transform: none;
}
body.paracel-cream .paracel-checkout-heading,
body.paracel-cream#order-opc .page-heading.paracel-checkout-heading {
  position: static; min-height: 0; margin: 40px 0 20px; padding: 0 0 12px;
  border: 0; border-bottom: 1px solid var(--rule); color: var(--olive);
  font: 600 clamp(1.5rem, 1.3rem + .6vw, 1.75rem)/1.2 var(--display); letter-spacing: .05em;
}
body.paracel-cream .paracel-checkout-panel {
  padding: 20px 16px; margin-bottom: 24px; background: var(--plate);
  border: 1px solid var(--rule); border-radius: 2px; box-shadow: none;
}
body.paracel-cream .paracel-cart-empty {
  max-width: 44rem; padding: 32px 24px; background: var(--paper-2);
  border-color: var(--rule); color: var(--ink); font-size: 1.125rem;
}
body.paracel-cream .paracel-cart-empty .button { margin-top: 20px; }
body.paracel-cream .paracel-cart-scroll-help { margin: -8px 0 12px; color: var(--ink-2); font-size: .9375rem; }

/* Desktop retains table groups; the mobile override explicitly orders the native footer last. */
body.paracel-cream:is(#order, #order-opc) #order-detail-content {
  /* Contain absolutely positioned accessible labels inside the scrolling table. */
  position: relative; max-width: 100%; margin: 0 0 20px; padding: 4px; overflow-x: auto;
  border: 1px solid var(--rule); background: var(--plate); -webkit-overflow-scrolling: touch;
}
body.paracel-cream:is(#order, #order-opc) #order-detail-content #cart_summary {
  display: table; width: 100%; min-width: 720px; margin: 0; border: 0; border-collapse: collapse; table-layout: auto;
}
body.paracel-cream:is(#order, #order-opc) #order-detail-content #cart_summary thead { display: table-header-group; }
body.paracel-cream:is(#order, #order-opc) #order-detail-content #cart_summary tbody { display: table-row-group; }
body.paracel-cream:is(#order, #order-opc) #order-detail-content #cart_summary tfoot { display: table-footer-group; }
body.paracel-cream:is(#order, #order-opc) #order-detail-content #cart_summary tr {
  display: table-row; position: static; overflow: visible; border-bottom: 1px solid var(--rule);
}
body.paracel-cream:is(#order, #order-opc) #order-detail-content #cart_summary th,
body.paracel-cream:is(#order, #order-opc) #order-detail-content #cart_summary td {
  display: table-cell; position: static; float: none; clear: none; width: auto;
  padding: 16px 12px; border: 0; white-space: normal; vertical-align: middle;
}
body.paracel-cream:is(#order, #order-opc) #order-detail-content #cart_summary th {
  background: var(--paper-2); color: var(--ink-2); font: 500 .9375rem/1.5 var(--body);
}
body.paracel-cream:is(#order, #order-opc) #order-detail-content #cart_summary td:before { content: none; }
body.paracel-cream:is(#order, #order-opc) #order-detail-content #cart_summary tbody td { background: var(--plate); }
body.paracel-cream:is(#order, #order-opc) #order-detail-content #cart_summary td.cart_description { min-width: 13rem; max-width: 25rem; }
body.paracel-cream:is(#order, #order-opc) #order-detail-content #cart_summary td.cart_description small { display: block; color: var(--ink-2); }
body.paracel-cream:is(#order, #order-opc) #order-detail-content #cart_summary td.cart_product { width: 100px; min-width: 100px; }
body.paracel-cream:is(#order, #order-opc) #cart_summary .cart_product img {
  width: auto; max-width: 76px; height: auto; object-fit: contain; border: 1px solid var(--rule); background: var(--plate);
}
body.paracel-cream:is(#order, #order-opc) #order-detail-content #cart_summary td.cart_quantity { min-width: 112px; }
body.paracel-cream:is(#order, #order-opc) #order-detail-content #cart_summary .cart_quantity_input {
  width: 64px; height: 48px; margin: 0 auto 8px; padding: 8px; text-align: center;
}
body.paracel-cream:is(#order, #order-opc) #order-detail-content #cart_summary .cart_quantity_button { display: block; width: 92px; margin: 0 auto; }
body.paracel-cream:is(#order, #order-opc) #cart_summary .cart_quantity_button a { margin: 0 2px 0 0; }
body.paracel-cream:is(#order, #order-opc) #cart_summary .cart_delete a,
body.paracel-cream:is(#order, #order-opc) #cart_summary .price_discount_delete { min-width: 44px; min-height: 44px; padding: 10px; }
body.paracel-cream:is(#order, #order-opc) #order-detail-content #cart_summary .price { text-align: right; white-space: nowrap; }
body.paracel-cream:is(#order, #order-opc) #order-detail-content #cart_summary tfoot td { padding-top: 12px; padding-bottom: 12px; background: var(--paper-2); }
body.paracel-cream:is(#order, #order-opc) #order-detail-content #cart_summary #total_price_container {
  background: var(--olive); color: var(--plate); border-top: 2px solid var(--olive); padding-top: 18px; padding-bottom: 18px;
}
body.paracel-cream:is(#order, #order-opc) #cart_summary #total_price { color: inherit; font-size: 1.375rem; }
body.paracel-cream:is(#order, #order-opc) #cart_summary .total_price_container { font-weight: 600; }
body.paracel-cream:is(#order, #order-opc) #order-detail-content #cart_summary #cart_voucher {
  min-width: 15rem; padding: 20px; background: var(--paper); text-align: left;
}
body.paracel-cream .paracel-voucher-heading { margin: 0 0 14px; font-size: 1.25rem; }
body.paracel-cream:is(#order, #order-opc) #voucher label { display: block; margin-bottom: 8px; }
body.paracel-cream:is(#order, #order-opc) #voucher .form-control { width: 100%; max-width: 18rem; margin-bottom: 12px; }
body.paracel-cream:is(#order, #order-opc) #voucher .button { margin: 0; }
body.paracel-cream:is(#order, #order-opc) .cart_navigation { margin: 20px 0 32px; }
body.paracel-cream:is(#order, #order-opc) .cart_navigation .button-exclusive { display: inline-flex; align-items: center; min-height: 44px; gap: 8px; }

/* Native carrier and address controls retain their original visibility. */
body.paracel-cream:is(#order, #order-opc) .addresses .row { margin-left: -8px; margin-right: -8px; }
body.paracel-cream:is(#order, #order-opc) .addresses .row > div { padding-left: 8px; padding-right: 8px; }
body.paracel-cream:is(#order, #order-opc) .addresses .form-control,
body.paracel-cream:is(#order, #order-opc) .addresses div.selector { width: 100% !important; max-width: 100%; }
body.paracel-cream:is(#order, #order-opc) .addresses div.selector span { max-width: 100%; }
body.paracel-cream:is(#order, #order-opc) ul.address { padding: 20px; }
body.paracel-cream:is(#order, #order-opc) ul.address li { overflow-wrap: anywhere; line-height: 1.6; }
body.paracel-cream:is(#order, #order-opc) .addresses .address_add { margin-bottom: 0; }
body.paracel-cream:is(#order, #order-opc) .order_carrier_content .carrier_title { margin: 24px 0 12px; color: var(--ink); font-weight: 500; }
body.paracel-cream:is(#order, #order-opc) .order_carrier_content .carrier_title:first-child { margin-top: 0; }
body.paracel-cream:is(#order, #order-opc) .delivery_option { padding: 0; margin-bottom: 16px; border: 1px solid var(--rule); background: var(--paper); }
body.paracel-cream:is(#order, #order-opc) .delivery_option:has(input.delivery_option_radio:checked) { border-color: var(--olive); }
body.paracel-cream:is(#order, #order-opc) .paracel-carrier-choice { display: inline-flex; align-items: center; justify-content: center; width: 44px; min-height: 44px; margin: 0; cursor: pointer; }
body.paracel-cream:is(#order, #order-opc) .delivery_option table { width: 100%; margin-bottom: 0; }
body.paracel-cream:is(#order, #order-opc) .delivery_option table td { padding: 12px 8px; border-color: var(--rule); white-space: normal; overflow-wrap: anywhere; }
body.paracel-cream:is(#order, #order-opc) .delivery_option .delivery_option_radio { min-width: 44px; }
body.paracel-cream:is(#order, #order-opc) .delivery_option input.delivery_option_radio { min-width: 0; }
body.paracel-cream:is(#order, #order-opc) .delivery_option .delivery_option_logo { width: 60px; }
body.paracel-cream:is(#order, #order-opc) .delivery_option .delivery_option_logo img { max-width: 44px; height: auto; }
body.paracel-cream:is(#order, #order-opc) .delivery_option .delivery_option_price { min-width: 5rem; font-variant-numeric: tabular-nums; }
body.paracel-cream:is(#order, #order-opc) .order_carrier_content textarea { width: 100%; max-width: 100%; }
body.paracel-cream:is(#order, #order-opc) .order_carrier_content .checkbox { line-height: 1.6; }
body.paracel-cream:is(#order, #order-opc) .order_carrier_content .checkbox a { display: inline-block; padding: 10px 0; text-decoration: underline; text-underline-offset: 3px; }
body.paracel-cream:is(#order, #order-opc) .paiement_block .payment_module:last-child { margin-bottom: 0; }
body.paracel-cream:is(#order, #order-opc) .paiement_block .alert { margin-bottom: 0; padding: 20px; }

@media (min-width: 768px) {
  body.paracel-cream .paracel-checkout-panel { padding: 28px; }
}
@media (min-width: 1024px) {
  body.paracel-cream .paracel-cart-scroll-help { display: none; }
  body.paracel-cream .paracel-checkout-panel { padding: 32px; }
}
@media (max-width: 1023px) {
  /* Outrank native fixed columns (54/97/162px) before they squeeze the carrier name. */
  body.paracel-cream:is(#order, #order-opc) .delivery_option > div > table.resume td.delivery_option_radio { width: 52px; padding: 8px 4px; }
  body.paracel-cream:is(#order, #order-opc) .delivery_option > div > table.resume td.delivery_option_logo { width: 52px; padding: 8px 4px; }
  body.paracel-cream:is(#order, #order-opc) .delivery_option > div > table.resume td.delivery_option_price { width: 96px; min-width: 0; padding: 8px; }
}
@media (max-width: 767px) {
  /* One native table, no cloned rows: all product groups precede the source-first footer. */
  body.paracel-cream .paracel-cart-scroll-help { display: none; }
  body.paracel-cream:is(#order, #order-opc) #order-detail-content { padding: 0; overflow: visible; border: 0; background: transparent; }
  body.paracel-cream:is(#order, #order-opc) #order-detail-content #cart_summary { display: flex; flex-direction: column; min-width: 0; max-width: 100%; }
  body.paracel-cream:is(#order, #order-opc) #order-detail-content #cart_summary thead {
    position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0, 0, 0, 0); clip-path: inset(50%);
  }
  body.paracel-cream:is(#order, #order-opc) #order-detail-content #cart_summary tbody { display: block; order: 1; min-width: 0; }
  body.paracel-cream:is(#order, #order-opc) #order-detail-content #cart_summary tfoot { display: block; order: 2; min-width: 0; background: var(--paper-2); border: 1px solid var(--rule); }
  body.paracel-cream:is(#order, #order-opc) #order-detail-content #cart_summary tbody > tr {
    display: grid; grid-template-columns: 76px minmax(0, 1fr); gap: 12px; padding: 16px;
    margin-bottom: 16px; border: 1px solid var(--rule); background: var(--plate);
  }
  body.paracel-cream:is(#order, #order-opc) #order-detail-content #cart_summary.table tbody > tr > td {
    display: block; grid-column: 1 / -1; width: auto; min-width: 0; max-width: none; padding: 0; overflow-wrap: anywhere;
  }
  body.paracel-cream:is(#order, #order-opc) #order-detail-content #cart_summary .cart_item > td.cart_product { grid-column: 1; grid-row: 1 / 3; }
  body.paracel-cream:is(#order, #order-opc) #order-detail-content #cart_summary .cart_item > td.cart_description { grid-column: 2; grid-row: 1; }
  body.paracel-cream:is(#order, #order-opc) #order-detail-content #cart_summary .cart_item > td.cart_avail { grid-column: 2; grid-row: 2; text-align: left; }
  body.paracel-cream:is(#order, #order-opc) #order-detail-content #cart_summary .cart_item > td.cart_unit { grid-column: 1; grid-row: 3; text-align: left; }
  body.paracel-cream:is(#order, #order-opc) #order-detail-content #cart_summary .cart_item > td.cart_total { grid-column: 2; grid-row: 3; text-align: right; }
  body.paracel-cream:is(#order, #order-opc) #order-detail-content #cart_summary .cart_item > td.cart_quantity { grid-row: 4; padding-right: 52px; }
  body.paracel-cream:is(#order, #order-opc) #order-detail-content #cart_summary .cart_item > td.cart_delete { grid-column: 2; grid-row: 4; justify-self: end; align-self: center; }
  body.paracel-cream:is(#order, #order-opc) #order-detail-content #cart_summary td.cart_unit:before,
  body.paracel-cream:is(#order, #order-opc) #order-detail-content #cart_summary td.cart_total:before {
    content: attr(data-title); display: block; margin-bottom: 4px; color: var(--ink-2); font: 400 .9375rem/1.5 var(--body);
  }
  body.paracel-cream:is(#order, #order-opc) #order-detail-content #cart_summary.table tbody > tr > td.cart_quantity { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; text-align: left; }
  body.paracel-cream:is(#order, #order-opc) #order-detail-content #cart_summary td.cart_quantity:before { content: attr(data-title); flex-basis: 100%; color: var(--ink-2); font: 400 .9375rem/1.5 var(--body); }
  body.paracel-cream:is(#order, #order-opc) #order-detail-content #cart_summary .cart_quantity_input { width: 56px; margin: 0; }
  body.paracel-cream:is(#order, #order-opc) #order-detail-content #cart_summary .cart_quantity_button { display: flex; flex: 0 0 92px; margin: 0; }
  body.paracel-cream:is(#order, #order-opc) #order-detail-content #cart_summary td.cart_unit .price { text-align: left; white-space: normal; }
  body.paracel-cream:is(#order, #order-opc) #order-detail-content #cart_summary .product-name { margin-bottom: 8px; }
  body.paracel-cream:is(#order, #order-opc) #order-detail-content #cart_summary tfoot > tr { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 12px; padding: 12px 16px; }
  body.paracel-cream:is(#order, #order-opc) #order-detail-content #cart_summary tfoot > tr > td { display: block; width: auto; min-width: 0; padding: 0; }
  body.paracel-cream:is(#order, #order-opc) #order-detail-content #cart_summary tfoot .text-right { text-align: left; }
  body.paracel-cream:is(#order, #order-opc) #order-detail-content #cart_summary tfoot #cart_voucher { grid-column: 1 / -1; width: auto; min-width: 0; margin: 0 0 8px; padding: 16px; }
  body.paracel-cream:is(#order, #order-opc) #order-detail-content #cart_summary tfoot #total_price_container { padding: 10px 12px; border: 0; }
  body.paracel-cream:is(#order, #order-opc) #order-detail-content #cart_summary tfoot .total_price_container { align-self: center; }
  body.paracel-cream:is(#order, #order-opc) #cart_summary .cart_product img { max-width: 100%; }
  body.paracel-cream:is(#order, #order-opc) .cart_navigation .standard-checkout { width: 100%; text-align: center; }
  body.paracel-cream:is(#order, #order-opc) .delivery_option > div { margin-bottom: 0; }
  /* Stack only the simple summary; never reveal hidden or multi-carrier tables. */
  body.paracel-cream:is(#order, #order-opc) .delivery_option > div > table.resume:not(.delivery_option_carrier):not(.not-displayable) { display: block; height: auto; border: 0; }
  body.paracel-cream:is(#order, #order-opc) .delivery_option > div > table.resume:not(.delivery_option_carrier):not(.not-displayable) > tbody { display: block; }
  body.paracel-cream:is(#order, #order-opc) .delivery_option > div > table.resume:not(.delivery_option_carrier):not(.not-displayable) tr {
    display: grid; grid-template-columns: 44px minmax(0, 1fr); gap: 8px 12px; padding: 12px;
  }
  body.paracel-cream:is(#order, #order-opc) .delivery_option > div > table.resume:not(.delivery_option_carrier):not(.not-displayable) td {
    display: block; width: auto; min-width: 0; padding: 0; border: 0; overflow-wrap: break-word; word-break: normal;
  }
  body.paracel-cream:is(#order, #order-opc) .delivery_option > div > table.resume:not(.delivery_option_carrier):not(.not-displayable) td.delivery_option_radio { grid-column: 1; grid-row: 1; }
  body.paracel-cream:is(#order, #order-opc) .delivery_option > div > table.resume:not(.delivery_option_carrier):not(.not-displayable) td.delivery_option_logo { grid-column: 1; grid-row: 2; }
  body.paracel-cream:is(#order, #order-opc) .delivery_option > div > table.resume:not(.delivery_option_carrier):not(.not-displayable) td:nth-child(3) { grid-column: 2; grid-row: 1; }
  body.paracel-cream:is(#order, #order-opc) .delivery_option > div > table.resume:not(.delivery_option_carrier):not(.not-displayable) td.delivery_option_price { grid-column: 2; grid-row: 2; }
  body.paracel-cream:is(#order, #order-opc) .delivery_option > div > table.resume:not(.delivery_option_carrier):not(.not-displayable) strong { display: block; }
}
