/**
 * Full-screen canvas — strips theme chrome so the plugin's app-style layout
 * fills the viewport. Loaded on cart, checkout, my-account and the order
 * pages (see tsc_enqueue_assets). Pairs with templates/tsc-canvas.php.
 */

body.tsc-canvas {
    margin: 0;
}

/* Note: no `padding: 0` here on purpose — the mobile bottom nav adds
   body padding-bottom (see bottom-nav.css) and needs that to win. */

.tsc-canvas__shell {
    min-height: 100vh;
}

/* ==========================================================================
   NO UNDERLINES ANYWHERE IN THE PLUGIN'S UI
   --------------------------------------------------------------------------
   Themes with global link typography (Hello Commerce / Elementor, and any
   theme that underlines links by default) underline every <a> the plugin
   draws. Whole rows are links here — an orders card is a single <a> wrapping
   the order number, date, item name, price, quantity and total — so a single
   theme rule underlines an entire card of text that was never meant to look
   like a link. The plugin's own files already set text-decoration:none, but
   without !important the theme's more specific selectors win.

   Scoped to the plugin's own roots, so theme and other-plugin content on the
   same page keeps its underlines. Every state is listed: one bare :hover rule
   in a theme is enough to bring the underline back. border-bottom and
   box-shadow are cleared too — themes that "improve" on underlines fake them
   with those instead.

   Deliberate exceptions: .tsc-order-total-row__value and the price
   strikethroughs use line-through, which is a value, not decoration — those
   set their own text-decoration and are not <a> elements, so they are
   untouched by the selectors below.
   ========================================================================== */

.tsc-cart a,      .tsc-cart a:link,      .tsc-cart a:visited,
.tsc-cart a:hover, .tsc-cart a:focus,    .tsc-cart a:active,
.tsc-checkout a,  .tsc-checkout a:link,  .tsc-checkout a:visited,
.tsc-checkout a:hover, .tsc-checkout a:focus, .tsc-checkout a:active,
.tsc-orders a,    .tsc-orders a:link,    .tsc-orders a:visited,
.tsc-orders a:hover, .tsc-orders a:focus, .tsc-orders a:active,
.tsc-order a,     .tsc-order a:link,     .tsc-order a:visited,
.tsc-order a:hover, .tsc-order a:focus,  .tsc-order a:active,
.tsc-account a,   .tsc-account a:link,   .tsc-account a:visited,
.tsc-account a:hover, .tsc-account a:focus, .tsc-account a:active,
.tsc-thankyou a,  .tsc-thankyou a:link,  .tsc-thankyou a:visited,
.tsc-thankyou a:hover, .tsc-thankyou a:focus, .tsc-thankyou a:active,
.tsc-points a,    .tsc-points a:link,    .tsc-points a:visited,
.tsc-points a:hover, .tsc-points a:focus, .tsc-points a:active {
    text-decoration: none !important;
    border-bottom: 0 !important;
    box-shadow: none !important;
}

/* Text nested inside a link inherits nothing useful when the theme underlines
   the descendants themselves rather than the anchor — the orders card is the
   case in point, where the number, date, price and total are each their own
   element inside one big <a>. */
.tsc-cart a *,
.tsc-checkout a *,
.tsc-orders a *,
.tsc-order a *,
.tsc-account a *,
.tsc-thankyou a *,
.tsc-points a * {
    text-decoration: none !important;
}

/* The bottom nav and the modals live outside those roots — every modal is
   appended straight to <body> — so they need naming of their own. Every
   modal carries the base .tsc-modal class (the address, coupon, login,
   notes, payment, shipping and variation sheets differ only by id), so one
   selector covers them all. */
.tsc-bottom-nav a,      .tsc-bottom-nav a:link,   .tsc-bottom-nav a:visited,
.tsc-bottom-nav a:hover, .tsc-bottom-nav a:focus, .tsc-bottom-nav a:active,
.tsc-modal a,           .tsc-modal a:link,        .tsc-modal a:visited,
.tsc-modal a:hover,     .tsc-modal a:focus,       .tsc-modal a:active {
    text-decoration: none !important;
    border-bottom: 0 !important;
    box-shadow: none !important;
}
.tsc-bottom-nav a *,
.tsc-modal a * {
    text-decoration: none !important;
}

/* Strikethrough is a VALUE, not decoration: a "was RM199" price says something
   the underline reset must not erase. No strikethrough currently sits inside a
   link, but the `a *` rules above would flatten one the day a card becomes a
   link, and that failure would be silent. Named explicitly so it cannot. */
.tsc-cart del,      .tsc-cart s,      .tsc-cart .tsc-cart-item__price-original,
.tsc-cart .tsc-cart__total-before,   .tsc-cart .tsc-cart__upsell-regular,
.tsc-checkout del,  .tsc-checkout s,  .tsc-checkout .tsc-checkout-item__price-original,
.tsc-checkout .tsc-checkout__bottombar-before,
.tsc-orders del,    .tsc-orders s,
.tsc-order del,     .tsc-order s,
.tsc-account del,   .tsc-account s,
.tsc-thankyou del,  .tsc-thankyou s,
.tsc-modal del,     .tsc-modal s,     .tsc-modal .tsc-modal__option.is-disabled {
    text-decoration: line-through !important;
}
