/* Cuisina9 profile — header v0.3.4 */
.tc-site-profile--cuisina9 {
    --tc-c9-navy: #0b0b2f;
    --tc-c9-ink: #201e1d;
    --tc-c9-muted: #665d58;
    --tc-c9-line: #e8e5e2;
    --tc-c9-gold: #b18a54;
}

.tc-c9-header {
    background: #fff;
    color: var(--tc-c9-ink);
    border-top: 3px solid #303236;
    border-bottom: 1px solid var(--tc-c9-line);
    box-shadow: none;
}

.tc-c9-header .tc-c9-header__inner {
    width: min(100% - 3.5rem, 1880px);
    max-width: 1880px;
    min-height: 86px;
    grid-template-columns: minmax(220px, auto) minmax(0, 1fr) auto;
    gap: clamp(1.5rem, 2.6vw, 3.75rem);
}

.tc-c9-brand {
    display: inline-flex;
    align-items: center;
    gap: .85rem;
    min-width: 0;
    color: var(--tc-c9-ink);
    text-decoration: none;
}

.tc-c9-brand__mark {
    display: inline-flex;
    width: 72px;
    height: 60px;
    flex: 0 0 72px;
    align-items: center;
    justify-content: center;
}

.tc-c9-brand__logo {
    display: block;
    width: 72px;
    height: auto;
    max-height: 60px;
    object-fit: contain;
}


.tc-c9-brand__copy {
    display: grid;
    gap: .16rem;
    line-height: 1;
}

.tc-c9-brand__name {
    color: #12142f;
    font-size: 1.22rem;
    font-weight: 700;
    letter-spacing: .015em;
    white-space: nowrap;
}

.tc-c9-brand__group {
    color: #6e6873;
    font-size: .62rem;
    font-weight: 500;
    letter-spacing: .035em;
    white-space: nowrap;
}

.tc-c9-brand__fallback {
    display: grid;
    width: 54px;
    height: 54px;
    place-items: center;
    border-radius: 50%;
    background: var(--tc-c9-navy);
    color: #fff;
    font-weight: 800;
}


.tc-c9-nav {
    justify-self: center;
}

.tc-c9-menu {
    gap: clamp(.7rem, 1.45vw, 1.75rem);
}

.tc-c9-menu > li > a {
    min-height: 48px;
    border-bottom: 0;
    color: #5d514c;
    font-size: .76rem;
    font-weight: 510;
    letter-spacing: .015em;
    text-transform: uppercase;
}

.tc-c9-menu > li.current-menu-item > a,
.tc-c9-menu > li.current-menu-ancestor > a,
.tc-c9-menu > li > a:hover,
.tc-c9-menu > li > a:focus-visible {
    color: #1f1b19;
    border-bottom-color: transparent;
}

.tc-c9-menu > .menu-item-has-children > a::after {
    content: "";
    width: 5px;
    height: 5px;
    margin-left: .45rem;
    border-right: 1px solid currentColor;
    border-bottom: 1px solid currentColor;
    transform: translateY(-2px) rotate(45deg);
}

.tc-c9-menu .sub-menu {
    min-width: 260px;
    padding: .5rem;
    border-color: #e6e1dd;
    border-radius: 2px;
    box-shadow: 0 16px 35px rgb(31 26 23 / 11%);
}

.tc-c9-menu .sub-menu a {
    color: #443d39;
    font-size: .77rem;
}

/* Desktop multi-level dropdowns: a third-level menu must open beside its
 * parent item, not underneath it. This mirrors Cuisina9's historical menu
 * behaviour and prevents the child panel from covering the first submenu. */
.tc-c9-menu .sub-menu > .menu-item-has-children > a {
    justify-content: space-between;
    gap: 1rem;
}

.tc-c9-menu .sub-menu > .menu-item-has-children > a::after {
    content: "";
    flex: 0 0 auto;
    width: 5px;
    height: 5px;
    border-top: 1px solid currentColor;
    border-right: 1px solid currentColor;
    transform: rotate(45deg);
}

.tc-c9-menu .sub-menu .sub-menu {
    z-index: 30;
    top: -.5rem;
    left: calc(100% - .15rem);
    transform: translateX(5px);
}

.tc-c9-menu .sub-menu .menu-item-has-children:hover > .sub-menu,
.tc-c9-menu .sub-menu .menu-item-has-children:focus-within > .sub-menu {
    transform: none;
}

.tc-c9-tools {
    display: flex;
    align-items: center;
    justify-self: end;
    gap: .8rem;
    white-space: nowrap;
}

.tc-c9-tool {
    position: relative;
    display: inline-flex;
    min-height: 40px;
    align-items: center;
    justify-content: center;
    gap: .35rem;
    color: #191818;
    font-size: .74rem;
    font-weight: 540;
    letter-spacing: .025em;
    text-decoration: none;
}

.tc-c9-tool:hover,
.tc-c9-tool:focus-visible {
    color: var(--tc-c9-navy);
}

.tc-c9-tool svg {
    width: 19px;
    height: 19px;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.65;
}

.tc-c9-tool--account {
    width: 38px;
}

.tc-c9-tool--cart {
    padding-inline: .15rem;
}

.tc-c9-tool--cart .tc-cart-count {
    position: absolute;
    top: 0;
    right: -7px;
    min-width: 16px;
    min-height: 16px;
    padding: 0 4px;
    background: var(--tc-c9-gold);
    color: #fff;
    font-size: .55rem;
}

.tc-c9-tool--cart .tc-cart-count.is-empty {
    display: none;
}

.tc-c9-pro {
    display: inline-flex;
    min-height: 38px;
    align-items: center;
    justify-content: center;
    padding: .45rem 1rem;
    border-radius: 5px;
    background: var(--tc-c9-navy);
    color: #fff;
    font-size: .72rem;
    font-weight: 720;
    letter-spacing: .02em;
    text-decoration: none;
}

.tc-c9-pro:hover,
.tc-c9-pro:focus-visible {
    background: #15154a;
    color: #fff;
}

.tc-c9-nav-toggle {
    border-color: #ded9d5;
    color: var(--tc-c9-navy);
}

@media (max-width: 1250px) {
    .tc-c9-header .tc-c9-header__inner {
        width: calc(100% - 2rem);
        grid-template-columns: minmax(190px, 1fr) auto auto;
        gap: 1rem;
    }

    .tc-c9-brand__mark { width: 62px; height: 52px; flex-basis: 62px; }
    .tc-c9-brand__logo { width: 62px; height: auto; max-height: 52px; }
    .tc-c9-brand__name { font-size: 1.05rem; }
    .tc-c9-brand__group { font-size: .56rem; }

    .tc-c9-nav-toggle { display: inline-flex; align-items: center; justify-content: center; }
    .tc-c9-nav {
        display: none;
        grid-column: 1 / -1;
        justify-self: stretch;
        padding: .3rem 0 1rem;
    }
    .tc-c9-nav.is-open { display: block; }
    .tc-c9-menu { display: grid; gap: 0; }
    .tc-c9-menu > li > a {
        min-height: 44px;
        padding: .5rem 0;
        border-bottom: 1px solid var(--tc-c9-line);
    }
    .tc-c9-menu .sub-menu {
        position: static;
        opacity: 1;
        pointer-events: auto;
        transform: none;
        box-shadow: none;
        border: 0;
        border-left: 1px solid var(--tc-c9-line);
        margin: 0 0 .4rem .5rem;
        padding: 0 0 0 1rem;
    }
}

@media (max-width: 760px) {
    .tc-c9-header { border-top-width: 2px; }

    .tc-c9-header .tc-c9-header__inner {
        min-height: 72px;
        grid-template-columns: 1fr auto auto;
        width: calc(100% - 1.4rem);
        gap: .45rem;
    }

    .tc-c9-brand { gap: .4rem; }
    .tc-c9-brand__mark { width: 58px; height: 46px; flex-basis: 58px; }
    .tc-c9-brand__logo { width: 58px; height: auto; max-height: 46px; }
    .tc-c9-brand__copy { display: none; }

    .tc-c9-tool--account { width: 34px; }
    .tc-c9-tool__label,
    .tc-c9-pro { display: none; }
    .tc-c9-tool--cart { min-width: 32px; }

    .tc-c9-tools { gap: .15rem; }
    .tc-c9-nav-toggle { min-height: 38px; padding-inline: .65rem; }
}


/* Cuisina9 footer — WordPress menus + TikiCore settings, matching the original brand. */
.tc-footer--cuisina9 {
    margin-top: 0;
    background: #171738;
    color: #fff;
}
.tc-footer--cuisina9 .tc-footer__grid {
    display: grid;
    grid-template-columns: 1.05fr 1.1fr 1.05fr .95fr;
    gap: clamp(2.2rem, 4vw, 5rem);
    padding-block: 1.55rem 1.45rem;
}
.tc-footer--cuisina9 .tc-footer__column h2 {
    margin: 0 0 .85rem;
    color: #fff;
    font-size: .78rem;
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: 0;
    text-transform: uppercase;
}
.tc-footer--cuisina9 .tc-footer__column p {
    margin: 0;
    color: #fff;
    font-size: .78rem;
    line-height: 1.5;
}
.tc-footer--cuisina9 .tc-footer__column strong { font-weight: 700; }
.tc-footer--cuisina9 .tc-footer__column a {
    color: #fff;
    text-decoration: none;
}
.tc-footer--cuisina9 .tc-footer__column a:hover,
.tc-footer--cuisina9 .tc-footer__column a:focus-visible {
    color: #d9d9ea;
    text-decoration: underline;
    text-underline-offset: 2px;
}
.tc-footer--cuisina9 .tc-footer-list {
    display: grid;
    gap: .2rem;
    margin: 0;
    padding: 0;
    list-style: none;
}
.tc-footer--cuisina9 .tc-footer-list a {
    display: inline-block;
    font-size: .78rem;
    line-height: 1.42;
}
.tc-footer--cuisina9 .tc-footer__bottom-wrap {
    background: #1a1a1a;
}
.tc-footer--cuisina9 .tc-footer__bottom {
    padding-block: 1rem;
    border-top: 0;
}
.tc-footer--cuisina9 .tc-footer__bottom p {
    margin: 0;
    color: #fff;
    font-size: .76rem;
}
@media (max-width: 920px) {
    .tc-footer--cuisina9 .tc-footer__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 2rem 3rem;
    }
}
@media (max-width: 620px) {
    .tc-footer--cuisina9 .tc-footer__grid {
        grid-template-columns: 1fr;
        gap: 1.5rem;
        padding-block: 1.5rem 1.35rem;
    }
}


/* Product-category editorial image. Uses the native WooCommerce category image. */
.tc-site-profile--cuisina9.tax-product_cat .woocommerce-products-header {
    max-width: 1180px;
}

.tc-site-profile--cuisina9 .tc-c9-category-visual {
    width: 100%;
    margin: 1.2rem 0 1.6rem;
    overflow: hidden;
    border-radius: 10px;
    background: #f5f3f1;
    aspect-ratio: 16 / 5;
}

.tc-site-profile--cuisina9 .tc-c9-category-visual__image {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

@media (max-width: 760px) {
    .tc-site-profile--cuisina9 .tc-c9-category-visual {
        margin-block: .9rem 1.15rem;
        border-radius: 7px;
        aspect-ratio: 16 / 7;
    }
}

/* 0.3.14 — Cuisina9 product archives: keep two cards per row on phones.
   The shared WooCommerce skin drops to one column below 420px; Cuisina9's
   catalogue remains readable in two compact columns instead. */
@media (max-width: 720px) {
    body.tc-site-profile--cuisina9.tax-product_cat ul.products,
    body.tc-site-profile--cuisina9.tax-product_tag ul.products,
    body.tc-site-profile--cuisina9.post-type-archive-product ul.products {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 1.35rem .7rem;
    }

    body.tc-site-profile--cuisina9.tax-product_cat ul.products li.product .woocommerce-loop-product__title,
    body.tc-site-profile--cuisina9.tax-product_tag ul.products li.product .woocommerce-loop-product__title,
    body.tc-site-profile--cuisina9.post-type-archive-product ul.products li.product .woocommerce-loop-product__title {
        min-height: 2.65em;
        margin-bottom: .35rem;
        font-size: .82rem;
        line-height: 1.3;
    }

    body.tc-site-profile--cuisina9.tax-product_cat ul.products li.product .price,
    body.tc-site-profile--cuisina9.tax-product_tag ul.products li.product .price,
    body.tc-site-profile--cuisina9.post-type-archive-product ul.products li.product .price {
        min-height: 0;
        margin-bottom: .45rem;
        font-size: .82rem;
        line-height: 1.35;
    }

    body.tc-site-profile--cuisina9.tax-product_cat ul.products li.product .button,
    body.tc-site-profile--cuisina9.tax-product_tag ul.products li.product .button,
    body.tc-site-profile--cuisina9.post-type-archive-product ul.products li.product .button {
        width: 100%;
        margin-top: .45rem;
        padding: .62rem .4rem;
        font-size: .7rem;
        line-height: 1.2;
        text-align: center;
        white-space: normal;
    }

    body.tc-site-profile--cuisina9.tax-product_cat ul.products li.product .onsale,
    body.tc-site-profile--cuisina9.tax-product_tag ul.products li.product .onsale,
    body.tc-site-profile--cuisina9.post-type-archive-product ul.products li.product .onsale {
        min-width: 42px;
        min-height: 42px;
        padding: 0 .35rem;
        font-size: .72rem;
        line-height: 42px;
    }
}

@media (max-width: 420px) {
    body.tc-site-profile--cuisina9.tax-product_cat ul.products,
    body.tc-site-profile--cuisina9.tax-product_tag ul.products,
    body.tc-site-profile--cuisina9.post-type-archive-product ul.products {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

/* 0.3.24 — stable Cuisina9 product-gallery LCP rule.
   Keep the first WooCommerce product image paintable immediately. The legacy
   additional-variation-gallery plugins have been removed, so WooCommerce core
   now owns variation swaps without any TikiCore interception. */
body.tc-site-profile--cuisina9.single-product .woocommerce-product-gallery {
    opacity: 1 !important;
    transition: none !important;
}

body.tc-site-profile--cuisina9.single-product .woocommerce-product-gallery:not(:has(.flex-viewport))
    .woocommerce-product-gallery__wrapper > .woocommerce-product-gallery__image:not(:first-child) {
    display: none;
}

/* 0.3.17 — Cuisina9 cart + checkout.
   Recreates the clean two-column commerce flow of the historical site while
   keeping WooCommerce markup/data native. Cuisina9-only: Loft is untouched. */
body.tc-site-profile--cuisina9.woocommerce-cart .tc-main--shop > .tc-container,
body.tc-site-profile--cuisina9.woocommerce-checkout .tc-main--shop > .tc-container {
    width: min(calc(100% - 2.5rem), 1120px);
    padding-block: clamp(2rem, 4vw, 4.25rem) 4.5rem;
}

body.tc-site-profile--cuisina9.woocommerce-cart .tc-main--shop h1,
body.tc-site-profile--cuisina9.woocommerce-checkout .tc-main--shop h1 {
    margin: 0 0 clamp(2rem, 4vw, 3.5rem);
    color: var(--tc-c9-navy);
    font-size: clamp(1.7rem, 2.5vw, 2.35rem);
    font-weight: 500;
    line-height: 1.15;
    letter-spacing: -.02em;
    text-align: center;
    text-transform: uppercase;
}

/* Keep all WooCommerce actions in the Cuisina9 palette — no violet buttons. */
body.tc-site-profile--cuisina9.woocommerce-cart .woocommerce a.button,
body.tc-site-profile--cuisina9.woocommerce-cart .woocommerce button.button,
body.tc-site-profile--cuisina9.woocommerce-cart .woocommerce input.button,
body.tc-site-profile--cuisina9.woocommerce-checkout .woocommerce a.button,
body.tc-site-profile--cuisina9.woocommerce-checkout .woocommerce button.button,
body.tc-site-profile--cuisina9.woocommerce-checkout .woocommerce input.button,
body.tc-site-profile--cuisina9.woocommerce-checkout .woocommerce #place_order {
    border: 1px solid var(--tc-c9-navy) !important;
    border-radius: 2px !important;
    background: var(--tc-c9-navy) !important;
    color: #fff !important;
    box-shadow: none !important;
    font-weight: 700;
}

body.tc-site-profile--cuisina9.woocommerce-cart .woocommerce a.button:hover,
body.tc-site-profile--cuisina9.woocommerce-cart .woocommerce button.button:hover,
body.tc-site-profile--cuisina9.woocommerce-cart .woocommerce input.button:hover,
body.tc-site-profile--cuisina9.woocommerce-checkout .woocommerce a.button:hover,
body.tc-site-profile--cuisina9.woocommerce-checkout .woocommerce button.button:hover,
body.tc-site-profile--cuisina9.woocommerce-checkout .woocommerce input.button:hover,
body.tc-site-profile--cuisina9.woocommerce-checkout .woocommerce #place_order:hover {
    border-color: #1d1d55 !important;
    background: #1d1d55 !important;
    color: #fff !important;
}

/* Disabled/secondary actions remain neutral instead of purple. */
body.tc-site-profile--cuisina9.woocommerce-cart .woocommerce button.button:disabled,
body.tc-site-profile--cuisina9.woocommerce-cart .woocommerce button.button:disabled[disabled],
body.tc-site-profile--cuisina9.woocommerce-cart .woocommerce input.button:disabled,
body.tc-site-profile--cuisina9.woocommerce-cart .woocommerce input.button:disabled[disabled] {
    border-color: #96939d !important;
    background: #96939d !important;
    color: #fff !important;
    opacity: .72;
}

/* ---------- Cart ---------- */
body.tc-site-profile--cuisina9.woocommerce-cart .woocommerce {
    display: flow-root;
}

body.tc-site-profile--cuisina9.woocommerce-cart .woocommerce-cart-form {
    float: left;
    width: min(64%, 700px);
}

body.tc-site-profile--cuisina9.woocommerce-cart .cart-collaterals {
    float: right;
    width: min(34%, 390px);
}

body.tc-site-profile--cuisina9.woocommerce-cart .cart-collaterals .cart_totals {
    float: none;
    width: 100%;
    padding: 1.55rem 1.65rem;
    border: 1px solid #dddade;
    border-radius: 3px;
    background: #fbfbfb;
    box-shadow: 0 1px 2px rgb(20 17 18 / 5%);
}

body.tc-site-profile--cuisina9.woocommerce-cart .cart-collaterals .cart_totals > h2 {
    margin: 0 0 1.2rem;
    color: var(--tc-c9-navy);
    font-size: 1.18rem;
    font-weight: 700;
    text-transform: uppercase;
}

body.tc-site-profile--cuisina9.woocommerce-cart table.shop_table {
    margin: 0;
    border: 0;
    border-collapse: collapse;
    background: #fff;
}

body.tc-site-profile--cuisina9.woocommerce-cart table.shop_table th,
body.tc-site-profile--cuisina9.woocommerce-cart table.shop_table td {
    padding: .9rem .65rem;
    border: 0;
    border-bottom: 1px solid #e4e2e1;
    vertical-align: middle;
}

body.tc-site-profile--cuisina9.woocommerce-cart table.shop_table thead th {
    color: #171432;
    font-size: .78rem;
    font-weight: 700;
}

body.tc-site-profile--cuisina9.woocommerce-cart td.product-remove {
    width: 28px;
    padding-inline: 0 .35rem;
}

body.tc-site-profile--cuisina9.woocommerce-cart td.product-remove a.remove {
    color: #aaa !important;
    font-size: 1.2rem;
    font-weight: 400;
}

body.tc-site-profile--cuisina9.woocommerce-cart td.product-thumbnail {
    width: 92px;
}

body.tc-site-profile--cuisina9.woocommerce-cart td.product-thumbnail img {
    width: 74px;
    height: 74px;
    object-fit: cover;
}

body.tc-site-profile--cuisina9.woocommerce-cart td.product-name > a {
    color: #171432;
    font-weight: 500;
    text-decoration: none;
}

body.tc-site-profile--cuisina9.woocommerce-cart td.product-name > a:hover {
    text-decoration: underline;
    text-underline-offset: 2px;
}

body.tc-site-profile--cuisina9.woocommerce-cart dl.variation,
body.tc-site-profile--cuisina9.woocommerce-checkout dl.variation {
    display: grid;
    grid-template-columns: max-content minmax(0, 1fr);
    gap: .16rem .28rem;
    margin: .65rem 0 0;
    font-size: .78rem;
    line-height: 1.35;
}

body.tc-site-profile--cuisina9.woocommerce-cart dl.variation dt,
body.tc-site-profile--cuisina9.woocommerce-checkout dl.variation dt {
    float: none;
    clear: none;
    margin: 0;
    padding: 0;
    color: #111;
    font-weight: 700;
}

body.tc-site-profile--cuisina9.woocommerce-cart dl.variation dd,
body.tc-site-profile--cuisina9.woocommerce-checkout dl.variation dd {
    float: none;
    margin: 0;
    padding: 0;
}

body.tc-site-profile--cuisina9.woocommerce-cart dl.variation dd p,
body.tc-site-profile--cuisina9.woocommerce-checkout dl.variation dd p {
    margin: 0;
}

body.tc-site-profile--cuisina9.woocommerce-cart .quantity .qty {
    min-height: 38px;
    border: 1px solid #d7d4d1;
    border-radius: 2px;
    background: #fff;
}

body.tc-site-profile--cuisina9.woocommerce-cart table.cart td.actions {
    padding: .85rem 0;
}

body.tc-site-profile--cuisina9.woocommerce-cart table.cart td.actions .coupon {
    display: flex;
    gap: .45rem;
}

body.tc-site-profile--cuisina9.woocommerce-cart table.cart td.actions .coupon .input-text {
    min-height: 40px;
    border: 1px solid #d6d3d0;
    border-radius: 2px;
    background: #fff;
}

body.tc-site-profile--cuisina9.woocommerce-cart table.cart td.actions > .button,
body.tc-site-profile--cuisina9.woocommerce-cart table.cart td.actions .coupon .button {
    min-height: 40px;
    padding: .65rem 1rem;
}

body.tc-site-profile--cuisina9.woocommerce-cart .cart_totals table.shop_table th,
body.tc-site-profile--cuisina9.woocommerce-cart .cart_totals table.shop_table td {
    padding: .85rem 0;
    border-bottom: 1px solid #e5e2e0;
    vertical-align: top;
}

body.tc-site-profile--cuisina9.woocommerce-cart .cart_totals table.shop_table th {
    width: 34%;
    color: #15122e;
    font-weight: 700;
}

body.tc-site-profile--cuisina9.woocommerce-cart .cart_totals table.shop_table td {
    text-align: right;
}

body.tc-site-profile--cuisina9.woocommerce-cart .wc-proceed-to-checkout {
    padding: 1.25rem 0 0;
}

body.tc-site-profile--cuisina9.woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
    display: flex;
    width: 100%;
    min-height: 48px;
    align-items: center;
    justify-content: center;
    margin: 0;
    padding: .8rem 1rem;
    font-size: 1rem;
}

/* ---------- Checkout ---------- */
body.tc-site-profile--cuisina9.woocommerce-checkout .woocommerce-form-login-toggle,
body.tc-site-profile--cuisina9.woocommerce-checkout .woocommerce-form-coupon-toggle {
    max-width: 760px;
    margin: 0 auto 1.25rem;
    text-align: center;
}

body.tc-site-profile--cuisina9.woocommerce-checkout .woocommerce-info {
    margin: 0;
    padding: .9rem 1.15rem;
    border-top: 0;
    background: transparent;
    color: #4c4743;
}

body.tc-site-profile--cuisina9.woocommerce-checkout form.checkout {
    display: grid;
    grid-template-columns: minmax(0, 1.45fr) minmax(340px, .95fr);
    grid-template-areas:
        "customer review-title"
        "customer review";
    gap: .7rem clamp(2.5rem, 5vw, 5.5rem);
    align-items: start;
    margin-top: 2.25rem;
}

body.tc-site-profile--cuisina9.woocommerce-checkout #customer_details {
    grid-area: customer;
    margin: 0;
}

body.tc-site-profile--cuisina9.woocommerce-checkout #customer_details .col-1,
body.tc-site-profile--cuisina9.woocommerce-checkout #customer_details .col-2 {
    float: none;
    width: 100%;
}

body.tc-site-profile--cuisina9.woocommerce-checkout #customer_details .col-2 {
    margin-top: 1.4rem;
}

body.tc-site-profile--cuisina9.woocommerce-checkout #customer_details h3,
body.tc-site-profile--cuisina9.woocommerce-checkout #order_review_heading {
    margin: 0 0 1rem;
    color: var(--tc-c9-navy);
    font-size: 1.03rem;
    font-weight: 700;
    line-height: 1.2;
    text-transform: uppercase;
}

body.tc-site-profile--cuisina9.woocommerce-checkout #order_review_heading {
    grid-area: review-title;
    align-self: end;
}

body.tc-site-profile--cuisina9.woocommerce-checkout #order_review {
    grid-area: review;
    padding: 1.45rem 1.6rem;
    border: 1px solid #dedbdd;
    border-radius: 3px;
    background: #fbfbfb;
    box-shadow: 0 1px 2px rgb(20 17 18 / 4%);
}

body.tc-site-profile--cuisina9.woocommerce-checkout .form-row {
    margin-bottom: .95rem;
}

body.tc-site-profile--cuisina9.woocommerce-checkout .form-row label {
    margin-bottom: .35rem;
    color: #211d1b;
    font-size: .85rem;
}

body.tc-site-profile--cuisina9.woocommerce-checkout .form-row input.input-text,
body.tc-site-profile--cuisina9.woocommerce-checkout .form-row textarea,
body.tc-site-profile--cuisina9.woocommerce-checkout .form-row select,
body.tc-site-profile--cuisina9.woocommerce-checkout .select2-container .select2-selection--single {
    min-height: 42px;
    border: 1px solid #bbb7b4;
    border-radius: 2px;
    background: #fff;
    box-shadow: none;
}

body.tc-site-profile--cuisina9.woocommerce-checkout .select2-container .select2-selection--single .select2-selection__rendered {
    line-height: 40px;
}

body.tc-site-profile--cuisina9.woocommerce-checkout .select2-container .select2-selection--single .select2-selection__arrow {
    height: 40px;
}

body.tc-site-profile--cuisina9.woocommerce-checkout #order_review table.shop_table {
    margin: 0;
    border: 0;
    border-collapse: collapse;
    background: transparent;
}

body.tc-site-profile--cuisina9.woocommerce-checkout #order_review table.shop_table th,
body.tc-site-profile--cuisina9.woocommerce-checkout #order_review table.shop_table td {
    padding: .8rem 0;
    border: 0;
    border-bottom: 1px solid #e4e2e1;
    vertical-align: top;
}

body.tc-site-profile--cuisina9.woocommerce-checkout #order_review table.shop_table th.product-total,
body.tc-site-profile--cuisina9.woocommerce-checkout #order_review table.shop_table td.product-total {
    width: 31%;
    padding-left: 1rem;
    text-align: right;
}

body.tc-site-profile--cuisina9.woocommerce-checkout #order_review table.shop_table .product-name {
    color: #171432;
    font-weight: 500;
}

body.tc-site-profile--cuisina9.woocommerce-checkout #order_review .cart-subtotal th,
body.tc-site-profile--cuisina9.woocommerce-checkout #order_review .shipping th,
body.tc-site-profile--cuisina9.woocommerce-checkout #order_review .order-total th {
    color: #171432;
    font-weight: 700;
}

body.tc-site-profile--cuisina9.woocommerce-checkout #order_review .order-total .amount {
    color: #171432;
    font-size: 1.12rem;
}

body.tc-site-profile--cuisina9.woocommerce-checkout #payment {
    margin: 1rem -1.6rem -1.45rem;
    border-radius: 0 0 3px 3px;
    background: #f3f1f2;
}

body.tc-site-profile--cuisina9.woocommerce-checkout #payment ul.payment_methods {
    padding: 1.2rem 1.6rem;
    border-bottom: 1px solid #dedbdd;
}

body.tc-site-profile--cuisina9.woocommerce-checkout #payment div.form-row {
    padding: 1.2rem 1.6rem 1.45rem;
}

body.tc-site-profile--cuisina9.woocommerce-checkout #place_order {
    float: none;
    width: 100%;
    min-height: 48px;
    margin-top: .9rem;
    padding: .8rem 1rem;
    font-size: .96rem;
}

@media (max-width: 900px) {
    body.tc-site-profile--cuisina9.woocommerce-cart .woocommerce-cart-form,
    body.tc-site-profile--cuisina9.woocommerce-cart .cart-collaterals {
        float: none;
        width: 100%;
        max-width: none;
    }

    body.tc-site-profile--cuisina9.woocommerce-cart .cart-collaterals {
        margin-top: 2rem;
    }

    body.tc-site-profile--cuisina9.woocommerce-checkout form.checkout {
        grid-template-columns: 1fr;
        grid-template-areas:
            "customer"
            "review-title"
            "review";
        gap: 1.5rem;
    }

    body.tc-site-profile--cuisina9.woocommerce-checkout #order_review_heading {
        margin-top: 1rem;
    }
}

@media (max-width: 620px) {
    body.tc-site-profile--cuisina9.woocommerce-cart .tc-main--shop > .tc-container,
    body.tc-site-profile--cuisina9.woocommerce-checkout .tc-main--shop > .tc-container {
        width: min(calc(100% - 1.4rem), 1120px);
        padding-top: 1.6rem;
    }

    body.tc-site-profile--cuisina9.woocommerce-cart .woocommerce-cart-form table.shop_table_responsive tr.cart_item {
        display: grid;
        grid-template-columns: 30px 72px minmax(0, 1fr);
        gap: .4rem .6rem;
        padding-block: .8rem;
        border-bottom: 1px solid #e4e2e1;
    }

    body.tc-site-profile--cuisina9.woocommerce-cart .woocommerce-cart-form table.shop_table_responsive tr.cart_item td {
        display: block;
        width: auto;
        padding: .35rem 0;
        border: 0;
        text-align: left !important;
    }

    body.tc-site-profile--cuisina9.woocommerce-cart .woocommerce-cart-form table.shop_table_responsive tr.cart_item td::before {
        display: none;
    }

    body.tc-site-profile--cuisina9.woocommerce-cart td.product-remove { grid-column: 1; grid-row: 1 / span 2; }
    body.tc-site-profile--cuisina9.woocommerce-cart td.product-thumbnail { grid-column: 2; grid-row: 1 / span 2; }
    body.tc-site-profile--cuisina9.woocommerce-cart td.product-name { grid-column: 3; }
    body.tc-site-profile--cuisina9.woocommerce-cart td.product-price,
    body.tc-site-profile--cuisina9.woocommerce-cart td.product-quantity,
    body.tc-site-profile--cuisina9.woocommerce-cart td.product-subtotal { grid-column: 3; }

    body.tc-site-profile--cuisina9.woocommerce-cart table.cart td.actions .coupon {
        width: 100%;
    }

    body.tc-site-profile--cuisina9.woocommerce-cart table.cart td.actions .coupon .input-text {
        width: 100%;
    }

    body.tc-site-profile--cuisina9.woocommerce-cart dl.variation,
    body.tc-site-profile--cuisina9.woocommerce-checkout dl.variation {
        grid-template-columns: 1fr;
        gap: .05rem;
    }

    body.tc-site-profile--cuisina9.woocommerce-checkout #order_review {
        padding-inline: 1rem;
    }

    body.tc-site-profile--cuisina9.woocommerce-checkout #payment {
        margin-inline: -1rem;
    }
}


/* 0.3.18 — Cart resilience.
   The 0.3.17 two-column cart becomes too narrow on medium desktop widths,
   especially with long configurator metadata. Keep the historical two-column
   look only when there is enough room, and never allow metadata values to
   collapse into one-character columns. */
body.tc-site-profile--cuisina9.woocommerce-cart .tc-main--shop > .tc-container {
    width: min(calc(100% - 2.5rem), 1240px);
}

body.tc-site-profile--cuisina9.woocommerce-cart .woocommerce-cart-form {
    width: min(68%, 820px);
}

body.tc-site-profile--cuisina9.woocommerce-cart .cart-collaterals {
    width: min(29%, 350px);
}

body.tc-site-profile--cuisina9.woocommerce-cart table.cart {
    width: 100%;
    table-layout: auto;
}

body.tc-site-profile--cuisina9.woocommerce-cart table.cart th.product-name,
body.tc-site-profile--cuisina9.woocommerce-cart table.cart td.product-name {
    width: auto;
    min-width: 235px;
}

body.tc-site-profile--cuisina9.woocommerce-cart table.cart th.product-price,
body.tc-site-profile--cuisina9.woocommerce-cart table.cart td.product-price,
body.tc-site-profile--cuisina9.woocommerce-cart table.cart th.product-quantity,
body.tc-site-profile--cuisina9.woocommerce-cart table.cart td.product-quantity,
body.tc-site-profile--cuisina9.woocommerce-cart table.cart th.product-subtotal,
body.tc-site-profile--cuisina9.woocommerce-cart table.cart td.product-subtotal {
    width: 84px;
    white-space: nowrap;
}

body.tc-site-profile--cuisina9.woocommerce-cart table.cart th.product-thumbnail,
body.tc-site-profile--cuisina9.woocommerce-cart table.cart td.product-thumbnail {
    width: 82px;
}

body.tc-site-profile--cuisina9.woocommerce-cart dl.variation {
    grid-template-columns: minmax(108px, max-content) minmax(120px, 1fr);
    column-gap: .45rem;
    max-width: 100%;
}

body.tc-site-profile--cuisina9.woocommerce-cart dl.variation dt,
body.tc-site-profile--cuisina9.woocommerce-cart dl.variation dd,
body.tc-site-profile--cuisina9.woocommerce-cart dl.variation dd p {
    min-width: 0;
    word-break: normal;
    overflow-wrap: normal;
    hyphens: none;
}

body.tc-site-profile--cuisina9.woocommerce-cart .cart-collaterals .cart_totals {
    box-sizing: border-box;
}

/* On medium screens a stacked cart is much more usable than squeezing six
   table columns next to the totals card. Large desktop keeps the 2-column UI. */
@media (max-width: 1099px) {
    body.tc-site-profile--cuisina9.woocommerce-cart .woocommerce-cart-form,
    body.tc-site-profile--cuisina9.woocommerce-cart .cart-collaterals {
        float: none;
        width: 100%;
        max-width: none;
    }

    body.tc-site-profile--cuisina9.woocommerce-cart .cart-collaterals {
        margin-top: 2rem;
    }

    body.tc-site-profile--cuisina9.woocommerce-cart .cart-collaterals .cart_totals {
        max-width: 520px;
        margin-left: auto;
    }
}

@media (max-width: 760px) {
    body.tc-site-profile--cuisina9.woocommerce-cart table.cart th.product-name,
    body.tc-site-profile--cuisina9.woocommerce-cart table.cart td.product-name {
        min-width: 0;
    }

    body.tc-site-profile--cuisina9.woocommerce-cart dl.variation {
        grid-template-columns: 1fr;
    }
}


/* 0.3.19 — Wide Cuisina9 cart / checkout.
   Cart and checkout are WordPress pages rendered through page.php, therefore
   their actual wrapper is .tc-prose rather than .tc-main--shop. The shared
   editorial prose rule caps direct children at 780px, which was squeezing the
   WooCommerce tables and configurator metadata. Remove that cap only for the
   Cuisina9 commerce flow and use the available desktop width. */
body.tc-site-profile--cuisina9.woocommerce-cart .tc-prose,
body.tc-site-profile--cuisina9.woocommerce-checkout .tc-prose {
    width: min(calc(100% - 3rem), 1380px);
    margin-inline: auto;
    padding-block: clamp(2rem, 4vw, 3.75rem) 4.5rem;
}

body.tc-site-profile--cuisina9.woocommerce-cart .tc-prose > *,
body.tc-site-profile--cuisina9.woocommerce-checkout .tc-prose > * {
    width: 100%;
    max-width: none;
}

body.tc-site-profile--cuisina9.woocommerce-cart .tc-prose > .tc-page-title,
body.tc-site-profile--cuisina9.woocommerce-checkout .tc-prose > .tc-page-title {
    margin: 0 0 clamp(2rem, 4vw, 3.25rem);
    color: var(--tc-c9-navy);
    font-size: clamp(1.8rem, 2.6vw, 2.45rem);
    font-weight: 500;
    line-height: 1.15;
    letter-spacing: -.02em;
    text-align: center;
    text-transform: uppercase;
}

/* Use the whole wide wrapper instead of capping each side to the narrower
   values used by the first checkout pass. */
@media (min-width: 1100px) {
    body.tc-site-profile--cuisina9.woocommerce-cart .woocommerce-cart-form {
        width: 70%;
        max-width: none;
    }

    body.tc-site-profile--cuisina9.woocommerce-cart .cart-collaterals {
        width: 27%;
        max-width: none;
    }

    body.tc-site-profile--cuisina9.woocommerce-cart table.cart th.product-name,
    body.tc-site-profile--cuisina9.woocommerce-cart table.cart td.product-name {
        min-width: 390px;
    }

    body.tc-site-profile--cuisina9.woocommerce-cart dl.variation {
        grid-template-columns: minmax(120px, max-content) minmax(220px, 1fr);
        gap: .18rem .55rem;
        font-size: .82rem;
        line-height: 1.4;
    }

    body.tc-site-profile--cuisina9.woocommerce-checkout form.checkout {
        grid-template-columns: minmax(0, 1.3fr) minmax(460px, 1fr);
        gap: .8rem clamp(3rem, 5vw, 5.75rem);
    }

    body.tc-site-profile--cuisina9.woocommerce-checkout #order_review {
        padding: 1.6rem 1.85rem;
    }

    body.tc-site-profile--cuisina9.woocommerce-checkout dl.variation {
        grid-template-columns: minmax(120px, max-content) minmax(190px, 1fr);
        gap: .16rem .5rem;
        font-size: .82rem;
        line-height: 1.4;
    }
}

@media (max-width: 1099px) {
    body.tc-site-profile--cuisina9.woocommerce-cart .tc-prose,
    body.tc-site-profile--cuisina9.woocommerce-checkout .tc-prose {
        width: min(calc(100% - 2rem), 920px);
    }
}

@media (max-width: 620px) {
    body.tc-site-profile--cuisina9.woocommerce-cart .tc-prose,
    body.tc-site-profile--cuisina9.woocommerce-checkout .tc-prose {
        width: calc(100% - 1.25rem);
        padding-top: 1.5rem;
    }
}

/* 0.3.20 — Cuisina9 sale badge + variable-product gallery polish.
   The historical Cuisina9 presentation used a discreet PROMO marker rather
   than WooCommerce's large circular sale badge. Keep it readable without
   competing with the product photography. */
body.tc-site-profile--cuisina9.woocommerce span.onsale,
body.tc-site-profile--cuisina9.woocommerce-page span.onsale,
body.tc-site-profile--cuisina9 ul.products li.product .onsale,
body.tc-site-profile--cuisina9.single-product .onsale {
    display: inline-flex !important;
    width: auto !important;
    min-width: 0 !important;
    height: auto !important;
    min-height: 0 !important;
    align-items: center;
    justify-content: center;
    padding: .38rem .52rem !important;
    border: 1px solid #ded9d5 !important;
    border-radius: 2px !important;
    background: rgba(255, 255, 255, .94) !important;
    color: var(--tc-c9-navy) !important;
    box-shadow: none !important;
    font-size: 0 !important;
    line-height: 1 !important;
    text-shadow: none !important;
}

body.tc-site-profile--cuisina9.woocommerce span.onsale::after,
body.tc-site-profile--cuisina9.woocommerce-page span.onsale::after,
body.tc-site-profile--cuisina9 ul.products li.product .onsale::after,
body.tc-site-profile--cuisina9.single-product .onsale::after {
    content: "PROMO";
    font-size: .66rem;
    font-weight: 720;
    line-height: 1;
    letter-spacing: .06em;
}
