/* Disclosure geometry only: no labels, payment controls or state handlers change.
   Coupon shares the existing important layer to beat legacy footer geometry
   and the equally specific previous checkout disclosure rule. */
@layer rtf-checkout-page-polish {
  html body:is(.woocommerce-cart, .woocommerce-checkout):not(.woocommerce-order-received) #MainContent :is(.wc-block-cart__sidebar, .wc-block-checkout__sidebar) .wc-block-components-totals-coupon .wc-block-components-panel__button {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
    padding-inline: 14px !important;
    text-align: start !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
  }
  html body:is(.woocommerce-cart, .woocommerce-checkout):not(.woocommerce-order-received) #MainContent :is(.wc-block-cart__sidebar, .wc-block-checkout__sidebar) .wc-block-components-totals-coupon .wc-block-components-panel__button > :is(.wc-block-components-panel__button-icon, svg) {
    position: static !important;
    inset: auto !important;
    display: grid !important;
    place-items: center !important;
    align-self: center !important;
    flex: 0 0 16px !important;
    width: 16px !important;
    min-width: 16px !important;
    height: 16px !important;
    margin: 0 !important;
    margin-inline-start: auto !important;
    padding: 0 !important;
    order: 1 !important;
    transform: none !important;
  }
  /* Some Woo versions wrap the glyph; the legacy descendant rule otherwise
     absolutely positions this nested SVG even after its wrapper is centered.
     Woo's state-dependent icon/path stays authoritative; no extra rotation. */
  html body:is(.woocommerce-cart, .woocommerce-checkout):not(.woocommerce-order-received) #MainContent :is(.wc-block-cart__sidebar, .wc-block-checkout__sidebar) .wc-block-components-totals-coupon .wc-block-components-panel__button > .wc-block-components-panel__button-icon > svg {
    position: static !important;
    inset: auto !important;
    display: block !important;
    width: 16px !important;
    min-width: 16px !important;
    height: 16px !important;
    margin: 0 !important;
    padding: 0 !important;
    transform: none !important;
  }
}

/* These trailing wrappers were inline/shrinkable and used physical left
   margin. Center their glyphs and reserve space without changing rotation. */
html body .pdp-accordion > summary > .acc-chevron,
html body #mobileMenuPanel .mm-section-toggle > .mm-arrow {
  display: inline-grid;
  place-items: center;
  align-self: center;
  flex: 0 0 auto;
  margin-left: 0;
  margin-inline-start: auto;
  line-height: 1;
}
html body .pdp-accordion > summary > .acc-chevron > svg,
html body #mobileMenuPanel .mm-section-toggle > .mm-arrow > svg {
  display: block;
}
