.caaf {
    --caaf-yellow: #ffcc05;
    --caaf-green: #55be25;
    --caaf-dark: #191b16;
    --caaf-line: #e8dc37;
    --caaf-text: #1a1a1a;
    min-height: 100vh;
    background:
        radial-gradient(circle at 13% 17%, rgba(0, 0, 0, .045) 0 80px, transparent 82px),
        radial-gradient(circle at 91% 73%, rgba(255, 204, 5, .08) 0 80px, transparent 82px),
        #fffdf8;
    color: var(--caaf-text);
    font-family: "Outfit", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

/* Modern Order Received & View Order Page Styles */
.caaf-order-received,
.woocommerce-view-order {
    font-family: "Outfit", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.caaf-order-received .entry-title,
.caaf-order-received .page-title,
.caaf-order-received .woocommerce-order > .woocommerce-notice,
.caaf-order-received .woocommerce-order-overview,
body.caaf-order-received .cas-woocommerce::before,
body.caaf-order-received .cas-woocommerce > h1,
body.caaf-order-received .cas-woocommerce > h2,
body.caaf-order-received .woocommerce > h1,
body.caaf-order-received .woocommerce > h2,
body.woocommerce-view-order .cas-order-view-topbar,
body.woocommerce-view-order .woocommerce > p.order-info {
    display: none !important;
}

body.caaf-order-received .cas-page,
body.caaf-order-received .cas-content {
    margin: 0 !important;
    padding: 0 !important;
    max-width: 100% !important;
    width: 100% !important;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
}

.caaf-order-received .woocommerce-order,
.woocommerce-view-order .woocommerce-MyAccount-content,
.woocommerce-view-order .woocommerce {
    color: #111827;
    font-family: "Outfit", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    max-width: var(--caaf-checkout-max-width, 680px);
    margin: 0 auto;
    padding: 12px 14px 40px;
    box-sizing: border-box;
}

/* 1. Status & Header Card */
.caaf-order-pending-head {
    background: #ffffff !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 14px !important;
    overflow: hidden !important;
    margin: 0 0 14px !important;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.02) !important;
}

.caaf-order-pending-head__top {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 10px !important;
    min-height: 48px !important;
    padding: 12px 14px !important;
    border-bottom: 1px solid #f1f5f9 !important;
}

.caaf-order-pending-head__back {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 28px !important;
    height: 28px !important;
    border-radius: 50% !important;
    background: #f8fafc !important;
    color: #111827 !important;
    font-size: 18px !important;
    font-weight: 600 !important;
    line-height: 1 !important;
    text-decoration: none !important;
    transition: background 0.15s ease !important;
}

.caaf-order-pending-head__back:hover {
    background: #e2e8f0 !important;
}

.caaf-order-pending-head__top h1 {
    margin: 0 !important;
    color: #111827 !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    line-height: 1.25 !important;
    letter-spacing: -0.2px !important;
    flex: 1 1 auto !important;
}

.caaf-order-pending-head__icon {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 30px !important;
    height: 30px !important;
    border-radius: 50% !important;
    background: #f0f7ff !important;
    color: #003580 !important;
    font-size: 20px !important;
    line-height: 1 !important;
}

/* 2. Order Metadata Grid */
.caaf-order-pending-summary {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 10px 14px !important;
    margin: 0 !important;
    padding: 12px 14px !important;
    background: #ffffff !important;
}

.caaf-order-pending-summary > div {
    display: flex !important;
    flex-direction: column !important;
    gap: 2px !important;
    margin: 0 !important;
    padding: 0 !important;
}

.caaf-order-pending-summary dt {
    color: #64748b !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.3px !important;
    margin: 0 !important;
    line-height: 1.2 !important;
}

.caaf-order-pending-summary dd {
    color: #111827 !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    margin: 0 !important;
    line-height: 1.3 !important;
}

.caaf-order-pending-summary__order dd {
    color: #003580 !important;
    font-size: 13.5px !important;
    font-weight: 800 !important;
}

/* 3. Section Cards (Order Details, Delivery Details, Customer Details) */
.caaf-order-received .woocommerce-order-details,
.caaf-order-received .caaf-order-delivery-details,
.caaf-order-received .woocommerce-customer-details,
.woocommerce-view-order .woocommerce-order-details,
.woocommerce-view-order .caaf-order-delivery-details,
.woocommerce-view-order .woocommerce-customer-details {
    background: #ffffff !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 14px !important;
    padding: 14px 16px !important;
    margin: 0 0 14px !important;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.02) !important;
    box-sizing: border-box !important;
}

/* Section Headings */
.caaf-order-received .woocommerce-order-details__title,
.caaf-order-received .woocommerce-column__title,
.woocommerce-view-order .woocommerce-order-details__title,
.woocommerce-view-order .woocommerce-column__title {
    margin: 0 0 12px !important;
    padding: 0 !important;
    color: #111827 !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    letter-spacing: -0.2px !important;
}

/* 4. Order Details Table */
.caaf-order-received table.shop_table,
.woocommerce-view-order table.shop_table {
    width: 100% !important;
    margin: 0 !important;
    border: none !important;
    border-radius: 0 !important;
    border-collapse: collapse !important;
    background: transparent !important;
}

.caaf-order-received table.shop_table thead th,
.woocommerce-view-order table.shop_table thead th {
    padding: 0 0 8px !important;
    border: none !important;
    border-bottom: 1px solid #f1f5f9 !important;
    color: #94a3b8 !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.3px !important;
    background: transparent !important;
}

.caaf-order-received table.shop_table thead th.product-total,
.woocommerce-view-order table.shop_table thead th.product-total {
    text-align: right !important;
}

/* Item Rows */
.caaf-order-received table.shop_table tbody td,
.woocommerce-view-order table.shop_table tbody td {
    padding: 10px 0 !important;
    border: none !important;
    border-bottom: 1px solid #f8fafc !important;
    color: #111827 !important;
    font-size: 13px !important;
    line-height: 1.35 !important;
    vertical-align: middle !important;
}

.caaf-order-received table.shop_table tbody td a,
.woocommerce-view-order table.shop_table tbody td a {
    color: #111827 !important;
    font-weight: 600 !important;
    text-decoration: none !important;
}

.caaf-order-received table.shop_table tbody td strong.product-quantity,
.woocommerce-view-order table.shop_table tbody td strong.product-quantity {
    color: #64748b !important;
    font-size: 12px !important;
    font-weight: 500 !important;
    margin-left: 4px !important;
}

.caaf-order-received table.shop_table tbody td.product-total,
.woocommerce-view-order table.shop_table tbody td.product-total {
    text-align: right !important;
    font-weight: 700 !important;
    font-size: 13px !important;
}

/* Totals Rows */
.caaf-order-received table.shop_table tfoot th,
.woocommerce-view-order table.shop_table tfoot th {
    padding: 6px 0 !important;
    border: none !important;
    border-top: 1px solid #f8fafc !important;
    color: #64748b !important;
    font-size: 12.5px !important;
    font-weight: 500 !important;
    text-align: left !important;
    background: transparent !important;
}

.caaf-order-received table.shop_table tfoot td,
.woocommerce-view-order table.shop_table tfoot td {
    padding: 6px 0 !important;
    border: none !important;
    border-top: 1px solid #f8fafc !important;
    color: #111827 !important;
    font-size: 12.5px !important;
    font-weight: 600 !important;
    text-align: right !important;
    background: transparent !important;
}

.caaf-order-received table.shop_table tfoot tr:last-child th,
.woocommerce-view-order table.shop_table tfoot tr:last-child th {
    padding-top: 10px !important;
    border-top: 1.5px solid #e2e8f0 !important;
    color: #111827 !important;
    font-size: 13.5px !important;
    font-weight: 700 !important;
}

.caaf-order-received table.shop_table tfoot tr:last-child td,
.woocommerce-view-order table.shop_table tfoot tr:last-child td {
    padding-top: 10px !important;
    border-top: 1.5px solid #e2e8f0 !important;
    color: #003580 !important;
    font-size: 15px !important;
    font-weight: 800 !important;
}

/* 5. Delivery Details Rows */
.caaf-order-delivery-details p {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    margin: 0 0 8px !important;
    padding: 0 !important;
    font-size: 12.5px !important;
    line-height: 1.4 !important;
}

.caaf-order-delivery-details p:last-child {
    margin-bottom: 0 !important;
}

.caaf-order-delivery-details strong {
    font-weight: 500 !important;
    color: #64748b !important;
}

.caaf-order-delivery-details p > span,
.caaf-order-delivery-details p > strong + span,
.caaf-order-delivery-details p {
    color: #111827 !important;
}

/* 6. Customer Details / Address Card */
.cas-customer-details-card .cas-customer-name {
    font-size: 13px !important;
    font-weight: 700 !important;
    color: #111827 !important;
    margin-bottom: 4px !important;
}

.cas-customer-details-card .cas-customer-address {
    font-size: 12.5px !important;
    line-height: 1.45 !important;
    color: #4b5563 !important;
    margin-bottom: 8px !important;
}

.cas-customer-details-card .cas-customer-contacts {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 8px 14px !important;
    padding-top: 8px !important;
    border-top: 1px solid #f1f5f9 !important;
    margin-top: 6px !important;
}

.cas-customer-details-card .cas-customer-contact-item {
    display: inline-flex !important;
    align-items: center !important;
    gap: 5px !important;
    font-size: 12px !important;
    font-weight: 500 !important;
    color: #111827 !important;
}

.cas-customer-details-card .cas-customer-contact-item svg {
    color: #64748b !important;
    flex-shrink: 0 !important;
}

/* Legacy Address Fallback */
.woocommerce-customer-details address {
    border: none !important;
    padding: 0 !important;
    margin: 0 !important;
    background: transparent !important;
    font-style: normal !important;
    font-size: 12.5px !important;
    line-height: 1.5 !important;
    color: #374151 !important;
}

.woocommerce-customer-details address p {
    margin: 4px 0 0 !important;
    font-size: 12px !important;
    color: #64748b !important;
}

.caaf a {
    color: inherit;
}

.caaf-welcome {
    display: grid;
    grid-template-rows: 1fr auto;
    padding: 44px 24px 34px;
    text-align: center;
}

.caaf-welcome__center {
    display: grid;
    align-content: center;
    justify-items: center;
}

.caaf-logo {
    display: block;
    max-width: min(76vw, 360px);
    max-height: 180px;
    object-fit: contain;
    margin-bottom: 42px;
}

.caaf-logo--text {
    display: grid;
    min-height: 118px;
    align-items: center;
    padding: 18px 28px;
    border: 4px solid var(--caaf-yellow);
    background: var(--caaf-dark);
    color: var(--caaf-yellow);
    font-size: 34px;
    font-weight: 900;
}

.caaf-welcome h1,
.caaf-card h1,
.caaf-page-header h1 {
    margin: 0;
    font-size: clamp(30px, 8vw, 44px);
    line-height: 1.06;
    letter-spacing: 0;
}

.caaf-welcome p {
    margin: 22px 0 70px;
    font-family: "Outfit", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    font-size: 20px;
}

.caaf-welcome__actions {
    display: grid;
    width: 100%;
    gap: 22px;
}

.caaf-button {
    display: inline-flex;
    width: 100%;
    min-height: 72px;
    align-items: center;
    justify-content: center;
    border: 0;
    border-radius: 999px;
    color: #fff;
    font-size: 27px;
    font-weight: 900;
    text-decoration: none;
}

.caaf-button--dark {
    background: var(--caaf-dark);
}

.caaf-button--yellow {
    background: var(--caaf-yellow);
    color: #171717;
}

.caaf-button--green {
    background: var(--caaf-green);
}

.caaf-skip,
.caaf-muted-link {
    font-family: "Outfit", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    font-size: 20px;
    font-weight: 900;
    text-decoration: underline;
}

.caaf-footer {
    display: grid;
    gap: 18px;
    color: #777;
    font-family: "Outfit", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    font-size: 18px;
    text-align: center;
}

.caaf-footer div {
    display: flex;
    justify-content: center;
    gap: 28px;
}

.caaf-footer a {
    text-decoration: none;
}

.caaf-modal-page {
    display: grid;
    align-items: center;
    padding: 32px 22px;
    background-color: rgba(0, 0, 0, .66);
}

.caaf-modal-page__logo {
    width: 220px;
    max-height: 120px;
    margin: 0 auto -20px;
    opacity: .34;
}

.caaf-card {
    position: relative;
    width: min(100%, 480px);
    margin: 0 auto;
    padding: 86px 28px 52px;
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 24px 48px rgba(0, 0, 0, .26);
    text-align: center;
}

.caaf-card__close {
    position: absolute;
    top: 22px;
    right: 28px;
    font-family: "Outfit", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    font-size: 58px;
    line-height: 1;
    text-decoration: none;
}

.caaf-form {
    display: grid;
    gap: 22px;
    margin-top: 34px;
}

.caaf-form label {
    display: grid;
    gap: 8px;
}

.caaf-form label > span {
    font-size: 13.5px;
    font-weight: 700;
}

.caaf-form em {
    color: #d45b25;
    font-style: normal;
}

.caaf-form input,
.caaf-form select {
    width: 100%;
    min-height: 48px;
    padding: 0 16px;
    border: 2px solid var(--caaf-line);
    border-radius: 12px;
    background: #fff;
    color: #666;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
    font-size: 14px;
}

.caaf-form small {
    color: #888;
    font-family: "Outfit", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    font-size: 14px;
    font-weight: 700;
}

.caaf-alert {
    margin: 20px 0;
    padding: 12px;
    border-radius: 8px;
    background: #fff1f2;
    color: #be123c;
    font-family: "Outfit", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.caaf-register-line {
    font-family: "Outfit", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    font-size: 24px;
}

.caaf-register-line a {
    font-family: "Outfit", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    font-weight: 900;
    text-decoration: none;
}

.caaf-page-header {
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr);
    gap: 10px;
    align-items: center;
    min-height: 96px;
    padding: 18px 24px;
    border-radius: 0 0 20px 20px;
    background: #fff;
    box-shadow: 0 5px 18px rgba(15, 23, 42, .14);
}

.caaf-page-header a {
    font-size: 54px;
    line-height: 1;
    text-decoration: none;
}

.caaf-register-panel {
    padding: 42px 22px 34px;
}

.caaf-register-panel h2 {
    margin: 0 0 28px;
    font-size: 28px;
}

.caaf-register-form {
    margin-top: 0;
}

@media (min-width: 720px) {
    .caaf {
        width: min(100%, 540px);
        margin: 0 auto;
        box-shadow: 0 20px 60px rgba(15, 23, 42, .16);
    }
}

body.caaf-app-checkout {
    padding-bottom: var(--caaf-checkout-bottom-space, 56px);
}

.caaf-app-checkout .cas-header {
    display: none;
}

.caaf-app-checkout .cas-main,
.caaf-app-checkout .cas-woocommerce {
    width: min(100%, var(--caaf-checkout-max-width, 680px));
    margin: 0 auto;
    padding: 0;
    border: 0;
    background: #f6f7f9;
    box-shadow: none;
}

.caaf-app-checkout .cas-woocommerce::before {
    content: "‹  Checkout";
    display: block;
    min-height: 72px;
    padding: 20px 22px;
    border-bottom: 1px solid #eef0f4;
    background: #fff;
    color: #151515;
    font-family: "Outfit", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    font-size: 28px;
    font-weight: 900;
    line-height: 1.1;
}

.caaf-app-checkout .woocommerce-notices-wrapper,
.caaf-app-checkout .woocommerce-info,
.caaf-app-checkout .woocommerce-error,
.caaf-app-checkout .woocommerce-message {
    margin: 0;
}

.caaf-app-checkout .woocommerce-notices-wrapper,
.caaf-app-checkout .woocommerce-NoticeGroup-PayMongoErrors {
    position: fixed !important;
    top: 78px !important;
    left: 50% !important;
    z-index: 10050 !important;
    width: min(calc(100% - 48px), calc(var(--caaf-checkout-max-width, 680px) - 48px)) !important;
    transform: translateX(-50%) !important;
    pointer-events: none !important;
}

.caaf-app-checkout .woocommerce-NoticeGroup-PayMongoErrors .woocommerce-error {
    pointer-events: auto !important;
}

.caaf-app-checkout .woocommerce-notices-wrapper:empty {
    display: none;
}

.caaf-app-checkout .woocommerce-message {
    display: flex;
    align-items: center;
    min-height: 0;
    padding: 12px 16px;
    border: 0;
    border-radius: 12px;
    background: rgba(18, 128, 118, .96);
    color: #fff;
    box-shadow: 0 14px 30px rgba(15, 23, 42, .16);
    font-family: "Outfit", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.35;
    animation: caaf-toast-fade .35s ease 1s forwards;
    pointer-events: auto;
    cursor: pointer;
}

.caaf-app-checkout .woocommerce-message::before {
    position: static;
    display: inline-flex;
    flex: 0 0 auto;
    width: 20px;
    height: 20px;
    align-items: center;
    justify-content: center;
    margin-right: 10px;
    color: #fff;
    line-height: 1;
}

.caaf-app-checkout .woocommerce-message .button,
.caaf-app-checkout .woocommerce-message .wc-forward {
    display: none !important;
}

.caaf-app-checkout .woocommerce-error {
    display: flex !important;
    align-items: center !important;
    min-height: 0 !important;
    padding: 12px 16px 12px 44px !important;
    border: 0 !important;
    border-radius: 12px !important;
    background: rgba(225, 29, 72, .96) !important;
    color: #fff !important;
    box-shadow: 0 14px 30px rgba(225, 29, 72, .24), 0 4px 12px rgba(15, 23, 42, .14) !important;
    font-family: "Outfit", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    line-height: 1.35 !important;
    list-style: none !important;
    margin: 0 0 10px 0 !important;
    position: relative !important;
    pointer-events: auto !important;
    cursor: pointer !important;
    animation: caaf-toast-fade .35s ease 4.5s forwards !important;
}

.caaf-app-checkout .woocommerce-error::before {
    content: "!" !important;
    position: absolute !important;
    left: 14px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    display: inline-flex !important;
    width: 20px !important;
    height: 20px !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 50% !important;
    background: rgba(255, 255, 255, .25) !important;
    color: #fff !important;
    font-family: "Outfit", -apple-system, BlinkMacSystemFont, sans-serif !important;
    font-weight: 800 !important;
    font-size: 13px !important;
    line-height: 1 !important;
    margin: 0 !important;
}

.caaf-app-checkout .woocommerce-error li {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
    color: #fff !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    line-height: 1.35 !important;
}

.caaf-app-checkout .woocommerce-error .button,
.caaf-app-checkout .woocommerce-error .wc-forward {
    display: none !important;
}

.caaf-app-checkout .woocommerce-info {
    display: flex !important;
    align-items: center !important;
    min-height: 0 !important;
    padding: 12px 16px !important;
    border: 0 !important;
    border-radius: 12px !important;
    background: rgba(14, 116, 144, .96) !important;
    color: #fff !important;
    box-shadow: 0 14px 30px rgba(15, 23, 42, .16) !important;
    font-family: "Outfit", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    line-height: 1.35 !important;
    list-style: none !important;
    margin: 0 0 10px 0 !important;
    pointer-events: auto !important;
    cursor: pointer !important;
    animation: caaf-toast-fade .35s ease 3s forwards !important;
}

.caaf-app-checkout .woocommerce-info::before {
    position: static !important;
    display: inline-flex !important;
    flex: 0 0 auto !important;
    width: 20px !important;
    height: 20px !important;
    align-items: center !important;
    justify-content: center !important;
    margin-right: 10px !important;
    color: #fff !important;
    line-height: 1 !important;
}

.caaf-app-checkout .woocommerce-info .button,
.caaf-app-checkout .woocommerce-info .wc-forward {
    display: none !important;
}

@keyframes caaf-toast-fade {
    to {
        opacity: 0;
        transform: translateY(-8px);
        visibility: hidden;
    }
}

.caaf-checkout-address-wrap {
    padding: 16px 20px 0;
    background: #fff;
    font-family: "Outfit", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.caaf-checkout-address {
    display: grid;
    grid-template-columns: 28px minmax(0, 1fr) auto;
    gap: 12px;
    align-items: start;
    padding: 18px 20px;
    border-bottom: 1px solid #edf0f5;
    background: #fff;
    font-family: "Outfit", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.caaf-checkout-address--card {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 14px 16px;
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    text-decoration: none !important;
    color: inherit;
    cursor: pointer;
    box-sizing: border-box;
    width: 100%;
    margin: 0;
    transition: border-color 0.15s ease, background-color 0.15s ease;
}

a.caaf-checkout-address.caaf-checkout-address--card {
    display: flex !important;
    border-bottom: 1px solid #e2e8f0 !important;
}

.caaf-checkout-address--card:hover,
.caaf-checkout-address--card:active {
    border-color: #cbd5e1;
    background: #fafbfc;
}

.caaf-checkout-address__header {
    display: flex;
    align-items: center;
    gap: 8px;
}

.caaf-checkout-address__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 26px;
    height: 26px;
    min-width: 26px;
    border-radius: 50%;
    background: #ffcc05;
    color: #171717;
    flex-shrink: 0;
}

.caaf-checkout-address__icon .material-symbols-outlined {
    font-size: 17px;
    font-variation-settings: 'FILL' 1, 'wght' 600, 'GRAD' 0, 'opsz' 20;
    line-height: 1;
}

.caaf-checkout-address--card strong {
    display: block;
    margin: 0;
    color: #171717;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.25;
}

.caaf-checkout-address--card .caaf-checkout-address__lines {
    margin-top: 4px;
    margin-left: 34px;
    display: grid;
    gap: 2px;
    color: #6b7280;
    font-size: 12px;
    line-height: 1.35;
}

.caaf-checkout-address--card .caaf-checkout-address__lines span {
    display: block;
}

.caaf-checkout-address__arrow {
    display: flex;
    align-items: center;
    justify-content: center;
    color: #9ca3af;
    flex-shrink: 0;
    padding-left: 4px;
}

.caaf-checkout-address__arrow .material-symbols-outlined {
    font-size: 22px;
    line-height: 1;
}

.caaf-checkout-address__pin {
    display: grid;
    width: 22px;
    height: 22px;
    place-items: center;
    color: #1e64c8;
    font-size: 17px;
    line-height: 1;
}

.caaf-checkout-address-wrap--pickup {
    padding: 16px 20px 0;
    background: #fff;
    box-sizing: border-box;
    width: 100%;
}

@media (max-width: 480px) {
    .caaf-checkout-address-wrap--pickup {
        padding: 14px 14px 0 !important;
    }
}

.caaf-checkout-address--pickup {
    display: grid;
    grid-template-columns: 28px minmax(0, 1fr) auto;
    gap: 12px;
    align-items: start;
    background: #f8fafc;
    border-radius: 16px;
    border: 1px solid #e2e8f0;
    margin: 0;
    padding: 16px 18px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.03);
    box-sizing: border-box;
    width: 100%;
}

section.caaf-checkout-address--pickup {
    margin: 10px 14px 16px !important;
    width: calc(100% - 28px) !important;
    box-sizing: border-box !important;
}

.caaf-checkout-address--pickup .caaf-checkout-address__pin {
    color: #008000;
}

.caaf-checkout-pickup-badge {
    display: inline-block;
    background: #008000;
    color: #ffffff;
    font-size: 10px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    padding: 2px 8px;
    border-radius: 999px;
    margin-bottom: 5px;
}

.caaf-change-branch-link {
    background: #f1f5f9;
    border: 1px solid #cbd5e1;
    color: #008000;
    font-size: 13px;
    font-weight: 700;
    padding: 6px 12px;
    border-radius: 999px;
    cursor: pointer;
    transition: all 0.15s ease;
    align-self: center;
}

.caaf-change-branch-link:hover,
.caaf-change-branch-link:active {
    background: #008000;
    color: #ffffff;
    border-color: #008000;
}

.caaf-checkout-address strong {
    display: block;
    margin-bottom: 4px;
    color: #171717;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.25;
}

.caaf-checkout-address p {
    margin: 0;
    overflow: hidden;
    color: #6b7280;
    display: -webkit-box;
    font-size: 12px;
    line-height: 1.35;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.caaf-checkout-address .caaf-checkout-address__lines {
    overflow: visible;
    display: grid;
    gap: 2px;
    color: #6b7280;
    font-size: 12px;
    line-height: 1.35;
    -webkit-box-orient: initial;
    -webkit-line-clamp: initial;
}

.caaf-checkout-address .caaf-checkout-address__lines span {
    display: block;
}

.caaf-checkout-address p span {
    display: inline-block;
    margin-right: 5px;
    padding: 1px 5px;
    background: #eaf1ff;
    color: #2458b8;
    font-size: 11px;
    font-weight: 700;
}

.caaf-checkout-address a {
    color: #2458b8;
    font-size: 12px;
    font-weight: 700;
    text-decoration: none;
}

.caaf-checkout-items {
    margin-top: 12px;
    background: #fff;
    border-top: 1px solid #edf0f5;
    border-bottom: 1px solid #edf0f5;
}

.caaf-checkout-delivery {
    padding: 18px 20px;
    background: #fff;
    font-family: "Outfit", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.caaf-checkout-delivery h2,
.caaf-checkout-remarks span {
    display: block;
    margin: 0 0 10px;
    color: #151515;
    font-family: "Outfit", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.25;
}

.caaf-checkout-delivery__card {
    display: flex;
    flex-direction: column;
    gap: 4px;
    padding: 14px 16px;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    background: #fff;
}

.caaf-checkout-delivery__card strong {
    color: #171717;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.25;
}

.caaf-checkout-delivery__card [data-caaf-delivery-type-label],
.caaf-checkout-delivery__card span[data-caaf-delivery-type-label] {
    display: none !important;
}

.caaf-checkout-delivery__card span {
    color: #171717;
    font-size: 13px;
    font-weight: 600;
}

.caaf-checkout-delivery__card small {
    color: #737373;
    font-size: 11px;
    font-weight: 600;
    line-height: 1.35;
    margin-bottom: 6px;
}

.caaf-checkout-delivery__card button {
    align-self: flex-end;
    width: auto;
    min-height: 36px;
    padding: 8px 16px;
    border: 0;
    border-radius: 8px;
    background: #ffcc05;
    color: #171717;
    font-family: inherit;
    font-size: 13px;
    font-weight: 700;
    cursor: pointer;
    transition: background 0.15s ease, opacity 0.15s ease;
}

.caaf-checkout-delivery__card button:hover,
.caaf-checkout-delivery__card button:active {
    background: #f0bd00;
}

.caaf-delivery-sheet__confirm {
    min-height: 40px;
    border: 0;
    border-radius: 999px;
    background: #ffcc05;
    color: #171717;
    font-size: 13px;
    font-weight: 700;
}

.caaf-order-method {
    margin: 16px 0;
    padding: 18px 20px;
    border-top: 1px solid #edf0f5;
    border-bottom: 1px solid #edf0f5;
    background: #fff;
    font-family: "Outfit", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.caaf-order-method h2 {
    margin: 0 0 10px;
    color: #151515;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.25;
}

.caaf-order-method__choices {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.caaf-order-method__choices label {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 46px;
    padding: 8px 10px;
    border: 1.5px solid #d8dde6;
    border-radius: 999px;
    background: #fff;
    color: #171717;
    font-size: 14px;
    font-weight: 900;
}

.caaf-order-method__choices input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.caaf-order-method__choices label.is-selected {
    border-color: #ffcc05;
    background: #ffcc05;
}

.caaf-order-method p {
    margin: 10px 0 0;
    color: #777;
    font-size: 12px;
    font-weight: 700;
}

.caaf-order-method-pickup .caaf-checkout-delivery h2,
.caaf-order-method-pickup .caaf-checkout-delivery__card,
.caaf-order-method-pickup .caaf-checkout-delivery__panel {
    display: none;
}

.caaf-checkout-remarks {
    display: block;
    margin-top: 22px;
}

.caaf-order-method-pickup .caaf-checkout-remarks,
.caaf-checkout-delivery__panel[style*="display:none"] + .caaf-checkout-remarks,
.caaf-checkout-delivery__panel[style*="display: none"] + .caaf-checkout-remarks {
    margin-top: 0;
}

.caaf-checkout-remarks textarea {
    width: 100%;
    min-height: 60px;
    padding: 12px 14px;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    background: #fff;
    color: #171717;
    font-family: "Outfit", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    font-size: 12px;
    box-sizing: border-box;
    resize: vertical;
}

.caaf-checkout-remarks textarea::placeholder {
    color: #9ca3af;
    font-family: "Outfit", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    font-size: 12px;
}

.caaf-location-picker {
    display: grid;
    gap: 10px;
    margin: 8px 0 22px;
}

.caaf-location-picker__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.caaf-location-picker__head span {
    display: grid;
    gap: 3px;
}

.caaf-location-picker__head strong {
    color: #171717;
    font-size: 18px;
    font-weight: 900;
}

.caaf-location-picker__head small,
.caaf-location-picker__status {
    color: #777;
    font-size: 12px;
    font-weight: 700;
}

.caaf-location-picker__head button {
    min-height: 34px;
    padding: 0 12px;
    border: 0;
    border-radius: 999px;
    background: #ffcc05;
    color: #171717;
    font-size: 12px;
    font-weight: 900;
    white-space: nowrap;
}

.caaf-location-picker__head button:disabled {
    opacity: .6;
}

.caaf-location-picker__map {
    width: 100%;
    min-height: 400px;
    overflow: hidden;
    border: 1.5px solid #cbd5e1;
    border-radius: 14px;
    background: #f3f4f6;
}

.caaf-location-picker[data-caaf-radius-input] .caaf-location-picker__map {
    min-height: 440px;
}

.caaf-location-picker__status {
    margin: 0;
}

.caaf-overpass-helper {
    display: grid;
    max-width: 680px;
    gap: 10px;
    margin: 16px 0;
    padding: 14px;
    border: 1px solid #d8dde6;
    border-radius: 8px;
    background: #fff;
}

.caaf-overpass-helper textarea {
    width: 100%;
    min-height: 150px;
    padding: 12px;
    border: 1px solid #9ca3af;
    border-radius: 6px;
    background: #fafafa;
    color: #111827;
    font-family: Consolas, Monaco, monospace;
    font-size: 13px;
    line-height: 1.45;
}

.caaf-overpass-helper__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.caaf-checkout-voucher {
    margin-top: 12px;
    padding: 16px 20px;
    border-top: 1px solid #edf0f5;
    border-bottom: 1px solid #edf0f5;
    background: #fff;
    font-family: "Outfit", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.caaf-checkout-voucher__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 12px;
}

.caaf-checkout-voucher__title-group {
    display: flex;
    align-items: center;
    gap: 10px;
}

.caaf-voucher-trigger-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 4px;
    padding: 4px 8px;
    border: 1px solid #d1d5db;
    border-radius: 6px;
    background: #ffffff;
    color: #171717;
    cursor: pointer;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
    transition: all 0.15s ease;
}

.caaf-voucher-trigger-btn:hover,
.caaf-voucher-trigger-btn:active {
    border-color: #ffcc05;
    background: #fffdf5;
}

.caaf-voucher-trigger-btn__ticket {
    display: flex;
    align-items: center;
    color: #f59e0b;
}

.caaf-voucher-trigger-btn__arrow {
    font-size: 16px;
    font-weight: 700;
    color: #94a3b8;
    line-height: 1;
}

/* Nayuomi Voucher Bottom Sheet Drawer */
.caaf-voucher-sheet {
    position: fixed;
    inset: 0;
    z-index: 99999;
    display: flex;
    justify-content: center;
    align-items: flex-end;
}

.caaf-voucher-sheet[hidden] {
    display: none !important;
}

.caaf-voucher-sheet__overlay {
    position: absolute;
    inset: 0;
    background: rgba(15, 23, 42, 0.45);
    backdrop-filter: blur(3px);
    -webkit-backdrop-filter: blur(3px);
}

.caaf-voucher-sheet__panel {
    position: relative;
    width: 100%;
    max-width: 520px;
    max-height: 82vh;
    background: #f8fafc;
    border-radius: 20px 20px 0 0;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    box-shadow: 0 -8px 30px rgba(0, 0, 0, 0.18);
    animation: caafVoucherSlideUp 0.25s cubic-bezier(0.16, 1, 0.3, 1);
    box-sizing: border-box;
    font-family: "Outfit", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

@keyframes caafVoucherSlideUp {
    from {
        transform: translateY(100%);
        opacity: 0;
    }
    to {
        transform: translateY(0);
        opacity: 1;
    }
}

.caaf-sheet-handle {
    width: 38px;
    height: 4px;
    border-radius: 999px;
    background: #cbd5e1;
    margin: 10px auto 4px;
    flex-shrink: 0;
}

.caaf-voucher-sheet__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 10px 18px 12px;
    border-bottom: 1px solid #e2e8f0;
    background: #fff;
    flex-shrink: 0;
}

.caaf-voucher-sheet__head h3 {
    margin: 0;
    font-size: 16px;
    font-weight: 800;
    color: #0f172a;
}

.caaf-voucher-sheet__close {
    background: transparent;
    border: 0;
    font-size: 18px;
    color: #64748b;
    cursor: pointer;
    padding: 4px 8px;
    line-height: 1;
    border-radius: 6px;
    transition: background 0.15s ease;
}

.caaf-voucher-sheet__close:hover {
    background: #f1f5f9;
}

.caaf-voucher-sheet__scroll {
    flex: 1;
    overflow-y: auto;
    padding: 14px 18px 24px;
    box-sizing: border-box;
}

.caaf-voucher-group {
    margin-bottom: 22px;
}

.caaf-voucher-group__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 10px;
}

.caaf-voucher-group__title {
    font-size: 13px;
    font-weight: 800;
    color: #1e293b;
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.caaf-voucher-group__note {
    font-size: 11px;
    font-weight: 600;
    color: #64748b;
    background: #e2e8f0;
    padding: 2px 8px;
    border-radius: 4px;
}

.caaf-voucher-list {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

/* Nayuomi Micro-Notch Ticket Cards */
.caaf-voucher-card {
    display: flex;
    align-items: stretch;
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    position: relative;
    cursor: pointer;
    transition: all 0.18s ease;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.03);
    overflow: hidden;
}

.caaf-voucher-card:hover {
    border-color: #cbd5e1;
    transform: translateY(-1px);
    box-shadow: 0 3px 8px rgba(0, 0, 0, 0.05);
}

.caaf-voucher-card.is-selected {
    border-color: #ffcc05;
    box-shadow: 0 0 0 1.5px #ffcc05, 0 3px 10px rgba(255, 204, 5, 0.15);
    background: #fffdf5;
}

.caaf-voucher-card.is-locked {
    opacity: 0.62;
    background: #f8fafc;
    cursor: not-allowed;
    border-color: #e2e8f0;
    transform: none;
    box-shadow: none;
}

.caaf-voucher-card__badge {
    width: 84px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 12px 6px;
    flex-shrink: 0;
    position: relative;
    border-right: 1px dashed #cbd5e1;
}

.caaf-voucher-card__badge--shipping {
    background: #003580;
    color: #ffffff;
}

.caaf-voucher-card__badge--discount {
    background: #ffcc05;
    color: #171717;
}

.caaf-voucher-card__badge-icon {
    font-size: 20px;
    line-height: 1;
    margin-bottom: 4px;
}

.caaf-voucher-card__badge-text {
    font-size: 10.5px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.3px;
    line-height: 1.15;
}

.caaf-voucher-card__body {
    flex: 1;
    padding: 12px 14px;
    min-width: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.caaf-voucher-card__title {
    margin: 0 0 4px;
    font-size: 13.5px;
    font-weight: 700;
    color: #0f172a;
    line-height: 1.25;
}

.caaf-voucher-card__meta {
    font-size: 11.5px;
    color: #64748b;
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
    align-items: center;
}

.caaf-voucher-card__lock-reason {
    font-size: 11px;
    font-weight: 600;
    color: #b45309;
    background: #fef3c7;
    padding: 2px 8px;
    border-radius: 4px;
    display: inline-block;
    margin-top: 6px;
    align-self: flex-start;
}

.caaf-voucher-card__select {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 16px;
    flex-shrink: 0;
}

.caaf-voucher-radio {
    width: 22px;
    height: 22px;
    border-radius: 50%;
    border: 2px solid #cbd5e1;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.15s ease;
    box-sizing: border-box;
}

.caaf-voucher-radio.is-checked {
    border-color: #ffcc05;
    background: #ffcc05;
}

.caaf-voucher-radio.is-checked::after {
    content: "✓";
    font-size: 12px;
    font-weight: 900;
    color: #171717;
    line-height: 1;
}

.caaf-voucher-empty {
    font-size: 12px;
    color: #94a3b8;
    margin: 8px 0;
    font-style: italic;
}

.caaf-voucher-sheet__footer {
    padding: 14px 18px calc(14px + env(safe-area-inset-bottom, 0px));
    background: #ffffff;
    border-top: 1px solid #e2e8f0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-shrink: 0;
    box-shadow: 0 -4px 12px rgba(0, 0, 0, 0.03);
}

.caaf-voucher-sheet__summary {
    font-size: 13.5px;
    font-weight: 800;
    color: #0f172a;
}

.caaf-voucher-sheet__confirm-btn {
    border: 0;
    border-radius: 8px;
    background: #ffcc05;
    color: #171717;
    font-size: 14px;
    font-weight: 800;
    padding: 10px 28px;
    cursor: pointer;
    transition: background 0.15s ease, transform 0.1s ease;
}

.caaf-voucher-sheet__confirm-btn:hover {
    background: #f0bd00;
    transform: translateY(-1px);
}

.caaf-voucher-sheet__confirm-btn:active {
    transform: translateY(0);
}

.caaf-checkout-voucher__icon {
    display: grid;
    width: 24px;
    height: 24px;
    place-items: center;
    border-radius: 50%;
    background: #ef3f5f;
    color: #fff;
    font-size: 13px;
    font-weight: 900;
}

.caaf-checkout-voucher__head strong {
    color: #171717;
    font-size: 14px;
    font-weight: 700;
}

.caaf-checkout-voucher__form {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 8px;
}

.caaf-checkout-voucher__form input {
    width: 100%;
    min-height: 40px;
    padding: 0 12px;
    border: 1px solid #d8dde6;
    border-radius: 6px;
    background: #fff;
    color: #171717;
    font-size: 13px;
}

.caaf-checkout-voucher__form button {
    min-width: 76px;
    min-height: 40px;
    border: 0;
    border-radius: 6px;
    background: #ffcc05;
    color: #171717;
    font-size: 13px;
    font-weight: 700;
}

.caaf-checkout-voucher__form button:disabled {
    opacity: .62;
}

.caaf-checkout-voucher__status {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    min-height: 0;
    margin-top: 10px;
    color: #667085;
    font-size: 13px;
}

.caaf-checkout-voucher__status span {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 5px 8px;
    border-radius: 999px;
    background: #f1f5f9;
    color: #171717;
    font-weight: 800;
}

.caaf-checkout-voucher__status button {
    display: grid;
    width: 18px;
    height: 18px;
    place-items: center;
    border: 0;
    border-radius: 50%;
    background: #d8dde6;
    color: #171717;
    font-size: 12px;
    font-weight: 900;
    line-height: 1;
}

.caaf-delivery-sheet[hidden] {
    display: none !important;
}

.caaf-delivery-sheet {
    position: fixed;
    inset: 0;
    z-index: 999999;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 16px;
    box-sizing: border-box;
}

.caaf-delivery-sheet__overlay {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, .64);
    backdrop-filter: blur(2px);
}

.caaf-delivery-sheet__panel {
    position: relative;
    z-index: 1;
    width: 100%;
    max-width: 460px;
    max-height: calc(100vh - 40px);
    margin: auto;
    overflow-y: auto;
    padding: 24px 20px;
    border-radius: 16px;
    background: #fff;
    color: #171717;
    font-family: "Outfit", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    box-shadow: 0 20px 60px rgba(15, 23, 42, .35);
    box-sizing: border-box;
}

.caaf-delivery-sheet__back {
    position: absolute;
    top: 20px;
    left: 18px;
    border: 0;
    background: transparent;
    color: #171717;
    font-size: 34px;
    line-height: 24px;
    cursor: pointer;
    padding: 0;
}

.caaf-delivery-sheet__close {
    position: absolute;
    top: 18px;
    right: 18px;
    width: 32px;
    height: 32px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 0;
    border-radius: 50%;
    background: #f3f4f6;
    color: #4b5563;
    font-size: 22px;
    line-height: 1;
    cursor: pointer;
    padding: 0;
    transition: background-color .15s ease, color .15s ease;
}

.caaf-delivery-sheet__close:hover {
    background: #e5e7eb;
    color: #111827;
}

.caaf-delivery-sheet h2 {
    margin: 0 38px 14px 38px;
    font-family: "Outfit", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    font-size: 23px;
    font-weight: 900;
    line-height: 1.15;
    text-align: center;
}

.caaf-delivery-sheet__time {
    display: block;
    margin-bottom: 20px;
    text-align: center;
    font-size: 15px;
    font-weight: 900;
}

.caaf-delivery-choice,
.caaf-delivery-picker {
    display: block;
    margin: 18px 0;
    color: #252525;
    font-size: 16px;
    font-weight: 800;
}

.caaf-delivery-choice input {
    margin-right: 8px;
}

.caaf-delivery-picker span {
    display: block;
    margin: 0 0 8px 36px;
    font-family: "Outfit", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    font-size: 16px;
    font-weight: 900;
}

.caaf-delivery-picker input {
    width: 100%;
    min-height: 48px;
    padding: 0 14px;
    border: 1px solid #d7dce4;
    border-radius: 6px;
    background: #fff;
    color: #171717;
    font-size: 16px;
    font-weight: 800;
}

.caaf-delivery-picker input:disabled {
    opacity: .55;
    background: #f3f4f6;
}

.caaf-delivery-sheet__confirm {
    width: 100%;
    min-height: 50px;
    margin-top: 20px;
    cursor: pointer;
}

.caaf-delivery-sheet__confirm:disabled {
    opacity: .55;
}

.caaf-delivery-sheet__notice {
    margin: 12px 0 0;
    color: #737373;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.35;
}

.caaf-checkout-item {
    display: grid;
    grid-template-columns: 76px minmax(0, 1fr) auto;
    gap: 12px;
    align-items: start;
    padding: 16px 20px;
    font-family: "Outfit", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.caaf-checkout-item__image {
    width: 76px;
    aspect-ratio: 1;
    overflow: hidden;
    border-radius: 6px;
    background: #f2f4f7;
}

.caaf-checkout-item__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.caaf-checkout-item__body {
    min-width: 0;
}

.caaf-checkout-item h3 {
    display: -webkit-box;
    margin: 0 0 4px;
    overflow: hidden;
    color: #171717;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.25;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.caaf-checkout-item__body dl,
.caaf-checkout-item__body p {
    margin: 0 0 3px;
    color: #6b7280;
    font-size: 11px;
}

.caaf-checkout-item__body span {
    color: #6b7280;
    font-size: 11px;
}

.caaf-checkout-item > strong {
    color: #171717;
    font-size: 14px;
    font-weight: 700;
    white-space: nowrap;
}

.caaf-app-checkout form.checkout {
    display: block;
    background: #ffffff;
    border-radius: 0 0 14px 14px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.02);
    overflow: hidden;
    margin: 0 0 24px 0;
    width: 100%;
    box-sizing: border-box;
}

.caaf-app-checkout #customer_details {
    margin: 0;
}

.caaf-app-checkout .woocommerce-billing-fields,
.caaf-app-checkout .woocommerce-shipping-fields,
.caaf-app-checkout .woocommerce-additional-fields,
.caaf-app-checkout .woocommerce-form-coupon-toggle,
.caaf-app-checkout .woocommerce-form-login-toggle {
    display: none !important;
}

.caaf-app-checkout #order_review_heading {
    margin: 0;
    padding: 16px 20px 8px;
    background: #fff;
    color: #151515;
    font-size: 0;
    font-weight: 700;
}

.caaf-app-checkout #order_review_heading::before {
    content: "Order Detail";
    font-size: 14px;
    font-weight: 700;
}

.caaf-app-checkout #order_review {
    display: flex;
    flex-direction: column;
    background: #fff;
    padding-bottom: 0;
}

.caaf-app-checkout table.shop_table {
    order: 2;
    margin: 0;
    border: 0;
    border-radius: 0;
    border-collapse: collapse;
    background: #fff;
    font-family: "Outfit", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    width: 100%;
}

.caaf-app-checkout table.shop_table thead,
.caaf-app-checkout table.shop_table tbody .cart_item {
    display: none;
}

.caaf-app-checkout table.shop_table th {
    padding: 12px 14px 12px 20px;
    border-top: 1px solid #edf0f5;
    border-bottom: 0;
    color: #171717;
    font-size: 13px;
    vertical-align: middle;
    text-align: left;
    box-sizing: border-box;
}

.caaf-app-checkout table.shop_table td {
    padding: 12px 20px 12px 14px;
    border-top: 1px solid #edf0f5;
    border-bottom: 0;
    color: #171717;
    font-size: 13px;
    vertical-align: middle;
    text-align: right;
    white-space: nowrap;
    box-sizing: border-box;
}

@media (max-width: 480px) {
    .caaf-app-checkout table.shop_table th {
        padding: 12px 10px 12px 16px !important;
    }
    .caaf-app-checkout table.shop_table td {
        padding: 12px 16px 12px 10px !important;
    }
}

.caaf-app-checkout table.shop_table tfoot th {
    text-align: left;
    font-weight: 500;
    color: #171717;
}

.caaf-app-checkout table.shop_table tfoot td {
    text-align: right;
    font-weight: 700;
    color: #171717;
    white-space: nowrap;
}

.caaf-app-checkout table.shop_table .product-name {
    font-weight: 600;
}

.caaf-app-checkout table.shop_table .product-total,
.caaf-app-checkout table.shop_table td:last-child {
    text-align: right;
    font-weight: 700;
}

/* Custom Subtotal Label: "Merchandise Subtotal" */
.caaf-app-checkout table.shop_table .cart-subtotal th {
    font-size: 0;
    color: transparent;
}

.caaf-app-checkout table.shop_table .cart-subtotal th::before {
    content: "Merchandise Subtotal";
    font-size: 13px;
    font-weight: 500;
    color: #171717;
}

/* Custom Shipping Label (if shipping totals row appears): "Delivery Fee" */
.caaf-app-checkout table.shop_table .woocommerce-shipping-totals th {
    font-size: 0;
    color: transparent;
}

.caaf-app-checkout table.shop_table .woocommerce-shipping-totals th::before {
    content: "Delivery Fee";
    font-size: 13px;
    font-weight: 500;
    color: #171717;
}

/* Coupon Discount Row */
.caaf-app-checkout table.shop_table .cart-discount th {
    font-size: 13px;
    font-weight: 500;
    color: #171717;
}

.caaf-app-checkout table.shop_table .cart-discount td {
    font-size: 13px;
    font-weight: 700;
    color: #171717;
}

.caaf-app-checkout table.shop_table .cart-discount .woocommerce-remove-coupon {
    font-size: 12px;
    font-weight: 500;
    margin-left: 6px;
    text-decoration: none;
    color: #ef4444;
}

.caaf-app-checkout table.shop_table .cart-discount .woocommerce-remove-coupon:hover {
    text-decoration: underline;
}

/* Total Row */
.caaf-app-checkout table.shop_table .order-total th {
    font-size: 14px;
    font-weight: 700;
    color: #171717;
}

.caaf-app-checkout table.shop_table .order-total td {
    font-size: 15px;
    font-weight: 800;
    color: #171717;
}

.caaf-app-checkout #payment {
    order: 1;
    margin-top: 0;
    padding-bottom: 18px;
    border-radius: 0;
    background: #fff;
}

.caaf-app-checkout #payment::before {
    content: "Select payment method";
    display: block;
    padding: 16px 20px 8px;
    color: #151515;
    font-size: 14px;
    font-weight: 700;
}

.caaf-app-checkout #payment .woocommerce-notice,
.caaf-app-checkout #payment .woocommerce-info {
    margin: 0 20px 12px;
    border: 1px solid #fecaca;
    border-radius: 4px;
    background: #fff1f2;
    color: #7f1d1d;
}

.caaf-app-checkout #payment ul.payment_methods,
.caaf-app-checkout #payment ul.wc_payment_methods {
    padding: 0 20px 16px 20px;
    border: 0;
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 8px;
    box-sizing: border-box;
}

@media (max-width: 480px) {
    .caaf-app-checkout #payment ul.payment_methods,
    .caaf-app-checkout #payment ul.wc_payment_methods {
        padding: 0 16px 16px 16px !important;
    }
    .caaf-app-checkout #payment::before {
        padding: 16px 16px 8px !important;
    }
}

.caaf-app-checkout #payment ul.payment_methods li.wc_payment_method,
.caaf-app-checkout #payment ul.wc_payment_methods li.wc_payment_method {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px;
    min-height: 42px;
    padding: 8px 14px;
    border: 1.5px solid #e2e8f0;
    border-radius: 12px;
    background: #ffffff;
    box-sizing: border-box;
    cursor: pointer;
    box-shadow: none;
    transition: border-color 0.2s ease, background 0.2s ease;
}

.caaf-app-checkout #payment ul.payment_methods li.wc_payment_method:hover,
.caaf-app-checkout #payment ul.wc_payment_methods li.wc_payment_method:hover {
    border-color: #cbd5e1;
    background: #fafbfc;
}

.caaf-app-checkout #payment ul.payment_methods li.wc_payment_method:has(input:checked),
.caaf-app-checkout #payment ul.wc_payment_methods li.wc_payment_method:has(input:checked),
.caaf-app-checkout #payment ul.wc_payment_methods li.wc_payment_method.is-selected {
    border-color: #003580;
    background: #f0f7ff;
}

.caaf-app-checkout #payment ul.payment_methods li.wc_payment_method > label,
.caaf-app-checkout #payment ul.wc_payment_methods li.wc_payment_method > label {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    flex: 1 1 auto;
    width: auto;
    margin: 0;
    padding: 0;
    font-size: 13.5px;
    font-weight: 700;
    color: #111827;
    line-height: 1.25;
    cursor: pointer;
}

.caaf-app-checkout #payment ul.payment_methods li.wc_payment_method input[type="radio"],
.caaf-app-checkout #payment ul.wc_payment_methods li.wc_payment_method input[type="radio"] {
    accent-color: #003580;
    width: 18px;
    height: 18px;
    margin: 0;
    padding: 0;
    float: none;
    position: static;
    flex-shrink: 0;
    cursor: pointer;
}

.caaf-app-checkout #payment ul.payment_methods li.wc_payment_method img,
.caaf-app-checkout #payment ul.wc_payment_methods li.wc_payment_method img,
.caaf-app-checkout #payment ul.payment_methods li.wc_payment_method label img,
.caaf-app-checkout #payment ul.wc_payment_methods li.wc_payment_method label img {
    max-height: 20px;
    max-width: 65px;
    width: auto;
    height: auto;
    object-fit: contain;
    margin: 0 0 0 auto;
    display: inline-block;
    vertical-align: middle;
    border-radius: 2px;
}

.caaf-app-checkout #payment div.payment_box {
    flex: 0 0 100%;
    width: 100%;
    box-sizing: border-box;
    margin: 6px 0 0;
    padding: 8px 0 2px 30px;
    background: transparent;
    color: #64748b;
    font-size: 11.5px;
    line-height: 1.4;
    border-top: 1px dashed #cbd5e1;
}

.caaf-app-checkout #payment div.payment_box:has(.form-row),
.caaf-app-checkout #payment div.payment_box:has(fieldset),
.caaf-app-checkout #payment div.payment_box:has(input),
.caaf-app-checkout #payment div.payment_box.payment_method_paymongo {
    padding: 10px 0 4px 0;
}

.caaf-app-checkout #payment div.payment_box::before,
.caaf-app-checkout #payment div.payment_box::after {
    display: none;
}

.caaf-app-checkout #payment div.payment_box p {
    margin: 0;
}

/* PayMongo & Credit Card Form Reset & Grid Layout */
.caaf-app-checkout #payment fieldset.cynder-credit-card-form,
.caaf-app-checkout #payment fieldset.cynder-payment-form,
.caaf-app-checkout #payment fieldset.wc-credit-card-form {
    border: none !important;
    padding: 4px 0 0 0 !important;
    margin: 0 !important;
    background: transparent !important;
    width: 100% !important;
    box-sizing: border-box !important;
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 12px 10px !important;
}

.caaf-app-checkout #payment fieldset.cynder-credit-card-form .form-row,
.caaf-app-checkout #payment fieldset.cynder-payment-form .form-row,
.caaf-app-checkout #payment fieldset.wc-credit-card-form .form-row {
    margin: 0 !important;
    padding: 0 !important;
    float: none !important;
    box-sizing: border-box !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
}

.caaf-app-checkout #payment fieldset .form-row-wide {
    flex: 0 0 100% !important;
    width: 100% !important;
}

.caaf-app-checkout #payment fieldset .form-row-first,
.caaf-app-checkout #payment fieldset .form-row-last {
    flex: 1 1 calc(50% - 5px) !important;
    width: calc(50% - 5px) !important;
    max-width: calc(50% - 5px) !important;
}

/* Credit Card Form Labels & Asterisks */
.caaf-app-checkout #payment div.payment_box label {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 3px !important;
    width: 100% !important;
    margin: 0 0 5px 0 !important;
    padding: 0 !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    color: #374151 !important;
    line-height: 1.2 !important;
    cursor: pointer !important;
    text-transform: none !important;
}

.caaf-app-checkout #payment div.payment_box label .required {
    color: #ef4444 !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    margin-left: 2px !important;
    text-decoration: none !important;
    border: none !important;
    display: inline !important;
}

/* Credit Card Input Fields */
.caaf-app-checkout #payment div.payment_box input[type="text"],
.caaf-app-checkout #payment div.payment_box input[type="password"] {
    width: 100% !important;
    height: 40px !important;
    padding: 8px 12px !important;
    font-size: 13.5px !important;
    line-height: 1.4 !important;
    font-family: inherit !important;
    color: #111827 !important;
    background-color: #ffffff !important;
    border: 1.5px solid #d1d5db !important;
    border-radius: 8px !important;
    box-sizing: border-box !important;
    box-shadow: none !important;
    outline: none !important;
    transition: border-color 0.2s ease, box-shadow 0.2s ease !important;
}

.caaf-app-checkout #payment div.payment_box input[type="text"]:focus,
.caaf-app-checkout #payment div.payment_box input[type="password"]:focus {
    border-color: #003580 !important;
    box-shadow: 0 0 0 3px rgba(0, 53, 128, 0.12) !important;
    background-color: #ffffff !important;
}

.caaf-app-checkout #payment div.payment_box input::placeholder {
    color: #9ca3af !important;
    font-size: 13px !important;
    opacity: 1 !important;
}

.caaf-app-checkout #payment div.payment_box .clear {
    display: none !important;
}

.caaf-paymongo-test-hint {
    margin-top: 10px !important;
    padding: 10px 12px !important;
    background: #f0fdf4 !important;
    border: 1px solid #bbf7d0 !important;
    border-radius: 8px !important;
    font-size: 11.5px !important;
    color: #166534 !important;
    line-height: 1.4 !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

.caaf-paymongo-test-hint__badge {
    display: inline-block !important;
    background: #dcfce7 !important;
    color: #15803d !important;
    font-weight: 700 !important;
    font-size: 10px !important;
    padding: 2px 6px !important;
    border-radius: 4px !important;
    margin-bottom: 5px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
}

.caaf-paymongo-test-hint ul {
    margin: 4px 0 0 0 !important;
    padding-left: 16px !important;
    list-style: disc !important;
}

.caaf-paymongo-test-hint li {
    margin-bottom: 2px !important;
    font-size: 11.5px !important;
}

.caaf-paymongo-test-hint code {
    background: #ffffff !important;
    border: 1px solid #86efac !important;
    padding: 1px 4px !important;
    border-radius: 3px !important;
    font-family: monospace !important;
    font-weight: 600 !important;
    color: #14532d !important;
    user-select: all !important;
}

.caaf-app-checkout #order_review > .place-order,
.caaf-app-checkout #payment > .place-order {
    position: fixed !important;
    bottom: 0 !important;
    left: 0 !important;
    right: 0 !important;
    z-index: 9999 !important;
    order: 3;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    width: 100% !important;
    max-width: var(--caaf-checkout-max-width, 680px) !important;
    margin: 0 auto !important;
    padding: 12px 20px calc(12px + env(safe-area-inset-bottom, 0px)) !important;
    background: linear-gradient(180deg, #ffffff 0%, #f7f9fa 100%) !important;
    border-top: none !important;
    box-shadow: 0 -8px 24px rgba(0, 0, 0, 0.05), 0 -1px 3px rgba(0, 0, 0, 0.02) !important;
    box-sizing: border-box !important;
    visibility: visible !important;
    opacity: 1 !important;
}

.caaf-app-checkout #payment > .place-order {
    display: none !important;
}

.caaf-app-checkout .woocommerce-checkout-review-order-table {
    margin: 0;
}

.caaf-app-checkout #payment .place-order .woocommerce-terms-and-conditions-wrapper,
.caaf-app-checkout #order_review > .place-order .woocommerce-terms-and-conditions-wrapper {
    display: none;
}

.caaf-checkout-bar-total {
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    text-align: left !important;
    line-height: 1.2 !important;
}

.caaf-checkout-bar-count {
    color: #6b7280 !important;
    font-size: 12px !important;
    font-weight: 500 !important;
    margin-bottom: 2px !important;
}

.caaf-checkout-bar-amount,
.caaf-checkout-bar-amount .woocommerce-Price-amount {
    color: #111827 !important;
    font-size: 18px !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
}

.caaf-app-checkout #place_order {
    display: inline-flex !important;
    width: auto !important;
    min-width: 130px !important;
    min-height: 44px !important;
    height: 44px !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 24px !important;
    border-radius: 999px !important;
    background: #f70663 !important;
    color: #fff !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    border: none !important;
    box-shadow: 0 4px 12px rgba(247, 6, 99, 0.25) !important;
    cursor: pointer !important;
    box-sizing: border-box !important;
    margin: 0 !important;
    text-decoration: none !important;
    transition: transform 0.15s ease, filter 0.15s ease !important;
}

.caaf-app-checkout #place_order:hover {
    color: #fff !important;
    text-decoration: none !important;
    filter: brightness(1.05);
}

.caaf-app-checkout #place_order:active {
    transform: scale(0.98);
    filter: brightness(0.95);
}

.caaf-app-checkout #place_order::after {
    content: none !important;
    display: none !important;
}

.caaf-app-checkout .cas-bottom-nav,
.caaf-app-checkout .pmbd {
    display: none !important;
}

.caaf-app-checkout .cas-woocommerce::before {
    content: none !important;
    display: none !important;
}

.caaf-app-checkout .cas-page {
    margin-top: 0 !important;
}

.caaf-app-checkout .cas-flow-topbar {
    position: sticky !important;
    top: 0 !important;
    z-index: 1000 !important;
    margin: 0 !important;
    min-height: 60px;
    padding: 16px 20px;
    border-bottom: 1px solid #eef0f4;
    background: #fff;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.02);
    border-radius: 14px 14px 0 0;
    display: flex;
    align-items: center;
    gap: 12px;
    width: 100%;
    box-sizing: border-box;
}

@media (max-width: 480px) {
    .caaf-app-checkout .cas-flow-topbar {
        margin: 0 !important;
        padding: 14px 16px;
        border-radius: 14px 14px 0 0;
        width: 100%;
        box-sizing: border-box;
    }
}

.caaf-app-account .cas-header,
body.woocommerce-account .cas-header {
    display: none !important;
}

body.caaf-app-account,
body.woocommerce-account {
    padding-top: max(16px, env(safe-area-inset-top, 16px)) !important;
}

.caaf-app-account .woocommerce-MyAccount-navigation {
    display: none !important;
}

.caaf-app-address .cas-woocommerce > h1:first-child,
.caaf-app-address .cas-content > h1:first-child,
.caaf-app-address .entry-title {
    display: none !important;
}

.caaf-app-address .woocommerce-Address-title,
.caaf-app-address .u-columns.woocommerce-Addresses {
    display: none !important;
}

.caaf-app-address .woocommerce form h2,
.caaf-app-address .woocommerce form h3 {
    margin-top: 0;
}

/* ==========================================================================
   Modernized Account Info & Address Info Pages
   ========================================================================== */

body.caaf-app-account-details,
body.woocommerce-edit-account,
body.caaf-app-address,
body.woocommerce-edit-address {
    background-color: #f8fafc !important;
    padding-bottom: calc(140px + env(safe-area-inset-bottom, 0px)) !important;
}

.caaf-app-account-details .cas-page,
.caaf-app-account-details .cas-content,
.caaf-app-account-details .cas-woocommerce,
.caaf-app-address .cas-page,
.caaf-app-address .cas-content,
.caaf-app-address .cas-woocommerce {
    background-color: transparent !important;
    border: none !important;
    box-shadow: none !important;
    padding-left: 12px !important;
    padding-right: 12px !important;
}

/* Card Form Container for Both Account Info and Address Info */
.caaf-app-account-details form.woocommerce-EditAccountForm,
.caaf-app-address .woocommerce form {
    max-width: 520px !important;
    margin: 0 auto !important;
    background: #ffffff !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 16px !important;
    padding: 22px 18px 24px !important;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.04) !important;
    box-sizing: border-box !important;
}

.caaf-app-address .woocommerce form h2,
.caaf-app-address .woocommerce form h3 {
    margin: 0 0 16px 0 !important;
    font-size: 17px !important;
    font-weight: 700 !important;
    color: #0f172a !important;
    letter-spacing: -0.3px !important;
}

/* Row & Input Layout */
.caaf-app-account-details .woocommerce-EditAccountForm .woocommerce-form-row,
.caaf-app-address .woocommerce form .form-row {
    margin-bottom: 16px !important;
    padding: 0 !important;
    box-sizing: border-box !important;
}

/* First & Last Name Two-Column Grid on Account Info */
.caaf-app-account-details .woocommerce-EditAccountForm .woocommerce-form-row--first,
.caaf-app-account-details .woocommerce-EditAccountForm .woocommerce-form-row--last {
    width: calc(50% - 6px) !important;
    float: left !important;
    margin-bottom: 16px !important;
}

.caaf-app-account-details .woocommerce-EditAccountForm .woocommerce-form-row--first {
    margin-right: 12px !important;
}

.caaf-app-account-details .woocommerce-EditAccountForm .clear {
    clear: both !important;
    display: block !important;
    height: 0 !important;
    margin: 0 !important;
    overflow: hidden !important;
}

@media (max-width: 420px) {
    .caaf-app-account-details .woocommerce-EditAccountForm .woocommerce-form-row--first,
    .caaf-app-account-details .woocommerce-EditAccountForm .woocommerce-form-row--last {
        width: 100% !important;
        float: none !important;
        margin-right: 0 !important;
    }
}

/* Labels */
.caaf-app-account-details .woocommerce-EditAccountForm label,
.caaf-app-address .woocommerce form label {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    margin-bottom: 6px !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    color: #334155 !important;
    line-height: 1.3 !important;
    letter-spacing: -0.1px !important;
}

.caaf-app-account-details .woocommerce-EditAccountForm label .required,
.caaf-app-address .woocommerce form label .required {
    color: #ef4444 !important;
    font-weight: 700 !important;
    text-decoration: none !important;
}

/* Text Inputs */
.caaf-app-account-details .woocommerce-EditAccountForm input.input-text,
.caaf-app-account-details .woocommerce-EditAccountForm input[type="text"],
.caaf-app-account-details .woocommerce-EditAccountForm input[type="email"],
.caaf-app-address .woocommerce form input.input-text,
.caaf-app-address .woocommerce form input[type="text"],
.caaf-app-address .woocommerce form input[type="tel"] {
    display: block !important;
    width: 100% !important;
    height: 46px !important;
    padding: 10px 14px !important;
    font-size: 14.5px !important;
    font-weight: 500 !important;
    color: #0f172a !important;
    background-color: #ffffff !important;
    border: 1px solid #cbd5e1 !important;
    border-radius: 10px !important;
    outline: none !important;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.03) inset !important;
    box-sizing: border-box !important;
    transition: border-color 0.18s ease, box-shadow 0.18s ease, background-color 0.18s ease !important;
}

.caaf-app-account-details .woocommerce-EditAccountForm input.input-text:focus,
.caaf-app-account-details .woocommerce-EditAccountForm input[type="text"]:focus,
.caaf-app-account-details .woocommerce-EditAccountForm input[type="email"]:focus,
.caaf-app-address .woocommerce form input.input-text:focus,
.caaf-app-address .woocommerce form input[type="text"]:focus {
    border-color: #003580 !important;
    box-shadow: 0 0 0 3px rgba(0, 53, 128, 0.12) !important;
    background-color: #ffffff !important;
}

/* Modern Combobox / Dropdown Select Styling (Proportionate 14px Font) */
.caaf-app-address .woocommerce form select,
.caaf-app-address .woocommerce-address-fields select,
select.caaf-billing-province,
select.caaf-billing-city,
select.caaf-billing-barangay {
    display: block !important;
    width: 100% !important;
    height: 46px !important;
    min-height: 46px !important;
    padding: 10px 36px 10px 14px !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    line-height: 1.4 !important;
    color: #0f172a !important;
    background-color: #ffffff !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right 14px center !important;
    background-size: 16px 16px !important;
    border: 1px solid #cbd5e1 !important;
    border-radius: 10px !important;
    outline: none !important;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.03) inset !important;
    box-sizing: border-box !important;
    appearance: none !important;
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    cursor: pointer !important;
    transition: border-color 0.18s ease, box-shadow 0.18s ease, background-color 0.18s ease !important;
}

.caaf-app-address .woocommerce form select:focus,
.caaf-app-address .woocommerce-address-fields select:focus,
select.caaf-billing-province:focus,
select.caaf-billing-city:focus,
select.caaf-billing-barangay:focus {
    border-color: #003580 !important;
    box-shadow: 0 0 0 3px rgba(0, 53, 128, 0.12) !important;
    background-color: #ffffff !important;
}

.caaf-app-address .woocommerce form select:disabled,
.caaf-app-address .woocommerce-address-fields select:disabled,
select.caaf-billing-province:disabled,
select.caaf-billing-city:disabled,
select.caaf-billing-barangay:disabled {
    background-color: #f1f5f9 !important;
    color: #94a3b8 !important;
    border-color: #e2e8f0 !important;
    cursor: not-allowed !important;
    opacity: 0.8 !important;
}

.caaf-app-address select option,
select.caaf-billing-province option,
select.caaf-billing-city option,
select.caaf-billing-barangay option {
    font-size: 14px !important;
    padding: 8px 12px !important;
    color: #0f172a !important;
    background: #ffffff !important;
}

/* Visually Hidden Native Select */
.caaf-native-select-hidden {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

/* Elevated Row Z-Index when Dropdown is Open */
.caaf-app-address .woocommerce form .form-row.has-open-select,
.caaf-app-address .woocommerce form .form-row:has(.caaf-custom-select.is-open),
.form-row.has-open-select,
.form-row:has(.caaf-custom-select.is-open) {
    z-index: 1050 !important;
    position: relative !important;
}

.caaf-app-address .woocommerce form .form-row:has(.caaf-custom-select),
.caaf-app-address .woocommerce-input-wrapper:has(.caaf-custom-select) {
    overflow: visible !important;
}

/* ==========================================================================
   Modern Custom Select Dropdown Component (Strict 14px Item List Font)
   ========================================================================== */
.caaf-custom-select {
    position: relative !important;
    width: 100% !important;
    box-sizing: border-box !important;
    font-family: inherit !important;
}

.caaf-custom-select__trigger {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    width: 100% !important;
    height: 46px !important;
    min-height: 46px !important;
    padding: 10px 14px !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    font-family: inherit !important;
    color: #0f172a !important;
    background-color: #ffffff !important;
    border: 1px solid #cbd5e1 !important;
    border-radius: 10px !important;
    outline: none !important;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.03) inset !important;
    box-sizing: border-box !important;
    cursor: pointer !important;
    text-align: left !important;
    transition: border-color 0.18s ease, box-shadow 0.18s ease, background-color 0.18s ease !important;
}

.caaf-custom-select.is-open .caaf-custom-select__trigger,
.caaf-custom-select__trigger:focus {
    border-color: #003580 !important;
    box-shadow: 0 0 0 3px rgba(0, 53, 128, 0.12) !important;
    background-color: #ffffff !important;
}

.caaf-custom-select--disabled .caaf-custom-select__trigger,
.caaf-custom-select__trigger:disabled {
    background-color: #f1f5f9 !important;
    color: #94a3b8 !important;
    border-color: #e2e8f0 !important;
    cursor: not-allowed !important;
    opacity: 0.8 !important;
    box-shadow: none !important;
}

.caaf-custom-select__label {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    font-size: 14px !important;
    line-height: 1.4 !important;
    color: #0f172a !important;
}

.caaf-custom-select__label.is-placeholder {
    color: #64748b !important;
    font-weight: 400 !important;
}

.caaf-custom-select__chevron {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin-left: 8px !important;
    flex-shrink: 0 !important;
    color: #64748b !important;
    transition: transform 0.2s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.caaf-custom-select.is-open .caaf-custom-select__chevron {
    transform: rotate(180deg) !important;
    color: #003580 !important;
}

.caaf-custom-select__menu {
    position: absolute !important;
    top: calc(100% + 4px) !important;
    left: 0 !important;
    right: 0 !important;
    z-index: 1050 !important;
    max-height: 230px !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
    background: #ffffff !important;
    border: 1px solid #cbd5e1 !important;
    border-radius: 12px !important;
    box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.12), 0 8px 10px -6px rgba(0, 0, 0, 0.04) !important;
    padding: 6px !important;
    box-sizing: border-box !important;
    scrollbar-width: thin !important;
    scrollbar-color: #cbd5e1 transparent !important;
}

.caaf-custom-select__menu::-webkit-scrollbar {
    width: 6px !important;
}

.caaf-custom-select__menu::-webkit-scrollbar-track {
    background: transparent !important;
}

.caaf-custom-select__menu::-webkit-scrollbar-thumb {
    background-color: #cbd5e1 !important;
    border-radius: 999px !important;
}

.caaf-custom-select__item {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding: 9px 12px !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    color: #1e293b !important;
    border-radius: 8px !important;
    cursor: pointer !important;
    transition: background-color 0.12s ease, color 0.12s ease !important;
    line-height: 1.4 !important;
    user-select: none !important;
    box-sizing: border-box !important;
}

.caaf-custom-select__item:hover {
    background-color: #f1f5f9 !important;
    color: #003580 !important;
}

.caaf-custom-select__item.is-selected {
    background-color: #e6f0fa !important;
    color: #003580 !important;
    font-weight: 600 !important;
}

.caaf-custom-select__item.is-placeholder {
    color: #64748b !important;
    font-weight: 400 !important;
    font-style: italic !important;
    border-bottom: 1px solid #f1f5f9 !important;
    margin-bottom: 2px !important;
    padding-bottom: 8px !important;
}

.caaf-custom-select__item-text {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    font-size: 13px !important;
}

.caaf-custom-select__check {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin-left: 8px !important;
    flex-shrink: 0 !important;
    color: #003580 !important;
}

/* Read-Only Mobile Number Field in Account Info */
.caaf-account-mobile-row {
    margin-top: 4px !important;
}

.caaf-input--readonly,
.caaf-app-account-details input.caaf-input--readonly {
    background-color: #f8fafc !important;
    color: #475569 !important;
    border: 1px solid #e2e8f0 !important;
    cursor: not-allowed !important;
    user-select: all !important;
    -webkit-user-select: all !important;
    font-family: inherit !important;
    font-weight: 600 !important;
    box-shadow: none !important;
}

.caaf-input--readonly:focus,
.caaf-app-account-details input.caaf-input--readonly:focus {
    border-color: #cbd5e1 !important;
    box-shadow: none !important;
    background-color: #f8fafc !important;
}

.caaf-readonly-badge {
    display: inline-flex !important;
    align-items: center !important;
    gap: 4px !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    color: #64748b !important;
    background: #f1f5f9 !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 999px !important;
    padding: 2px 8px !important;
    line-height: 1 !important;
}

.caaf-readonly-badge svg {
    flex-shrink: 0 !important;
}

.caaf-field-hint {
    display: block !important;
    margin-top: 5px !important;
    font-size: 12px !important;
    color: #94a3b8 !important;
    line-height: 1.3 !important;
}

/* Completely Hide Display Name Field & Helper Text */
.caaf-app-account-details .woocommerce-form-row:has(#account_display_name),
.caaf-app-account-details p:has(#account_display_name),
.caaf-app-account-details #account_display_name,
.caaf-app-account-details #account_display_name_description,
.caaf-app-account-details [aria-describedby="account_display_name_description"],
.caaf-app-account-details span:has(> em) {
    display: none !important;
}

/* Completely Hide Password Change Section on Account Info */
.caaf-app-account-details .woocommerce-EditAccountForm fieldset {
    display: none !important;
}

/* Hide Redundant First Name, Last Name, Mobile, and Zipcode on Address Info */
.caaf-app-address .woocommerce form #billing_first_name_field,
.caaf-app-address .woocommerce form #billing_last_name_field,
.caaf-app-address .woocommerce form #billing_phone_field,
.caaf-app-address .woocommerce form #billing_postcode_field,
.caaf-app-address .woocommerce form .form-row[id*="postcode"],
.caaf-app-address .caaf-billing-postcode,
.caaf-app-address [data-caaf-postcode-display],
.caaf-app-address .caaf-address-readonly p:has([data-caaf-postcode-display]),
.caaf-app-address .caaf-address-readonly {
    display: none !important;
}

/* Location Picker Map Container */
.caaf-app-address .caaf-location-picker {
    margin: 18px 0 6px !important;
    padding: 16px !important;
    background: #f8fafc !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 14px !important;
}

.caaf-app-address .caaf-location-picker__head button {
    background: #003580 !important;
    color: #ffffff !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    border-radius: 8px !important;
    height: 32px !important;
    padding: 0 12px !important;
}

.caaf-app-address .caaf-location-picker__map {
    min-height: 380px !important;
    border-radius: 12px !important;
    border: 1px solid #cbd5e1 !important;
    overflow: hidden !important;
}

/* Modern Bottom Docked Action Bar */
.caaf-account-form-actions {
    position: fixed !important;
    bottom: calc(64px + env(safe-area-inset-bottom, 0px)) !important;
    left: 0 !important;
    right: 0 !important;
    z-index: 920 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
    max-width: 520px !important;
    margin: 0 auto !important;
    padding: 12px 16px !important;
    background: #ffffff !important;
    border-top: 1px solid #e2e8f0 !important;
    border-left: 1px solid #e2e8f0 !important;
    border-right: 1px solid #e2e8f0 !important;
    border-radius: 16px 16px 0 0 !important;
    box-shadow: 0 -4px 18px rgba(0, 0, 0, 0.07) !important;
    box-sizing: border-box !important;
}

body:not(.has-pmbd):not(:has(.pmbd)) .caaf-account-form-actions {
    bottom: 0 !important;
    padding-bottom: max(12px, env(safe-area-inset-bottom, 12px)) !important;
}

.caaf-account-form-actions p {
    margin: 0 !important;
    flex: 1 1 auto !important;
    display: flex !important;
}

/* Modern Back Button */
.caaf-account-form-back,
.caaf-app-account .caaf-account-form-back {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
    min-width: 96px !important;
    height: 44px !important;
    padding: 0 16px !important;
    border: 1px solid #cbd5e1 !important;
    border-radius: 12px !important;
    background: #f1f5f9 !important;
    color: #334155 !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    transition: background-color 0.15s ease, border-color 0.15s ease, transform 0.1s ease !important;
    box-sizing: border-box !important;
    cursor: pointer !important;
    flex-shrink: 0 !important;
}

.caaf-account-form-back:hover {
    background: #e2e8f0 !important;
    border-color: #94a3b8 !important;
    color: #0f172a !important;
}

.caaf-account-form-back:active {
    transform: scale(0.98) !important;
}

.caaf-account-form-back svg {
    width: 18px !important;
    height: 18px !important;
    stroke-width: 2.4 !important;
    stroke: currentColor !important;
    fill: none !important;
    display: block !important;
}

/* Modern Save Changes / Save Address Button */
.caaf-account-form-actions button[type="submit"],
.caaf-account-form-actions .button,
.caaf-account-form-actions button[name="save_account_details"],
.caaf-account-form-actions button[name="save_address"] {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    height: 44px !important;
    padding: 0 20px !important;
    border: none !important;
    border-radius: 12px !important;
    background: #003580 !important;
    color: #ffffff !important;
    font-size: 14.5px !important;
    font-weight: 700 !important;
    text-align: center !important;
    letter-spacing: -0.1px !important;
    box-shadow: 0 2px 8px rgba(0, 53, 128, 0.25) !important;
    transition: background-color 0.15s ease, transform 0.1s ease !important;
    box-sizing: border-box !important;
    cursor: pointer !important;
}

.caaf-account-form-actions button[type="submit"]:hover,
.caaf-account-form-actions .button:hover,
.caaf-account-form-actions button[name="save_account_details"]:hover,
.caaf-account-form-actions button[name="save_address"]:hover {
    background: #002766 !important;
}

.caaf-account-form-actions button[type="submit"]:active,
.caaf-account-form-actions .button:active,
.caaf-account-form-actions button[name="save_account_details"]:active,
.caaf-account-form-actions button[name="save_address"]:active {
    transform: scale(0.98) !important;
}

.caaf-address-readonly {
    display: grid;
    gap: 14px;
    margin: 4px 0 24px;
    color: #151515;
    font-size: 16px;
}

.caaf-address-readonly p {
    margin: 0;
}

.caaf-address-readonly strong {
    font-weight: 700;
}

.caaf-app-account .cas-main,
.caaf-app-account .cas-woocommerce,
.caaf-app-account .woocommerce {
    width: min(100%, 680px);
    margin: 0 auto;
    padding: 0;
    border: 0;
    background: #fff;
    box-shadow: none;
}

body.woocommerce-account,
body.caaf-app-account,
body.caaf-app-account-dashboard {
    padding-top: 0 !important;
    background: #ceffed !important;
}

body.woocommerce-account .cas-page,
body.caaf-app-account .cas-page,
body.caaf-app-account-dashboard .cas-page,
body.woocommerce-account .cas-main,
body.caaf-app-account .cas-main,
body.caaf-app-account-dashboard .cas-main,
body.woocommerce-account .cas-content,
body.caaf-app-account .cas-content,
body.caaf-app-account-dashboard .cas-content {
    padding: 0 !important;
    margin: 0 !important;
    max-width: 100% !important;
    width: 100% !important;
}

body.caaf-app-account .cas-content > h1:first-child,
body.woocommerce-account .cas-content > h1:first-child {
    display: none !important;
}

.caaf-account {
    min-height: 100vh;
    padding: 0 !important;
    margin: 0 !important;
    width: 100% !important;
    background: #ffffff;
    color: #152765;
    font-family: "Outfit", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.caaf-account a {
    color: inherit;
    text-decoration: none;
}

.caaf-account .material-symbols-outlined,
.caaf-order-card .material-symbols-outlined {
    font-family: 'Material Symbols Outlined' !important;
    font-weight: normal;
    font-style: normal;
    font-size: 24px;
    line-height: 1;
    letter-spacing: normal;
    text-transform: none;
    display: inline-block;
    white-space: nowrap;
    word-wrap: normal;
    direction: ltr;
    -webkit-font-feature-settings: 'liga';
    -webkit-font-smoothing: antialiased;
}

/* Mint Green Hero - 100% width, no side margins, compact height */
.caaf-account__hero {
    background: #ceffed !important;
    padding: max(8px, env(safe-area-inset-top, 8px)) 16px 8px 16px !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

.caaf-account__hero-content {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    width: 100% !important;
    max-width: 500px !important;
    margin: 0 auto !important;
}

.caaf-account__avatar {
    width: 32px !important;
    height: 32px !important;
    min-width: 32px !important;
    max-width: 32px !important;
    border-radius: 50% !important;
    background: #ffffff !important;
    border: 1.5px solid #111827 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: #111827 !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
}

.caaf-account__avatar .material-symbols-outlined {
    font-size: 20px !important;
    width: 20px !important;
    height: 20px !important;
    line-height: 20px !important;
    color: #111827 !important;
}

.caaf-account__user-info {
    flex: 1 !important;
    min-width: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
}

.caaf-account__user-name {
    display: block !important;
    font-size: 13.5px !important;
    font-weight: 700 !important;
    color: #111827 !important;
    line-height: 1.2 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

.caaf-account__user-email {
    display: block !important;
    font-size: 11.5px !important;
    font-weight: 400 !important;
    color: #374151 !important;
    line-height: 1.2 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    margin-top: 1px !important;
}

.caaf-account__settings-btn {
    width: 28px !important;
    height: 28px !important;
    min-width: 28px !important;
    max-width: 28px !important;
    border-radius: 6px !important;
    background: #232323 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: #ffffff !important;
    text-decoration: none !important;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.15) !important;
    transition: transform 0.15s ease, background-color 0.15s ease !important;
}

.caaf-account__settings-btn:hover,
.caaf-account__settings-btn:active {
    background: #000000 !important;
    transform: scale(0.96) !important;
}

.caaf-account__settings-btn .material-symbols-outlined {
    font-size: 17px !important;
    line-height: 17px !important;
    color: #ffffff !important;
}

/* Account Body */
.caaf-account__body {
    background: #ffffff !important;
    padding: 14px 14px 100px 14px !important;
    width: 100% !important;
    max-width: 500px !important;
    margin: 0 auto !important;
    box-sizing: border-box !important;
}

/* Option A: Wallet Card Banner */
.caaf-wallet-card {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    background: linear-gradient(135deg, #111827 0%, #1f2937 100%) !important;
    color: #ffffff !important;
    border-radius: 14px !important;
    padding: 12px 14px !important;
    margin-bottom: 16px !important;
    box-shadow: 0 4px 12px rgba(17, 24, 39, 0.1) !important;
    gap: 10px !important;
}

.caaf-wallet-card__left {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    min-width: 0 !important;
}

.caaf-wallet-card__icon-wrap {
    width: 36px !important;
    height: 36px !important;
    min-width: 36px !important;
    border-radius: 10px !important;
    background: rgba(206, 255, 237, 0.15) !important;
    color: #34d399 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.caaf-wallet-card__icon-wrap .material-symbols-outlined {
    font-size: 20px !important;
    line-height: 20px !important;
    color: #34d399 !important;
}

.caaf-wallet-card__details {
    display: flex !important;
    flex-direction: column !important;
    min-width: 0 !important;
}

.caaf-wallet-card__label {
    font-size: 11px !important;
    font-weight: 500 !important;
    color: #9ca3af !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    line-height: 1.2 !important;
}

.caaf-wallet-card__balance {
    font-size: 17px !important;
    font-weight: 700 !important;
    color: #ffffff !important;
    line-height: 1.3 !important;
    white-space: nowrap !important;
}

.caaf-wallet-card__balance .woocommerce-Price-amount {
    color: #ffffff !important;
}

.caaf-wallet-card__action {
    display: flex !important;
    align-items: center !important;
    flex-shrink: 0 !important;
}

.caaf-wallet-card__btn {
    display: inline-flex !important;
    align-items: center !important;
    gap: 4px !important;
    background: rgba(255, 255, 255, 0.12) !important;
    color: #f9fafb !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    padding: 6px 10px !important;
    border-radius: 8px !important;
    text-decoration: none !important;
    transition: background 0.15s ease, transform 0.15s ease !important;
}

.caaf-wallet-card__btn:hover {
    background: rgba(255, 255, 255, 0.22) !important;
    color: #ffffff !important;
}

.caaf-wallet-card__btn .material-symbols-outlined {
    font-size: 16px !important;
    line-height: 16px !important;
}

.caaf-account__orders-title {
    margin: 0 0 10px 0 !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    color: #111827 !important;
    line-height: 1.2 !important;
}

/* Order Cards */
.caaf-order-card {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 14px;
    padding: 12px 12px 14px 12px;
    margin-bottom: 12px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.02);
}

.caaf-order-card__badge {
    text-align: center;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.5px;
    color: #64748b;
    margin-bottom: 12px;
    text-transform: uppercase;
}

.caaf-order-card__items {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 6px;
    text-align: center;
}

.caaf-order-card__item {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    padding: 6px 4px;
    text-decoration: none;
    color: #1e293b;
    border-radius: 8px;
    transition: background-color 0.15s ease;
}

.caaf-order-card__item:hover,
.caaf-order-card__item:active {
    background-color: #f8fafc;
}

.caaf-order-card__icon-wrap {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    margin-bottom: 6px;
}

.caaf-order-card__icon-wrap .material-symbols-outlined {
    font-size: 26px;
    line-height: 1;
    color: #1e293b;
}

.caaf-order-card__badge-count {
    position: absolute;
    top: -4px;
    right: -6px;
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 18px;
    height: 18px;
    padding: 0 4px;
    border-radius: 999px;
    background: #ef4444;
    color: #ffffff;
    font-size: 11px;
    font-style: normal;
    font-weight: 800;
    line-height: 1;
    box-sizing: border-box;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
}

.caaf-order-card__label {
    display: block;
    font-size: 11px;
    font-weight: 500;
    line-height: 1.25;
    color: #334155;
    text-align: center;
    white-space: normal;
    word-break: break-word;
}

/* Sections & Lists */
.caaf-account-section {
    margin-top: 24px;
}

.caaf-account-section h2 {
    margin: 0 0 10px;
    color: #111827;
    font-size: 17px;
    font-weight: 700;
    line-height: 1.2;
}

.caaf-account-list {
    border-top: 1px solid #f1f5f9;
}

.caaf-account-list a {
    display: grid;
    grid-template-columns: 32px minmax(0, 1fr) 20px;
    gap: 12px;
    align-items: center;
    min-height: 50px;
    border-bottom: 1px solid #f1f5f9;
    text-decoration: none;
    color: #1e293b;
    transition: background 0.15s ease;
}

.caaf-account-list a:hover {
    background: #f8fafc;
}

.caaf-account-list__icon {
    display: flex;
    align-items: center;
    justify-content: center;
    color: #1e293b;
}

.caaf-account-list__icon svg {
    width: 22px;
    height: 22px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.caaf-account-list a strong {
    color: #1e293b;
    font-size: 14px;
    font-weight: 500;
}

.caaf-account-list__arrow {
    color: #94a3b8;
    font-size: 18px;
    font-weight: 400;
    line-height: 1;
    text-align: right;
}

body.caaf-app-orders,
body.woocommerce-orders {
    background-color: #f8fafc !important;
}

.caaf-purchases {
    min-height: 100vh;
    padding: 0 0 90px 0 !important;
    background: #f8fafc !important;
    color: #111827 !important;
    font-family: "Outfit", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

/* Modern Sticky Topbar */
.caaf-purchases__header {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
    position: sticky !important;
    top: 0 !important;
    z-index: 100 !important;
    background: #ffffff !important;
    border-bottom: 1px solid #f1f5f9 !important;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.03) !important;
    padding: max(10px, env(safe-area-inset-top, 10px)) 16px 10px 16px !important;
    margin: 0 !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

.caaf-purchases__back,
.caaf-purchases__header > a {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 32px !important;
    height: 32px !important;
    min-width: 32px !important;
    border-radius: 50% !important;
    background: #f1f5f9 !important;
    color: #111827 !important;
    font-size: 18px !important;
    font-weight: 600 !important;
    line-height: 1 !important;
    text-decoration: none !important;
    transition: background-color 0.15s ease !important;
}

.caaf-purchases__back:hover,
.caaf-purchases__header > a:hover {
    background: #e2e8f0 !important;
}

.caaf-purchases__title,
.caaf-purchases__header h1 {
    margin: 0 !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    color: #111827 !important;
    line-height: 1.25 !important;
    letter-spacing: -0.2px !important;
    flex: 1 1 auto !important;
    text-align: left !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

.caaf-purchases__brand {
    font-size: 13px !important;
    font-weight: 600 !important;
    color: #64748b !important;
    white-space: nowrap !important;
    flex-shrink: 0 !important;
    letter-spacing: -0.1px !important;
}

.caaf-purchases__tools {
    display: flex;
    gap: 12px;
    align-items: center;
}

.caaf-purchases__tools svg {
    width: 22px;
    height: 22px;
}

/* Orders List Container */
.caaf-purchases__list {
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
    max-width: 500px !important;
    margin: 0 auto !important;
    padding: 14px 14px 20px 14px !important;
    box-sizing: border-box !important;
}

/* Modern Order Card */
.caaf-purchase-card {
    background: #ffffff !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 14px !important;
    padding: 14px !important;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.02) !important;
    margin: 0 !important;
    box-sizing: border-box !important;
}

.caaf-purchase-card__store {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 10px !important;
    margin-bottom: 12px !important;
    padding-bottom: 10px !important;
    border-bottom: 1px solid #f1f5f9 !important;
}

.caaf-purchase-card__store div {
    display: flex !important;
    flex-direction: column !important;
    gap: 2px !important;
    min-width: 0 !important;
}

.caaf-purchase-card__store strong {
    font-size: 13px !important;
    font-weight: 700 !important;
    color: #111827 !important;
    line-height: 1.25 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

.caaf-purchase-card__store small {
    font-size: 11px !important;
    font-weight: 400 !important;
    color: #64748b !important;
    line-height: 1.2 !important;
}

.caaf-purchase-card__store em {
    font-size: 11px !important;
    font-weight: 700 !important;
    font-style: normal !important;
    text-transform: uppercase !important;
    letter-spacing: 0.3px !important;
    padding: 3px 8px !important;
    border-radius: 6px !important;
    background: #f1f5f9 !important;
    color: #1e293b !important;
    white-space: nowrap !important;
    flex-shrink: 0 !important;
}

.caaf-purchase-card__banner {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    padding: 10px 12px !important;
    border-radius: 10px !important;
    margin-bottom: 12px !important;
    background: #ecfdf5 !important;
    border: 1px solid #a7f3d0 !important;
    color: #065f46 !important;
}

.caaf-purchase-card__banner-icon {
    font-size: 16px !important;
    font-weight: 800 !important;
}

.caaf-purchase-card__banner strong {
    display: block !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    line-height: 1.3 !important;
}

.caaf-purchase-card__banner span {
    display: block !important;
    font-size: 11px !important;
    line-height: 1.3 !important;
    margin-top: 1px !important;
}

/* Purchase Items */
.caaf-purchase-item {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    padding: 8px 0 !important;
    border-bottom: 1px solid #f8fafc !important;
}

.caaf-purchase-item:last-of-type {
    border-bottom: none !important;
}

.caaf-purchase-item__image {
    width: 48px !important;
    height: 48px !important;
    min-width: 48px !important;
    max-width: 48px !important;
    border-radius: 8px !important;
    border: 1px solid #e2e8f0 !important;
    overflow: hidden !important;
    background: #f8fafc !important;
    display: block !important;
}

.caaf-purchase-item__image img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
}

.caaf-purchase-item__body {
    flex: 1 1 auto !important;
    min-width: 0 !important;
}

.caaf-purchase-item__body > strong {
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    color: #111827 !important;
    line-height: 1.3 !important;
    margin: 0 !important;
}

.caaf-purchase-item__body > span {
    display: block !important;
    font-size: 11px !important;
    color: #64748b !important;
    line-height: 1.3 !important;
    margin-top: 2px !important;
}

.caaf-purchase-item__body dl,
.caaf-purchase-item__body dt,
.caaf-purchase-item__body dd,
.caaf-purchase-item__body p {
    display: inline;
    margin: 0;
}

.caaf-purchase-item__side {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-end !important;
    gap: 2px !important;
    flex-shrink: 0 !important;
    text-align: right !important;
}

.caaf-purchase-item__side span {
    font-size: 11px !important;
    font-weight: 500 !important;
    color: #64748b !important;
}

.caaf-purchase-item__side strong {
    font-size: 13px !important;
    font-weight: 700 !important;
    color: #111827 !important;
}

/* Card Footer */
.caaf-purchase-card__footer {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 10px !important;
    margin-top: 10px !important;
    padding-top: 10px !important;
    border-top: 1px solid #f1f5f9 !important;
}

.caaf-purchase-card__footer p {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    margin: 0 !important;
    font-size: 12px !important;
    color: #64748b !important;
}

.caaf-purchase-card__footer p strong {
    font-size: 14px !important;
    font-weight: 800 !important;
    color: #111827 !important;
}

.caaf-purchase-card__footer div {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
}

.caaf-received-form {
    display: inline-flex;
    margin: 0;
    padding: 0;
}

.caaf-purchase-button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 32px !important;
    height: 32px !important;
    min-width: auto !important;
    padding: 0 14px !important;
    border-radius: 8px !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    line-height: 32px !important;
    border: 1px solid #e2e8f0 !important;
    background: #ffffff !important;
    color: #1e293b !important;
    text-decoration: none !important;
    cursor: pointer !important;
    transition: all 0.15s ease !important;
}

.caaf-purchase-button:hover {
    background: #f8fafc !important;
    border-color: #cbd5e1 !important;
}

.caaf-purchase-button--ghost {
    background: #f8fafc !important;
    border-color: #e2e8f0 !important;
    color: #1e293b !important;
}

.caaf-purchase-button--ghost:hover {
    background: #f1f5f9 !important;
    border-color: #cbd5e1 !important;
}

.caaf-purchase-button--received {
    background: #10b981 !important;
    border-color: #10b981 !important;
    color: #ffffff !important;
}

.caaf-purchase-button--received:hover {
    background: #059669 !important;
    border-color: #059669 !important;
}

.caaf-purchase-button--track {
    background: #0284c7 !important;
    border-color: #0284c7 !important;
    color: #ffffff !important;
}

.caaf-purchase-button--track:hover {
    background: #0369a1 !important;
    border-color: #0369a1 !important;
}

.caaf-cancel-form {
    display: inline-block !important;
    margin: 0 !important;
    padding: 0 !important;
}

.caaf-purchase-button--cancel {
    background: #ffffff !important;
    border-color: #fca5a5 !important;
    color: #dc2626 !important;
}

.caaf-purchase-button--cancel:hover {
    background: #fef2f2 !important;
    border-color: #ef4444 !important;
    color: #b91c1c !important;
}

.caaf-purchase-button--disabled,
.caaf-purchase-button:disabled {
    border-color: #d1d5db !important;
    background: #f3f4f6 !important;
    color: #9ca3af !important;
    cursor: not-allowed !important;
    opacity: 0.8 !important;
    box-shadow: none !important;
}


.caaf-tracking-dialog {
    width: min(94vw, 520px);
    padding: 0;
    border: 0;
    border-radius: 0;
    background: #fff;
    color: #171717;
}

.caaf-tracking-dialog::backdrop {
    background: rgba(0, 0, 0, .42);
}

.caaf-tracking-dialog__panel {
    display: grid;
    gap: 0;
}

.caaf-tracking-dialog__header {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto auto;
    gap: 12px;
    align-items: center;
    min-height: 44px;
    padding: 0 14px;
    border-bottom: 1px solid #eef0f3;
    background: #fff;
}

.caaf-tracking-dialog__header strong,
.caaf-tracking-dialog__header span {
    font-size: 15px;
    font-weight: 500;
}

.caaf-tracking-dialog__header button {
    width: 34px;
    height: 34px;
    border: 0;
    background: transparent;
    color: #171717;
    font-size: 18px;
}

.caaf-tracking-dialog__map {
    width: 100%;
    min-height: 360px;
    background: #edf0f3;
}

.caaf-tracking-dialog__status {
    margin: 0;
    padding: 9px 14px;
    color: #667085;
    font-size: 12px;
    font-weight: 600;
}

/* Modern Empty State Card */
.caaf-purchases__empty {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    gap: 8px !important;
    background: #ffffff !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 14px !important;
    padding: 48px 20px !important;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.02) !important;
}

.caaf-purchases__empty-icon {
    font-size: 38px !important;
    color: #94a3b8 !important;
    margin-bottom: 2px !important;
    line-height: 1 !important;
}

.caaf-purchases__empty strong {
    font-size: 15px !important;
    font-weight: 700 !important;
    color: #111827 !important;
    line-height: 1.3 !important;
}

.caaf-purchases__empty span {
    font-size: 12.5px !important;
    font-weight: 400 !important;
    color: #64748b !important;
    line-height: 1.4 !important;
    max-width: 260px !important;
}

@media (max-width: 480px) {
    .caaf-checkout-address-wrap {
        padding: 14px 14px 0 !important;
    }
    .caaf-checkout-delivery {
        padding: 14px 14px !important;
    }
    .caaf-order-method {
        padding: 14px 14px !important;
    }
}

@media (max-width: 420px) {
    .caaf-purchases__title,
    .caaf-purchases__header h1 {
        font-size: 14px !important;
    }

    .caaf-tracking-dialog__map {
        min-height: 330px;
    }
}

/* Keep order-received rules last because the page also uses checkout classes. */
.caaf-order-received .entry-title,
.caaf-order-received .page-title,
.caaf-order-received .woocommerce-order > .woocommerce-notice,
.caaf-order-received .woocommerce-order-overview {
    display: none !important;
}

.caaf-order-received .woocommerce-order {
    color: #111;
    font-family: "Outfit", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.caaf-order-received .woocommerce-order-details,
.caaf-order-received .caaf-order-delivery-details,
.caaf-order-received .woocommerce-customer-details {
    display: block;
    margin: 0 0 24px;
    padding: 0;
    background: transparent;
}

.caaf-order-received .woocommerce-order-details__title,
.caaf-order-received .woocommerce-column__title {
    margin: 0 0 12px;
    color: #111;
    font-size: 21px;
    font-weight: 900;
    line-height: 1.2;
}

.caaf-order-received table.shop_table,
.caaf-order-received .woocommerce-order table.shop_table {
    display: table;
    width: 100%;
    margin: 0;
    overflow: hidden;
    border: 1px solid #dcdcdc;
    border-radius: 5px;
    border-collapse: separate;
    border-spacing: 0;
    background: #fff;
}

.caaf-order-received table.shop_table thead {
    display: table-header-group;
}

.caaf-order-received table.shop_table tbody {
    display: table-row-group;
}

.caaf-order-received table.shop_table tfoot {
    display: table-footer-group;
}

.caaf-order-received table.shop_table tr {
    display: table-row;
}

.caaf-order-received table.shop_table th,
.caaf-order-received table.shop_table td {
    display: table-cell;
    padding: 12px 14px;
    border-top: 1px solid #e7e7e7;
    color: #111;
    font-size: 13px;
    font-weight: 900;
    line-height: 1.25;
}

.caaf-order-received table.shop_table thead th {
    border-top: 0;
}

.caaf-order-received table.shop_table a {
    color: #111;
}

.caaf-order-received .caaf-order-delivery-details p {
    margin: 0 0 10px;
    color: #111;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.25;
}

.caaf-order-received .caaf-order-delivery-details strong {
    font-weight: 900;
}

.caaf-order-received .woocommerce-customer-details address {
    padding: 12px;
    border: 1px solid #e1e1e1;
    border-radius: 5px;
    color: #111;
    font-size: 13px;
    font-style: normal;
    font-weight: 500;
    line-height: 1.25;
}

/* ==========================================================================
   Zus Coffee-Style Phone OTP Authentication & Verified Registration Flow
   ========================================================================== */
.caaf-zus-auth {
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #f8fafc;
    padding: 24px 16px;
    box-sizing: border-box;
}

.caaf-zus-card {
    width: 100%;
    max-width: 440px;
    background: #ffffff;
    border-radius: 24px;
    box-shadow: 0 10px 30px rgba(15, 23, 42, 0.08);
    border: 1px solid #f1f5f9;
    padding: 24px 22px 28px;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
}

.caaf-zus-topbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 24px;
    position: relative;
}

.caaf-zus-back {
    color: #0f172a;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 4px;
    text-decoration: none;
    transition: opacity 0.2s;
}

.caaf-zus-back:hover {
    opacity: 0.7;
}

.caaf-zus-topbar__title {
    margin: 0;
    font-size: 17px;
    font-weight: 700;
    color: #0f172a;
    letter-spacing: -0.01em;
}

.caaf-zus-lang {
    font-size: 13px;
    font-weight: 600;
    color: #64748b;
    display: inline-flex;
    align-items: center;
    gap: 2px;
}

.caaf-zus-brand {
    display: flex;
    justify-content: center;
    margin-bottom: 20px;
}

.cas-zus-brand-badge {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 68px !important;
    height: 68px !important;
    border-radius: 50% !important;
    box-shadow: 0 6px 18px rgba(0, 43, 127, 0.22) !important;
    overflow: hidden !important;
}

.cas-zus-brand-badge img,
.cas-zus-brand-badge svg {
    width: 68px !important;
    height: 68px !important;
    border-radius: 50% !important;
    object-fit: contain !important;
    display: block !important;
}

.caaf-zus-brand .caaf-zus-logo img,
.caaf-zus-brand img.caaf-zus-logo {
    max-height: 68px;
    width: 68px;
    height: 68px;
    object-fit: contain;
}

.caaf-zus-headline {
    margin: 0 0 16px;
    font-size: 20px;
    font-weight: 800;
    color: #00204a;
    text-align: center;
    letter-spacing: -0.02em;
}

.caaf-zus-subtext {
    margin: 0 0 16px;
    font-size: 13px;
    color: #64748b;
    text-align: center;
    line-height: 1.5;
}

.caaf-zus-subtext strong {
    color: #0f172a;
}

.caaf-phone-input-group {
    display: flex;
    align-items: center;
    background: #ffffff;
    border: 1.5px solid #e2e8f0;
    border-radius: 14px;
    padding: 4px 12px;
    box-sizing: border-box;
    transition: all 0.2s ease;
}

.caaf-phone-input-group:focus-within {
    border-color: #00204a;
    box-shadow: 0 0 0 3px rgba(0, 32, 74, 0.1);
}

.caaf-phone-prefix {
    display: flex;
    align-items: center;
    gap: 5px;
    font-size: 15px;
    font-weight: 700;
    color: #0f172a;
    white-space: nowrap;
    user-select: none;
}

.caaf-flag {
    font-size: 17px;
    line-height: 1;
}

.caaf-prefix-caret {
    color: #64748b;
}

.caaf-prefix-divider {
    display: inline-block;
    width: 1px;
    height: 22px;
    background: #cbd5e1;
    margin: 0 8px 0 4px;
}

.caaf-phone-field {
    flex: 1;
    border: none !important;
    outline: none !important;
    box-shadow: none !important;
    background: transparent !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    color: #0f172a !important;
    padding: 10px 0 !important;
    font-family: inherit;
    letter-spacing: 0.03em;
}

.caaf-phone-field::placeholder {
    color: #94a3b8;
    font-weight: 400;
}

.caaf-zus-divider {
    display: flex;
    align-items: center;
    text-align: center;
    margin: 24px 0 18px;
    color: #94a3b8;
    font-size: 12px;
    font-weight: 500;
}

.caaf-zus-divider::before,
.caaf-zus-divider::after {
    content: '';
    flex: 1;
    border-bottom: 1px solid #e2e8f0;
}

.caaf-zus-divider span {
    padding: 0 12px;
}

.caaf-zus-actions {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.caaf-btn-channel {
    width: 100%;
    height: 48px;
    border-radius: 24px;
    border: none;
    font-size: 15px;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    cursor: pointer;
    transition: all 0.2s ease;
    text-decoration: none;
    font-family: inherit;
}

.caaf-btn-channel--sms {
    background: #1399ea;
    color: #ffffff;
    box-shadow: 0 4px 14px rgba(19, 153, 234, 0.28);
}

.caaf-btn-channel--sms:hover {
    background: #0d87d1;
    transform: translateY(-1px);
}

.caaf-btn-channel--viber {
    background: #7360f2;
    color: #ffffff;
    box-shadow: 0 4px 14px rgba(115, 96, 242, 0.28);
}

.caaf-btn-channel--viber:hover {
    background: #5e4bd9;
    transform: translateY(-1px);
}

.caaf-channel-icon {
    flex-shrink: 0;
}

.caaf-zus-fallback {
    text-align: center;
    margin-top: 18px;
}

.caaf-link-subtle {
    border: none;
    background: transparent;
    color: #0284c7;
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    padding: 4px;
    text-decoration: none;
    transition: color 0.15s;
    font-family: inherit;
}

.caaf-link-subtle:hover {
    color: #0369a1;
    text-decoration: underline;
}

/* 6-Digit OTP Boxes */
.caaf-otp-boxes {
    display: flex;
    gap: 8px;
    justify-content: center;
    align-items: center;
    margin: 24px 0 18px;
    width: 100%;
    box-sizing: border-box;
}

.caaf-otp-box {
    width: 44px;
    height: 56px;
    border: 2px solid #e2e8f0;
    border-radius: 12px;
    background: #f8fafc;
    font-size: 22px;
    font-weight: 800;
    color: #00204a;
    text-align: center;
    outline: none;
    transition: all 0.2s ease;
    box-sizing: border-box;
    font-family: inherit;
    padding: 0;
    margin: 0;
}

.caaf-otp-box:focus {
    border-color: #00204a;
    background: #ffffff;
    box-shadow: 0 0 0 3px rgba(0, 32, 74, 0.12);
}

@media (max-width: 380px) {
    .caaf-otp-boxes {
        gap: 6px;
    }
    .caaf-otp-box {
        width: 38px;
        height: 50px;
        font-size: 20px;
        border-radius: 10px;
    }
}

.caaf-dev-badge {
    background: #ecfdf5;
    border: 1px solid #a7f3d0;
    color: #065f46;
    border-radius: 10px;
    padding: 8px 12px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-size: 12px;
    margin: 8px 0 16px;
}

.caaf-dev-badge button {
    background: #059669;
    color: #fff;
    border: none;
    border-radius: 6px;
    padding: 3px 8px;
    font-size: 11px;
    font-weight: 700;
    cursor: pointer;
}

.caaf-otp-timer-wrap {
    text-align: center;
    margin: 12px 0 6px;
    font-size: 13px;
    color: #64748b;
}

.caaf-otp-resend-links {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
}

.caaf-resend-btn {
    border: none;
    background: transparent;
    color: #1399ea;
    font-weight: 700;
    font-size: 13px;
    cursor: pointer;
    padding: 2px 4px;
}

.caaf-resend-btn:hover {
    text-decoration: underline;
}

.caaf-resend-divider {
    color: #cbd5e1;
}

.caaf-otp-change-wrap {
    text-align: center;
    margin-top: 14px;
}

/* Footer Terms */
.caaf-zus-footer {
    margin-top: 24px;
    text-align: center;
    border-top: 1px solid #f1f5f9;
    padding-top: 18px;
}

.caaf-zus-terms {
    margin: 0 0 8px;
    font-size: 11px;
    color: #94a3b8;
    line-height: 1.5;
}

.caaf-zus-terms a {
    color: #0284c7;
    text-decoration: none;
}

.caaf-zus-terms a:hover {
    text-decoration: underline;
}

.caaf-zus-version {
    margin: 0;
    font-size: 11px;
    color: #cbd5e1;
}

/* Verified Registration Badges */
.caaf-verified-banner {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    background: #f0fdf4;
    border: 1.5px solid #86efac;
    border-radius: 14px;
    padding: 14px 16px;
    margin-bottom: 20px;
}

.caaf-verified-badge-icon {
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: #16a34a;
    color: #ffffff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 900;
    font-size: 14px;
    flex-shrink: 0;
}

.caaf-verified-banner__content strong {
    display: block;
    color: #15803d;
    font-size: 14px;
    margin-bottom: 2px;
}

.caaf-verified-banner__content p {
    margin: 0;
    color: #166534;
    font-size: 12px;
    line-height: 1.4;
}

.caaf-pill--verified {
    display: inline-flex;
    align-items: center;
    gap: 3px;
    background: #dcfce7 !important;
    color: #15803d !important;
    font-size: 11px;
    font-weight: 700;
    padding: 2px 8px;
    border-radius: 12px;
    margin-left: 6px;
    letter-spacing: 0.02em;
    vertical-align: middle;
}

.caaf-mobile-locked-wrap {
    position: relative;
    display: flex;
    align-items: center;
    width: 100%;
}

.caaf-input--verified {
    background: #f8fafc !important;
    color: #1e293b !important;
    font-weight: 700 !important;
    font-size: 14.5px !important;
    letter-spacing: 0.02em !important;
    cursor: not-allowed !important;
    border: 1.5px solid #cbd5e1 !important;
    border-radius: 12px !important;
    padding-right: 42px !important;
    user-select: all;
    outline: none !important;
    box-shadow: none !important;
}

.caaf-input--verified:focus {
    border-color: #94a3b8 !important;
    box-shadow: none !important;
    outline: none !important;
}

.caaf-mobile-lock-icon {
    position: absolute;
    right: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #64748b;
    pointer-events: none;
}

.caaf-field-hint {
    display: block;
    font-size: 11.5px;
    color: #64748b;
    margin-top: 4px;
    font-weight: 500;
}

.caaf-password-optional-block {
    background: #f8fafc;
    border: 1px dashed #cbd5e1;
    border-radius: 12px;
    padding: 12px 14px;
    margin: 10px 0 16px;
}

.caaf-text-muted {
    margin: 0 0 6px;
    font-size: 12px;
    color: #15803d;
    font-weight: 600;
}

/* Ensure Google reCAPTCHA challenge modal is lifted and scaled on mobile so the Verify button is never covered */
div[style*="z-index: 2000000000"]:not([style*="opacity: 0.05"]):not([style*="opacity:0.05"]):not([style*="opacity: 0"]):not([style*="opacity:0"]),
div[style*="z-index:2000000000"]:not([style*="opacity: 0.05"]):not([style*="opacity:0.05"]):not([style*="opacity: 0"]):not([style*="opacity:0"]),
div[style*="z-index: 2147483647"]:not([style*="opacity: 0.05"]):not([style*="opacity:0.05"]):not([style*="opacity: 0"]):not([style*="opacity:0"]) {
    top: 10px !important;
    bottom: auto !important;
    transform: none !important;
    max-height: 85vh !important;
    z-index: 2147483647 !important;
}

iframe[title*="recaptcha challenge"],
iframe[src*="google.com/recaptcha/api2/bframe"] {
    max-height: 80vh !important;
    transform-origin: top center !important;
}

@media (max-height: 750px) {
    div[style*="z-index: 2000000000"]:not([style*="opacity: 0.05"]):not([style*="opacity:0.05"]):not([style*="opacity: 0"]):not([style*="opacity:0"]),
    div[style*="z-index:2000000000"]:not([style*="opacity: 0.05"]):not([style*="opacity:0.05"]):not([style*="opacity: 0"]):not([style*="opacity:0"]) {
        top: 5px !important;
        transform: scale(0.85) !important;
        transform-origin: top center !important;
    }
}

/* Real-Time Live Sync Floating Toast Alert */
.caaf-sync-toast {
    position: fixed;
    top: max(55px, calc(env(safe-area-inset-top, 20px) + 36px));
    left: 50%;
    transform: translate(-50%, -24px) scale(0.92);
    background: #111827;
    color: #ffffff;
    padding: 11px 20px;
    border-radius: 9999px;
    box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.35), 0 8px 10px -6px rgba(0, 0, 0, 0.2);
    display: inline-flex;
    align-items: center;
    gap: 10px;
    font-size: 13px;
    font-weight: 700;
    z-index: 10000;
    pointer-events: none;
    opacity: 0;
    transition: opacity 0.28s cubic-bezier(0.16, 1, 0.3, 1), transform 0.28s cubic-bezier(0.16, 1, 0.3, 1);
    letter-spacing: -0.1px;
    max-width: 90vw;
    box-sizing: border-box;
}

.caaf-sync-toast.is-visible {
    opacity: 1;
    transform: translate(-50%, 0) scale(1);
}

.caaf-sync-toast__icon {
    font-size: 15px;
    line-height: 1;
    flex-shrink: 0;
}

.caaf-sync-toast__msg {
    line-height: 1.25;
}

/* ==========================================================================
   Address Changed Toast Notification
   ========================================================================== */
.cas-app-toast {
    position: fixed;
    bottom: 84px;
    left: 50%;
    transform: translateX(-50%) translateY(20px);
    background: #0f172a;
    color: #ffffff;
    padding: 10px 20px;
    border-radius: 24px;
    font-size: 13px;
    font-weight: 600;
    z-index: 10010;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.25);
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.25s ease, transform 0.25s ease;
    white-space: nowrap;
}

.cas-app-toast.is-visible {
    transform: translateX(-50%) translateY(0);
    opacity: 1;
}

.cas-app-toast.is-address-toast {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    padding: 11px 22px;
}

.cas-app-toast.is-address-toast svg {
    flex-shrink: 0;
}

.cas-app-toast.is-out-of-range-toast {
    background: #0f172a;
    border: 1px solid #f59e0b;
    color: #ffffff;
    max-width: 90vw;
    white-space: normal;
    line-height: 1.35;
    text-align: left;
    box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.45);
}

/* ==========================================================================
   Cart Page Modern Sticky Bottom Bar & Summary Cleanup (Option C)
   ========================================================================== */

/* 1. Hide bulky default cart totals, coupon form, checkout block, and deletion/quantity banners on Cart */
body.woocommerce-cart .wp-block-woocommerce-cart-totals-block,
body.woocommerce-cart .wc-block-cart__totals,
body.woocommerce-cart .wc-block-cart-totals-block,
body.woocommerce-cart .cart_totals,
body.woocommerce-cart .cart-collaterals,
body.woocommerce-cart .wp-block-woocommerce-proceed-to-checkout-block,
body.woocommerce-cart .wp-block-woocommerce-product-collection,
body.woocommerce-cart .wc-block-components-notice-banner.is-info,
body.woocommerce-cart .wc-block-components-notice-banner[data-notice-id*="-quantity-update"],
body.woocommerce-cart .wc-block-components-notice-banner[data-notice-id*="-removed"],
body.woocommerce-cart .woocommerce-message,
body.woocommerce-cart .woocommerce-info {
    display: none !important;
}

/* 1.1 White Card Container for Cart Items (Curves matching .cas-flow-topbar) */
body.woocommerce-cart .cas-content {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    padding: 0 !important;
}

body.woocommerce-cart .wp-block-woocommerce-cart,
body.woocommerce-cart .wc-block-cart {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    padding: 0 !important;
}

body.woocommerce-cart .wc-block-cart__main,
body.woocommerce-cart .wp-block-woocommerce-cart.is-loading .wp-block-woocommerce-cart-items-block,
body.woocommerce-cart .woocommerce-cart-form {
    background: #ffffff !important;
    border-radius: 14px !important;
    border: 1px solid #f1f5f9 !important;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.02) !important;
    padding: 16px 18px !important;
    margin: 0 auto 24px auto !important;
    box-sizing: border-box !important;
    width: 100% !important;
}

body.woocommerce-cart .wc-block-cart__main .wp-block-woocommerce-cart-items-block {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

/* 1.2 Hide table header inside the white card */
body.woocommerce-cart table.wc-block-cart-items .wc-block-cart-items__header,
body.woocommerce-cart table.cart thead {
    display: none !important;
}

body.woocommerce-cart table.wc-block-cart-items {
    background: transparent !important;
    border: 0 !important;
    margin: 0 !important;
    width: 100% !important;
}

/* 1.3 Item rows inside the white card */
body.woocommerce-cart table.wc-block-cart-items .wc-block-cart-items__row,
body.woocommerce-cart table.cart tr.cart_item {
    background: transparent !important;
    border-bottom: 1px solid #f8fafc !important;
    padding: 14px 0 !important;
}

body.woocommerce-cart table.wc-block-cart-items .wc-block-cart-items__row:last-child,
body.woocommerce-cart table.cart tr.cart_item:last-child {
    border-bottom: none !important;
}

/* 1.4 Product Image */
body.woocommerce-cart .wc-block-cart-item__image {
    width: 76px !important;
    min-width: 76px !important;
    padding: 8px 12px 8px 0 !important;
    vertical-align: top !important;
}

body.woocommerce-cart .wc-block-cart-item__image img {
    border-radius: 8px !important;
    max-width: 100% !important;
    height: auto !important;
    object-fit: cover !important;
}

/* 1.5 Product Name */
body.woocommerce-cart .wc-block-components-product-name {
    color: #15370d !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    text-decoration: underline !important;
    line-height: 1.3 !important;
}

/* 1.6 Unit Price below title */
body.woocommerce-cart .wc-block-cart-item__prices,
body.woocommerce-cart .wc-block-components-product-price {
    font-size: 13px !important;
    color: #64748b !important;
    font-weight: 400 !important;
    margin: 2px 0 6px 0 !important;
}

/* 1.7 Quantity Stepper & Trash Button inline */
body.woocommerce-cart .wc-block-cart-item__quantity {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    margin-top: 4px !important;
}

body.woocommerce-cart .wc-block-components-quantity-selector {
    display: inline-flex !important;
    align-items: center !important;
    border: 1px solid #cbd5e1 !important;
    border-radius: 6px !important;
    background: #ffffff !important;
    height: 30px !important;
    overflow: hidden !important;
}

body.woocommerce-cart .wc-block-components-quantity-selector__button {
    width: 26px !important;
    height: 100% !important;
    padding: 0 !important;
    background: transparent !important;
    border: none !important;
    color: #64748b !important;
    font-size: 14px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    cursor: pointer !important;
}

body.woocommerce-cart .wc-block-components-quantity-selector__input {
    width: 32px !important;
    border: none !important;
    background: transparent !important;
    text-align: center !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    color: #0f172a !important;
    padding: 0 !important;
}

body.woocommerce-cart .wc-block-cart-item__remove-link {
    color: #334155 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 26px !important;
    height: 26px !important;
    text-decoration: none !important;
    transition: color 0.15s ease !important;
}

body.woocommerce-cart .wc-block-cart-item__remove-link:hover {
    color: #ef4444 !important;
}

/* 1.8 Line Total Price on Right */
body.woocommerce-cart .wc-block-cart-item__total {
    text-align: right !important;
    vertical-align: top !important;
    padding-top: 10px !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    color: #0f172a !important;
    white-space: nowrap !important;
}

/* 1.9 Empty Cart State (New Modern Mobile Design) */
body.woocommerce-cart {
    overflow-x: hidden !important;
}

body.woocommerce-cart .wc-block-cart--is-empty,
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block,
body.woocommerce-cart .cart-empty {
    text-align: center !important;
    padding: 0 0 calc(96px + env(safe-area-inset-bottom, 0px)) 0 !important;
    background: transparent !important;
    border-radius: 0 !important;
    border: none !important;
    box-shadow: none !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

/* Hide default sad face icon and dot separators completely */
body.woocommerce-cart .wc-block-cart__empty-cart__title::before,
body.woocommerce-cart .wc-block-cart__empty-cart__title.with-empty-cart-icon::before,
body.woocommerce-cart .with-empty-cart-icon::before,
body.woocommerce-cart .wp-block-separator,
body.woocommerce-cart hr.is-style-dots {
    display: none !important;
    content: none !important;
}

/* Clean Empty Cart Subtitle */
body.woocommerce-cart .wc-block-cart__empty-cart__title {
    color: #173827 !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    margin: 18px auto 22px auto !important;
    text-align: center !important;
    line-height: 1.4 !important;
    font-family: inherit !important;
}

/* "New in Store" Full-Width Dark Forest Green Banner */
body.woocommerce-cart .caaf-new-in-store-banner,
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block > h2:not(.wc-block-cart__empty-cart__title) {
    background-color: #183827 !important;
    color: #ffffff !important;
    font-size: 16.5px !important;
    font-weight: 700 !important;
    text-align: center !important;
    padding: 12px 16px !important;
    margin-top: 16px !important;
    margin-bottom: 20px !important;
    margin-left: calc(-50vw + 50%) !important;
    margin-right: calc(-50vw + 50%) !important;
    width: 100vw !important;
    max-width: 100vw !important;
    box-sizing: border-box !important;
    letter-spacing: 0.2px !important;
    border-radius: 0 !important;
    line-height: 1.3 !important;
}

/* Recommended Products Grid as Vertical Card Stack */
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid,
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wp-block-product-new {
    margin: 0 auto !important;
    width: 100% !important;
    max-width: 100% !important;
}

body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__products {
    display: flex !important;
    flex-direction: column !important;
    gap: 18px !important;
    padding: 0 !important;
    margin: 0 auto !important;
    list-style: none !important;
    max-width: 100% !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

/* Individual Product Card (Rounded White Card Container) */
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__product {
    background: #ffffff !important;
    border-radius: 18px !important;
    padding: 20px 18px 16px 18px !important;
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.04) !important;
    border: none !important;
    box-sizing: border-box !important;
    display: grid !important;
    grid-template-columns: 1fr auto !important;
    align-items: center !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    float: none !important;
    text-align: left !important;
    position: relative !important;
    flex: none !important;
}

/* Allow Grid Items to Lay Out Cleanly */
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-link {
    display: contents !important;
    text-decoration: none !important;
}

/* Product Image in Card */
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-image {
    grid-column: 1 / -1 !important;
    grid-row: 1 !important;
    text-align: center !important;
    margin: 0 auto 16px auto !important;
    width: 100% !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
}

body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-image img {
    max-height: 220px !important;
    width: auto !important;
    max-width: 100% !important;
    object-fit: contain !important;
    display: block !important;
    margin: 0 auto !important;
    border-radius: 12px !important;
}

/* Product Title */
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-title {
    grid-column: 1 !important;
    grid-row: 2 !important;
    font-size: 14.5px !important;
    font-weight: 700 !important;
    color: #172a20 !important;
    text-decoration: none !important;
    line-height: 1.3 !important;
    margin: 0 0 4px 0 !important;
    font-family: inherit !important;
}

body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-link:hover .wc-block-grid__product-title {
    color: #11b693 !important;
}

/* Product Price */
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-price {
    grid-column: 1 !important;
    grid-row: 3 !important;
    font-size: 15px !important;
    font-weight: 800 !important;
    color: #172a20 !important;
    margin: 0 !important;
    line-height: 1.2 !important;
    font-family: inherit !important;
}

body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-price .woocommerce-Price-amount {
    color: #172a20 !important;
    font-weight: 800 !important;
}

body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-price .woocommerce-Price-currencySymbol {
    font-weight: 800 !important;
    margin-right: 2px !important;
}

body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-price del {
    color: #94a3b8 !important;
    font-weight: 500 !important;
    font-size: 13px !important;
    margin-right: 6px !important;
}

body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-price ins {
    text-decoration: none !important;
}

/* Add to Cart Button (Pill Button on Right) */
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-add-to-cart {
    grid-column: 2 !important;
    grid-row: 2 / span 2 !important;
    justify-self: end !important;
    align-self: center !important;
    margin: 0 !important;
}

body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-add-to-cart .wp-block-button__link {
    background-color: #243528 !important;
    color: #ffffff !important;
    border-radius: 9999px !important;
    padding: 6px 20px !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border: none !important;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.12) !important;
    cursor: pointer !important;
    transition: background-color 0.15s ease, transform 0.15s ease !important;
    min-height: 32px !important;
    line-height: 1 !important;
}

body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-add-to-cart .wp-block-button__link:hover {
    background-color: #18261c !important;
    color: #ffffff !important;
}

body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-add-to-cart .wp-block-button__link:active {
    transform: scale(0.96) !important;
}

/* Sale Badge */
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-onsale {
    position: absolute !important;
    top: 14px !important;
    right: 14px !important;
    background: #11b693 !important;
    color: #ffffff !important;
    border-radius: 6px !important;
    padding: 2px 8px !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    line-height: 1.4 !important;
    z-index: 2 !important;
}

/* 2. Page padding to ensure items scroll cleanly above bottom dock & cart bar */
@media (max-width: 1280px) {
    body.woocommerce-cart {
        padding-bottom: calc(128px + var(--pmbd-safe, env(safe-area-inset-bottom, 0px)) + 24px) !important;
    }
}

@media (min-width: 1281px) {
    body.woocommerce-cart {
        padding-bottom: 100px !important;
    }
}

/* 3. Sticky Bottom Bar */
.caaf-cart-bottom-bar {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 998;
    background: #ffffff;
    border-top: 1px solid #edf0f5;
    box-shadow: 0 -3px 14px rgba(0, 0, 0, 0.05);
}

@media (max-width: 1280px) {
    .caaf-cart-bottom-bar {
        bottom: calc(64px + var(--pmbd-safe, env(safe-area-inset-bottom, 0px)));
    }
}

.caaf-cart-bottom-bar__inner {
    max-width: 720px;
    margin: 0 auto;
    padding: 10px 16px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    box-sizing: border-box;
}

.caaf-cart-bottom-bar__left {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 2px;
}

.caaf-cart-bottom-bar__subtotal-line {
    display: flex;
    align-items: baseline;
    gap: 6px;
    line-height: 1.2;
}

.caaf-cart-bottom-bar__label {
    font-weight: 500;
    color: #1e293b;
    font-size: 15px;
    font-family: inherit;
}

.caaf-cart-bottom-bar__amount {
    font-weight: 800;
    color: #f70663;
    font-size: 16px;
    font-family: inherit;
}

.caaf-cart-bottom-bar__amount .woocommerce-Price-currencySymbol {
    font-size: 15px;
}

.caaf-cart-bottom-bar__free-shipping {
    font-size: 12.5px;
    font-weight: 600;
    color: #11b693;
    line-height: 1.2;
    margin-top: 2px;
}

/* 4. Rounded Check Out button (matching Checkout Place Order button) */
.caaf-cart-bottom-bar__btn {
    display: inline-flex !important;
    width: auto !important;
    min-width: 130px !important;
    min-height: 44px !important;
    height: 44px !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 24px !important;
    border-radius: 999px !important;
    background: #f70663 !important;
    color: #fff !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    border: none !important;
    box-shadow: 0 4px 12px rgba(247, 6, 99, 0.25) !important;
    cursor: pointer !important;
    box-sizing: border-box !important;
    margin: 0 !important;
    text-decoration: none !important;
    transition: transform 0.15s ease, filter 0.15s ease;
}

.caaf-cart-bottom-bar__btn:hover {
    color: #fff !important;
    text-decoration: none !important;
    filter: brightness(1.05);
}

.caaf-cart-bottom-bar__btn:active {
    transform: scale(0.98);
    filter: brightness(0.95);
}

/* ==========================================================================
   Order Cancellation Modern MessageBox Modal
   ========================================================================== */
.caaf-cancel-modal-overlay {
    position: fixed;
    inset: 0;
    z-index: 999999;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 16px;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity 0.22s ease, visibility 0.22s ease;
    box-sizing: border-box;
}

.caaf-cancel-modal-overlay.is-open {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}

.caaf-cancel-modal-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(15, 23, 42, 0.65);
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
}

.caaf-cancel-modal-card {
    position: relative;
    background: #ffffff;
    border-radius: 20px;
    width: 100%;
    max-width: 440px;
    max-height: 90vh;
    box-shadow: 0 20px 45px rgba(0, 0, 0, 0.22);
    display: flex;
    flex-direction: column;
    overflow: hidden;
    transform: scale(0.94) translateY(12px);
    transition: transform 0.24s cubic-bezier(0.16, 1, 0.3, 1);
    z-index: 1;
    box-sizing: border-box;
    font-family: inherit;
}

.caaf-cancel-modal-overlay.is-open .caaf-cancel-modal-card {
    transform: scale(1) translateY(0);
}

body.caaf-modal-open {
    overflow: hidden !important;
}

/* Modal Header */
.caaf-cancel-modal__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 16px 20px 14px 20px;
    border-bottom: 1px solid #f1f5f9;
}

.caaf-cancel-modal__header-left {
    display: flex;
    align-items: center;
    gap: 8px;
}

.caaf-cancel-modal__icon {
    font-size: 18px;
    line-height: 1;
}

.caaf-cancel-modal__title {
    margin: 0;
    font-size: 17px;
    font-weight: 700;
    color: #172a20;
    line-height: 1.2;
}

.caaf-cancel-modal__order-pill {
    background: #f1f5f9;
    color: #475569;
    font-size: 12px;
    font-weight: 700;
    padding: 2px 8px;
    border-radius: 9999px;
}

.caaf-cancel-modal__close-btn {
    background: #f8fafc;
    border: none;
    font-size: 20px;
    line-height: 1;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    color: #64748b;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background-color 0.15s ease, color 0.15s ease;
}

.caaf-cancel-modal__close-btn:hover {
    background: #f1f5f9;
    color: #0f172a;
}

/* Modal Body */
.caaf-cancel-modal__body {
    padding: 18px 20px;
    overflow-y: auto;
    max-height: calc(90vh - 145px);
    -webkit-overflow-scrolling: touch;
    box-sizing: border-box;
}

/* Alert Box */
.caaf-cancel-modal__alert {
    background: #fff5f5;
    border: 1px solid #fecdd3;
    border-radius: 12px;
    padding: 12px 14px;
    margin-bottom: 18px;
    box-sizing: border-box;
}

.caaf-cancel-modal__alert-title {
    font-weight: 700;
    color: #991b1b;
    font-size: 13.5px;
    margin-bottom: 4px;
}

.caaf-cancel-modal__alert-desc {
    color: #7f1d1d;
    font-size: 12.5px;
    line-height: 1.45;
}

.caaf-cancel-modal__alert-desc strong {
    color: #991b1b;
}

/* Reasons */
.caaf-cancel-modal__reasons-title {
    margin: 0 0 10px 0;
    font-size: 13.5px;
    font-weight: 700;
    color: #172a20;
}

.caaf-cancel-modal__reasons-list {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-bottom: 12px;
}

.caaf-cancel-modal__reason-label {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 14px;
    border: 1.5px solid #e2e8f0;
    border-radius: 12px;
    cursor: pointer;
    background: #ffffff;
    transition: border-color 0.15s ease, background-color 0.15s ease;
    user-select: none;
    -webkit-user-select: none;
    box-sizing: border-box;
}

.caaf-cancel-modal__reason-label:hover {
    background: #f8fafc;
    border-color: #cbd5e1;
}

.caaf-cancel-modal__reason-label:has(input:checked) {
    border-color: #11b693;
    background: #f0fdf4;
}

.caaf-cancel-modal__radio {
    margin: 0;
    accent-color: #11b693;
    width: 17px;
    height: 17px;
    cursor: pointer;
    flex-shrink: 0;
}

.caaf-cancel-modal__reason-text {
    font-size: 13px;
    font-weight: 600;
    color: #1e293b;
    line-height: 1.35;
}

.caaf-cancel-modal__other-box {
    margin-top: 10px;
}

.caaf-cancel-modal__other-input {
    width: 100%;
    border: 1.5px solid #cbd5e1;
    border-radius: 10px;
    padding: 10px 12px;
    font-family: inherit;
    font-size: 13px;
    box-sizing: border-box;
    resize: vertical;
    outline: none;
    transition: border-color 0.15s ease;
}

.caaf-cancel-modal__other-input:focus {
    border-color: #11b693;
}

/* Modal Footer */
.caaf-cancel-modal__footer {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
    padding: 14px 20px 16px 20px;
    border-top: 1px solid #f1f5f9;
    background: #ffffff;
    box-sizing: border-box;
}

.caaf-cancel-modal__btn-keep {
    background: #183827;
    color: #ffffff;
    border: none;
    border-radius: 9999px;
    padding: 11px 16px;
    font-size: 13.5px;
    font-weight: 700;
    cursor: pointer;
    transition: background-color 0.15s ease, transform 0.15s ease;
    text-align: center;
}

.caaf-cancel-modal__btn-keep:hover {
    background: #11261a;
}

.caaf-cancel-modal__btn-keep:active {
    transform: scale(0.97);
}

.caaf-cancel-modal__btn-confirm {
    background: #e11d48;
    color: #ffffff;
    border: none;
    border-radius: 9999px;
    padding: 11px 16px;
    font-size: 13.5px;
    font-weight: 700;
    cursor: pointer;
    transition: background-color 0.15s ease, transform 0.15s ease;
    text-align: center;
}

.caaf-cancel-modal__btn-confirm:hover {
    background: #be123c;
}

.caaf-cancel-modal__btn-confirm:active {
    transform: scale(0.97);
}

.caaf-cancel-modal__btn-confirm:disabled,
.caaf-cancel-modal__btn-keep:disabled {
    opacity: 0.6;
    cursor: not-allowed;
}

@media (max-width: 480px) {
    .caaf-cancel-modal-overlay {
        padding: 10px;
        align-items: flex-end;
    }

    .caaf-cancel-modal-card {
        border-radius: 20px 20px 16px 16px;
        max-height: 88vh;
    }
}

/* =========================================================================
   Modern Order Again Button (View Order / Order Received)
   ========================================================================= */
.caaf-order-received p.order-again,
.woocommerce-view-order p.order-again,
.woocommerce-account p.order-again,
.woocommerce p.order-again,
p.order-again {
    margin: 16px 0 !important;
    padding: 0 !important;
    display: block !important;
}

.caaf-order-received p.order-again a.button,
.caaf-order-received .order-again .button,
.woocommerce-view-order p.order-again a.button,
.woocommerce-view-order .order-again .button,
.woocommerce-account p.order-again a.button,
.woocommerce-account .order-again .button,
.woocommerce p.order-again a.button,
.woocommerce .order-again .button,
p.order-again a.button,
p.order-again a {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    vertical-align: middle !important;
    background-color: #10b981 !important;
    background: #10b981 !important;
    color: #ffffff !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    padding: 0 20px !important;
    min-height: 38px !important;
    height: 38px !important;
    border: none !important;
    border-radius: 10px !important;
    text-decoration: none !important;
    cursor: pointer !important;
    box-shadow: 0 2px 6px rgba(16, 185, 129, 0.2) !important;
    transition: background-color 0.15s ease, transform 0.15s ease, box-shadow 0.15s ease !important;
}

.caaf-order-received p.order-again a.button:hover,
.caaf-order-received .order-again .button:hover,
.woocommerce-view-order p.order-again a.button:hover,
.woocommerce-view-order .order-again .button:hover,
.woocommerce-account p.order-again a.button:hover,
.woocommerce-account .order-again .button:hover,
.woocommerce p.order-again a.button:hover,
.woocommerce .order-again .button:hover,
p.order-again a.button:hover,
p.order-again a:hover {
    background-color: #059669 !important;
    background: #059669 !important;
    color: #ffffff !important;
    box-shadow: 0 4px 10px rgba(16, 185, 129, 0.3) !important;
}

.caaf-order-received p.order-again a.button:active,
.caaf-order-received .order-again .button:active,
.woocommerce-view-order p.order-again a.button:active,
.woocommerce-view-order .order-again .button:active,
.woocommerce-account p.order-again a.button:active,
.woocommerce-account .order-again .button:active,
.woocommerce p.order-again a.button:active,
.woocommerce .order-again .button:active,
p.order-again a.button:active,
p.order-again a:active {
    background-color: #047857 !important;
    background: #047857 !important;
    transform: scale(0.98) !important;
}

/* =========================================================================
   Checkout Branch Info Banner & Purchase Card Branch Badges
   ========================================================================= */
.caaf-checkout-branch-banner {
    display: flex;
    align-items: center;
    gap: 12px;
    background: #ECFDF5;
    border: 1px solid #bbf7d0;
    border-radius: 12px;
    padding: 12px 14px;
    margin: 10px 14px 16px !important;
    width: calc(100% - 28px) !important;
    box-sizing: border-box !important;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.02);
}
.caaf-checkout-branch-banner .material-symbols-outlined {
    font-size: 26px;
    color: #10b981;
    flex-shrink: 0;
}
.caaf-checkout-branch-banner__info {
    display: flex;
    flex-direction: column;
    gap: 2px;
}
.caaf-checkout-branch-banner__info small {
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: #059669;
}
.caaf-checkout-branch-banner__info strong {
    font-size: 14.5px;
    font-weight: 700;
    color: #111827;
}
.caaf-checkout-branch-banner__info span {
    font-size: 12px;
    color: #4b5563;
    line-height: 1.35;
}

.caaf-purchase-card__branch {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    margin-left: 6px;
    font-size: 11.5px;
    font-weight: 600;
    color: #059669;
    background: #ecfdf5;
    padding: 1px 7px;
    border-radius: 6px;
    border: 1px solid #d1fae5;
}



