/* TBAC Mega Moo Mall v0.4.7 */
body.tbac-mega-moo-mall{
    --mmm-ink: #183626;
    --mmm-deep: #123526;
    --mmm-green: #2f7049;
    --mmm-green-2: #4d8b61;
    --mmm-cream: #fff8e8;
    --mmm-paper: #f6edd7;
    --mmm-gold: #c99a36;
    --mmm-border: rgba(24, 54, 38, .16);
    --mmm-soft-border: rgba(24, 54, 38, .10);
    --mmm-shadow: 0 22px 55px rgba(28, 36, 26, .14);
    --mmm-card-shadow: 0 12px 30px rgba(28, 36, 26, .09);
    --mmm-radius-xl: 34px;
    --mmm-radius-lg: 26px;
    --mmm-radius-md: 20px;
}

body.tbac-mmm-christmas{
    --mmm-deep: #173d2a;
    --mmm-green: #2b6640;
    --mmm-green-2: #7a3030;
    --mmm-gold: #d7b45b;
}

/* ---------- Immersive Mall shell ----------
   Keep the Club utility header, remove the generic Kadence navigation/footer,
   and give the Mall a deliberate edge-to-edge destination feel. */
body.tbac-mega-moo-mall.tbac-mmm-hide-theme-main-nav .site-main-header-wrap,
body.tbac-mega-moo-mall.tbac-mmm-hide-theme-main-nav .site-bottom-header-wrap{
    display: none !important;
}

body.tbac-mega-moo-mall.tbac-mmm-hide-theme-footer #colophon,
body.tbac-mega-moo-mall.tbac-mmm-hide-theme-footer .site-footer,
body.tbac-mega-moo-mall.tbac-mmm-hide-theme-footer .site-footer-wrap{
    display: none !important;
}

/* The Club utility bar is custom Club UI, not Kadence's main row.
   JavaScript identifies the real row by CLUB NEWS. The row must expand when
   breathing room is added; a fixed height would squeeze its controls. */
body.tbac-mega-moo-mall.tbac-mmm-immersive-shell .tbac-mmm-utility-header{
    box-sizing: border-box !important;
    z-index: 60;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    overflow: visible !important;
    padding-top: var(--tbac-mmm-utility-pad, 8px) !important;
    padding-bottom: var(--tbac-mmm-utility-pad, 8px) !important;
}

/* v0.1.5 deliberately does not guess which Kadence parent owns the leftover
   blank band. Runtime geometry cancels the actual rendered gap above the Club
   utility bar, so this survives different Kadence/header-builder structures. */

body.tbac-mega-moo-mall.tbac-mmm-immersive-shell #inner-wrap,
body.tbac-mega-moo-mall.tbac-mmm-immersive-shell .site-main,
body.tbac-mega-moo-mall.tbac-mmm-immersive-shell .content-bg{
    background:
        radial-gradient(circle at 50% 0%, rgba(255, 248, 232, .72), transparent 28rem),
        linear-gradient(180deg, #f8faf8 0%, #f4f8f5 58%, #f8faf8 100%);
}

body.tbac-mega-moo-mall.tbac-mmm-immersive-shell .content-area,
body.tbac-mega-moo-mall.tbac-mmm-immersive-shell #primary,
body.tbac-mega-moo-mall.tbac-mmm-immersive-shell main.site-main{
    margin-top: 0 !important;
    padding-top: 0 !important;
}

/* Remove the generic Kadence/Woo shop hero so the branded Mall entrance is first. */
body.tbac-mega-moo-mall .entry-hero,
body.tbac-mega-moo-mall .entry-hero-container-inner,
body.tbac-mega-moo-mall .page-title-wrap,
body.tbac-mega-moo-mall .woocommerce-products-header__title.page-title{
    display: none !important;
}

/* Give the shop archive premium breathing room without changing global site pages. */
body.tbac-mega-moo-mall .content-container.site-container{
    max-width: 1480px !important;
    padding-left: clamp(12px, 2.4vw, 34px);
    padding-right: clamp(12px, 2.4vw, 34px);
}

body.tbac-mega-moo-mall .content-area,
body.tbac-mega-moo-mall #primary,
body.tbac-mega-moo-mall main.site-main{
    width: 100% !important;
    max-width: none !important;
}

html{
    scroll-behavior: smooth;
}

.tbac-mmm-shell{
    width: 100%;
    max-width: 1380px;
    margin-inline: auto;
    box-sizing: border-box;
}

.tbac-mmm-top{
    margin-top: clamp(18px, 3vw, 34px);
    margin-bottom: 38px;
}

#tbac-mmm-catalog,
#tbac-mmm-new-arrivals,
#tbac-mmm-deals,
#tbac-mmm-gift-cards{
    scroll-margin-top: 110px;
}

/* ---------- Mall entrance ---------- */
.tbac-mmm-hero{
    position: relative;
    overflow: hidden;
    min-height: clamp(380px, 38vw, 520px);
    display: grid;
    align-items: end;
    border: 1px solid var(--mmm-border);
    border-radius: var(--mmm-radius-xl);
    box-shadow: var(--mmm-shadow);
    isolation: isolate;
    background-image:
        linear-gradient(100deg, rgba(13, 48, 31, .98) 0%, rgba(26, 78, 48, .91) 43%, rgba(57, 116, 75, .52) 74%, rgba(57, 116, 75, .28) 100%),
        var(--tbac-mmm-hero-image, none);
    background-size: cover;
    background-position: center;
}

.tbac-mmm-hero::after{
    content: "";
    position: absolute;
    inset: auto -8% -42% 40%;
    height: 72%;
    border-radius: 50%;
    background: rgba(255,255,255,.08);
    filter: blur(2px);
    z-index: -1;
}

.tbac-mmm-christmas .tbac-mmm-hero{
    background-image:
        linear-gradient(100deg, rgba(20, 58, 37, .98) 0%, rgba(28, 76, 47, .91) 43%, rgba(93, 42, 42, .46) 82%, rgba(93, 42, 42, .28) 100%),
        var(--tbac-mmm-hero-image, none);
}

.tbac-mmm-christmas .tbac-mmm-hero::before{
    content: "❄  ✦  ❄  ✦  ❄";
    position: absolute;
    top: 24px;
    right: 30px;
    color: rgba(255,255,255,.82);
    font-size: clamp(20px, 2.6vw, 34px);
    letter-spacing: .22em;
    z-index: 1;
}

.tbac-mmm-hero__shade{
    position: absolute;
    inset: 0;
    z-index: -1;
    background:
        radial-gradient(circle at 72% 22%, rgba(255,255,255,.18), transparent 27%),
        linear-gradient(0deg, rgba(9, 31, 20, .10), rgba(9, 31, 20, 0));
}

.tbac-mmm-hero__content{
    position: relative;
    z-index: 2;
    width: min(790px, 88%);
    padding: clamp(38px, 6vw, 78px);
    color: #fff;
}

.tbac-mmm-eyebrow,
.tbac-mmm-kicker,
.tbac-mmm-all-products-heading > span,
.tbac-mmm-departments-title{
    font-weight: 850;
    font-size: .78rem;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.tbac-mmm-hero .tbac-mmm-eyebrow{
    display: inline-flex;
    align-items: center;
    min-height: 30px;
    padding: 6px 11px;
    border: 1px solid rgba(255,255,255,.28);
    border-radius: 999px;
    background: rgba(255,255,255,.10);
    backdrop-filter: blur(6px);
}

.tbac-mmm-hero h1{
    color: #fff;
    font-size: clamp(3.2rem, 7vw, 7rem);
    line-height: .88;
    margin: 16px 0 20px;
    letter-spacing: -.05em;
    text-wrap: balance;
    max-width: 780px;
}

.tbac-mmm-hero__intro{
    font-size: clamp(1.02rem, 1.45vw, 1.24rem);
    line-height: 1.62;
    max-width: 700px;
    color: rgba(255,255,255,.96);
}

.tbac-mmm-hero__intro p,
.tbac-mmm-promo p,
.tbac-mmm-featured p,
.tbac-mmm-gift p,
.tbac-mmm-help p{
    margin-bottom: 0;
}

.tbac-mmm-hero__actions{
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 28px;
}

.tbac-mmm-button{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    text-decoration: none !important;
    border-radius: 999px;
    border: 1px solid transparent;
    background: var(--mmm-deep);
    color: #fff !important;
    padding: 12px 22px;
    font-weight: 850;
    line-height: 1.2;
    box-shadow: 0 8px 20px rgba(18, 53, 38, .18);
    transition: transform .16s ease, box-shadow .16s ease, background-color .16s ease;
}

.tbac-mmm-button:hover,
.tbac-mmm-button:focus-visible{
    background: var(--mmm-green);
    color: #fff !important;
    transform: translateY(-2px);
    box-shadow: 0 12px 24px rgba(18, 53, 38, .24);
    outline: 3px solid rgba(201, 154, 54, .42);
    outline-offset: 2px;
}

.tbac-mmm-button--hero{
    background: var(--mmm-cream);
    color: var(--mmm-ink) !important;
    box-shadow: 0 10px 24px rgba(0,0,0,.18);
}

.tbac-mmm-button--hero:hover,
.tbac-mmm-button--hero:focus-visible{
    background: #fff;
    color: var(--mmm-ink) !important;
}

.tbac-mmm-button--hero-secondary{
    background: rgba(255,255,255,.12);
    border-color: rgba(255,255,255,.38);
    color: #fff !important;
    backdrop-filter: blur(6px);
}

.tbac-mmm-button--hero-secondary:hover,
.tbac-mmm-button--hero-secondary:focus-visible{
    background: rgba(255,255,255,.22);
    color: #fff !important;
}


/* ---------- Persistent cart status at Mall entrance (v0.4.6) ---------- */
.tbac-mmm-cart-status[hidden]{
    display: none !important;
}

.tbac-mmm-cart-status{
    width: min(100%, 560px);
    margin-top: 18px;
    padding: 10px 10px 10px 14px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    border: 1px solid rgba(255,255,255,.42);
    border-radius: 18px;
    background: rgba(255,248,226,.94);
    color: var(--mmm-ink);
    box-shadow: 0 9px 24px rgba(0,0,0,.16);
    backdrop-filter: blur(7px);
    -webkit-backdrop-filter: blur(7px);
}

.tbac-mmm-cart-status__copy{
    min-width: 0;
    display: flex;
    align-items: center;
    gap: 10px;
    font-weight: 800;
    line-height: 1.3;
}

.tbac-mmm-cart-status__count{
    flex: 0 0 30px;
    width: 30px;
    height: 30px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    background: var(--mmm-green);
    color: #fff;
    font-size: .9rem;
    line-height: 1;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.18);
}

.tbac-mmm-cart-status__button{
    flex: 0 0 auto;
    min-height: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 9px 18px;
    border-radius: 999px;
    background: var(--mmm-deep);
    color: #fff !important;
    text-decoration: none !important;
    font-weight: 850;
    line-height: 1;
    box-shadow: 0 7px 17px rgba(18,53,38,.18);
}

.tbac-mmm-cart-status__button:hover,
.tbac-mmm-cart-status__button:focus-visible{
    background: var(--mmm-green);
    color: #fff !important;
    outline: 3px solid rgba(201,154,54,.42);
    outline-offset: 2px;
}

@media (max-width: 640px){
    .tbac-mmm-cart-status{
        align-items: stretch;
        flex-direction: column;
        padding: 12px;
        gap: 10px;
    }
    .tbac-mmm-cart-status__button{
        width: 100%;
        min-height: 46px;
    }
}

/* ---------- Department navigation ---------- */
.tbac-mmm-departments-wrap{
    position: relative;
    z-index: 3;
    margin: -24px 28px 0;
    padding: 22px;
    border: 1px solid var(--mmm-soft-border);
    border-radius: 24px;
    background: rgba(255,255,255,.97);
    box-shadow: 0 16px 38px rgba(28,36,26,.12);
}

.tbac-mmm-departments-title{
    color: var(--mmm-green);
    text-align: center;
    margin-bottom: 14px;
}

.tbac-mmm-departments{
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
}

.tbac-mmm-departments a{
    min-width: 0;
    min-height: 54px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    text-decoration: none !important;
    color: var(--mmm-ink) !important;
    background: var(--mmm-cream);
    border: 1px solid var(--mmm-border);
    border-radius: 16px;
    padding: 12px 15px;
    font-weight: 850;
    line-height: 1.2;
    transition: transform .15s ease, box-shadow .15s ease, background-color .15s ease;
}

.tbac-mmm-departments a:hover,
.tbac-mmm-departments a:focus-visible{
    color: var(--mmm-ink) !important;
    background: #fff;
    transform: translateY(-2px);
    box-shadow: 0 8px 18px rgba(28, 36, 26, .10);
    outline: 3px solid rgba(201, 154, 54, .34);
    outline-offset: 2px;
}

.tbac-mmm-dept-arrow{
    flex: 0 0 auto;
    width: 28px;
    height: 28px;
    display: inline-grid;
    place-items: center;
    border-radius: 50%;
    background: rgba(24,54,38,.07);
    font-size: 1rem;
}

/* ---------- Books / Adventure Club origin story (v0.5.4) ---------- */
.tbac-mmm-books-origin{
    margin-top: 24px;
    padding: clamp(24px, 3.1vw, 38px);
    border: 1px solid rgba(116, 82, 35, .24);
    border-radius: var(--mmm-radius-lg);
    background:
        radial-gradient(circle at 8% 18%, rgba(201,154,54,.18), transparent 25%),
        linear-gradient(120deg, rgba(255,251,240,.985), rgba(244,232,199,.97));
    box-shadow: var(--mmm-card-shadow);
    overflow: hidden;
}

.tbac-mmm-books-origin__main{
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(390px, .65fr);
    align-items: center;
    gap: clamp(22px, 3vw, 38px);
}

.tbac-mmm-books-origin .tbac-mmm-kicker{
    color: #8a6426;
}

.tbac-mmm-books-origin h2{
    margin: 5px 0 9px;
    color: var(--mmm-ink);
    font-size: clamp(1.9rem, 3.3vw, 3rem);
    line-height: 1.02;
    letter-spacing: -.025em;
    text-wrap: balance;
}

.tbac-mmm-books-origin__intro{
    max-width: 760px;
    color: rgba(24,54,38,.82);
    line-height: 1.58;
}

.tbac-mmm-books-origin__intro p{
    margin: 0;
}

.tbac-mmm-books-origin__actions{
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.tbac-mmm-books-origin__button{
    min-height: 76px;
    padding: 12px 16px;
    border-radius: 17px;
    flex-direction: column;
    gap: 4px;
    text-align: center;
    white-space: normal;
    box-sizing: border-box;
}

.tbac-mmm-books-origin__button span{
    display: block;
    font-size: .92rem;
    line-height: 1.16;
}

.tbac-mmm-books-origin__button small{
    display: block;
    color: rgba(255,255,255,.82);
    font-size: .68rem;
    font-weight: 700;
    line-height: 1.2;
}

.tbac-mmm-books-origin__button--narrated{
    background: #765a2d;
}

.tbac-mmm-books-origin__button--narrated:hover,
.tbac-mmm-books-origin__button--narrated:focus-visible{
    background: #8b6a34;
    color: #fff !important;
}

.tbac-mmm-books-origin__details{
    margin-top: 18px;
    padding-top: 14px;
    border-top: 1px solid rgba(116,82,35,.20);
}

.tbac-mmm-books-origin__details summary{
    min-height: 44px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 9px 12px;
    margin: -4px -2px -4px;
    border-radius: 12px;
    color: var(--mmm-green);
    font-weight: 850;
    line-height: 1.25;
    cursor: pointer;
    list-style: none;
}

.tbac-mmm-books-origin__details summary::-webkit-details-marker{
    display: none;
}

.tbac-mmm-books-origin__details summary:hover,
.tbac-mmm-books-origin__details summary:focus-visible{
    background: rgba(255,255,255,.66);
    color: var(--mmm-ink);
    outline: 3px solid rgba(201,154,54,.30);
    outline-offset: 2px;
}

.tbac-mmm-books-origin__details summary span{
    flex: 0 0 auto;
    width: 30px;
    height: 30px;
    display: inline-grid;
    place-items: center;
    border-radius: 50%;
    background: rgba(24,54,38,.08);
    color: currentColor;
    font-size: 1.2rem;
    line-height: 1;
    transition: transform .18s ease, background-color .18s ease;
}

.tbac-mmm-books-origin__details[open] summary span{
    transform: rotate(45deg);
    background: rgba(201,154,54,.18);
}

.tbac-mmm-books-origin__details-body{
    padding: 16px 12px 4px;
    color: rgba(24,54,38,.82);
    line-height: 1.62;
}

.tbac-mmm-books-origin__details-body p{
    margin: 0 0 12px;
}

.tbac-mmm-books-origin__details-body p:last-child{
    margin-bottom: 0;
}

@media (max-width: 900px){
    .tbac-mmm-books-origin__main{
        grid-template-columns: 1fr;
        gap: 18px;
    }
    .tbac-mmm-books-origin__actions{
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .tbac-mmm-books-origin__button{
        min-height: 68px;
    }
}

@media (max-width: 640px){
    .tbac-mmm-books-origin{
        margin-top: 18px;
        padding: 20px 16px;
        border-radius: 22px;
    }
    .tbac-mmm-books-origin h2{
        font-size: clamp(1.55rem, 7.5vw, 2rem);
    }
    .tbac-mmm-books-origin__intro{
        font-size: .94rem;
        line-height: 1.48;
    }
    .tbac-mmm-books-origin__actions{
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 8px;
    }
    .tbac-mmm-books-origin__button{
        width: 100%;
        min-height: 78px;
        padding: 10px 8px;
    }
    .tbac-mmm-books-origin__button span{
        font-size: .8rem;
        line-height: 1.12;
    }
    .tbac-mmm-books-origin__button small{
        font-size: .6rem;
    }
    .tbac-mmm-books-origin__details{
        margin-top: 14px;
        padding-top: 10px;
    }
    .tbac-mmm-books-origin__details summary{
        align-items: center;
        font-size: .94rem;
    }
    .tbac-mmm-books-origin__details-body{
        padding: 14px 4px 2px;
        font-size: .95rem;
    }
}

/* Real iPad/tablet classes are added by storefront.js even when Safari reports
   desktop-like landscape widths. Match the approved Mall tablet gutter/padding
   contract explicitly so this new strip behaves like the neighboring sections. */
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet .tbac-mmm-books-origin{
    width: auto !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-top: var(--tbac-mmm-tab-pad-y, 24px) !important;
    padding-bottom: var(--tbac-mmm-tab-pad-y, 24px) !important;
    padding-left: var(--tbac-mmm-tab-pad-x, 24px) !important;
    padding-right: var(--tbac-mmm-tab-pad-x, 24px) !important;
    box-sizing: border-box !important;
}

body.tbac-mega-moo-mall.tbac-mmm-physical-tablet .tbac-mmm-books-origin__main{
    grid-template-columns: minmax(0, 1.15fr) minmax(330px, .85fr) !important;
    gap: 18px !important;
}

body.tbac-mega-moo-mall.tbac-mmm-physical-tablet .tbac-mmm-books-origin__actions{
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

@media (orientation: portrait){
    body.tbac-mega-moo-mall.tbac-mmm-physical-tablet .tbac-mmm-books-origin__main{
        grid-template-columns: 1fr !important;
    }
}

@media (max-width: 359px){
    .tbac-mmm-books-origin__actions{
        grid-template-columns: 1fr;
    }
}

/* ---------- Promo / featured ---------- */
.tbac-mmm-promo,
.tbac-mmm-gift,
.tbac-mmm-help{
    margin-top: 24px;
    border-radius: var(--mmm-radius-lg);
    border: 1px solid var(--mmm-border);
    box-shadow: var(--mmm-card-shadow);
}

.tbac-mmm-promo{
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 30px;
    padding: clamp(26px, 3.5vw, 42px);
    background:
        radial-gradient(circle at 88% 20%, rgba(201,154,54,.16), transparent 28%),
        linear-gradient(120deg, #fffaf0, #f1e3bf);
}

.tbac-mmm-promo h2,
.tbac-mmm-gift h2,
.tbac-mmm-help h2,
.tbac-mmm-section-heading h2,
.tbac-mmm-all-products-heading h2{
    color: var(--mmm-ink);
    margin: 5px 0 9px;
    line-height: 1.02;
}

.tbac-mmm-promo__copy > div:last-child,
.tbac-mmm-gift > div > div:last-child,
.tbac-mmm-help .tbac-mmm-section-heading > div,
.tbac-mmm-featured .tbac-mmm-section-heading > div{
    color: rgba(24,54,38,.78);
}

.tbac-mmm-promo__actions{
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 12px;
    flex-wrap: wrap;
}

.tbac-mmm-code{
    background: #fff;
    border: 2px dashed rgba(24, 54, 38, .27);
    border-radius: 16px;
    padding: 10px 16px;
    text-align: center;
    min-width: 138px;
}

.tbac-mmm-code span{
    display: block;
    font-size: .68rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .09em;
}

.tbac-mmm-code strong{
    font-size: 1.12rem;
}

.tbac-mmm-featured{
    margin-top: clamp(42px, 6vw, 72px);
}

.tbac-mmm-section-heading,
.tbac-mmm-all-products-heading{
    text-align: center;
    max-width: 790px;
    margin: 0 auto 24px;
}

.tbac-mmm-section-heading h2,
.tbac-mmm-all-products-heading h2{
    font-size: clamp(2rem, 4vw, 3.5rem);
    letter-spacing: -.025em;
    text-wrap: balance;
}

.tbac-mmm-featured__products .woocommerce{
    width: 100%;
}

.tbac-mmm-featured__products ul.products{
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 360px)) !important;
    justify-content: center;
}

.tbac-mmm-all-products-heading{
    margin-top: clamp(52px, 7vw, 82px);
    margin-bottom: 22px;
}

/* ---------- WooCommerce catalog toolbar ---------- */
body.tbac-mega-moo-mall .woocommerce-result-count{
    float: none !important;
    display: inline-flex;
    align-items: center;
    min-height: 44px;
    margin: 0 0 18px !important;
    padding: 0 2px;
    color: rgba(24,54,38,.72);
    font-weight: 700;
}

body.tbac-mega-moo-mall .woocommerce-ordering{
    margin: 0 0 18px !important;
}

body.tbac-mega-moo-mall .woocommerce-ordering select{
    min-width: 190px;
    min-height: 46px;
    border-radius: 14px;
    border: 1px solid var(--mmm-border);
    background: #fff;
    color: var(--mmm-ink);
    padding: 8px 38px 8px 13px;
    box-shadow: 0 5px 14px rgba(28,36,26,.06);
}

body.tbac-mega-moo-mall .woocommerce-ordering select:focus{
    outline: 3px solid rgba(201,154,54,.30);
    outline-offset: 2px;
}

/* ---------- Product cards ---------- */
body.tbac-mega-moo-mall ul.products{
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: clamp(16px, 2vw, 26px);
    clear: both;
    margin-bottom: 0;
}

body.tbac-mega-moo-mall ul.products::before,
body.tbac-mega-moo-mall ul.products::after{
    display: none !important;
}

body.tbac-mega-moo-mall ul.products li.product{
    float: none !important;
    width: auto !important;
    margin: 0 !important;
    min-width: 0;
    display: flex !important;
    flex-direction: column;
    background: #fff;
    border: 1px solid var(--mmm-soft-border);
    border-radius: 24px;
    padding: 14px 14px 18px;
    box-shadow: var(--mmm-card-shadow);
    transition: transform .17s ease, box-shadow .17s ease, border-color .17s ease;
    box-sizing: border-box;
    overflow: hidden;
}

body.tbac-mega-moo-mall ul.products li.product:hover,
body.tbac-mega-moo-mall ul.products li.product:focus-within{
    transform: translateY(-4px);
    box-shadow: 0 20px 42px rgba(28, 36, 26, .14);
    border-color: rgba(24,54,38,.22);
}

body.tbac-mega-moo-mall ul.products li.product a.woocommerce-LoopProduct-link,
body.tbac-mega-moo-mall ul.products li.product a.woocommerce-loop-product__link{
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    text-decoration: none;
}

body.tbac-mega-moo-mall ul.products li.product img{
    width: 100%;
    aspect-ratio: 1 / 1;
    object-fit: contain;
    object-position: center;
    border-radius: 16px;
    margin: 0 0 16px !important;
    background: #f7f7f4;
}

body.tbac-mega-moo-mall ul.products li.product .woocommerce-loop-product__title{
    color: var(--mmm-ink) !important;
    font-size: clamp(1rem, 1.2vw, 1.12rem);
    line-height: 1.32;
    padding: 2px 4px 0 !important;
    margin: 0 0 8px !important;
    text-wrap: pretty;
}

body.tbac-mega-moo-mall ul.products li.product .price{
    color: var(--mmm-green) !important;
    font-weight: 850;
    font-size: 1.04rem;
    margin: auto 4px 10px !important;
}

body.tbac-mega-moo-mall ul.products li.product .product-action-wrap,
body.tbac-mega-moo-mall ul.products li.product .product-action-wrap.tbac-mmm-product-action-visible{
    display: block !important;
    position: static !important;
    inset: auto !important;
    width: 100% !important;
    height: auto !important;
    margin: auto 0 0 !important;
    padding: 0 !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
}

body.tbac-mega-moo-mall ul.products li.product .button,
body.tbac-mega-moo-mall ul.products li.product a.button{
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    visibility: visible !important;
    opacity: 1 !important;
    position: static !important;
    transform: none !important;
    width: calc(100% - 8px);
    min-height: 46px;
    margin: 8px 4px 0 !important;
    border-radius: 999px;
    background: var(--mmm-deep) !important;
    color: #fff !important;
    font-weight: 850;
    padding: 11px 18px !important;
    text-align: center;
    box-shadow: none;
}

body.tbac-mega-moo-mall ul.products li.product .button:hover,
body.tbac-mega-moo-mall ul.products li.product .button:focus-visible{
    background: var(--mmm-green) !important;
    color: #fff !important;
    outline: 3px solid rgba(201, 154, 54, .35);
    outline-offset: 2px;
}

/* Sale badge stays legible and does not cover product titles. */
body.tbac-mega-moo-mall ul.products li.product .onsale{
    top: 24px;
    left: 24px;
    right: auto;
    min-height: 34px;
    min-width: 0;
    line-height: 1;
    padding: 9px 12px;
    border-radius: 999px;
    background: var(--mmm-gold);
    color: #162d21;
    font-weight: 850;
}

/* ---------- Bottom utility areas ---------- */
.tbac-mmm-bottom{
    margin-top: 38px;
    margin-bottom: 52px;
}

.tbac-mmm-gift{
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 32px;
    padding: clamp(30px, 4.5vw, 52px);
    background:
        radial-gradient(circle at 88% 35%, rgba(255,255,255,.12), transparent 27%),
        linear-gradient(135deg, var(--mmm-deep), var(--mmm-green));
    color: #fff;
}

.tbac-mmm-gift h2,
.tbac-mmm-gift .tbac-mmm-kicker{
    color: #fff;
}

.tbac-mmm-gift > div > div:last-child{
    color: rgba(255,255,255,.90);
    max-width: 760px;
}

.tbac-mmm-button--cream{
    background: var(--mmm-cream);
    color: var(--mmm-ink) !important;
}

.tbac-mmm-button--cream:hover,
.tbac-mmm-button--cream:focus-visible{
    background: #fff;
    color: var(--mmm-ink) !important;
}

.tbac-mmm-help{
    padding: clamp(28px, 4vw, 44px);
    background: #fff;
}

.tbac-mmm-help__links{
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 10px;
    margin-top: 22px;
}

.tbac-mmm-help__links a{
    min-height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    text-decoration: none !important;
    color: var(--mmm-ink) !important;
    background: var(--mmm-cream);
    border: 1px solid var(--mmm-border);
    border-radius: 16px;
    padding: 10px 12px;
    font-weight: 850;
    line-height: 1.2;
    transition: transform .15s ease, box-shadow .15s ease, background-color .15s ease;
}

.tbac-mmm-help__links a:hover,
.tbac-mmm-help__links a:focus-visible{
    color: var(--mmm-ink) !important;
    background: #fff;
    transform: translateY(-2px);
    box-shadow: 0 8px 18px rgba(28, 36, 26, .10);
    outline: 3px solid rgba(201, 154, 54, .34);
    outline-offset: 2px;
}

.tbac-mmm-back-top{
    display: table;
    margin: 24px auto 0;
    color: var(--mmm-green) !important;
    font-weight: 850;
    text-decoration: none !important;
}

.tbac-mmm-back-top:hover,
.tbac-mmm-back-top:focus-visible{
    color: var(--mmm-ink) !important;
    text-decoration: underline !important;
    text-underline-offset: 3px;
}

/* ---------- Tablet ---------- */
@media (max-width: 1080px) {
    .tbac-mmm-departments{
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .tbac-mmm-help__links{
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    body.tbac-mega-moo-mall ul.products{
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 820px) {
    body.tbac-mega-moo-mall.tbac-mmm-immersive-shell .tbac-mmm-utility-header{
        padding-top: var(--tbac-mmm-utility-mobile-pad, 5px) !important;
        padding-bottom: var(--tbac-mmm-utility-mobile-pad, 5px) !important;
    }

    body.tbac-mega-moo-mall .content-container.site-container{
        padding-left: 12px;
        padding-right: 12px;
    }

    .tbac-mmm-top{
        margin-top: 14px;
    }

    .tbac-mmm-hero{
        min-height: 410px;
        border-radius: 26px;
        background-position: center;
    }

    .tbac-mmm-hero__content{
        width: 100%;
        max-width: 680px;
        padding: 40px 30px 58px;
    }

    .tbac-mmm-departments-wrap{
        margin: -22px 16px 0;
        padding: 18px;
        border-radius: 22px;
    }

    .tbac-mmm-promo,
.tbac-mmm-gift{
        grid-template-columns: 1fr;
        align-items: start;
    }

    .tbac-mmm-promo__actions{
        justify-content: flex-start;
    }

    .tbac-mmm-gift .tbac-mmm-button{
        justify-self: start;
    }
}

/* ---------- Mobile ---------- */
@media (max-width: 600px) {
    body.tbac-mega-moo-mall .content-container.site-container{
        padding-left: 8px;
        padding-right: 8px;
    }

    .tbac-mmm-hero{
        min-height: 390px;
        border-radius: 22px;
    }

    .tbac-mmm-hero__content{
        padding: 34px 22px 54px;
    }

    .tbac-mmm-hero h1{
        font-size: clamp(2.75rem, 14vw, 4.2rem);
    }

    .tbac-mmm-hero__actions{
        display: grid;
        grid-template-columns: 1fr;
    }

    .tbac-mmm-hero__actions .tbac-mmm-button{
        width: 100%;
        min-height: 50px;
    }

    .tbac-mmm-departments-wrap{
        margin: -18px 10px 0;
        padding: 15px;
    }

    .tbac-mmm-departments{
        grid-template-columns: 1fr 1fr;
        gap: 8px;
    }

    .tbac-mmm-departments a{
        min-height: 52px;
        padding: 10px 11px;
        font-size: .88rem;
    }

    .tbac-mmm-dept-arrow{
        width: 24px;
        height: 24px;
    }

    .tbac-mmm-promo,
.tbac-mmm-gift,
.tbac-mmm-help{
        border-radius: 20px;
    }

    .tbac-mmm-promo,
.tbac-mmm-gift{
        padding: 24px 20px;
    }

    .tbac-mmm-promo__actions{
        width: 100%;
        display: grid;
        grid-template-columns: 1fr;
    }

    .tbac-mmm-promo__actions .tbac-mmm-button,
.tbac-mmm-code,
.tbac-mmm-gift .tbac-mmm-button{
        width: 100%;
    }

    .tbac-mmm-section-heading,
.tbac-mmm-all-products-heading{
        margin-bottom: 18px;
        padding-inline: 8px;
    }

    .tbac-mmm-section-heading h2,
.tbac-mmm-all-products-heading h2{
        font-size: clamp(1.8rem, 9vw, 2.6rem);
    }

    body.tbac-mega-moo-mall .woocommerce-result-count,
body.tbac-mega-moo-mall .woocommerce-ordering{
        float: none !important;
        width: 100%;
    }

    body.tbac-mega-moo-mall .woocommerce-ordering select{
        width: 100%;
        min-width: 0;
    }

    .tbac-mmm-help__links{
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    body.tbac-mega-moo-mall ul.products{
        grid-template-columns: 1fr;
        gap: 18px;
    }

    body.tbac-mega-moo-mall ul.products li.product{
        border-radius: 21px;
        padding: 12px 12px 16px;
    }
}

/* Slightly wider phones can comfortably show two product cards. */
@media (min-width: 520px) and (max-width: 600px) {
    body.tbac-mega-moo-mall ul.products{
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 420px) {
    .tbac-mmm-departments{
        grid-template-columns: 1fr;
    }

    .tbac-mmm-help__links{
        grid-template-columns: 1fr;
    }

    .tbac-mmm-help__links a,
.tbac-mmm-departments a{
        min-height: 50px;
    }
}

@media (prefers-reduced-motion: reduce) {
    html{ scroll-behavior: auto; }
    .tbac-mmm-button,
.tbac-mmm-departments a,
.tbac-mmm-help__links a,
body.tbac-mega-moo-mall ul.products li.product{
        transition: none;
    }
}

/* ==========================================================================\n   v0.1.6 PREMIUM POLISH\n   Final Phase 1 desktop rhythm + catalog controls + tablet/mobile refinement.\n   ========================================================================== */

/* Tighten the page rhythm without making the destination feel compressed. */
body.tbac-mega-moo-mall .tbac-mmm-top{
    margin-bottom: 28px;
}

body.tbac-mega-moo-mall .tbac-mmm-featured{
    margin-top: clamp(32px, 4.5vw, 54px);
}

body.tbac-mega-moo-mall .tbac-mmm-all-products-heading{
    margin-top: clamp(38px, 5vw, 58px);
    margin-bottom: 16px;
}

body.tbac-mega-moo-mall .tbac-mmm-featured .tbac-mmm-section-heading{
    margin-bottom: 18px;
}

body.tbac-mega-moo-mall .tbac-mmm-bottom{
    margin-top: 28px;
    margin-bottom: 42px;
}

/* Compact, unified shopping-control row. JS moves the existing live WooCommerce
   controls into this wrapper so no commerce behavior is replaced or duplicated. */
body.tbac-mega-moo-mall .tbac-mmm-catalog-toolbar{
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin: 0 0 18px;
    padding: 10px 12px 10px 16px;
    border: 1px solid var(--mmm-soft-border);
    border-radius: 18px;
    background: rgba(255,255,255,.88);
    box-shadow: 0 8px 22px rgba(28,36,26,.065);
    backdrop-filter: blur(8px);
    box-sizing: border-box;
    clear: both;
}

body.tbac-mega-moo-mall .tbac-mmm-catalog-toolbar__left,
body.tbac-mega-moo-mall .tbac-mmm-catalog-toolbar__right{
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 0;
}

body.tbac-mega-moo-mall .tbac-mmm-catalog-toolbar .woocommerce-result-count,
body.tbac-mega-moo-mall .tbac-mmm-catalog-toolbar .woocommerce-ordering{
    float: none !important;
    width: auto !important;
    margin: 0 !important;
}

body.tbac-mega-moo-mall .tbac-mmm-catalog-toolbar .woocommerce-result-count{
    min-height: 42px;
    padding: 0 3px;
    white-space: nowrap;
}

body.tbac-mega-moo-mall .tbac-mmm-catalog-toolbar .woocommerce-ordering select{
    min-height: 42px;
    min-width: 190px;
    margin: 0;
}

body.tbac-mega-moo-mall .tbac-mmm-catalog-toolbar .kadence-product-toggle-container,
body.tbac-mega-moo-mall .tbac-mmm-catalog-toolbar .product-toggle-container,
body.tbac-mega-moo-mall .tbac-mmm-catalog-toolbar .gridlist-toggle,
body.tbac-mega-moo-mall .tbac-mmm-catalog-toolbar .shop-view-switcher{
    margin: 0 !important;
    flex: 0 0 auto;
}

/* Once controls are moved, neutralize empty theme rows that may otherwise retain height. */
body.tbac-mega-moo-mall .tbac-mmm-toolbar-source-empty:empty{
    display: none !important;
    margin: 0 !important;
    padding: 0 !important;
    min-height: 0 !important;
    height: 0 !important;
}

/* Product presentation refinement. */
body.tbac-mega-moo-mall ul.products li.product{
    padding: 13px 13px 17px;
}

body.tbac-mega-moo-mall ul.products li.product img{
    margin-bottom: 13px !important;
}

body.tbac-mega-moo-mall ul.products li.product .woocommerce-loop-product__title{
    min-height: 2.64em;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
}

body.tbac-mega-moo-mall ul.products li.product .price{
    margin-bottom: 8px !important;
}

body.tbac-mega-moo-mall ul.products li.product .button,
body.tbac-mega-moo-mall ul.products li.product a.button{
    min-height: 44px;
    letter-spacing: .025em;
}

/* The featured cards can stay a touch tighter than the full catalog while keeping
   the same premium visual language. */
body.tbac-mega-moo-mall .tbac-mmm-featured__products ul.products li.product{
    max-width: 360px;
}

/* Lower utility areas feel related without becoming one giant block. */
body.tbac-mega-moo-mall .tbac-mmm-gift + .tbac-mmm-help{
    margin-top: 18px;
}

body.tbac-mega-moo-mall .tbac-mmm-help__links{
    margin-top: 18px;
}

body.tbac-mega-moo-mall .tbac-mmm-back-top{
    margin-top: 18px;
}

/* ----- Tablet premium layout ----- */
@media (max-width: 1080px) {
    body.tbac-mega-moo-mall .tbac-mmm-top{
        margin-bottom: 24px;
    }

    body.tbac-mega-moo-mall .tbac-mmm-featured{
        margin-top: 34px;
    }

    body.tbac-mega-moo-mall .tbac-mmm-all-products-heading{
        margin-top: 42px;
    }

    body.tbac-mega-moo-mall .tbac-mmm-catalog-toolbar{
        padding: 10px 12px;
    }

    body.tbac-mega-moo-mall .tbac-mmm-catalog-toolbar .woocommerce-result-count{
        white-space: normal;
    }
}

@media (max-width: 820px) {
    body.tbac-mega-moo-mall .tbac-mmm-hero{
        min-height: 380px;
    }

    body.tbac-mega-moo-mall .tbac-mmm-featured,
body.tbac-mega-moo-mall .tbac-mmm-all-products-heading{
        margin-top: 34px;
    }

    body.tbac-mega-moo-mall .tbac-mmm-catalog-toolbar{
        gap: 12px;
        border-radius: 16px;
    }

    body.tbac-mega-moo-mall .tbac-mmm-catalog-toolbar__right{
        flex-wrap: wrap;
        justify-content: flex-end;
    }
}

/* ----- Mobile premium layout ----- */
@media (max-width: 600px) {
    body.tbac-mega-moo-mall .tbac-mmm-top{
        margin-top: 10px;
        margin-bottom: 20px;
    }

    body.tbac-mega-moo-mall .tbac-mmm-hero{
        min-height: 360px;
    }

    body.tbac-mega-moo-mall .tbac-mmm-hero__content{
        padding: 30px 20px 50px;
    }

    body.tbac-mega-moo-mall .tbac-mmm-featured,
body.tbac-mega-moo-mall .tbac-mmm-all-products-heading{
        margin-top: 30px;
    }

    body.tbac-mega-moo-mall .tbac-mmm-catalog-toolbar{
        display: grid;
        grid-template-columns: 1fr;
        gap: 8px;
        margin-bottom: 14px;
        padding: 12px;
    }

    body.tbac-mega-moo-mall .tbac-mmm-catalog-toolbar__left,
body.tbac-mega-moo-mall .tbac-mmm-catalog-toolbar__right{
        width: 100%;
        justify-content: stretch;
    }

    body.tbac-mega-moo-mall .tbac-mmm-catalog-toolbar__right{
        display: grid;
        grid-template-columns: minmax(0,1fr) auto;
        align-items: center;
    }

    body.tbac-mega-moo-mall .tbac-mmm-catalog-toolbar .woocommerce-result-count{
        min-height: 30px;
        padding: 0;
        font-size: .9rem;
    }

    body.tbac-mega-moo-mall .tbac-mmm-catalog-toolbar .woocommerce-ordering,
body.tbac-mega-moo-mall .tbac-mmm-catalog-toolbar .woocommerce-ordering select{
        width: 100% !important;
        min-width: 0 !important;
    }

    body.tbac-mega-moo-mall .tbac-mmm-gift + .tbac-mmm-help{
        margin-top: 14px;
    }

    body.tbac-mega-moo-mall .tbac-mmm-bottom{
        margin-top: 22px;
        margin-bottom: 28px;
    }

    body.tbac-mega-moo-mall ul.products li.product .woocommerce-loop-product__title{
        min-height: 0;
        -webkit-line-clamp: 3;
    }
}

@media (max-width: 420px) {
    body.tbac-mega-moo-mall .tbac-mmm-catalog-toolbar__right{
        grid-template-columns: 1fr;
    }

    body.tbac-mega-moo-mall .tbac-mmm-catalog-toolbar .kadence-product-toggle-container,
body.tbac-mega-moo-mall .tbac-mmm-catalog-toolbar .product-toggle-container,
body.tbac-mega-moo-mall .tbac-mmm-catalog-toolbar .gridlist-toggle,
body.tbac-mega-moo-mall .tbac-mmm-catalog-toolbar .shop-view-switcher{
        justify-self: end;
    }
}

/* v0.1.7: premium product-category / Mall department archives */
body.tbac-mega-moo-mall .tbac-mmm-department-top{
    margin-bottom: 20px;
}

body.tbac-mega-moo-mall .tbac-mmm-department-hero{
    --tbac-mmm-department-image: none;
    position: relative;
    min-height: 300px;
    overflow: hidden;
    border: 1px solid rgba(22, 74, 48, 0.18);
    border-radius: 28px;
    background:
        linear-gradient(112deg, rgba(8, 67, 43, 0.98) 0%, rgba(29, 105, 65, 0.94) 54%, rgba(130, 164, 137, 0.82) 100%),
        var(--tbac-mmm-department-image);
    background-size: cover;
    background-position: center;
    box-shadow: 0 22px 50px rgba(28, 59, 43, 0.14);
    color: #fff;
}

body.tbac-mega-moo-mall .tbac-mmm-department-hero__shade{
    position: absolute;
    inset: 0;
    background:
        radial-gradient(circle at 85% 125%, rgba(255, 255, 255, 0.15) 0 31%, transparent 31.5%),
        linear-gradient(90deg, rgba(5, 48, 31, 0.12), transparent 70%);
    pointer-events: none;
}

body.tbac-mega-moo-mall .tbac-mmm-department-hero__content{
    position: relative;
    z-index: 1;
    display: flex;
    min-height: 300px;
    max-width: 760px;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    padding: clamp(34px, 5vw, 62px);
}

body.tbac-mega-moo-mall .tbac-mmm-department-back{
    display: inline-flex;
    align-items: center;
    min-height: 40px;
    margin-bottom: 20px;
    padding: 8px 14px;
    border: 1px solid rgba(255, 255, 255, 0.34);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.10);
    color: #fff;
    font-size: 13px;
    font-weight: 800;
    text-decoration: none;
}

body.tbac-mega-moo-mall .tbac-mmm-department-back:hover,
body.tbac-mega-moo-mall .tbac-mmm-department-back:focus-visible{
    border-color: #fff5d8;
    background: #fff5d8;
    color: #123f2b;
    outline: none;
}

body.tbac-mega-moo-mall .tbac-mmm-department-hero h1{
    max-width: 800px;
    margin: 8px 0 12px;
    color: #fff;
    font-size: clamp(42px, 6.2vw, 76px);
    line-height: 0.96;
    letter-spacing: -0.045em;
}

body.tbac-mega-moo-mall .tbac-mmm-department-description{
    max-width: 660px;
    color: rgba(255, 255, 255, 0.94);
    font-size: 16px;
    line-height: 1.6;
}

body.tbac-mega-moo-mall .tbac-mmm-department-description p:last-child{
    margin-bottom: 0;
}

body.tbac-mega-moo-mall .tbac-mmm-departments a.is-current,
body.tbac-mega-moo-mall .tbac-mmm-departments a[aria-current="page"]{
    border-color: #174d34;
    background: #174d34;
    color: #fff;
    box-shadow: 0 8px 20px rgba(23, 77, 52, 0.16);
}

body.tbac-mega-moo-mall .tbac-mmm-departments a.is-current .tbac-mmm-dept-arrow,
body.tbac-mega-moo-mall .tbac-mmm-departments a[aria-current="page"] .tbac-mmm-dept-arrow{
    border-color: rgba(255, 255, 255, 0.34);
    background: rgba(255, 255, 255, 0.12);
    color: #fff;
}

body.tbac-mega-moo-mall .tbac-mmm-departments a.is-current:hover,
body.tbac-mega-moo-mall .tbac-mmm-departments a.is-current:focus-visible,
body.tbac-mega-moo-mall .tbac-mmm-departments a[aria-current="page"]:hover,
body.tbac-mega-moo-mall .tbac-mmm-departments a[aria-current="page"]:focus-visible{
    border-color: #e7cf91;
    background: #fff7df;
    color: #173f2d;
}

body.tbac-mega-moo-mall .tbac-mmm-department-products-heading{
    margin-top: 36px;
    margin-bottom: 12px;
}

body.tbac-mega-moo-mall .tbac-mmm-department-products-heading h2{
    text-transform: none;
}

body.tbac-mega-moo-mall .woocommerce-info,
body.tbac-mega-moo-mall .woocommerce-no-products-found{
    max-width: 1220px;
    margin: 18px auto 30px;
}

body.tbac-mega-moo-mall .woocommerce-no-products-found .woocommerce-info{
    padding: 24px 26px;
    border: 1px solid rgba(20, 74, 49, 0.14);
    border-radius: 18px;
    background: #fff9e9;
    color: #244636;
    box-shadow: 0 12px 30px rgba(27, 65, 46, 0.08);
}

body.tbac-mega-moo-mall.tbac-mmm-christmas .tbac-mmm-department-hero{
    background:
        linear-gradient(112deg, rgba(15, 76, 48, 0.98) 0%, rgba(25, 105, 62, 0.92) 48%, rgba(151, 38, 45, 0.84) 100%),
        var(--tbac-mmm-department-image);
    background-size: cover;
    background-position: center;
}

@media (max-width: 900px) {
    body.tbac-mega-moo-mall .tbac-mmm-department-hero,
body.tbac-mega-moo-mall .tbac-mmm-department-hero__content{
        min-height: 260px;
    }

    body.tbac-mega-moo-mall .tbac-mmm-department-hero__content{
        padding: 34px 30px;
    }

    body.tbac-mega-moo-mall .tbac-mmm-department-products-heading{
        margin-top: 28px;
    }
}

@media (max-width: 600px) {
    body.tbac-mega-moo-mall .tbac-mmm-department-top{
        margin-bottom: 10px;
    }

    body.tbac-mega-moo-mall .tbac-mmm-department-hero{
        min-height: 0;
        border-radius: 20px;
    }

    body.tbac-mega-moo-mall .tbac-mmm-department-hero__content{
        min-height: 0;
        padding: 28px 22px 32px;
    }

    body.tbac-mega-moo-mall .tbac-mmm-department-back{
        width: 100%;
        justify-content: center;
        margin-bottom: 18px;
    }

    body.tbac-mega-moo-mall .tbac-mmm-department-hero h1{
        font-size: clamp(38px, 13vw, 54px);
    }

    body.tbac-mega-moo-mall .tbac-mmm-department-description{
        font-size: 15px;
    }

    body.tbac-mega-moo-mall .tbac-mmm-department-products-heading{
        margin-top: 22px;
    }
}

/* ==========================================================================\n   v0.1.8 ACCESSIBILITY INVARIANT: CURRENT / SELECTED DEPARTMENT\n   Never allow a dark selected background to inherit dark theme text.\n   This block intentionally sits last and uses !important so Kadence and\n   WooCommerce typography rules cannot override the selected-state contrast.\n   ========================================================================== */
body.tbac-mega-moo-mall .tbac-mmm-departments a.is-current,
body.tbac-mega-moo-mall .tbac-mmm-departments a[aria-current="page"]{
    background: #174d34 !important;
    border-color: #174d34 !important;
    color: #ffffff !important;
}

body.tbac-mega-moo-mall .tbac-mmm-departments a.is-current *,
body.tbac-mega-moo-mall .tbac-mmm-departments a[aria-current="page"] *{
    color: inherit !important;
}

body.tbac-mega-moo-mall .tbac-mmm-departments a.is-current .tbac-mmm-dept-arrow,
body.tbac-mega-moo-mall .tbac-mmm-departments a[aria-current="page"] .tbac-mmm-dept-arrow{
    background: rgba(255, 255, 255, 0.15) !important;
    border-color: rgba(255, 255, 255, 0.42) !important;
    color: #ffffff !important;
}

body.tbac-mega-moo-mall .tbac-mmm-departments a.is-current:hover,
body.tbac-mega-moo-mall .tbac-mmm-departments a.is-current:focus,
body.tbac-mega-moo-mall .tbac-mmm-departments a.is-current:focus-visible,
body.tbac-mega-moo-mall .tbac-mmm-departments a[aria-current="page"]:hover,
body.tbac-mega-moo-mall .tbac-mmm-departments a[aria-current="page"]:focus,
body.tbac-mega-moo-mall .tbac-mmm-departments a[aria-current="page"]:focus-visible{
    background: #fff7df !important;
    border-color: #d9bd72 !important;
    color: #173f2d !important;
}

body.tbac-mega-moo-mall .tbac-mmm-departments a.is-current:hover *,
body.tbac-mega-moo-mall .tbac-mmm-departments a.is-current:focus *,
body.tbac-mega-moo-mall .tbac-mmm-departments a.is-current:focus-visible *,
body.tbac-mega-moo-mall .tbac-mmm-departments a[aria-current="page"]:hover *,
body.tbac-mega-moo-mall .tbac-mmm-departments a[aria-current="page"]:focus *,
body.tbac-mega-moo-mall .tbac-mmm-departments a[aria-current="page"]:focus-visible *{
    color: inherit !important;
}

body.tbac-mega-moo-mall .tbac-mmm-departments a.is-current:hover .tbac-mmm-dept-arrow,
body.tbac-mega-moo-mall .tbac-mmm-departments a.is-current:focus .tbac-mmm-dept-arrow,
body.tbac-mega-moo-mall .tbac-mmm-departments a.is-current:focus-visible .tbac-mmm-dept-arrow,
body.tbac-mega-moo-mall .tbac-mmm-departments a[aria-current="page"]:hover .tbac-mmm-dept-arrow,
body.tbac-mega-moo-mall .tbac-mmm-departments a[aria-current="page"]:focus .tbac-mmm-dept-arrow,
body.tbac-mega-moo-mall .tbac-mmm-departments a[aria-current="page"]:focus-visible .tbac-mmm-dept-arrow{
    background: #ffffff !important;
    border-color: #d9bd72 !important;
    color: #173f2d !important;
}

/* ==========================================================================\n   v0.1.9 FULL COMMERCE JOURNEY\n   Product, cart, checkout, order confirmation, order payment, and Woo account.\n   ========================================================================== */

/* Kadence page chrome must not reappear after leaving the catalog. */
body.tbac-mega-moo-mall .entry-hero,
body.tbac-mega-moo-mall .entry-hero-container-inner,
body.tbac-mega-moo-mall .page-title-wrap,
body.tbac-mega-moo-mall:not(.tbac-mmm-surface-shop):not(.tbac-mmm-surface-department) .entry-header{
    display: none !important;
}

body.tbac-mega-moo-mall .woocommerce-notices-wrapper,
body.tbac-mega-moo-mall .woocommerce-error,
body.tbac-mega-moo-mall .woocommerce-message,
body.tbac-mega-moo-mall .woocommerce-info{
    box-sizing: border-box;
}

/* ---------- Product masthead ---------- */
body.tbac-mmm-surface-product .tbac-mmm-product-masthead{
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    margin-top: clamp(18px, 3vw, 34px);
    margin-bottom: 18px;
    padding: 20px 24px;
    border: 1px solid var(--mmm-soft-border);
    border-radius: 22px;
    background: linear-gradient(105deg, #174d34 0%, #2f7049 100%);
    color: #fff;
    box-shadow: var(--mmm-card-shadow);
}

body.tbac-mmm-surface-product .tbac-mmm-product-masthead .tbac-mmm-kicker{
    color: rgba(255,255,255,.82);
}

body.tbac-mmm-surface-product .tbac-mmm-product-masthead__title{
    margin-top: 3px;
    color: #fff;
    font-size: clamp(1.35rem, 2.6vw, 2rem);
    font-weight: 900;
    line-height: 1;
}

body.tbac-mmm-surface-product .tbac-mmm-product-masthead__nav{
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 9px;
}

body.tbac-mmm-surface-product .tbac-mmm-product-masthead__nav a,
body.tbac-mega-moo-mall .tbac-mmm-commerce-back{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    padding: 9px 15px;
    border: 1px solid rgba(255,255,255,.35);
    border-radius: 999px;
    background: rgba(255,255,255,.10);
    color: #fff !important;
    font-weight: 800;
    text-decoration: none !important;
}

body.tbac-mmm-surface-product .tbac-mmm-product-masthead__nav a:hover,
body.tbac-mmm-surface-product .tbac-mmm-product-masthead__nav a:focus-visible,
body.tbac-mega-moo-mall .tbac-mmm-commerce-back:hover,
body.tbac-mega-moo-mall .tbac-mmm-commerce-back:focus-visible{
    border-color: #e7cf91;
    background: #fff7df;
    color: #173f2d !important;
    outline: 3px solid rgba(231,207,145,.30);
    outline-offset: 2px;
}

/* ---------- Single product ---------- */
body.tbac-mmm-surface-product .content-container.site-container{
    max-width: 1380px !important;
}

body.tbac-mmm-surface-product div.product.type-product{
    box-sizing: border-box;
    margin-bottom: 34px;
    padding: clamp(18px, 2.8vw, 34px);
    border: 1px solid var(--mmm-soft-border);
    border-radius: 30px;
    background: rgba(255,255,255,.98);
    box-shadow: var(--mmm-shadow);
}

body.tbac-mmm-surface-product div.product .woocommerce-product-gallery{
    box-sizing: border-box;
    padding: clamp(10px, 1.5vw, 18px);
    border: 1px solid var(--mmm-soft-border);
    border-radius: 24px;
    background: #fbfcfb;
    box-shadow: 0 8px 24px rgba(28,36,26,.06);
}

body.tbac-mmm-surface-product div.product .woocommerce-product-gallery img{
    border-radius: 16px;
}

body.tbac-mmm-surface-product div.product .summary{
    box-sizing: border-box;
    padding: clamp(4px, 1.4vw, 16px);
}

body.tbac-mmm-surface-product div.product .product_title{
    margin-top: 0;
    margin-bottom: 14px;
    color: var(--mmm-deep) !important;
    font-size: clamp(2rem, 4vw, 3.35rem);
    line-height: 1.02;
    letter-spacing: -.035em;
}

body.tbac-mmm-surface-product div.product p.price,
body.tbac-mmm-surface-product div.product span.price{
    color: #17623d !important;
    font-size: clamp(1.35rem, 2.4vw, 1.8rem);
    font-weight: 900;
}

body.tbac-mmm-surface-product div.product .woocommerce-product-details__short-description{
    color: #385545;
    font-size: 1.02rem;
    line-height: 1.65;
}

body.tbac-mmm-surface-product div.product form.cart,
body.tbac-mmm-surface-product div.product form.variations_form{
    margin-top: 22px;
}

body.tbac-mmm-surface-product div.product table.variations{
    width: 100%;
    border-collapse: separate;
    border-spacing: 0 10px;
}

body.tbac-mmm-surface-product div.product table.variations th,
body.tbac-mmm-surface-product div.product table.variations td{
    padding: 0 0 6px;
    border: 0;
    background: transparent;
    text-align: left;
}

body.tbac-mmm-surface-product div.product table.variations label{
    color: var(--mmm-deep);
    font-weight: 850;
}

body.tbac-mega-moo-mall select,
body.tbac-mega-moo-mall input[type="text"],
body.tbac-mega-moo-mall input[type="email"],
body.tbac-mega-moo-mall input[type="tel"],
body.tbac-mega-moo-mall input[type="number"],
body.tbac-mega-moo-mall input[type="password"],
body.tbac-mega-moo-mall textarea{
    min-height: 46px;
    border: 1px solid rgba(24,54,38,.22) !important;
    border-radius: 12px !important;
    background: #fff !important;
    color: #183626 !important;
    box-shadow: none !important;
}

body.tbac-mega-moo-mall select:focus,
body.tbac-mega-moo-mall input:focus,
body.tbac-mega-moo-mall textarea:focus{
    border-color: #c99a36 !important;
    outline: 3px solid rgba(201,154,54,.22) !important;
    outline-offset: 1px;
}

body.tbac-mmm-surface-product .quantity .qty{
    min-width: 78px;
    text-align: center;
}

body.tbac-mega-moo-mall .single_add_to_cart_button,
body.tbac-mega-moo-mall .checkout-button,
body.tbac-mega-moo-mall #place_order,
body.tbac-mega-moo-mall .woocommerce button.button.alt,
body.tbac-mega-moo-mall .woocommerce a.button.alt,
body.tbac-mega-moo-mall .wc-block-components-checkout-place-order-button,
body.tbac-mega-moo-mall .wc-block-components-button:not(.is-link){
    min-height: 50px !important;
    border: 1px solid #174d34 !important;
    border-radius: 999px !important;
    background: #174d34 !important;
    color: #fff !important;
    font-weight: 900 !important;
    text-decoration: none !important;
    box-shadow: 0 9px 22px rgba(23,77,52,.18) !important;
}

body.tbac-mega-moo-mall .single_add_to_cart_button:hover,
body.tbac-mega-moo-mall .single_add_to_cart_button:focus-visible,
body.tbac-mega-moo-mall .checkout-button:hover,
body.tbac-mega-moo-mall .checkout-button:focus-visible,
body.tbac-mega-moo-mall #place_order:hover,
body.tbac-mega-moo-mall #place_order:focus-visible,
body.tbac-mega-moo-mall .woocommerce button.button.alt:hover,
body.tbac-mega-moo-mall .woocommerce button.button.alt:focus-visible,
body.tbac-mega-moo-mall .woocommerce a.button.alt:hover,
body.tbac-mega-moo-mall .woocommerce a.button.alt:focus-visible,
body.tbac-mega-moo-mall .wc-block-components-checkout-place-order-button:hover,
body.tbac-mega-moo-mall .wc-block-components-checkout-place-order-button:focus-visible,
body.tbac-mega-moo-mall .wc-block-components-button:not(.is-link):hover,
body.tbac-mega-moo-mall .wc-block-components-button:not(.is-link):focus-visible{
    border-color: #d9bd72 !important;
    background: #fff7df !important;
    color: #173f2d !important;
    outline: 3px solid rgba(217,189,114,.24) !important;
    outline-offset: 2px;
}

/* Force descendants in dark action buttons to inherit white, preventing the
   theme from recreating the dark-on-dark accessibility bug. */
body.tbac-mega-moo-mall .single_add_to_cart_button *,
body.tbac-mega-moo-mall .checkout-button *,
body.tbac-mega-moo-mall #place_order *,
body.tbac-mega-moo-mall .wc-block-components-checkout-place-order-button *{
    color: inherit !important;
}

body.tbac-mmm-surface-product div.product .product_meta{
    margin-top: 24px;
    padding-top: 18px;
    border-top: 1px solid var(--mmm-soft-border);
    color: #62786b;
    font-size: .92rem;
}

body.tbac-mmm-surface-product div.product .product_meta a{
    color: #1f6742;
    font-weight: 750;
}

body.tbac-mmm-surface-product .woocommerce-tabs,
body.tbac-mmm-surface-product .related.products,
body.tbac-mmm-surface-product .upsells.products{
    clear: both;
    margin-top: 30px;
    padding: clamp(18px, 2.6vw, 30px);
    border: 1px solid var(--mmm-soft-border);
    border-radius: 24px;
    background: #fff;
    box-shadow: var(--mmm-card-shadow);
}

body.tbac-mmm-surface-product .woocommerce-tabs ul.tabs{
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 0 0 22px !important;
    padding: 0 !important;
    border: 0 !important;
}

body.tbac-mmm-surface-product .woocommerce-tabs ul.tabs::before,
body.tbac-mmm-surface-product .woocommerce-tabs ul.tabs li::before,
body.tbac-mmm-surface-product .woocommerce-tabs ul.tabs li::after{
    display: none !important;
}

body.tbac-mmm-surface-product .woocommerce-tabs ul.tabs li{
    margin: 0 !important;
    padding: 0 !important;
    border: 1px solid var(--mmm-border) !important;
    border-radius: 999px !important;
    background: var(--mmm-cream) !important;
}

body.tbac-mmm-surface-product .woocommerce-tabs ul.tabs li a{
    display: block;
    padding: 10px 16px !important;
    color: var(--mmm-ink) !important;
    font-weight: 800 !important;
}

body.tbac-mmm-surface-product .woocommerce-tabs ul.tabs li.active{
    border-color: #174d34 !important;
    background: #174d34 !important;
}

body.tbac-mmm-surface-product .woocommerce-tabs ul.tabs li.active a{
    color: #fff !important;
}

body.tbac-mmm-surface-product .woocommerce-tabs ul.tabs li:hover,
body.tbac-mmm-surface-product .woocommerce-tabs ul.tabs li:focus-within,
body.tbac-mmm-surface-product .woocommerce-tabs ul.tabs li.active:hover,
body.tbac-mmm-surface-product .woocommerce-tabs ul.tabs li.active:focus-within{
    border-color: #d9bd72 !important;
    background: #fff7df !important;
}

body.tbac-mmm-surface-product .woocommerce-tabs ul.tabs li:hover a,
body.tbac-mmm-surface-product .woocommerce-tabs ul.tabs li:focus-within a,
body.tbac-mmm-surface-product .woocommerce-tabs ul.tabs li.active:hover a,
body.tbac-mmm-surface-product .woocommerce-tabs ul.tabs li.active:focus-within a{
    color: #173f2d !important;
}

body.tbac-mmm-surface-product .related.products > h2,
body.tbac-mmm-surface-product .upsells.products > h2{
    margin-bottom: 22px;
    color: var(--mmm-deep);
    font-size: clamp(1.65rem, 3vw, 2.4rem);
}

/* ---------- Cart / checkout / order / shopping account hero ---------- */
body.tbac-mmm-surface-cart .content-container.site-container,
body.tbac-mmm-surface-checkout .content-container.site-container,
body.tbac-mmm-surface-order-received .content-container.site-container,
body.tbac-mmm-surface-order-pay .content-container.site-container,
body.tbac-mmm-surface-account .content-container.site-container{
    max-width: 1320px !important;
}

body.tbac-mega-moo-mall .tbac-mmm-commerce-hero{
    box-sizing: border-box;
    margin-top: clamp(18px, 3vw, 34px);
    margin-bottom: 18px;
    padding: clamp(26px, 4vw, 46px);
    border: 1px solid var(--mmm-border);
    border-radius: 30px;
    background: linear-gradient(112deg, #12452f 0%, #2d7049 72%, #568d67 100%);
    color: #fff;
    box-shadow: var(--mmm-shadow);
}

body.tbac-mega-moo-mall .tbac-mmm-commerce-hero__topline{
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 28px;
}

body.tbac-mega-moo-mall .tbac-mmm-commerce-hero .tbac-mmm-kicker{
    color: rgba(255,255,255,.80);
}

body.tbac-mega-moo-mall .tbac-mmm-commerce-hero h1{
    margin: 7px 0 10px;
    color: #fff !important;
    font-size: clamp(2.45rem, 6vw, 5rem);
    line-height: .94;
    letter-spacing: -.045em;
}

body.tbac-mega-moo-mall .tbac-mmm-commerce-hero__intro{
    max-width: 760px;
    color: rgba(255,255,255,.94);
    font-size: 1.02rem;
    line-height: 1.65;
}

body.tbac-mega-moo-mall .tbac-mmm-commerce-hero__intro p:last-child{
    margin-bottom: 0;
}

body.tbac-mega-moo-mall .tbac-mmm-commerce-steps{
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 5px;
    border: 1px solid rgba(255,255,255,.22);
    border-radius: 999px;
    background: rgba(0,0,0,.08);
}

body.tbac-mega-moo-mall .tbac-mmm-commerce-steps span{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 34px;
    padding: 6px 12px;
    border-radius: 999px;
    color: rgba(255,255,255,.70) !important;
    font-size: .82rem;
    font-weight: 800;
}

body.tbac-mega-moo-mall .tbac-mmm-commerce-steps span.is-reached{
    background: #fff7df;
    color: #173f2d !important;
}

body.tbac-mega-moo-mall .tbac-mmm-commerce-content{
    box-sizing: border-box;
    margin-bottom: 18px;
}

/* ---------- Classic cart ---------- */














/* ---------- WooCommerce Cart Block ---------- */




body.tbac-mmm-surface-checkout .wc-block-components-product-name{
    color: #173f2d !important;
    font-weight: 800;
}

/* ---------- Classic checkout ---------- */
body.tbac-mmm-surface-checkout form.checkout.woocommerce-checkout,
body.tbac-mmm-surface-order-pay .woocommerce,
body.tbac-mmm-surface-order-received .woocommerce{
    box-sizing: border-box;
}

body.tbac-mmm-surface-checkout form.checkout .col2-set,
body.tbac-mmm-surface-checkout form.checkout #order_review,
body.tbac-mmm-surface-checkout .woocommerce-form-coupon-toggle,
body.tbac-mmm-surface-checkout form.checkout_coupon,
body.tbac-mmm-surface-order-pay .woocommerce-order-pay,
body.tbac-mmm-surface-order-received .woocommerce-order{
    box-sizing: border-box;
    border: 1px solid var(--mmm-soft-border);
    border-radius: 24px;
    background: #fff;
    box-shadow: var(--mmm-card-shadow);
}

body.tbac-mmm-surface-checkout form.checkout .col2-set,
body.tbac-mmm-surface-checkout form.checkout #order_review,
body.tbac-mmm-surface-order-pay .woocommerce-order-pay,
body.tbac-mmm-surface-order-received .woocommerce-order{
    padding: clamp(18px, 3vw, 30px);
}

body.tbac-mmm-surface-checkout #order_review_heading,
body.tbac-mmm-surface-checkout .woocommerce-billing-fields > h3,
body.tbac-mmm-surface-checkout .woocommerce-additional-fields > h3{
    color: var(--mmm-deep);
}

body.tbac-mmm-surface-checkout .woocommerce-checkout-payment{
    border-radius: 18px !important;
    background: #f8faf8 !important;
}

body.tbac-mmm-surface-checkout .woocommerce-terms-and-conditions-wrapper{
    margin: 16px 0;
    padding: 14px 16px;
    border: 1px solid rgba(24,54,38,.12);
    border-radius: 14px;
    background: #fff9e9;
    color: #294838;
}

body.tbac-mmm-surface-checkout .woocommerce-terms-and-conditions-wrapper a{
    color: #17623d;
    font-weight: 800;
}

/* ---------- WooCommerce Checkout Block ---------- */
body.tbac-mmm-surface-checkout .wc-block-checkout__main,
body.tbac-mmm-surface-checkout .wc-block-checkout__sidebar,
body.tbac-mmm-surface-order-received .wc-block-order-confirmation-status,
body.tbac-mmm-surface-order-received .wc-block-order-confirmation-summary,
body.tbac-mmm-surface-order-received .wc-block-order-confirmation-totals-wrapper,
body.tbac-mmm-surface-order-received .wc-block-order-confirmation-shipping-wrapper,
body.tbac-mmm-surface-order-received .wc-block-order-confirmation-billing-wrapper{
    box-sizing: border-box;
    border: 1px solid var(--mmm-soft-border);
    border-radius: 24px;
    background: #fff;
    box-shadow: var(--mmm-card-shadow);
}

body.tbac-mmm-surface-checkout .wc-block-checkout__main,
body.tbac-mmm-surface-checkout .wc-block-checkout__sidebar{
    padding: clamp(16px, 2.5vw, 26px);
}

body.tbac-mmm-surface-checkout .wc-block-components-checkout-step{
    padding-top: 8px;
    padding-bottom: 20px;
    border-bottom-color: rgba(24,54,38,.10);
}

body.tbac-mmm-surface-checkout .wc-block-components-title,
body.tbac-mmm-surface-checkout .wc-block-components-checkout-step__heading,
body.tbac-mmm-surface-checkout .wc-block-components-totals-wrapper h2,
body.tbac-mmm-surface-order-received h2,
body.tbac-mmm-surface-order-received h3{
    color: var(--mmm-deep) !important;
}

/* ---------- Order received / thank you ---------- */
body.tbac-mmm-surface-order-received .woocommerce-thankyou-order-received,
body.tbac-mmm-surface-order-received .wc-block-order-confirmation-status{
    margin: 0 0 18px;
    padding: 20px 24px;
    border: 1px solid rgba(23,98,61,.16);
    border-radius: 18px;
    background: #eef8f1;
    color: #174d34;
    font-weight: 850;
}

body.tbac-mmm-surface-order-received ul.order_details{
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: 10px;
    margin: 18px 0 26px !important;
    padding: 0 !important;
}

body.tbac-mmm-surface-order-received ul.order_details li{
    margin: 0 !important;
    padding: 14px 16px !important;
    border: 1px solid var(--mmm-soft-border) !important;
    border-radius: 14px;
    background: #fff9e9;
}

/* ---------- WooCommerce My Account, explicitly separated from Family Account ---------- */
body.tbac-mmm-surface-account .woocommerce{
    display: grid;
    grid-template-columns: minmax(210px, 280px) minmax(0, 1fr);
    gap: 18px;
    align-items: start;
}

body.tbac-mmm-surface-account .woocommerce-MyAccount-navigation,
body.tbac-mmm-surface-account .woocommerce-MyAccount-content,
body.tbac-mmm-surface-account .woocommerce-form-login,
body.tbac-mmm-surface-account .woocommerce-form-register{
    box-sizing: border-box;
    border: 1px solid var(--mmm-soft-border);
    border-radius: 22px;
    background: #fff;
    box-shadow: var(--mmm-card-shadow);
}

body.tbac-mmm-surface-account .woocommerce-MyAccount-navigation,
body.tbac-mmm-surface-account .woocommerce-MyAccount-content{
    padding: 18px;
}

body.tbac-mmm-surface-account .woocommerce-MyAccount-navigation ul{
    display: grid;
    gap: 7px;
    margin: 0;
    padding: 0;
    list-style: none;
}

body.tbac-mmm-surface-account .woocommerce-MyAccount-navigation-link a{
    display: flex;
    min-height: 44px;
    align-items: center;
    padding: 9px 13px;
    border: 1px solid var(--mmm-soft-border);
    border-radius: 12px;
    background: #fff8e8;
    color: #183626 !important;
    font-weight: 800;
    text-decoration: none !important;
}

body.tbac-mmm-surface-account .woocommerce-MyAccount-navigation-link.is-active a{
    border-color: #174d34;
    background: #174d34;
    color: #fff !important;
}

body.tbac-mmm-surface-account .woocommerce-MyAccount-navigation-link.is-active a:hover,
body.tbac-mmm-surface-account .woocommerce-MyAccount-navigation-link.is-active a:focus-visible,
body.tbac-mmm-surface-account .woocommerce-MyAccount-navigation-link a:hover,
body.tbac-mmm-surface-account .woocommerce-MyAccount-navigation-link a:focus-visible{
    border-color: #d9bd72;
    background: #fff7df;
    color: #173f2d !important;
}

/* ---------- Shared Woo tables / notices ---------- */
body.tbac-mega-moo-mall table.shop_table,
body.tbac-mega-moo-mall .woocommerce-table{
    border-color: var(--mmm-soft-border) !important;
    border-radius: 16px;
}

body.tbac-mega-moo-mall .woocommerce-message,
body.tbac-mega-moo-mall .woocommerce-info,
body.tbac-mega-moo-mall .woocommerce-error{
    margin-bottom: 18px !important;
    padding: 18px 20px 18px 52px !important;
    border: 1px solid var(--mmm-soft-border) !important;
    border-radius: 16px !important;
    background: #fff9e9 !important;
    color: #294838 !important;
    box-shadow: 0 8px 22px rgba(28,36,26,.06);
}

body.tbac-mega-moo-mall .woocommerce-message a,
body.tbac-mega-moo-mall .woocommerce-info a,
body.tbac-mega-moo-mall .woocommerce-error a{
    color: #17623d !important;
    font-weight: 800;
}

/* ---------- Shared commerce footerbar ---------- */
body.tbac-mega-moo-mall .tbac-mmm-commerce-footerbar{
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    margin: 18px auto 34px;
    padding: 20px 24px;
    border: 1px solid var(--mmm-soft-border);
    border-radius: 22px;
    background: #fff;
    box-shadow: var(--mmm-card-shadow);
}

body.tbac-mega-moo-mall .tbac-mmm-commerce-footerbar .tbac-mmm-kicker{
    color: #2f7049;
}

body.tbac-mega-moo-mall .tbac-mmm-commerce-footerbar strong{
    display: block;
    margin-top: 3px;
    color: var(--mmm-deep);
    font-size: 1.08rem;
}

/* Policy closeout: give the remaining policy actions the full frame width so
   they sit on one centered row on desktop and wrap into centered rows cleanly. */
body.tbac-mega-moo-mall .tbac-mmm-commerce-footerbar--policies{
    flex-direction: column;
    align-items: center;
    text-align: center;
}
body.tbac-mega-moo-mall .tbac-mmm-commerce-footerbar--policies .tbac-mmm-commerce-footerbar__links{
    width: 100%;
    justify-content: center;
}

body.tbac-mega-moo-mall .tbac-mmm-commerce-footerbar__links{
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px;
}

body.tbac-mega-moo-mall .tbac-mmm-commerce-footerbar__links a{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    padding: 8px 14px;
    border: 1px solid var(--mmm-border);
    border-radius: 999px;
    background: #fff8e8;
    color: #183626 !important;
    font-weight: 800;
    text-decoration: none !important;
}

body.tbac-mega-moo-mall .tbac-mmm-commerce-footerbar__links a:hover,
body.tbac-mega-moo-mall .tbac-mmm-commerce-footerbar__links a:focus-visible{
    border-color: #d9bd72;
    background: #fff7df;
    color: #173f2d !important;
    outline: 3px solid rgba(217,189,114,.22);
    outline-offset: 1px;
}

/* ---------- Responsive full commerce journey ---------- */
@media (max-width: 900px) {
    body.tbac-mmm-surface-product .tbac-mmm-product-masthead,
body.tbac-mega-moo-mall .tbac-mmm-commerce-hero__topline,
body.tbac-mega-moo-mall .tbac-mmm-commerce-footerbar{
        align-items: flex-start;
        flex-direction: column;
    }

    body.tbac-mmm-surface-product .tbac-mmm-product-masthead__nav,
body.tbac-mega-moo-mall .tbac-mmm-commerce-footerbar__links{
        width: 100%;
        justify-content: center;
    }

    body.tbac-mmm-surface-account .woocommerce{
        grid-template-columns: 1fr;
    }

    body.tbac-mmm-surface-account .woocommerce-MyAccount-navigation ul{
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 600px) {
    body.tbac-mmm-surface-product .tbac-mmm-product-masthead,
body.tbac-mega-moo-mall .tbac-mmm-commerce-hero,
body.tbac-mega-moo-mall .tbac-mmm-commerce-footerbar{
        border-radius: 18px;
    }

    body.tbac-mmm-surface-product .tbac-mmm-product-masthead{
        padding: 18px;
    }

    body.tbac-mmm-surface-product .tbac-mmm-product-masthead__nav,
body.tbac-mega-moo-mall .tbac-mmm-commerce-footerbar__links{
        display: grid;
        grid-template-columns: 1fr;
    }

    body.tbac-mmm-surface-product .tbac-mmm-product-masthead__nav a,
body.tbac-mega-moo-mall .tbac-mmm-commerce-footerbar__links a,
body.tbac-mega-moo-mall .tbac-mmm-commerce-back{
        width: 100%;
        min-height: 48px;
    }

    body.tbac-mmm-surface-product div.product.type-product{
        padding: 14px;
        border-radius: 20px;
    }

    body.tbac-mega-moo-mall .tbac-mmm-commerce-hero{
        padding: 24px 20px 28px;
    }

    body.tbac-mega-moo-mall .tbac-mmm-commerce-hero__topline{
        margin-bottom: 20px;
    }

    body.tbac-mega-moo-mall .tbac-mmm-commerce-steps{
        width: 100%;
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    body.tbac-mega-moo-mall .tbac-mmm-commerce-steps span{
        padding-inline: 6px;
        text-align: center;
    }

    body.tbac-mmm-surface-account .woocommerce-MyAccount-navigation ul{
        grid-template-columns: 1fr;
    }

    body.tbac-mmm-surface-checkout .wc-block-checkout__main,
body.tbac-mmm-surface-checkout .wc-block-checkout__sidebar{
        padding: 14px;
        border-radius: 18px;
    }

    
}

/* ==========================================================================\n   v0.2.0 COMMERCE QA / ACCESSIBILITY POLISH\n   ========================================================================== */

/* WooCommerce notices sometimes inherit Kadence's blue .button treatment.
   Keep notice actions inside the Mall palette and preserve explicit contrast. */
body.tbac-mega-moo-mall .woocommerce-message a.button,
body.tbac-mega-moo-mall .woocommerce-info a.button,
body.tbac-mega-moo-mall .woocommerce-error a.button,
body.tbac-mega-moo-mall .woocommerce-message a.wc-forward,
body.tbac-mega-moo-mall .woocommerce-info a.wc-forward,
body.tbac-mega-moo-mall .woocommerce-error a.wc-forward{
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    min-height: 40px;
    padding: 8px 16px !important;
    border: 1px solid #174d34 !important;
    border-radius: 999px !important;
    background: #174d34 !important;
    color: #ffffff !important;
    font-weight: 900 !important;
    line-height: 1.1 !important;
    text-decoration: none !important;
    box-shadow: 0 6px 16px rgba(23,77,52,.15) !important;
}
body.tbac-mega-moo-mall .woocommerce-message a.button *,
body.tbac-mega-moo-mall .woocommerce-info a.button *,
body.tbac-mega-moo-mall .woocommerce-error a.button *,
body.tbac-mega-moo-mall .woocommerce-message a.wc-forward *,
body.tbac-mega-moo-mall .woocommerce-info a.wc-forward *,
body.tbac-mega-moo-mall .woocommerce-error a.wc-forward *{
    color: inherit !important;
}
body.tbac-mega-moo-mall .woocommerce-message a.button:hover,
body.tbac-mega-moo-mall .woocommerce-message a.button:focus-visible,
body.tbac-mega-moo-mall .woocommerce-info a.button:hover,
body.tbac-mega-moo-mall .woocommerce-info a.button:focus-visible,
body.tbac-mega-moo-mall .woocommerce-error a.button:hover,
body.tbac-mega-moo-mall .woocommerce-error a.button:focus-visible,
body.tbac-mega-moo-mall .woocommerce-message a.wc-forward:hover,
body.tbac-mega-moo-mall .woocommerce-message a.wc-forward:focus-visible,
body.tbac-mega-moo-mall .woocommerce-info a.wc-forward:hover,
body.tbac-mega-moo-mall .woocommerce-info a.wc-forward:focus-visible,
body.tbac-mega-moo-mall .woocommerce-error a.wc-forward:hover,
body.tbac-mega-moo-mall .woocommerce-error a.wc-forward:focus-visible{
    border-color: #d9bd72 !important;
    background: #fff7df !important;
    color: #173f2d !important;
    outline: 3px solid rgba(217,189,114,.24) !important;
    outline-offset: 2px;
}

/* Product tabs: make the selected tab unmistakable even when Kadence or a
   WooCommerce tab script fails to maintain li.active consistently. */
body.tbac-mmm-surface-product .woocommerce-tabs ul.tabs li.active,
body.tbac-mmm-surface-product .woocommerce-tabs ul.tabs li.tbac-mmm-tab-current,
body.tbac-mmm-surface-product .woocommerce-tabs ul.tabs li:has(> a[aria-selected="true"]){
    border-color: #174d34 !important;
    background: #174d34 !important;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.12), 0 5px 14px rgba(23,77,52,.14) !important;
}
body.tbac-mmm-surface-product .woocommerce-tabs ul.tabs li.active > a,
body.tbac-mmm-surface-product .woocommerce-tabs ul.tabs li.tbac-mmm-tab-current > a,
body.tbac-mmm-surface-product .woocommerce-tabs ul.tabs li > a[aria-selected="true"]{
    color: #ffffff !important;
}
body.tbac-mmm-surface-product .woocommerce-tabs ul.tabs li.active > a *,
body.tbac-mmm-surface-product .woocommerce-tabs ul.tabs li.tbac-mmm-tab-current > a *,
body.tbac-mmm-surface-product .woocommerce-tabs ul.tabs li > a[aria-selected="true"] *{
    color: inherit !important;
}
body.tbac-mmm-surface-product .woocommerce-tabs ul.tabs li.active:hover,
body.tbac-mmm-surface-product .woocommerce-tabs ul.tabs li.active:focus-within,
body.tbac-mmm-surface-product .woocommerce-tabs ul.tabs li.tbac-mmm-tab-current:hover,
body.tbac-mmm-surface-product .woocommerce-tabs ul.tabs li.tbac-mmm-tab-current:focus-within,
body.tbac-mmm-surface-product .woocommerce-tabs ul.tabs li:has(> a[aria-selected="true"]):hover,
body.tbac-mmm-surface-product .woocommerce-tabs ul.tabs li:has(> a[aria-selected="true"]):focus-within{
    border-color: #d9bd72 !important;
    background: #fff7df !important;
}
body.tbac-mmm-surface-product .woocommerce-tabs ul.tabs li.active:hover > a,
body.tbac-mmm-surface-product .woocommerce-tabs ul.tabs li.active:focus-within > a,
body.tbac-mmm-surface-product .woocommerce-tabs ul.tabs li.tbac-mmm-tab-current:hover > a,
body.tbac-mmm-surface-product .woocommerce-tabs ul.tabs li.tbac-mmm-tab-current:focus-within > a,
body.tbac-mmm-surface-product .woocommerce-tabs ul.tabs li:has(> a[aria-selected="true"]):hover > a,
body.tbac-mmm-surface-product .woocommerce-tabs ul.tabs li:has(> a[aria-selected="true"]):focus-within > a{
    color: #173f2d !important;
}

/* WooCommerce Blocks uses internal right-padding instead of a visible gutter.
   Once the main/sidebar regions themselves become cards that makes their borders
   appear to touch. Create a real premium gutter and compensate widths. */
@media (min-width: 782px) {
    body.tbac-mmm-surface-checkout .wc-block-components-sidebar-layout{
        column-gap: 18px !important;
        row-gap: 18px !important;
    }
    body.tbac-mmm-surface-checkout .wc-block-components-sidebar-layout > .wc-block-components-main,
body.tbac-mmm-surface-checkout .wc-block-checkout__main{
        width: calc(65% - 9px) !important;
        padding-right: clamp(16px, 2.5vw, 26px) !important;
    }
    body.tbac-mmm-surface-checkout .wc-block-components-sidebar-layout > .wc-block-components-sidebar,
body.tbac-mmm-surface-checkout .wc-block-checkout__sidebar{
        width: calc(35% - 9px) !important;
    }
}

/* Order confirmation summary values must remain readable instead of squeezing
   email/payment details into narrow five-column boxes. */
body.tbac-mmm-surface-order-received ul.order_details{
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 12px !important;
}
body.tbac-mmm-surface-order-received ul.order_details li{
    overflow-wrap: anywhere;
    word-break: normal;
}

@media (max-width: 781px) {
    body.tbac-mmm-surface-order-received ul.order_details{
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}
@media (max-width: 520px) {
    body.tbac-mmm-surface-order-received ul.order_details{
        grid-template-columns: 1fr !important;
    }
}


/* ---------- v0.2.1 product-page polish ---------- */
/* The Mall masthead already provides context/navigation. Remove default theme or
   WooCommerce breadcrumb trails so raw Home / Shop / Uncategorized paths never
   leak back into the premium product experience. */
body.tbac-mmm-surface-product .woocommerce-breadcrumb,
body.tbac-mmm-surface-product nav.woocommerce-breadcrumb,
body.tbac-mmm-surface-product .kadence-breadcrumbs,
body.tbac-mmm-surface-product .entry-breadcrumbs,
body.tbac-mmm-surface-product .breadcrumb,
body.tbac-mmm-surface-product .breadcrumbs{
    display: none !important;
    margin: 0 !important;
    padding: 0 !important;
    height: 0 !important;
}

/* SKU/raw taxonomy metadata is implementation detail here. Category navigation is
   already provided by the Mall masthead, so do not expose Uncategorized or SKU noise. */
body.tbac-mmm-surface-product div.product .product_meta{
    display: none !important;
}

/* Related merchandise should feel like a compact shelf, not a huge empty white
   container when only one or two products are available. */
body.tbac-mmm-surface-product .related.products,
body.tbac-mmm-surface-product .upsells.products{
    padding: 4px 0 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}
body.tbac-mmm-surface-product .related.products > h2,
body.tbac-mmm-surface-product .upsells.products > h2{
    margin: 0 0 16px !important;
}
body.tbac-mmm-surface-product .related.products ul.products,
body.tbac-mmm-surface-product .upsells.products ul.products{
    grid-template-columns: repeat(auto-fit, minmax(210px, 280px)) !important;
    justify-content: start !important;
    align-items: stretch !important;
    gap: 18px !important;
}
body.tbac-mmm-surface-product .related.products ul.products li.product,
body.tbac-mmm-surface-product .upsells.products ul.products li.product{
    width: 100% !important;
    max-width: 280px !important;
}

@media (max-width: 620px) {
    body.tbac-mmm-surface-product .related.products ul.products,
body.tbac-mmm-surface-product .upsells.products ul.products{
        grid-template-columns: 1fr !important;
    }
    body.tbac-mmm-surface-product .related.products ul.products li.product,
body.tbac-mmm-surface-product .upsells.products ul.products li.product{
        max-width: none !important;
    }
}

/* ---------- v0.2.4 Responsive full-page Mall scenery ----------
   Every commerce surface can now use its own Desktop / Tablet / Mobile art,
   while blank page overrides inherit the matching Shop artwork. The scenery
   lives on a fixed visual layer and the live WooCommerce UI scrolls above it,
   mirroring the approved main Shop behavior. */
body.tbac-mega-moo-mall.tbac-mmm-has-page-bg{
    position: relative;
    isolation: isolate;
    background: #eee7dc !important;
}

body.tbac-mega-moo-mall.tbac-mmm-has-page-bg::before{
    content: "";
    position: fixed;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    background-color: #eee7dc;
    background-image: var(--tbac-mmm-page-bg-desktop, none);
    background-repeat: no-repeat;
    background-position: center top;
    background-size: cover;
    transform: translateZ(0);
    backface-visibility: hidden;
}

/* Keep the complete live site above the fixed scenery layer. */
body.tbac-mega-moo-mall.tbac-mmm-has-page-bg #page{
    position: relative;
    z-index: 1;
    background: transparent !important;
}

/* Remove theme/page solids that would hide the scenic layer. Individual Mall
   cards, commerce panels, product summaries and forms keep their own premium
   opaque/soft backgrounds for readability. */
body.tbac-mega-moo-mall.tbac-mmm-has-page-bg #inner-wrap,
body.tbac-mega-moo-mall.tbac-mmm-has-page-bg .site-main,
body.tbac-mega-moo-mall.tbac-mmm-has-page-bg .content-bg,
body.tbac-mega-moo-mall.tbac-mmm-has-page-bg .content-area,
body.tbac-mega-moo-mall.tbac-mmm-has-page-bg #primary,
body.tbac-mega-moo-mall.tbac-mmm-has-page-bg main.site-main{
    background: transparent !important;
}

/* Keep Mall UI above detailed side scenery. */
body.tbac-mega-moo-mall.tbac-mmm-has-page-bg .tbac-mmm-top,
body.tbac-mega-moo-mall.tbac-mmm-has-page-bg .tbac-mmm-featured,
body.tbac-mega-moo-mall.tbac-mmm-has-page-bg .tbac-mmm-all-products-heading,
body.tbac-mega-moo-mall.tbac-mmm-has-page-bg .tbac-mmm-bottom,
body.tbac-mega-moo-mall.tbac-mmm-has-page-bg .tbac-mmm-product-masthead,
body.tbac-mega-moo-mall.tbac-mmm-has-page-bg .tbac-mmm-commerce-hero,
body.tbac-mega-moo-mall.tbac-mmm-has-page-bg .tbac-mmm-commerce-footerbar,
body.tbac-mega-moo-mall.tbac-mmm-has-page-bg .woocommerce{
    position: relative;
    z-index: 2;
}

/* Tablet uses its own portrait art rather than a crop of desktop. If no tablet
   artwork is uploaded, the variable resolves to none and the neutral fallback
   remains visible instead of crowding the UI. */
@media (min-width: 768px) and (max-width: 1199px) {
    body.tbac-mega-moo-mall.tbac-mmm-has-page-bg::before{
        background-image: var(--tbac-mmm-page-bg-tablet, none);
        background-position: center top;
        background-size: cover;
    }
}

/* Mobile uses a dedicated tall composition. */
@media (max-width: 767px) {
    body.tbac-mega-moo-mall.tbac-mmm-has-page-bg::before{
        background-image: var(--tbac-mmm-page-bg-mobile, none);
        background-position: center top;
        background-size: cover;
    }
}

/* Normalize Kadence's now-empty header builder containers. This removes the
   reserved row height before the Club utility bar without changing the utility
   bar's own native sticky/fixed positioning. */
body.tbac-mega-moo-mall.tbac-mmm-hide-theme-main-nav #masthead,
body.tbac-mega-moo-mall.tbac-mmm-hide-theme-main-nav #main-header,
body.tbac-mega-moo-mall.tbac-mmm-hide-theme-main-nav .site-header-wrap,
body.tbac-mega-moo-mall.tbac-mmm-hide-theme-main-nav .site-header-upper-wrap,
body.tbac-mega-moo-mall.tbac-mmm-hide-theme-main-nav .site-header-upper-inner-wrap{
    min-height: 0 !important;
}



/* ---------- v0.2.5 Order Confirmation / Thank You experience ---------- */
body.tbac-mmm-surface-order-received .content-container.site-container{
    max-width: 1380px !important;
}

/* Keep the confirmation UI centered in the artwork safe zone so Senn, the
   shopping girl, and Ariana can remain visible around the outer edges. */
body.tbac-mmm-surface-order-received .tbac-mmm-commerce-hero,
body.tbac-mmm-surface-order-received .tbac-mmm-thankyou-order-details,
body.tbac-mmm-surface-order-received .tbac-mmm-thankyou-shell{
    width: min(100%, 1000px);
    margin-left: auto;
    margin-right: auto;
}

body.tbac-mmm-surface-order-received .tbac-mmm-commerce-hero{
    background: linear-gradient(112deg, rgba(18,69,47,.97) 0%, rgba(45,112,73,.94) 72%, rgba(86,141,103,.90) 100%);
    border-color: rgba(255,248,232,.58);
    box-shadow: 0 24px 64px rgba(14,40,27,.22);
}

body.tbac-mmm-surface-order-received .tbac-mmm-thankyou-order-details .woocommerce,
body.tbac-mmm-surface-order-received .tbac-mmm-thankyou-order-details .woocommerce-order{
    background: rgba(255,255,255,.965) !important;
    backdrop-filter: blur(3px);
    -webkit-backdrop-filter: blur(3px);
}

body.tbac-mmm-surface-order-received .tbac-mmm-thankyou-experience{
    display: grid;
    gap: 18px;
    margin: 18px 0 clamp(34px, 6vw, 70px);
}

body.tbac-mmm-surface-order-received .tbac-mmm-thankyou-grid{
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
}

body.tbac-mmm-surface-order-received .tbac-mmm-thankyou-card{
    box-sizing: border-box;
    padding: clamp(22px, 3vw, 34px);
    border: 1px solid rgba(24,54,38,.13);
    border-radius: 26px;
    background: rgba(255,255,255,.965);
    box-shadow: 0 16px 40px rgba(28,36,26,.13);
    backdrop-filter: blur(3px);
    -webkit-backdrop-filter: blur(3px);
}

body.tbac-mmm-surface-order-received .tbac-mmm-thankyou-card--appreciation{
    background: rgba(255,249,232,.975);
}

body.tbac-mmm-surface-order-received .tbac-mmm-thankyou-card--production{
    background: rgba(239,248,242,.975);
}

body.tbac-mmm-surface-order-received .tbac-mmm-thankyou-card--continue{
    text-align: center;
    border-color: rgba(201,154,54,.36);
    background: rgba(255,255,255,.975);
}

body.tbac-mmm-surface-order-received .tbac-mmm-thankyou-card h2{
    margin: 6px 0 12px;
    color: #123526 !important;
    font-size: clamp(1.55rem, 3vw, 2.35rem);
    line-height: 1.08;
    letter-spacing: -.025em;
}

body.tbac-mmm-surface-order-received .tbac-mmm-thankyou-copy{
    color: #355144;
    font-size: 1rem;
    line-height: 1.68;
}

body.tbac-mmm-surface-order-received .tbac-mmm-thankyou-copy p:last-child{
    margin-bottom: 0;
}

body.tbac-mmm-surface-order-received .tbac-mmm-thankyou-actions{
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    margin-top: 22px;
}

body.tbac-mmm-surface-order-received .tbac-mmm-thankyou-action{
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 52px;
    padding: 11px 18px;
    border: 1px solid rgba(24,54,38,.18);
    border-radius: 999px;
    background: #fff8e8;
    color: #183626 !important;
    font-size: .96rem;
    font-weight: 850;
    line-height: 1.25;
    text-align: center;
    text-decoration: none !important;
    box-shadow: 0 6px 16px rgba(28,36,26,.06);
}

body.tbac-mmm-surface-order-received .tbac-mmm-thankyou-action.is-primary{
    grid-column: 1 / -1;
    min-height: 58px;
    background: #17623d;
    border-color: #17623d;
    color: #fff !important;
    font-size: 1.04rem;
}

/* TBAC accessibility invariant: dark selected/primary states always use white
   text; hover/focus becomes light cream with dark green text. */
body.tbac-mmm-surface-order-received .tbac-mmm-thankyou-action:hover,
body.tbac-mmm-surface-order-received .tbac-mmm-thankyou-action:focus-visible,
body.tbac-mmm-surface-order-received .tbac-mmm-thankyou-action.is-primary:hover,
body.tbac-mmm-surface-order-received .tbac-mmm-thankyou-action.is-primary:focus-visible{
    border-color: #d9bd72;
    background: #fff7df;
    color: #173f2d !important;
    outline: 3px solid rgba(217,189,114,.24);
    outline-offset: 2px;
}

/* Give the underlying WooCommerce order information premium rhythm without
   changing any payment/order logic. */
body.tbac-mmm-surface-order-received .woocommerce-order-details,
body.tbac-mmm-surface-order-received .woocommerce-customer-details,
body.tbac-mmm-surface-order-received .wc-block-order-confirmation-totals-wrapper,
body.tbac-mmm-surface-order-received .wc-block-order-confirmation-shipping-wrapper,
body.tbac-mmm-surface-order-received .wc-block-order-confirmation-billing-wrapper{
    margin-top: 18px;
}

body.tbac-mmm-surface-order-received .woocommerce-order-details__title,
body.tbac-mmm-surface-order-received .woocommerce-column__title{
    margin-bottom: 12px;
}

@media (max-width: 900px) {
    body.tbac-mmm-surface-order-received .tbac-mmm-commerce-hero,
body.tbac-mmm-surface-order-received .tbac-mmm-thankyou-order-details,
body.tbac-mmm-surface-order-received .tbac-mmm-thankyou-shell{
        width: 100%;
    }

    body.tbac-mmm-surface-order-received .tbac-mmm-thankyou-grid{
        grid-template-columns: 1fr;
    }
}

@media (max-width: 620px) {
    body.tbac-mmm-surface-order-received .tbac-mmm-thankyou-card{
        padding: 20px 17px;
        border-radius: 20px;
    }

    body.tbac-mmm-surface-order-received .tbac-mmm-thankyou-actions{
        grid-template-columns: 1fr;
    }

    body.tbac-mmm-surface-order-received .tbac-mmm-thankyou-action.is-primary{
        grid-column: auto;
    }

    body.tbac-mmm-surface-order-received .tbac-mmm-thankyou-action{
        width: 100%;
        min-height: 50px;
        border-radius: 16px;
    }
}

/* ==========================================================================\n   v0.2.7 TRANSLUCENT READABILITY BALANCE\n   Restore the visible Mall scenery and only strengthen the text-bearing glass\n   surfaces slightly. Do not turn product/related sections into white slabs.\n   ========================================================================== */

/* Catalog/related product text areas: a modest glass wash only. The image and
   overall product card remain visually connected to the Mall environment. */
body.tbac-mega-moo-mall ul.products li.product .product-details,
body.tbac-mega-moo-mall ul.products li.product .product-details.content-bg,
body.tbac-mega-moo-mall ul.products li.product .entry-content-wrap,
body.tbac-mega-moo-mall ul.products li.product .product-action-wrap{
    background-color: rgba(255,255,255,.78) !important;
    -webkit-backdrop-filter: blur(4px) saturate(1.02);
    backdrop-filter: blur(4px) saturate(1.02);
}

body.tbac-mega-moo-mall ul.products li.product .product-details,
body.tbac-mega-moo-mall ul.products li.product .entry-content-wrap{
    border-radius: 0 0 16px 16px;
}

body.tbac-mega-moo-mall ul.products li.product .woocommerce-loop-product__title,
body.tbac-mega-moo-mall ul.products li.product .price,
body.tbac-mega-moo-mall ul.products li.product .price *{
    position: relative;
    z-index: 2;
    color: var(--mmm-ink) !important;
    text-shadow: 0 1px 0 rgba(255,255,255,.68);
}
body.tbac-mega-moo-mall ul.products li.product .price,
body.tbac-mega-moo-mall ul.products li.product .price *{
    color: #155f3a !important;
}

/* Product title/price/variation copy gets only a light transparency adjustment.
   This is deliberately much lighter than v0.2.6 so the scenery remains visible. */
body.tbac-mmm-surface-product div.product .summary{
    padding: clamp(14px, 1.8vw, 21px) !important;
    border: 1px solid rgba(24,54,38,.10);
    border-radius: 20px;
    background: rgba(255,255,255,.78) !important;
    box-shadow: 0 9px 24px rgba(28,36,26,.07);
    -webkit-backdrop-filter: blur(5px) saturate(1.02);
    backdrop-filter: blur(5px) saturate(1.02);
}

/* Description/Additional Information/Reviews area remains glassy instead of
   becoming an opaque frame. */
body.tbac-mmm-surface-product .woocommerce-tabs{
    background: rgba(255,255,255,.80) !important;
    -webkit-backdrop-filter: blur(5px) saturate(1.02);
    backdrop-filter: blur(5px) saturate(1.02);
}

/* Keep the compact Related Products shelf open to the scenic background. Only
   the heading itself gets a small translucent readability plate. */
body.tbac-mmm-surface-product .related.products,
body.tbac-mmm-surface-product .upsells.products{
    margin-top: 30px !important;
    padding: 4px 0 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
}

body.tbac-mmm-surface-product .related.products > h2,
body.tbac-mmm-surface-product .upsells.products > h2{
    display: inline-block;
    margin: 0 0 16px !important;
    padding: 8px 13px 9px;
    border: 1px solid rgba(201,154,54,.22);
    border-radius: 13px;
    background: rgba(255,249,232,.78) !important;
    color: #123526 !important;
    box-shadow: 0 6px 16px rgba(28,36,26,.055);
    -webkit-backdrop-filter: blur(4px);
    backdrop-filter: blur(4px);
    text-shadow: 0 1px 0 rgba(255,255,255,.92), 0 0 9px rgba(255,255,255,.58);
}

/* Headings over scenery get a subtle halo only, never an opaque banner. */
body.tbac-mega-moo-mall.tbac-mmm-has-page-bg .tbac-mmm-section-heading h2,
body.tbac-mega-moo-mall.tbac-mmm-has-page-bg .tbac-mmm-all-products-heading h2{
    text-shadow:
        0 1px 0 rgba(255,255,255,.92),
        0 0 12px rgba(255,255,255,.70),
        0 3px 10px rgba(18,53,38,.09);
}

@media (max-width: 767px) {
    body.tbac-mmm-surface-product div.product .summary{
        padding: 15px !important;
        border-radius: 17px;
    }
}

/* ==========================================================================
   v0.3.0 ORDER CONFIRMATION PRE-LAUNCH SAFETY GATE
   Public shoppers may use the Mall and Help while Club-only destinations stay
   truly non-clickable until the Club launch toggle is intentionally enabled.
   ========================================================================== */
body.tbac-mmm-surface-order-received .tbac-mmm-thankyou-prelaunch{
    max-width: 820px;
    margin: 20px auto 2px;
    padding: 17px 20px;
    border: 1px solid rgba(201,154,54,.38);
    border-radius: 18px;
    background: rgba(255,247,222,.90);
    color: #294437;
    text-align: left;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.72);
    -webkit-backdrop-filter: blur(4px);
    backdrop-filter: blur(4px);
}

body.tbac-mmm-surface-order-received .tbac-mmm-thankyou-prelaunch-badge{
    display: inline-flex;
    margin-bottom: 5px;
    color: #17623d;
    font-size: .72rem;
    font-weight: 900;
    letter-spacing: .13em;
}

body.tbac-mmm-surface-order-received .tbac-mmm-thankyou-prelaunch h3{
    margin: 0 0 7px;
    color: #173f2d !important;
    font-size: 1.08rem;
    line-height: 1.2;
}

body.tbac-mmm-surface-order-received .tbac-mmm-thankyou-prelaunch-copy,
body.tbac-mmm-surface-order-received .tbac-mmm-thankyou-prelaunch-copy p{
    margin-top: 0;
    color: #425a4d !important;
    font-size: .94rem;
    line-height: 1.55;
}

body.tbac-mmm-surface-order-received .tbac-mmm-thankyou-prelaunch-copy p:last-child{
    margin-bottom: 0;
}

body.tbac-mmm-surface-order-received .tbac-mmm-thankyou-action.is-disabled,
body.tbac-mmm-surface-order-received .tbac-mmm-thankyou-action.is-disabled:hover,
body.tbac-mmm-surface-order-received .tbac-mmm-thankyou-action.is-disabled:focus{
    gap: 8px;
    cursor: not-allowed;
    pointer-events: none;
    border-color: rgba(46,70,58,.15);
    background: rgba(239,240,234,.94);
    color: #65736c !important;
    box-shadow: none;
    outline: 0;
}

body.tbac-mmm-surface-order-received .tbac-mmm-thankyou-coming-soon{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 3px 7px;
    border: 1px solid rgba(138,90,0,.20);
    border-radius: 999px;
    background: #fff1bf;
    color: #72500a !important;
    font-size: .62rem;
    font-weight: 900;
    line-height: 1;
    letter-spacing: .08em;
    white-space: nowrap;
}

@media (max-width: 620px) {
    body.tbac-mmm-surface-order-received .tbac-mmm-thankyou-prelaunch{
        padding: 15px 16px;
        border-radius: 15px;
    }

    body.tbac-mmm-surface-order-received .tbac-mmm-thankyou-action.is-disabled{
        flex-wrap: wrap;
    }
}

/* ==========================================================================\n   v0.3.1 TABLET + PHONE-LANDSCAPE STABILITY\n   The 0.2.x responsive rules were mostly max-width breakpoints, which allowed\n   larger landscape tablets to drift back into desktop spacing and allowed\n   landscape phones wider than 767px to select the tablet/no-art state.\n   This block defines a true tablet band and an explicit phone-landscape band.\n   ========================================================================== */

/* Dedicated tablet presentation in BOTH portrait and landscape. */
@media (min-width: 768px) and (max-width: 1199px) {
    body.tbac-mega-moo-mall .content-container.site-container{
        max-width: none !important;
        padding-left: 20px !important;
        padding-right: 20px !important;
    }

    body.tbac-mega-moo-mall .tbac-mmm-shell{
        width: 100%;
        max-width: 1120px;
        margin-left: auto;
        margin-right: auto;
    }

    /* Never allow tablet scene art to vanish. PHP v0.3.1 also resolves the\n       variable to Desktop art if no dedicated Tablet image was uploaded. */
    body.tbac-mega-moo-mall.tbac-mmm-has-page-bg::before{
        background-image: var(--tbac-mmm-page-bg-tablet, var(--tbac-mmm-page-bg-desktop, none));
        background-position: center top;
        background-size: cover;
    }

    /* Stable breathing room around all major Mall text frames. */
    body.tbac-mega-moo-mall .tbac-mmm-hero__content{
        width: min(760px, 92%);
        padding: clamp(38px, 5vw, 56px) clamp(30px, 4.5vw, 48px) clamp(50px, 6vw, 66px) !important;
    }

    body.tbac-mega-moo-mall .tbac-mmm-departments-wrap{
        margin-left: 14px;
        margin-right: 14px;
        padding: 18px !important;
    }

    body.tbac-mega-moo-mall .tbac-mmm-promo,
body.tbac-mega-moo-mall .tbac-mmm-gift,
body.tbac-mega-moo-mall .tbac-mmm-help,
body.tbac-mega-moo-mall .tbac-mmm-department-hero,
body.tbac-mmm-surface-product .tbac-mmm-product-masthead,
body.tbac-mega-moo-mall .tbac-mmm-commerce-hero,
body.tbac-mega-moo-mall .tbac-mmm-commerce-footerbar{
        padding: clamp(24px, 3.2vw, 36px) !important;
    }

    body.tbac-mega-moo-mall .tbac-mmm-promo,
body.tbac-mega-moo-mall .tbac-mmm-gift{
        gap: 22px;
    }

    /* A 3-column desktop catalog becomes cramped on iPad landscape and is the\n       main source of the apparent disappearing text-frame padding. */
    body.tbac-mega-moo-mall ul.products,
body.tbac-mega-moo-mall .tbac-mmm-featured__products ul.products{
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 20px !important;
    }

    body.tbac-mega-moo-mall ul.products li.product{
        padding: 16px 16px 18px !important;
        border-radius: 22px;
    }

    body.tbac-mega-moo-mall ul.products li.product .woocommerce-loop-product__title{
        padding-left: 6px !important;
        padding-right: 6px !important;
    }

    body.tbac-mega-moo-mall ul.products li.product .price{
        margin-left: 6px !important;
        margin-right: 6px !important;
    }

    body.tbac-mega-moo-mall .tbac-mmm-help__links{
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 10px;
    }

    /* Product detail cards keep a real internal gutter at tablet sizes. */
    body.tbac-mmm-surface-product div.product.type-product{
        padding: clamp(20px, 3vw, 28px) !important;
    }

    body.tbac-mmm-surface-product div.product .woocommerce-product-gallery{
        padding: 14px !important;
    }

    body.tbac-mmm-surface-product div.product .summary{
        padding: 14px !important;
    }

    body.tbac-mmm-surface-product .woocommerce-tabs{
        padding: clamp(20px, 2.8vw, 28px) !important;
    }

    /* Commerce cards keep their gutter regardless of portrait/landscape. */
    body.tbac-mmm-surface-checkout .woocommerce,
body.tbac-mmm-surface-order-pay .woocommerce,
body.tbac-mmm-surface-order-received .woocommerce{
        box-sizing: border-box;
    }

    body.tbac-mmm-surface-checkout .wc-block-components-sidebar-layout{
        gap: 18px !important;
    }

    body.tbac-mmm-surface-checkout .wc-block-components-sidebar-layout > .wc-block-components-main,
body.tbac-mmm-surface-checkout .wc-block-checkout__main,
body.tbac-mmm-surface-checkout .wc-block-components-sidebar-layout > .wc-block-components-sidebar,
body.tbac-mmm-surface-checkout .wc-block-checkout__sidebar{
        box-sizing: border-box !important;
    }
}

/* Portrait tablet can use a little more vertical economy while preserving padding. */
@media (min-width: 768px) and (max-width: 900px) and (orientation: portrait) {
    body.tbac-mega-moo-mall .tbac-mmm-departments{
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    body.tbac-mega-moo-mall .tbac-mmm-promo,
body.tbac-mega-moo-mall .tbac-mmm-gift{
        grid-template-columns: 1fr;
    }

    body.tbac-mega-moo-mall .tbac-mmm-promo__actions{
        justify-content: flex-start;
    }
}

/* Landscape phones often report CSS widths around 800-930px, which previously\n   pushed them into the tablet breakpoint and made the mobile background vanish. */
@media (orientation: landscape) and (max-height: 540px) and (max-width: 950px) {
    body.tbac-mega-moo-mall.tbac-mmm-has-page-bg::before{
        background-image: var(--tbac-mmm-page-bg-mobile, var(--tbac-mmm-page-bg-tablet, var(--tbac-mmm-page-bg-desktop, none))) !important;
        background-position: center top !important;
        background-size: cover !important;
    }

    body.tbac-mega-moo-mall .content-container.site-container{
        padding-left: 14px !important;
        padding-right: 14px !important;
    }

    body.tbac-mega-moo-mall .tbac-mmm-hero{
        min-height: 300px !important;
    }

    body.tbac-mega-moo-mall .tbac-mmm-hero__content{
        width: min(720px, 94%);
        padding: 26px 24px 42px !important;
    }

    body.tbac-mega-moo-mall .tbac-mmm-hero h1{
        font-size: clamp(2.4rem, 8vw, 4.2rem);
    }

    body.tbac-mega-moo-mall .tbac-mmm-departments-wrap{
        margin-left: 8px;
        margin-right: 8px;
        padding: 14px !important;
    }

    body.tbac-mega-moo-mall .tbac-mmm-promo,
body.tbac-mega-moo-mall .tbac-mmm-gift,
body.tbac-mega-moo-mall .tbac-mmm-help,
body.tbac-mmm-surface-product .tbac-mmm-product-masthead,
body.tbac-mega-moo-mall .tbac-mmm-commerce-hero,
body.tbac-mega-moo-mall .tbac-mmm-commerce-footerbar{
        padding: 18px !important;
    }

    body.tbac-mega-moo-mall ul.products,
body.tbac-mega-moo-mall .tbac-mmm-featured__products ul.products{
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 14px !important;
    }

    body.tbac-mega-moo-mall ul.products li.product{
        padding: 12px 12px 15px !important;
    }
}

/* ==========================================================================
   v0.3.2 REAL-DEVICE RESPONSIVE STABILITY
   Safari on iPad can report desktop-class widths in landscape, so width-only
   media queries are not reliable. JS adds explicit responsive-device and
   orientation classes. The fixed scenic layer is now a real DOM element,
   avoiding WebKit pseudo-element/background repaint failures.
   ========================================================================== */

/* Once the real fixed layer exists, retire the older BODY pseudo-element. */
body.tbac-mega-moo-mall.tbac-mmm-has-page-bg.tbac-mmm-bg-layer-ready::before{
    display: none !important;
    content: none !important;
}

body.tbac-mega-moo-mall .tbac-mmm-page-bg-layer{
    position: fixed;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    background-color: #eee7dc;
    background-repeat: no-repeat;
    background-position: center top;
    background-size: cover;
    width: 100vw;
    width: 100dvw;
    min-width: 100lvw;
    height: 100vh;
    height: 100dvh;
    min-height: 100lvh;
    transform: translateZ(0);
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
    will-change: background-image;
}

body.tbac-mega-moo-mall.tbac-mmm-has-page-bg #page{
    position: relative;
    z-index: 1;
}

/* Prevent a theme wrapper from creating a horizontal canvas wider than the
   visual viewport after rotation. */
body.tbac-mega-moo-mall,
body.tbac-mega-moo-mall #page,
body.tbac-mega-moo-mall #inner-wrap,
body.tbac-mega-moo-mall .site-main,
body.tbac-mega-moo-mall main.site-main{
    max-width: 100% !important;
    overflow-x: clip;
}

/* ---------- Explicit tablet mode: portrait AND landscape ---------- */
body.tbac-mega-moo-mall.tbac-mmm-responsive-tablet .content-container.site-container{
    width: 100% !important;
    max-width: none !important;
    padding-left: clamp(20px, 3vw, 32px) !important;
    padding-right: clamp(20px, 3vw, 32px) !important;
    box-sizing: border-box !important;
}

body.tbac-mega-moo-mall.tbac-mmm-responsive-tablet .tbac-mmm-shell{
    width: 100% !important;
    max-width: 1180px !important;
    margin-inline: auto !important;
    box-sizing: border-box !important;
}

body.tbac-mega-moo-mall.tbac-mmm-responsive-tablet .tbac-mmm-top,
body.tbac-mega-moo-mall.tbac-mmm-responsive-tablet .tbac-mmm-featured,
body.tbac-mega-moo-mall.tbac-mmm-responsive-tablet .tbac-mmm-all-products-heading,
body.tbac-mega-moo-mall.tbac-mmm-responsive-tablet .tbac-mmm-bottom,
body.tbac-mega-moo-mall.tbac-mmm-responsive-tablet .tbac-mmm-product-masthead,
body.tbac-mega-moo-mall.tbac-mmm-responsive-tablet .tbac-mmm-commerce-hero,
body.tbac-mega-moo-mall.tbac-mmm-responsive-tablet .tbac-mmm-commerce-content,
body.tbac-mega-moo-mall.tbac-mmm-responsive-tablet .tbac-mmm-commerce-footerbar,
body.tbac-mega-moo-mall.tbac-mmm-responsive-tablet .woocommerce{
    box-sizing: border-box !important;
    max-width: 100% !important;
}

body.tbac-mega-moo-mall.tbac-mmm-responsive-tablet .tbac-mmm-hero__content{
    width: min(760px, 92%) !important;
    padding: clamp(38px, 5vw, 56px) clamp(32px, 4.5vw, 50px) clamp(50px, 6vw, 68px) !important;
    box-sizing: border-box !important;
}

body.tbac-mega-moo-mall.tbac-mmm-responsive-tablet .tbac-mmm-departments-wrap{
    margin-left: 14px !important;
    margin-right: 14px !important;
    padding: 20px !important;
    box-sizing: border-box !important;
}

body.tbac-mega-moo-mall.tbac-mmm-responsive-tablet .tbac-mmm-promo,
body.tbac-mega-moo-mall.tbac-mmm-responsive-tablet .tbac-mmm-gift,
body.tbac-mega-moo-mall.tbac-mmm-responsive-tablet .tbac-mmm-help,
body.tbac-mega-moo-mall.tbac-mmm-responsive-tablet .tbac-mmm-department-hero,
body.tbac-mega-moo-mall.tbac-mmm-responsive-tablet .tbac-mmm-product-masthead,
body.tbac-mega-moo-mall.tbac-mmm-responsive-tablet .tbac-mmm-commerce-hero,
body.tbac-mega-moo-mall.tbac-mmm-responsive-tablet .tbac-mmm-commerce-footerbar{
    padding: clamp(26px, 3.2vw, 38px) !important;
}

body.tbac-mega-moo-mall.tbac-mmm-responsive-tablet .tbac-mmm-catalog-toolbar{
    flex-wrap: wrap !important;
    gap: 12px !important;
    padding: 12px 14px !important;
}

body.tbac-mega-moo-mall.tbac-mmm-responsive-tablet .tbac-mmm-catalog-toolbar__right{
    flex-wrap: wrap !important;
}

body.tbac-mega-moo-mall.tbac-mmm-responsive-tablet ul.products,
body.tbac-mega-moo-mall.tbac-mmm-responsive-tablet .tbac-mmm-featured__products ul.products{
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 20px !important;
}

body.tbac-mega-moo-mall.tbac-mmm-responsive-tablet ul.products li.product{
    box-sizing: border-box !important;
    padding: 16px 16px 18px !important;
    border-radius: 22px !important;
    min-width: 0 !important;
}

body.tbac-mega-moo-mall.tbac-mmm-responsive-tablet ul.products li.product .woocommerce-loop-product__title,
body.tbac-mega-moo-mall.tbac-mmm-responsive-tablet ul.products li.product .price{
    padding-left: 6px !important;
    padding-right: 6px !important;
    box-sizing: border-box !important;
}

body.tbac-mega-moo-mall.tbac-mmm-responsive-tablet .tbac-mmm-help__links{
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 10px !important;
}

/* Product/detail frame padding is explicit so a theme landscape rule cannot
   collapse it to the edge. */
body.tbac-mega-moo-mall.tbac-mmm-responsive-tablet.tbac-mmm-surface-product div.product.type-product{
    padding: clamp(22px, 3vw, 30px) !important;
    box-sizing: border-box !important;
}

body.tbac-mega-moo-mall.tbac-mmm-responsive-tablet.tbac-mmm-surface-product div.product .woocommerce-product-gallery,
body.tbac-mega-moo-mall.tbac-mmm-responsive-tablet.tbac-mmm-surface-product div.product .summary{
    padding: 16px !important;
    box-sizing: border-box !important;
}

body.tbac-mega-moo-mall.tbac-mmm-responsive-tablet.tbac-mmm-surface-product .woocommerce-tabs{
    padding: clamp(22px, 3vw, 30px) !important;
    box-sizing: border-box !important;
}

/* Portrait tablet: stack the densest two-column commerce/detail areas. */
body.tbac-mega-moo-mall.tbac-mmm-responsive-tablet.tbac-mmm-orientation-portrait.tbac-mmm-surface-product div.product .woocommerce-product-gallery,
body.tbac-mega-moo-mall.tbac-mmm-responsive-tablet.tbac-mmm-orientation-portrait.tbac-mmm-surface-product div.product .summary{
    float: none !important;
    width: 100% !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

body.tbac-mega-moo-mall.tbac-mmm-responsive-tablet.tbac-mmm-orientation-portrait.tbac-mmm-surface-product div.product .summary{
    margin-top: 18px !important;
}

body.tbac-mega-moo-mall.tbac-mmm-surface-checkout.tbac-mmm-responsive-tablet .wc-block-components-sidebar-layout{
    gap: 20px !important;
}

body.tbac-mega-moo-mall.tbac-mmm-surface-checkout.tbac-mmm-responsive-tablet .wc-block-components-sidebar-layout > .wc-block-components-main,
body.tbac-mega-moo-mall.tbac-mmm-surface-checkout.tbac-mmm-responsive-tablet .wc-block-components-sidebar-layout > .wc-block-components-sidebar,
body.tbac-mega-moo-mall.tbac-mmm-responsive-tablet .wc-block-checkout__main,
body.tbac-mega-moo-mall.tbac-mmm-responsive-tablet .wc-block-checkout__sidebar{
    box-sizing: border-box !important;
    min-width: 0 !important;
}

body.tbac-mega-moo-mall.tbac-mmm-surface-checkout.tbac-mmm-responsive-tablet.tbac-mmm-orientation-portrait .wc-block-components-sidebar-layout{
    display: block !important;
}

body.tbac-mega-moo-mall.tbac-mmm-surface-checkout.tbac-mmm-responsive-tablet.tbac-mmm-orientation-portrait .wc-block-components-sidebar-layout > .wc-block-components-main,
body.tbac-mega-moo-mall.tbac-mmm-surface-checkout.tbac-mmm-responsive-tablet.tbac-mmm-orientation-portrait .wc-block-components-sidebar-layout > .wc-block-components-sidebar,
body.tbac-mega-moo-mall.tbac-mmm-responsive-tablet.tbac-mmm-orientation-portrait .wc-block-checkout__main,
body.tbac-mega-moo-mall.tbac-mmm-responsive-tablet.tbac-mmm-orientation-portrait .wc-block-checkout__sidebar{
    width: 100% !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

body.tbac-mega-moo-mall.tbac-mmm-surface-checkout.tbac-mmm-responsive-tablet.tbac-mmm-orientation-portrait .wc-block-components-sidebar-layout > .wc-block-components-sidebar,
body.tbac-mega-moo-mall.tbac-mmm-responsive-tablet.tbac-mmm-orientation-portrait .wc-block-checkout__sidebar{
    margin-top: 18px !important;
}

/* ---------- Explicit phone landscape ---------- */
body.tbac-mega-moo-mall.tbac-mmm-responsive-phone.tbac-mmm-orientation-landscape .content-container.site-container{
    padding-left: 14px !important;
    padding-right: 14px !important;
}

body.tbac-mega-moo-mall.tbac-mmm-responsive-phone.tbac-mmm-orientation-landscape .tbac-mmm-hero{
    min-height: 300px !important;
}

body.tbac-mega-moo-mall.tbac-mmm-responsive-phone.tbac-mmm-orientation-landscape .tbac-mmm-hero__content{
    width: min(720px, 94%) !important;
    padding: 26px 24px 42px !important;
}

body.tbac-mega-moo-mall.tbac-mmm-responsive-phone.tbac-mmm-orientation-landscape .tbac-mmm-departments-wrap{
    margin-left: 8px !important;
    margin-right: 8px !important;
    padding: 14px !important;
}

body.tbac-mega-moo-mall.tbac-mmm-responsive-phone.tbac-mmm-orientation-landscape ul.products,
body.tbac-mega-moo-mall.tbac-mmm-responsive-phone.tbac-mmm-orientation-landscape .tbac-mmm-featured__products ul.products{
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 14px !important;
}

body.tbac-mega-moo-mall.tbac-mmm-responsive-phone.tbac-mmm-orientation-landscape ul.products li.product{
    padding: 12px 12px 15px !important;
}

/* ========================================================================== 
   v0.3.8 UNIFIED TABLET QA / COMMERCE NORMALIZATION
   Replaces the stacked v0.3.3-v0.3.7 tablet hotfixes with one coherent
   physical-tablet layout layer. This section changes spacing/layout only.
   It deliberately leaves the approved v0.2.7 transparency/background
   treatment and v0.3.0 launch-state behavior untouched.
   ========================================================================== */

body.tbac-mega-moo-mall.tbac-mmm-physical-tablet{
    --tbac-mmm-tab-gutter-x: 20px;
    --tbac-mmm-tab-pad-x: 26px;
    --tbac-mmm-tab-pad-y: 24px;
    --tbac-mmm-tab-compact-x: 20px;
    --tbac-mmm-tab-compact-y: 18px;
    --tbac-mmm-tab-gap: 18px;
}

body.tbac-mega-moo-mall.tbac-mmm-physical-tablet.tbac-mmm-orientation-landscape{
    --tbac-mmm-tab-gutter-x: 28px;
    --tbac-mmm-tab-pad-x: 34px;
    --tbac-mmm-tab-pad-y: 28px;
    --tbac-mmm-tab-compact-x: 26px;
    --tbac-mmm-tab-compact-y: 22px;
    --tbac-mmm-tab-gap: 22px;
}

/* --- Universal tablet canvas / box model -------------------------------- */
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet,
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet #page,
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet #inner-wrap,
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet .site-main,
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet main.site-main{
    max-width: 100% !important;
    overflow-x: clip !important;
}

body.tbac-mega-moo-mall.tbac-mmm-physical-tablet .content-container.site-container,
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet .site-main > .content-container,
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet main.site-main > .content-container{
    width: 100% !important;
    max-width: none !important;
    padding-left: var(--tbac-mmm-tab-gutter-x) !important;
    padding-right: var(--tbac-mmm-tab-gutter-x) !important;
    box-sizing: border-box !important;
}

body.tbac-mega-moo-mall.tbac-mmm-physical-tablet .tbac-mmm-shell,
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet .tbac-mmm-commerce-content,
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet .woocommerce{
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
}

/* All major custom Mall frames get balanced four-sided breathing room. */
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet .tbac-mmm-hero__content,
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet .tbac-mmm-departments-wrap,
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet .tbac-mmm-promo,
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet .tbac-mmm-gift,
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet .tbac-mmm-help,
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet .tbac-mmm-department-hero__content,
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet .tbac-mmm-product-masthead,
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet .tbac-mmm-commerce-hero,
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet .tbac-mmm-commerce-footerbar{
    padding-top: var(--tbac-mmm-tab-pad-y) !important;
    padding-bottom: var(--tbac-mmm-tab-pad-y) !important;
    padding-left: var(--tbac-mmm-tab-pad-x) !important;
    padding-right: var(--tbac-mmm-tab-pad-x) !important;
    box-sizing: border-box !important;
}

/* The outer canvas already supplies the page gutter. Remove competing
   orientation-specific side margins left by older passes. */
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet .tbac-mmm-hero,
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet .tbac-mmm-departments-wrap,
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet .tbac-mmm-promo,
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet .tbac-mmm-gift,
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet .tbac-mmm-help,
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet .tbac-mmm-department-hero,
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet .tbac-mmm-product-masthead,
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet .tbac-mmm-commerce-hero,
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet .tbac-mmm-commerce-footerbar{
    width: auto !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    box-sizing: border-box !important;
}

/* --- Main Shop / category archives -------------------------------------- */
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet .tbac-mmm-departments-title{
    margin-top: 0 !important;
    margin-bottom: 14px !important;
}

body.tbac-mega-moo-mall.tbac-mmm-physical-tablet .tbac-mmm-departments{
    gap: 10px !important;
}

body.tbac-mega-moo-mall.tbac-mmm-physical-tablet .tbac-mmm-departments a{
    min-width: 0 !important;
    min-height: 48px !important;
    padding: 13px 15px !important;
    box-sizing: border-box !important;
}

body.tbac-mega-moo-mall.tbac-mmm-physical-tablet .tbac-mmm-catalog-toolbar{
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding: 14px 16px !important;
    gap: 12px !important;
    flex-wrap: wrap !important;
    box-sizing: border-box !important;
}

body.tbac-mega-moo-mall.tbac-mmm-physical-tablet .tbac-mmm-catalog-toolbar__right{
    flex-wrap: wrap !important;
    min-width: 0 !important;
}

body.tbac-mega-moo-mall.tbac-mmm-physical-tablet ul.products,
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet .tbac-mmm-featured__products ul.products{
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: var(--tbac-mmm-tab-gap) !important;
}

body.tbac-mega-moo-mall.tbac-mmm-physical-tablet ul.products li.product{
    min-width: 0 !important;
    padding: 16px 16px 18px !important;
    box-sizing: border-box !important;
}

body.tbac-mega-moo-mall.tbac-mmm-physical-tablet ul.products li.product .product-details,
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet ul.products li.product .entry-content-wrap,
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet ul.products li.product .product-action-wrap{
    min-width: 0 !important;
    padding-left: 9px !important;
    padding-right: 9px !important;
    box-sizing: border-box !important;
}

/* --- Product detail ----------------------------------------------------- */
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet.tbac-mmm-surface-product div.product.type-product,
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet.single-product div.product.type-product{
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-top: var(--tbac-mmm-tab-pad-y) !important;
    padding-bottom: var(--tbac-mmm-tab-pad-y) !important;
    padding-left: var(--tbac-mmm-tab-pad-x) !important;
    padding-right: var(--tbac-mmm-tab-pad-x) !important;
    box-sizing: border-box !important;
}

body.tbac-mega-moo-mall.tbac-mmm-physical-tablet.tbac-mmm-surface-product div.product .woocommerce-product-gallery,
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet.tbac-mmm-surface-product div.product .summary,
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet.single-product div.product .woocommerce-product-gallery,
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet.single-product div.product .summary{
    min-width: 0 !important;
    padding-top: var(--tbac-mmm-tab-compact-y) !important;
    padding-bottom: var(--tbac-mmm-tab-compact-y) !important;
    padding-left: var(--tbac-mmm-tab-compact-x) !important;
    padding-right: var(--tbac-mmm-tab-compact-x) !important;
    box-sizing: border-box !important;
}

body.tbac-mega-moo-mall.tbac-mmm-physical-tablet.tbac-mmm-orientation-portrait.tbac-mmm-surface-product div.product .woocommerce-product-gallery,
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet.tbac-mmm-orientation-portrait.tbac-mmm-surface-product div.product .summary,
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet.tbac-mmm-orientation-portrait.single-product div.product .woocommerce-product-gallery,
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet.tbac-mmm-orientation-portrait.single-product div.product .summary{
    float: none !important;
    width: 100% !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

body.tbac-mega-moo-mall.tbac-mmm-physical-tablet.tbac-mmm-orientation-portrait.tbac-mmm-surface-product div.product .summary,
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet.tbac-mmm-orientation-portrait.single-product div.product .summary{
    margin-top: 18px !important;
}

/* Product tabs are intentionally targeted both with and without the plugin
   surface class so iPad landscape cannot fall through to theme defaults. */
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet .woocommerce-tabs,
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet .wc-tabs-wrapper{
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-top: var(--tbac-mmm-tab-compact-y) !important;
    padding-bottom: var(--tbac-mmm-tab-compact-y) !important;
    padding-left: var(--tbac-mmm-tab-compact-x) !important;
    padding-right: var(--tbac-mmm-tab-compact-x) !important;
    box-sizing: border-box !important;
}

body.tbac-mega-moo-mall.tbac-mmm-physical-tablet .woocommerce-tabs ul.tabs,
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet .wc-tabs{
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
    margin-bottom: 18px !important;
    padding: 0 !important;
    box-sizing: border-box !important;
}

body.tbac-mega-moo-mall.tbac-mmm-physical-tablet .woocommerce-Tabs-panel,
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet .wc-tab,
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet #tab-description,
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet #tab-additional_information,
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet #tab-reviews,
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet [role="tabpanel"][id^="tab-"]{
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-top: var(--tbac-mmm-tab-compact-y) !important;
    padding-bottom: var(--tbac-mmm-tab-compact-y) !important;
    padding-left: var(--tbac-mmm-tab-compact-x) !important;
    padding-right: var(--tbac-mmm-tab-compact-x) !important;
    box-sizing: border-box !important;
}

body.tbac-mega-moo-mall.tbac-mmm-physical-tablet .woocommerce-tabs table.shop_attributes th,
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet .woocommerce-tabs table.shop_attributes td,
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet #reviews #comments,
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet #reviews #review_form_wrapper{
    padding: 12px 14px !important;
    box-sizing: border-box !important;
}

body.tbac-mega-moo-mall.tbac-mmm-physical-tablet .related.products,
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet .upsells.products{
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    box-sizing: border-box !important;
}

body.tbac-mega-moo-mall.tbac-mmm-physical-tablet .related.products > h2,
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet .upsells.products > h2{
    margin-bottom: 16px !important;
    padding: 10px 14px !important;
    box-sizing: border-box !important;
}

/* Product/cart notices: keep the action on its own line so View Cart never
   collides with the message copy in either orientation. */
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet .woocommerce-message,
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet .woocommerce-info,
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet .woocommerce-error{
    padding: 18px 20px !important;
    line-height: 1.5 !important;
    box-sizing: border-box !important;
}

body.tbac-mega-moo-mall.tbac-mmm-physical-tablet .woocommerce-message a.button,
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet .woocommerce-message a.wc-forward,
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet .woocommerce-info a.button,
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet .woocommerce-info a.wc-forward,
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet .woocommerce-error a.button,
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet .woocommerce-error a.wc-forward{
    float: none !important;
    clear: both !important;
    display: inline-flex !important;
    margin: 0 12px 12px 0 !important;
    vertical-align: middle !important;
}

body.tbac-mega-moo-mall.tbac-mmm-physical-tablet.tbac-mmm-surface-product a.added_to_cart.wc-forward{
    float: none !important;
    clear: both !important;
    display: inline-flex !important;
    margin: 12px 0 6px !important;
}

/* --- Cart, classic and Blocks ------------------------------------------ */












/* Never let a theme/tablet rule hide populated cart content. */






/* --- Checkout / order pay --------------------------------------------- */
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet.tbac-mmm-surface-checkout .wc-block-components-sidebar-layout{
    display: grid !important;
    grid-template-columns: minmax(0, 1.45fr) minmax(300px, .85fr) !important;
    column-gap: var(--tbac-mmm-tab-gap) !important;
    row-gap: var(--tbac-mmm-tab-gap) !important;
    align-items: start !important;
}

body.tbac-mega-moo-mall.tbac-mmm-physical-tablet.tbac-mmm-orientation-portrait.tbac-mmm-surface-checkout .wc-block-components-sidebar-layout{
    grid-template-columns: minmax(0, 1fr) !important;
}

body.tbac-mega-moo-mall.tbac-mmm-physical-tablet.tbac-mmm-surface-checkout .wc-block-checkout__main,
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet.tbac-mmm-surface-checkout .wc-block-checkout__sidebar,
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet.tbac-mmm-surface-checkout form.checkout .col2-set,
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet.tbac-mmm-surface-checkout form.checkout #order_review,
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet.tbac-mmm-surface-checkout form.checkout_coupon,
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet.tbac-mmm-surface-order-pay .woocommerce-order-pay{
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-top: var(--tbac-mmm-tab-pad-y) !important;
    padding-bottom: var(--tbac-mmm-tab-pad-y) !important;
    padding-left: var(--tbac-mmm-tab-pad-x) !important;
    padding-right: var(--tbac-mmm-tab-pad-x) !important;
    box-sizing: border-box !important;
}

body.tbac-mega-moo-mall.tbac-mmm-physical-tablet.tbac-mmm-surface-checkout .wc-block-components-checkout-step,
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet.tbac-mmm-surface-checkout .wc-block-components-checkout-step__container,
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet.tbac-mmm-surface-checkout .wc-block-components-order-summary,
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet.tbac-mmm-surface-checkout .wc-block-components-totals-wrapper,
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet.tbac-mmm-surface-checkout .wc-block-components-address-card,
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet.tbac-mmm-surface-checkout .wc-block-components-radio-control-accordion-content,
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet.tbac-mmm-surface-checkout .woocommerce-checkout-payment,
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet.tbac-mmm-surface-checkout .woocommerce-terms-and-conditions-wrapper{
    padding-top: var(--tbac-mmm-tab-compact-y) !important;
    padding-bottom: var(--tbac-mmm-tab-compact-y) !important;
    padding-left: var(--tbac-mmm-tab-compact-x) !important;
    padding-right: var(--tbac-mmm-tab-compact-x) !important;
    box-sizing: border-box !important;
}

/* --- Order confirmation / Thank You ----------------------------------- */
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet.tbac-mmm-surface-order-received .woocommerce-order,
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet.tbac-mmm-surface-order-received .tbac-mmm-thankyou-order-details,
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet.tbac-mmm-surface-order-received .tbac-mmm-thankyou-shell,
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet.tbac-mmm-surface-order-received .tbac-mmm-thankyou-card,
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet.tbac-mmm-surface-order-received .tbac-mmm-thankyou-prelaunch,
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet.tbac-mmm-surface-order-received .wc-block-order-confirmation-status,
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet.tbac-mmm-surface-order-received .wc-block-order-confirmation-summary,
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet.tbac-mmm-surface-order-received .wc-block-order-confirmation-totals-wrapper,
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet.tbac-mmm-surface-order-received .wc-block-order-confirmation-shipping-wrapper,
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet.tbac-mmm-surface-order-received .wc-block-order-confirmation-billing-wrapper{
    padding-top: var(--tbac-mmm-tab-compact-y) !important;
    padding-bottom: var(--tbac-mmm-tab-compact-y) !important;
    padding-left: var(--tbac-mmm-tab-compact-x) !important;
    padding-right: var(--tbac-mmm-tab-compact-x) !important;
    box-sizing: border-box !important;
}

body.tbac-mega-moo-mall.tbac-mmm-physical-tablet.tbac-mmm-surface-order-received ul.order_details{
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px !important;
}

/* --- Woo shopping account --------------------------------------------- */
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet.tbac-mmm-surface-account .woocommerce-MyAccount-navigation,
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet.tbac-mmm-surface-account .woocommerce-MyAccount-content,
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet.tbac-mmm-surface-account .woocommerce-form-login,
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet.tbac-mmm-surface-account .woocommerce-form-register{
    padding-top: var(--tbac-mmm-tab-compact-y) !important;
    padding-bottom: var(--tbac-mmm-tab-compact-y) !important;
    padding-left: var(--tbac-mmm-tab-compact-x) !important;
    padding-right: var(--tbac-mmm-tab-compact-x) !important;
    box-sizing: border-box !important;
}

/* Slightly tighter phone-only rules remain outside this physical-tablet layer. */

/* ========================================================================== 
   v0.3.9 TABLET CART / CHECKOUT STABILITY
   Do NOT force WooCommerce Blocks' inner cart rows, visibility, or React layout.
   Woo owns the content. TBAC owns only the outer premium shell and spacing.
   ========================================================================== */

/* Restore a normal flex-based Woo sidebar flow after the older tablet grid
   experiments. This keeps the actual Cart Block mounted and visible. */
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet.tbac-mmm-surface-checkout .wc-block-components-sidebar-layout{
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: flex-start !important;
    grid-template-columns: none !important;
    column-gap: 0 !important;
    row-gap: var(--tbac-mmm-tab-gap) !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
}

/* Landscape: two balanced columns, without touching content rows. */
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet.tbac-mmm-orientation-landscape.tbac-mmm-surface-checkout .wc-block-components-sidebar-layout > .wc-block-components-main,
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet.tbac-mmm-orientation-landscape.tbac-mmm-surface-checkout .wc-block-checkout__main{
    flex: 1 1 calc(64% - 12px) !important;
    width: calc(64% - 12px) !important;
    max-width: calc(64% - 12px) !important;
    min-width: 0 !important;
    margin: 0 22px 0 0 !important;
}

body.tbac-mega-moo-mall.tbac-mmm-physical-tablet.tbac-mmm-orientation-landscape.tbac-mmm-surface-checkout .wc-block-components-sidebar-layout > .wc-block-components-sidebar,
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet.tbac-mmm-orientation-landscape.tbac-mmm-surface-checkout .wc-block-checkout__sidebar{
    flex: 1 1 calc(36% - 10px) !important;
    width: calc(36% - 10px) !important;
    max-width: calc(36% - 10px) !important;
    min-width: 260px !important;
    margin: 0 !important;
}

/* Portrait: stack the two Woo panels naturally. */
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet.tbac-mmm-orientation-portrait.tbac-mmm-surface-checkout .wc-block-components-sidebar-layout > .wc-block-components-main,
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet.tbac-mmm-orientation-portrait.tbac-mmm-surface-checkout .wc-block-components-sidebar-layout > .wc-block-components-sidebar,
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet.tbac-mmm-orientation-portrait.tbac-mmm-surface-checkout .wc-block-checkout__main,
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet.tbac-mmm-orientation-portrait.tbac-mmm-surface-checkout .wc-block-checkout__sidebar{
    flex: 1 1 100% !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
}

/* Premium four-sided shell padding only. Never alter display/visibility of
   .wc-block-cart-items or its rows. */
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet.tbac-mmm-surface-checkout .wc-block-checkout__main,
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet.tbac-mmm-surface-checkout .wc-block-checkout__sidebar{
    padding-top: var(--tbac-mmm-tab-pad-y) !important;
    padding-bottom: var(--tbac-mmm-tab-pad-y) !important;
    padding-left: var(--tbac-mmm-tab-pad-x) !important;
    padding-right: var(--tbac-mmm-tab-pad-x) !important;
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
    box-sizing: border-box !important;
}

/* Keep the Cart table/container itself in normal document flow. */


/* Cart rows need breathing room, but their native table/block display remains
   untouched so WooCommerce can choose the correct portrait/landscape markup. */



/* ========================================================================== 
   v0.4.0 CART SAFE MODE
   WooCommerce owns the Cart Block internals completely. TBAC styles only the
   outer Mall content frame and the top-level block boundary. No descendant
   Cart Block layout/display/visibility/width rules are applied here.
   ========================================================================== */
body.tbac-mega-moo-mall.tbac-mmm-surface-cart .tbac-mmm-commerce-content {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding: clamp(22px, 3vw, 34px) !important;
    border: 1px solid var(--mmm-soft-border);
    border-radius: 24px;
    background: rgba(255,255,255,.88);
    -webkit-backdrop-filter: blur(3px);
    backdrop-filter: blur(3px);
    box-shadow: var(--mmm-card-shadow);
    box-sizing: border-box !important;
}
body.tbac-mega-moo-mall.tbac-mmm-surface-cart .tbac-mmm-commerce-content > * {
    min-width: 0 !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
}
body.tbac-mega-moo-mall.tbac-mmm-surface-cart .tbac-mmm-commerce-content > .wp-block-woocommerce-cart,
body.tbac-mega-moo-mall.tbac-mmm-surface-cart .tbac-mmm-commerce-content > .woocommerce {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    box-sizing: border-box !important;
}
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet.tbac-mmm-surface-cart .tbac-mmm-commerce-content {
    padding: 24px 26px !important;
}
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet.tbac-mmm-orientation-landscape.tbac-mmm-surface-cart .tbac-mmm-commerce-content {
    padding: 28px 34px !important;
}

/* ========================================================================== 
   v0.4.1 STABLE SERVER-RENDERED CART
   WooCommerce's officially supported classic cart shortcode is rendered on
   the Cart page so iPad does not depend on Cart Block hydration. These rules
   style only the stable classic cart markup produced by WooCommerce.
   ========================================================================== */
body.tbac-mega-moo-mall.tbac-mmm-surface-cart .tbac-mmm-cart-stable{
    padding: clamp(20px, 2.7vw, 32px) !important;
    background: rgba(255,255,255,.82) !important;
    -webkit-backdrop-filter: blur(3px);
    backdrop-filter: blur(3px);
}

body.tbac-mega-moo-mall.tbac-mmm-surface-cart .tbac-mmm-cart-stable-grid{
    display: grid;
    grid-template-columns: minmax(0, 1.55fr) minmax(290px, .8fr);
    gap: clamp(18px, 2.4vw, 28px);
    align-items: start;
    width: 100%;
    min-width: 0;
    box-sizing: border-box;
}

body.tbac-mega-moo-mall.tbac-mmm-surface-cart .tbac-mmm-cart-stable-grid > .woocommerce-notices-wrapper,
body.tbac-mega-moo-mall.tbac-mmm-surface-cart .tbac-mmm-cart-stable-grid > .woocommerce-message,
body.tbac-mega-moo-mall.tbac-mmm-surface-cart .tbac-mmm-cart-stable-grid > .woocommerce-error,
body.tbac-mega-moo-mall.tbac-mmm-surface-cart .tbac-mmm-cart-stable-grid > .woocommerce-info,
body.tbac-mega-moo-mall.tbac-mmm-surface-cart .tbac-mmm-cart-stable-grid > .cart-empty,
body.tbac-mega-moo-mall.tbac-mmm-surface-cart .tbac-mmm-cart-stable-grid > .return-to-shop{
    grid-column: 1 / -1;
}

body.tbac-mega-moo-mall.tbac-mmm-surface-cart .tbac-mmm-cart-stable .woocommerce-cart-form,
body.tbac-mega-moo-mall.tbac-mmm-surface-cart .tbac-mmm-cart-stable .cart-collaterals{
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    margin: 0 !important;
    box-sizing: border-box !important;
}

body.tbac-mega-moo-mall.tbac-mmm-surface-cart .tbac-mmm-cart-stable .woocommerce-cart-form{
    padding: clamp(18px, 2.2vw, 26px) !important;
    border: 1px solid var(--mmm-soft-border);
    border-radius: 22px;
    background: rgba(255,255,255,.78);
    box-shadow: var(--mmm-card-shadow);
}

body.tbac-mega-moo-mall.tbac-mmm-surface-cart .tbac-mmm-cart-stable .cart-collaterals .cart_totals{
    float: none !important;
    width: 100% !important;
    max-width: none !important;
    padding: clamp(18px, 2.2vw, 26px) !important;
    border: 1px solid var(--mmm-soft-border);
    border-radius: 22px;
    background: rgba(255,255,255,.82);
    box-shadow: var(--mmm-card-shadow);
    box-sizing: border-box !important;
}

body.tbac-mega-moo-mall.tbac-mmm-surface-cart .tbac-mmm-cart-stable table.shop_table{
    width: 100% !important;
    margin: 0 !important;
    border: 0 !important;
    border-collapse: collapse !important;
    background: transparent !important;
    table-layout: auto !important;
}

body.tbac-mega-moo-mall.tbac-mmm-surface-cart .tbac-mmm-cart-stable table.shop_table th,
body.tbac-mega-moo-mall.tbac-mmm-surface-cart .tbac-mmm-cart-stable table.shop_table td{
    padding: 14px 10px !important;
    border: 0 !important;
    border-bottom: 1px solid rgba(24,54,38,.12) !important;
    color: var(--mmm-ink) !important;
    vertical-align: middle !important;
    box-sizing: border-box !important;
}

body.tbac-mega-moo-mall.tbac-mmm-surface-cart .tbac-mmm-cart-stable table.shop_table thead th{
    padding-top: 4px !important;
    color: var(--mmm-deep) !important;
    font-size: .78rem;
    font-weight: 900 !important;
    letter-spacing: .045em;
    text-transform: uppercase;
}

body.tbac-mega-moo-mall.tbac-mmm-surface-cart .tbac-mmm-cart-stable .product-thumbnail img{
    width: 76px !important;
    max-width: 76px !important;
    height: auto !important;
    border-radius: 12px;
}

body.tbac-mega-moo-mall.tbac-mmm-surface-cart .tbac-mmm-cart-stable .product-name a{
    color: var(--mmm-deep) !important;
    font-weight: 850 !important;
    text-decoration: none !important;
}

body.tbac-mega-moo-mall.tbac-mmm-surface-cart .tbac-mmm-cart-stable .product-price,
body.tbac-mega-moo-mall.tbac-mmm-surface-cart .tbac-mmm-cart-stable .product-subtotal,
body.tbac-mega-moo-mall.tbac-mmm-surface-cart .tbac-mmm-cart-stable .cart_totals .amount{
    color: var(--mmm-deep) !important;
    font-weight: 850 !important;
}

body.tbac-mega-moo-mall.tbac-mmm-surface-cart .tbac-mmm-cart-stable .quantity{
    display: inline-flex !important;
    align-items: center;
}

body.tbac-mega-moo-mall.tbac-mmm-surface-cart .tbac-mmm-cart-stable .qty{
    min-width: 64px !important;
    min-height: 42px !important;
    padding: 8px 10px !important;
    border: 1px solid rgba(24,54,38,.20) !important;
    border-radius: 12px !important;
    background: rgba(255,255,255,.88) !important;
    color: var(--mmm-ink) !important;
}

body.tbac-mega-moo-mall.tbac-mmm-surface-cart .tbac-mmm-cart-stable .actions{
    padding-top: 18px !important;
    padding-bottom: 4px !important;
}

body.tbac-mega-moo-mall.tbac-mmm-surface-cart .tbac-mmm-cart-stable .coupon{
    display: flex !important;
    flex-wrap: wrap;
    gap: 10px;
    align-items: center;
}

body.tbac-mega-moo-mall.tbac-mmm-surface-cart .tbac-mmm-cart-stable .coupon input.input-text{
    flex: 1 1 170px;
    min-height: 44px;
    padding: 10px 12px !important;
    border: 1px solid rgba(24,54,38,.18) !important;
    border-radius: 12px !important;
    background: rgba(255,255,255,.88) !important;
}

body.tbac-mega-moo-mall.tbac-mmm-surface-cart .tbac-mmm-cart-stable button.button,
body.tbac-mega-moo-mall.tbac-mmm-surface-cart .tbac-mmm-cart-stable a.button,
body.tbac-mega-moo-mall.tbac-mmm-surface-cart .tbac-mmm-cart-stable .checkout-button{
    min-height: 44px !important;
    padding: 10px 18px !important;
    border: 1px solid #174d34 !important;
    border-radius: 999px !important;
    background: #174d34 !important;
    color: #fff !important;
    font-weight: 850 !important;
    text-decoration: none !important;
    box-shadow: none !important;
}

body.tbac-mega-moo-mall.tbac-mmm-surface-cart .tbac-mmm-cart-stable button.button:hover,
body.tbac-mega-moo-mall.tbac-mmm-surface-cart .tbac-mmm-cart-stable button.button:focus-visible,
body.tbac-mega-moo-mall.tbac-mmm-surface-cart .tbac-mmm-cart-stable a.button:hover,
body.tbac-mega-moo-mall.tbac-mmm-surface-cart .tbac-mmm-cart-stable a.button:focus-visible,
body.tbac-mega-moo-mall.tbac-mmm-surface-cart .tbac-mmm-cart-stable .checkout-button:hover,
body.tbac-mega-moo-mall.tbac-mmm-surface-cart .tbac-mmm-cart-stable .checkout-button:focus-visible{
    border-color: #d9bd72 !important;
    background: #fff7df !important;
    color: #173f2d !important;
    outline: 3px solid rgba(217,189,114,.28);
    outline-offset: 2px;
}

body.tbac-mega-moo-mall.tbac-mmm-surface-cart .tbac-mmm-cart-stable .cart_totals h2{
    margin: 0 0 14px !important;
    color: var(--mmm-deep) !important;
    font-size: clamp(1.35rem, 2.4vw, 2rem);
}

body.tbac-mega-moo-mall.tbac-mmm-surface-cart .tbac-mmm-cart-stable .wc-proceed-to-checkout{
    margin: 18px 0 0 !important;
    padding: 0 !important;
}

body.tbac-mega-moo-mall.tbac-mmm-surface-cart .tbac-mmm-cart-stable .wc-proceed-to-checkout .checkout-button{
    display: flex !important;
    width: 100% !important;
    align-items: center;
    justify-content: center;
    box-sizing: border-box !important;
}

@media (max-width: 899px){
    body.tbac-mega-moo-mall.tbac-mmm-surface-cart .tbac-mmm-cart-stable-grid{
        grid-template-columns: minmax(0, 1fr);
    }
}

/* iPad portrait and landscape use the same stable server-rendered markup. */
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet.tbac-mmm-surface-cart .tbac-mmm-cart-stable{
    padding: 24px 26px !important;
}
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet.tbac-mmm-orientation-landscape.tbac-mmm-surface-cart .tbac-mmm-cart-stable{
    padding: 28px 34px !important;
}
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet.tbac-mmm-orientation-landscape.tbac-mmm-surface-cart .tbac-mmm-cart-stable-grid{
    grid-template-columns: minmax(0, 1.55fr) minmax(270px, .8fr);
    gap: 22px;
}
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet.tbac-mmm-orientation-portrait.tbac-mmm-surface-cart .tbac-mmm-cart-stable-grid{
    grid-template-columns: minmax(0, 1fr);
    gap: 18px;
}

@media (max-width: 620px){
    body.tbac-mega-moo-mall.tbac-mmm-surface-cart .tbac-mmm-cart-stable{
        padding: 16px !important;
    }
    body.tbac-mega-moo-mall.tbac-mmm-surface-cart .tbac-mmm-cart-stable .woocommerce-cart-form{
        padding: 14px !important;
    }
    body.tbac-mega-moo-mall.tbac-mmm-surface-cart .tbac-mmm-cart-stable table.shop_table thead{
        display: none;
    }
    body.tbac-mega-moo-mall.tbac-mmm-surface-cart .tbac-mmm-cart-stable table.shop_table,
    body.tbac-mega-moo-mall.tbac-mmm-surface-cart .tbac-mmm-cart-stable table.shop_table tbody,
    body.tbac-mega-moo-mall.tbac-mmm-surface-cart .tbac-mmm-cart-stable table.shop_table tr,
    body.tbac-mega-moo-mall.tbac-mmm-surface-cart .tbac-mmm-cart-stable table.shop_table td{
        display: block;
        width: 100% !important;
    }
    body.tbac-mega-moo-mall.tbac-mmm-surface-cart .tbac-mmm-cart-stable table.shop_table tr.cart_item{
        padding: 14px 0;
        border-bottom: 1px solid rgba(24,54,38,.14);
    }
    body.tbac-mega-moo-mall.tbac-mmm-surface-cart .tbac-mmm-cart-stable table.shop_table td{
        padding: 8px 0 !important;
        border-bottom: 0 !important;
    }
}

/* Tablet cart is intentionally a single-column card flow. A wide data table is
   the wrong interaction model on iPad, including landscape. */
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet.tbac-mmm-surface-cart .tbac-mmm-cart-stable-grid{
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 20px !important;
}
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet.tbac-mmm-surface-cart .tbac-mmm-cart-stable table.shop_table thead{
    display: none !important;
}
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet.tbac-mmm-surface-cart .tbac-mmm-cart-stable table.shop_table,
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet.tbac-mmm-surface-cart .tbac-mmm-cart-stable table.shop_table tbody{
    display: block !important;
    width: 100% !important;
}
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet.tbac-mmm-surface-cart .tbac-mmm-cart-stable table.shop_table tr.cart_item{
    display: grid !important;
    grid-template-columns: 38px 86px minmax(0, 1fr) !important;
    grid-template-areas:
        "remove thumb name"
        ". thumb price"
        ". thumb quantity"
        ". thumb subtotal" !important;
    column-gap: 14px !important;
    row-gap: 7px !important;
    width: 100% !important;
    margin: 0 0 16px !important;
    padding: 16px !important;
    border: 1px solid rgba(24,54,38,.11) !important;
    border-radius: 16px !important;
    background: rgba(255,255,255,.64) !important;
    box-sizing: border-box !important;
}
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet.tbac-mmm-surface-cart .tbac-mmm-cart-stable table.shop_table tr.cart_item > td{
    display: block !important;
    width: auto !important;
    min-width: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    text-align: left !important;
    box-sizing: border-box !important;
}
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet.tbac-mmm-surface-cart .tbac-mmm-cart-stable td.product-remove{grid-area:remove;align-self:start;padding-top:4px !important;}
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet.tbac-mmm-surface-cart .tbac-mmm-cart-stable td.product-thumbnail{grid-area:thumb;}
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet.tbac-mmm-surface-cart .tbac-mmm-cart-stable td.product-name{grid-area:name;padding-top:2px !important;}
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet.tbac-mmm-surface-cart .tbac-mmm-cart-stable td.product-price{grid-area:price;}
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet.tbac-mmm-surface-cart .tbac-mmm-cart-stable td.product-quantity{grid-area:quantity;}
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet.tbac-mmm-surface-cart .tbac-mmm-cart-stable td.product-subtotal{grid-area:subtotal;}
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet.tbac-mmm-surface-cart .tbac-mmm-cart-stable td.product-price::before,
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet.tbac-mmm-surface-cart .tbac-mmm-cart-stable td.product-quantity::before,
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet.tbac-mmm-surface-cart .tbac-mmm-cart-stable td.product-subtotal::before{
    display: inline-block;
    min-width: 78px;
    margin-right: 8px;
    color: rgba(24,54,38,.72);
    font-size: .74rem;
    font-weight: 850;
    letter-spacing: .035em;
    text-transform: uppercase;
}
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet.tbac-mmm-surface-cart .tbac-mmm-cart-stable td.product-price::before{content:"Price";}
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet.tbac-mmm-surface-cart .tbac-mmm-cart-stable td.product-quantity::before{content:"Quantity";vertical-align:middle;}
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet.tbac-mmm-surface-cart .tbac-mmm-cart-stable td.product-subtotal::before{content:"Subtotal";}
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet.tbac-mmm-surface-cart .tbac-mmm-cart-stable table.shop_table tr:not(.cart_item){
    display: block !important;
    width: 100% !important;
}
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet.tbac-mmm-surface-cart .tbac-mmm-cart-stable table.shop_table tr:not(.cart_item) > td.actions{
    display: block !important;
    width: 100% !important;
    padding: 8px 0 0 !important;
    border: 0 !important;
}
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet.tbac-mmm-surface-cart .tbac-mmm-cart-stable .actions > button{
    float: none !important;
    margin-top: 12px !important;
    margin-left: 0 !important;
}
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet.tbac-mmm-surface-cart .tbac-mmm-cart-stable .cart-collaterals{
    margin-top: 0 !important;
}


/* ========================================================================== 
   v0.4.2 COMPLETE TABLET VISUAL QA LOCK
   Final physical-iPad/tablet presentation layer after visual review of Shop,
   Department, Product, Cart, Checkout, Order Pay, Order Confirmation/Thank You,
   and Woo shopping account in portrait and landscape. These rules intentionally
   touch spacing/presentation only and preserve the approved v0.2.7 glass levels,
   v0.3.0 pre-launch gate, v0.3.2 scenery system, and v0.4.1 server cart.
   ========================================================================== */
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet{
    --tbac-qa-gutter: 20px;
    --tbac-qa-pad-x: 26px;
    --tbac-qa-pad-y: 24px;
    --tbac-qa-compact-x: 20px;
    --tbac-qa-compact-y: 18px;
    --tbac-qa-gap: 18px;
}
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet.tbac-mmm-orientation-landscape{
    --tbac-qa-gutter: 28px;
    --tbac-qa-pad-x: 34px;
    --tbac-qa-pad-y: 28px;
    --tbac-qa-compact-x: 26px;
    --tbac-qa-compact-y: 22px;
    --tbac-qa-gap: 22px;
}

/* Outer tablet canvas: one predictable gutter, no accidental edge collisions. */
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet .content-container.site-container,
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet .site-main > .content-container,
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet main.site-main > .content-container{
    width:100% !important;
    max-width:none !important;
    padding-left:var(--tbac-qa-gutter) !important;
    padding-right:var(--tbac-qa-gutter) !important;
    box-sizing:border-box !important;
}
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet .tbac-mmm-shell,
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet .tbac-mmm-commerce-content{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    box-sizing:border-box !important;
}

/* Premium four-sided padding for every custom Mall frame. */
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet .tbac-mmm-hero__content,
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet .tbac-mmm-departments-wrap,
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet .tbac-mmm-promo,
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet .tbac-mmm-gift,
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet .tbac-mmm-help,
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet .tbac-mmm-department-hero__content,
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet .tbac-mmm-product-masthead,
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet .tbac-mmm-commerce-hero,
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet .tbac-mmm-commerce-footerbar{
    padding:var(--tbac-qa-pad-y) var(--tbac-qa-pad-x) !important;
    box-sizing:border-box !important;
}

/* Keep all custom Mall buttons visibly centered and balanced. */
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet .tbac-mmm-button,
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet .tbac-mmm-departments a,
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet .tbac-mmm-help__links a,
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet .tbac-mmm-commerce-back,
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet .tbac-mmm-commerce-footerbar__links a,
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet .tbac-mmm-product-masthead__nav a,
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet .tbac-mmm-thankyou-action{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    line-height:1.2 !important;
    text-align:center !important;
    box-sizing:border-box !important;
}

/* Shop + Explore/Department. */
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet .tbac-mmm-departments-wrap{
    margin-top:0 !important;
}
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet .tbac-mmm-departments{
    gap:10px !important;
}
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet .tbac-mmm-departments a{
    min-height:48px !important;
    padding:12px 15px !important;
}
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet .tbac-mmm-promo,
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet .tbac-mmm-gift{
    gap:18px !important;
}
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet .tbac-mmm-help__links{
    gap:9px !important;
}
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet ul.products,
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet .tbac-mmm-featured__products ul.products{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:var(--tbac-qa-gap) !important;
}
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet ul.products li.product{
    min-width:0 !important;
    box-sizing:border-box !important;
}
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet .tbac-mmm-catalog-toolbar{
    min-height:58px !important;
    padding:13px 16px !important;
    gap:12px !important;
    align-items:center !important;
    box-sizing:border-box !important;
}

/* Product page: actual rendered content panels, not just the shell. */
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet.tbac-mmm-surface-product div.product.type-product,
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet.single-product div.product.type-product{
    padding:var(--tbac-qa-pad-y) var(--tbac-qa-pad-x) !important;
    box-sizing:border-box !important;
}
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet.tbac-mmm-surface-product div.product .woocommerce-product-gallery,
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet.tbac-mmm-surface-product div.product .summary,
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet.single-product div.product .woocommerce-product-gallery,
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet.single-product div.product .summary{
    padding:var(--tbac-qa-compact-y) var(--tbac-qa-compact-x) !important;
    box-sizing:border-box !important;
}
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet .woocommerce-tabs,
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet .wc-tabs-wrapper{
    display:block !important;
    width:100% !important;
    padding:var(--tbac-qa-compact-y) var(--tbac-qa-compact-x) !important;
    box-sizing:border-box !important;
}
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet .woocommerce-Tabs-panel,
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet .wc-tab,
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet #tab-description,
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet #tab-additional_information,
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet #tab-reviews,
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet [role="tabpanel"][id^="tab-"]{
    width:100% !important;
    min-width:0 !important;
    padding:var(--tbac-qa-compact-y) var(--tbac-qa-compact-x) !important;
    box-sizing:border-box !important;
}
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet .woocommerce-tabs ul.tabs,
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet .wc-tabs{
    display:flex !important;
    flex-wrap:wrap !important;
    gap:8px !important;
    margin:0 0 14px !important;
    padding:0 !important;
}
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet .related.products,
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet .upsells.products{
    display:block !important;
    width:100% !important;
    min-width:0 !important;
    max-width:100% !important;
}
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet .related.products > h2,
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet .upsells.products > h2{
    display:inline-block !important;
    width:auto !important;
    max-width:100% !important;
    margin:0 0 16px !important;
}
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet .related.products ul.products,
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet .upsells.products ul.products{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,280px)) !important;
    justify-content:start !important;
    gap:18px !important;
    width:100% !important;
}
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet .woocommerce-message,
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet .woocommerce-info,
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet .woocommerce-error{
    min-height:64px !important;
    padding:18px 20px !important;
    line-height:1.45 !important;
    box-sizing:border-box !important;
}
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet .woocommerce-message a.button,
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet .woocommerce-message a.wc-forward,
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet .woocommerce-info a.button,
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet .woocommerce-info a.wc-forward{
    float:none !important;
    clear:none !important;
    margin:6px 0 6px 12px !important;
    vertical-align:middle !important;
}

/* Portrait product: stack gallery/summary; related cards still remain usable. */
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet.tbac-mmm-orientation-portrait.tbac-mmm-surface-product div.product .woocommerce-product-gallery,
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet.tbac-mmm-orientation-portrait.tbac-mmm-surface-product div.product .summary{
    float:none !important;
    width:100% !important;
    max-width:none !important;
    margin-left:0 !important;
    margin-right:0 !important;
}
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet.tbac-mmm-orientation-portrait.tbac-mmm-surface-product div.product .summary{
    margin-top:18px !important;
}

/* Cart: v0.4.1 server-rendered markup stays authoritative; only spacing lock. */
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet.tbac-mmm-surface-cart .tbac-mmm-cart-stable{
    padding:var(--tbac-qa-pad-y) var(--tbac-qa-pad-x) !important;
    box-sizing:border-box !important;
}
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet.tbac-mmm-surface-cart .tbac-mmm-cart-stable-grid{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) !important;
    gap:20px !important;
}
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet.tbac-mmm-surface-cart .tbac-mmm-cart-stable .woocommerce-cart-form,
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet.tbac-mmm-surface-cart .tbac-mmm-cart-stable .cart_totals{
    padding:var(--tbac-qa-compact-y) var(--tbac-qa-compact-x) !important;
    box-sizing:border-box !important;
}
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet.tbac-mmm-surface-cart .tbac-mmm-cart-stable .coupon{
    gap:10px !important;
}
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet.tbac-mmm-surface-cart .tbac-mmm-cart-stable .actions > button{
    min-height:44px !important;
    line-height:1.2 !important;
}

/* Checkout: one intentional two-column landscape layout, one-column portrait. */
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet.tbac-mmm-surface-checkout .wc-block-components-sidebar-layout{
    display:grid !important;
    grid-template-columns:minmax(0,1.6fr) minmax(290px,.9fr) !important;
    gap:var(--tbac-qa-gap) !important;
    width:100% !important;
    max-width:100% !important;
    align-items:start !important;
    box-sizing:border-box !important;
}
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet.tbac-mmm-surface-checkout .wc-block-components-sidebar-layout > .wc-block-components-main,
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet.tbac-mmm-surface-checkout .wc-block-components-sidebar-layout > .wc-block-components-sidebar,
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet.tbac-mmm-surface-checkout .wc-block-checkout__main,
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet.tbac-mmm-surface-checkout .wc-block-checkout__sidebar{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    margin:0 !important;
    padding:var(--tbac-qa-pad-y) var(--tbac-qa-pad-x) !important;
    box-sizing:border-box !important;
}
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet.tbac-mmm-orientation-portrait.tbac-mmm-surface-checkout .wc-block-components-sidebar-layout{
    grid-template-columns:minmax(0,1fr) !important;
}
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet.tbac-mmm-surface-checkout .wc-block-components-checkout-step,
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet.tbac-mmm-surface-checkout .wc-block-components-checkout-step__container,
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet.tbac-mmm-surface-checkout .wc-block-components-order-summary,
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet.tbac-mmm-surface-checkout .wc-block-components-totals-wrapper,
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet.tbac-mmm-surface-checkout .woocommerce-terms-and-conditions-wrapper{
    padding:var(--tbac-qa-compact-y) var(--tbac-qa-compact-x) !important;
    box-sizing:border-box !important;
}
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet.tbac-mmm-surface-checkout .wc-block-components-checkout-place-order-button,
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet.tbac-mmm-surface-checkout #place_order{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    min-height:50px !important;
    line-height:1.2 !important;
}

/* Order Pay: make the transaction card use its space instead of a tiny table. */
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet.tbac-mmm-surface-order-pay .woocommerce-order-pay{
    padding:var(--tbac-qa-pad-y) var(--tbac-qa-pad-x) !important;
    box-sizing:border-box !important;
}
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet.tbac-mmm-surface-order-pay table.shop_table{
    width:100% !important;
    table-layout:auto !important;
}
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet.tbac-mmm-surface-order-pay table.shop_table th,
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet.tbac-mmm-surface-order-pay table.shop_table td{
    padding:12px 14px !important;
    text-align:left !important;
}

/* Thank You: polished disabled states and balanced action geometry. */
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet.tbac-mmm-surface-order-received .woocommerce-order,
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet.tbac-mmm-surface-order-received .tbac-mmm-thankyou-order-details,
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet.tbac-mmm-surface-order-received .tbac-mmm-thankyou-shell,
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet.tbac-mmm-surface-order-received .tbac-mmm-thankyou-card{
    box-sizing:border-box !important;
}
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet.tbac-mmm-surface-order-received .tbac-mmm-thankyou-action.is-disabled{
    gap:8px !important;
    flex-wrap:wrap !important;
}
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet.tbac-mmm-surface-order-received .tbac-mmm-thankyou-coming-soon{
    margin-left:6px !important;
    flex:0 0 auto !important;
}
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet.tbac-mmm-surface-order-received .tbac-mmm-thankyou-actions > .tbac-mmm-thankyou-action:last-child:not(.is-primary){
    grid-column:1 / -1;
    width:min(100%,420px) !important;
    justify-self:center !important;
}

/* Woo shopping account: balanced navigation/content, with portrait stacking. */
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet.tbac-mmm-surface-account .woocommerce{
    gap:var(--tbac-qa-gap) !important;
    align-items:start !important;
}
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet.tbac-mmm-surface-account .woocommerce-MyAccount-navigation,
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet.tbac-mmm-surface-account .woocommerce-MyAccount-content,
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet.tbac-mmm-surface-account .woocommerce-form-login,
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet.tbac-mmm-surface-account .woocommerce-form-register{
    padding:var(--tbac-qa-compact-y) var(--tbac-qa-compact-x) !important;
    box-sizing:border-box !important;
}
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet.tbac-mmm-orientation-portrait.tbac-mmm-surface-account .woocommerce{
    grid-template-columns:minmax(0,1fr) !important;
}

/* Portrait polish: keep long controls from feeling compressed. */
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet.tbac-mmm-orientation-portrait .tbac-mmm-commerce-footerbar{
    align-items:flex-start !important;
}
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet.tbac-mmm-orientation-portrait .tbac-mmm-commerce-footerbar__links{
    width:100% !important;
    justify-content:center !important;
}

/* v0.4.2 checkout specificity closeout: older v0.3.9 orientation rules used
   more-specific selectors. Match that specificity so grid tracks actually fill. */
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet.tbac-mmm-orientation-landscape.tbac-mmm-surface-checkout .wc-block-components-sidebar-layout > .wc-block-components-main,
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet.tbac-mmm-orientation-landscape.tbac-mmm-surface-checkout .wc-block-components-sidebar-layout > .wc-block-components-sidebar,
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet.tbac-mmm-orientation-landscape.tbac-mmm-surface-checkout .wc-block-checkout__main,
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet.tbac-mmm-orientation-landscape.tbac-mmm-surface-checkout .wc-block-checkout__sidebar{
    flex:none !important;
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    margin:0 !important;
}
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet.tbac-mmm-orientation-portrait.tbac-mmm-surface-checkout .wc-block-components-sidebar-layout > .wc-block-components-main,
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet.tbac-mmm-orientation-portrait.tbac-mmm-surface-checkout .wc-block-components-sidebar-layout > .wc-block-components-sidebar,
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet.tbac-mmm-orientation-portrait.tbac-mmm-surface-checkout .wc-block-checkout__main,
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet.tbac-mmm-orientation-portrait.tbac-mmm-surface-checkout .wc-block-checkout__sidebar{
    flex:none !important;
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    margin:0 !important;
}

/* v0.4.2 tablet visual-QA finishing details */
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet.tbac-mmm-surface-cart .woocommerce-cart-form a.remove{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:40px !important;
    height:40px !important;
    min-width:40px !important;
    min-height:40px !important;
    border-radius:999px !important;
    line-height:1 !important;
    text-decoration:none !important;
}
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet.tbac-mmm-surface-checkout .wc-block-components-checkout-place-order-button,
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet.tbac-mmm-surface-checkout #place_order{
    width:100% !important;
    max-width:100% !important;
    margin-top:18px !important;
    text-align:center !important;
}
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet.tbac-mmm-surface-product .size-guide,
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet.tbac-mmm-surface-product a[href*="size-guide"],
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet.tbac-mmm-surface-product a[href*="size_guide"]{
    display:inline-flex !important;
    align-items:center !important;
    min-height:32px !important;
}
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet.tbac-mmm-surface-cart .woocommerce-cart-form a.remove{
    border:1px solid rgba(23,77,52,.18) !important;
    background:#fff8e8 !important;
    color:#174d34 !important;
    font-size:22px !important;
    font-weight:800 !important;
}
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet.tbac-mmm-surface-cart .woocommerce-cart-form a.remove:hover,
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet.tbac-mmm-surface-cart .woocommerce-cart-form a.remove:focus-visible{
    background:#174d34 !important;
    color:#fff !important;
    outline:3px solid rgba(217,189,114,.28) !important;
    outline-offset:2px !important;
}

/* ========================================================================== 
   v0.4.3 iPad cart coupon button optical-centering fix
   Safari can render the text baseline in Woo's classic button slightly low even
   when equal vertical padding is used. Center the line box with flex and remove
   vertical padding so the label is geometrically centered inside the 44px control.
   ========================================================================== */
body.tbac-mega-moo-mall.tbac-mmm-surface-cart .tbac-mmm-cart-stable .coupon button,
body.tbac-mega-moo-mall.tbac-mmm-surface-cart .tbac-mmm-cart-stable .coupon button.button,
body.tbac-mega-moo-mall.tbac-mmm-surface-cart .tbac-mmm-cart-stable .coupon button[name="apply_coupon"],
body.tbac-mega-moo-mall.tbac-mmm-surface-cart .tbac-mmm-cart-stable .coupon button.button[name="apply_coupon"]{
    -webkit-appearance:none !important;
    appearance:none !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    box-sizing:border-box !important;
    height:44px !important;
    min-height:44px !important;
    padding:0 18px 2px !important;
    margin:0 !important;
    line-height:1 !important;
    text-align:center !important;
    vertical-align:middle !important;
    white-space:nowrap !important;
    position:relative !important;
    top:0 !important;
    transform:none !important;
}


/* ========================================================================== 
   v0.4.4 FINAL TABLET COMPONENT-LEVEL QA LOCK
   Closeout pass after full-page + control-level visual inspection at iPad
   portrait/landscape sizes. This deliberately standardizes interaction geometry
   without changing the approved card transparency, background system, launch
   gating, or the v0.4.1 server-rendered Cart.
   ========================================================================== */
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet{
    --tbac-qa-control-h: 44px;
    --tbac-qa-primary-h: 50px;
}

/* Every actionable Mall/Woo control gets a predictable centered line box.
   This prevents Safari font-baseline quirks like the coupon-button miss. */
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet :is(
    .tbac-mmm-button,
    .tbac-mmm-departments a,
    .tbac-mmm-help__links a,
    .tbac-mmm-commerce-back,
    .tbac-mmm-commerce-footerbar__links a,
    .tbac-mmm-product-masthead__nav a,
    .tbac-mmm-thankyou-action,
    .woocommerce a.button,
    .woocommerce button.button,
    .woocommerce input.button,
    .wc-block-components-button,
    .wc-block-components-checkout-place-order-button
){
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    min-height:var(--tbac-qa-control-h) !important;
    box-sizing:border-box !important;
    line-height:1.1 !important;
    text-align:center !important;
    vertical-align:middle !important;
}

/* Form controls should feel like one system and remain finger-friendly. */
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet :is(
    input[type="text"], input[type="email"], input[type="tel"], input[type="number"],
    input[type="password"], input[type="search"], select, textarea,
    .wc-block-components-text-input input,
    .wc-block-components-combobox-control input
){
    min-height:44px !important;
    box-sizing:border-box !important;
}

/* Product tabs: centered, consistent pills with enough breathing room. */
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet .woocommerce-tabs ul.tabs li a,
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet .wc-tabs li a{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    min-height:40px !important;
    padding:9px 14px !important;
    line-height:1.1 !important;
    text-align:center !important;
}

/* Notices: give action buttons their own breathing room so they never collide
   with notice copy on portrait tablets or long localized strings. */
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet .woocommerce-message,
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet .woocommerce-info,
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet .woocommerce-error{
    display:flex !important;
    align-items:center !important;
    flex-wrap:wrap !important;
    gap:10px 14px !important;
}
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet .woocommerce-message :is(a.button,a.wc-forward),
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet .woocommerce-info :is(a.button,a.wc-forward){
    margin:0 !important;
    flex:0 0 auto !important;
}

/* Cart closeout: coupon/update controls share the same 44px vertical geometry;
   coupon button keeps the Safari-specific optical correction from v0.4.3. */
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet.tbac-mmm-surface-cart .tbac-mmm-cart-stable .coupon{
    display:flex !important;
    align-items:stretch !important;
    gap:10px !important;
}
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet.tbac-mmm-surface-cart .tbac-mmm-cart-stable .coupon .input-text{
    height:44px !important;
    min-height:44px !important;
    margin:0 !important;
}
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet.tbac-mmm-surface-cart .tbac-mmm-cart-stable .actions > button.button:not([name="apply_coupon"]){
    height:44px !important;
    min-height:44px !important;
    padding-top:0 !important;
    padding-bottom:0 !important;
}

/* Primary transaction actions use the full available card width and the same
   50px touch target on Checkout and Order Pay. */
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet.tbac-mmm-surface-checkout :is(
    .wc-block-components-checkout-place-order-button,
    #place_order
),
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet.tbac-mmm-surface-order-pay :is(
    button.button.alt,
    input.button.alt,
    #place_order
){
    width:100% !important;
    max-width:100% !important;
    min-height:var(--tbac-qa-primary-h) !important;
    margin-top:18px !important;
    padding-top:0 !important;
    padding-bottom:0 !important;
    align-items:center !important;
    justify-content:center !important;
}

/* My Account navigation is a touch control, not plain inline text. */
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet.tbac-mmm-surface-account .woocommerce-MyAccount-navigation a{
    display:flex !important;
    align-items:center !important;
    min-height:44px !important;
    box-sizing:border-box !important;
    line-height:1.15 !important;
}

/* Step indicators and disabled Thank You actions stay optically centered. */
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet .tbac-mmm-commerce-steps span{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    min-height:36px !important;
    line-height:1 !important;
}
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet.tbac-mmm-surface-order-received .tbac-mmm-thankyou-action{
    min-height:52px !important;
}

/* Portrait coupon controls may wrap, but never crush the input or button. */
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet.tbac-mmm-orientation-portrait.tbac-mmm-surface-cart .tbac-mmm-cart-stable .coupon{
    flex-wrap:wrap !important;
}
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet.tbac-mmm-orientation-portrait.tbac-mmm-surface-cart .tbac-mmm-cart-stable .coupon .input-text{
    flex:1 1 300px !important;
    min-width:0 !important;
}

/* ==========================================================================\n   v0.4.7 MALL POLICY / STORE INFORMATION PAGES\n   Refunds, shipping, legal and gift-card terms can share one responsive Mall\n   background family without changing the underlying WordPress page content.\n   ========================================================================== */
body.tbac-mmm-surface-policy .content-container.site-container{
    max-width: 1180px !important;
}

body.tbac-mmm-surface-policy .tbac-mmm-policy-hero{
    max-width: 1080px;
}

body.tbac-mmm-surface-policy .tbac-mmm-policy-content{
    width: 100%;
    max-width: 1080px;
    margin: 0 auto 18px;
    padding: clamp(26px, 4vw, 44px);
    box-sizing: border-box;
    border: 1px solid rgba(24,54,38,.14);
    border-radius: 28px;
    background: rgba(255,255,255,.88);
    -webkit-backdrop-filter: blur(7px);
    backdrop-filter: blur(7px);
    box-shadow: var(--mmm-shadow);
    color: var(--mmm-ink);
}

body.tbac-mmm-surface-policy .tbac-mmm-policy-content > :first-child{
    margin-top: 0 !important;
}
body.tbac-mmm-surface-policy .tbac-mmm-policy-content > :last-child{
    margin-bottom: 0 !important;
}
body.tbac-mmm-surface-policy .tbac-mmm-policy-content h2,
body.tbac-mmm-surface-policy .tbac-mmm-policy-content h3,
body.tbac-mmm-surface-policy .tbac-mmm-policy-content h4{
    color: var(--mmm-deep);
    line-height: 1.15;
}
body.tbac-mmm-surface-policy .tbac-mmm-policy-content h2{
    margin-top: 1.6em;
    margin-bottom: .55em;
}
body.tbac-mmm-surface-policy .tbac-mmm-policy-content h3{
    margin-top: 1.35em;
    margin-bottom: .5em;
}
body.tbac-mmm-surface-policy .tbac-mmm-policy-content p,
body.tbac-mmm-surface-policy .tbac-mmm-policy-content li{
    line-height: 1.7;
}
body.tbac-mmm-surface-policy .tbac-mmm-policy-content a{
    color: #1d6544;
    font-weight: 700;
    text-decoration-thickness: 1px;
    text-underline-offset: 2px;
}
body.tbac-mmm-surface-policy .tbac-mmm-policy-content a:hover,
body.tbac-mmm-surface-policy .tbac-mmm-policy-content a:focus-visible{
    color: #173f2d;
    background: #fff7df;
    outline: 2px solid #d9bd72;
    outline-offset: 2px;
}
body.tbac-mmm-surface-policy .tbac-mmm-commerce-footerbar{
    max-width: 1080px;
}

body.tbac-mega-moo-mall.tbac-mmm-responsive-tablet.tbac-mmm-surface-policy .tbac-mmm-policy-content,
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet.tbac-mmm-surface-policy .tbac-mmm-policy-content{
    padding: 24px 26px !important;
}
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet.tbac-mmm-orientation-landscape.tbac-mmm-surface-policy .tbac-mmm-policy-content{
    padding: 28px 34px !important;
}

@media (max-width: 767px){
    body.tbac-mmm-surface-policy .tbac-mmm-policy-content{
        padding: 22px 18px;
        border-radius: 22px;
    }
    body.tbac-mmm-surface-policy .tbac-mmm-policy-hero{
        padding: 22px 18px;
    }
    body.tbac-mmm-surface-policy .tbac-mmm-policy-hero h1{
        font-size: clamp(2rem, 10vw, 3rem);
        line-height: .98;
    }
}

/* Policy title fallback for renderers that do not support clamp(). */
body.tbac-mmm-surface-policy .tbac-mmm-policy-hero h1{
    font-size: 3.4rem;
    font-size: clamp(2.45rem, 6vw, 5rem);
}
@media (max-width: 767px){
    body.tbac-mmm-surface-policy .content-container.site-container{
        padding-left: 12px !important;
        padding-right: 12px !important;
    }
    body.tbac-mmm-surface-policy .tbac-mmm-policy-hero,
    body.tbac-mmm-surface-policy .tbac-mmm-policy-content,
    body.tbac-mmm-surface-policy .tbac-mmm-commerce-footerbar{
        width: 100% !important;
        max-width: none !important;
        margin-left: auto !important;
        margin-right: auto !important;
        box-sizing: border-box !important;
    }
    body.tbac-mmm-surface-policy .tbac-mmm-policy-hero h1{
        font-size: 2.2rem;
        font-size: clamp(2rem, 10vw, 3rem);
    }
}
body.tbac-mega-moo-mall.tbac-mmm-responsive-phone.tbac-mmm-surface-policy .content-container.site-container{
    padding-left: 12px !important;
    padding-right: 12px !important;
}
body.tbac-mega-moo-mall.tbac-mmm-responsive-phone.tbac-mmm-surface-policy .tbac-mmm-policy-hero,
body.tbac-mega-moo-mall.tbac-mmm-responsive-phone.tbac-mmm-surface-policy .tbac-mmm-policy-content,
body.tbac-mega-moo-mall.tbac-mmm-responsive-phone.tbac-mmm-surface-policy .tbac-mmm-commerce-footerbar{
    width: 100% !important;
    max-width: none !important;
    margin-left: auto !important;
    margin-right: auto !important;
    box-sizing: border-box !important;
}
body.tbac-mega-moo-mall.tbac-mmm-responsive-phone.tbac-mmm-surface-policy .tbac-mmm-policy-hero,
body.tbac-mega-moo-mall.tbac-mmm-responsive-phone.tbac-mmm-surface-policy .tbac-mmm-policy-content{
    padding: 22px 18px !important;
}
body.tbac-mega-moo-mall.tbac-mmm-responsive-phone.tbac-mmm-surface-policy .tbac-mmm-policy-hero h1{
    font-size: 2.2rem !important;
    line-height: .98 !important;
}

/* ========================================================================== 
   v0.5.6 PREMIUM ENROLLMENT + CONFIRMATION UI
   Dedicated family-membership presentation. This is intentionally scoped to
   TBAC Premium checkout/order confirmation only. It does not alter ordinary
   Mega Moo Mall merchandise checkout, order history, or product pages.
   ========================================================================== */

body.tbac-mega-moo-mall.tbac-mmm-premium-flow{
    --tbac-premium-deep:#153f2d;
    --tbac-premium-green:#175b3b;
    --tbac-premium-green-2:#2f704b;
    --tbac-premium-cream:#fff8e8;
    --tbac-premium-gold:#d7a93a;
    --tbac-premium-text:#183626;
    --tbac-premium-muted:#4c6256;
    --tbac-premium-panel:rgba(255,255,255,.985);
    --tbac-premium-border:rgba(55,43,25,.16);
    --tbac-premium-shadow:0 18px 42px rgba(30,23,14,.16);
}

body.tbac-mega-moo-mall.tbac-mmm-premium-flow .tbac-mmm-page-bg-layer{
    background-position:center top !important;
    background-size:cover !important;
    background-repeat:no-repeat !important;
}

/* All Premium text-bearing surfaces are deliberately opaque enough that the
   illustrated Welcome House can never compromise readability. */
body.tbac-mega-moo-mall.tbac-mmm-premium-flow .tbac-mmm-commerce-content,
body.tbac-mega-moo-mall.tbac-mmm-premium-flow .tbac-mmm-thankyou-order-details,
body.tbac-mega-moo-mall.tbac-mmm-premium-flow .tbac-mmm-thankyou-card,
body.tbac-mega-moo-mall.tbac-mmm-premium-flow .tbac-mmm-premium-footer,
body.tbac-mega-moo-mall.tbac-mmm-premium-flow .wc-block-checkout__main,
body.tbac-mega-moo-mall.tbac-mmm-premium-flow .wc-block-checkout__sidebar,
body.tbac-mega-moo-mall.tbac-mmm-premium-flow form.checkout .col2-set,
body.tbac-mega-moo-mall.tbac-mmm-premium-flow form.checkout #order_review,
body.tbac-mega-moo-mall.tbac-mmm-premium-flow .woocommerce-order{
    color:var(--tbac-premium-text) !important;
}

body.tbac-mega-moo-mall.tbac-mmm-premium-flow .tbac-mmm-commerce-hero{
    width:min(100%,1180px);
    margin-left:auto;
    margin-right:auto;
    padding:30px;
    padding:clamp(28px,3.2vw,44px);
    border-color:rgba(255,248,232,.62);
    background:linear-gradient(105deg,rgba(83,43,22,.97) 0%,rgba(82,55,27,.96) 43%,rgba(30,91,57,.96) 100%);
    box-shadow:0 24px 58px rgba(35,24,12,.23);
}

body.tbac-mega-moo-mall.tbac-mmm-premium-flow .tbac-mmm-commerce-hero h1{
    margin:7px 0 10px;
    font-size:2.45rem;
    font-size:clamp(2.15rem,5vw,4.4rem);
    line-height:.98;
    color:#fff !important;
}

body.tbac-mega-moo-mall.tbac-mmm-premium-flow .tbac-mmm-commerce-hero__intro{
    max-width:860px;
    color:#fff !important;
    font-size:1rem;
    line-height:1.58;
}

body.tbac-mega-moo-mall.tbac-mmm-premium-flow .tbac-mmm-commerce-back{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    min-height:42px;
    padding:10px 16px !important;
    border:1px solid rgba(255,255,255,.34) !important;
    border-radius:999px !important;
    background:rgba(255,255,255,.10) !important;
    color:#fff !important;
    font-weight:800 !important;
    line-height:1.2 !important;
    text-decoration:none !important;
}

/* Accessibility lock: hostile theme hover rules must never create dark-on-dark
   text. Hover/focus always becomes light cream with dark green type. */
body.tbac-mega-moo-mall.tbac-mmm-premium-flow .tbac-mmm-commerce-back:hover,
body.tbac-mega-moo-mall.tbac-mmm-premium-flow .tbac-mmm-commerce-back:focus-visible,
body.tbac-mega-moo-mall.tbac-mmm-premium-flow .tbac-mmm-premium-footer a:hover,
body.tbac-mega-moo-mall.tbac-mmm-premium-flow .tbac-mmm-premium-footer a:focus-visible,
body.tbac-mega-moo-mall.tbac-mmm-premium-flow .tbac-mmm-premium-card-action:hover,
body.tbac-mega-moo-mall.tbac-mmm-premium-flow .tbac-mmm-premium-card-action:focus-visible,
body.tbac-mega-moo-mall.tbac-mmm-premium-flow .tbac-premium-thankyou__secondary:hover,
body.tbac-mega-moo-mall.tbac-mmm-premium-flow .tbac-premium-thankyou__secondary:focus-visible,
body.tbac-mega-moo-mall.tbac-mmm-premium-flow .tbac-mmm-thankyou-action:hover,
body.tbac-mega-moo-mall.tbac-mmm-premium-flow .tbac-mmm-thankyou-action:focus-visible{
    border-color:#d7b96d !important;
    background:#fff7df !important;
    color:#173f2d !important;
    outline:3px solid rgba(215,185,109,.28) !important;
    outline-offset:2px !important;
}

body.tbac-mega-moo-mall.tbac-mmm-premium-flow .tbac-mmm-commerce-steps{
    flex:0 0 auto;
}

body.tbac-mega-moo-mall.tbac-mmm-premium-flow .tbac-mmm-commerce-steps span{
    color:rgba(255,255,255,.84) !important;
}
body.tbac-mega-moo-mall.tbac-mmm-premium-flow .tbac-mmm-commerce-steps span.is-reached{
    background:#fff7df !important;
    color:#173f2d !important;
}

body.tbac-mega-moo-mall.tbac-mmm-premium-flow .tbac-mmm-premium-hero-meta{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:10px;
    margin-top:22px;
}

body.tbac-mega-moo-mall.tbac-mmm-premium-flow .tbac-mmm-premium-hero-meta > span{
    display:flex;
    align-items:flex-start;
    min-width:0;
    min-height:54px;
    padding:12px 14px;
    border:1px solid rgba(255,255,255,.17);
    border-radius:12px;
    background:rgba(255,255,255,.09);
    color:#fff !important;
    font-size:.88rem;
    font-weight:700;
    line-height:1.35;
}
body.tbac-mega-moo-mall.tbac-mmm-premium-flow .tbac-mmm-premium-hero-meta > span b{
    flex:0 0 auto;
    margin-right:9px;
    color:#ffd76b !important;
    line-height:1.35;
}
body.tbac-mega-moo-mall.tbac-mmm-premium-flow .tbac-mmm-premium-hero-meta > span strong{
    color:#fff !important;
}

/* ---------- Premium checkout ---------- */
body.tbac-mega-moo-mall.tbac-mmm-premium-checkout .tbac-mmm-commerce-content{
    width:min(100%,1180px);
    margin-left:auto;
    margin-right:auto;
    padding:0 !important;
    border:0 !important;
    background:transparent !important;
    box-shadow:none !important;
}

body.tbac-mega-moo-mall.tbac-mmm-premium-checkout .wc-block-components-sidebar-layout{
    display:grid !important;
    grid-template-columns:minmax(0,1.55fr) minmax(300px,.85fr) !important;
    gap:18px !important;
    align-items:start !important;
    width:100% !important;
}

body.tbac-mega-moo-mall.tbac-mmm-premium-checkout .wc-block-checkout__main,
body.tbac-mega-moo-mall.tbac-mmm-premium-checkout .wc-block-checkout__sidebar,
body.tbac-mega-moo-mall.tbac-mmm-premium-checkout form.checkout .col2-set,
body.tbac-mega-moo-mall.tbac-mmm-premium-checkout form.checkout #order_review,
body.tbac-mega-moo-mall.tbac-mmm-premium-checkout .woocommerce-form-coupon-toggle,
body.tbac-mega-moo-mall.tbac-mmm-premium-checkout form.checkout_coupon{
    min-width:0 !important;
    margin:0 !important;
    padding:28px 30px !important;
    border:1px solid var(--tbac-premium-border) !important;
    border-radius:20px !important;
    background:var(--tbac-premium-panel) !important;
    box-shadow:var(--tbac-premium-shadow) !important;
    backdrop-filter:none !important;
    -webkit-backdrop-filter:none !important;
}

body.tbac-mega-moo-mall.tbac-mmm-premium-checkout .wc-block-components-checkout-step,
body.tbac-mega-moo-mall.tbac-mmm-premium-checkout .wc-block-components-checkout-step__container{
    box-sizing:border-box !important;
    padding:0 0 22px !important;
    margin:0 0 22px !important;
}
body.tbac-mega-moo-mall.tbac-mmm-premium-checkout .wc-block-components-checkout-step:last-child,
body.tbac-mega-moo-mall.tbac-mmm-premium-checkout .wc-block-components-checkout-step__container:last-child{
    margin-bottom:0 !important;
}

body.tbac-mega-moo-mall.tbac-mmm-premium-checkout .wc-block-components-title,
body.tbac-mega-moo-mall.tbac-mmm-premium-checkout .wc-block-components-checkout-step__heading,
body.tbac-mega-moo-mall.tbac-mmm-premium-checkout h2,
body.tbac-mega-moo-mall.tbac-mmm-premium-checkout h3{
    color:#173f2d !important;
}

body.tbac-mega-moo-mall.tbac-mmm-premium-checkout input,
body.tbac-mega-moo-mall.tbac-mmm-premium-checkout select,
body.tbac-mega-moo-mall.tbac-mmm-premium-checkout textarea,
body.tbac-mega-moo-mall.tbac-mmm-premium-checkout .wc-block-components-text-input input,
body.tbac-mega-moo-mall.tbac-mmm-premium-checkout .wc-block-components-combobox .wc-block-components-combobox-control input{
    min-height:46px !important;
    color:#183626 !important;
    background:#fff !important;
    border-color:#b9b2a5 !important;
}

body.tbac-mega-moo-mall.tbac-mmm-premium-checkout label,
body.tbac-mega-moo-mall.tbac-mmm-premium-checkout .wc-block-components-formatted-money-amount,
body.tbac-mega-moo-mall.tbac-mmm-premium-checkout .wc-block-components-product-name,
body.tbac-mega-moo-mall.tbac-mmm-premium-checkout .wc-block-components-order-summary-item__description,
body.tbac-mega-moo-mall.tbac-mmm-premium-checkout .wc-block-components-totals-item__label,
body.tbac-mega-moo-mall.tbac-mmm-premium-checkout .wc-block-components-totals-item__value{
    color:#183626 !important;
}

body.tbac-mega-moo-mall.tbac-mmm-premium-checkout .wc-block-components-order-summary,
body.tbac-mega-moo-mall.tbac-mmm-premium-checkout .wc-block-components-totals-wrapper,
body.tbac-mega-moo-mall.tbac-mmm-premium-checkout .wc-block-components-radio-control-accordion-content,
body.tbac-mega-moo-mall.tbac-mmm-premium-checkout .woocommerce-checkout-payment,
body.tbac-mega-moo-mall.tbac-mmm-premium-checkout .woocommerce-terms-and-conditions-wrapper{
    box-sizing:border-box !important;
    padding:16px 18px !important;
    border-radius:14px !important;
}

body.tbac-mega-moo-mall.tbac-mmm-premium-checkout .wc-block-components-radio-control-accordion-content,
body.tbac-mega-moo-mall.tbac-mmm-premium-checkout .woocommerce-checkout-payment{
    background:#fff !important;
    border:1px solid #d2cabd !important;
}

body.tbac-mega-moo-mall.tbac-mmm-premium-checkout .woocommerce-terms-and-conditions-wrapper,
body.tbac-mega-moo-mall.tbac-mmm-premium-checkout .wc-block-checkout__terms{
    color:#294838 !important;
    background:#fff9e9 !important;
}

body.tbac-mega-moo-mall.tbac-mmm-premium-checkout .wc-block-components-checkout-place-order-button,
body.tbac-mega-moo-mall.tbac-mmm-premium-checkout #place_order{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:100% !important;
    min-height:54px !important;
    margin-top:18px !important;
    padding:13px 22px !important;
    border:1px solid #175b3b !important;
    border-radius:999px !important;
    background:#175b3b !important;
    color:#fff !important;
    font-weight:850 !important;
    line-height:1.2 !important;
    text-align:center !important;
}
body.tbac-mega-moo-mall.tbac-mmm-premium-checkout .wc-block-components-checkout-place-order-button:hover,
body.tbac-mega-moo-mall.tbac-mmm-premium-checkout .wc-block-components-checkout-place-order-button:focus-visible,
body.tbac-mega-moo-mall.tbac-mmm-premium-checkout #place_order:hover,
body.tbac-mega-moo-mall.tbac-mmm-premium-checkout #place_order:focus-visible{
    border-color:#d7b96d !important;
    background:#fff7df !important;
    color:#173f2d !important;
    outline:3px solid rgba(215,185,109,.28) !important;
    outline-offset:2px !important;
}

/* ---------- Premium confirmation ---------- */
body.tbac-mega-moo-mall.tbac-mmm-premium-order-received .tbac-mmm-commerce-hero,
body.tbac-mega-moo-mall.tbac-mmm-premium-order-received .tbac-mmm-thankyou-order-details,
body.tbac-mega-moo-mall.tbac-mmm-premium-order-received .tbac-mmm-thankyou-shell{
    width:min(100%,1000px);
    margin-left:auto;
    margin-right:auto;
}

body.tbac-mega-moo-mall.tbac-mmm-premium-order-received .tbac-mmm-thankyou-order-details{
    padding:0 !important;
    border:0 !important;
    background:transparent !important;
    box-shadow:none !important;
}

body.tbac-mega-moo-mall.tbac-mmm-premium-order-received .woocommerce-order,
body.tbac-mega-moo-mall.tbac-mmm-premium-order-received .wc-block-order-confirmation-status,
body.tbac-mega-moo-mall.tbac-mmm-premium-order-received .wc-block-order-confirmation-summary,
body.tbac-mega-moo-mall.tbac-mmm-premium-order-received .wc-block-order-confirmation-totals-wrapper,
body.tbac-mega-moo-mall.tbac-mmm-premium-order-received .wc-block-order-confirmation-billing-wrapper,
body.tbac-mega-moo-mall.tbac-mmm-premium-order-received .wc-block-order-confirmation-shipping-wrapper{
    color:#183626 !important;
    border-color:var(--tbac-premium-border) !important;
    background:rgba(255,255,255,.985) !important;
    box-shadow:var(--tbac-premium-shadow) !important;
    backdrop-filter:none !important;
    -webkit-backdrop-filter:none !important;
}

body.tbac-mega-moo-mall.tbac-mmm-premium-order-received .woocommerce-order{
    padding:28px 30px !important;
    border-radius:20px !important;
}

body.tbac-mega-moo-mall.tbac-mmm-premium-order-received .woocommerce-order-overview{
    display:grid !important;
    grid-template-columns:repeat(4,minmax(0,1fr)) !important;
    gap:10px !important;
    margin:0 0 20px !important;
    padding:0 !important;
    list-style:none !important;
}
body.tbac-mega-moo-mall.tbac-mmm-premium-order-received .woocommerce-order-overview li{
    float:none !important;
    width:auto !important;
    min-width:0 !important;
    margin:0 !important;
    padding:13px 14px !important;
    border:1px solid #eadfc9 !important;
    border-right:1px solid #eadfc9 !important;
    border-radius:12px !important;
    background:#fff8e9 !important;
    color:#43594c !important;
    overflow-wrap:anywhere;
}
body.tbac-mega-moo-mall.tbac-mmm-premium-order-received .woocommerce-order-overview li strong{
    display:block !important;
    margin-top:4px !important;
    color:#183626 !important;
}

body.tbac-mega-moo-mall.tbac-mmm-premium-order-received .tbac-premium-thankyou{
    box-sizing:border-box;
    margin:20px 0 24px;
    padding:22px 24px;
    border:1px solid rgba(23,91,59,.35);
    border-radius:16px;
    background:#f1fbf4;
    color:#183626;
}
body.tbac-mega-moo-mall.tbac-mmm-premium-order-received .tbac-premium-thankyou__eyebrow{
    margin-bottom:6px;
    color:#2f704b;
    font-size:.78rem;
    font-weight:900;
    letter-spacing:.08em;
}
body.tbac-mega-moo-mall.tbac-mmm-premium-order-received .tbac-premium-thankyou h2{
    margin:0 0 9px !important;
    color:#173f2d !important;
}
body.tbac-mega-moo-mall.tbac-mmm-premium-order-received .tbac-premium-thankyou p{
    color:#355144 !important;
}
body.tbac-mega-moo-mall.tbac-mmm-premium-order-received .tbac-premium-thankyou__coin-status{
    margin-top:15px;
    padding:13px 15px;
    border:1px solid #ecdcae;
    border-radius:12px;
    background:#fff8e7;
    color:#4b452f;
    line-height:1.5;
}
body.tbac-mega-moo-mall.tbac-mmm-premium-order-received .tbac-premium-thankyou__bonus-note{
    margin:12px 0 0;
    font-size:.92rem;
}
body.tbac-mega-moo-mall.tbac-mmm-premium-order-received .tbac-premium-thankyou__actions{
    display:flex;
    flex-wrap:wrap;
    margin-top:16px;
}
body.tbac-mega-moo-mall.tbac-mmm-premium-order-received .tbac-premium-thankyou__actions .button{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    min-height:46px !important;
    margin:0 10px 10px 0 !important;
    padding:11px 17px !important;
    border-radius:999px !important;
    line-height:1.2 !important;
    text-decoration:none !important;
}
body.tbac-mega-moo-mall.tbac-mmm-premium-order-received .tbac-premium-thankyou__primary{
    border:1px solid #175b3b !important;
    background:#175b3b !important;
    color:#fff !important;
}
body.tbac-mega-moo-mall.tbac-mmm-premium-order-received .tbac-premium-thankyou__primary:hover,
body.tbac-mega-moo-mall.tbac-mmm-premium-order-received .tbac-premium-thankyou__primary:focus-visible{
    border-color:#d7b96d !important;
    background:#fff7df !important;
    color:#173f2d !important;
}
body.tbac-mega-moo-mall.tbac-mmm-premium-order-received .tbac-premium-thankyou__secondary{
    border:1px solid #dec88a !important;
    background:#fff8e8 !important;
    color:#173f2d !important;
}

body.tbac-mega-moo-mall.tbac-mmm-premium-order-received .tbac-mmm-premium-thankyou-experience{
    display:grid;
    gap:18px;
    margin:0 0 18px;
}
body.tbac-mega-moo-mall.tbac-mmm-premium-order-received .tbac-mmm-premium-thankyou-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:18px;
}
body.tbac-mega-moo-mall.tbac-mmm-premium-order-received .tbac-mmm-premium-thankyou-experience .tbac-mmm-thankyou-card{
    display:grid;
    grid-template-columns:64px minmax(0,1fr);
    column-gap:16px;
    row-gap:8px;
    padding:24px 26px;
    border:1px solid var(--tbac-premium-border);
    border-radius:20px;
    background:rgba(255,255,255,.985);
    box-shadow:var(--tbac-premium-shadow);
    text-align:left;
}
body.tbac-mega-moo-mall.tbac-mmm-premium-order-received .tbac-mmm-premium-card-icon{
    display:flex;
    align-items:center;
    justify-content:center;
    width:56px;
    height:56px;
    border-radius:50%;
    background:#fff5d8;
    color:#1b6a42;
    font-size:1.5rem;
    font-weight:900;
}
body.tbac-mega-moo-mall.tbac-mmm-premium-order-received .tbac-mmm-premium-card-icon img{
    display:block;
    width:52px;
    height:52px;
    object-fit:contain;
}
body.tbac-mega-moo-mall.tbac-mmm-premium-order-received .tbac-mmm-premium-card-icon--family{
    border:1px solid #d9bc68;
}
body.tbac-mega-moo-mall.tbac-mmm-premium-order-received .tbac-mmm-premium-card-copy{
    min-width:0;
}
body.tbac-mega-moo-mall.tbac-mmm-premium-order-received .tbac-mmm-premium-card-copy h2{
    margin:4px 0 10px !important;
    color:#173f2d !important;
    font-size:1.42rem;
    line-height:1.08;
}
body.tbac-mega-moo-mall.tbac-mmm-premium-order-received .tbac-mmm-premium-card-copy p{
    color:#40584b !important;
    line-height:1.55;
}
body.tbac-mega-moo-mall.tbac-mmm-premium-order-received .tbac-mmm-premium-balance{
    padding:10px 12px;
    border-radius:10px;
    background:#fff8e8;
    color:#4e452e !important;
}
body.tbac-mega-moo-mall.tbac-mmm-premium-order-received .tbac-mmm-premium-card-action{
    display:flex;
    align-items:center;
    justify-content:center;
    width:100%;
    min-height:44px;
    margin-top:12px;
    padding:10px 15px;
    border:1px solid #175b3b;
    border-radius:999px;
    background:#175b3b;
    color:#fff !important;
    font-weight:850;
    line-height:1.2;
    text-align:center;
    text-decoration:none !important;
}

body.tbac-mega-moo-mall.tbac-mmm-premium-order-received .tbac-mmm-premium-next-card{
    display:block !important;
    text-align:center !important;
}
body.tbac-mega-moo-mall.tbac-mmm-premium-order-received .tbac-mmm-premium-next-card > p{
    max-width:760px;
    margin-left:auto;
    margin-right:auto;
}
body.tbac-mega-moo-mall.tbac-mmm-premium-order-received .tbac-mmm-premium-actions{
    max-width:760px;
    margin-left:auto;
    margin-right:auto;
}

/* Premium footer replaces Mall shipping/returns navigation on enrollment pages. */
body.tbac-mega-moo-mall.tbac-mmm-premium-flow .tbac-mmm-premium-footer{
    width:min(100%,1180px);
    margin-left:auto !important;
    margin-right:auto !important;
    padding:20px 24px !important;
    border:1px solid var(--tbac-premium-border) !important;
    border-radius:18px !important;
    background:rgba(255,255,255,.985) !important;
    box-shadow:var(--tbac-premium-shadow) !important;
    color:#183626 !important;
}
body.tbac-mega-moo-mall.tbac-mmm-premium-order-received .tbac-mmm-premium-footer{
    width:min(100%,1000px);
}
body.tbac-mega-moo-mall.tbac-mmm-premium-flow .tbac-mmm-premium-footer .tbac-mmm-kicker,
body.tbac-mega-moo-mall.tbac-mmm-premium-flow .tbac-mmm-premium-footer strong{
    color:#315341 !important;
}
body.tbac-mega-moo-mall.tbac-mmm-premium-flow .tbac-mmm-premium-footer .tbac-mmm-commerce-footerbar__links{
    display:flex;
    flex-wrap:wrap;
    justify-content:flex-end;
    margin:-4px;
}
body.tbac-mega-moo-mall.tbac-mmm-premium-flow .tbac-mmm-premium-footer .tbac-mmm-commerce-footerbar__links a{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    min-height:38px;
    margin:4px !important;
    padding:8px 12px !important;
    border:1px solid #e0d1aa !important;
    border-radius:999px !important;
    background:#fff8e8 !important;
    color:#173f2d !important;
    font-size:.84rem;
    font-weight:800;
    line-height:1.2 !important;
    text-align:center;
    text-decoration:none !important;
}

/* Tablet: portrait is deliberately single-column. Landscape gets two columns
   only when there is enough room. Static fallbacks precede any modern sizing so
   older iPad Safari still receives usable geometry. */
@media (max-width:1199px) and (min-width:768px){
    body.tbac-mega-moo-mall.tbac-mmm-premium-flow .content-container.site-container{
        padding-left:20px !important;
        padding-right:20px !important;
    }
    body.tbac-mega-moo-mall.tbac-mmm-premium-flow.tbac-mmm-orientation-landscape .content-container.site-container{
        padding-left:28px !important;
        padding-right:28px !important;
    }
    body.tbac-mega-moo-mall.tbac-mmm-premium-flow .tbac-mmm-commerce-hero{
        padding:24px 26px !important;
        border-radius:20px !important;
    }
    body.tbac-mega-moo-mall.tbac-mmm-premium-flow.tbac-mmm-orientation-landscape .tbac-mmm-commerce-hero{
        padding:26px 30px !important;
    }
    body.tbac-mega-moo-mall.tbac-mmm-premium-flow .tbac-mmm-premium-hero-meta{
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:8px;
        margin-top:18px;
    }
    body.tbac-mega-moo-mall.tbac-mmm-premium-flow .tbac-mmm-premium-hero-meta > span{
        min-height:50px;
        padding:10px 12px;
        font-size:.84rem;
    }
    body.tbac-mega-moo-mall.tbac-mmm-premium-checkout .wc-block-checkout__main,
    body.tbac-mega-moo-mall.tbac-mmm-premium-checkout .wc-block-checkout__sidebar,
    body.tbac-mega-moo-mall.tbac-mmm-premium-checkout form.checkout .col2-set,
    body.tbac-mega-moo-mall.tbac-mmm-premium-checkout form.checkout #order_review{
        padding:24px 26px !important;
    }
    body.tbac-mega-moo-mall.tbac-mmm-premium-checkout.tbac-mmm-orientation-portrait .wc-block-components-sidebar-layout{
        grid-template-columns:minmax(0,1fr) !important;
        gap:18px !important;
    }
    body.tbac-mega-moo-mall.tbac-mmm-premium-checkout.tbac-mmm-orientation-landscape .wc-block-components-sidebar-layout{
        grid-template-columns:minmax(0,1.55fr) minmax(285px,.82fr) !important;
        gap:18px !important;
    }
    body.tbac-mega-moo-mall.tbac-mmm-premium-order-received .woocommerce-order-overview{
        grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    }
    body.tbac-mega-moo-mall.tbac-mmm-premium-order-received .tbac-mmm-premium-thankyou-grid{
        grid-template-columns:1fr;
    }
    body.tbac-mega-moo-mall.tbac-mmm-premium-order-received.tbac-mmm-orientation-landscape .tbac-mmm-premium-thankyou-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
    body.tbac-mega-moo-mall.tbac-mmm-premium-order-received .tbac-mmm-premium-thankyou-experience .tbac-mmm-thankyou-card{
        padding:22px 24px;
    }
    body.tbac-mega-moo-mall.tbac-mmm-premium-flow .tbac-mmm-premium-footer{
        padding:18px 20px !important;
    }
    body.tbac-mega-moo-mall.tbac-mmm-premium-flow .tbac-mmm-premium-footer .tbac-mmm-commerce-footerbar__links{
        width:100%;
        justify-content:center;
        margin-top:10px;
    }
}

/* Explicit physical-tablet lock. This repeats the important sizing with higher
   specificity because older iPads can receive late Woo/Kadence inline reflows. */
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet.tbac-mmm-premium-flow .tbac-mmm-commerce-hero,
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet.tbac-mmm-premium-flow .tbac-mmm-premium-footer{
    box-sizing:border-box !important;
}
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet.tbac-mmm-premium-checkout .wc-block-checkout__main,
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet.tbac-mmm-premium-checkout .wc-block-checkout__sidebar{
    padding:24px 26px !important;
    background:#fff !important;
    color:#183626 !important;
}
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet.tbac-mmm-orientation-portrait.tbac-mmm-premium-checkout .wc-block-components-sidebar-layout{
    grid-template-columns:minmax(0,1fr) !important;
}

/* Phone portrait + landscape. No narrow two-column checkout and no edge-hugging
   cards. Buttons become simple full-width rounded rectangles for dependable
   older WebKit hit areas and readable labels. */
@media (max-width:767px){
    body.tbac-mega-moo-mall.tbac-mmm-premium-flow .content-container.site-container{
        padding:12px 12px 34px !important;
    }
    body.tbac-mega-moo-mall.tbac-mmm-premium-flow .tbac-mmm-commerce-hero{
        margin-top:12px !important;
        margin-bottom:12px !important;
        padding:20px 17px !important;
        border-radius:18px !important;
    }
    body.tbac-mega-moo-mall.tbac-mmm-premium-flow .tbac-mmm-commerce-hero__topline{
        align-items:flex-start;
        flex-wrap:wrap;
        margin-bottom:18px;
    }
    body.tbac-mega-moo-mall.tbac-mmm-premium-flow .tbac-mmm-commerce-back{
        min-height:40px;
        padding:9px 13px !important;
        font-size:.82rem !important;
    }
    body.tbac-mega-moo-mall.tbac-mmm-premium-flow .tbac-mmm-commerce-steps{
        margin-left:auto;
    }
    body.tbac-mega-moo-mall.tbac-mmm-premium-flow .tbac-mmm-commerce-steps span{
        min-height:30px;
        padding:5px 9px;
        font-size:.72rem;
    }
    body.tbac-mega-moo-mall.tbac-mmm-premium-flow .tbac-mmm-commerce-hero h1{
        font-size:2rem !important;
        line-height:1 !important;
    }
    body.tbac-mega-moo-mall.tbac-mmm-premium-flow .tbac-mmm-commerce-hero__intro{
        font-size:.92rem;
        line-height:1.5;
    }
    body.tbac-mega-moo-mall.tbac-mmm-premium-flow .tbac-mmm-premium-hero-meta{
        grid-template-columns:1fr !important;
        gap:7px;
        margin-top:16px;
    }
    body.tbac-mega-moo-mall.tbac-mmm-premium-flow .tbac-mmm-premium-hero-meta > span{
        min-height:0;
        padding:10px 11px;
        font-size:.82rem;
    }
    body.tbac-mega-moo-mall.tbac-mmm-premium-checkout .wc-block-components-sidebar-layout{
        grid-template-columns:minmax(0,1fr) !important;
        gap:12px !important;
    }
    body.tbac-mega-moo-mall.tbac-mmm-premium-checkout .wc-block-checkout__main,
    body.tbac-mega-moo-mall.tbac-mmm-premium-checkout .wc-block-checkout__sidebar,
    body.tbac-mega-moo-mall.tbac-mmm-premium-checkout form.checkout .col2-set,
    body.tbac-mega-moo-mall.tbac-mmm-premium-checkout form.checkout #order_review{
        padding:20px 17px !important;
        border-radius:16px !important;
    }
    body.tbac-mega-moo-mall.tbac-mmm-premium-checkout .wc-block-components-order-summary,
    body.tbac-mega-moo-mall.tbac-mmm-premium-checkout .wc-block-components-totals-wrapper,
    body.tbac-mega-moo-mall.tbac-mmm-premium-checkout .wc-block-components-radio-control-accordion-content,
    body.tbac-mega-moo-mall.tbac-mmm-premium-checkout .woocommerce-checkout-payment,
    body.tbac-mega-moo-mall.tbac-mmm-premium-checkout .woocommerce-terms-and-conditions-wrapper{
        padding:14px 13px !important;
    }
    body.tbac-mega-moo-mall.tbac-mmm-premium-order-received .woocommerce-order{
        padding:20px 17px !important;
        border-radius:16px !important;
    }
    body.tbac-mega-moo-mall.tbac-mmm-premium-order-received .woocommerce-order-overview{
        grid-template-columns:repeat(2,minmax(0,1fr)) !important;
        gap:8px !important;
    }
    body.tbac-mega-moo-mall.tbac-mmm-premium-order-received .woocommerce-order-overview li{
        padding:11px 10px !important;
        font-size:.78rem !important;
    }
    body.tbac-mega-moo-mall.tbac-mmm-premium-order-received .tbac-premium-thankyou{
        padding:18px 16px;
        border-radius:14px;
    }
    body.tbac-mega-moo-mall.tbac-mmm-premium-order-received .tbac-premium-thankyou__actions{
        display:block;
    }
    body.tbac-mega-moo-mall.tbac-mmm-premium-order-received .tbac-premium-thankyou__actions .button{
        width:100% !important;
        margin:0 0 10px !important;
        border-radius:14px !important;
    }
    body.tbac-mega-moo-mall.tbac-mmm-premium-order-received .tbac-mmm-premium-thankyou-grid{
        grid-template-columns:1fr !important;
        gap:12px;
    }
    body.tbac-mega-moo-mall.tbac-mmm-premium-order-received .tbac-mmm-premium-thankyou-experience{
        gap:12px;
    }
    body.tbac-mega-moo-mall.tbac-mmm-premium-order-received .tbac-mmm-premium-thankyou-experience .tbac-mmm-thankyou-card{
        display:block;
        padding:19px 16px;
        border-radius:16px;
    }
    body.tbac-mega-moo-mall.tbac-mmm-premium-order-received .tbac-mmm-premium-card-icon{
        width:48px;
        height:48px;
        margin:0 0 12px;
    }
    body.tbac-mega-moo-mall.tbac-mmm-premium-order-received .tbac-mmm-premium-card-icon img{
        width:46px;
        height:46px;
    }
    body.tbac-mega-moo-mall.tbac-mmm-premium-order-received .tbac-mmm-premium-card-action,
    body.tbac-mega-moo-mall.tbac-mmm-premium-order-received .tbac-mmm-thankyou-action{
        width:100% !important;
        min-height:48px !important;
        border-radius:14px !important;
    }
    body.tbac-mega-moo-mall.tbac-mmm-premium-order-received .tbac-mmm-premium-actions{
        grid-template-columns:1fr !important;
    }
    body.tbac-mega-moo-mall.tbac-mmm-premium-flow .tbac-mmm-premium-footer{
        padding:17px 15px !important;
        border-radius:16px !important;
        text-align:center;
    }
    body.tbac-mega-moo-mall.tbac-mmm-premium-flow .tbac-mmm-premium-footer .tbac-mmm-commerce-footerbar__links{
        justify-content:center;
        margin:10px -3px -3px;
    }
    body.tbac-mega-moo-mall.tbac-mmm-premium-flow .tbac-mmm-premium-footer .tbac-mmm-commerce-footerbar__links a{
        min-height:36px;
        margin:3px !important;
        padding:7px 10px !important;
        font-size:.78rem;
    }
}

/* v0.5.6 live Woo Checkout Block cascade closeout.
   The older generic Mall checkout rules above intentionally set the main/sidebar
   to 65%/35% widths for flex-based Woo layouts. Premium checkout converts the
   wrapper to CSS Grid, so those percentage widths must be neutralized on the
   grid items themselves. Without this reset, the live block can collapse the
   order summary to a narrow strip even though the grid track is wide. */
body.tbac-mega-moo-mall.tbac-mmm-premium-checkout .wc-block-components-sidebar-layout > .wc-block-components-main,
body.tbac-mega-moo-mall.tbac-mmm-premium-checkout .wc-block-components-sidebar-layout > .wc-block-components-sidebar,
body.tbac-mega-moo-mall.tbac-mmm-premium-checkout .wc-block-checkout__main,
body.tbac-mega-moo-mall.tbac-mmm-premium-checkout .wc-block-checkout__sidebar{
    flex:none !important;
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    margin-left:0 !important;
    margin-right:0 !important;
    box-sizing:border-box !important;
}
body.tbac-mega-moo-mall.tbac-mmm-premium-checkout .wc-block-components-sidebar-layout{
    box-sizing:border-box !important;
}
body.tbac-mega-moo-mall.tbac-mmm-premium-checkout .wc-block-components-product-name,
body.tbac-mega-moo-mall.tbac-mmm-premium-checkout .wc-block-components-order-summary-item__description,
body.tbac-mega-moo-mall.tbac-mmm-premium-checkout .wc-block-components-order-summary-item__description p,
body.tbac-mega-moo-mall.tbac-mmm-premium-checkout .wc-block-components-totals-item__label,
body.tbac-mega-moo-mall.tbac-mmm-premium-checkout .wc-block-components-totals-item__value{
    word-break:normal !important;
    overflow-wrap:break-word !important;
    white-space:normal !important;
}

/* Extra-narrow phone protection. */
@media (max-width:420px){
    body.tbac-mega-moo-mall.tbac-mmm-premium-flow .tbac-mmm-commerce-steps{
        width:100%;
        justify-content:space-between;
    }
    body.tbac-mega-moo-mall.tbac-mmm-premium-flow .tbac-mmm-commerce-steps span{
        flex:1 1 0;
        min-width:0;
    }
    body.tbac-mega-moo-mall.tbac-mmm-premium-order-received .woocommerce-order-overview{
        grid-template-columns:1fr !important;
    }
}


/* ========================================================================== 
   v0.5.8 PREMIUM CHECKOUT CONTROL + VALIDATION-STATE HARDENING
   Fix native radio/checkbox controls inheriting text-field sizing, tighten the
   legal/notes spacing, and keep the Premium activation action visibly present
   through WooCommerce validation/re-render states without bypassing validation.
   ========================================================================== */

/* v0.5.6 intentionally styled general checkout inputs, but native choice
   controls must never inherit the 46px text-field height. Keep them compact,
   aligned, and touch-friendly without distorting WooPayments. */
body.tbac-mega-moo-mall.tbac-mmm-premium-checkout input[type="radio"],
body.tbac-mega-moo-mall.tbac-mmm-premium-checkout input[type="checkbox"],
body.tbac-mega-moo-mall.tbac-mmm-premium-checkout .wc-block-components-radio-control__input,
body.tbac-mega-moo-mall.tbac-mmm-premium-checkout .wc-block-components-checkbox__input{
    box-sizing:border-box !important;
    width:18px !important;
    min-width:18px !important;
    max-width:18px !important;
    height:18px !important;
    min-height:18px !important;
    max-height:18px !important;
    margin:0 9px 0 0 !important;
    padding:0 !important;
    border-radius:4px !important;
    background:#fff !important;
    vertical-align:middle !important;
    flex:0 0 18px !important;
    box-shadow:none !important;
}
body.tbac-mega-moo-mall.tbac-mmm-premium-checkout input[type="radio"],
body.tbac-mega-moo-mall.tbac-mmm-premium-checkout .wc-block-components-radio-control__input{
    border-radius:50% !important;
}

/* Normalize the label/control rows on both classic and Blocks checkout. */
body.tbac-mega-moo-mall.tbac-mmm-premium-checkout .wc-block-components-radio-control__option,
body.tbac-mega-moo-mall.tbac-mmm-premium-checkout .wc-block-components-checkbox,
body.tbac-mega-moo-mall.tbac-mmm-premium-checkout .woocommerce-shipping-methods li,
body.tbac-mega-moo-mall.tbac-mmm-premium-checkout .woocommerce-checkout-payment li.wc_payment_method,
body.tbac-mega-moo-mall.tbac-mmm-premium-checkout .woocommerce-additional-fields .form-row,
body.tbac-mega-moo-mall.tbac-mmm-premium-checkout .woocommerce-terms-and-conditions-wrapper .form-row{
    line-height:1.45 !important;
}
body.tbac-mega-moo-mall.tbac-mmm-premium-checkout .wc-block-components-radio-control__option,
body.tbac-mega-moo-mall.tbac-mmm-premium-checkout .wc-block-components-checkbox label,
body.tbac-mega-moo-mall.tbac-mmm-premium-checkout .woocommerce-checkout-payment li.wc_payment_method > label,
body.tbac-mega-moo-mall.tbac-mmm-premium-checkout label.checkbox{
    align-items:center !important;
}

/* Notes and legal copy get deliberate four-sided breathing room. */
body.tbac-mega-moo-mall.tbac-mmm-premium-checkout .wc-block-checkout__add-note,
body.tbac-mega-moo-mall.tbac-mmm-premium-checkout .wc-block-components-checkout-step--additional-information,
body.tbac-mega-moo-mall.tbac-mmm-premium-checkout .woocommerce-additional-fields{
    margin-top:18px !important;
}
body.tbac-mega-moo-mall.tbac-mmm-premium-checkout .woocommerce-terms-and-conditions-wrapper,
body.tbac-mega-moo-mall.tbac-mmm-premium-checkout .wc-block-checkout__terms{
    box-sizing:border-box !important;
    margin:20px 0 0 !important;
    padding:14px 16px !important;
    border:1px solid rgba(94,78,42,.16) !important;
    border-radius:12px !important;
    background:#fff9e9 !important;
    color:#294838 !important;
    font-size:.92rem !important;
    line-height:1.55 !important;
}
body.tbac-mega-moo-mall.tbac-mmm-premium-checkout .woocommerce-terms-and-conditions-wrapper p,
body.tbac-mega-moo-mall.tbac-mmm-premium-checkout .wc-block-checkout__terms p{
    margin:0 !important;
}

/* v0.6.1: Premium enrollment is rendered with WooCommerce's official classic
   checkout shortcode. #place_order remains WooCommerce's native transaction
   control. TBAC styles it but never hides, clones, proxies, disables, replaces,
   or forwards clicks to it. */
body.tbac-mega-moo-mall.tbac-mmm-premium-checkout .wc-block-components-checkout-place-order-button:disabled,
body.tbac-mega-moo-mall.tbac-mmm-premium-checkout .wc-block-components-checkout-place-order-button[aria-disabled="true"],
body.tbac-mega-moo-mall.tbac-mmm-premium-checkout #place_order:disabled,
body.tbac-mega-moo-mall.tbac-mmm-premium-checkout #place_order[aria-disabled="true"]{
    border-color:#537763 !important;
    background:#537763 !important;
    color:#fff !important;
    opacity:1 !important;
    cursor:not-allowed !important;
    box-shadow:none !important;
    outline:none !important;
}
body.tbac-mega-moo-mall.tbac-mmm-premium-checkout .wc-block-components-checkout-place-order-button:disabled:hover,
body.tbac-mega-moo-mall.tbac-mmm-premium-checkout .wc-block-components-checkout-place-order-button:disabled:focus,
body.tbac-mega-moo-mall.tbac-mmm-premium-checkout #place_order:disabled:hover,
body.tbac-mega-moo-mall.tbac-mmm-premium-checkout #place_order:disabled:focus{
    border-color:#537763 !important;
    background:#537763 !important;
    color:#fff !important;
    outline:none !important;
}

/* Keep WooCommerce's own validation guidance readable over the Premium artwork. */
body.tbac-mega-moo-mall.tbac-mmm-premium-checkout .wc-block-components-validation-error,
body.tbac-mega-moo-mall.tbac-mmm-premium-checkout .wc-block-components-notice-banner.is-error,
body.tbac-mega-moo-mall.tbac-mmm-premium-checkout .woocommerce-error,
body.tbac-mega-moo-mall.tbac-mmm-premium-checkout .woocommerce-NoticeGroup-checkout{
    box-sizing:border-box !important;
    color:#5b2119 !important;
    background:#fff7f0 !important;
    border-color:#c97863 !important;
    opacity:1 !important;
    text-shadow:none !important;
}
body.tbac-mega-moo-mall.tbac-mmm-premium-checkout .wc-block-components-validation-error{
    margin-top:8px !important;
    padding:8px 10px !important;
    border:1px solid #c97863 !important;
    border-radius:8px !important;
    font-weight:800 !important;
    line-height:1.4 !important;
}

@media (max-width: 781px){
    body.tbac-mega-moo-mall.tbac-mmm-premium-checkout input[type="radio"],
    body.tbac-mega-moo-mall.tbac-mmm-premium-checkout input[type="checkbox"],
    body.tbac-mega-moo-mall.tbac-mmm-premium-checkout .wc-block-components-radio-control__input,
    body.tbac-mega-moo-mall.tbac-mmm-premium-checkout .wc-block-components-checkbox__input{
        width:20px !important;
        min-width:20px !important;
        max-width:20px !important;
        height:20px !important;
        min-height:20px !important;
        max-height:20px !important;
        flex-basis:20px !important;
        margin-right:10px !important;
    }
}


/* ==========================================================================
   v0.6.2 PREMIUM CLASSIC CHECKOUT LAYOUT REPAIR
   Keep WooCommerce's native classic checkout action, but correct the geometry
   introduced in v0.6.1. The order review heading and panel share the same grid
   row so the payment column begins beside Billing details rather than below it.
   ========================================================================== */
body.tbac-mega-moo-mall.tbac-mmm-premium-checkout .tbac-mmm-premium-classic-checkout{
    width:min(100%,1180px) !important;
    max-width:1180px !important;
    margin-left:auto !important;
    margin-right:auto !important;
    box-sizing:border-box !important;
}

body.tbac-mega-moo-mall.tbac-mmm-premium-checkout .tbac-mmm-premium-classic-checkout form.checkout.woocommerce-checkout{
    display:grid !important;
    grid-template-columns:minmax(0,1.55fr) minmax(360px,.85fr) !important;
    grid-template-rows:auto !important;
    gap:18px !important;
    align-items:start !important;
    width:100% !important;
    max-width:none !important;
    margin:0 !important;
    padding:0 !important;
    float:none !important;
    clear:both !important;
    box-sizing:border-box !important;
}

body.tbac-mega-moo-mall.tbac-mmm-premium-checkout .tbac-mmm-premium-classic-checkout form.checkout.woocommerce-checkout > .col2-set{
    grid-column:1 !important;
    grid-row:1 !important;
    align-self:start !important;
    width:100% !important;
    max-width:none !important;
    min-width:0 !important;
    margin:0 !important;
    float:none !important;
    clear:none !important;
    box-sizing:border-box !important;
}

/* A classic checkout prints the heading and review panel as separate siblings.
   Put both in row 1, then reserve heading space inside the review panel. This
   avoids the v0.6.1 auto-placement row that pushed payment below Billing. */
body.tbac-mega-moo-mall.tbac-mmm-premium-checkout .tbac-mmm-premium-classic-checkout form.checkout.woocommerce-checkout > #order_review_heading{
    grid-column:2 !important;
    grid-row:1 !important;
    align-self:start !important;
    justify-self:stretch !important;
    z-index:2 !important;
    width:auto !important;
    max-width:none !important;
    margin:25px 30px 0 !important;
    padding:0 !important;
    float:none !important;
    clear:none !important;
    color:#173f2d !important;
    font-size:1.2rem !important;
    line-height:1.25 !important;
    pointer-events:none !important;
}

body.tbac-mega-moo-mall.tbac-mmm-premium-checkout .tbac-mmm-premium-classic-checkout form.checkout.woocommerce-checkout > #order_review{
    grid-column:2 !important;
    grid-row:1 !important;
    align-self:start !important;
    width:100% !important;
    max-width:none !important;
    min-width:0 !important;
    margin:0 !important;
    padding:66px 28px 28px !important;
    float:none !important;
    clear:none !important;
    box-sizing:border-box !important;
}

/* Premium enrollment has no shipping-address workflow. Stack the classic
   customer-detail subcolumns so Billing and Additional information use the
   full left panel instead of inheriting theme 48% floats. */
body.tbac-mega-moo-mall.tbac-mmm-premium-checkout .tbac-mmm-premium-classic-checkout #customer_details > .col-1,
body.tbac-mega-moo-mall.tbac-mmm-premium-checkout .tbac-mmm-premium-classic-checkout #customer_details > .col-2{
    display:block !important;
    width:100% !important;
    max-width:none !important;
    min-width:0 !important;
    margin:0 !important;
    padding:0 !important;
    float:none !important;
    clear:both !important;
    box-sizing:border-box !important;
}
body.tbac-mega-moo-mall.tbac-mmm-premium-checkout .tbac-mmm-premium-classic-checkout #customer_details > .col-2{
    margin-top:22px !important;
}

body.tbac-mega-moo-mall.tbac-mmm-premium-checkout .tbac-mmm-premium-classic-checkout .woocommerce-billing-fields,
body.tbac-mega-moo-mall.tbac-mmm-premium-checkout .tbac-mmm-premium-classic-checkout .woocommerce-additional-fields,
body.tbac-mega-moo-mall.tbac-mmm-premium-checkout .tbac-mmm-premium-classic-checkout .woocommerce-checkout-review-order-table,
body.tbac-mega-moo-mall.tbac-mmm-premium-checkout .tbac-mmm-premium-classic-checkout #payment{
    width:100% !important;
    max-width:none !important;
    min-width:0 !important;
    box-sizing:border-box !important;
}

body.tbac-mega-moo-mall.tbac-mmm-premium-checkout .tbac-mmm-premium-classic-checkout .woocommerce-checkout-review-order-table{
    table-layout:auto !important;
    margin:0 0 18px !important;
}
body.tbac-mega-moo-mall.tbac-mmm-premium-checkout .tbac-mmm-premium-classic-checkout .woocommerce-checkout-review-order-table th,
body.tbac-mega-moo-mall.tbac-mmm-premium-checkout .tbac-mmm-premium-classic-checkout .woocommerce-checkout-review-order-table td{
    box-sizing:border-box !important;
    padding:10px 8px !important;
    vertical-align:top !important;
    overflow-wrap:anywhere !important;
}
body.tbac-mega-moo-mall.tbac-mmm-premium-checkout .tbac-mmm-premium-classic-checkout .woocommerce-checkout-review-order-table .product-name{
    width:64% !important;
}
body.tbac-mega-moo-mall.tbac-mmm-premium-checkout .tbac-mmm-premium-classic-checkout .woocommerce-checkout-review-order-table .product-total{
    width:36% !important;
    text-align:right !important;
}

body.tbac-mega-moo-mall.tbac-mmm-premium-checkout .tbac-mmm-premium-classic-checkout #payment{
    margin:0 !important;
    padding:18px !important;
    border:1px solid #d2cabd !important;
    border-radius:14px !important;
    background:#fff !important;
}
body.tbac-mega-moo-mall.tbac-mmm-premium-checkout .tbac-mmm-premium-classic-checkout #payment .payment_methods,
body.tbac-mega-moo-mall.tbac-mmm-premium-checkout .tbac-mmm-premium-classic-checkout #payment .place-order{
    width:100% !important;
    max-width:none !important;
    box-sizing:border-box !important;
}
body.tbac-mega-moo-mall.tbac-mmm-premium-checkout .tbac-mmm-premium-classic-checkout #payment .place-order{
    margin:18px 0 0 !important;
    padding:0 !important;
}
body.tbac-mega-moo-mall.tbac-mmm-premium-checkout .tbac-mmm-premium-classic-checkout #place_order{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    visibility:visible !important;
    width:100% !important;
    max-width:none !important;
    min-height:54px !important;
    margin:18px 0 0 !important;
    float:none !important;
    clear:both !important;
}

/* Prevent coupon content or classic notices from inheriting narrow Woo/theme
   widths above the two-column Premium checkout. */
body.tbac-mega-moo-mall.tbac-mmm-premium-checkout .tbac-mmm-premium-classic-checkout > .woocommerce-form-coupon-toggle,
body.tbac-mega-moo-mall.tbac-mmm-premium-checkout .tbac-mmm-premium-classic-checkout > form.checkout_coupon,
body.tbac-mega-moo-mall.tbac-mmm-premium-checkout .tbac-mmm-premium-classic-checkout > .woocommerce-NoticeGroup,
body.tbac-mega-moo-mall.tbac-mmm-premium-checkout .tbac-mmm-premium-classic-checkout > .woocommerce-notices-wrapper{
    width:100% !important;
    max-width:none !important;
    margin-left:0 !important;
    margin-right:0 !important;
    box-sizing:border-box !important;
}

@media (max-width:899px){
    body.tbac-mega-moo-mall.tbac-mmm-premium-checkout .tbac-mmm-premium-classic-checkout form.checkout.woocommerce-checkout{
        display:block !important;
    }
    body.tbac-mega-moo-mall.tbac-mmm-premium-checkout .tbac-mmm-premium-classic-checkout form.checkout.woocommerce-checkout > .col2-set,
    body.tbac-mega-moo-mall.tbac-mmm-premium-checkout .tbac-mmm-premium-classic-checkout form.checkout.woocommerce-checkout > #order_review_heading,
    body.tbac-mega-moo-mall.tbac-mmm-premium-checkout .tbac-mmm-premium-classic-checkout form.checkout.woocommerce-checkout > #order_review{
        display:block !important;
        width:100% !important;
        max-width:none !important;
        margin-left:0 !important;
        margin-right:0 !important;
        float:none !important;
        clear:both !important;
    }
    body.tbac-mega-moo-mall.tbac-mmm-premium-checkout .tbac-mmm-premium-classic-checkout form.checkout.woocommerce-checkout > #order_review_heading{
        margin:22px 4px 10px !important;
        padding:0 !important;
        pointer-events:auto !important;
    }
    body.tbac-mega-moo-mall.tbac-mmm-premium-checkout .tbac-mmm-premium-classic-checkout form.checkout.woocommerce-checkout > #order_review{
        padding:20px 17px !important;
    }
}

@media (min-width:900px) and (max-width:1099px){
    body.tbac-mega-moo-mall.tbac-mmm-premium-checkout .tbac-mmm-premium-classic-checkout form.checkout.woocommerce-checkout{
        grid-template-columns:minmax(0,1.35fr) minmax(340px,.95fr) !important;
    }
}

/* v0.6.2 narrow-screen summary card: keep the heading visually attached to
   the review/payment surface rather than floating over the scenic background. */
@media (max-width:899px){
    body.tbac-mega-moo-mall.tbac-mmm-premium-checkout .tbac-mmm-premium-classic-checkout form.checkout.woocommerce-checkout > #order_review_heading{
        box-sizing:border-box !important;
        margin:18px 0 0 !important;
        padding:20px 17px 8px !important;
        border:1px solid var(--tbac-premium-border) !important;
        border-bottom:0 !important;
        border-radius:16px 16px 0 0 !important;
        background:var(--tbac-premium-panel) !important;
        box-shadow:var(--tbac-premium-shadow) !important;
    }
    body.tbac-mega-moo-mall.tbac-mmm-premium-checkout .tbac-mmm-premium-classic-checkout form.checkout.woocommerce-checkout > #order_review{
        margin-top:0 !important;
        border-top:0 !important;
        border-radius:0 0 16px 16px !important;
        box-shadow:var(--tbac-premium-shadow) !important;
    }
}

/* v0.6.3 Premium confirmation cleanup + Command Center handoff */
body.tbac-mega-moo-mall.tbac-mmm-premium-order-received .tbac-premium-thankyou{
    padding:22px 24px 20px;
    background:linear-gradient(145deg,#f4fbf5,#edf8ef);
}
body.tbac-mega-moo-mall.tbac-mmm-premium-order-received .tbac-premium-thankyou__intro{
    margin:0 0 15px !important;
    color:#40584b !important;
}
body.tbac-mega-moo-mall.tbac-mmm-premium-order-received .tbac-premium-thankyou__stats{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:9px;
    margin:15px 0 12px;
}
body.tbac-mega-moo-mall.tbac-mmm-premium-order-received .tbac-premium-thankyou__stats>div{
    min-width:0;
    padding:11px 12px;
    border:1px solid #d8e7dc;
    border-radius:11px;
    background:#fff;
}
body.tbac-mega-moo-mall.tbac-mmm-premium-order-received .tbac-premium-thankyou__stats span{
    display:block;
    margin-bottom:3px;
    color:#5d7466;
    font-size:.68rem;
    font-weight:900;
    letter-spacing:.07em;
}
body.tbac-mega-moo-mall.tbac-mmm-premium-order-received .tbac-premium-thankyou__stats strong{
    display:block;
    color:#173f2d;
    font-size:.95rem;
    line-height:1.2;
}
body.tbac-mega-moo-mall.tbac-mmm-premium-order-received .tbac-premium-thankyou__boost{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:14px;
    align-items:center;
    margin:12px 0 0;
    padding:13px 14px;
    border:1px solid #ead39a;
    border-radius:12px;
    background:#fff8e5;
}
body.tbac-mega-moo-mall.tbac-mmm-premium-order-received .tbac-premium-thankyou__boost>div{
    display:grid;
    gap:2px;
}
body.tbac-mega-moo-mall.tbac-mmm-premium-order-received .tbac-premium-thankyou__boost span{
    color:#7a5b1d;
    font-size:.68rem;
    font-weight:900;
    letter-spacing:.08em;
}
body.tbac-mega-moo-mall.tbac-mmm-premium-order-received .tbac-premium-thankyou__boost strong{
    color:#3a432e;
    font-size:.93rem;
}
body.tbac-mega-moo-mall.tbac-mmm-premium-order-received .tbac-premium-thankyou__boost small{
    color:#6a634f;
    font-size:.8rem;
}
body.tbac-mega-moo-mall.tbac-mmm-premium-order-received .tbac-premium-thankyou__boost .button{
    margin:0 !important;
    white-space:nowrap;
}
body.tbac-mega-moo-mall.tbac-mmm-premium-order-received .tbac-premium-thankyou__actions{
    margin-top:14px;
}

/* Make the native WooCommerce receipt/account details read like part of the Premium experience. */
body.tbac-mega-moo-mall.tbac-mmm-premium-order-received .woocommerce-order-details,
body.tbac-mega-moo-mall.tbac-mmm-premium-order-received .woocommerce-customer-details,
body.tbac-mega-moo-mall.tbac-mmm-premium-order-received .woocommerce-orders-table,
body.tbac-mega-moo-mall.tbac-mmm-premium-order-received .woocommerce-table--order-details{
    color:#294636 !important;
}
body.tbac-mega-moo-mall.tbac-mmm-premium-order-received .woocommerce-order-details,
body.tbac-mega-moo-mall.tbac-mmm-premium-order-received .woocommerce-customer-details{
    margin:18px 0 !important;
    padding:18px 20px !important;
    border:1px solid #e2d7bd !important;
    border-radius:14px !important;
    background:#fffdf8 !important;
    box-shadow:0 4px 13px rgba(61,47,29,.06) !important;
}
body.tbac-mega-moo-mall.tbac-mmm-premium-order-received .woocommerce-order-details__title,
body.tbac-mega-moo-mall.tbac-mmm-premium-order-received .woocommerce-column__title,
body.tbac-mega-moo-mall.tbac-mmm-premium-order-received .woocommerce-order h2{
    color:#173f2d !important;
}
body.tbac-mega-moo-mall.tbac-mmm-premium-order-received .woocommerce-order-details table,
body.tbac-mega-moo-mall.tbac-mmm-premium-order-received .woocommerce-orders-table{
    margin:8px 0 0 !important;
    border-collapse:separate !important;
    border-spacing:0 !important;
    border:1px solid #eadfc9 !important;
    border-radius:10px !important;
    overflow:hidden !important;
    background:#fff !important;
}
body.tbac-mega-moo-mall.tbac-mmm-premium-order-received .woocommerce-order-details th,
body.tbac-mega-moo-mall.tbac-mmm-premium-order-received .woocommerce-order-details td,
body.tbac-mega-moo-mall.tbac-mmm-premium-order-received .woocommerce-orders-table th,
body.tbac-mega-moo-mall.tbac-mmm-premium-order-received .woocommerce-orders-table td{
    padding:9px 10px !important;
    border-color:#eee4d1 !important;
    color:#385144 !important;
}
body.tbac-mega-moo-mall.tbac-mmm-premium-order-received .woocommerce-orders-table__cell-order-actions .button,
body.tbac-mega-moo-mall.tbac-mmm-premium-order-received .woocommerce-button.view{
    min-height:34px !important;
    padding:7px 11px !important;
    border:1px solid #175b3b !important;
    border-radius:999px !important;
    background:#175b3b !important;
    color:#fff !important;
    text-decoration:none !important;
}
body.tbac-mega-moo-mall.tbac-mmm-premium-order-received .woocommerce-customer-details address{
    padding:12px 14px !important;
    border:1px solid #eadfc9 !important;
    border-radius:10px !important;
    background:#fff !important;
    color:#40584b !important;
    line-height:1.5 !important;
}

/* One compact handoff card replaces the repeated Bank / Command Center / Where-to-next stack. */
body.tbac-mega-moo-mall.tbac-mmm-premium-order-received .tbac-mmm-premium-thankyou-experience{
    margin-top:18px;
}
body.tbac-mega-moo-mall.tbac-mmm-premium-order-received .tbac-mmm-premium-handoff-card{
    display:grid !important;
    grid-template-columns:72px minmax(0,1fr) !important;
    gap:18px !important;
    align-items:start;
    padding:22px 24px !important;
    text-align:left !important;
}
body.tbac-mega-moo-mall.tbac-mmm-premium-order-received .tbac-mmm-premium-handoff-icon{
    display:grid;
    place-items:center;
    width:64px;
    height:64px;
    border:1px solid #e0c77e;
    border-radius:50%;
    background:#fff6dc;
}
body.tbac-mega-moo-mall.tbac-mmm-premium-order-received .tbac-mmm-premium-handoff-icon img{
    width:58px;
    height:58px;
    object-fit:contain;
}
body.tbac-mega-moo-mall.tbac-mmm-premium-order-received .tbac-mmm-premium-handoff-copy h2{
    margin:3px 0 8px !important;
    color:#173f2d !important;
    font-size:1.38rem !important;
    line-height:1.08 !important;
}
body.tbac-mega-moo-mall.tbac-mmm-premium-order-received .tbac-mmm-premium-handoff-copy>p{
    max-width:850px;
    margin:0 0 13px !important;
    color:#40584b !important;
    line-height:1.5 !important;
}
body.tbac-mega-moo-mall.tbac-mmm-premium-order-received .tbac-mmm-premium-handoff-stats{
    display:flex;
    flex-wrap:wrap;
    gap:7px;
    margin:0 0 13px;
}
body.tbac-mega-moo-mall.tbac-mmm-premium-order-received .tbac-mmm-premium-handoff-stats span{
    display:inline-flex;
    gap:5px;
    align-items:baseline;
    padding:7px 9px;
    border:1px solid #eadfc9;
    border-radius:999px;
    background:#fff8e8;
    color:#5d594a;
    font-size:.78rem;
    font-weight:750;
}
body.tbac-mega-moo-mall.tbac-mmm-premium-order-received .tbac-mmm-premium-handoff-stats strong{
    color:#1c5a3b;
}
body.tbac-mega-moo-mall.tbac-mmm-premium-order-received .tbac-mmm-premium-handoff-card .tbac-mmm-premium-actions{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:9px;
    max-width:none;
    margin:0;
}

@media(max-width:767px){
    body.tbac-mega-moo-mall.tbac-mmm-premium-order-received .tbac-premium-thankyou__stats{grid-template-columns:1fr}
    body.tbac-mega-moo-mall.tbac-mmm-premium-order-received .tbac-premium-thankyou__boost{grid-template-columns:1fr}
    body.tbac-mega-moo-mall.tbac-mmm-premium-order-received .tbac-premium-thankyou__boost .button{width:100%!important;white-space:normal}
    body.tbac-mega-moo-mall.tbac-mmm-premium-order-received .tbac-mmm-premium-handoff-card{display:block!important;padding:18px 16px!important}
    body.tbac-mega-moo-mall.tbac-mmm-premium-order-received .tbac-mmm-premium-handoff-icon{margin-bottom:11px}
    body.tbac-mega-moo-mall.tbac-mmm-premium-order-received .tbac-mmm-premium-handoff-card .tbac-mmm-premium-actions{grid-template-columns:1fr}
    body.tbac-mega-moo-mall.tbac-mmm-premium-order-received .woocommerce-order-details,
    body.tbac-mega-moo-mall.tbac-mmm-premium-order-received .woocommerce-customer-details{padding:15px 13px!important}
}


/* v0.6.4 Premium confirmation order-overview balance
   WooCommerce clearfix pseudo-elements become anonymous-looking grid items when
   the classic order overview is converted to CSS Grid. Remove those generated
   items and balance the five real order facts as 3 + 2 on desktop. */
body.tbac-mega-moo-mall.tbac-mmm-premium-order-received .woocommerce-order-overview::before,
body.tbac-mega-moo-mall.tbac-mmm-premium-order-received .woocommerce-order-overview::after{
    content:none !important;
    display:none !important;
}

@media (min-width:900px){
    body.tbac-mega-moo-mall.tbac-mmm-premium-order-received .woocommerce-order-overview{
        grid-template-columns:repeat(6,minmax(0,1fr)) !important;
    }
    body.tbac-mega-moo-mall.tbac-mmm-premium-order-received .woocommerce-order-overview li{
        grid-column:span 2 !important;
    }
    body.tbac-mega-moo-mall.tbac-mmm-premium-order-received .woocommerce-order-overview li:nth-child(4):nth-last-child(2),
    body.tbac-mega-moo-mall.tbac-mmm-premium-order-received .woocommerce-order-overview li:nth-child(5):last-child{
        grid-column:span 3 !important;
    }
}

@media (min-width:560px) and (max-width:899px){
    body.tbac-mega-moo-mall.tbac-mmm-premium-order-received .woocommerce-order-overview{
        grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    }
    body.tbac-mega-moo-mall.tbac-mmm-premium-order-received .woocommerce-order-overview li{
        grid-column:auto !important;
    }
}

@media (max-width:559px){
    body.tbac-mega-moo-mall.tbac-mmm-premium-order-received .woocommerce-order-overview{
        grid-template-columns:1fr !important;
    }
    body.tbac-mega-moo-mall.tbac-mmm-premium-order-received .woocommerce-order-overview li{
        grid-column:auto !important;
    }
}

/* v0.6.5 Order-confirmation grid hardening across Premium + physical Mall purchases.
   WooCommerce may inject clearfix pseudo-elements into classic order_details lists.
   When TBAC turns those lists into CSS Grid, those pseudo-elements can consume a
   grid cell and create a phantom blank tile. Remove them globally on Mall order
   confirmations, remove list bullets, and balance the real order facts at each
   responsive breakpoint. */
body.tbac-mega-moo-mall.tbac-mmm-surface-order-received ul.order_details::before,
body.tbac-mega-moo-mall.tbac-mmm-surface-order-received ul.order_details::after{
    content:none !important;
    display:none !important;
}
body.tbac-mega-moo-mall.tbac-mmm-surface-order-received ul.order_details{
    list-style:none !important;
}
body.tbac-mega-moo-mall.tbac-mmm-surface-order-received ul.order_details > li{
    list-style:none !important;
}
body.tbac-mega-moo-mall.tbac-mmm-surface-order-received ul.order_details > li::marker{
    content:"" !important;
}

@media (min-width:900px){
    body.tbac-mega-moo-mall.tbac-mmm-surface-order-received ul.order_details{
        grid-template-columns:repeat(6,minmax(0,1fr)) !important;
    }
    body.tbac-mega-moo-mall.tbac-mmm-surface-order-received ul.order_details > li{
        grid-column:span 2 !important;
    }
    /* Exactly four facts: balance as 2 + 2. */
    body.tbac-mega-moo-mall.tbac-mmm-surface-order-received ul.order_details > li:first-child:nth-last-child(4),
    body.tbac-mega-moo-mall.tbac-mmm-surface-order-received ul.order_details > li:first-child:nth-last-child(4) ~ li{
        grid-column:span 3 !important;
    }
    /* Exactly five facts: balance as 3 + 2. */
    body.tbac-mega-moo-mall.tbac-mmm-surface-order-received ul.order_details > li:nth-child(4):nth-last-child(2),
    body.tbac-mega-moo-mall.tbac-mmm-surface-order-received ul.order_details > li:nth-child(5):last-child{
        grid-column:span 3 !important;
    }
    /* Exactly two facts: two equal halves. */
    body.tbac-mega-moo-mall.tbac-mmm-surface-order-received ul.order_details > li:first-child:nth-last-child(2),
    body.tbac-mega-moo-mall.tbac-mmm-surface-order-received ul.order_details > li:first-child:nth-last-child(2) ~ li{
        grid-column:span 3 !important;
    }
}

@media (min-width:560px) and (max-width:899px){
    body.tbac-mega-moo-mall.tbac-mmm-surface-order-received ul.order_details{
        grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    }
    body.tbac-mega-moo-mall.tbac-mmm-surface-order-received ul.order_details > li{
        grid-column:auto !important;
    }
    /* If the real fact count is odd, let the final card span the row instead of
       leaving a visually empty half-row on tablets. */
    body.tbac-mega-moo-mall.tbac-mmm-surface-order-received ul.order_details > li:last-child:nth-child(odd){
        grid-column:1 / -1 !important;
    }
}

@media (max-width:559px){
    body.tbac-mega-moo-mall.tbac-mmm-surface-order-received ul.order_details{
        grid-template-columns:1fr !important;
    }
    body.tbac-mega-moo-mall.tbac-mmm-surface-order-received ul.order_details > li{
        grid-column:auto !important;
    }
}


/* v0.6.6 Premium confirmation handoff action alignment.
   Keep the working checkout untouched. Center the two secondary destinations under
   the full-width Command Center action so the group reads as one deliberate cluster. */
body.tbac-mega-moo-mall.tbac-mmm-premium-order-received .tbac-mmm-premium-handoff-card .tbac-mmm-premium-actions{
    grid-template-columns:repeat(2,minmax(0,240px)) !important;
    justify-content:center !important;
    width:min(100%,560px) !important;
    max-width:560px !important;
    margin:0 auto !important;
}
body.tbac-mega-moo-mall.tbac-mmm-premium-order-received .tbac-mmm-premium-handoff-card .tbac-mmm-premium-actions .is-primary{
    grid-column:1 / -1 !important;
    width:100% !important;
}
@media(max-width:559px){
    body.tbac-mega-moo-mall.tbac-mmm-premium-order-received .tbac-mmm-premium-handoff-card .tbac-mmm-premium-actions{
        grid-template-columns:1fr !important;
        width:100% !important;
        max-width:none !important;
    }
    body.tbac-mega-moo-mall.tbac-mmm-premium-order-received .tbac-mmm-premium-handoff-card .tbac-mmm-premium-actions .is-primary{
        grid-column:auto !important;
    }
}

/* v0.6.6 mobile containment closeout */
body.tbac-mega-moo-mall.tbac-mmm-premium-order-received .tbac-mmm-premium-handoff-card .tbac-mmm-premium-actions,
body.tbac-mega-moo-mall.tbac-mmm-premium-order-received .tbac-mmm-premium-handoff-card .tbac-mmm-premium-actions .tbac-mmm-thankyou-action{
    box-sizing:border-box !important;
    max-width:100% !important;
}


/* v0.6.7 Premium confirmation benefit-chip alignment.
   Center the three compact Premium benefit chips as a single visual group above
   the already-centered Command Center / Coin Boost / Welcome House actions. */
body.tbac-mega-moo-mall.tbac-mmm-premium-order-received .tbac-mmm-premium-handoff-stats{
    justify-content:center !important;
    width:100% !important;
}

/* ========================================================================== 
   v0.6.8 COIN BOOST CONFIRMATION + CART BUTTON POLISH
   - Keep classic Woo cart controls optically centered in every state.
   - Give digital Clover Coin Boost orders their own non-physical handoff.
   ========================================================================== */
body.tbac-mega-moo-mall.tbac-mmm-surface-cart .tbac-mmm-cart-stable .actions > button.button[name="update_cart"]{
    -webkit-appearance:none !important;
    appearance:none !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    box-sizing:border-box !important;
    height:44px !important;
    min-height:44px !important;
    padding:0 22px 2px !important;
    margin-top:0 !important;
    line-height:1 !important;
    text-align:center !important;
    vertical-align:middle !important;
    white-space:nowrap !important;
}
body.tbac-mega-moo-mall.tbac-mmm-surface-cart .tbac-mmm-cart-stable .actions > button.button[name="update_cart"]:disabled,
body.tbac-mega-moo-mall.tbac-mmm-surface-cart .tbac-mmm-cart-stable .actions > button.button[name="update_cart"][disabled]{
    opacity:1 !important;
    border-color:#769987 !important;
    background:#8eab9b !important;
    color:#fff !important;
    cursor:not-allowed !important;
}

body.tbac-mmm-surface-order-received .tbac-mmm-coinboost-handoff-card{
    display:grid;
    grid-template-columns:72px minmax(0,1fr);
    gap:22px;
    align-items:start;
    padding:28px;
    border:1px solid rgba(23,98,61,.18);
    background:linear-gradient(135deg,rgba(247,255,249,.98),rgba(255,249,231,.98));
}
body.tbac-mmm-surface-order-received .tbac-mmm-coinboost-handoff-icon{
    width:72px;
    height:72px;
    display:grid;
    place-items:center;
    border-radius:50%;
    background:rgba(255,248,224,.92);
    border:1px solid rgba(184,142,39,.24);
    box-shadow:0 8px 22px rgba(44,63,43,.10);
}
body.tbac-mmm-surface-order-received .tbac-mmm-coinboost-handoff-icon img{
    display:block;
    width:58px;
    height:58px;
    object-fit:contain;
}
body.tbac-mmm-surface-order-received .tbac-mmm-coinboost-handoff-copy h2{
    margin:5px 0 10px;
    color:#153d2c !important;
    font-size:clamp(1.55rem,3vw,2.3rem);
    line-height:1.08;
    letter-spacing:-.025em;
}
body.tbac-mmm-surface-order-received .tbac-mmm-coinboost-handoff-copy > p{
    margin:0;
    color:#355144;
    font-size:1rem;
    line-height:1.62;
}
body.tbac-mmm-surface-order-received .tbac-mmm-coinboost-handoff-copy > p + p{
    margin-top:10px;
}
body.tbac-mmm-surface-order-received .tbac-mmm-coinboost-bonus{
    padding:10px 12px;
    border-radius:12px;
    background:#fff7df;
    border:1px solid rgba(217,189,114,.38);
}
body.tbac-mmm-surface-order-received .tbac-mmm-coinboost-stats{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    margin-top:16px;
}
body.tbac-mmm-surface-order-received .tbac-mmm-coinboost-stats span{
    display:inline-flex;
    align-items:center;
    min-height:34px;
    padding:7px 11px;
    border-radius:999px;
    background:#fffaf0;
    border:1px solid rgba(24,54,38,.12);
    color:#254739;
    font-size:.86rem;
    font-weight:750;
    line-height:1.2;
}
body.tbac-mmm-surface-order-received .tbac-mmm-coinboost-stats strong{
    margin-right:4px;
    color:#17623d;
    font-weight:900;
}
body.tbac-mmm-surface-order-received .tbac-mmm-coinboost-actions{
    max-width:760px;
    margin-left:auto;
    margin-right:auto;
}

@media (max-width:620px){
    body.tbac-mmm-surface-order-received .tbac-mmm-coinboost-handoff-card{
        grid-template-columns:1fr;
        gap:14px;
        padding:20px 17px;
        text-align:center;
    }
    body.tbac-mmm-surface-order-received .tbac-mmm-coinboost-handoff-icon{
        margin:0 auto;
    }
    body.tbac-mmm-surface-order-received .tbac-mmm-coinboost-stats{
        justify-content:center;
    }
}


/* ==========================================================================
   v0.6.9 WooCommerce My Account / Premium subscription layout repair
   ========================================================================== */

/* WooCommerce clearfix pseudo-elements become phantom CSS Grid children when
   the account shell is converted to Grid. Remove them before they can consume
   the first/last grid cells. */
body.tbac-mmm-surface-account .woocommerce::before,
body.tbac-mmm-surface-account .woocommerce::after{
    content:none !important;
    display:none !important;
}

/* Reset WooCommerce's legacy float/percentage-width My Account layout. Grid is
   the only owner of account column sizing on TBAC Mall/account surfaces. */
body.tbac-mmm-surface-account .woocommerce{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
}

body.tbac-mmm-surface-account .woocommerce-MyAccount-navigation,
body.tbac-mmm-surface-account .woocommerce-MyAccount-content{
    float:none !important;
    width:100% !important;
    max-width:none !important;
    min-width:0 !important;
    margin:0 !important;
    position:relative !important;
}

body.tbac-mmm-surface-account .woocommerce-MyAccount-content{
    overflow-x:auto;
}

/* Keep native Woo subscription/order tables readable inside the full-width
   content card instead of allowing theme widths to squeeze them into a strip. */
body.tbac-mmm-surface-account .woocommerce-MyAccount-content table,
body.tbac-mmm-surface-account .woocommerce-MyAccount-content table.shop_table,
body.tbac-mmm-surface-account .woocommerce-MyAccount-content .woocommerce-orders-table,
body.tbac-mmm-surface-account .woocommerce-MyAccount-content .shop_table{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    margin:0 !important;
    table-layout:auto !important;
    border-collapse:separate !important;
    border-spacing:0 !important;
    background:#fff !important;
}

body.tbac-mmm-surface-account .woocommerce-MyAccount-content table thead th,
body.tbac-mmm-surface-account .woocommerce-MyAccount-content table.shop_table thead th{
    padding:13px 14px !important;
    background:#f6eed9 !important;
    color:#183626 !important;
    font-weight:850 !important;
    text-align:left !important;
    white-space:nowrap;
}

body.tbac-mmm-surface-account .woocommerce-MyAccount-content table tbody td,
body.tbac-mmm-surface-account .woocommerce-MyAccount-content table.shop_table tbody td{
    padding:14px !important;
    border-top:1px solid rgba(24,54,38,.10) !important;
    color:#294838 !important;
    vertical-align:middle !important;
}

body.tbac-mmm-surface-account .woocommerce-MyAccount-content a.button,
body.tbac-mmm-surface-account .woocommerce-MyAccount-content button.button,
body.tbac-mmm-surface-account .woocommerce-MyAccount-content .button{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    min-height:42px !important;
    padding:9px 15px !important;
    border:1px solid #174d34 !important;
    border-radius:999px !important;
    background:#174d34 !important;
    color:#fff !important;
    font-weight:850 !important;
    line-height:1.1 !important;
    text-decoration:none !important;
    box-shadow:none !important;
}

body.tbac-mmm-surface-account .woocommerce-MyAccount-content a.button:hover,
body.tbac-mmm-surface-account .woocommerce-MyAccount-content a.button:focus-visible,
body.tbac-mmm-surface-account .woocommerce-MyAccount-content button.button:hover,
body.tbac-mmm-surface-account .woocommerce-MyAccount-content button.button:focus-visible,
body.tbac-mmm-surface-account .woocommerce-MyAccount-content .button:hover,
body.tbac-mmm-surface-account .woocommerce-MyAccount-content .button:focus-visible{
    border-color:#d9bd72 !important;
    background:#fff7df !important;
    color:#173f2d !important;
    outline:3px solid rgba(217,189,114,.22) !important;
    outline-offset:1px !important;
}

/* Subscription endpoint context gets a slightly richer account card without
   replacing any WooCommerce Subscriptions markup or actions. */
body.tbac-mmm-surface-account.woocommerce-account .woocommerce-MyAccount-content > h2,
body.tbac-mmm-surface-account.woocommerce-account .woocommerce-MyAccount-content > h3{
    margin-top:0 !important;
    color:#173f2d !important;
}

@media (min-width:901px){
    body.tbac-mmm-surface-account .woocommerce{
        grid-template-columns:minmax(220px,270px) minmax(0,1fr) !important;
        gap:24px !important;
    }
}

@media (max-width:900px){
    body.tbac-mmm-surface-account .woocommerce{
        grid-template-columns:minmax(0,1fr) !important;
        gap:16px !important;
    }

    body.tbac-mmm-surface-account .woocommerce-MyAccount-navigation,
    body.tbac-mmm-surface-account .woocommerce-MyAccount-content{
        width:100% !important;
        max-width:100% !important;
    }
}

@media (max-width:600px){
    body.tbac-mmm-surface-account .woocommerce-MyAccount-content{
        padding:14px !important;
    }

    body.tbac-mmm-surface-account .woocommerce-MyAccount-content table,
    body.tbac-mmm-surface-account .woocommerce-MyAccount-content table.shop_table{
        font-size:.94rem;
    }

    body.tbac-mmm-surface-account .woocommerce-MyAccount-content table tbody td,
    body.tbac-mmm-surface-account .woocommerce-MyAccount-content table.shop_table tbody td{
        padding:11px 10px !important;
    }
}


/* ==========================================================================
   v0.7.0 WooCommerce My Account flex-shell repair
   Replaces the fragile Grid account shell with a deterministic flex layout.
   ========================================================================== */

/* Remove Woo/theme clearfix artifacts from layout participation. */
html body.tbac-mega-moo-mall.tbac-mmm-surface-account.woocommerce-account div.woocommerce::before,
html body.tbac-mega-moo-mall.tbac-mmm-surface-account.woocommerce-account div.woocommerce::after{
    content:none !important;
    display:none !important;
}

/* Desktop account shell: fixed navigation card + fluid content card. */
html body.tbac-mega-moo-mall.tbac-mmm-surface-account.woocommerce-account div.woocommerce{
    display:flex !important;
    flex-direction:row !important;
    flex-wrap:nowrap !important;
    align-items:flex-start !important;
    gap:24px !important;
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    grid-template-columns:none !important;
    grid-auto-columns:auto !important;
    grid-auto-rows:auto !important;
}

html body.tbac-mega-moo-mall.tbac-mmm-surface-account.woocommerce-account div.woocommerce > nav.woocommerce-MyAccount-navigation{
    display:block !important;
    flex:0 0 250px !important;
    width:250px !important;
    min-width:250px !important;
    max-width:250px !important;
    float:none !important;
    clear:none !important;
    margin:0 !important;
    box-sizing:border-box !important;
    overflow:visible !important;
}

html body.tbac-mega-moo-mall.tbac-mmm-surface-account.woocommerce-account div.woocommerce > .woocommerce-MyAccount-content{
    display:block !important;
    flex:1 1 0 !important;
    width:auto !important;
    min-width:0 !important;
    max-width:none !important;
    float:none !important;
    clear:none !important;
    margin:0 !important;
    box-sizing:border-box !important;
    overflow-x:auto !important;
}

/* Prevent account identity/navigation text from collapsing into vertical letters. */
html body.tbac-mega-moo-mall.tbac-mmm-surface-account.woocommerce-account nav.woocommerce-MyAccount-navigation,
html body.tbac-mega-moo-mall.tbac-mmm-surface-account.woocommerce-account nav.woocommerce-MyAccount-navigation *{
    writing-mode:horizontal-tb !important;
    word-break:normal !important;
    overflow-wrap:normal !important;
}

html body.tbac-mega-moo-mall.tbac-mmm-surface-account.woocommerce-account nav.woocommerce-MyAccount-navigation a{
    white-space:normal !important;
}

/* Tablet/mobile: stack full-width cards. */
@media (max-width:900px){
    html body.tbac-mega-moo-mall.tbac-mmm-surface-account.woocommerce-account div.woocommerce{
        flex-direction:column !important;
        flex-wrap:nowrap !important;
        gap:16px !important;
    }

    html body.tbac-mega-moo-mall.tbac-mmm-surface-account.woocommerce-account div.woocommerce > nav.woocommerce-MyAccount-navigation,
    html body.tbac-mega-moo-mall.tbac-mmm-surface-account.woocommerce-account div.woocommerce > .woocommerce-MyAccount-content{
        flex:0 0 auto !important;
        width:100% !important;
        min-width:0 !important;
        max-width:100% !important;
        margin:0 !important;
    }

    html body.tbac-mega-moo-mall.tbac-mmm-surface-account.woocommerce-account nav.woocommerce-MyAccount-navigation ul{
        grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    }
}

@media (max-width:600px){
    html body.tbac-mega-moo-mall.tbac-mmm-surface-account.woocommerce-account nav.woocommerce-MyAccount-navigation ul{
        grid-template-columns:1fr !important;
    }
}

/* ==========================================================================
   v0.7.1 Premium Membership & Billing final UI
   Presentation only. WooCommerce Subscriptions remains the source of truth.
   ========================================================================== */

body.tbac-mmm-surface-account .tbac-mmm-commerce-hero--account{
    margin-bottom:18px;
}

body.tbac-mmm-surface-account .tbac-mmm-premium-account-overview{
    margin:0 auto 18px;
    padding:24px;
    border:1px solid rgba(23,77,52,.16);
    border-radius:24px;
    background:linear-gradient(145deg,#fffdf7 0%,#fff8e8 100%);
    box-shadow:0 18px 42px rgba(33,49,38,.10);
    box-sizing:border-box;
}

body.tbac-mmm-surface-account .tbac-mmm-premium-account-overview__head{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:24px;
    margin-bottom:20px;
}

body.tbac-mmm-surface-account .tbac-mmm-premium-account-overview__head h2{
    margin:3px 0 7px;
    color:#173f2d;
    font-size:clamp(1.55rem,2.6vw,2.35rem);
    line-height:1.03;
    letter-spacing:-.025em;
}

body.tbac-mmm-surface-account .tbac-mmm-premium-account-overview__head p{
    max-width:720px;
    margin:0;
    color:#4b6255;
    font-size:1rem;
    line-height:1.55;
}

body.tbac-mmm-surface-account .tbac-mmm-premium-status{
    display:inline-flex;
    flex:0 0 auto;
    align-items:center;
    gap:8px;
    min-height:42px;
    padding:9px 15px;
    border:1px solid #1a6543;
    border-radius:999px;
    background:#eaf6ee;
    color:#174d34;
    font-weight:900;
    line-height:1.1;
    white-space:nowrap;
}
body.tbac-mmm-surface-account .tbac-mmm-premium-status > span{
    color:#c39123;
}
body.tbac-mmm-surface-account .tbac-mmm-premium-status--pending-cancel{
    border-color:#b27c18;
    background:#fff3d4;
    color:#704b0c;
}
body.tbac-mmm-surface-account .tbac-mmm-premium-status--on-hold,
body.tbac-mmm-surface-account .tbac-mmm-premium-status--pending{
    border-color:#a64e2e;
    background:#fff0e8;
    color:#7b321c;
}
body.tbac-mmm-surface-account .tbac-mmm-premium-status--cancelled,
body.tbac-mmm-surface-account .tbac-mmm-premium-status--expired{
    border-color:#76766e;
    background:#f1f0eb;
    color:#4d4d48;
}

body.tbac-mmm-surface-account .tbac-mmm-premium-account-facts{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:12px;
}

body.tbac-mmm-surface-account .tbac-mmm-premium-account-facts article{
    min-width:0;
    padding:17px 18px;
    border:1px solid rgba(23,77,52,.13);
    border-radius:16px;
    background:#fff;
    box-shadow:0 8px 20px rgba(30,49,36,.05);
}
body.tbac-mmm-surface-account .tbac-mmm-premium-account-facts article > span{
    display:block;
    margin-bottom:8px;
    color:#6d755f;
    font-size:.73rem;
    font-weight:900;
    letter-spacing:.075em;
    line-height:1.2;
    text-transform:uppercase;
}
body.tbac-mmm-surface-account .tbac-mmm-premium-account-facts article > strong{
    display:block;
    color:#173f2d;
    font-size:1.12rem;
    font-weight:900;
    line-height:1.22;
    overflow-wrap:anywhere;
}
body.tbac-mmm-surface-account .tbac-mmm-premium-account-facts article > small{
    display:block;
    margin-top:7px;
    color:#647066;
    font-size:.82rem;
    line-height:1.4;
}
body.tbac-mmm-surface-account .tbac-mmm-premium-account-fact--coins{
    border-color:rgba(201,150,43,.36) !important;
    background:linear-gradient(145deg,#fffdf6,#fff4d6) !important;
}

body.tbac-mmm-surface-account .tbac-mmm-premium-benefit-strip{
    display:flex;
    align-items:center;
    justify-content:center;
    flex-wrap:wrap;
    gap:9px 12px;
    margin:15px 0 0;
    padding:13px 15px;
    border:1px solid rgba(23,77,52,.12);
    border-radius:14px;
    background:#eef7f0;
    color:#294838;
    font-size:.9rem;
    font-weight:750;
    text-align:center;
}
body.tbac-mmm-surface-account .tbac-mmm-premium-benefit-strip span{
    display:inline-flex;
    align-items:center;
    gap:5px;
}
body.tbac-mmm-surface-account .tbac-mmm-premium-benefit-strip span + span::before{
    content:'•';
    margin-right:7px;
    color:#bf8d24;
}
body.tbac-mmm-surface-account .tbac-mmm-premium-benefit-strip b{
    color:#17623d;
    font-weight:950;
}

body.tbac-mmm-surface-account .tbac-mmm-premium-account-actions{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:10px;
    margin-top:16px;
}
body.tbac-mmm-surface-account .tbac-mmm-premium-action{
    display:flex !important;
    align-items:center;
    justify-content:center;
    min-height:46px;
    padding:10px 14px;
    border:1px solid #d9bd72;
    border-radius:13px;
    background:#fff8e7;
    color:#173f2d !important;
    font-weight:900;
    line-height:1.15;
    text-align:center;
    text-decoration:none !important;
    box-shadow:none;
}
body.tbac-mmm-surface-account .tbac-mmm-premium-action--primary{
    border-color:#174d34;
    background:#174d34;
    color:#fff !important;
}
body.tbac-mmm-surface-account .tbac-mmm-premium-action:hover,
body.tbac-mmm-surface-account .tbac-mmm-premium-action:focus-visible,
body.tbac-mmm-surface-account .tbac-mmm-premium-action--primary:hover,
body.tbac-mmm-surface-account .tbac-mmm-premium-action--primary:focus-visible{
    border-color:#c79b38 !important;
    background:#fff3cf !important;
    color:#173f2d !important;
    outline:3px solid rgba(199,155,56,.20) !important;
    outline-offset:2px;
}

/* Make the native Woo account shell feel intentionally secondary to the
   Premium overview, while preserving every native action and endpoint. */
body.tbac-mmm-surface-account .tbac-mmm-commerce-content{
    padding:18px !important;
    border:1px solid rgba(23,77,52,.10) !important;
    background:rgba(255,255,255,.72) !important;
    box-shadow:0 14px 34px rgba(31,48,36,.07) !important;
}

html body.tbac-mega-moo-mall.tbac-mmm-surface-account.woocommerce-account div.woocommerce > nav.woocommerce-MyAccount-navigation{
    padding:14px !important;
    border:1px solid rgba(23,77,52,.14) !important;
    border-radius:18px !important;
    background:linear-gradient(180deg,#fffdf8,#fff7e8) !important;
    box-shadow:0 10px 24px rgba(29,48,35,.08) !important;
}

html body.tbac-mega-moo-mall.tbac-mmm-surface-account.woocommerce-account nav.woocommerce-MyAccount-navigation ul{
    gap:8px !important;
}

html body.tbac-mega-moo-mall.tbac-mmm-surface-account.woocommerce-account nav.woocommerce-MyAccount-navigation a{
    min-height:42px !important;
    padding:9px 12px !important;
    border:1px solid rgba(205,174,96,.30) !important;
    border-radius:11px !important;
    background:#fff9e9 !important;
    color:#173f2d !important;
    font-size:.94rem;
    font-weight:850 !important;
    line-height:1.2 !important;
}
html body.tbac-mega-moo-mall.tbac-mmm-surface-account.woocommerce-account nav.woocommerce-MyAccount-navigation .is-active > a{
    border-color:#174d34 !important;
    background:#174d34 !important;
    color:#fff !important;
}
html body.tbac-mega-moo-mall.tbac-mmm-surface-account.woocommerce-account nav.woocommerce-MyAccount-navigation a:hover,
html body.tbac-mega-moo-mall.tbac-mmm-surface-account.woocommerce-account nav.woocommerce-MyAccount-navigation a:focus-visible,
html body.tbac-mega-moo-mall.tbac-mmm-surface-account.woocommerce-account nav.woocommerce-MyAccount-navigation .is-active > a:hover,
html body.tbac-mega-moo-mall.tbac-mmm-surface-account.woocommerce-account nav.woocommerce-MyAccount-navigation .is-active > a:focus-visible{
    border-color:#c79b38 !important;
    background:#fff3cf !important;
    color:#173f2d !important;
}

html body.tbac-mega-moo-mall.tbac-mmm-surface-account.woocommerce-account div.woocommerce > .woocommerce-MyAccount-content{
    padding:16px !important;
    border:1px solid rgba(23,77,52,.12) !important;
    border-radius:18px !important;
    background:#fff !important;
    box-shadow:0 10px 24px rgba(29,48,35,.08) !important;
}

body.tbac-mmm-surface-account .woocommerce-MyAccount-content table,
body.tbac-mmm-surface-account .woocommerce-MyAccount-content table.shop_table{
    overflow:hidden;
    border:1px solid rgba(23,77,52,.12) !important;
    border-radius:14px !important;
    box-shadow:none !important;
}
body.tbac-mmm-surface-account .woocommerce-MyAccount-content table thead th,
body.tbac-mmm-surface-account .woocommerce-MyAccount-content table.shop_table thead th{
    background:#f4ead0 !important;
    color:#173f2d !important;
    font-size:.78rem;
    font-weight:900 !important;
    letter-spacing:.02em;
}
body.tbac-mmm-surface-account .woocommerce-MyAccount-content table tbody td,
body.tbac-mmm-surface-account .woocommerce-MyAccount-content table.shop_table tbody td{
    background:#fff !important;
    color:#334b3e !important;
    font-size:.92rem;
}

/* Tablet portrait and landscape are explicit targets, not accidental desktop
   fallbacks. */
@media (max-width:1180px){
    body.tbac-mmm-surface-account .tbac-mmm-premium-account-facts{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
    body.tbac-mmm-surface-account .tbac-mmm-premium-account-actions{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}

@media (min-width:901px) and (max-width:1180px){
    html body.tbac-mega-moo-mall.tbac-mmm-surface-account.woocommerce-account div.woocommerce{
        gap:18px !important;
    }
    html body.tbac-mega-moo-mall.tbac-mmm-surface-account.woocommerce-account div.woocommerce > nav.woocommerce-MyAccount-navigation{
        flex-basis:220px !important;
        width:220px !important;
        min-width:220px !important;
        max-width:220px !important;
    }
    html body.tbac-mega-moo-mall.tbac-mmm-surface-account.woocommerce-account nav.woocommerce-MyAccount-navigation a{
        font-size:.89rem;
    }
}

@media (max-width:900px){
    body.tbac-mmm-surface-account .tbac-mmm-premium-account-overview{
        padding:20px;
        border-radius:20px;
    }
    body.tbac-mmm-surface-account .tbac-mmm-premium-account-overview__head{
        align-items:flex-start;
        gap:14px;
    }
    body.tbac-mmm-surface-account .tbac-mmm-premium-status{
        min-height:38px;
        padding:8px 12px;
    }
    html body.tbac-mega-moo-mall.tbac-mmm-surface-account.woocommerce-account div.woocommerce > nav.woocommerce-MyAccount-navigation{
        padding:12px !important;
    }
    html body.tbac-mega-moo-mall.tbac-mmm-surface-account.woocommerce-account nav.woocommerce-MyAccount-navigation ul{
        grid-template-columns:repeat(4,minmax(0,1fr)) !important;
        gap:8px !important;
    }
    html body.tbac-mega-moo-mall.tbac-mmm-surface-account.woocommerce-account nav.woocommerce-MyAccount-navigation a{
        justify-content:center !important;
        min-height:44px !important;
        padding:8px 7px !important;
        font-size:.82rem;
        text-align:center;
    }
    html body.tbac-mega-moo-mall.tbac-mmm-surface-account.woocommerce-account div.woocommerce > .woocommerce-MyAccount-content{
        padding:14px !important;
        overflow-x:auto !important;
    }
}

@media (max-width:700px){
    body.tbac-mmm-surface-account .tbac-mmm-premium-account-overview__head{
        flex-direction:column;
    }
    body.tbac-mmm-surface-account .tbac-mmm-premium-account-facts,
    body.tbac-mmm-surface-account .tbac-mmm-premium-account-actions{
        grid-template-columns:1fr;
    }
    body.tbac-mmm-surface-account .tbac-mmm-premium-benefit-strip{
        align-items:stretch;
        flex-direction:column;
        text-align:left;
    }
    body.tbac-mmm-surface-account .tbac-mmm-premium-benefit-strip span + span::before{
        display:none;
    }
    html body.tbac-mega-moo-mall.tbac-mmm-surface-account.woocommerce-account nav.woocommerce-MyAccount-navigation ul{
        grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    }
}

@media (max-width:440px){
    body.tbac-mmm-surface-account .tbac-mmm-premium-account-overview{
        padding:16px;
    }
    body.tbac-mmm-surface-account .tbac-mmm-premium-account-facts article{
        padding:15px;
    }
    html body.tbac-mega-moo-mall.tbac-mmm-surface-account.woocommerce-account nav.woocommerce-MyAccount-navigation ul{
        grid-template-columns:1fr !important;
    }
}

/* Tablet portrait: native Woo subscription tables become compact detail cards
   instead of forcing five columns into the available width. */
@media (max-width:900px){
    body.tbac-mmm-surface-account .woocommerce-MyAccount-content table.shop_table,
    body.tbac-mmm-surface-account .woocommerce-MyAccount-content table.woocommerce-orders-table{
        display:block !important;
        width:100% !important;
        border:0 !important;
        background:transparent !important;
        overflow:visible !important;
    }
    body.tbac-mmm-surface-account .woocommerce-MyAccount-content table.shop_table thead,
    body.tbac-mmm-surface-account .woocommerce-MyAccount-content table.woocommerce-orders-table thead{
        display:none !important;
    }
    body.tbac-mmm-surface-account .woocommerce-MyAccount-content table.shop_table tbody,
    body.tbac-mmm-surface-account .woocommerce-MyAccount-content table.woocommerce-orders-table tbody{
        display:block !important;
        width:100% !important;
    }
    body.tbac-mmm-surface-account .woocommerce-MyAccount-content table.shop_table tbody tr,
    body.tbac-mmm-surface-account .woocommerce-MyAccount-content table.woocommerce-orders-table tbody tr{
        display:grid !important;
        grid-template-columns:repeat(2,minmax(0,1fr)) !important;
        gap:9px !important;
        width:100% !important;
        margin:0 !important;
        padding:10px !important;
        border:1px solid rgba(23,77,52,.13) !important;
        border-radius:15px !important;
        background:#fffdf8 !important;
    }
    body.tbac-mmm-surface-account .woocommerce-MyAccount-content table.shop_table tbody td,
    body.tbac-mmm-surface-account .woocommerce-MyAccount-content table.woocommerce-orders-table tbody td{
        display:flex !important;
        min-width:0 !important;
        min-height:62px;
        flex-direction:column;
        align-items:flex-start !important;
        justify-content:center;
        gap:4px;
        padding:11px 12px !important;
        border:1px solid rgba(23,77,52,.09) !important;
        border-radius:11px !important;
        background:#fff !important;
        text-align:left !important;
        overflow-wrap:anywhere;
    }
    body.tbac-mmm-surface-account .woocommerce-MyAccount-content table.shop_table tbody td::before,
    body.tbac-mmm-surface-account .woocommerce-MyAccount-content table.woocommerce-orders-table tbody td::before{
        content:attr(data-title) !important;
        display:block !important;
        width:auto !important;
        margin:0 0 2px !important;
        color:#74806f !important;
        font-size:.68rem !important;
        font-weight:900 !important;
        letter-spacing:.07em;
        line-height:1.15;
        text-transform:uppercase;
        float:none !important;
    }
    body.tbac-mmm-surface-account .woocommerce-MyAccount-content table.shop_table tbody td:last-child,
    body.tbac-mmm-surface-account .woocommerce-MyAccount-content table.woocommerce-orders-table tbody td:last-child{
        grid-column:1 / -1 !important;
        min-height:auto;
        align-items:stretch !important;
    }
    body.tbac-mmm-surface-account .woocommerce-MyAccount-content table.shop_table tbody td:last-child::before,
    body.tbac-mmm-surface-account .woocommerce-MyAccount-content table.woocommerce-orders-table tbody td:last-child::before{
        display:none !important;
    }
    body.tbac-mmm-surface-account .woocommerce-MyAccount-content table.shop_table tbody td:last-child .button,
    body.tbac-mmm-surface-account .woocommerce-MyAccount-content table.woocommerce-orders-table tbody td:last-child .button{
        width:100% !important;
        min-height:44px !important;
    }
}

@media (max-width:560px){
    body.tbac-mmm-surface-account .woocommerce-MyAccount-content table.shop_table tbody tr,
    body.tbac-mmm-surface-account .woocommerce-MyAccount-content table.woocommerce-orders-table tbody tr{
        grid-template-columns:1fr !important;
    }
    body.tbac-mmm-surface-account .woocommerce-MyAccount-content table.shop_table tbody td:last-child,
    body.tbac-mmm-surface-account .woocommerce-MyAccount-content table.woocommerce-orders-table tbody td:last-child{
        grid-column:auto !important;
    }
}

/* Physical-tablet orientation hardening. These selectors deliberately outrank
   the older tablet account rules elsewhere in the Mall stylesheet. */
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet.tbac-mmm-orientation-portrait.tbac-mmm-surface-account.woocommerce-account div.woocommerce{
    display:flex !important;
    flex-direction:column !important;
    flex-wrap:nowrap !important;
    gap:16px !important;
}
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet.tbac-mmm-orientation-portrait.tbac-mmm-surface-account.woocommerce-account div.woocommerce > nav.woocommerce-MyAccount-navigation,
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet.tbac-mmm-orientation-portrait.tbac-mmm-surface-account.woocommerce-account div.woocommerce > .woocommerce-MyAccount-content{
    flex:0 0 auto !important;
    width:100% !important;
    min-width:0 !important;
    max-width:100% !important;
    float:none !important;
    margin:0 !important;
}
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet.tbac-mmm-orientation-portrait.tbac-mmm-surface-account.woocommerce-account nav.woocommerce-MyAccount-navigation ul{
    display:grid !important;
    grid-template-columns:repeat(4,minmax(0,1fr)) !important;
    gap:8px !important;
}
body.tbac-mega-moo-mall.tbac-mmm-physical-tablet.tbac-mmm-orientation-portrait.tbac-mmm-surface-account.woocommerce-account nav.woocommerce-MyAccount-navigation a{
    justify-content:center !important;
    min-width:0 !important;
    text-align:center !important;
    white-space:normal !important;
}

@media (min-width:901px){
    body.tbac-mega-moo-mall.tbac-mmm-physical-tablet.tbac-mmm-orientation-landscape.tbac-mmm-surface-account.woocommerce-account div.woocommerce{
        display:flex !important;
        flex-direction:row !important;
        flex-wrap:nowrap !important;
        align-items:flex-start !important;
        gap:18px !important;
    }
    body.tbac-mega-moo-mall.tbac-mmm-physical-tablet.tbac-mmm-orientation-landscape.tbac-mmm-surface-account.woocommerce-account div.woocommerce > nav.woocommerce-MyAccount-navigation{
        flex:0 0 220px !important;
        width:220px !important;
        min-width:220px !important;
        max-width:220px !important;
        float:none !important;
        margin:0 !important;
    }
    body.tbac-mega-moo-mall.tbac-mmm-physical-tablet.tbac-mmm-orientation-landscape.tbac-mmm-surface-account.woocommerce-account div.woocommerce > .woocommerce-MyAccount-content{
        flex:1 1 0 !important;
        width:auto !important;
        min-width:0 !important;
        max-width:none !important;
        float:none !important;
        margin:0 !important;
    }
}

/* ==========================================================================\n   v0.7.4 PREMIUM BILLING / ORDER PAY\n   Premium renewal and recovery payments receive the same grown-up visual\n   standard as Premium Membership & Billing while WooCommerce remains the\n   source of truth for totals, gateways, validation and payment submission.\n   ========================================================================== */
body.tbac-mega-moo-mall.tbac-mmm-premium-order-pay .tbac-mmm-commerce-hero{
    border-color:#d7bd72;
    background:linear-gradient(118deg,rgba(19,70,47,.98),rgba(42,111,72,.97));
    box-shadow:0 18px 46px rgba(30,21,12,.26);
}
body.tbac-mega-moo-mall.tbac-mmm-premium-order-pay .tbac-mmm-commerce-hero__topline{
    margin-bottom:22px;
}
body.tbac-mega-moo-mall .tbac-mmm-premium-orderpay-overview{
    box-sizing:border-box;
    margin-bottom:18px;
    padding:clamp(22px,3.2vw,34px);
    border:2px solid #c9ae6f;
    border-radius:26px;
    background:rgba(255,250,238,.97);
    box-shadow:0 16px 36px rgba(49,31,18,.18);
    backdrop-filter:blur(3px);
    -webkit-backdrop-filter:blur(3px);
}
body.tbac-mega-moo-mall .tbac-mmm-premium-orderpay-overview__copy{
    max-width:850px;
}
body.tbac-mega-moo-mall .tbac-mmm-premium-orderpay-overview__copy h2{
    margin:6px 0 8px;
    color:#3f2b1e;
    font:800 clamp(1.8rem,3.5vw,2.75rem)/1.05 Georgia,'Times New Roman',serif;
}
body.tbac-mega-moo-mall .tbac-mmm-premium-orderpay-overview__copy p{
    max-width:780px;
    margin:0;
    color:#66513d;
    font:700 .95rem/1.55 Arial,sans-serif;
}
body.tbac-mega-moo-mall .tbac-mmm-premium-orderpay-facts{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:12px;
    margin-top:22px;
}
body.tbac-mega-moo-mall .tbac-mmm-premium-orderpay-facts article{
    min-width:0;
    padding:16px 17px;
    border:1px solid #d8c698;
    border-radius:16px;
    background:#fffdf7;
    box-shadow:0 5px 14px rgba(69,46,27,.06);
}
body.tbac-mega-moo-mall .tbac-mmm-premium-orderpay-facts span{
    display:block;
    margin-bottom:5px;
    color:#6d5c47;
    font:900 .7rem/1.2 Arial,sans-serif;
    letter-spacing:.06em;
    text-transform:uppercase;
}
body.tbac-mega-moo-mall .tbac-mmm-premium-orderpay-facts strong{
    display:block;
    overflow-wrap:anywhere;
    color:#204f35;
    font:800 1.02rem/1.35 Arial,sans-serif;
}
body.tbac-mega-moo-mall .tbac-mmm-premium-orderpay-benefits{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:9px;
    margin-top:12px;
}
body.tbac-mega-moo-mall .tbac-mmm-premium-orderpay-benefits span{
    display:flex;
    align-items:center;
    gap:7px;
    min-width:0;
    padding:10px 12px;
    border:1px solid #bfd0b7;
    border-radius:12px;
    background:#eef5e8;
    color:#465a43;
    font:800 .78rem/1.35 Arial,sans-serif;
}
body.tbac-mega-moo-mall .tbac-mmm-premium-orderpay-benefits b{
    flex:0 0 auto;
    color:#245b38;
    font-size:1rem;
}
body.tbac-mega-moo-mall .tbac-mmm-premium-orderpay-content{
    box-sizing:border-box;
    margin-bottom:18px;
}
body.tbac-mega-moo-mall.tbac-mmm-premium-order-pay .tbac-mmm-premium-orderpay-content > .woocommerce,
body.tbac-mega-moo-mall.tbac-mmm-premium-order-pay .tbac-mmm-premium-orderpay-content .woocommerce-order-pay,
body.tbac-mega-moo-mall.tbac-mmm-premium-order-pay .tbac-mmm-premium-orderpay-content form#order_review{
    box-sizing:border-box !important;
    width:100% !important;
    max-width:none !important;
    min-width:0 !important;
    margin:0 !important;
}
body.tbac-mega-moo-mall.tbac-mmm-premium-order-pay .tbac-mmm-premium-orderpay-content > .woocommerce,
body.tbac-mega-moo-mall.tbac-mmm-premium-order-pay .tbac-mmm-premium-orderpay-content .woocommerce-order-pay{
    padding:clamp(22px,3.4vw,36px) !important;
    border:2px solid #c9ae6f !important;
    border-radius:26px !important;
    background:rgba(255,252,244,.985) !important;
    box-shadow:0 16px 36px rgba(49,31,18,.18) !important;
}
body.tbac-mega-moo-mall.tbac-mmm-premium-order-pay .tbac-mmm-premium-orderpay-content table.shop_table{
    width:100% !important;
    margin:0 0 20px !important;
    border:1px solid #d9c89e !important;
    border-collapse:separate !important;
    border-spacing:0 !important;
    border-radius:16px !important;
    overflow:hidden !important;
    background:#fff !important;
    table-layout:auto !important;
}
body.tbac-mega-moo-mall.tbac-mmm-premium-order-pay .tbac-mmm-premium-orderpay-content table.shop_table th,
body.tbac-mega-moo-mall.tbac-mmm-premium-order-pay .tbac-mmm-premium-orderpay-content table.shop_table td{
    padding:14px 16px !important;
    border-color:#eadfc5 !important;
    color:#3d3024 !important;
    vertical-align:middle !important;
    text-align:left !important;
    overflow-wrap:anywhere;
}
body.tbac-mega-moo-mall.tbac-mmm-premium-order-pay .tbac-mmm-premium-orderpay-content table.shop_table thead th,
body.tbac-mega-moo-mall.tbac-mmm-premium-order-pay .tbac-mmm-premium-orderpay-content table.shop_table tfoot th{
    background:#edf5e8 !important;
    color:#245b38 !important;
    font-weight:900 !important;
}
body.tbac-mega-moo-mall.tbac-mmm-premium-order-pay .tbac-mmm-premium-orderpay-content #payment,
body.tbac-mega-moo-mall.tbac-mmm-premium-order-pay .tbac-mmm-premium-orderpay-content .woocommerce-checkout-payment{
    box-sizing:border-box !important;
    margin-top:18px !important;
    padding:clamp(18px,2.8vw,28px) !important;
    border:1px solid #cdb98c !important;
    border-radius:18px !important;
    background:#fffaf0 !important;
}
body.tbac-mega-moo-mall.tbac-mmm-premium-order-pay .tbac-mmm-premium-orderpay-content .wc_payment_methods,
body.tbac-mega-moo-mall.tbac-mmm-premium-order-pay .tbac-mmm-premium-orderpay-content .woocommerce-PaymentMethods{
    margin:0 0 14px !important;
    padding:0 !important;
    list-style:none !important;
}
body.tbac-mega-moo-mall.tbac-mmm-premium-order-pay .tbac-mmm-premium-orderpay-content .wc_payment_method,
body.tbac-mega-moo-mall.tbac-mmm-premium-order-pay .tbac-mmm-premium-orderpay-content .woocommerce-PaymentMethod{
    box-sizing:border-box;
    margin:0 0 10px !important;
    padding:13px 14px !important;
    border:1px solid #d8c698 !important;
    border-radius:12px !important;
    background:#fff !important;
    color:#3d3024 !important;
}
body.tbac-mega-moo-mall.tbac-mmm-premium-order-pay .tbac-mmm-premium-orderpay-content .payment_box{
    box-sizing:border-box !important;
    margin:12px 0 0 !important;
    padding:14px !important;
    border:1px solid #bfd0b7 !important;
    border-radius:12px !important;
    background:#f3f8ef !important;
    color:#40503f !important;
}
body.tbac-mega-moo-mall.tbac-mmm-premium-order-pay .tbac-mmm-premium-orderpay-content :is(button.button.alt,input.button.alt,#place_order){
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:100% !important;
    max-width:100% !important;
    min-height:52px !important;
    margin-top:18px !important;
    padding:0 20px !important;
    border:2px solid #173f2d !important;
    border-radius:12px !important;
    background:#1e5b3a !important;
    color:#fff !important;
    -webkit-text-fill-color:#fff !important;
    font:900 .9rem/1.15 Arial,sans-serif !important;
    letter-spacing:.02em;
    text-align:center !important;
    box-shadow:0 4px 0 #113724 !important;
}
body.tbac-mega-moo-mall.tbac-mmm-premium-order-pay .tbac-mmm-premium-orderpay-content :is(button.button.alt,input.button.alt,#place_order):hover,
body.tbac-mega-moo-mall.tbac-mmm-premium-order-pay .tbac-mmm-premium-orderpay-content :is(button.button.alt,input.button.alt,#place_order):focus-visible{
    background:#fff5d8 !important;
    color:#173f2d !important;
    -webkit-text-fill-color:#173f2d !important;
    border-color:#b79037 !important;
    outline:3px solid rgba(215,189,114,.48) !important;
    outline-offset:2px !important;
}
/* Subscription Change Payment Method is a Premium account destination. */
body.tbac-mega-moo-mall.tbac-mmm-surface-account .woocommerce-MyAccount-content form#order_review,
body.tbac-mega-moo-mall.tbac-mmm-surface-account .woocommerce-MyAccount-content form.woocommerce-checkout{
    box-sizing:border-box;
    max-width:100%;
}
body.tbac-mega-moo-mall.tbac-mmm-surface-account .woocommerce-MyAccount-content .woocommerce-checkout-payment{
    box-sizing:border-box;
    padding:clamp(16px,2.4vw,24px) !important;
    border:1px solid #cdb98c !important;
    border-radius:16px !important;
    background:#fffaf0 !important;
}

/* Tablet portrait is deliberately stacked and spacious. */
@media (min-width:700px) and (max-width:900px) and (orientation:portrait){
    body.tbac-mega-moo-mall.tbac-mmm-premium-order-pay .tbac-mmm-premium-orderpay-facts,
    body.tbac-mega-moo-mall.tbac-mmm-premium-order-pay .tbac-mmm-premium-orderpay-benefits{
        grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    }
    body.tbac-mega-moo-mall.tbac-mmm-premium-order-pay .tbac-mmm-premium-orderpay-benefits span:last-child{
        grid-column:1 / -1;
    }
    body.tbac-mega-moo-mall.tbac-mmm-premium-order-pay .tbac-mmm-premium-orderpay-content > .woocommerce,
    body.tbac-mega-moo-mall.tbac-mmm-premium-order-pay .tbac-mmm-premium-orderpay-content .woocommerce-order-pay{
        padding:24px !important;
    }
    body.tbac-mega-moo-mall.tbac-mmm-premium-order-pay .tbac-mmm-premium-orderpay-content table.shop_table th,
    body.tbac-mega-moo-mall.tbac-mmm-premium-order-pay .tbac-mmm-premium-orderpay-content table.shop_table td{
        padding:13px 14px !important;
    }
}

/* Tablet landscape keeps a wide, centered billing card with no narrow columns. */
@media (min-width:901px) and (max-width:1280px) and (orientation:landscape){
    body.tbac-mega-moo-mall.tbac-mmm-premium-order-pay .tbac-mmm-premium-orderpay-content,
    body.tbac-mega-moo-mall.tbac-mmm-premium-order-pay .tbac-mmm-premium-orderpay-overview{
        width:min(100%,1080px) !important;
    }
    body.tbac-mega-moo-mall.tbac-mmm-premium-order-pay .tbac-mmm-premium-orderpay-content > .woocommerce,
    body.tbac-mega-moo-mall.tbac-mmm-premium-order-pay .tbac-mmm-premium-orderpay-content .woocommerce-order-pay{
        min-width:0 !important;
        padding:26px !important;
    }
}

@media (max-width:699px){
    body.tbac-mega-moo-mall .tbac-mmm-premium-orderpay-facts,
    body.tbac-mega-moo-mall .tbac-mmm-premium-orderpay-benefits{
        grid-template-columns:1fr !important;
    }
    body.tbac-mega-moo-mall .tbac-mmm-premium-orderpay-overview{
        padding:18px 14px;
        border-radius:20px;
    }
    body.tbac-mega-moo-mall.tbac-mmm-premium-order-pay .tbac-mmm-premium-orderpay-content > .woocommerce,
    body.tbac-mega-moo-mall.tbac-mmm-premium-order-pay .tbac-mmm-premium-orderpay-content .woocommerce-order-pay{
        padding:18px 14px !important;
        border-radius:20px !important;
    }
    body.tbac-mega-moo-mall.tbac-mmm-premium-order-pay .tbac-mmm-premium-orderpay-content table.shop_table th,
    body.tbac-mega-moo-mall.tbac-mmm-premium-order-pay .tbac-mmm-premium-orderpay-content table.shop_table td{
        padding:11px 10px !important;
        font-size:.9rem !important;
    }
}
@media (max-width:699px){
    body.tbac-mega-moo-mall.tbac-mmm-premium-order-pay .tbac-mmm-commerce-hero__topline{
        flex-direction:column !important;
        align-items:stretch !important;
        gap:10px !important;
    }
    body.tbac-mega-moo-mall.tbac-mmm-premium-order-pay .tbac-mmm-commerce-back{
        box-sizing:border-box !important;
        width:100% !important;
        max-width:100% !important;
        white-space:normal !important;
        text-align:center !important;
    }
    body.tbac-mega-moo-mall.tbac-mmm-premium-order-pay .tbac-mmm-commerce-steps{
        display:grid !important;
        grid-template-columns:repeat(3,minmax(0,1fr)) !important;
        box-sizing:border-box !important;
        width:100% !important;
        max-width:100% !important;
        gap:4px !important;
    }
    body.tbac-mega-moo-mall.tbac-mmm-premium-order-pay .tbac-mmm-commerce-steps span{
        min-width:0 !important;
        padding:6px 7px !important;
        text-align:center !important;
    }
}
