@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:wght@500;600;700&family=Plus+Jakarta+Sans:wght@400;500;600;700;800&display=swap');

/* =========================================================
   UNDERCONFIDENT — WOOCOMMERCE CART
   Consolidated premium editorial design
   Scope: Cart page only
========================================================= */

body.woocommerce-cart {
    --uc-bg: #f5efe9;
    --uc-card: #fffdfb;
    --uc-ink: #28211f;
    --uc-muted: #82766e;
    --uc-wine: #74384a;
    --uc-wine-dark: #512536;
    --uc-coral: #d98270;
    --uc-border: #e8ddd4;
    --uc-soft: #f8eeea;
    --uc-shadow: 0 14px 40px rgba(55, 37, 32, .055);

    margin: 0 !important;
    padding: 0 !important;
    overflow-x: hidden !important;
    background: var(--uc-bg) !important;
    color: var(--uc-ink) !important;
    font-family: "Plus Jakarta Sans", sans-serif !important;
}

body.woocommerce-cart *,
body.woocommerce-cart *::before,
body.woocommerce-cart *::after {
    box-sizing: border-box;
}

body.woocommerce-cart h1,
body.woocommerce-cart h2,
body.woocommerce-cart h3,
body.woocommerce-cart p {
    margin-top: 0;
}

body.woocommerce-cart a,
body.woocommerce-cart button {
    -webkit-tap-highlight-color: transparent;
}

/* =========================================================
   1. REMOVE THEME ELEMENTS
========================================================= */

body.woocommerce-cart #masthead,
body.woocommerce-cart .site-header,
body.woocommerce-cart .header-image,
body.woocommerce-cart .page-header-image,
body.woocommerce-cart .custom-header,
body.woocommerce-cart #colophon,
body.woocommerce-cart .site-footer,
body.woocommerce-cart #secondary,
body.woocommerce-cart #tertiary,
body.woocommerce-cart aside.widget-area,
body.woocommerce-cart .edit-link,
body.woocommerce-cart .entry-footer,
body.woocommerce-cart .post-navigation,
body.woocommerce-cart .comments-area {
    display: none !important;
}

body.woocommerce-cart #page,
body.woocommerce-cart #content,
body.woocommerce-cart #content.site-content,
body.woocommerce-cart .site-content,
body.woocommerce-cart .site-content-wrapper,
body.woocommerce-cart .content-area,
body.woocommerce-cart #primary,
body.woocommerce-cart #main,
body.woocommerce-cart article,
body.woocommerce-cart .hentry-wrapper,
body.woocommerce-cart .entry-content {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    float: none !important;
    margin: 0 !important;
    background: var(--uc-bg) !important;
    border: 0 !important;
    box-shadow: none !important;
}

body.woocommerce-cart #content.site-content > .site-content-wrapper {
    display: block !important;
    padding: 0 !important;
}

body.woocommerce-cart #primary,
body.woocommerce-cart #primary.content-area {
    display: block !important;
    padding: 30px 5% 100px !important;
}

body.woocommerce-cart #main,
body.woocommerce-cart article,
body.woocommerce-cart .hentry-wrapper,
body.woocommerce-cart .entry-content {
    padding-top: 0 !important;
    margin-top: 0 !important;
}

/* =========================================================
   2. PAGE TITLE
========================================================= */

body.woocommerce-cart h1.entry-title,
body.woocommerce-cart .entry-title {
    display: block !important;
    width: 100% !important;
    max-width: 1420px !important;
    margin: 0 auto 35px !important;
    padding: 8px 0 0 !important;

    color: var(--uc-ink) !important;
    font-family: "Playfair Display", Georgia, serif !important;
    font-size: clamp(48px, 5.5vw, 76px) !important;
    font-weight: 700 !important;
    letter-spacing: -2.5px !important;
    line-height: 1.08 !important;
    text-align: left !important;
}

/* =========================================================
   3. MAIN CART GRID

   Expected direct children:
   - WooCommerce notices wrapper
   - .uc-cart-upsell
   - .woocommerce-cart-form
   - .cart-collaterals

   The promotional banner occupies a full-width row.
   Book and summary appear side by side below it.
========================================================= */

body.woocommerce-cart #primary .woocommerce {
    display: grid !important;

    grid-template-columns:
        minmax(0, 1.7fr)
        minmax(320px, .9fr) !important;

    grid-template-areas:
        "notices notices"
        "upsell upsell"
        "cart summary" !important;

    align-items: start !important;
    gap: 20px 26px !important;

    width: 100% !important;
    max-width: 1420px !important;
    min-width: 0 !important;

    margin: 0 auto !important;
    padding: 0 !important;

    background: transparent !important;
}

/* Assign each section its own grid position */

body.woocommerce-cart #primary .woocommerce > .woocommerce-notices-wrapper {
    grid-area: notices !important;
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}

body.woocommerce-cart #primary .woocommerce > .uc-cart-upsell {
    grid-area: upsell !important;
}

body.woocommerce-cart #primary .woocommerce > form.woocommerce-cart-form {
    grid-area: cart !important;
}

body.woocommerce-cart #primary .woocommerce > .cart-collaterals {
    grid-area: summary !important;
}

/* =========================================================
   4. WOOCOMMERCE NOTICES
   Cart updated / coupon / error messages
========================================================= */

body.woocommerce-cart .woocommerce-notices-wrapper {
    position: relative !important;
    z-index: 1 !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

body.woocommerce-cart .woocommerce-message,
body.woocommerce-cart .woocommerce-info,
body.woocommerce-cart .woocommerce-error {
    position: relative !important;
    display: block !important;

    width: 100% !important;
    min-height: 0 !important;

    margin: 0 0 0 !important;
    padding: 18px 22px 18px 62px !important;

    background: #fff9f5 !important;
    color: #493b37 !important;

    border: 1px solid #ead8d0 !important;
    border-left: 4px solid var(--uc-wine) !important;
    border-radius: 7px !important;

    font-family: "Plus Jakarta Sans", sans-serif !important;
    font-size: 12px !important;
    font-weight: 500 !important;
    line-height: 1.7 !important;

    box-shadow: none !important;
}

/* Notification icon */

body.woocommerce-cart .woocommerce-info::before,
body.woocommerce-cart .woocommerce-message::before {
    content: "✦" !important;

    position: absolute !important;
    top: 50% !important;
    left: 18px !important;
    transform: translateY(-50%) !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: 27px !important;
    height: 27px !important;

    border: 0 !important;
    border-radius: 50% !important;

    background: var(--uc-wine) !important;
    color: #fff !important;

    font-family: Georgia, serif !important;
    font-size: 15px !important;
    line-height: 1 !important;
}

body.woocommerce-cart .woocommerce-error::before {
    color: #fff !important;
}

body.woocommerce-cart .woocommerce-message a,
body.woocommerce-cart .woocommerce-info a,
body.woocommerce-cart .woocommerce-error a {
    color: var(--uc-wine) !important;
    font-weight: 700 !important;
    text-decoration: underline !important;
    text-underline-offset: 3px !important;
}

/* =========================================================
   5. PROMOTIONAL BANNER — ADD MORE COPIES
========================================================= */

body.woocommerce-cart .uc-cart-upsell {
    position: relative !important;
    z-index: 0 !important;

    display: flex !important;
    align-items: center !important;
    gap: 20px !important;

    width: 100% !important;
    min-width: 0 !important;

    margin: 0 !important;
    padding: 25px 30px !important;

    background: linear-gradient(
        110deg,
        #f2e6eb 0%,
        #fbf1ed 55%,
        #f6e9e2 100%
    ) !important;

    border: 1px solid #e8d5df !important;
    border-left: 5px solid var(--uc-wine) !important;
    border-radius: 9px !important;

    box-shadow: 0 8px 24px rgba(75, 43, 43, .035) !important;
}

.uc-upsell-symbol {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 0 0 48px !important;

    width: 48px !important;
    height: 48px !important;

    border-radius: 50% !important;
    background: var(--uc-wine) !important;
    color: #fff !important;

    font-size: 25px !important;
}

.uc-upsell-content {
    flex: 1 1 auto !important;
    min-width: 0 !important;
}

.uc-upsell-eyebrow {
    display: block !important;
    margin-bottom: 5px !important;

    color: #986879 !important;
    font-family: "Plus Jakarta Sans", sans-serif !important;
    font-size: 9px !important;
    font-weight: 800 !important;
    letter-spacing: 1.8px !important;
}

.uc-upsell-content h3 {
    margin: 0 0 7px !important;

    color: var(--uc-ink) !important;
    font-family: "Playfair Display", Georgia, serif !important;
    font-size: clamp(23px, 2.3vw, 31px) !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
}

.uc-upsell-content p {
    margin: 0 !important;

    color: #624d56 !important;
    font-family: "Plus Jakarta Sans", sans-serif !important;
    font-size: 12px !important;
    font-weight: 500 !important;
    line-height: 1.8 !important;
}

.uc-upsell-tier {
    flex: 0 0 auto !important;

    padding: 11px 14px !important;

    border: 1px solid #d9bbc9 !important;
    border-radius: 5px !important;

    background: rgba(255,255,255,.6) !important;
    color: var(--uc-wine) !important;

    font-family: "Plus Jakarta Sans", sans-serif !important;
    font-size: 9px !important;
    font-weight: 800 !important;
    letter-spacing: .8px !important;
    text-align: center !important;
}

/* =========================================================
   6. BOOK DETAILS CARD — LEFT COLUMN
========================================================= */

body.woocommerce-cart .woocommerce-cart-form {
    display: block !important;

    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;

    margin: 0 !important;
    padding: 0 !important;

    background: var(--uc-card) !important;
    border: 1px solid var(--uc-border) !important;
    border-radius: 10px !important;

    box-shadow: var(--uc-shadow) !important;
    overflow: hidden !important;
}

body.woocommerce-cart .woocommerce-cart-form table.shop_table {
    display: table !important;

    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;

    margin: 0 !important;
    padding: 0 !important;

    border: 0 !important;
    border-collapse: collapse !important;
    border-spacing: 0 !important;

    table-layout: auto !important;
    background: transparent !important;
    box-shadow: none !important;
}

body.woocommerce-cart .woocommerce-cart-form table.shop_table thead {
    display: none !important;
}

body.woocommerce-cart .woocommerce-cart-form table.shop_table tbody {
    display: table-row-group !important;
}

body.woocommerce-cart .woocommerce-cart-form table.shop_table tbody tr.cart_item {
    display: table-row !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
}

body.woocommerce-cart .woocommerce-cart-form table.shop_table tbody tr.cart_item td {
    display: table-cell !important;
    position: static !important;
    float: none !important;

    padding: 30px 9px !important;
    vertical-align: middle !important;

    background: transparent !important;
    color: var(--uc-ink) !important;

    border: 0 !important;
    border-bottom: 1px solid var(--uc-border) !important;

    font-family: "Plus Jakarta Sans", sans-serif !important;
    font-size: 12px !important;
    box-sizing: border-box !important;
}

/* Remove column */

body.woocommerce-cart td.product-remove {
    width: 42px !important;
    min-width: 42px !important;
    padding-left: 15px !important;
    padding-right: 5px !important;
    text-align: center !important;
}

body.woocommerce-cart td.product-remove a.remove {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: 27px !important;
    height: 27px !important;

    margin: 0 !important;
    padding: 0 !important;

    border: 0 !important;
    border-radius: 50% !important;

    background: #f2e5e8 !important;
    color: var(--uc-wine) !important;

    font-size: 17px !important;
    line-height: 1 !important;
    text-decoration: none !important;

    transition: all .25s ease !important;
}

body.woocommerce-cart td.product-remove a.remove:hover {
    transform: rotate(90deg) !important;
    background: var(--uc-wine) !important;
    color: #fff !important;
}

/* Book image */

body.woocommerce-cart td.product-thumbnail {
    width: 115px !important;
    min-width: 95px !important;
    text-align: center !important;
}

body.woocommerce-cart td.product-thumbnail img {
    display: block !important;

    width: 105px !important;
    height: 145px !important;
    max-width: 100% !important;

    margin: 0 auto !important;
    padding: 0 !important;

    object-fit: cover !important;
    object-position: center !important;

    border: 0 !important;
    border-radius: 3px !important;
    background: #eee8e3 !important;

    box-shadow: 0 12px 25px rgba(40,30,25,.12) !important;
    transition: transform .4s ease, box-shadow .4s ease !important;
}

body.woocommerce-cart td.product-thumbnail img:hover {
    transform: translateY(-5px) rotate(-1deg) !important;
    box-shadow: 0 18px 30px rgba(40,30,25,.18) !important;
}

/* Product name */

body.woocommerce-cart td.product-name {
    min-width: 120px !important;
    text-align: left !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
}

body.woocommerce-cart td.product-name a {
    display: inline-block !important;

    color: var(--uc-ink) !important;
    font-family: "Playfair Display", Georgia, serif !important;
    font-size: clamp(19px, 1.8vw, 27px) !important;
    font-weight: 700 !important;
    line-height: 1.3 !important;

    text-decoration: none !important;
    transition: color .25s ease !important;
}

body.woocommerce-cart td.product-name a:hover {
    color: var(--uc-wine) !important;
}

/* Product price */

body.woocommerce-cart td.product-price {
    min-width: 75px !important;
    color: var(--uc-wine) !important;
    text-align: center !important;
    white-space: nowrap !important;
    font-size: 12px !important;
    font-weight: 700 !important;
}

/* Quantity */

body.woocommerce-cart td.product-quantity {
    min-width: 70px !important;
    text-align: center !important;
}

body.woocommerce-cart td.product-quantity .quantity {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: auto !important;
    max-width: 100% !important;
}

body.woocommerce-cart td.product-quantity input.qty {
    display: inline-block !important;

    width: 56px !important;
    min-width: 56px !important;
    height: 42px !important;

    margin: 0 !important;
    padding: 5px !important;

    border: 1px solid var(--uc-border) !important;
    border-radius: 6px !important;

    background: #fff !important;
    color: var(--uc-ink) !important;

    font-family: "Plus Jakarta Sans", sans-serif !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    text-align: center !important;

    box-shadow: none !important;
    outline: none !important;
    transition: all .25s ease !important;
}

body.woocommerce-cart td.product-quantity input.qty:focus {
    border-color: var(--uc-wine) !important;
    box-shadow: 0 0 0 3px rgba(116,56,74,.1) !important;
}

/* Subtotal */

body.woocommerce-cart td.product-subtotal {
    min-width: 75px !important;
    color: var(--uc-ink) !important;
    text-align: right !important;
    white-space: nowrap !important;
    font-size: 12px !important;
    font-weight: 800 !important;
}

/* =========================================================
   7. COUPON AND UPDATE CART
========================================================= */

body.woocommerce-cart .woocommerce-cart-form table.shop_table td.actions {
    display: table-cell !important;
    width: 100% !important;
    padding: 20px !important;
    background: transparent !important;
    border: 0 !important;
    text-align: left !important;
}

body.woocommerce-cart td.actions .coupon {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 9px !important;

    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    float: none !important;
}

body.woocommerce-cart td.actions .coupon input.input-text {
    flex: 1 1 140px !important;
    width: auto !important;
    min-width: 0 !important;
    height: 44px !important;

    margin: 0 !important;
    padding: 0 15px !important;

    border: 1px solid var(--uc-border) !important;
    border-radius: 5px !important;

    background: #fff !important;
    color: var(--uc-ink) !important;

    font-family: "Plus Jakarta Sans", sans-serif !important;
    font-size: 12px !important;
    box-shadow: none !important;
}

body.woocommerce-cart button[name="apply_coupon"],
body.woocommerce-cart td.actions .coupon button.button {
    min-height: 44px !important;
    margin: 0 !important;
    padding: 0 20px !important;

    border: 1px solid var(--uc-wine) !important;
    border-radius: 5px !important;

    background: var(--uc-wine) !important;
    color: #fff !important;

    font-family: "Plus Jakarta Sans", sans-serif !important;
    font-size: 11px !important;
    font-weight: 700 !important;

    cursor: pointer !important;
    transition: all .25s ease !important;
}

body.woocommerce-cart button[name="apply_coupon"]:hover {
    background: var(--uc-wine-dark) !important;
}

body.woocommerce-cart button[name="update_cart"] {
    display: block !important;
    float: none !important;

    width: 100% !important;
    min-height: 44px !important;

    margin: 12px 0 0 !important;
    padding: 10px 18px !important;

    border: 1px solid #c9aeb5 !important;
    border-radius: 5px !important;

    background: transparent !important;
    color: var(--uc-wine) !important;

    font-family: "Plus Jakarta Sans", sans-serif !important;
    font-size: 10px !important;
    font-weight: 800 !important;
    letter-spacing: .08em !important;
    text-transform: uppercase !important;

    cursor: pointer !important;
    transition: all .25s ease !important;
}

body.woocommerce-cart button[name="update_cart"]:hover:not(:disabled) {
    background: var(--uc-wine) !important;
    color: #fff !important;
}

/* =========================================================
   8. RIGHT COLUMN — WHAT YOU GET
========================================================= */

.uc-cart-goodies {
    width: 100% !important;
    box-sizing: border-box !important;

    margin: 0 0 18px !important;
    padding: 24px 22px !important;

    border: 1px solid var(--uc-border) !important;
    border-left: 4px solid var(--uc-wine) !important;
    border-radius: 10px !important;

    background: var(--uc-card) !important;
    box-shadow: 0 7px 22px rgba(50,30,25,.035) !important;
}

.uc-goodies-heading {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
}

.uc-goodies-symbol {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 0 0 39px !important;

    width: 39px !important;
    height: 39px !important;

    border-radius: 50% !important;
    background: var(--uc-wine) !important;
    color: #fff !important;
    font-size: 20px !important;
}

.uc-goodies-eyebrow {
    display: block !important;
    margin-bottom: 4px !important;

    color: #986879 !important;
    font-family: "Plus Jakarta Sans", sans-serif !important;
    font-size: 9px !important;
    font-weight: 800 !important;
    letter-spacing: 1.4px !important;
}

.uc-goodies-heading h3 {
    margin: 0 !important;
    color: var(--uc-ink) !important;
    font-family: "Playfair Display", Georgia, serif !important;
    font-size: 25px !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
}

.uc-goodies-divider {
    width: 100% !important;
    height: 1px !important;
    margin: 17px 0 !important;
    background: var(--uc-border) !important;
}

.uc-goodies-items {
    display: flex !important;
    flex-direction: column !important;
    gap: 11px !important;

    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

.uc-goodies-items li {
    display: flex !important;
    align-items: flex-start !important;
    gap: 9px !important;

    margin: 0 !important;
    padding: 0 !important;

    color: #403632 !important;
    font-family: "Plus Jakarta Sans", sans-serif !important;
    font-size: 11px !important;
    font-weight: 500 !important;
    line-height: 1.65 !important;
    list-style: none !important;
}

.uc-goodies-items li::before,
.uc-goodies-items li::marker {
    display: none !important;
    content: none !important;
}

.uc-goodies-check {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 0 0 19px !important;

    width: 19px !important;
    height: 19px !important;
    margin-top: 1px !important;

    border-radius: 50% !important;
    background: #f1e6e8 !important;
    color: var(--uc-wine) !important;

    font-size: 11px !important;
    font-weight: 800 !important;
}

/* =========================================================
   9. CART TOTALS CARD
========================================================= */

body.woocommerce-cart .cart-collaterals {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
}

body.woocommerce-cart .cart-collaterals .cart_totals {
    position: sticky !important;
    top: 25px !important;
    float: none !important;

    width: 100% !important;
    max-width: none !important;

    margin: 0 !important;
    padding: 27px 24px !important;

    background: var(--uc-card) !important;
    border: 1px solid var(--uc-border) !important;
    border-radius: 10px !important;

    box-shadow: var(--uc-shadow) !important;
}

body.woocommerce-cart .cart_totals h2 {
    margin: 0 0 23px !important;
    padding: 0 !important;

    color: var(--uc-ink) !important;
    font-family: "Playfair Display", Georgia, serif !important;
    font-size: 29px !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    letter-spacing: -.5px !important;
}

body.woocommerce-cart .cart_totals table {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;

    border: 0 !important;
    border-collapse: collapse !important;
    background: transparent !important;
    box-shadow: none !important;
}

body.woocommerce-cart .cart_totals table th,
body.woocommerce-cart .cart_totals table td {
    padding: 15px 0 !important;

    background: transparent !important;
    border: 0 !important;
    border-bottom: 1px solid var(--uc-border) !important;

    font-family: "Plus Jakarta Sans", sans-serif !important;
    font-size: 12px !important;
    line-height: 1.6 !important;
}

body.woocommerce-cart .cart_totals table th {
    color: var(--uc-muted) !important;
    font-weight: 500 !important;
    text-align: left !important;
}

body.woocommerce-cart .cart_totals table td {
    color: var(--uc-ink) !important;
    font-weight: 700 !important;
    text-align: right !important;
}

body.woocommerce-cart .cart_totals tr.order-total th,
body.woocommerce-cart .cart_totals tr.order-total td {
    padding-top: 20px !important;
    padding-bottom: 20px !important;
    color: var(--uc-wine) !important;
    font-size: 15px !important;
    font-weight: 800 !important;
}

/* Shipping details */

body.woocommerce-cart .cart_totals .woocommerce-shipping-destination {
    color: var(--uc-muted) !important;
    font-size: 11px !important;
    line-height: 1.7 !important;
}

body.woocommerce-cart .cart_totals .shipping-calculator-button {
    color: var(--uc-wine) !important;
    font-size: 11px !important;
    text-decoration: underline !important;
}

/* =========================================================
   10. CHECKOUT BUTTON
========================================================= */

body.woocommerce-cart .wc-proceed-to-checkout {
    margin: 24px 0 0 !important;
    padding: 0 !important;
}

body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: 100% !important;
    min-height: 54px !important;

    margin: 0 !important;
    padding: 15px 20px !important;

    background: var(--uc-wine) !important;
    color: #fff !important;

    border: 1px solid var(--uc-wine) !important;
    border-radius: 5px !important;

    font-family: "Plus Jakarta Sans", sans-serif !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    letter-spacing: 1.2px !important;
    text-transform: uppercase !important;
    text-decoration: none !important;

    box-shadow: none !important;
    transition: all .25s ease !important;
}

body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover {
    background: var(--uc-wine-dark) !important;
    border-color: var(--uc-wine-dark) !important;
    color: #fff !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 10px 22px rgba(116,56,74,.17) !important;
}

/* =========================================================
   11. EMPTY CART
========================================================= */

body.woocommerce-cart .cart-empty {
    margin: 0 !important;
    padding: 45px 25px !important;

    background: var(--uc-card) !important;
    color: var(--uc-ink) !important;

    border: 1px solid var(--uc-border) !important;
    border-radius: 9px !important;

    font-family: "Playfair Display", Georgia, serif !important;
    font-size: 27px !important;
    text-align: center !important;
}

body.woocommerce-cart .return-to-shop {
    margin: 22px 0 !important;
    text-align: center !important;
}

body.woocommerce-cart .return-to-shop a {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    padding: 14px 24px !important;

    background: var(--uc-wine) !important;
    color: #fff !important;
    border-radius: 5px !important;

    font-family: "Plus Jakarta Sans", sans-serif !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    text-decoration: none !important;
}

/* =========================================================
   12. TABLET
========================================================= */

@media (max-width: 1000px) {

    body.woocommerce-cart #primary,
    body.woocommerce-cart #primary.content-area {
        padding: 28px 24px 70px !important;
    }

    body.woocommerce-cart #primary .woocommerce {
        grid-template-columns: minmax(0, 1fr) !important;
        grid-template-areas:
            "notices"
            "upsell"
            "cart"
            "summary" !important;
        gap: 18px !important;
    }

    body.woocommerce-cart .cart-collaterals .cart_totals {
        position: relative !important;
        top: auto !important;
    }

    body.woocommerce-cart .woocommerce-cart-form {
        border-radius: 9px !important;
    }
}

/* =========================================================
   13. MOBILE
========================================================= */

@media (max-width: 600px) {

    body.woocommerce-cart #primary,
    body.woocommerce-cart #primary.content-area {
        padding: 20px 14px 50px !important;
    }

    body.woocommerce-cart .entry-title {
        margin-bottom: 25px !important;
        font-size: 48px !important;
        letter-spacing: -1.5px !important;
    }

    body.woocommerce-cart #primary .woocommerce {
        display: flex !important;
        flex-direction: column !important;
        gap: 15px !important;
    }

    body.woocommerce-cart #primary .woocommerce > * {
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
    }

    /* Notification */

    body.woocommerce-cart .woocommerce-message,
    body.woocommerce-cart .woocommerce-info,
    body.woocommerce-cart .woocommerce-error {
        padding: 15px 14px 15px 52px !important;
        font-size: 11px !important;
    }

    body.woocommerce-cart .woocommerce-info::before,
    body.woocommerce-cart .woocommerce-message::before {
        left: 13px !important;
        width: 25px !important;
        height: 25px !important;
    }

    /* Promotional banner */

    body.woocommerce-cart .uc-cart-upsell {
        flex-wrap: wrap !important;
        align-items: flex-start !important;
        gap: 12px !important;
        padding: 19px 16px !important;
    }

    .uc-upsell-symbol {
        flex-basis: 39px !important;
        width: 39px !important;
        height: 39px !important;
        font-size: 21px !important;
    }

    .uc-upsell-content {
        flex: 1 1 calc(100% - 55px) !important;
    }

    .uc-upsell-content h3 {
        font-size: 23px !important;
    }

    .uc-upsell-content p {
        font-size: 11px !important;
    }

    .uc-upsell-tier {
        margin-left: 51px !important;
        font-size: 8px !important;
    }

    /* Cart product table: horizontal scroll instead of overlap */

    body.woocommerce-cart .woocommerce-cart-form {
        overflow-x: auto !important;
        -webkit-overflow-scrolling: touch !important;
    }

    body.woocommerce-cart .woocommerce-cart-form table.shop_table {
        min-width: 570px !important;
    }

    body.woocommerce-cart .woocommerce-cart-form table.shop_table tbody tr.cart_item td {
        padding: 17px 8px !important;
    }

    body.woocommerce-cart td.product-thumbnail img {
        width: 65px !important;
        height: 88px !important;
    }

    body.woocommerce-cart td.product-name a {
        font-size: 20px !important;
    }

    body.woocommerce-cart td.product-quantity input.qty {
        width: 48px !important;
        min-width: 48px !important;
        height: 38px !important;
    }

    /* Coupon */

    body.woocommerce-cart .woocommerce-cart-form table.shop_table td.actions {
        padding: 15px !important;
    }

    body.woocommerce-cart td.actions .coupon {
        flex-direction: column !important;
        align-items: stretch !important;
    }

    body.woocommerce-cart td.actions .coupon input.input-text,
    body.woocommerce-cart button[name="apply_coupon"] {
        width: 100% !important;
        flex: 1 1 auto !important;
    }

    /* Goodies */

    .uc-cart-goodies {
        padding: 20px 17px !important;
    }

    .uc-goodies-heading h3 {
        font-size: 24px !important;
    }

    .uc-goodies-items li {
        font-size: 11px !important;
    }

    /* Cart totals */

    body.woocommerce-cart .cart-collaterals .cart_totals {
        padding: 22px 18px !important;
    }

    body.woocommerce-cart .cart_totals h2 {
        font-size: 27px !important;
    }
}

/* =========================================================
   14. ACCESSIBILITY
========================================================= */

body.woocommerce-cart a:focus-visible,
body.woocommerce-cart button:focus-visible,
body.woocommerce-cart input:focus-visible {
    outline: 2px solid var(--uc-coral) !important;
    outline-offset: 3px !important;
}

@media (prefers-reduced-motion: reduce) {
    body.woocommerce-cart *,
    body.woocommerce-cart *::before,
    body.woocommerce-cart *::after {
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
        scroll-behavior: auto !important;
        transition-duration: .01ms !important;
    }
}




















































/* Remove unwanted white outline from checkout button */

body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button,
body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover,
body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:focus,
body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:active,
body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:focus-visible {
    outline: none !important;
    border: 1px solid #74384a !important;
    border-radius: 5px !important;
    box-shadow: none !important;
    background: #74384a !important;
    color: #ffffff !important;
}

/* Remove theme-generated decorative borders */

body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button::before,
body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button::after {
    content: none !important;
    display: none !important;
}

/* Keep hover clean */

body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover {
    background: #512536 !important;
    border-color: #512536 !important;
    transform: translateY(-2px) !important;
}









/* =========================================================
   UNDERCONFIDENT — PREMIUM WOOCOMMERCE CHECKOUT
   Page ID: 4088
   Native WooCommerce checkout functionality preserved
   ========================================================= */

@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:wght@500;600;700&family=Plus+Jakarta+Sans:wght@400;500;600;700;800&display=swap');

body.page-id-4088 {
    --uc-bg: #f5efe9;
    --uc-white: #fffdfb;
    --uc-ink: #28211f;
    --uc-muted: #82766e;
    --uc-wine: #74384a;
    --uc-coral: #d98270;
    --uc-border: #e8ddd4;

    background: var(--uc-bg) !important;
    color: var(--uc-ink) !important;
    font-family: "Plus Jakarta Sans", sans-serif !important;
}

/* 1. ISOLATE THIS PAGE FROM THE WORDPRESS THEME */

body.page-id-4088 #tertiary,
body.page-id-4088 aside.widget-area,
body.page-id-4088 .header-image,
body.page-id-4088 .site-content > .header-image,
body.page-id-4088 .widget-area {
    display: none !important;
}

body.page-id-4088 #content,
body.page-id-4088 .site-content,
body.page-id-4088 .site-content-wrapper,
body.page-id-4088 .site-content > .site-content-wrapper,
body.page-id-4088 .site-content-wrapper > #primary,
body.page-id-4088 #primary,
body.page-id-4088 #main,
body.page-id-4088 article,
body.page-id-4088 .entry-content,
body.page-id-4088 .hentry-wrapper {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    float: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    box-sizing: border-box !important;
}

body.page-id-4088 .site-content-wrapper {
    padding: 0 !important;
}

body.page-id-4088 #primary {
    padding: 0 !important;
}

body.page-id-4088 .entry-content {
    margin: 0 !important;
    padding: 0 !important;
}

body.page-id-4088 .entry-header {
    display: none !important;
}

/* 2. PAGE BACKGROUND AND MAIN CONTAINER */

body.page-id-4088 #content.site-content {
    background: var(--uc-bg) !important;
    padding: 0 !important;
    margin: 0 !important;
}

body.page-id-4088 .woocommerce {
    width: 100% !important;
    max-width: 1320px !important;
    margin: 0 auto !important;
    padding: 55px 45px 110px !important;
    box-sizing: border-box !important;
    font-family: "Plus Jakarta Sans", sans-serif !important;
}

/* 3. CHECKOUT HEADING */

body.page-id-4088 .entry-title {
    display: block !important;
    width: 100% !important;
    max-width: 1320px !important;
    margin: 0 auto !important;
    padding: 65px 45px 0 !important;
    box-sizing: border-box !important;

    font-family: "Playfair Display", serif !important;
    font-size: clamp(48px, 5.5vw, 70px) !important;
    line-height: 1.1 !important;
    font-weight: 600 !important;
    letter-spacing: -2px !important;
    color: var(--uc-ink) !important;
}

/* 4. CHECKOUT GRID */

body.page-id-4088 form.checkout.woocommerce-checkout {
    display: grid !important;
    grid-template-columns: minmax(0, 1.15fr) minmax(350px, .85fr) !important;
    grid-template-areas:
        "notices notices"
        "coupon coupon"
        "billing ordertitle"
        "billing order"
        "billing payment" !important;

    column-gap: 45px !important;
    row-gap: 22px !important;
    align-items: start !important;

    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Notices */

body.page-id-4088 .woocommerce-notices-wrapper {
    grid-area: notices !important;
    width: 100% !important;
}

body.page-id-4088 .woocommerce-error,
body.page-id-4088 .woocommerce-info,
body.page-id-4088 .woocommerce-message {
    padding: 17px 22px 17px 55px !important;
    margin: 0 0 16px !important;

    background: #fff9f5 !important;
    border: 1px solid var(--uc-border) !important;
    border-left: 4px solid var(--uc-wine) !important;
    border-radius: 5px !important;

    color: var(--uc-ink) !important;
    font-family: "Plus Jakarta Sans", sans-serif !important;
    font-size: 13px !important;
    line-height: 1.8 !important;
}

/* Coupon */

body.page-id-4088 .woocommerce-form-coupon-toggle {
    grid-area: coupon !important;
    width: 100% !important;
}

body.page-id-4088 .woocommerce-form-coupon-toggle .woocommerce-info {
    margin: 0 !important;
    background: #f9eee9 !important;
    border-left-color: var(--uc-coral) !important;
}

/* Billing details */

body.page-id-4088 #customer_details {
    grid-area: billing !important;
    width: 100% !important;
    min-width: 0 !important;
    float: none !important;
    margin: 0 !important;
    padding: 34px !important;

    background: var(--uc-white) !important;
    border: 1px solid var(--uc-border) !important;
    border-radius: 7px !important;
    box-shadow: 0 12px 40px rgba(48, 32, 27, .035) !important;
}

body.page-id-4088 #customer_details .col-1,
body.page-id-4088 #customer_details .col-2 {
    width: 100% !important;
    float: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

/* Section headings */

body.page-id-4088 #customer_details h3,
body.page-id-4088 #order_review_heading {
    margin: 0 0 27px !important;
    padding: 0 !important;

    color: var(--uc-ink) !important;
    font-family: "Playfair Display", serif !important;
    font-size: 30px !important;
    font-weight: 600 !important;
    line-height: 1.3 !important;
    letter-spacing: -.5px !important;
}

/* Billing field layout */

body.page-id-4088 .woocommerce form .form-row {
    width: 100% !important;
    float: none !important;
    margin: 0 0 21px !important;
    padding: 0 !important;
    box-sizing: border-box !important;
}

body.page-id-4088 #customer_details .form-row-first,
body.page-id-4088 #customer_details .form-row-last {
    width: 48.5% !important;
    float: left !important;
    clear: none !important;
}

body.page-id-4088 #customer_details .form-row-first {
    margin-right: 3% !important;
}

body.page-id-4088 #customer_details .form-row-last {
    margin-right: 0 !important;
}

body.page-id-4088 #customer_details .form-row-wide {
    clear: both !important;
}

/* Labels */

body.page-id-4088 .woocommerce form .form-row label {
    display: block !important;
    margin: 0 0 8px !important;

    color: #514640 !important;
    font-family: "Plus Jakarta Sans", sans-serif !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    letter-spacing: .2px !important;
}

body.page-id-4088 .woocommerce form .form-row label .required {
    color: var(--uc-coral) !important;
}

/* Input fields */

body.page-id-4088 .woocommerce form .input-text,
body.page-id-4088 .woocommerce form select,
body.page-id-4088 .woocommerce form textarea {
    width: 100% !important;
    min-height: 51px !important;
    padding: 13px 15px !important;

    background: #fcf9f6 !important;
    border: 1px solid var(--uc-border) !important;
    border-radius: 4px !important;
    box-shadow: none !important;

    color: var(--uc-ink) !important;
    font-family: "Plus Jakarta Sans", sans-serif !important;
    font-size: 13px !important;
    font-weight: 500 !important;

    transition: border-color .25s ease, box-shadow .25s ease !important;
}

body.page-id-4088 .woocommerce form textarea {
    min-height: 115px !important;
    resize: vertical !important;
}

body.page-id-4088 .woocommerce form .input-text:focus,
body.page-id-4088 .woocommerce form select:focus,
body.page-id-4088 .woocommerce form textarea:focus {
    outline: none !important;
    border-color: var(--uc-wine) !important;
    box-shadow: 0 0 0 3px rgba(116, 56, 74, .09) !important;
    background: #fff !important;
}

/* Select2 country/state dropdown */

body.page-id-4088 .select2-container {
    width: 100% !important;
}

body.page-id-4088 .select2-container .select2-selection--single {
    height: 51px !important;
    display: flex !important;
    align-items: center !important;

    background: #fcf9f6 !important;
    border: 1px solid var(--uc-border) !important;
    border-radius: 4px !important;
}

body.page-id-4088 .select2-container .select2-selection__rendered {
    padding-left: 15px !important;
    color: var(--uc-ink) !important;
    font-size: 13px !important;
}

body.page-id-4088 .select2-container .select2-selection__arrow {
    height: 49px !important;
    right: 8px !important;
}

/* Additional information */

body.page-id-4088 .woocommerce-additional-fields {
    margin-top: 32px !important;
    padding-top: 28px !important;
    border-top: 1px solid var(--uc-border) !important;
}

body.page-id-4088 .woocommerce-additional-fields h3 {
    margin-bottom: 23px !important;
}

/* 5. ORDER REVIEW */

body.page-id-4088 #order_review_heading {
    grid-area: ordertitle !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 0 0 0 !important;
}

body.page-id-4088 #order_review {
    grid-area: order !important;
    width: 100% !important;
    min-width: 0 !important;
    float: none !important;
    margin: 0 !important;
    padding: 30px !important;

    background: var(--uc-white) !important;
    border: 1px solid var(--uc-border) !important;
    border-radius: 7px !important;
    box-shadow: 0 12px 40px rgba(48, 32, 27, .045) !important;
}

/* Order table */

body.page-id-4088 #order_review table.shop_table {
    width: 100% !important;
    margin: 0 !important;
    border: 0 !important;
    border-collapse: collapse !important;
    background: transparent !important;
}

body.page-id-4088 #order_review table.shop_table th,
body.page-id-4088 #order_review table.shop_table td {
    padding: 16px 0 !important;
    border: 0 !important;
    border-bottom: 1px solid var(--uc-border) !important;
    background: transparent !important;

    color: var(--uc-ink) !important;
    font-family: "Plus Jakarta Sans", sans-serif !important;
    font-size: 13px !important;
    line-height: 1.7 !important;
}

body.page-id-4088 #order_review table.shop_table th {
    font-weight: 600 !important;
    text-align: left !important;
}

body.page-id-4088 #order_review table.shop_table td {
    font-weight: 600 !important;
    text-align: right !important;
}

body.page-id-4088 #order_review table.shop_table tfoot th,
body.page-id-4088 #order_review table.shop_table tfoot td {
    padding: 17px 0 !important;
}

body.page-id-4088 #order_review table.shop_table tr.order-total th,
body.page-id-4088 #order_review table.shop_table tr.order-total td {
    color: var(--uc-wine) !important;
    font-size: 17px !important;
    font-weight: 800 !important;
}

/* 6. PAYMENT AREA — KEEP RAZORPAY FUNCTIONAL */

body.page-id-4088 #payment {
    grid-area: payment !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 27px !important;

    background: var(--uc-white) !important;
    border: 1px solid var(--uc-border) !important;
    border-radius: 7px !important;
    box-shadow: 0 12px 40px rgba(48, 32, 27, .035) !important;
}

body.page-id-4088 #payment ul.payment_methods {
    padding: 0 0 20px !important;
    margin: 0 !important;
    border-bottom: 1px solid var(--uc-border) !important;
}

body.page-id-4088 #payment ul.payment_methods li {
    padding: 0 !important;
    margin: 0 !important;
    color: var(--uc-ink) !important;
    font-size: 13px !important;
}

body.page-id-4088 #payment div.payment_box {
    margin: 15px 0 0 !important;
    padding: 18px !important;

    background: #f8f1eb !important;
    border-radius: 5px !important;

    color: #514640 !important;
    font-family: "Plus Jakarta Sans", sans-serif !important;
    font-size: 12px !important;
    line-height: 1.8 !important;
}

body.page-id-4088 #payment div.payment_box::before {
    border-bottom-color: #f8f1eb !important;
}

body.page-id-4088 #payment .payment_method_razorpay img {
    max-height: 30px !important;
    width: auto !important;
}

/* Terms, privacy and consent */

body.page-id-4088 #payment .woocommerce-terms-and-conditions-wrapper {
    margin: 22px 0 !important;
    color: var(--uc-muted) !important;
    font-size: 12px !important;
    line-height: 1.8 !important;
}

body.page-id-4088 #payment .form-row {
    margin-top: 15px !important;
}

/* Place order button */

body.page-id-4088 #place_order {
    display: block !important;
    width: 100% !important;
    min-height: 58px !important;
    float: none !important;
    margin: 20px 0 0 !important;
    padding: 16px 22px !important;

    background: var(--uc-wine) !important;
    border: 1px solid var(--uc-wine) !important;
    border-radius: 4px !important;

    color: #fff !important;
    font-family: "Plus Jakarta Sans", sans-serif !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    letter-spacing: 1.4px !important;
    text-transform: uppercase !important;

    cursor: pointer !important;
    transition: all .3s ease !important;
}

body.page-id-4088 #place_order:hover {
    background: #512536 !important;
    border-color: #512536 !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 10px 25px rgba(116, 56, 74, .17) !important;
}

/* Coupon form */

body.page-id-4088 form.checkout_coupon {
    padding: 22px !important;
    margin: 15px 0 0 !important;

    background: var(--uc-white) !important;
    border: 1px solid var(--uc-border) !important;
    border-radius: 6px !important;
}

body.page-id-4088 form.checkout_coupon .form-row {
    margin-bottom: 10px !important;
}

body.page-id-4088 form.checkout_coupon button {
    min-height: 48px !important;
    padding: 12px 22px !important;
    background: var(--uc-wine) !important;
    color: white !important;
    border: 0 !important;
    border-radius: 4px !important;
}

/* 7. VALIDATION AND ERRORS */

body.page-id-4088 .woocommerce-invalid .input-text {
    border-color: #bd5b5b !important;
}

body.page-id-4088 .woocommerce-validated .input-text {
    border-color: #8aa78a !important;
}

/* 8. RESPONSIVE TABLET */

@media (max-width: 950px) {
    body.page-id-4088 .woocommerce {
        padding: 35px 25px 75px !important;
    }

    body.page-id-4088 .entry-title {
        padding: 45px 25px 0 !important;
    }

    body.page-id-4088 form.checkout.woocommerce-checkout {
        grid-template-columns: minmax(0, 1fr) !important;
        grid-template-areas:
            "notices"
            "coupon"
            "billing"
            "ordertitle"
            "order"
            "payment" !important;
        gap: 22px !important;
    }

    body.page-id-4088 #order_review_heading {
        margin-top: 10px !important;
    }
}

/* 9. RESPONSIVE MOBILE */

@media (max-width: 600px) {
    body.page-id-4088 .woocommerce {
        padding: 24px 16px 55px !important;
    }

    body.page-id-4088 .entry-title {
        padding: 35px 16px 0 !important;
        font-size: 47px !important;
        letter-spacing: -1.5px !important;
    }

    body.page-id-4088 #customer_details,
    body.page-id-4088 #order_review,
    body.page-id-4088 #payment {
        padding: 22px 18px !important;
        border-radius: 6px !important;
    }

    body.page-id-4088 #customer_details h3,
    body.page-id-4088 #order_review_heading {
        font-size: 26px !important;
    }

    body.page-id-4088 #customer_details .form-row-first,
    body.page-id-4088 #customer_details .form-row-last {
        width: 100% !important;
        float: none !important;
        margin-right: 0 !important;
    }

    body.page-id-4088 .woocommerce form .form-row {
        margin-bottom: 17px !important;
    }

    body.page-id-4088 #order_review table.shop_table th,
    body.page-id-4088 #order_review table.shop_table td {
        font-size: 12px !important;
    }

    body.page-id-4088 #payment {
        padding: 20px 17px !important;
    }

    body.page-id-4088 .woocommerce-info,
    body.page-id-4088 .woocommerce-message {
        font-size: 12px !important;
    }
}

/* 10. SUBTLE ENTRANCE ANIMATION */

@keyframes ucCheckoutFade {
    from {
        opacity: 0;
        transform: translateY(14px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

body.page-id-4088 #customer_details,
body.page-id-4088 #order_review,
body.page-id-4088 #payment {
    animation: ucCheckoutFade .6s ease both;
}

body.page-id-4088 #order_review {
    animation-delay: .08s;
}

body.page-id-4088 #payment {
    animation-delay: .14s;
}

/* 11. ACCESSIBILITY */

@media (prefers-reduced-motion: reduce) {
    body.page-id-4088 *,
    body.page-id-4088 *::before,
    body.page-id-4088 *::after {
        animation: none !important;
        transition: none !important;
    }
}









/* =========================================
   CHECKOUT PAGE — PROFESSIONAL VALIDATION
   Page ID: 4088
========================================= */

/* Inline validation error messages */
body.page-id-4088.woocommerce-checkout
.woocommerce form .form-row .woocommerce-error,
body.page-id-4088.woocommerce-checkout
.woocommerce form .form-row .woocommerce-invalid-required-field .woocommerce-error {
    display: block !important;
    color: #c03945 !important;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    padding: 5px 0 0 !important;
    margin: 3px 0 0 !important;
    font-family: 'DM Sans', sans-serif !important;
    font-size: 12px !important;
    font-weight: 500 !important;
    line-height: 1.5 !important;
    letter-spacing: 0.1px !important;
}

/* Remove WooCommerce default error pseudo-elements */
body.page-id-4088.woocommerce-checkout
.woocommerce form .form-row .woocommerce-error::before,
body.page-id-4088.woocommerce-checkout
.woocommerce form .form-row .woocommerce-error::after {
    display: none !important;
    content: none !important;
}

/* Invalid input fields */
body.page-id-4088.woocommerce-checkout
.woocommerce form .form-row.woocommerce-invalid input,
body.page-id-4088.woocommerce-checkout
.woocommerce form .form-row.woocommerce-invalid select,
body.page-id-4088.woocommerce-checkout
.woocommerce form .form-row.woocommerce-invalid textarea,
body.page-id-4088.woocommerce-checkout
.woocommerce form .form-row.woocommerce-invalid .select2-selection {
    border: 1px solid #c85b64 !important;
    background-color: #fffafa !important;
    box-shadow: 0 0 0 2px rgba(200, 91, 100, 0.07) !important;
}

/* Invalid field labels */
body.page-id-4088.woocommerce-checkout
.woocommerce form .form-row.woocommerce-invalid label {
    color: #b74450 !important;
}

/* Required asterisk */
body.page-id-4088.woocommerce-checkout
.woocommerce form .form-row .required {
    color: #c03945 !important;
}

/* Smooth validation transition */
body.page-id-4088.woocommerce-checkout
.woocommerce form .form-row input,
body.page-id-4088.woocommerce-checkout
.woocommerce form .form-row select,
body.page-id-4088.woocommerce-checkout
.woocommerce form .form-row textarea,
body.page-id-4088.woocommerce-checkout
.woocommerce form .form-row .select2-selection {
    transition: border-color 0.25s ease,
                box-shadow 0.25s ease,
                background-color 0.25s ease !important;
}

/* General checkout error notices */
body.page-id-4088.woocommerce-checkout
.woocommerce-NoticeGroup-checkout .woocommerce-error {
    background: #fff5f4 !important;
    color: #a9323d !important;
    border: 1px solid #f0d0d0 !important;
    border-left: 3px solid #c03945 !important;
    border-radius: 8px !important;
    padding: 14px 18px 14px 42px !important;
    font-family: 'DM Sans', sans-serif !important;
    font-size: 13px !important;
    line-height: 1.6 !important;
    box-shadow: none !important;
}












/* ==========================================
   CHECKOUT — FIX LARGE VALIDATION TEXT
   Only checkout page (ID 4088)
========================================== */

/* WooCommerce and theme-generated field errors */
body.page-id-4088.woocommerce-checkout
.woocommerce form .form-row .woocommerce-error,
body.page-id-4088.woocommerce-checkout
.woocommerce form .form-row .error,
body.page-id-4088.woocommerce-checkout
.woocommerce form .form-row .field-error,
body.page-id-4088.woocommerce-checkout
.woocommerce form .form-row .invalid-feedback,
body.page-id-4088.woocommerce-checkout
.woocommerce form .form-row .woocommerce-invalid-feedback,
body.page-id-4088.woocommerce-checkout
.woocommerce form .form-row .woocommerce-validated + .error,
body.page-id-4088.woocommerce-checkout
.woocommerce form .form-row .woocommerce-input-wrapper ~ .error {
    display: block !important;
    color: #c44b55 !important;
    font-family: 'DM Sans', sans-serif !important;
    font-size: 12px !important;
    font-weight: 500 !important;
    line-height: 1.45 !important;
    letter-spacing: 0 !important;
    margin: 5px 0 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    text-transform: none !important;
}

/* Prevent theme typography from enlarging inline messages */
body.page-id-4088.woocommerce-checkout
.woocommerce form .form-row .woocommerce-error *,
body.page-id-4088.woocommerce-checkout
.woocommerce form .form-row .error *,
body.page-id-4088.woocommerce-checkout
.woocommerce form .form-row .field-error *,
body.page-id-4088.woocommerce-checkout
.woocommerce form .form-row .invalid-feedback * {
    font-size: 12px !important;
    line-height: 1.45 !important;
    font-weight: 500 !important;
    color: #c44b55 !important;
}

/* Remove default error icons */
body.page-id-4088.woocommerce-checkout
.woocommerce form .form-row .woocommerce-error::before,
body.page-id-4088.woocommerce-checkout
.woocommerce form .form-row .error::before {
    display: none !important;
    content: none !important;
}

/* Keep space between error and next field */
body.page-id-4088.woocommerce-checkout
.woocommerce form .form-row.woocommerce-invalid {
    margin-bottom: 20px !important;
}


















/* Hide large inline checkout validation messages */
body.page-id-4088.woocommerce-checkout
.woocommerce form .form-row.woocommerce-invalid .woocommerce-error,
body.page-id-4088.woocommerce-checkout
.woocommerce form .form-row.woocommerce-invalid .woocommerce-invalid-feedback,
body.page-id-4088.woocommerce-checkout
.woocommerce form .form-row.woocommerce-invalid .error,
body.page-id-4088.woocommerce-checkout
.woocommerce form .form-row.woocommerce-invalid .field-error,
body.page-id-4088.woocommerce-checkout
.woocommerce form .form-row.woocommerce-invalid .wc-block-components-validation-error,
body.page-id-4088.woocommerce-checkout
.woocommerce form .form-row.woocommerce-invalid > p {
    display: none !important;
}

/* Preserve red invalid-field styling */
body.page-id-4088.woocommerce-checkout
.woocommerce form .form-row.woocommerce-invalid input,
body.page-id-4088.woocommerce-checkout
.woocommerce form .form-row.woocommerce-invalid select,
body.page-id-4088.woocommerce-checkout
.woocommerce form .form-row.woocommerce-invalid textarea {
    border-color: #c85b64 !important;
}












/* ==============================================
   UNDERCONFIDENT — PREMIUM CHECKOUT ERROR NOTICE
   Checkout page only: ID 4088
============================================== */

body.page-id-4088.woocommerce-checkout
.woocommerce-NoticeGroup-checkout ul.woocommerce-error,
body.page-id-4088.woocommerce-checkout
.woocommerce ul.woocommerce-error {
    position: relative !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 0 !important;

    width: 100% !important;
    margin: 20px 0 26px !important;
    padding: 18px 24px 18px 52px !important;

    list-style: none !important;
    background: #fff9f7 !important;
    border: 1px solid #eedbd5 !important;
    border-left: 3px solid #a84d5c !important;
    border-radius: 10px !important;

    color: #51413f !important;
    font-family: 'DM Sans', sans-serif !important;
    font-size: 13px !important;
    font-weight: 400 !important;
    line-height: 1.6 !important;

    box-shadow: 0 5px 20px rgba(68, 37, 35, 0.035) !important;
}

/* Custom alert icon */
body.page-id-4088.woocommerce-checkout
.woocommerce-NoticeGroup-checkout ul.woocommerce-error::before,
body.page-id-4088.woocommerce-checkout
.woocommerce ul.woocommerce-error::before {
    content: "!" !important;
    position: absolute !important;
    top: 18px !important;
    left: 17px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: 22px !important;
    height: 22px !important;
    border-radius: 50% !important;

    background: #a84d5c !important;
    color: #ffffff !important;

    font-family: 'DM Sans', sans-serif !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
}

/* Individual error rows */
body.page-id-4088.woocommerce-checkout
.woocommerce-NoticeGroup-checkout ul.woocommerce-error li {
    position: relative !important;
    display: block !important;

    margin: 0 !important;
    padding: 5px 0 !important;

    color: #51413f !important;
    font-family: 'DM Sans', sans-serif !important;
    font-size: 13px !important;
    font-weight: 400 !important;
    line-height: 1.55 !important;

    border: 0 !important;
    background: transparent !important;
}

/* Remove WooCommerce default error icons */
body.page-id-4088.woocommerce-checkout
.woocommerce-NoticeGroup-checkout ul.woocommerce-error li::before,
body.page-id-4088.woocommerce-checkout
.woocommerce ul.woocommerce-error li::before {
    display: none !important;
    content: none !important;
}

/* Error field links */
body.page-id-4088.woocommerce-checkout
.woocommerce-NoticeGroup-checkout ul.woocommerce-error li a,
body.page-id-4088.woocommerce-checkout
.woocommerce ul.woocommerce-error li a {
    color: #873d50 !important;
    font-family: 'DM Sans', sans-serif !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    text-underline-offset: 3px !important;
    transition: color 0.2s ease !important;
}

body.page-id-4088.woocommerce-checkout
.woocommerce-NoticeGroup-checkout ul.woocommerce-error li a:hover,
body.page-id-4088.woocommerce-checkout
.woocommerce ul.woocommerce-error li a:hover {
    color: #b65e70 !important;
    text-decoration: underline !important;
}

/* Subtle separators between multiple errors */
body.page-id-4088.woocommerce-checkout
.woocommerce-NoticeGroup-checkout ul.woocommerce-error li + li,
body.page-id-4088.woocommerce-checkout
.woocommerce ul.woocommerce-error li + li {
    border-top: 1px solid #f0e5e1 !important;
}

/* Mobile adjustments */
@media (max-width: 600px) {
    body.page-id-4088.woocommerce-checkout
    .woocommerce-NoticeGroup-checkout ul.woocommerce-error,
    body.page-id-4088.woocommerce-checkout
    .woocommerce ul.woocommerce-error {
        padding: 15px 14px 15px 43px !important;
        margin: 15px 0 20px !important;
        border-radius: 8px !important;
    }

    body.page-id-4088.woocommerce-checkout
    .woocommerce-NoticeGroup-checkout ul.woocommerce-error::before,
    body.page-id-4088.woocommerce-checkout
    .woocommerce ul.woocommerce-error::before {
        left: 12px !important;
        top: 16px !important;
        width: 20px !important;
        height: 20px !important;
    }

    body.page-id-4088.woocommerce-checkout
    .woocommerce-NoticeGroup-checkout ul.woocommerce-error li,
    body.page-id-4088.woocommerce-checkout
    .woocommerce-NoticeGroup-checkout ul.woocommerce-error li a {
        font-size: 12px !important;
    }
}