:root {
    --cas-bg: #ceffed;
    --cas-surface: #ffffff;
    --cas-ink: #15370D;
    --cas-muted: #4e6347;
    --cas-line: rgba(21, 55, 13, 0.10);
    --cas-primary: #15370D;
    --cas-accent: #F4AE52;
    --cas-cream: #FFF7C5;
    --cas-caramel: #F4AE52;
    --cas-mint: #CEFFED;
    --cas-deep: #15370D;
    --cas-radius: 14px;
    --cas-shadow: 0 10px 25px rgba(21, 55, 13, 0.08);
    --cas-safe: env(safe-area-inset-bottom, 0px);
    --cas-header-height: 64px;
}

* {
    box-sizing: border-box;
}

html {
    min-height: 100%;
    background: rgb(206, 255, 237);
    overflow-x: clip;
    max-width: 100%;
}

body.cas-theme {
    min-height: 100%;
    margin: 0;
    padding: var(--cas-header-height, 64px) 0 calc(78px + var(--cas-safe));
    background: rgb(206, 255, 237);
    color: var(--cas-ink);
    font-family: "Outfit", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    overflow-x: clip;
    max-width: 100%;
}

body.cas-theme.cas-flow-page {
    padding-top: 22px;
}

a {
    color: inherit;
}

img {
    max-width: 100%;
    height: auto;
}

.cas-header {
    position: fixed;
    top: 0;
    right: 0;
    left: 0;
    z-index: 1000;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    min-height: 64px;
    padding: 5px 14px;
    border-bottom: none;
    background: rgb(206, 255, 237);
}

.cas-brand {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--cas-deep);
    font-weight: 900;
    text-decoration: none;
    flex-shrink: 0;
}

.cas-brand img {
    max-height: 55px;
    width: auto;
}

.cas-brand-mark {
    display: inline-flex;
    width: 55px;
    height: 55px;
    flex-shrink: 0;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: transparent;
    color: #fff;
    overflow: hidden;
}

.cas-brand-mark img {
    width: 55px;
    height: 55px;
    max-height: none;
    object-fit: contain;
    display: block;
}

.cas-brand svg,
.cas-header-cart svg,
.cas-search svg,
.cas-bottom-nav svg,
.cas-location svg,
.cas-category-chip svg,
.cas-cart-pill svg {
    width: 20px;
    height: 20px;
    fill: currentColor;
}

.cas-search {
    display: flex;
    align-items: center;
    gap: 8px;
    flex: 1;
    max-width: 240px;
    min-width: 0;
    height: 36px;
    min-height: 36px;
    padding: 0 12px;
    border: 1px solid #e2e8f0;
    border-radius: 18px;
    background: #f8fafc;
    color: #94a3b8;
    box-sizing: border-box;
    transition: border-color 0.15s ease, background-color 0.15s ease;
}

.cas-search:focus-within {
    border-color: #cbd5e1;
    background: #ffffff;
}

.cas-search input {
    width: 100%;
    min-width: 0;
    border: 0;
    background: transparent;
    color: #1e293b;
    font-size: 13px;
    font-weight: 500;
    outline: 0;
    padding: 0;
}

.cas-search input::placeholder {
    color: #94a3b8;
    font-weight: 500;
}

.cas-search svg {
    width: 16px;
    height: 16px;
    color: #94a3b8;
    fill: currentColor;
    flex-shrink: 0;
}

.cas-header-cart,
.cas-cart-pill {
    position: relative;
    display: inline-flex;
    width: 36px;
    height: 36px;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: #f1f5f9;
    border: 1px solid #e2e8f0;
    color: #1e293b;
    text-decoration: none;
    flex-shrink: 0;
    transition: background-color 0.15s ease;
}

.cas-header-cart:hover,
.cas-cart-pill:hover {
    background: #e2e8f0;
}

.cas-header-cart svg,
.cas-cart-pill svg {
    width: 18px;
    height: 18px;
    color: #1e293b;
}

.cas-header-cart span,
.cas-cart-pill span {
    position: absolute;
    top: -4px;
    right: -4px;
    min-width: 17px;
    height: 17px;
    padding: 0 4px;
    border: 1.5px solid #ffffff;
    border-radius: 999px;
    background: #ef4444;
    color: #ffffff;
    font-size: 10px;
    font-weight: 800;
    line-height: 14px;
    text-align: center;
    box-sizing: border-box;
}

.cas-main {
    width: min(100%, 1120px);
    margin: 0 auto;
}

.cas-desktop-gate {
    display: none;
}

/* ==========================================================================
   1. Home Page Hero Banner: Image Carousel
   White Background Canvas, Touch-Friendly Swipe, Auto-Play, Shop Redirection
   ========================================================================== */

.cas-hero-carousel-section {
    background: #ffffff;
    padding: 10px 14px 14px;
    margin: 0 0 4px;
}

.cas-hero-carousel {
    position: relative;
    border-radius: 18px;
    overflow: hidden;
    background: #f8fafc;
    box-shadow: 0 4px 18px rgba(21, 55, 13, 0.08);
}

.cas-hero-carousel__track {
    display: flex;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
}

.cas-hero-carousel__track::-webkit-scrollbar {
    display: none;
}

.cas-hero-carousel__slide {
    flex: 0 0 100%;
    width: 100%;
    scroll-snap-align: start;
    position: relative;
    display: block;
    text-decoration: none;
    aspect-ratio: 16 / 11;
    overflow: hidden;
    border-radius: 18px;
    background: #15370D;
}

.cas-hero-carousel__img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    border-radius: 18px;
    transition: transform 0.3s ease;
}

.cas-hero-carousel__slide:hover .cas-hero-carousel__img {
    transform: scale(1.02);
}

/* Fallback Banner Graphic when no custom image uploaded */
.cas-hero-carousel__fallback {
    width: 100%;
    height: 100%;
    position: relative;
    display: flex;
    align-items: center;
    padding: 24px 20px;
    background: linear-gradient(135deg, #15370D 0%, #1d4b12 60%, #2a631b 100%);
    color: #ffffff;
    overflow: hidden;
    box-sizing: border-box;
}

.cas-hero-carousel__fallback-decor {
    position: absolute;
    top: -40px;
    right: -40px;
    width: 160px;
    height: 160px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(244, 174, 82, 0.35) 0%, transparent 70%);
    pointer-events: none;
}

.cas-hero-carousel__fallback-content {
    position: relative;
    z-index: 2;
    max-width: 85%;
}

.cas-hero-carousel__fallback-badge {
    display: inline-block;
    padding: 3px 10px;
    border-radius: 999px;
    background: rgba(255, 247, 197, 0.22);
    border: 1px solid rgba(255, 247, 197, 0.45);
    color: #FFF7C5;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.4px;
    margin-bottom: 8px;
}

.cas-hero-carousel__fallback-title {
    margin: 0 0 6px;
    font-size: clamp(18px, 5.2vw, 24px);
    font-weight: 800;
    line-height: 1.22;
    color: #ffffff;
    text-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
}

.cas-hero-carousel__fallback-sub {
    margin: 0 0 12px;
    font-size: 12px;
    color: rgba(255, 255, 255, 0.88);
    line-height: 1.4;
}

.cas-hero-carousel__fallback-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 7px 16px;
    border-radius: 999px;
    background: #F4AE52;
    color: #15370D;
    font-size: 12px;
    font-weight: 800;
    box-shadow: 0 3px 10px rgba(244, 174, 82, 0.4);
    transition: transform 0.15s ease, background 0.15s ease;
}

.cas-hero-carousel__fallback-btn:hover {
    background: #e69c3a;
    transform: translateY(-1px);
}

/* Dots Pagination */
.cas-hero-carousel__dots {
    position: absolute;
    bottom: 12px;
    left: 0;
    right: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 6px;
    z-index: 6;
    pointer-events: auto;
}

.cas-hero-carousel__dot {
    width: 7px;
    height: 7px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.6);
    border: none;
    padding: 0;
    cursor: pointer;
    transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3);
}

.cas-hero-carousel__dot.is-active {
    width: 22px;
    background: #FFF7C5;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.4);
}

/* ==========================================================================
   2. Promotional Banners: 2 Placement Only
   Background Color: #15370D Olive, Staggered Diagonal Layout
   ========================================================================== */

.cas-promotional-banners-section {
    background: #15370D;
    margin: 8px 14px 16px;
    padding: 14px 12px;
    border-radius: 18px;
    box-shadow: 0 6px 20px rgba(21, 55, 13, 0.18);
}

.cas-promotional-banners__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.cas-deal-card {
    background: #ffffff;
    border-radius: 14px;
    padding: 12px 10px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    text-decoration: none;
    color: inherit;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.85);
    transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease;
    box-sizing: border-box;
}

.cas-deal-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 16px rgba(0, 0, 0, 0.12);
    border-color: #F4AE52;
}

/* Staggered card layouts */
.cas-deal-card--text-top {
    flex-direction: column;
}

.cas-deal-card--image-top {
    flex-direction: column;
}

.cas-deal-card__content {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    flex: 1;
}

.cas-deal-card__badge {
    display: inline-block;
    padding: 2px 7px;
    border-radius: 5px;
    background: #FFF7C5;
    color: #15370D;
    font-size: 9.5px;
    font-weight: 800;
    letter-spacing: 0.3px;
    text-transform: uppercase;
    margin-bottom: 5px;
    border: 1px solid rgba(244, 174, 82, 0.4);
}

.cas-deal-card__title {
    font-size: 12.5px;
    font-weight: 800;
    color: #15370D;
    line-height: 1.25;
    margin: 0 0 3px;
}

.cas-deal-card__desc {
    font-size: 10.5px;
    color: #64748b;
    line-height: 1.35;
    margin: 0;
}

.cas-deal-card__image-box {
    width: 100%;
    height: 78px;
    border-radius: 9px;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #f8fafc;
    flex-shrink: 0;
}

.cas-deal-card--text-top .cas-deal-card__image-box {
    margin-top: 8px;
}

.cas-deal-card--image-top .cas-deal-card__image-box {
    margin-bottom: 8px;
}

.cas-deal-card__image-box img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    border-radius: 9px;
}

/* Placeholder box matching d1.png wireframe */
.cas-deal-card__placeholder {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1.5px dashed #ef4444;
    border-radius: 8px;
    background: #fff8f8;
    color: #ef4444;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.2px;
}

/* ==========================================================================
   3. Popular Picks: 2-Column Shop Grid
   Pure White Background, Shop Card Layout with Floating Add Button
   ========================================================================== */

.cas-popular-picks-section {
    background: #ffffff;
    margin: 8px 14px 24px;
    padding: 18px 14px 22px;
    border-radius: 18px;
    box-shadow: 0 2px 14px rgba(21, 55, 13, 0.04);
    border: 1px solid rgba(21, 55, 13, 0.06);
}

.cas-popular-picks__head {
    margin-bottom: 14px;
    display: flex;
    align-items: center;
}

.cas-popular-picks__title {
    margin: 0;
    color: #15370D;
    font-size: 17px;
    font-weight: 800;
    line-height: 1.2;
    letter-spacing: -0.2px;
}

/* Popular picks grid uses existing shop 2-column styles */
.cas-home-products-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 16px 10px !important;
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

.cas-home-products-grid .cas-product-card {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    text-align: center !important;
    background: #ffffff !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 14px !important;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.02) !important;
    padding: 10px 8px 12px !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    position: relative !important;
    transition: transform 0.15s ease, box-shadow 0.15s ease, border-color 0.15s ease !important;
    box-sizing: border-box !important;
}

.cas-home-products-grid .cas-product-card:hover {
    transform: translateY(-2px) !important;
    border-color: #cbd5e1 !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05) !important;
}

.cas-section,
.cas-widget {
    margin: 0 14px 20px;
}

.cas-section-head,
.cas-shop-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 10px;
}

.cas-section-head h2,
.cas-section-title,
.cas-shop-toolbar h1 {
    margin: 0;
    color: #15370D;
    font-size: 16px;
    font-weight: 800;
    line-height: 1.25;
    letter-spacing: -0.2px;
}

.cas-section-head a {
    color: #15370D;
    font-size: 12.5px;
    font-weight: 700;
    text-decoration: none;
    transition: color 0.15s ease;
}

.cas-section-head a:hover {
    color: #F4AE52;
}

.cas-category-row,
.cas-product-scroll {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: minmax(104px, 30%);
    gap: 10px;
    overflow-x: auto;
    padding: 2px 2px 8px;
    scroll-snap-type: x proximity;
    scrollbar-width: none;
}

.cas-product-scroll {
    grid-auto-columns: minmax(164px, 44%);
}

.cas-category-row::-webkit-scrollbar,
.cas-product-scroll::-webkit-scrollbar {
    display: none;
}

.cas-category-chip {
    display: flex;
    flex-direction: column;
    min-height: 84px;
    align-items: center;
    justify-content: center;
    gap: 7px;
    padding: 10px 8px;
    color: #15370D;
    font-size: 12px;
    font-weight: 700;
    text-align: center;
    text-decoration: none;
    scroll-snap-align: start;
    border: 1px solid rgba(21, 55, 13, 0.12);
    border-radius: 16px;
    background: #ffffff;
    box-shadow: 0 2px 6px rgba(21, 55, 13, 0.03);
    transition: border-color 0.15s ease, transform 0.15s ease, background 0.15s ease, box-shadow 0.15s ease;
}

.cas-category-chip:hover {
    border-color: #F4AE52;
    background: #fffdf0;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(244, 174, 82, 0.18);
}

.cas-category-chip__icon {
    width: 38px;
    height: 38px;
    border-radius: 50%;
    background: #FFF7C5;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #15370D;
    transition: background 0.15s ease;
}

.cas-category-chip:hover .cas-category-chip__icon {
    background: #F4AE52;
}

.cas-category-chip svg {
    width: 20px;
    height: 20px;
    color: #15370D;
}

.cas-product-card {
    display: grid;
    overflow: hidden;
    scroll-snap-align: start;
}

.cas-product-card__image {
    position: relative;
    display: block;
    aspect-ratio: 1 / .78;
    overflow: hidden;
    background: #eadfd4;
}

.cas-product-card__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.cas-product-card__body {
    display: grid;
    gap: 7px;
    padding: 11px;
}

.cas-product-card__title {
    display: -webkit-box;
    overflow: hidden;
    color: var(--cas-ink);
    font-size: var(--cas-product-title-font-size, 14px);
    font-weight: 900;
    line-height: 1.2;
    text-decoration: none;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.cas-product-card__desc {
    min-height: 31px;
    color: var(--cas-muted);
    font-size: 12px;
    line-height: 1.3;
}

.cas-product-card__foot {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}

.cas-product-card__price {
    min-width: 0;
    color: var(--cas-deep);
    font-size: 14px;
    font-weight: 900;
}

.cas-add-button,
.woocommerce a.button.cas-add-button,
.woocommerce button.button,
.woocommerce a.button,
.woocommerce input.button,
.single_add_to_cart_button {
    min-height: 38px;
    min-width: 60px;
    flex: 0 0 auto;
    max-width: 100%;
    padding: 0 12px;
    border: 0;
    border-radius: var(--cas-radius);
    background: var(--cas-primary);
    color: #fff;
    font-size: var(--cas-add-button-font-size, 16px);
    font-weight: 900;
    line-height: 1.1;
    text-decoration: none;
    white-space: normal;
}

.cas-buy-now {
    margin-left: 8px;
    background: var(--cas-accent) !important;
}

.cas-page,
.cas-woocommerce {
    margin: 14px auto;
    max-width: calc(100% - 28px);
    box-sizing: border-box;
}

.cas-content,
.cas-woocommerce {
    padding: 16px;
    box-sizing: border-box;
}

.cas-content h1 {
    margin-top: 0;
}

.cas-flow-page .cas-woocommerce {
    overflow: hidden;
    max-width: 100%;
}

.cas-flow-topbar {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    margin: 0 0 16px !important;
    padding: 10px 14px !important;
    background: #ffffff !important;
    border-radius: 14px !important;
    border: 1px solid #f1f5f9 !important;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.02) !important;
}

.cas-flow-topbar a {
    display: inline-flex !important;
    width: 32px !important;
    height: 32px !important;
    min-width: 32px !important;
    align-items: center !important;
    justify-content: center !important;
    color: #1e293b !important;
    font-size: 16px !important;
    border-radius: 50% !important;
    background: #f1f5f9 !important;
    border: 1px solid #e2e8f0 !important;
    text-decoration: none !important;
    transition: background-color 0.15s ease !important;
}

.cas-flow-topbar a:hover {
    background: #e2e8f0 !important;
}

.cas-flow-topbar a svg {
    width: 18px !important;
    height: 18px !important;
}

.cas-flow-topbar h1 {
    margin: 0 !important;
    color: #0f172a !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    line-height: 1.25 !important;
    letter-spacing: -0.2px !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

.cas-flow-page .cas-woocommerce > h1:first-child,
.cas-flow-page .cas-woocommerce .woocommerce > h1:first-child,
.cas-flow-page .cas-woocommerce .entry-title {
    display: none !important;
}

.cas-eyebrow {
    display: block;
    margin-bottom: 4px;
    color: var(--cas-muted);
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
}

.cas-shop-toolbar {
    margin: 0 0 16px;
}

.woocommerce .woocommerce-result-count,
.woocommerce .woocommerce-ordering {
    display: none !important;
}

.woocommerce ul.products,
.woocommerce-page ul.products,
.woocommerce ul.products[class*="columns-"],
.woocommerce-page ul.products[class*="columns-"] {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 16px 12px !important;
    margin: 0 0 32px !important;
    padding: 0 !important;
    list-style: none !important;
    float: none !important;
    clear: both !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

.woocommerce ul.products::before,
.woocommerce ul.products::after,
.woocommerce-page ul.products::before,
.woocommerce-page ul.products::after {
    display: none !important;
    content: none !important;
}

.woocommerce ul.products[class*="columns-"] li.product,
.woocommerce-page ul.products[class*="columns-"] li.product,
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product,
.woocommerce ul.products li.product.first,
.woocommerce ul.products li.product.last,
.woocommerce-page ul.products li.product.first,
.woocommerce-page ul.products li.product.last {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    float: none !important;
    clear: none !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
}

.cas-category-shop {
    display: grid;
    gap: 62px;
    padding: 8px 4px 32px;
    background: #fff;
    font-family: "Outfit", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.cas-category-shop ~ .woocommerce-result-count,
.cas-category-shop ~ .woocommerce-ordering,
.cas-category-shop .woocommerce-result-count,
.cas-category-shop .woocommerce-ordering {
    display: none !important;
}

.cas-category-section {
    display: grid;
    gap: 24px;
}

.cas-category-section__header {
    display: grid;
    grid-template-columns: auto minmax(36px, 1fr);
    gap: 24px;
    align-items: center;
}

.cas-category-section__header h2 {
    position: relative;
    margin: 0;
    padding-left: 18px;
    color: #071e69;
    font-size: 23px;
    font-weight: 700;
    line-height: 1.1;
    letter-spacing: 0;
}

.cas-category-section__header h2::before {
    position: absolute;
    top: 1px;
    bottom: 1px;
    left: 0;
    width: 4px;
    border-radius: 999px;
    background: #0e4caa;
    content: "";
}

.cas-category-section__header span {
    height: 1px;
    background: linear-gradient(90deg, #ececec, rgba(236, 236, 236, 0));
}

.woocommerce ul.products.cas-category-products {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 48px 22px;
}

.woocommerce ul.products.cas-category-products .cas-product-card {
    width: 100%;
    max-width: 218px;
    justify-self: center;
    overflow: visible;
    border: 0;
    box-shadow: none;
    background: transparent;
    text-align: center;
}

.woocommerce ul.products.cas-category-products .cas-product-card__image {
    display: grid;
    width: min(100%, 188px);
    aspect-ratio: 1;
    margin: 0 auto 14px;
    place-items: center;
    overflow: hidden;
    border-radius: 50%;
    background: #f7f7f7;
}

.woocommerce ul.products.cas-category-products .cas-product-card__image img {
    width: 90%;
    height: 90%;
    object-fit: contain;
}

.woocommerce ul.products.cas-category-products .cas-product-card__body {
    justify-items: center;
    gap: 7px;
    padding: 0;
}

.woocommerce ul.products.cas-category-products .cas-product-card__title {
    display: block;
    color: #4a4a4f;
    font-family: "Outfit", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    font-size: 20px;
    font-weight: 600;
    line-height: 1.15;
    text-align: center;
    letter-spacing: 0;
}

.woocommerce ul.products.cas-category-products .cas-product-card__desc {
    display: none;
}

.woocommerce ul.products.cas-category-products .cas-product-card__foot {
    display: grid;
    justify-items: center;
    gap: 10px;
}

.woocommerce ul.products.cas-category-products .cas-product-card__price {
    color: #111;
    font-family: "Outfit", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    font-size: 20px;
    font-weight: 400;
    line-height: 1.1;
}

.woocommerce ul.products.cas-category-products .cas-product-card__price .woocommerce-Price-currencySymbol {
    margin-right: 10px;
    font-weight: 600;
}

.woocommerce ul.products.cas-category-products .cas-product-card__price del {
    display: inline-block;
    margin-right: 8px;
    color: #111;
    font-size: 17px;
    font-weight: 400;
    opacity: 1;
}

.woocommerce ul.products.cas-category-products .cas-product-card__price ins {
    color: #111;
    font-weight: 400;
    text-decoration: none;
}

.woocommerce ul.products.cas-category-products .cas-add-button {
    display: inline-flex !important;
    width: 118px;
    min-width: 118px;
    height: 32px;
    min-height: 32px;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 !important;
    border-radius: 3px;
    background: #e84925;
    color: #fff;
    font-family: "Outfit", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    font-size: 10px;
    font-weight: 600;
    line-height: 32px !important;
    text-align: center !important;
    text-transform: uppercase;
    vertical-align: middle;
}

.woocommerce ul.products.cas-category-products .added_to_cart,
.cas-product-card .added_to_cart {
    display: none !important;
}

.woocommerce .woocommerce-ordering select,
.woocommerce input.input-text,
.woocommerce textarea,
.woocommerce select {
    min-height: 42px;
    border: 1px solid var(--cas-line);
    border-radius: var(--cas-radius);
}

.woocommerce div.product {
    display: grid;
    gap: 14px;
}

body.single-product .woocommerce-notices-wrapper:has(.woocommerce-message),
body.single-product .woocommerce-notices-wrapper .woocommerce-message,
body.single-product .woocommerce-message {
    display: none !important;
}

.woocommerce div.product div.images,
.woocommerce div.product div.summary {
    float: none;
    width: auto;
}

.cas-product-topbar {
    position: -webkit-sticky !important;
    position: sticky !important;
    top: var(--cas-header-height, 64px) !important;
    z-index: 990 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 16px !important;
    padding: 10px 16px !important;
    margin: 0 !important;
    background: #ffffff !important;
    border: none !important;
    border-bottom: 1px solid #e2e8f0 !important;
    border-radius: 0 !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04) !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

@media (min-width: 780px) {
    .cas-product-topbar {
        top: 86px !important;
    }
}

.cas-product-topbar h1,
.cas-product-topbar .cas-product-title {
    margin: 0 !important;
    color: #0f172a !important;
    font-size: 20px !important;
    font-weight: 700 !important;
    line-height: 1.25 !important;
    letter-spacing: -0.3px !important;
    text-align: left !important;
    flex: 1 1 auto !important;
    min-width: 0 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}

.cas-product-close {
    display: inline-flex !important;
    width: 36px !important;
    height: 36px !important;
    min-width: 36px !important;
    max-width: 36px !important;
    align-items: center !important;
    justify-content: center !important;
    color: #334155 !important;
    text-decoration: none !important;
    border-radius: 50% !important;
    background: #ffffff !important;
    border: 1.5px solid #e2e8f0 !important;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05) !important;
    margin-left: auto !important;
    flex-shrink: 0 !important;
    cursor: pointer !important;
    transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1) !important;
    -webkit-tap-highlight-color: transparent !important;
}

.cas-product-close:hover {
    background: #f8fafc !important;
    border-color: #cbd5e1 !important;
    color: #0f172a !important;
    transform: scale(1.05) !important;
}

.cas-product-close:active {
    transform: scale(0.95) !important;
    background: #f1f5f9 !important;
}

.cas-product-close svg {
    display: block !important;
    width: 16px !important;
    height: 16px !important;
    stroke: currentColor !important;
    stroke-width: 2.2 !important;
    stroke-linecap: round !important;
    stroke-linejoin: round !important;
}

.cas-order-view-topbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin: 0 0 16px;
}

.cas-order-view-topbar h1 {
    margin: 0;
    color: var(--cas-ink);
    font-size: clamp(24px, 6vw, 30px);
    font-weight: 800;
    line-height: 1.1;
    letter-spacing: 0;
}

.cas-order-view-close {
    display: inline-flex;
    width: 36px;
    height: 36px;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    color: var(--cas-ink);
    text-decoration: none;
    border-radius: 50%;
    margin-right: -4px;
    margin-top: -2px;
    transition: background-color .15s ease, opacity .15s ease;
    -webkit-tap-highlight-color: transparent;
}

.cas-order-view-close:hover,
.cas-order-view-close:focus {
    color: var(--cas-ink);
    background: rgba(0, 0, 0, .06);
    opacity: .85;
}

.cas-order-view-close svg {
    display: block;
    width: 22px;
    height: 22px;
    stroke: currentColor;
    stroke-width: 2.8;
}

body.single-product .cas-order-mode-bar {
    display: none !important;
}

body.single-product .woocommerce-product-gallery__trigger,
.woocommerce div.product div.images .woocommerce-product-gallery__trigger,
body.single-product .zoomImg {
    display: none !important;
}

body.single-product .woocommerce-product-gallery__image a {
    pointer-events: none !important;
    cursor: default !important;
}

body.single-product .product > span.onsale {
    display: none !important;
}

/* Single Product Main Container: Full width, white background, matching Product List */
body.single-product .cas-woocommerce {
    margin: 0 auto !important;
    max-width: 100% !important;
    width: 100% !important;
    padding: 0 0 40px !important;
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    background: #ffffff !important;
    box-sizing: border-box !important;
}

/* Single Product Hero Image Presentation: Clean on white canvas */
.woocommerce div.product div.images {
    margin: 0 0 16px 0 !important;
    padding: 12px 16px 0 !important;
    box-sizing: border-box !important;
    width: 100% !important;
}

.woocommerce div.product div.images .woocommerce-product-gallery__wrapper {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    width: 100% !important;
}

.woocommerce div.product div.images img {
    width: 100% !important;
    max-width: 100% !important;
    max-height: 280px !important;
    aspect-ratio: 1 / 1 !important;
    object-fit: contain !important;
    border-radius: 0 !important;
    border: none !important;
    background: transparent !important;
    box-shadow: none !important;
    padding: 0 !important;
    box-sizing: border-box !important;
    transition: transform 0.3s ease !important;
}

.woocommerce div.product .product_title {
    margin: 0 0 6px !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    color: #0f172a !important;
    line-height: 1.25 !important;
    letter-spacing: -0.2px !important;
}

/* Single Product Body Price: Hidden (price only appears in sticky bottom bar) */
body.single-product .woocommerce div.product .summary p.price,
body.single-product .woocommerce div.product .summary span.price,
body.single-product .woocommerce div.product .summary .price,
body.single-product .woocommerce div.product > p.price,
body.single-product .woocommerce div.product > span.price {
    display: none !important;
}

/* Single Product Summary Layout: Modern Flex container */
.woocommerce div.product div.summary {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    justify-content: space-between !important;
    margin: 0 0 20px 0 !important;
    padding: 0 16px !important;
    float: none !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

/* Short Description: Clean, readable modern typography */
.woocommerce div.product div.summary .woocommerce-product-details__short-description {
    order: 1 !important;
    width: 100% !important;
    flex: 0 0 100% !important;
    color: #475569 !important;
    font-size: 14px !important;
    line-height: 1.6 !important;
    letter-spacing: -0.15px !important;
    margin: 0 0 18px 0 !important;
    padding: 0 2px !important;
}

.woocommerce div.product div.summary .woocommerce-product-details__short-description p {
    margin: 0 !important;
    color: inherit !important;
}

/* Wishlist Toggle Button: Modern Tactile Circle */
.woocommerce div.product div.summary .nayuomi-wishlist-toggle {
    order: 2 !important;
    margin: 0 !important;
    width: 42px !important;
    height: 42px !important;
    min-width: 42px !important;
    min-height: 42px !important;
    border-radius: 50% !important;
    background: #ffffff !important;
    border: 1.5px solid #e2e8f0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    cursor: pointer !important;
    color: #64748b !important;
    box-shadow: 0 2px 6px rgba(15, 23, 42, 0.04) !important;
    box-sizing: border-box !important;
    transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1) !important;
    align-self: center !important;
}

.woocommerce div.product div.summary .nayuomi-wishlist-toggle:hover {
    background: #f8fafc !important;
    border-color: #cbd5e1 !important;
    color: #0f172a !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 4px 10px rgba(15, 23, 42, 0.08) !important;
}

.woocommerce div.product div.summary .nayuomi-wishlist-toggle:active {
    transform: scale(0.93) !important;
}

.woocommerce div.product div.summary .nayuomi-wishlist-toggle.is-saved {
    background: #fef2f2 !important;
    border-color: #fecaca !important;
    color: #ef4444 !important;
}

.woocommerce div.product div.summary .nayuomi-wishlist-toggle.is-saved svg {
    fill: #ef4444 !important;
    stroke: #ef4444 !important;
}

.woocommerce div.product div.summary .nayuomi-wishlist-toggle svg {
    width: 20px !important;
    height: 20px !important;
    display: block !important;
    stroke-width: 2.2 !important;
}

/* Form Cart: Right side on the action row */
.woocommerce div.product form.cart {
    order: 3 !important;
    margin: 0 0 0 auto !important;
    padding: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    height: 42px !important;
    align-self: center !important;
}

.woocommerce div.product form.cart div.quantity {
    float: none !important;
    margin: 0 !important;
}

/* Modern Pill Stepper */
.woocommerce div.product form.cart div.quantity.cas-quantity-stepper {
    display: inline-grid !important;
    grid-template-columns: 36px 42px 36px !important;
    align-items: center !important;
    overflow: hidden !important;
    min-height: 42px !important;
    height: 42px !important;
    border-radius: 999px !important;
    background: #f8fafc !important;
    border: 1.5px solid #e2e8f0 !important;
    box-shadow: 0 2px 6px rgba(15, 23, 42, 0.03) !important;
    box-sizing: border-box !important;
}

.cas-quantity-stepper__button {
    width: 36px !important;
    min-height: 42px !important;
    height: 42px !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    color: #475569 !important;
    font-size: 19px !important;
    font-weight: 600 !important;
    line-height: 1 !important;
    cursor: pointer !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    transition: all 0.15s ease !important;
    user-select: none !important;
}

.cas-quantity-stepper__button:hover {
    background: #e2e8f0 !important;
    color: #0f172a !important;
}

.cas-quantity-stepper__button:active {
    background: #cbd5e1 !important;
    transform: scale(0.92) !important;
}

.woocommerce .quantity .qty {
    width: 42px !important;
    min-height: 42px !important;
    height: 42px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: #0f172a !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    text-align: center !important;
    -moz-appearance: textfield !important;
    padding: 0 !important;
    box-shadow: none !important;
}

.woocommerce .quantity .qty::-webkit-outer-spin-button,
.woocommerce .quantity .qty::-webkit-inner-spin-button {
    margin: 0 !important;
    -webkit-appearance: none !important;
}

.woocommerce div.product form.cart .single_add_to_cart_button,
.woocommerce div.product form.cart .cas-buy-now {
    display: none !important;
}

.cas-single-customizer,
.cas-customizer-modal {
    display: none !important;
}

/* MaxtDesign Product Bundles: Seamless Clean Single Product View */
.woocommerce div.product form.cart .md-bnd-selector {
    display: contents !important;
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
}

.woocommerce div.product form.cart .md-bnd-selector > *:not(input),
.woocommerce div.product form.cart .md-bnd-selector .md-bnd-heading,
.woocommerce div.product form.cart .md-bnd-selector .md-bnd-items,
.woocommerce div.product form.cart .md-bnd-selector .md-bnd-savings,
.woocommerce div.product form.cart .md-bnd-selector .md-bnd-total {
    display: none !important;
}

/* Single Product Layout & Frozen Upper Panel */
body.single-product {
    background: #ffffff !important;
    overflow-x: visible !important;
    padding-top: var(--cas-header-height, 64px) !important;
    padding-bottom: 88px !important;
}

@media (min-width: 780px) {
    body.single-product {
        padding-top: 86px !important;
    }
}

body.single-product .cas-main {
    background: #ffffff !important;
    max-width: 100% !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

body.single-product .woocommerce div.product {
    display: flex !important;
    flex-direction: column !important;
    gap: 0 !important;
    background: #ffffff !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
}

body.single-product .cas-header {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    z-index: 1000 !important;
    background: rgb(206, 255, 237) !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04) !important;
}

body.single-product .pmbd-product-bar {
    display: none !important;
}

/* Related Products: Exact Match with Product List */
.woocommerce div.product .related.products {
    margin-top: 24px !important;
    padding: 20px 16px 0 !important;
    border-top: 1px solid #e2e8f0 !important;
    width: 100% !important;
    box-sizing: border-box !important;
    background: #ffffff !important;
}

.woocommerce div.product .related.products > h2 {
    font-family: "Outfit", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    color: #0f172a !important;
    letter-spacing: -0.3px !important;
    margin: 0 0 16px 0 !important;
    text-align: left !important;
}

.woocommerce div.product .related.products ul.products {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 20px 12px !important;
    list-style: none !important;
    padding: 0 !important;
    margin: 0 0 24px 0 !important;
    width: 100% !important;
}

.woocommerce div.product .related.products .cas-product-card {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    text-align: center !important;
    background: #ffffff !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 14px !important;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.02) !important;
    padding: 10px 8px 12px !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    position: relative !important;
    transition: transform 0.15s ease, box-shadow 0.15s ease, border-color 0.15s ease !important;
    box-sizing: border-box !important;
}

.woocommerce div.product .related.products .cas-product-card:hover {
    transform: translateY(-2px) !important;
    border-color: #cbd5e1 !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05) !important;
}

.woocommerce div.product .related.products .cas-product-card__media {
    position: relative !important;
    width: 100% !important;
    aspect-ratio: 1 !important;
    margin: 0 auto 8px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.woocommerce div.product .related.products .cas-product-card__thumb {
    position: relative !important;
    width: 100% !important;
    height: 100% !important;
    max-width: 100% !important;
    border-radius: 14px !important;
    background: #f8fafc !important;
    overflow: hidden !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    cursor: pointer !important;
    text-decoration: none !important;
    color: inherit !important;
    border: 1px solid #f1f5f9 !important;
    padding: 0 !important;
}

.woocommerce div.product .related.products .cas-product-card__thumb img {
    width: 88% !important;
    height: 88% !important;
    object-fit: contain !important;
    transition: transform 0.2s ease !important;
    border-radius: 0 !important;
}

.woocommerce div.product .related.products .cas-product-card:hover .cas-product-card__thumb img {
    transform: scale(1.06) !important;
}

/* Card Add Button (Circular '+' button positioned in bottom-right corner of thumbnail) */
.woocommerce div.product .related.products .cas-card-add-btn,
.woocommerce div.product .related.products .cas-product-card__media .cas-card-add-btn {
    position: absolute !important;
    bottom: 4px !important;
    right: 4px !important;
    z-index: 3 !important;
    width: 26px !important;
    height: 26px !important;
    min-width: 26px !important;
    border-radius: 50% !important;
    background: #003580 !important;
    color: #ffffff !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border: none !important;
    padding: 0 !important;
    cursor: pointer !important;
    box-shadow: 0 2px 5px rgba(0, 53, 128, 0.3) !important;
    transition: transform 0.15s ease, background 0.15s ease !important;
}

.woocommerce div.product .related.products .cas-card-add-btn:hover {
    background: #002660 !important;
    transform: scale(1.1) !important;
}

.woocommerce div.product .related.products .cas-card-add-btn:active {
    transform: scale(0.92) !important;
}

.woocommerce div.product .related.products .cas-card-add-btn svg {
    width: 13px !important;
    height: 13px !important;
    stroke: #ffffff !important;
    stroke-width: 2.6 !important;
}

/* Card Body & Title */
.woocommerce div.product .related.products .cas-product-card__body {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    text-align: center !important;
    width: 100% !important;
    gap: 3px !important;
    padding: 0 !important;
}

.woocommerce div.product .related.products .cas-product-card__info {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: 2px !important;
    cursor: pointer !important;
    text-decoration: none !important;
    color: inherit !important;
    width: 100% !important;
}

.woocommerce div.product .related.products .cas-product-card__info:hover .cas-product-card__title {
    color: #003580 !important;
}

/* Title: 2 lines wrapped, no truncation into '...' */
.woocommerce div.product .related.products .cas-product-card__title {
    display: -webkit-box !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 2 !important;
    overflow: hidden !important;
    font-family: "Outfit", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
    font-size: 13.5px !important;
    font-weight: 600 !important;
    line-height: 1.25 !important;
    color: #1e293b !important;
    margin: 0 !important;
    text-align: center !important;
    white-space: normal !important;
    width: 100% !important;
}

/* Foot & Price */
.woocommerce div.product .related.products .cas-product-card__foot {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    margin-top: 2px !important;
    width: 100% !important;
    gap: 4px !important;
    padding: 0 !important;
}

.woocommerce div.product .related.products .cas-product-card__price {
    font-family: "Outfit", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    color: #0f172a !important;
    line-height: 1.2 !important;
    margin: 0 !important;
    text-align: center !important;
}

.woocommerce div.product .related.products .cas-product-card__price .woocommerce-Price-currencySymbol {
    margin-right: 2px !important;
    font-weight: 700 !important;
}

.woocommerce div.product p.price .woocommerce-Price-currencySymbol,
.woocommerce div.product span.price .woocommerce-Price-currencySymbol {
    margin-right: 6px;
}

.woocommerce div.product .woocommerce-tabs,
.woocommerce div.product .woocommerce-product-rating,
.woocommerce div.product .product_meta {
    display: none !important;
}

body.woocommerce-cart .wp-block-woocommerce-cart-order-summary-coupon-form-block,
body.woocommerce-cart .wp-block-woocommerce-cart-order-summary-shipping-block,
body.woocommerce-cart .wc-block-components-totals-coupon,
body.woocommerce-cart .wc-block-components-totals-shipping,
body.woocommerce-cart .cart_totals .woocommerce-shipping-totals,
body.woocommerce-cart .cart_totals .coupon,
body.woocommerce-cart .woocommerce-cart-form .coupon,
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;
}

body.woocommerce-cart .wp-block-woocommerce-cart.is-loading,
body.woocommerce-cart .wc-block-cart.is-loading,
body.woocommerce-cart .wc-block-components-skeleton,
body.woocommerce-cart .wc-block-cart__skeleton,
body.woocommerce-cart .wc-block-components-spinner {
    display: none !important;
}

/* ==========================================================================
   Cart Page Modern White Card Container & Food Lounge Layout
   ========================================================================== */

/* 1. Reset wrapper backgrounds so the card floats on the mint green background */
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;
}

/* 2. White Card Container for Cart Items (Curves matching .cas-flow-topbar: 14px) */
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;
}

/* 3. Hide default table header */
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;
}

/* 4. 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;
}

/* 5. 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,
body.woocommerce-cart table.cart td.product-thumbnail img {
    border-radius: 8px !important;
    max-width: 100% !important;
    height: auto !important;
    object-fit: cover !important;
}

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

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

/* 8. 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;
}

/* 9. Line Total Price on Right */
body.woocommerce-cart .wc-block-cart-item__total,
body.woocommerce-cart table.cart td.product-subtotal {
    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;
}

/* 10. Empty Cart State */
body.woocommerce-cart .wc-block-cart--is-empty,
body.woocommerce-cart .cart-empty {
    text-align: center !important;
    padding: 32px 16px !important;
    background: #ffffff !important;
    border-radius: 14px !important;
    border: 1px solid #f1f5f9 !important;
}

.cas-bottom-nav {
    position: fixed;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 1001;
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    min-height: 68px;
    padding-bottom: var(--cas-safe);
    border-top: 1px solid var(--cas-line);
    background: rgba(255, 255, 255, .96);
    box-shadow: 0 -10px 30px rgba(42, 23, 16, .10);
    backdrop-filter: blur(16px);
}

.cas-bottom-nav a {
    display: flex;
    min-width: 0;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 4px;
    color: var(--cas-muted);
    font-size: 10px;
    font-weight: 900;
    text-decoration: none;
}

.cas-bottom-nav a.is-active,
.cas-bottom-nav a:hover,
.cas-bottom-nav a:focus {
    color: var(--cas-primary);
}

.cas-bottom-nav svg {
    width: 22px;
    height: 22px;
}

@media (min-width: 780px) {
    body.cas-theme {
        padding-top: 86px;
        padding-bottom: 0;
    }

    body.cas-theme.cas-flow-page {
        padding-top: 22px;
    }

    .cas-header {
        min-height: 86px;
        padding-right: 28px;
        padding-left: 28px;
    }

    .cas-main {
        padding: 0 24px 48px;
    }

    .cas-hero {
        margin-top: 24px;
        padding: 38px;
    }

    .cas-promo-strip,
    .cas-section,
    .cas-widget,
    .cas-page,
    .cas-woocommerce {
        margin-right: 0;
        margin-left: 0;
    }

    .cas-product-scroll {
        grid-auto-columns: minmax(220px, 25%);
    }

    .cas-category-row {
        grid-auto-columns: minmax(132px, 16%);
    }

    .woocommerce ul.products {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    .woocommerce ul.products.cas-category-products,
    .woocommerce div.product .related.products ul.products,
    .tax-product_cat .woocommerce ul.products,
    .tax-product_cat ul.products,
    body.tax-product_cat ul.products {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    .woocommerce div.product {
        grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr);
    }

    .cas-bottom-nav {
        display: grid;
    }
}

body.cas-theme:not(.caaf-app-checkout) {
    padding-bottom: calc(86px + var(--cas-safe)) !important;
}

body.cas-theme:not(.caaf-app-checkout) .cas-bottom-nav {
    position: fixed !important;
    right: 0 !important;
    bottom: 0 !important;
    left: 0 !important;
    z-index: 2147483000 !important;
    display: grid !important;
    visibility: visible !important;
    opacity: 1 !important;
    transform: translateZ(0);
}

body.has-pmbd .cas-bottom-nav,
body.cas-theme:has(.pmbd) .cas-bottom-nav {
    display: none !important;
}

@media (min-width: 901px) {
    body.cas-force-mobile-only {
        display: grid;
        min-height: 100vh;
        padding: 0;
        place-items: center;
        background: #f7f3ee;
    }

    body.cas-force-mobile-only .cas-header,
    body.cas-force-mobile-only .cas-main,
    body.cas-force-mobile-only .cas-bottom-nav,
    body.cas-force-mobile-only .pmbd,
    body.cas-force-mobile-only .pmbd-search,
    body.cas-force-mobile-only .pmbd-product-bar {
        display: none !important;
    }

    body.cas-force-mobile-only .cas-desktop-gate {
        display: grid;
        min-height: 100vh;
        width: 100%;
        place-items: center;
        padding: 24px;
    }

    .cas-desktop-gate__panel {
        width: min(420px, 100%);
        padding: 28px;
        border: 1px solid var(--cas-line);
        border-radius: var(--cas-radius);
        background: var(--cas-surface);
        box-shadow: var(--cas-shadow);
        text-align: center;
    }

    .cas-desktop-gate__mark {
        display: inline-flex;
        width: 64px;
        height: 64px;
        align-items: center;
        justify-content: center;
        margin-bottom: 16px;
        border-radius: 50%;
        background: transparent;
        color: #fff;
        overflow: hidden;
    }

    .cas-desktop-gate__mark img,
    .cas-desktop-gate__mark svg {
        width: 64px;
        height: 64px;
        object-fit: contain;
        display: block;
    }

    .cas-desktop-gate h1 {
        margin: 0 0 10px;
        color: var(--cas-ink);
        font-size: 28px;
        line-height: 1.05;
        letter-spacing: 0;
    }

    .cas-desktop-gate p {
        margin: 0;
        color: var(--cas-muted);
        font-size: 15px;
        line-height: 1.5;
    }
}

@media (max-width: 480px) {
    .cas-page,
    .cas-woocommerce {
        margin: 10px auto;
        max-width: calc(100% - 20px);
    }

    .cas-content,
    .cas-woocommerce {
        padding: 14px 12px;
    }

    .cas-hero {
        margin: 10px auto 12px;
        max-width: calc(100% - 20px);
        padding: 18px 14px;
    }

    .cas-promo-strip {
        margin: 0 auto 14px;
        max-width: calc(100% - 20px);
    }

    .cas-section,
    .cas-widget {
        margin: 0 auto 16px;
        max-width: calc(100% - 20px);
    }
}

@media (max-width: 420px) {
    .cas-brand {
        max-width: 55px;
    }

    .cas-search {
        padding: 0 10px;
    }

    .cas-promo-strip {
        grid-template-columns: 1fr;
    }

    .woocommerce ul.products {
        gap: 10px;
    }
}

/* Driver Portal - Suppress all bottom docks */
body.cddp-driver-portal-page .pmbd,
body.cddp-driver-portal-page .pmbd-search,
body.cddp-driver-portal-page .pmbd-product-bar,
body.cddp-driver-portal-page .cas-bottom-nav,
body:has(.cddp-dashboard) .pmbd,
body:has(.cddp-dashboard) .cas-bottom-nav {
    display: none !important;
    visibility: hidden !important;
    pointer-events: none !important;
}

body.cddp-driver-portal-page,
body:has(.cddp-dashboard) {
    padding-bottom: 0 !important;
    overflow-x: hidden;
}

body.cddp-driver-portal-page .cas-main,
body:has(.cddp-dashboard) .cas-main,
body.cddp-driver-portal-page .cas-page,
body:has(.cddp-dashboard) .cas-page,
body.cddp-driver-portal-page .cas-content,
body:has(.cddp-dashboard) .cas-content {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
    background: transparent !important;
    box-shadow: none !important;
    box-sizing: border-box !important;
}

/* ==========================================================================
   Order Mode Switcher ([DELIVERY] vs [PICKUP]) & Product Availability Styles
   ========================================================================== */

.cas-order-mode-bar {
    width: 100%;
    max-width: 100%;
    margin: 0;
    padding: 4px 14px 6px;
    background: rgb(206, 255, 237);
    border-radius: 0;
    box-shadow: none;
    border-bottom: 1px solid rgba(0, 0, 0, 0.08);
    box-sizing: border-box;
}

.cas-order-mode-bar__inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    max-width: 480px;
    margin: 0 auto;
    width: 100%;
    min-height: 36px;
}

.cas-order-mode-info {
    display: flex;
    align-items: center;
    min-width: 0;
    flex: 1;
    padding: 0;
}

.cas-order-mode-info__store-row {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 14px;
    font-weight: 800;
    color: #0f172a;
    line-height: 1.2;
}

.cas-store-flag-icon {
    width: 15px;
    height: 15px;
    fill: #0f172a;
    flex-shrink: 0;
}

.cas-order-mode-info__store {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: #15370D;
    font-weight: 800;
    font-size: 14px;
}

.cas-order-mode-info__badge-row,
.cas-store-status-badge,
.cas-order-mode-info__type {
    display: none !important;
}

.cas-order-mode-toggle {
    display: inline-flex;
    flex-shrink: 0;
    background: #e2f8ef;
    border: 1px solid rgba(21, 55, 13, 0.12);
    border-radius: 999px;
    padding: 3px;
    gap: 2px;
    width: auto;
    min-width: 195px;
}

.cas-mode-btn {
    flex: 1;
    height: 34px;
    padding: 0 10px;
    border: none;
    background: transparent;
    border-radius: 999px;
    font-family: inherit;
    font-size: 13px;
    font-weight: 700;
    color: #15370D;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    cursor: pointer;
    transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
    -webkit-tap-highlight-color: transparent;
    white-space: nowrap;
}

.cas-mode-btn svg {
    width: 16px;
    height: 16px;
    stroke: currentColor;
    fill: none;
    stroke-width: 2.2;
    transition: stroke 0.2s;
}

.cas-mode-btn.is-active {
    background: #15370D;
    color: #FFF7C5;
    box-shadow: 0 2px 8px rgba(21, 55, 13, 0.28);
}

.cas-mode-btn.is-active svg {
    stroke: #FFF7C5;
}

.cas-store-trigger {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: transparent;
    border: none;
    padding: 0;
    margin: 0;
    cursor: pointer;
    font-family: inherit;
    font-size: 14px;
    font-weight: 800;
    color: #15370D;
    transition: opacity 0.15s;
    -webkit-tap-highlight-color: transparent;
}

.cas-store-trigger:hover {
    opacity: 0.8;
}

.cas-store-trigger svg:last-child {
    width: 13px;
    height: 13px;
    color: #64748b;
}

.cas-store-status-badge {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-size: 11px;
    font-weight: 600;
    padding: 2px 8px;
    border-radius: 999px;
    border: 1px solid #e2e8f0;
}

.cas-store-status-badge.is-open {
    background: #ecfdf5;
    color: #065f46;
    border-color: #a7f3d0;
}

.cas-store-status-badge.is-closed {
    background: #fff1f2;
    color: #9f1239;
    border-color: #fecdd3;
}

.cas-status-dot {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: currentColor;
    flex-shrink: 0;
}

.cas-store-status-badge.is-open .cas-status-dot {
    box-shadow: 0 0 0 2px rgba(16, 185, 129, 0.25);
}

/* Availability Badges on Product Cards */
.cas-badge-availability {
    position: absolute;
    top: 8px;
    left: 8px;
    z-index: 2;
    padding: 3px 8px;
    border-radius: 6px;
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.4px;
}

.cas-badge-availability--pickup {
    background: rgba(243, 232, 255, 0.96);
    color: #6b21a8;
    border: 1px solid #d8b4fe;
    backdrop-filter: blur(4px);
}

.cas-badge-availability--delivery {
    background: rgba(224, 242, 254, 0.96);
    color: #0369a1;
    border: 1px solid #bae6fd;
    backdrop-filter: blur(4px);
}

.cas-product-card.is-mode-restricted {
    opacity: 0.82;
}

.cas-add-button--restricted {
    background: #f8fafc !important;
    color: #64748b !important;
    border: 1px dashed #cbd5e1 !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    border-radius: 999px;
    padding: 6px 12px;
    cursor: pointer;
    transition: all 0.2s;
}

.cas-add-button--restricted:hover {
    background: #e2e8f0 !important;
    color: #1e293b !important;
    border-style: solid !important;
}

/* Availability Notice on Single Product Page */
.cas-availability-notice {
    display: flex;
    gap: 12px;
    align-items: flex-start;
    padding: 14px 16px;
    border-radius: 12px;
    background: #faf5ff;
    border: 1px solid #e9d5ff;
    margin: 12px 0 16px;
    box-sizing: border-box;
}

.cas-availability-notice__icon {
    flex-shrink: 0;
    width: 34px;
    height: 34px;
    border-radius: 10px;
    background: #f3e8ff;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #6b21a8;
}

.cas-availability-notice__icon svg {
    width: 20px;
    height: 20px;
}

.cas-availability-notice__body {
    flex: 1;
}

.cas-availability-notice__body strong {
    display: block;
    font-size: 14px;
    color: #581c87;
    margin-bottom: 2px;
}

.cas-availability-notice__body p {
    margin: 0 0 10px;
    font-size: 12px;
    color: #7e22ce;
    line-height: 1.4;
}

.cas-switch-mode-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 34px;
    padding: 0 16px;
    border-radius: 999px;
    border: none;
    background: #6b21a8;
    color: #ffffff;
    font-size: 12px;
    font-weight: 600;
    cursor: pointer;
    transition: background 0.2s;
}

.cas-switch-mode-btn:hover {
    background: #581c87;
}

/* Order Mode Modal Sheets */
.cas-mode-modal {
    position: fixed;
    inset: 0;
    z-index: 99999;
    display: flex;
    align-items: flex-end;
    justify-content: center;
    box-sizing: border-box;
}

.cas-mode-modal__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(15, 23, 42, 0.55);
    backdrop-filter: blur(4px);
}

.cas-mode-modal__sheet {
    position: relative;
    z-index: 1;
    width: 100%;
    max-width: 480px;
    background: #ffffff;
    border-radius: 24px 24px 0 0;
    padding: 20px 20px 32px;
    box-shadow: 0 -4px 24px rgba(0, 0, 0, 0.15);
    animation: casSlideUp 0.25s ease-out;
    box-sizing: border-box;
}

.cas-mode-modal__handle {
    width: 38px;
    height: 4px;
    border-radius: 999px;
    background: #cbd5e1;
    margin: 0 auto 16px;
}

.cas-mode-modal__header h2 {
    margin: 0 0 6px;
    font-size: 18px;
    font-weight: 700;
    color: #0f172a;
    text-align: center;
}

.cas-mode-modal__header p {
    margin: 0 0 20px;
    font-size: 13px;
    color: #64748b;
    text-align: center;
    line-height: 1.4;
}

.cas-mode-modal__options {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.cas-mode-card {
    display: flex;
    align-items: center;
    gap: 14px;
    width: 100%;
    padding: 16px;
    border-radius: 14px;
    border: 1.5px solid #e2e8f0;
    background: #f8fafc;
    cursor: pointer;
    text-align: left;
    transition: all 0.2s ease;
    box-sizing: border-box;
    font-family: inherit;
}

.cas-mode-card:hover {
    border-color: var(--cas-primary, #0c2b5e);
    background: #f0f7ff;
}

.cas-mode-card__icon {
    width: 44px;
    height: 44px;
    border-radius: 12px;
    background: #e2e8f0;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--cas-primary, #0c2b5e);
    flex-shrink: 0;
}

.cas-mode-card__icon svg {
    width: 24px;
    height: 24px;
    stroke: currentColor;
}

.cas-mode-card__text strong {
    display: block;
    font-size: 15px;
    font-weight: 700;
    color: #0f172a;
    margin-bottom: 2px;
}

.cas-mode-card__text span {
    display: block;
    font-size: 12px;
    color: #64748b;
}

.cas-mode-modal__actions {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-top: 16px;
}

.cas-btn-primary {
    width: 100%;
    height: 44px;
    border-radius: 999px;
    border: none;
    background: var(--cas-primary, #0c2b5e);
    color: #ffffff;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    transition: opacity 0.2s;
}

.cas-btn-primary:hover {
    opacity: 0.92;
}

.cas-btn-secondary {
    width: 100%;
    height: 40px;
    border-radius: 999px;
    border: 1px solid #cbd5e1;
    background: transparent;
    color: #64748b;
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    transition: background 0.2s;
}

.cas-btn-secondary:hover {
    background: #f1f5f9;
}

@keyframes casSlideUp {
    from {
        transform: translateY(100%);
    }
    to {
        transform: translateY(0);
    }
}

/* ==========================================================================
   Phase 2: Outlet Selector & Closed Guard Modals
   ========================================================================== */

.cas-outlet-sheet {
    max-height: 85vh;
    display: flex;
    flex-direction: column;
    padding: 18px 20px 24px;
}

.cas-outlet-sheet__header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    margin-bottom: 14px;
}

.cas-outlet-sheet__title-box h2 {
    margin: 0 0 3px;
    font-size: 18px;
    font-weight: 700;
    color: #0f172a;
    text-align: left;
}

.cas-outlet-sheet__title-box p {
    margin: 0;
    font-size: 12px;
    color: #64748b;
    text-align: left;
}

.cas-modal-close-btn {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    border: none;
    background: #f1f5f9;
    color: #64748b;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.15s;
}

.cas-modal-close-btn:hover {
    background: #e2e8f0;
    color: #0f172a;
}

.cas-modal-close-btn svg {
    width: 16px;
    height: 16px;
    stroke: currentColor;
}

.cas-outlet-search-box {
    display: flex;
    align-items: center;
    gap: 8px;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    padding: 8px 12px;
    margin-bottom: 12px;
}

.cas-outlet-search-box svg {
    width: 16px;
    height: 16px;
    color: #94a3b8;
    stroke: currentColor;
    flex-shrink: 0;
}

.cas-outlet-search-box input {
    flex: 1;
    border: none;
    background: transparent;
    font-size: 13px;
    font-family: inherit;
    outline: none;
    color: #0f172a;
    padding: 0;
}

.cas-outlet-list {
    display: flex;
    flex-direction: column;
    gap: 10px;
    overflow-y: auto;
    max-height: 60vh;
    padding-right: 2px;
}

.cas-outlet-card {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 14px;
    border-radius: 14px;
    background: #ffffff;
    border: 1.5px solid #e2e8f0;
    cursor: pointer;
    transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
    box-sizing: border-box;
    position: relative;
}

.cas-outlet-card:hover {
    border-color: #cbd5e1;
    background: #f8fafc;
}

.cas-outlet-card.is-selected {
    border-color: var(--cas-primary, #0c2b5e);
    background: #f0f7ff;
}

.cas-outlet-card__media {
    position: relative;
    width: 68px;
    height: 68px;
    border-radius: 12px;
    overflow: hidden;
    flex-shrink: 0;
    background: #f1f5f9;
}

.cas-outlet-card__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.cas-outlet-card__thumb-placeholder {
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, #e2e8f0 0%, #cbd5e1 100%);
    color: var(--cas-primary, #0c2b5e);
    gap: 4px;
}

.cas-outlet-card__thumb-placeholder svg {
    width: 22px;
    height: 22px;
    stroke: currentColor;
}

.cas-outlet-code-tag {
    font-size: 9px;
    font-weight: 700;
    letter-spacing: 0.5px;
    color: #475569;
    text-transform: uppercase;
}

.cas-outlet-status-pill {
    position: absolute;
    bottom: 4px;
    left: 4px;
    display: inline-flex;
    align-items: center;
    gap: 3px;
    padding: 1px 5px;
    border-radius: 999px;
    font-size: 9px;
    font-weight: 700;
    backdrop-filter: blur(4px);
}

.cas-outlet-status-pill.is-open {
    background: rgba(236, 253, 245, 0.95);
    color: #065f46;
}

.cas-outlet-status-pill.is-closed {
    background: rgba(255, 241, 242, 0.95);
    color: #9f1239;
}

.cas-outlet-card__info {
    flex: 1;
    min-width: 0;
}

.cas-outlet-card__headline {
    margin-bottom: 3px;
}

.cas-outlet-name {
    margin: 0;
    font-size: 14px;
    font-weight: 700;
    color: #0f172a;
    line-height: 1.3;
}

.cas-outlet-address {
    display: flex;
    align-items: center;
    gap: 4px;
    margin: 0 0 2px;
    font-size: 11px;
    color: #64748b;
    line-height: 1.3;
}

.cas-outlet-address svg {
    width: 12px;
    height: 12px;
    stroke: currentColor;
    color: #94a3b8;
    flex-shrink: 0;
}

.cas-outlet-hours {
    display: flex;
    align-items: center;
    gap: 4px;
    margin: 0;
    font-size: 11px;
    color: #475569;
    font-weight: 500;
}

.cas-outlet-hours svg {
    width: 12px;
    height: 12px;
    stroke: currentColor;
    color: #94a3b8;
    flex-shrink: 0;
}

.cas-outlet-card__action {
    flex-shrink: 0;
}

.cas-btn-select-outlet {
    height: 32px;
    padding: 0 14px;
    border-radius: 999px;
    border: 1px solid var(--cas-primary, #0c2b5e);
    background: transparent;
    color: var(--cas-primary, #0c2b5e);
    font-size: 12px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.15s;
    font-family: inherit;
}

.cas-btn-select-outlet:hover {
    background: var(--cas-primary, #0c2b5e);
    color: #ffffff;
}

.cas-outlet-selected-chip {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 4px 10px;
    border-radius: 999px;
    background: #0c2b5e;
    color: #ffffff;
    font-size: 11px;
    font-weight: 600;
}

.cas-outlet-selected-chip svg {
    width: 12px;
    height: 12px;
    stroke: currentColor;
    stroke-width: 2.5;
}

/* Guard Modal: Outlet Closed */
.cas-guard-sheet {
    text-align: center;
    padding: 24px 20px 28px;
}

.cas-guard-icon-wrap {
    display: flex;
    justify-content: center;
    margin-bottom: 12px;
}

.cas-guard-icon {
    width: 56px;
    height: 56px;
    border-radius: 50%;
    background: #fff1f2;
    color: #e11d48;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 0 0 6px #ffe4e6;
}

.cas-guard-icon svg {
    width: 28px;
    height: 28px;
    stroke: currentColor;
    stroke-width: 2;
}

.cas-guard-content h2 {
    margin: 0 0 4px;
    font-size: 19px;
    font-weight: 800;
    color: #0f172a;
}

.cas-guard-store-title {
    margin: 0 0 8px;
    font-size: 14px;
    font-weight: 600;
    color: #e11d48;
}

.cas-guard-message {
    margin: 0 0 20px;
    font-size: 13px;
    color: #64748b;
    line-height: 1.45;
}

.cas-guard-actions {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.cas-guard-actions .cas-btn-primary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
}

.cas-guard-actions .cas-btn-primary svg {
    width: 16px;
    height: 16px;
    stroke: currentColor;
}

/* ==========================================================================
   Phase 3: Menu UI & Product Detail Customizer (Zus-style)
   ========================================================================== */

/* Shop & Product Archive - full width unboxed layout for native app feel */
body.post-type-archive-product .cas-woocommerce,
body.woocommerce-shop .cas-woocommerce {
    margin: 0 auto !important;
    max-width: 100% !important;
    padding: 0 !important;
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
}

body.tax-product_cat .cas-woocommerce {
    margin: 0 auto !important;
    max-width: 100% !important;
    padding: 0 14px 40px !important;
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
    box-sizing: border-box !important;
}

body.tax-product_cat .cas-woocommerce ul.products {
    margin: 10px 0 24px !important;
    padding: 0 !important;
    width: 100% !important;
}

/* Category Archive Topbar */
.cas-category-topbar {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    padding: 10px 14px !important;
    margin: 0 0 10px !important;
    background: #ffffff !important;
    border-radius: 14px !important;
    border: 1px solid #f1f5f9 !important;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.02) !important;
}

.cas-category-topbar .cas-category-back-btn {
    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;
    color: #1e293b !important;
    text-decoration: none !important;
    background: #f1f5f9 !important;
    border: 1px solid #e2e8f0 !important;
    transition: background-color 0.15s ease, transform 0.15s ease !important;
    flex-shrink: 0 !important;
}

.cas-category-topbar .cas-category-back-btn:hover {
    background: #e2e8f0 !important;
}

.cas-category-topbar .cas-category-back-btn:active {
    transform: scale(0.94) !important;
}

.cas-category-topbar .cas-category-back-btn svg {
    width: 18px !important;
    height: 18px !important;
}

.cas-category-topbar__text {
    display: flex !important;
    align-items: baseline !important;
    gap: 8px !important;
    min-width: 0 !important;
    flex: 1 !important;
}

.cas-category-topbar .cas-category-title {
    margin: 0 !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    color: #0f172a !important;
    font-family: "Outfit", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
    line-height: 1.25 !important;
    letter-spacing: -0.2px !important;
    text-transform: capitalize !important;
}

.cas-category-topbar .cas-category-count {
    font-size: 12px !important;
    color: #94a3b8 !important;
    font-weight: 500 !important;
    font-family: "Outfit", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
}

body.tax-product_cat .woocommerce-breadcrumb,
body.tax-product_cat .woocommerce-result-count,
body.tax-product_cat .woocommerce-ordering,
body.tax-product_cat .woocommerce-products-header__title,
body.tax-product_cat .page-title {
    display: none !important;
}

body.post-type-archive-product .cas-main,
body.woocommerce-shop .cas-main,
body.tax-product_cat .cas-main,
body.single-product .cas-main {
    max-width: 100% !important;
    width: 100% !important;
    margin: 0 !important;
}

/* Menu Layout (Top Horizontal Rail + 2-Column Product Pane) */
.cas-menu-layout {
    display: flex;
    flex-direction: column;
    background: #ffffff;
    min-height: calc(100vh - 120px);
    position: static;
    width: 100%;
}

/* Horizontal Frozen / Sticky Category Rail */
.cas-menu-rail {
    width: 100%;
    position: -webkit-sticky !important;
    position: sticky !important;
    top: var(--cas-header-height, 64px) !important;
    z-index: 850 !important;
    background: #ffffff !important;
    border-top: 1px solid #e5e7eb;
    border-bottom: 1px solid #e5e7eb;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
}

.cas-menu-rail__track {
    display: flex;
    flex-direction: row;
    align-items: stretch;
    width: 100%;
    margin: 0;
    padding: 0;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
}

.cas-menu-rail__track::-webkit-scrollbar {
    display: none;
}

.cas-menu-rail__item {
    flex: 1 1 0;
    min-width: 58px;
    min-height: 62px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    padding: 9px 3px 8px;
    border: none;
    border-right: 1px solid #f1f5f9;
    background: #ffffff;
    cursor: pointer;
    position: relative;
    transition: all 0.15s ease;
    gap: 5px;
    color: #64748b;
    text-decoration: none;
    outline: none;
    -webkit-tap-highlight-color: transparent;
    box-sizing: border-box;
}

.cas-menu-rail__item:last-child {
    border-right: none;
}

.cas-menu-rail__item:hover {
    color: #0e4caa;
    background: #f8fafc;
}

.cas-menu-rail__item.is-active {
    background: #ffffff;
    color: #0e4caa;
    font-weight: 700;
}

.cas-menu-rail__item.is-active::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 10%;
    right: 10%;
    height: 2.5px;
    background: #0e4caa;
    border-radius: 2px 2px 0 0;
}

.cas-menu-rail__icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 22px;
    color: inherit;
    flex-shrink: 0;
}

.cas-menu-rail__icon svg {
    width: 19px;
    height: 19px;
    stroke: currentColor;
    display: block;
}

.cas-menu-rail__label {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 25px;
    font-size: 10.5px;
    font-weight: inherit;
    line-height: 1.15;
    text-align: center;
    white-space: normal;
    word-break: normal;
    overflow-wrap: break-word;
    letter-spacing: -0.2px;
    max-width: 100%;
    padding: 0 1px;
}

/* Product Listing Pane (Full Width) */
.cas-menu-pane {
    width: 100%;
    padding: 16px 12px 100px;
    background: #ffffff;
    box-sizing: border-box;
}

.cas-category-section {
    scroll-margin-top: calc(var(--cas-header-height, 74px) + 64px + 10px);
    margin-bottom: 32px;
}

.cas-category-section__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 0 14px;
    border-bottom: none;
    margin-bottom: 0;
}

.cas-category-section__title {
    position: relative;
    padding-left: 10px;
    font-size: 14px !important;
    font-weight: 800 !important;
    color: #071e69 !important;
    text-transform: uppercase;
    letter-spacing: 0.3px;
    margin: 0 !important;
    line-height: 1.2 !important;
}

.cas-category-section__title::before {
    content: "" !important;
    display: block !important;
    position: absolute;
    left: 0;
    top: 1px;
    bottom: 1px;
    width: 3.5px;
    border-radius: 999px;
    background: #0e4caa;
}

.cas-category-section__count {
    font-size: 11px;
    color: #94a3b8;
    font-weight: 500;
}

/* Category Products List & Category Archives (2 Columns) */
.cas-menu-pane .cas-category-products-list,
.cas-category-products-list,
.tax-product_cat ul.products,
.woocommerce ul.products.products {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 20px 12px !important;
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

/* Product Card in 2-Column Grid */
.cas-menu-pane .cas-product-card,
.cas-category-products-list .cas-product-card,
.woocommerce ul.products .cas-product-card,
.woocommerce-page ul.products .cas-product-card,
.tax-product_cat ul.products .cas-product-card {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    text-align: center !important;
    background: #ffffff !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 14px !important;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.02) !important;
    padding: 10px 8px 12px !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    position: relative !important;
    transition: transform 0.15s ease, box-shadow 0.15s ease, border-color 0.15s ease !important;
    box-sizing: border-box !important;
}

.cas-menu-pane .cas-product-card:hover,
.cas-category-products-list .cas-product-card:hover,
.woocommerce ul.products .cas-product-card:hover,
.woocommerce-page ul.products .cas-product-card:hover {
    transform: translateY(-2px) !important;
    border-color: #cbd5e1 !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05) !important;
}

/* Media wrapper (thumbnail + add button) */
.cas-product-card__media {
    position: relative;
    width: 100%;
    aspect-ratio: 1;
    margin: 0 auto 8px;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Thumbnail */
.cas-product-card__thumb {
    position: relative;
    width: 100% !important;
    height: 100% !important;
    border-radius: 14px !important;
    background: #f8fafc !important;
    overflow: hidden !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    cursor: pointer;
    text-decoration: none;
    color: inherit;
    border: 1px solid #f1f5f9;
}

.cas-product-card__thumb img {
    width: 88% !important;
    height: 88% !important;
    object-fit: contain !important;
    transition: transform 0.2s ease;
}

.cas-product-card:hover .cas-product-card__thumb img {
    transform: scale(1.06);
}

.cas-product-card__thumb .cas-badge-availability {
    position: absolute;
    bottom: 3px;
    left: 3px;
    right: 3px;
    top: auto;
    font-size: 8px;
    font-weight: 700;
    text-align: center;
    padding: 2px 4px;
    border-radius: 4px;
    line-height: 1.1;
    text-transform: uppercase;
}

/* Card Body */
.cas-menu-pane .cas-product-card__body,
.cas-category-products-list .cas-product-card__body,
.woocommerce ul.products .cas-product-card__body,
.woocommerce-page ul.products .cas-product-card__body,
.tax-product_cat ul.products .cas-product-card__body {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    text-align: center !important;
    width: 100% !important;
    gap: 3px !important;
    padding: 0 !important;
}

.cas-product-card__info {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 2px;
    cursor: pointer;
    text-decoration: none;
    color: inherit;
    width: 100%;
}

.cas-product-card__info:hover .cas-product-card__title {
    color: #003580 !important;
}

/* Tag / Subtitle above Title */
.cas-product-card__tag {
    font-size: 10.5px !important;
    font-weight: 600 !important;
    color: #b45309 !important;
    letter-spacing: 0.02em;
    text-transform: capitalize;
    line-height: 1.2;
    display: block;
    text-align: center;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* Title Font Size - Compact App Typography */
.cas-menu-pane .cas-product-card__title,
.cas-category-products-list .cas-product-card__title,
.woocommerce ul.products .cas-product-card__title,
.woocommerce-page ul.products .cas-product-card__title,
.tax-product_cat ul.products .cas-product-card__title {
    display: -webkit-box !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 2 !important;
    overflow: hidden !important;
    font-family: "Outfit", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
    font-size: 13.5px !important;
    font-weight: 600 !important;
    line-height: 1.25 !important;
    color: #1e293b !important;
    margin: 0 !important;
    text-align: center !important;
}

/* Excerpt / Description */
.cas-menu-pane .cas-product-card__desc,
.cas-category-products-list .cas-product-card__desc,
.woocommerce ul.products .cas-product-card__desc,
.woocommerce-page ul.products .cas-product-card__desc,
.tax-product_cat ul.products .cas-product-card__desc {
    display: -webkit-box !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 2 !important;
    overflow: hidden !important;
    font-size: 11px !important;
    line-height: 1.35 !important;
    color: #64748b !important;
    margin: 0 !important;
    text-align: center !important;
}

/* Card Foot */
.cas-menu-pane .cas-product-card__foot,
.cas-category-products-list .cas-product-card__foot,
.woocommerce ul.products .cas-product-card__foot,
.woocommerce-page ul.products .cas-product-card__foot,
.tax-product_cat ul.products .cas-product-card__foot {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    margin-top: 2px !important;
    width: 100% !important;
    gap: 4px !important;
}

/* Price Font Size - Compact Typography */
.cas-menu-pane .cas-product-card__price,
.cas-category-products-list .cas-product-card__price,
.woocommerce ul.products .cas-product-card__price,
.woocommerce-page ul.products .cas-product-card__price,
.tax-product_cat ul.products .cas-product-card__price {
    font-family: "Outfit", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    color: #0f172a !important;
    line-height: 1.2 !important;
    margin: 0 !important;
    text-align: center !important;
}

.cas-menu-pane .cas-product-card__price .woocommerce-Price-currencySymbol,
.cas-category-products-list .cas-product-card__price .woocommerce-Price-currencySymbol,
.woocommerce ul.products .cas-product-card__price .woocommerce-Price-currencySymbol,
.woocommerce-page ul.products .cas-product-card__price .woocommerce-Price-currencySymbol,
.tax-product_cat ul.products .cas-product-card__price .woocommerce-Price-currencySymbol {
    margin-right: 2px !important;
    font-weight: 700 !important;
}

/* Card Add Button (Circular '+' button positioned in bottom-right corner of thumbnail) */
.cas-card-add-btn,
.cas-product-card__media .cas-card-add-btn {
    position: absolute !important;
    bottom: 4px !important;
    right: 4px !important;
    z-index: 3 !important;
    width: 26px !important;
    height: 26px !important;
    min-width: 26px !important;
    border-radius: 50% !important;
    background: #15370D !important;
    color: #FFF7C5 !important;
    border: 1.5px solid #ffffff !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    cursor: pointer !important;
    padding: 0 !important;
    box-shadow: 0 2px 6px rgba(21, 55, 13, 0.25) !important;
    transition: transform 0.15s ease, background-color 0.15s ease !important;
    -webkit-tap-highlight-color: transparent !important;
}

.cas-card-add-btn:hover,
.cas-product-card__media .cas-card-add-btn:hover {
    background: #F4AE52 !important;
    color: #15370D !important;
    transform: scale(1.1) !important;
}

.cas-card-add-btn:active,
.cas-product-card__media .cas-card-add-btn:active {
    transform: scale(0.92) !important;
}

.cas-card-add-btn svg,
.cas-product-card__media .cas-card-add-btn svg {
    width: 13px !important;
    height: 13px !important;
    stroke: currentColor !important;
    stroke-width: 2.6 !important;
}

@keyframes casQuickAddPop {
    0% { transform: scale(1); }
    35% { transform: scale(0.82); }
    70% { transform: scale(1.25); }
    100% { transform: scale(1); }
}

.cas-card-add-btn.is-adding,
.cas-product-card__media .cas-card-add-btn.is-adding {
    animation: casQuickAddPop 0.35s cubic-bezier(0.175, 0.885, 0.32, 1.275) !important;
    background: #002660 !important;
}

@keyframes casCartBadgeBump {
    0% { transform: scale(1); }
    40% { transform: scale(1.35); }
    75% { transform: scale(0.92); }
    100% { transform: scale(1); }
}

.cas-header-cart.is-bumping,
.cas-floating-cart.is-bumping {
    animation: casCartBadgeBump 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275) !important;
}

.cas-header-cart.is-bumping span,
.pmbd__badge.is-bumping,
.cas-floating-cart.is-bumping [data-cas-cart-badge] {
    animation: casCartBadgeBump 0.45s cubic-bezier(0.175, 0.885, 0.32, 1.275) !important;
}

/* ==========================================================================
   Product Detail Customizer Modal (Slide-Up Sheet)
   ========================================================================== */

.cas-customizer-modal {
    position: fixed;
    inset: 0;
    z-index: 10005;
    display: flex;
    align-items: flex-end;
    justify-content: center;
}

.cas-customizer-modal .cas-mode-modal__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(15, 23, 42, 0.55);
    backdrop-filter: blur(2px);
    opacity: 0;
    transition: opacity 0.25s ease;
}

.cas-customizer-modal.is-open .cas-mode-modal__backdrop {
    opacity: 1;
}

.cas-customizer-sheet {
    position: relative;
    width: 100%;
    max-width: 520px;
    background: #ffffff;
    border-radius: 20px 20px 0 0;
    max-height: 88vh;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    box-shadow: 0 -10px 40px rgba(0, 0, 0, 0.16);
    transform: translateY(100%);
    transition: transform 0.28s cubic-bezier(0.16, 1, 0.3, 1);
    z-index: 2;
}

.cas-customizer-modal.is-open .cas-customizer-sheet {
    transform: translateY(0);
}

.cas-customizer-header {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px 16px 14px;
    border-bottom: 1px solid #f1f5f9;
}

.cas-customizer-thumb {
    width: 56px;
    height: 56px;
    min-width: 56px;
    border-radius: 10px;
    background: #f8fafc;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
}

.cas-customizer-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.cas-customizer-title-area {
    flex: 1;
    min-width: 0;
}

.cas-customizer-title {
    font-size: 15px;
    font-weight: 700;
    color: #0f172a;
    margin: 0 0 2px;
    line-height: 1.25;
}

.cas-customizer-desc {
    font-size: 11px;
    color: #64748b;
    margin: 0 0 4px;
    line-height: 1.3;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
}

.cas-customizer-base-price {
    font-size: 14px;
    font-weight: 700;
    color: #003580;
}

.cas-modal-close-btn {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: #f1f5f9;
    border: none;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #64748b;
    cursor: pointer;
    transition: background-color 0.15s ease;
}

.cas-modal-close-btn:hover {
    background: #e2e8f0;
    color: #0f172a;
}

.cas-modal-close-btn svg {
    width: 16px;
    height: 16px;
    stroke: currentColor;
    stroke-width: 2.2;
}

/* Customizer Scrollable Body */
.cas-customizer-body {
    flex: 1;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    padding: 14px 16px;
    display: flex;
    flex-direction: column;
    gap: 16px;
}

/* Pill Option Sections */
.cas-pill-section {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.cas-pill-section__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.cas-pill-section__header h4 {
    font-size: 12.5px;
    font-weight: 700;
    color: #1e293b;
    margin: 0;
}

.cas-pill-section__badge {
    display: none !important;
}

.cas-pill-group {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

/* Interactive Pills */
.cas-pill {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 7px 13px;
    border-radius: 20px;
    font-size: 12px;
    font-weight: 600;
    border: 1.5px solid #e2e8f0;
    background: #f8fafc;
    color: #334155;
    cursor: pointer;
    transition: all 0.15s ease;
    user-select: none;
    -webkit-tap-highlight-color: transparent;
}

.cas-pill:hover {
    border-color: #cbd5e1;
    background: #f1f5f9;
}

.cas-pill.is-active {
    border-color: #003580;
    background: #eff6ff;
    color: #003580;
    font-weight: 700;
    box-shadow: 0 1px 4px rgba(0, 53, 128, 0.12);
}

.cas-pill__extra {
    font-size: 11px;
    font-weight: 700;
    color: #003580;
    margin-left: 2px;
}

/* Sticky Footer inside Sheet */
.cas-customizer-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 12px 16px calc(14px + var(--cas-safe, 0px));
    background: #ffffff;
    border-top: 1px solid #f1f5f9;
    box-shadow: 0 -4px 16px rgba(0, 0, 0, 0.05);
}

.cas-customizer-footer__info {
    display: flex;
    flex-direction: column;
    gap: 2px;
    max-width: 50%;
}

.cas-customizer-footer__price {
    font-size: 17px;
    font-weight: 800;
    color: #003580;
    line-height: 1.2;
}

.cas-customizer-footer__summary {
    font-size: 11px;
    color: #64748b;
    line-height: 1.2;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.cas-customizer-footer__actions {
    display: flex;
    align-items: center;
    gap: 10px;
}

/* Stepper */
.cas-quantity-stepper--customizer {
    display: flex;
    align-items: center;
    gap: 6px;
    background: #f1f5f9;
    padding: 3px 6px;
    border-radius: 18px;
}

.cas-quantity-stepper--customizer .cas-quantity-stepper__button {
    width: 26px;
    height: 26px;
    border-radius: 50%;
    background: #ffffff;
    border: 1px solid #e2e8f0;
    color: #0f172a;
    font-size: 15px;
    font-weight: 700;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    line-height: 1;
}

.cas-quantity-stepper--customizer .cas-quantity-stepper__button:hover {
    background: #f8fafc;
}

.cas-customizer-qty-val {
    font-size: 13px;
    font-weight: 700;
    color: #0f172a;
    min-width: 18px;
    text-align: center;
}

.cas-btn-add-customized {
    height: 40px;
    padding: 0 18px;
    border-radius: 20px;
    background: #003580;
    color: #ffffff;
    font-size: 13px;
    font-weight: 700;
    border: none;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    cursor: pointer;
    transition: background-color 0.15s ease;
}

.cas-btn-add-customized:hover {
    background: #002660;
}

.cas-btn-add-customized svg {
    width: 15px;
    height: 15px;
    stroke: #ffffff;
    stroke-width: 2.2;
}

/* Single Product Page Customizer & Sticky Bar */
.cas-single-customizer {
    width: 100%;
    flex: 0 0 100%;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    gap: 16px;
    margin: 8px 0 0;
    padding: 16px;
    background: #ffffff;
    border: 1px solid #f1f5f9;
    border-radius: 16px;
}

.cas-single-sticky-bar {
    position: fixed !important;
    bottom: 0 !important;
    left: 0 !important;
    right: 0 !important;
    z-index: 10002 !important;
    background: rgba(255, 255, 255, 0.95) !important;
    backdrop-filter: blur(16px) !important;
    -webkit-backdrop-filter: blur(16px) !important;
    border-top: 1px solid rgba(226, 232, 240, 0.8) !important;
    box-shadow: 0 -4px 20px rgba(15, 23, 42, 0.05) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding: 12px 20px calc(14px + var(--cas-safe, 0px)) !important;
    max-width: 480px !important;
    margin: 0 auto !important;
    box-sizing: border-box !important;
}

.cas-single-sticky-bar__left {
    display: flex !important;
    flex-direction: column !important;
    gap: 1px !important;
    max-width: 55% !important;
}

.cas-single-sticky-bar__left::before {
    content: "Total Price";
    display: block;
    font-size: 10px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.6px;
    color: #94a3b8;
    line-height: 1;
}

.cas-single-sticky-bar__price {
    font-size: 20px !important;
    font-weight: 800 !important;
    color: #003580 !important;
    letter-spacing: -0.4px !important;
    line-height: 1.15 !important;
}

.cas-single-sticky-bar__summary {
    display: none !important;
}

.cas-single-submit-btn {
    height: 44px !important;
    padding: 0 24px !important;
    border-radius: 999px !important;
    background: #003580 !important;
    color: #ffffff !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    letter-spacing: -0.2px !important;
    border: none !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    cursor: pointer !important;
    box-shadow: 0 4px 14px rgba(0, 53, 128, 0.28) !important;
    transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1) !important;
}

.cas-single-submit-btn:hover {
    background: #002b66 !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 6px 18px rgba(0, 53, 128, 0.35) !important;
}

.cas-single-submit-btn:active {
    transform: scale(0.97) !important;
    box-shadow: 0 2px 6px rgba(0, 53, 128, 0.2) !important;
}

.cas-single-submit-btn svg {
    width: 17px !important;
    height: 17px !important;
    stroke: currentColor !important;
    stroke-width: 2.2 !important;
}

/* App 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);
}

/* ==========================================================================
   Phase 4: Slide-Up "My Cart" Drawer & Free Delivery Tracker
   ========================================================================== */

/* Floating Bottom Cart Pill */
.cas-floating-cart {
    position: fixed;
    bottom: calc(64px + var(--cas-safe, 0px));
    left: 14px;
    right: 14px;
    max-width: 460px;
    margin: 0 auto;
    z-index: 950;
    pointer-events: none;
    opacity: 0;
    transform: translateY(24px) scale(0.96);
    transition: opacity 0.28s cubic-bezier(0.16, 1, 0.3, 1), transform 0.28s cubic-bezier(0.16, 1, 0.3, 1);
}

.cas-floating-cart.is-visible {
    opacity: 1;
    pointer-events: auto;
    transform: translateY(0) scale(1);
}

.cas-floating-cart__btn {
    width: 100%;
    height: 52px;
    border-radius: 999px;
    background: #003580;
    color: #ffffff;
    border: none;
    box-shadow: 0 8px 24px rgba(0, 53, 128, 0.35), 0 2px 6px rgba(0, 0, 0, 0.1);
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 16px 0 12px;
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
    transition: transform 0.15s ease, background-color 0.15s ease;
}

.cas-floating-cart__btn:hover {
    background: #002660;
    transform: translateY(-1px);
}

.cas-floating-cart__btn:active {
    transform: scale(0.98);
}

.cas-floating-cart__left {
    display: flex;
    align-items: center;
    gap: 10px;
}

.cas-floating-cart__icon-wrap {
    position: relative;
    width: 36px;
    height: 36px;
    background: rgba(255, 255, 255, 0.18);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.cas-floating-cart__icon-wrap svg {
    width: 18px;
    height: 18px;
    stroke: #ffffff;
    stroke-width: 2.2;
}

.cas-floating-cart__badge {
    position: absolute;
    top: -2px;
    right: -2px;
    min-width: 18px;
    height: 18px;
    border-radius: 9px;
    background: #ef4444;
    color: #ffffff;
    font-size: 10.5px;
    font-weight: 800;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 4px;
    border: 1.5px solid #003580;
    box-sizing: border-box;
    line-height: 1;
}

.cas-floating-cart__info {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    text-align: left;
    gap: 1px;
}

.cas-floating-cart__count-label {
    font-size: 13.5px;
    font-weight: 700;
    color: #ffffff;
    line-height: 1.2;
}

.cas-floating-cart__store-label {
    font-size: 10.5px;
    color: rgba(255, 255, 255, 0.78);
    line-height: 1.2;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 160px;
}

.cas-floating-cart__right {
    display: flex;
    align-items: center;
    gap: 12px;
}

.cas-floating-cart__price {
    font-size: 15px;
    font-weight: 800;
    color: #ffffff;
}

.cas-floating-cart__action {
    display: flex;
    align-items: center;
    gap: 4px;
    font-size: 12px;
    font-weight: 700;
    background: rgba(255, 255, 255, 0.16);
    padding: 4px 10px;
    border-radius: 999px;
}

.cas-floating-cart__action svg {
    width: 14px;
    height: 14px;
    stroke: currentColor;
    stroke-width: 2.5;
}

/* Slide-Up "My Cart" Drawer Modal */
.cas-cart-drawer-modal {
    position: fixed;
    inset: 0;
    z-index: 10008;
    display: flex;
    align-items: flex-end;
    justify-content: center;
}

.cas-cart-drawer-sheet {
    position: relative;
    width: 100%;
    max-width: 520px;
    background: #ffffff;
    border-radius: 20px 20px 0 0;
    max-height: 88vh;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    box-shadow: 0 -10px 40px rgba(0, 0, 0, 0.18);
    transform: translateY(100%);
    transition: transform 0.28s cubic-bezier(0.16, 1, 0.3, 1);
    z-index: 2;
}

.cas-cart-drawer-modal.is-open .cas-cart-drawer-sheet {
    transform: translateY(0);
}

.cas-cart-drawer-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 12px 16px 12px 20px;
    border-bottom: 1px solid #f1f5f9;
}

.cas-cart-drawer-header__title-area {
    display: flex;
    align-items: center;
    gap: 8px;
}

.cas-cart-drawer-header__title-area h2 {
    font-size: 17px;
    font-weight: 800;
    color: #0f172a;
    margin: 0;
}

.cas-cart-drawer-header__badge {
    font-size: 13px;
    font-weight: 600;
    color: #64748b;
}

.cas-cart-drawer-header__actions {
    display: flex;
    align-items: center;
    gap: 8px;
}

.cas-cart-clear-btn {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    background: transparent;
    border: none;
    color: #94a3b8;
    font-size: 12px;
    font-weight: 600;
    cursor: pointer;
    padding: 4px 8px;
    border-radius: 6px;
    transition: color 0.15s ease, background 0.15s ease;
}

.cas-cart-clear-btn:hover {
    color: #ef4444;
    background: #fef2f2;
}

.cas-cart-clear-btn svg {
    width: 14px;
    height: 14px;
    stroke: currentColor;
}

/* Free Delivery Tracker */
.cas-free-delivery-tracker {
    background: #f0f7ff;
    border-bottom: 1px solid #e0f2fe;
    padding: 10px 18px 12px;
    transition: background-color 0.2s ease;
}

.cas-free-delivery-tracker.is-unlocked {
    background: #f0fdf4;
    border-bottom-color: #dcfce7;
}

.cas-free-delivery-tracker__header {
    display: flex;
    align-items: center;
    gap: 7px;
    margin-bottom: 8px;
}

.cas-free-delivery-tracker__icon {
    display: flex;
    align-items: center;
    justify-content: center;
    color: #003580;
}

.cas-free-delivery-tracker.is-unlocked .cas-free-delivery-tracker__icon {
    color: #16a34a;
}

.cas-free-delivery-tracker__icon svg {
    width: 17px;
    height: 17px;
    stroke: currentColor;
    stroke-width: 2.2;
}

.cas-free-delivery-tracker__text {
    font-size: 12px;
    font-weight: 600;
    color: #1e293b;
    line-height: 1.3;
}

.cas-free-delivery-tracker__text strong {
    color: #003580;
}

.cas-free-delivery-tracker.is-unlocked .cas-free-delivery-tracker__text strong {
    color: #16a34a;
}

.cas-free-delivery-tracker__bar {
    width: 100%;
    height: 6px;
    border-radius: 999px;
    background: #e2e8f0;
    overflow: hidden;
}

.cas-free-delivery-tracker__progress {
    height: 100%;
    background: linear-gradient(90deg, #0284c7, #003580);
    border-radius: 999px;
    transition: width 0.35s ease;
}

.cas-free-delivery-tracker.is-unlocked .cas-free-delivery-tracker__progress {
    background: linear-gradient(90deg, #22c55e, #16a34a);
}

/* Cart Items Body */
.cas-cart-drawer-body {
    flex: 1;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    padding: 12px 18px;
    display: flex;
    flex-direction: column;
}

.cas-cart-empty-state {
    padding: 40px 20px;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.cas-cart-empty-state__icon {
    width: 56px;
    height: 56px;
    border-radius: 50%;
    background: #f1f5f9;
    color: #94a3b8;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 12px;
}

.cas-cart-empty-state__icon svg {
    width: 28px;
    height: 28px;
    stroke: currentColor;
}

.cas-cart-empty-state h3 {
    font-size: 16px;
    font-weight: 700;
    color: #1e293b;
    margin: 0 0 4px;
}

.cas-cart-empty-state p {
    font-size: 13px;
    color: #64748b;
    margin: 0;
}

/* Item Card */
.cas-cart-items-list {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.cas-cart-item-card {
    display: flex;
    gap: 12px;
    padding: 12px 0;
    border-bottom: 1px solid #f1f5f9;
    align-items: flex-start;
}

.cas-cart-item-card:last-child {
    border-bottom: none;
}

.cas-cart-item-card__thumb {
    width: 58px;
    height: 58px;
    min-width: 58px;
    border-radius: 12px;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
}

.cas-cart-item-card__thumb img {
    width: 90%;
    height: 90%;
    object-fit: contain;
}

.cas-cart-item-card__content {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 3px;
}

.cas-cart-item-card__title {
    font-size: 13.5px;
    font-weight: 700;
    color: #1e293b;
    margin: 0;
    line-height: 1.25;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.cas-cart-item-card__meta {
    font-size: 11px;
    color: #64748b;
    line-height: 1.3;
}

.cas-cart-item-card__notes {
    font-size: 10.5px;
    font-style: italic;
    color: #b45309;
    line-height: 1.25;
}

.cas-cart-item-card__foot {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-top: 6px;
}

.cas-cart-item-card__price {
    font-size: 14px;
    font-weight: 800;
    color: #0f172a;
}

.cas-cart-item-card__stepper {
    display: inline-flex;
    align-items: center;
    border-radius: 999px;
    border: 1px solid #cbd5e1;
    background: #f8fafc;
    padding: 2px 4px;
    gap: 6px;
}

.cas-cart-item-card__stepper-btn {
    width: 24px;
    height: 24px;
    border-radius: 50%;
    border: none;
    background: #ffffff;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
    color: #1e293b;
    font-size: 13px;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: background 0.1s ease;
    padding: 0;
}

.cas-cart-item-card__stepper-btn:hover {
    background: #e2e8f0;
}

.cas-cart-item-card__qty {
    font-size: 12.5px;
    font-weight: 700;
    color: #0f172a;
    min-width: 16px;
    text-align: center;
}

/* Drawer Footer */
.cas-cart-drawer-footer {
    padding: 12px 18px calc(14px + var(--cas-safe, 0px));
    border-top: 1px solid #f1f5f9;
    background: #ffffff;
    box-shadow: 0 -4px 16px rgba(0, 0, 0, 0.04);
}

.cas-cart-drawer-bill {
    display: flex;
    flex-direction: column;
    gap: 4px;
    margin-bottom: 12px;
}

.cas-cart-drawer-bill__row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-size: 12.5px;
    color: #64748b;
}

.cas-cart-drawer-bill__row--total {
    font-size: 15px;
    color: #0f172a;
    font-weight: 800;
    margin-top: 4px;
    padding-top: 6px;
    border-top: 1px dashed #e2e8f0;
}

.cas-cart-drawer-bill__row--total .cas-cart-drawer-total-amount {
    color: #003580;
    font-size: 17px;
}

.cas-btn-checkout {
    width: 100%;
    height: 48px;
    border-radius: 14px;
    background: #003580;
    color: #ffffff;
    font-size: 14px;
    font-weight: 800;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 18px;
    text-decoration: none;
    box-shadow: 0 4px 14px rgba(0, 53, 128, 0.3);
    transition: background-color 0.15s ease, transform 0.15s ease;
}

.cas-btn-checkout:hover {
    background: #002660;
    transform: translateY(-1px);
}

.cas-btn-checkout:active {
    transform: scale(0.98);
}

/* ==========================================================================
   Phase 5: Checkout Refinements
   ========================================================================== */


/* Pickup Location Confirmation Modal */
.cas-pickup-confirm-modal {
    position: fixed;
    inset: 0;
    z-index: 10020;
    display: flex;
    align-items: flex-end;
    justify-content: center;
}

.cas-pickup-confirm-sheet {
    position: relative;
    width: 100%;
    max-width: 500px;
    background: #ffffff;
    border-radius: 20px 20px 0 0;
    padding: 16px 20px calc(20px + var(--cas-safe, 0px));
    display: flex;
    flex-direction: column;
    box-shadow: 0 -10px 40px rgba(0, 0, 0, 0.2);
    transform: translateY(100%);
    transition: transform 0.28s cubic-bezier(0.16, 1, 0.3, 1);
    z-index: 2;
}

.cas-pickup-confirm-modal.is-open .cas-pickup-confirm-sheet {
    transform: translateY(0);
}

.cas-pickup-confirm-header {
    text-align: center;
    margin-bottom: 14px;
}

.cas-pickup-confirm-header__icon {
    width: 52px;
    height: 52px;
    border-radius: 50%;
    background: #e0f2fe;
    color: #003580;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 10px;
}

.cas-pickup-confirm-header__icon svg {
    width: 26px;
    height: 26px;
    stroke: currentColor;
    stroke-width: 2.2;
}

.cas-pickup-confirm-header h3 {
    font-size: 18px;
    font-weight: 800;
    color: #0f172a;
    margin: 0 0 4px;
}

.cas-pickup-confirm-header p {
    font-size: 12.5px;
    color: #64748b;
    margin: 0;
}

.cas-pickup-confirm-card {
    background: #f8fafc;
    border: 1.5px solid #e2e8f0;
    border-radius: 14px;
    padding: 14px;
    margin-bottom: 16px;
}

.cas-pickup-confirm-card__title {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 4px;
}

.cas-pickup-confirm-card__title strong {
    font-size: 14.5px;
    font-weight: 800;
    color: #003580;
}

.cas-pickup-confirm-card__hours {
    font-size: 11px;
    font-weight: 700;
    color: #16a34a;
    background: #dcfce7;
    padding: 2px 8px;
    border-radius: 999px;
}

.cas-pickup-confirm-card__addr {
    font-size: 12px;
    color: #64748b;
    margin: 0;
    line-height: 1.35;
}

.cas-pickup-confirm-actions {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.cas-btn-confirm-pickup {
    width: 100%;
    height: 48px;
    border-radius: 14px;
    background: #003580;
    color: #ffffff;
    font-size: 14px;
    font-weight: 800;
    border: none;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    cursor: pointer;
    box-shadow: 0 4px 14px rgba(0, 53, 128, 0.3);
    transition: background-color 0.15s ease;
}

.cas-btn-confirm-pickup:hover {
    background: #002660;
}

.cas-btn-confirm-pickup svg {
    width: 16px;
    height: 16px;
    stroke: currentColor;
    stroke-width: 2.5;
}

.cas-btn-change-branch {
    width: 100%;
    height: 44px;
    border-radius: 14px;
    background: #f1f5f9;
    color: #334155;
    font-size: 13px;
    font-weight: 700;
    border: none;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    cursor: pointer;
    transition: background-color 0.15s ease;
}

.cas-btn-change-branch:hover {
    background: #e2e8f0;
}

.cas-btn-change-branch svg {
    width: 15px;
    height: 15px;
    stroke: currentColor;
}

.cas-btn-cancel-pickup {
    width: 100%;
    height: 38px;
    border-radius: 14px;
    background: transparent;
    color: #94a3b8;
    font-size: 13px;
    font-weight: 600;
    border: none;
    cursor: pointer;
}

/* App-Style Payment Method Selection Cards */
.woocommerce-checkout #payment {
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
    margin-top: 16px !important;
}

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

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

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

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

.woocommerce-checkout #payment ul.payment_methods li.wc_payment_method:has(input:checked),
.woocommerce-checkout #payment ul.wc_payment_methods li.wc_payment_method:has(input:checked),
.woocommerce-checkout #payment ul.wc_payment_methods li.wc_payment_method.is-selected {
    border-color: #003580 !important;
    background: #f0f7ff !important;
    box-shadow: none !important;
}

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

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

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

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

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

.woocommerce-checkout #payment div.payment_box::before,
.woocommerce-checkout #payment div.payment_box::after {
    display: none !important;
}

.woocommerce-checkout #payment div.payment_box p {
    margin: 0 !important;
}

/* PayMongo & Credit Card Form Reset & Grid Layout */
.woocommerce-checkout #payment fieldset.cynder-credit-card-form,
.woocommerce-checkout #payment fieldset.cynder-payment-form,
.woocommerce-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;
}

.woocommerce-checkout #payment fieldset.cynder-credit-card-form .form-row,
.woocommerce-checkout #payment fieldset.cynder-payment-form .form-row,
.woocommerce-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;
}

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

.woocommerce-checkout #payment fieldset .form-row-first,
.woocommerce-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 */
.woocommerce-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;
}

.woocommerce-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 */
.woocommerce-checkout #payment div.payment_box input[type="text"],
.woocommerce-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;
}

.woocommerce-checkout #payment div.payment_box input[type="text"]:focus,
.woocommerce-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;
}

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

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

/* Thank You / Order Received & Order View Summary (Zus App Style) */
.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. Header Card (Status & Order Metadata) */
.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;
}

/* Actions Row & Buttons in Order Details Table */
.caaf-order-received table.shop_table tfoot tr:has(.order-actions-button) th,
.woocommerce-view-order table.shop_table tfoot tr:has(.order-actions-button) th,
.caaf-order-received table.shop_table tfoot th.order-actions--heading,
.woocommerce-view-order table.shop_table tfoot th.order-actions--heading {
    padding-top: 14px !important;
    vertical-align: middle !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    color: #64748b !important;
    text-transform: uppercase !important;
    letter-spacing: 0.3px !important;
    border-top: 1px solid #f1f5f9 !important;
}
.caaf-order-received table.shop_table tfoot tr:has(.order-actions-button) td,
.woocommerce-view-order table.shop_table tfoot tr:has(.order-actions-button) td {
    padding-top: 14px !important;
    vertical-align: middle !important;
    text-align: right !important;
    border-top: 1px solid #f1f5f9 !important;
}
.caaf-order-received .order-actions-button,
.woocommerce-view-order .order-actions-button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 38px !important;
    height: 38px !important;
    border-radius: 999px !important;
    font-size: 13.5px !important;
    font-weight: 700 !important;
    text-decoration: none !important;
    cursor: pointer !important;
    box-sizing: border-box !important;
    margin: 0 0 0 8px !important;
    transition: transform 0.15s ease, filter 0.15s ease, background 0.15s ease !important;
}
.caaf-order-received .order-actions-button.pay,
.woocommerce-view-order .order-actions-button.pay {
    background: #f70663 !important;
    color: #ffffff !important;
    border: none !important;
    padding: 0 22px !important;
    box-shadow: 0 4px 12px rgba(247, 6, 99, 0.25) !important;
}
.caaf-order-received .order-actions-button.pay:hover,
.woocommerce-view-order .order-actions-button.pay:hover {
    background: #e10557 !important;
    color: #ffffff !important;
    filter: brightness(0.96) !important;
}
.caaf-order-received .order-actions-button.pay:active,
.woocommerce-view-order .order-actions-button.pay:active {
    transform: scale(0.97) !important;
}
.caaf-order-received .order-actions-button.cancel,
.woocommerce-view-order .order-actions-button.cancel {
    background: #ffffff !important;
    color: #dc2626 !important;
    border: 1.5px solid #fecaca !important;
    padding: 0 18px !important;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.03) !important;
}
.caaf-order-received .order-actions-button.cancel:hover,
.woocommerce-view-order .order-actions-button.cancel:hover {
    background: #fef2f2 !important;
    border-color: #f87171 !important;
    color: #b91c1c !important;
}
.caaf-order-received .order-actions-button.cancel:active,
.woocommerce-view-order .order-actions-button.cancel:active {
    transform: scale(0.97) !important;
}

/* Modern Order Cancellation Box & Button */
.caaf-order-received .caaf-order-cancel-box,
.woocommerce-view-order .caaf-order-cancel-box {
    margin: 18px 0 !important;
    padding: 16px 18px !important;
    background: #ffffff !important;
    border: 1px solid #fee2e2 !important;
    border-radius: 14px !important;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.02) !important;
}
.caaf-order-received .caaf-order-cancel-box h2,
.woocommerce-view-order .caaf-order-cancel-box h2 {
    margin: 0 0 6px !important;
    color: #dc2626 !important;
    font-size: 14.5px !important;
    font-weight: 700 !important;
}
.caaf-order-received .caaf-order-cancel-box p,
.woocommerce-view-order .caaf-order-cancel-box p {
    margin: 0 0 14px !important;
    font-size: 13px !important;
    color: #64748b !important;
    line-height: 1.45 !important;
}
.caaf-order-received .caaf-purchase-button--cancel,
.woocommerce-view-order .caaf-purchase-button--cancel {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: #ffffff !important;
    color: #dc2626 !important;
    border: 1.5px solid #f87171 !important;
    border-radius: 999px !important;
    font-size: 13.5px !important;
    font-weight: 700 !important;
    padding: 0 22px !important;
    min-height: 38px !important;
    height: 38px !important;
    cursor: pointer !important;
    box-shadow: 0 2px 6px rgba(220, 38, 38, 0.08) !important;
    transition: transform 0.15s ease, background 0.15s ease, border-color 0.15s ease !important;
}
.caaf-order-received .caaf-purchase-button--cancel:hover,
.woocommerce-view-order .caaf-purchase-button--cancel:hover {
    background: #fef2f2 !important;
    border-color: #ef4444 !important;
    color: #b91c1c !important;
}
.caaf-order-received .caaf-purchase-button--cancel:active,
.woocommerce-view-order .caaf-purchase-button--cancel:active {
    transform: scale(0.97) !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;
}

/* 7. Modern Order Again Button */
.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;
}

/* Pickup branch refinement summary */
.cas-order-refinements-summary {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 14px;
    padding: 14px 16px;
    margin: 0 0 14px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.02);
}

.cas-order-refinements-summary .cas-section-title {
    font-size: 14px;
    font-weight: 700;
    color: #111827;
    margin: 0 0 10px;
}

.cas-order-refinements-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.cas-order-refinements-list li {
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-size: 12.5px;
}

.cas-order-refinements-list strong {
    font-weight: 500;
    color: #64748b;
}

.cas-order-refinements-list span {
    font-weight: 600;
    color: #111827;
}

/* =========================================================================
   Unified Checkout Adaptations & Cart Reset Modal
   ========================================================================= */

/* Hide redundant Order Type block on checkout */
.caaf-order-method {
    display: none !important;
}

/* Pick-up Branch Card on Checkout */
.caaf-checkout-address-wrap--pickup {
    padding: 16px 20px 0 !important;
    background: #ffffff !important;
    box-sizing: border-box !important;
    width: 100% !important;
}

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

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

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;
}

/* Delivery Address Card on Checkout */
.caaf-checkout-address-wrap {
    padding: 16px 20px 0 !important;
    background: #ffffff !important;
    box-sizing: border-box !important;
    width: 100% !important;
}

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

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

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

.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;
}

/* Delivery Time Card Modernization */
.caaf-checkout-delivery {
    padding: 16px 20px !important;
    background: #ffffff !important;
    box-sizing: border-box !important;
    width: 100% !important;
}

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

.caaf-checkout-delivery__card {
    display: flex !important;
    flex-direction: column !important;
    gap: 4px !important;
    padding: 14px 16px !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 10px !important;
    background: #fff !important;
    box-sizing: border-box !important;
    width: 100% !important;
    margin: 0 !important;
}

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

.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 !important;
    width: auto !important;
    min-height: 36px !important;
    padding: 8px 16px !important;
    border: 0 !important;
    border-radius: 8px !important;
    background: #ffcc05 !important;
    color: #171717 !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    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 !important;
}

.caaf-checkout-remarks textarea {
    border: 1px solid #e2e8f0 !important;
    border-radius: 8px !important;
}

/* Voucher Trigger Button & Sheet Synchronized Styles */
.caaf-checkout-voucher__head {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
}

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

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

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

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

.caaf-checkout-delivery-badge {
    display: inline-block;
    background: #e0f2fe;
    color: #0369a1;
    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-branch-banner {
    display: flex;
    align-items: center;
    gap: 12px;
    background: #ECFDF5 !important;
    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-store-hours-badge {
    display: inline-block;
    font-size: 11px;
    color: #166534;
    background: #dcfce7;
    padding: 1px 6px;
    border-radius: 4px;
    font-weight: 600;
    margin-top: 3px;
}

/* Cart Reset Confirmation Modal Styling */
.cas-btn-danger {
    background: #dc2626 !important;
    color: #ffffff !important;
    border-color: #dc2626 !important;
}

.cas-btn-danger:hover,
.cas-btn-danger:active {
    background: #b91c1c !important;
    border-color: #b91c1c !important;
}

/* =========================================================================
   Frozen Checkout Header & Fixed Bottom Place Order Panel
   ========================================================================= */
body.woocommerce-checkout {
    padding-bottom: calc(90px + env(safe-area-inset-bottom, 0px)) !important;
}

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

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

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

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

/* Frozen Top Header: ← Checkout */
body.woocommerce-checkout .cas-flow-topbar,
body.caaf-app-checkout .cas-flow-topbar {
    position: sticky !important;
    top: 0 !important;
    z-index: 1000 !important;
    background: #ffffff !important;
    border-bottom: 1px solid #eef0f4 !important;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.02) !important;
    margin: 0 !important;
    padding: 16px 20px !important;
    border-radius: 14px 14px 0 0 !important;
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

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

/* Unified White Card Container for Checkout Form */
body.woocommerce-checkout form.checkout,
body.caaf-app-checkout form.checkout {
    display: block !important;
    background: #ffffff !important;
    border-radius: 0 0 14px 14px !important;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.02) !important;
    overflow: hidden !important;
    margin: 0 0 24px 0 !important;
    width: 100% !important;
    box-sizing: border-box !important;
    padding-bottom: 0 !important;
}

body.woocommerce-checkout .cas-woocommerce,
body.caaf-app-checkout .cas-woocommerce {
    width: min(calc(100% - 24px), var(--caaf-checkout-max-width, 680px)) !important;
    max-width: var(--caaf-checkout-max-width, 680px) !important;
    margin: 12px auto 30px auto !important;
    padding: 0 !important;
    border: none !important;
    border-radius: 14px !important;
    background: transparent !important;
    box-shadow: none !important;
    box-sizing: border-box !important;
}

@media (max-width: 480px) {
    body.woocommerce-checkout .cas-woocommerce,
    body.caaf-app-checkout .cas-woocommerce {
        width: min(calc(100% - 20px), var(--caaf-checkout-max-width, 680px)) !important;
        margin: 10px auto 24px auto !important;
    }
}

/* Checkout Totals Table & Payment Method Padding Alignment */
body.woocommerce-checkout table.shop_table,
body.caaf-app-checkout table.shop_table,
body.woocommerce-checkout .woocommerce-checkout-review-order-table,
body.caaf-app-checkout .woocommerce-checkout-review-order-table {
    width: 100% !important;
    margin: 0 !important;
    border: none !important;
    border-radius: 0 !important;
    border-collapse: collapse !important;
    background: #ffffff !important;
    box-sizing: border-box !important;
    padding-bottom: 8px !important;
}

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

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

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

body.woocommerce-checkout .cas-flow-topbar a,
body.caaf-app-checkout .cas-flow-topbar a {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 28px !important;
    height: 28px !important;
    color: #e64835 !important;
    font-size: 22px !important;
    line-height: 1 !important;
    text-decoration: none !important;
    flex-shrink: 0 !important;
}

body.woocommerce-checkout .cas-flow-topbar h1,
body.caaf-app-checkout .cas-flow-topbar h1 {
    margin: 0 !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    color: #111111 !important;
    line-height: 1.2 !important;
}

/* Frozen Bottom Panel: Place Order */
body.woocommerce-checkout #order_review > .place-order,
body.woocommerce-checkout #payment > .place-order,
body.caaf-app-checkout #order_review > .place-order,
body.caaf-app-checkout #payment > .place-order {
    position: fixed !important;
    bottom: 0 !important;
    left: 0 !important;
    right: 0 !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;
    z-index: 9999 !important;
    box-sizing: border-box !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    visibility: visible !important;
    opacity: 1 !important;
}

.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;
}

body.woocommerce-checkout #order_review > .place-order #place_order,
body.woocommerce-checkout #payment > .place-order #place_order,
body.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: #ffffff !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;
    text-decoration: none !important;
    transition: transform 0.15s ease, filter 0.15s ease !important;
    margin: 0 !important;
}

body.woocommerce-checkout #order_review > .place-order #place_order:active,
body.caaf-app-checkout #place_order:active {
    transform: scale(0.98) !important;
    filter: brightness(0.95) !important;
}

body.woocommerce-checkout #order_review > .place-order #place_order::after,
body.caaf-app-checkout #place_order::after {
    content: none !important;
    display: none !important;
}

/* =========================================================================
   Zus Coffee-Style Auth Gateway Bottom Sheet Modal
   ========================================================================= */
.cas-auth-modal {
    position: fixed;
    inset: 0;
    z-index: 10010;
    display: flex;
    align-items: flex-end;
    justify-content: center;
}

.cas-auth-modal .cas-mode-modal__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(15, 23, 42, 0.6);
    backdrop-filter: blur(4px);
    opacity: 0;
    transition: opacity 0.25s ease;
}

.cas-auth-modal.is-open .cas-mode-modal__backdrop {
    opacity: 1;
}

.cas-auth-sheet {
    position: relative;
    width: 100%;
    max-width: 520px;
    background: #ffffff;
    border-radius: 24px 24px 0 0;
    max-height: 90vh;
    display: flex;
    flex-direction: column;
    padding: 20px 20px 28px;
    box-shadow: 0 -8px 30px rgba(0, 0, 0, 0.2);
    transform: translateY(100%);
    transition: transform 0.28s cubic-bezier(0.16, 1, 0.3, 1);
    box-sizing: border-box;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
}

.cas-auth-modal.is-open .cas-auth-sheet {
    transform: translateY(0);
}

.cas-auth-sheet .cas-modal-close-btn {
    position: absolute !important;
    top: 14px !important;
    right: 14px !important;
    left: auto !important;
    z-index: 20 !important;
    cursor: pointer !important;
    -webkit-tap-highlight-color: transparent !important;
}

.cas-auth-sheet__header {
    text-align: center;
    margin-bottom: 20px;
    padding: 0 10px;
}

/* =========================================================================
   Zus Coffee-Style Auth Gateway Modal
   ========================================================================= */
.cas-auth-sheet {
    background: #ffffff !important;
    border-radius: 24px 24px 0 0 !important;
    padding: 16px 20px 24px !important;
    box-sizing: border-box !important;
    max-width: 440px !important;
    margin: 0 auto !important;
}

/* Modal Topbar & Navigation */
.cas-auth-sheet__topbar {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    margin-bottom: 6px !important;
    position: relative !important;
    padding: 0 36px 0 0 !important;
    min-height: 36px !important;
}

.cas-auth-topbar-back {
    border: none !important;
    background: transparent !important;
    color: #0b2265 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 6px !important;
    cursor: pointer !important;
    border-radius: 50% !important;
    transition: background-color 0.15s ease !important;
    line-height: 1 !important;
}

.cas-auth-topbar-back:hover {
    background: #f1f5f9 !important;
}

.cas-auth-sheet__topbar-title {
    margin: 0 !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    color: #0f172a !important;
    letter-spacing: -0.01em !important;
    flex: 1 !important;
    text-align: center !important;
}

.cas-auth-lang {
    font-size: 13px !important;
    font-weight: 600 !important;
    color: #64748b !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 3px !important;
    user-select: none !important;
}

/* Centered Zus-Style Brand Badge (Nayuomi Monogram) */
.cas-auth-brand {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    margin: 10px auto 14px !important;
}

.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;
    transition: transform 0.2s ease !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;
}

/* Modal Headline */
.cas-auth-headline {
    margin: 0 0 16px !important;
    font-size: 20px !important;
    font-weight: 800 !important;
    color: #0b2265 !important;
    text-align: center !important;
    letter-spacing: -0.02em !important;
}

/* Phone Input Pill Group (Zus Coffee exact card) */
.caaf-phone-input-group,
.cas-phone-group {
    display: flex !important;
    align-items: center !important;
    background: #ffffff !important;
    border: 1.5px solid #e2e8f0 !important;
    border-radius: 14px !important;
    padding: 0 16px !important;
    height: 54px !important;
    box-shadow: 0 4px 14px rgba(15, 23, 42, 0.04) !important;
    transition: border-color 0.18s ease, box-shadow 0.18s ease !important;
    width: 100% !important;
    box-sizing: border-box !important;
    margin: 0 0 16px !important;
}

.caaf-phone-input-group:focus-within,
.cas-phone-group:focus-within {
    border-color: #18a3ea !important;
    box-shadow: 0 0 0 3px rgba(24, 163, 234, 0.15) !important;
}

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

.caaf-flag {
    font-size: 18px !important;
    line-height: 1 !important;
}

.caaf-prefix-code {
    font-size: 15px !important;
    font-weight: 700 !important;
    color: #0f172a !important;
}

.caaf-prefix-caret {
    color: #64748b !important;
    flex-shrink: 0 !important;
}

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

.caaf-phone-field {
    flex: 1 !important;
    min-width: 0 !important;
    border: none !important;
    outline: none !important;
    box-shadow: none !important;
    background: transparent !important;
    font-size: 17px !important;
    font-weight: 700 !important;
    color: #0f172a !important;
    padding: 0 !important;
    height: 100% !important;
    letter-spacing: 0.02em !important;
    font-family: inherit !important;
}

.caaf-phone-field::placeholder {
    color: #94a3b8 !important;
    font-weight: 400 !important;
    font-size: 15px !important;
}

/* Zus Divider: ——— receive 4-digit code via ——— */
.caaf-zus-divider {
    display: flex !important;
    align-items: center !important;
    text-align: center !important;
    margin: 18px 0 16px !important;
    color: #94a3b8 !important;
    font-size: 12px !important;
    font-weight: 500 !important;
}

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

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

/* Action Buttons (SMS & Viber) */
.caaf-zus-actions {
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
    width: 100% !important;
    margin-bottom: 14px !important;
}

.caaf-btn-channel {
    width: 100% !important;
    height: 48px !important;
    border-radius: 26px !important;
    border: none !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
    cursor: pointer !important;
    transition: transform 0.15s ease, background-color 0.15s ease, box-shadow 0.15s ease !important;
    text-decoration: none !important;
    font-family: inherit !important;
    outline: none !important;
    box-sizing: border-box !important;
}

.caaf-btn-channel--sms {
    background: #18a3ea !important;
    color: #ffffff !important;
    box-shadow: 0 4px 14px rgba(24, 163, 234, 0.28) !important;
}

.caaf-btn-channel--sms:hover {
    background: #1192d4 !important;
    transform: translateY(-1px) !important;
}

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

.caaf-btn-channel--viber:hover {
    background: #604ee0 !important;
    transform: translateY(-1px) !important;
}

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

/* Fallback subtle link */
.caaf-zus-fallback {
    text-align: center !important;
    margin-top: 14px !important;
}

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

.caaf-link-subtle:hover {
    color: #0284c7 !important;
    text-decoration: underline !important;
}

/* VIEW 2: Subtext and 4-Digit Verification Boxes */
.caaf-zus-subtext {
    font-size: 13px !important;
    color: #94a3b8 !important;
    text-align: center !important;
    margin: 0 auto 16px !important;
    line-height: 1.45 !important;
    max-width: 310px !important;
}

.caaf-zus-subtext strong {
    color: #0f172a !important;
    font-weight: 700 !important;
    display: inline-block !important;
}

/* 6-Digit Horizontal Input Row (Zus Coffee style) */
.caaf-otp-boxes,
.cas-modal-otp-boxes {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 8px !important;
    margin: 20px 0 16px !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

.caaf-otp-box,
.cas-otp-box {
    flex: 0 0 44px !important;
    width: 44px !important;
    max-width: 48px !important;
    height: 56px !important;
    border: 1.5px solid #e2e8f0 !important;
    border-radius: 12px !important;
    background: #ffffff !important;
    font-size: 22px !important;
    font-weight: 800 !important;
    color: #00204a !important;
    text-align: center !important;
    outline: none !important;
    box-shadow: 0 2px 8px rgba(15, 23, 42, 0.04) !important;
    transition: border-color 0.18s ease, box-shadow 0.18s ease !important;
    box-sizing: border-box !important;
    padding: 0 !important;
    font-family: inherit !important;
    margin: 0 !important;
}

.caaf-otp-box:focus,
.cas-otp-box:focus {
    border-color: #18a3ea !important;
    background: #ffffff !important;
    box-shadow: 0 0 0 3px rgba(24, 163, 234, 0.18) !important;
}

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

/* Dev Mode Banner */
.caaf-dev-badge {
    background: #ecfdf5 !important;
    border: 1px solid #a7f3d0 !important;
    color: #065f46 !important;
    border-radius: 12px !important;
    padding: 6px 14px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    font-size: 12px !important;
    margin: 0 auto 16px !important;
    max-width: 300px !important;
    box-sizing: border-box !important;
}

.caaf-dev-badge strong {
    color: #047857 !important;
    font-weight: 800 !important;
}

.caaf-dev-badge button {
    background: #059669 !important;
    color: #ffffff !important;
    border: none !important;
    border-radius: 6px !important;
    padding: 3px 8px !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    cursor: pointer !important;
    transition: background-color 0.15s ease !important;
}

.caaf-dev-badge button:hover {
    background: #047857 !important;
}

/* Timer and Resend Controls */
.caaf-otp-timer-wrap {
    text-align: center !important;
    margin: 12px 0 6px !important;
    font-size: 13px !important;
    color: #94a3b8 !important;
    font-weight: 500 !important;
}

.caaf-otp-timer strong {
    color: #18a3ea !important;
    font-weight: 700 !important;
}

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

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

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

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

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

/* Terms Footer */
.cas-auth-sheet__footer {
    margin-top: 20px !important;
    text-align: center !important;
    padding-top: 14px !important;
}

.cas-auth-terms-note {
    margin: 0 !important;
    font-size: 11px !important;
    color: #94a3b8 !important;
    line-height: 1.5 !important;
    text-align: center !important;
}

.cas-auth-terms-note a {
    color: #18a3ea !important;
    text-decoration: none !important;
    font-weight: 500 !important;
}

.cas-auth-terms-note a:hover {
    text-decoration: underline !important;
}

/* Form Styles for Classic Fallback */
.cas-auth-form {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}

.cas-auth-alert {
    padding: 10px 14px !important;
    border-radius: 10px !important;
    background: #fef2f2 !important;
    border: 1px solid #fecaca !important;
    color: #dc2626 !important;
    font-size: 13px !important;
    line-height: 1.4 !important;
    margin-bottom: 12px !important;
}

.cas-auth-field {
    display: flex !important;
    flex-direction: column !important;
    gap: 6px !important;
}

.cas-auth-field label {
    font-size: 12px !important;
    font-weight: 700 !important;
    color: #334155 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.03em !important;
}

.cas-auth-field__head {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
}

.cas-auth-link--small {
    font-size: 12px !important;
    color: #18a3ea !important;
    text-decoration: none !important;
    font-weight: 600 !important;
}

.cas-auth-link--small:hover {
    text-decoration: underline !important;
}

.cas-auth-field input[type="text"],
.cas-auth-field input[type="password"] {
    width: 100% !important;
    padding: 12px 14px !important;
    font-size: 14px !important;
    border: 1.5px solid #e2e8f0 !important;
    border-radius: 12px !important;
    outline: none !important;
    background: #f8fafc !important;
    box-sizing: border-box !important;
    font-family: inherit !important;
    transition: all 0.2s ease !important;
}

.cas-auth-field input[type="text"]:focus,
.cas-auth-field input[type="password"]:focus {
    background: #ffffff !important;
    border-color: #18a3ea !important;
    box-shadow: 0 0 0 3px rgba(24, 163, 234, 0.15) !important;
}

.cas-auth-pass-wrap {
    position: relative !important;
    display: flex !important;
    align-items: center !important;
}

.cas-auth-pass-wrap input {
    padding-right: 42px !important;
}

.cas-auth-toggle-pass {
    position: absolute !important;
    right: 10px !important;
    border: none !important;
    background: transparent !important;
    color: #94a3b8 !important;
    cursor: pointer !important;
    padding: 6px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.cas-auth-toggle-pass:hover {
    color: #334155 !important;
}

.cas-auth-submit {
    width: 100% !important;
    height: 48px !important;
    border-radius: 26px !important;
    background: #002b7f !important;
    color: #ffffff !important;
    font-weight: 700 !important;
    font-size: 15px !important;
    border: none !important;
    cursor: pointer !important;
    margin-top: 4px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-shadow: 0 4px 14px rgba(0, 43, 127, 0.25) !important;
    transition: transform 0.15s ease, background-color 0.2s ease !important;
}

.cas-auth-submit:active {
    transform: scale(0.98) !important;
}

.cas-auth-submit:disabled {
    opacity: 0.6 !important;
    cursor: not-allowed !important;
}

/* 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;
    }
}

/* ==========================================================================
   Account Dashboard Redesign (p5.png NEW FORMAT)
   ========================================================================== */
body.woocommerce-account,
body.caaf-app-account,
body.caaf-app-account-dashboard {
    background: #ceffed !important;
    padding-top: 0 !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;
}

/* 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;
}

.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;
}

.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;
}

/* ==========================================================================
   Modernized Purchases / Order Status List Pages
   ========================================================================== */
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;
}

/* 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 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;
}

/* 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__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-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-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;
}



/* ==========================================================================
   Nayuomi Simple Wishlist - Modernized UI
   ========================================================================== */

/* Single Product Heart Toggle */
.nayuomi-wishlist-toggle {
    align-items: center;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 50%;
    color: #64748b;
    cursor: pointer;
    display: inline-flex;
    font-weight: 800;
    justify-content: center;
    margin: 0;
    min-height: 36px;
    height: 36px;
    width: 36px;
    min-width: 36px;
    padding: 0;
    box-sizing: border-box;
    transition: all 0.15s ease;
}

.nayuomi-wishlist-toggle:hover {
    background: #f1f5f9;
    border-color: #cbd5e1;
    color: #1e293b;
}

.nayuomi-wishlist-toggle svg {
    display: block;
    fill: none;
    height: 18px;
    width: 18px;
    stroke: currentColor;
    stroke-linejoin: round;
    stroke-width: 2;
    transition: transform 0.15s ease, fill 0.15s ease, color 0.15s ease;
}

.nayuomi-wishlist-toggle.is-saved {
    background: #fef2f2;
    border-color: #fee2e2;
    color: #ef4444;
}

.nayuomi-wishlist-toggle.is-saved svg {
    fill: currentColor;
    stroke: #ef4444;
}

.nayuomi-wishlist-toggle.is-busy {
    opacity: 0.65;
    pointer-events: none;
}

/* Page Container Resets for Theme Integration */
body:has(.nayuomi-wishlist-page) {
    background-color: #f8fafc !important;
}

body:has(.nayuomi-wishlist-page) .cas-page,
.cas-page:has(.nayuomi-wishlist-page) {
    max-width: 100% !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

body:has(.nayuomi-wishlist-page) .cas-content,
.cas-content:has(.nayuomi-wishlist-page) {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    padding: 0 !important;
    margin: 0 !important;
    max-width: 100% !important;
}

/* Hide Redundant Top Title in Theme Page Templates */
.cas-content:has(.nayuomi-wishlist-page) > h1:first-child,
body:has(.nayuomi-wishlist-page) .cas-content > h1:first-child,
.nayuomi-wishlist-page-parent > h1:first-child {
    display: none !important;
}

/* Wishlist Section */
.nayuomi-wishlist-page {
    background: #f8fafc !important;
    color: #111827 !important;
    min-height: calc(100vh - 120px);
    padding: 0 0 90px 0 !important;
    font-family: "Outfit", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

/* Modern Sticky Topbar Header */
.nayuomi-wishlist-page__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;
}

.nayuomi-wishlist-page__back,
.nayuomi-wishlist-page__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;
    border: 1px solid #e2e8f0 !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;
}

.nayuomi-wishlist-page__back:hover,
.nayuomi-wishlist-page__header > a:hover {
    background: #e2e8f0 !important;
}

.nayuomi-wishlist-page__back svg {
    width: 18px !important;
    height: 18px !important;
}

.nayuomi-wishlist-page__title,
.nayuomi-wishlist-page__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;
}

.nayuomi-wishlist-page__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;
}

/* Empty State Card */
.nayuomi-wishlist-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;
    margin: 16px auto !important;
    max-width: 480px !important;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.02) !important;
    box-sizing: border-box !important;
}

.nayuomi-wishlist-empty__icon {
    font-size: 38px !important;
    color: #94a3b8 !important;
    margin-bottom: 2px !important;
    line-height: 1 !important;
}

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

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

.nayuomi-wishlist-empty__btn,
.nayuomi-wishlist-login {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    height: 36px !important;
    min-height: 36px !important;
    padding: 0 18px !important;
    border-radius: 10px !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    background: #003580 !important;
    color: #ffffff !important;
    text-decoration: none !important;
    margin-top: 8px !important;
    box-shadow: 0 2px 6px rgba(0, 53, 128, 0.2) !important;
    transition: all 0.15s ease !important;
}

.nayuomi-wishlist-empty__btn:hover,
.nayuomi-wishlist-login:hover {
    background: #002660 !important;
    transform: translateY(-1px) !important;
}

/* Wishlist Products List */
.nayuomi-wishlist-list {
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
    max-width: 500px !important;
    margin: 0 auto !important;
    padding: 14px 14px 24px 14px !important;
    box-sizing: border-box !important;
}

/* Modern Wishlist Card */
.nayuomi-wishlist-card {
    background: #ffffff !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 14px !important;
    padding: 12px !important;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.02) !important;
    margin: 0 !important;
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    box-sizing: border-box !important;
    transition: transform 0.15s ease, border-color 0.15s ease !important;
}

.nayuomi-wishlist-card:hover {
    border-color: #cbd5e1 !important;
    transform: translateY(-1px) !important;
}

/* Thumbnail */
.nayuomi-wishlist-card__image {
    width: 72px !important;
    height: 72px !important;
    min-width: 72px !important;
    max-width: 72px !important;
    aspect-ratio: 1 !important;
    border-radius: 10px !important;
    background: #f8fafc !important;
    border: 1px solid #f1f5f9 !important;
    overflow: hidden !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-shrink: 0 !important;
    text-decoration: none !important;
}

.nayuomi-wishlist-card__image img {
    width: 90% !important;
    height: 90% !important;
    object-fit: contain !important;
    transition: transform 0.2s ease !important;
}

.nayuomi-wishlist-card:hover .nayuomi-wishlist-card__image img {
    transform: scale(1.05) !important;
}

/* Card Body */
.nayuomi-wishlist-card__body {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 3px !important;
}

/* Product Title */
.nayuomi-wishlist-card__title {
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
    font-size: 13.5px !important;
    font-weight: 700 !important;
    color: #111827 !important;
    line-height: 1.3 !important;
    text-decoration: none !important;
    margin: 0 !important;
    font-family: "Outfit", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
    transition: color 0.15s ease !important;
}

.nayuomi-wishlist-card__title:hover {
    color: #003580 !important;
}

/* Price Hierarchy */
.nayuomi-wishlist-card__price {
    display: flex !important;
    align-items: baseline !important;
    gap: 6px !important;
    margin: 1px 0 4px !important;
    line-height: 1.2 !important;
}

.nayuomi-wishlist-card__price del {
    color: #94a3b8 !important;
    font-size: 11.5px !important;
    font-weight: 500 !important;
    text-decoration: line-through !important;
}

.nayuomi-wishlist-card__price ins,
.nayuomi-wishlist-card__price > span.woocommerce-Price-amount {
    color: #003580 !important;
    font-size: 14px !important;
    font-weight: 800 !important;
    text-decoration: none !important;
}

/* Actions Row */
.nayuomi-wishlist-card__actions {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    flex-wrap: wrap !important;
    margin-top: 2px !important;
}

.nayuomi-wishlist-btn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    height: 30px !important;
    min-height: 30px !important;
    padding: 0 12px !important;
    border-radius: 8px !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    cursor: pointer !important;
    box-sizing: border-box !important;
    transition: all 0.15s ease !important;
}

.nayuomi-wishlist-btn--view {
    background: #003580 !important;
    color: #ffffff !important;
    border: 1px solid #003580 !important;
}

.nayuomi-wishlist-btn--view:hover {
    background: #002660 !important;
    border-color: #002660 !important;
}

.nayuomi-wishlist-btn--remove {
    gap: 4px !important;
    padding: 0 10px !important;
    font-size: 11.5px !important;
    background: #fef2f2 !important;
    color: #ef4444 !important;
    border: 1px solid #fee2e2 !important;
}

.nayuomi-wishlist-btn--remove:hover {
    background: #fee2e2 !important;
    color: #dc2626 !important;
}

.nayuomi-wishlist-btn--remove svg {
    width: 13px !important;
    height: 13px !important;
    stroke: currentColor !important;
}

/* Modal Popup (for Guest Users) */
.nayuomi-wishlist-modal-backdrop {
    position: fixed;
    inset: 0;
    background: rgba(15, 23, 42, 0.55);
    backdrop-filter: blur(4px);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 2147483647;
    padding: 16px;
    animation: nayuomiFadeIn 0.2s ease;
}

.nayuomi-wishlist-modal-panel {
    background: #ffffff;
    border-radius: 16px;
    padding: 24px;
    max-width: 340px;
    width: 100%;
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.15);
    text-align: center;
    border: 1px solid #e2e8f0;
}

.nayuomi-wishlist-modal-panel h3 {
    margin: 0 0 6px;
    font-size: 16px;
    font-weight: 700;
    color: #0f172a;
}

.nayuomi-wishlist-modal-panel p {
    margin: 0 0 18px;
    font-size: 13px;
    color: #64748b;
    line-height: 1.45;
}

.nayuomi-wishlist-modal-actions {
    display: flex;
    gap: 10px;
}

.nayuomi-wishlist-modal-cancel {
    flex: 1;
    height: 38px;
    border-radius: 10px;
    border: 1px solid #e2e8f0;
    background: #f8fafc;
    color: #334155;
    font-weight: 600;
    font-size: 13px;
    cursor: pointer;
}

.nayuomi-wishlist-modal-cancel:hover {
    background: #f1f5f9;
}

.nayuomi-wishlist-modal-login {
    flex: 1;
    height: 38px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    background: #003580;
    color: #ffffff !important;
    font-weight: 700;
    font-size: 13px;
    text-decoration: none;
    margin-top: 0 !important;
}

.nayuomi-wishlist-modal-login:hover {
    background: #002660;
}

@keyframes nayuomiFadeIn {
    from { opacity: 0; }
    to { opacity: 1; }
}

@media (max-width: 420px) {
    .nayuomi-wishlist-page__title,
    .nayuomi-wishlist-page__header h1 {
        font-size: 14px !important;
    }
}

/* ==========================================================================
   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: 14px !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: 14px !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 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;
}

/* ==========================================================================
   Cart: Clean Bundle Display (Hidden Child Items & No Description Clutter)
   ========================================================================== */

/* 1. Remove product short descriptions from all cart items */
.wc-block-cart .wc-block-components-product-metadata__description,
.wc-block-cart-items .wc-block-components-product-metadata__description,
.wc-block-cart .wc-block-components-product-details__short-description,
.wc-block-cart-items .wc-block-components-product-details__short-description {
    display: none !important;
}

/* 2. Remove "Includes: X items" counter text */
.wc-block-cart .wc-block-components-product-details__includes,
.wc-block-cart-items .wc-block-components-product-details__includes,
.wc-block-cart .md-bnd-cart-includes,
.wc-block-cart-items .md-bnd-cart-includes {
    display: none !important;
}

/* 3. Hide all bundled child items on the Cart page (Block Cart & Classic Cart) */
.wc-block-cart-items__row.cas-bundle-child-row,
.wc-block-cart-items__row.is-child-bundle-item,
.woocommerce-cart-form table.cart tr.cas-bundle-child-row,
.woocommerce-cart-form table.cart tr.is-child-bundle-item {
    display: none !important;
}


/* ==========================================================================
   New Registration Page Modernization (/app-register/)
   Full-width 100% edge-to-edge, sleek typography, 500px map, modern buttons & terms
   ========================================================================== */

/* 1. Page container & Full Width 100% (No side margins or mint green borders on registration panel) */
body.page-id-79 .cas-page,
.cas-page:has(.caaf-register-page),
body.page-id-79 .cas-content,
.cas-content:has(.caaf-register-page) {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
    background: transparent !important;
    box-shadow: none !important;
    border: none !important;
}

.caaf-register-page {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
    box-shadow: none !important;
    background: #ffffff !important;
    border-radius: 24px 24px 0 0 !important;
    border: none !important;
}

.caaf-register-panel {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 24px 18px 48px !important;
    background: #ffffff !important;
    border-radius: 24px 24px 0 0 !important;
    border: none !important;
    box-shadow: none !important;
    box-sizing: border-box !important;
}

/* 2. Topbar Header: [ < ] New Registration floating pill */
.cas-register-topbar {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    margin: 10px 14px 14px !important;
    padding: 10px 16px !important;
    background: #ffffff !important;
    border-radius: 16px !important;
    border: 1px solid rgba(0, 0, 0, 0.05) !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04) !important;
    box-sizing: border-box !important;
}

.cas-register-topbar .cas-back-btn,
.cas-register-topbar a {
    display: inline-flex !important;
    width: 36px !important;
    height: 36px !important;
    min-width: 36px !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 50% !important;
    background: #f8fafc !important;
    border: 1px solid #e2e8f0 !important;
    color: #15370D !important;
    text-decoration: none !important;
    transition: all 0.15s ease !important;
}

.cas-register-topbar .cas-back-btn:hover,
.cas-register-topbar a:hover {
    background: #FFF7C5 !important;
    border-color: #F4AE52 !important;
    color: #15370D !important;
    transform: translateX(-2px) !important;
}

.cas-register-topbar h1 {
    margin: 0 !important;
    font-size: 18px !important;
    font-weight: 800 !important;
    color: #15370D !important;
    line-height: 1.2 !important;
    letter-spacing: -0.2px !important;
}

/* Hide duplicate caaf page header if present */
.caaf-register-page .caaf-page-header {
    display: none !important;
}

/* 3. Modern Section Title */
.caaf-register-panel h2 {
    margin: 0 0 16px !important;
    font-size: 17px !important;
    font-weight: 800 !important;
    color: #15370D !important;
    letter-spacing: -0.2px !important;
}

/* 4. Modern Labels and Form Controls */
.caaf-register-form {
    display: grid !important;
    gap: 16px !important;
    margin-top: 0 !important;
}

.caaf-register-form label {
    display: flex !important;
    flex-direction: column !important;
    gap: 6px !important;
    margin: 0 !important;
}

.caaf-register-form label > span,
.caaf-register-form span:not(.caaf-pill--verified):not(.caaf-terms-text):not(.required) {
    font-size: 13px !important;
    font-weight: 700 !important;
    color: #1e293b !important;
    letter-spacing: -0.1px !important;
    line-height: 1.3 !important;
}

.caaf-register-form em {
    color: #ef4444 !important;
    font-style: normal !important;
    font-weight: 700 !important;
}

.caaf-register-form input[type="text"],
.caaf-register-form input[type="email"],
.caaf-register-form input[type="tel"],
.caaf-register-form input[type="password"] {
    width: 100% !important;
    min-height: 46px !important;
    height: 46px !important;
    padding: 0 14px !important;
    border: 1.5px solid #cbd5e1 !important;
    border-radius: 12px !important;
    background-color: #ffffff !important;
    color: #0f172a !important;
    font-family: inherit !important;
    font-size: 13.5px !important;
    font-weight: 500 !important;
    box-sizing: border-box !important;
    transition: border-color 0.15s ease, box-shadow 0.15s ease !important;
}

.caaf-register-form input:focus,
.caaf-register-form select:focus {
    border-color: #F4AE52 !important;
    box-shadow: 0 0 0 3px rgba(244, 174, 82, 0.2) !important;
    outline: none !important;
}

.caaf-register-form input::placeholder {
    color: #94a3b8 !important;
    font-weight: 400 !important;
    font-size: 13px !important;
}

/* 5. Dropdown selects (Custom modern component & native fallback) */
.caaf-field-row--select {
    display: flex !important;
    flex-direction: column !important;
    gap: 6px !important;
    margin: 0 !important;
    position: relative !important;
}

.caaf-field-row--select label {
    margin: 0 !important;
    padding: 0 !important;
    cursor: pointer !important;
}

.caaf-field-row--select label > span {
    font-size: 13px !important;
    font-weight: 700 !important;
    color: #1e293b !important;
    letter-spacing: -0.1px !important;
}

.caaf-field-row--select.has-open-select,
.caaf-field-row--select:has(.caaf-custom-select.is-open) {
    z-index: 1050 !important;
}

/* Custom Select in Registration Form */
.caaf-register-form .caaf-custom-select,
.caaf-custom-select {
    position: relative !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

.caaf-register-form .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: 0 14px !important;
    font-size: 13.5px !important;
    font-weight: 500 !important;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
    color: #0f172a !important;
    background-color: #ffffff !important;
    border: 1.5px solid #cbd5e1 !important;
    border-radius: 12px !important;
    outline: none !important;
    box-shadow: none !important;
    box-sizing: border-box !important;
    cursor: pointer !important;
    text-align: left !important;
    transition: border-color 0.15s ease, box-shadow 0.15s ease !important;
}

.caaf-register-form .caaf-custom-select.is-open .caaf-custom-select__trigger,
.caaf-register-form .caaf-custom-select__trigger:focus {
    border-color: #F4AE52 !important;
    box-shadow: 0 0 0 3px rgba(244, 174, 82, 0.2) !important;
    background-color: #ffffff !important;
}

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

.caaf-register-form .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: 13.5px !important;
    line-height: 1.4 !important;
    color: #0f172a !important;
}

.caaf-register-form .caaf-custom-select__label.is-placeholder {
    color: #94a3b8 !important;
    font-weight: 400 !important;
}

.caaf-register-form .caaf-custom-select__chevron {
    flex-shrink: 0 !important;
    color: #64748b !important;
    transition: transform 0.2s ease !important;
    display: inline-flex !important;
    align-items: center !important;
}

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

.caaf-register-form .caaf-custom-select__menu {
    position: absolute !important;
    top: calc(100% + 4px) !important;
    left: 0 !important;
    right: 0 !important;
    z-index: 99999 !important;
    max-height: 220px !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
    background: #ffffff !important;
    border: 1.5px solid #e2e8f0 !important;
    border-radius: 14px !important;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.12) !important;
    padding: 6px !important;
    box-sizing: border-box !important;
}

.caaf-register-form .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-register-form .caaf-custom-select__item:hover {
    background-color: #FFF7C5 !important;
    color: #15370D !important;
}

.caaf-register-form .caaf-custom-select__item.is-selected {
    background-color: #FFF7C5 !important;
    color: #15370D !important;
    font-weight: 700 !important;
}

.caaf-register-form .caaf-custom-select__item.is-placeholder {
    color: #94a3b8 !important;
    font-weight: 400 !important;
    font-style: normal !important;
    border-bottom: 1px solid #f1f5f9 !important;
    margin-bottom: 2px !important;
}

.caaf-register-form .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-register-form .caaf-custom-select__check {
    flex-shrink: 0 !important;
    color: #15370D !important;
    margin-left: 8px !important;
    display: inline-flex !important;
    align-items: center !important;
}

/* Native select fallback */
.caaf-register-form select,
.caaf-form select,
select[data-caaf-province],
select[data-caaf-branch],
select[data-caaf-barangay] {
    width: 100% !important;
    min-height: 46px !important;
    height: 46px !important;
    border: 1.5px solid #cbd5e1 !important;
    border-radius: 12px !important;
    background-color: #ffffff !important;
    color: #0f172a !important;
    cursor: pointer !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' 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 !important;
    padding: 0 38px 0 14px !important;
    appearance: none !important;
    -webkit-appearance: none !important;
    font-size: 13px !important;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif !important;
    font-weight: 500 !important;
    box-sizing: border-box !important;
    line-height: normal !important;
}

.caaf-register-form select option,
.caaf-form select option,
select[data-caaf-province] option,
select[data-caaf-branch] option,
select[data-caaf-barangay] option {
    font-size: 13px !important;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif !important;
    font-weight: 500 !important;
    line-height: 1.4 !important;
    padding: 8px 12px !important;
    color: #0f172a !important;
    background: #ffffff !important;
}

.caaf-register-form small {
    color: #64748b !important;
    font-size: 11.5px !important;
    font-weight: 500 !important;
    line-height: 1.35 !important;
    margin-top: 2px !important;
}

/* Verified badge & banner */
.caaf-verified-banner {
    display: flex !important;
    align-items: flex-start !important;
    gap: 12px !important;
    padding: 12px 14px !important;
    border-radius: 12px !important;
    background: #f0fdf4 !important;
    border: 1px solid #bbf7d0 !important;
    margin-bottom: 16px !important;
}

.caaf-verified-badge-icon {
    width: 24px !important;
    height: 24px !important;
    min-width: 24px !important;
    border-radius: 50% !important;
    background: #16a34a !important;
    color: #ffffff !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 13px !important;
    font-weight: 800 !important;
}

.caaf-verified-banner__content strong {
    display: block !important;
    font-size: 13.5px !important;
    font-weight: 700 !important;
    color: #166534 !important;
    margin-bottom: 2px !important;
}

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

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

.caaf-input--verified {
    background: #f8fafc !important;
    color: #334155 !important;
    font-weight: 600 !important;
}

/* 6. Pin Delivery Map: 500px Height & Clean Edge-to-Edge inside form */
.caaf-location-picker {
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
    margin: 8px 0 16px !important;
    padding: 0 !important;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

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

.caaf-location-picker__head strong {
    font-size: 14.5px !important;
    font-weight: 800 !important;
    color: #15370D !important;
    display: block !important;
    margin-bottom: 2px !important;
}

.caaf-location-picker__head small {
    font-size: 12px !important;
    color: #64748b !important;
    display: block !important;
    font-weight: 500 !important;
}

.caaf-location-picker__head button {
    min-height: 36px !important;
    height: 36px !important;
    padding: 0 16px !important;
    border: 1px solid rgba(244, 174, 82, 0.45) !important;
    border-radius: 999px !important;
    background: #FFF7C5 !important;
    color: #15370D !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    cursor: pointer !important;
    transition: all 0.15s ease !important;
    white-space: nowrap !important;
    box-shadow: 0 1px 4px rgba(244, 174, 82, 0.15) !important;
    flex-shrink: 0 !important;
}

.caaf-location-picker__head button:hover {
    background: #F4AE52 !important;
    color: #ffffff !important;
    border-color: #F4AE52 !important;
    box-shadow: 0 2px 8px rgba(244, 174, 82, 0.3) !important;
}

.caaf-location-picker__map {
    width: 100% !important;
    min-height: 500px !important;
    height: 500px !important;
    border-radius: 16px !important;
    border: 1.5px solid #cbd5e1 !important;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05) !important;
    overflow: hidden !important;
    background: #e2e8f0 !important;
    box-sizing: border-box !important;
}

.caaf-location-picker__status {
    margin: 0 !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    color: #475569 !important;
}

/* 7. Terms & Conditions: Modern card with clean inline flow */
.caaf-terms-agreement {
    display: flex !important;
    align-items: flex-start !important;
    gap: 12px !important;
    background: #f8fafc !important;
    border: 1.5px solid #e2e8f0 !important;
    border-radius: 14px !important;
    padding: 14px 16px !important;
    margin: 12px 0 20px !important;
    box-sizing: border-box !important;
}

.caaf-terms-agreement input[type="checkbox"] {
    width: 20px !important;
    height: 20px !important;
    min-width: 20px !important;
    min-height: 20px !important;
    margin-top: 2px !important;
    accent-color: #15370D !important;
    cursor: pointer !important;
    border-radius: 6px !important;
    flex-shrink: 0 !important;
}

.caaf-terms-agreement label {
    display: block !important;
    cursor: pointer !important;
    margin: 0 !important;
    padding: 0 !important;
}

.caaf-terms-agreement .caaf-terms-text {
    font-size: 13px !important;
    line-height: 1.55 !important;
    color: #334155 !important;
    font-weight: 500 !important;
    display: inline !important;
}

.caaf-terms-agreement .caaf-terms-text a {
    color: #15370D !important;
    font-weight: 700 !important;
    text-decoration: underline !important;
    text-underline-offset: 2.5px !important;
    transition: color 0.15s ease !important;
    display: inline !important;
}

.caaf-terms-agreement .caaf-terms-text a:hover {
    color: #F4AE52 !important;
}

.caaf-terms-agreement .required {
    color: #ef4444 !important;
    font-weight: 800 !important;
    display: inline !important;
}

/* 8. Register Button Modernization */
.caaf-register-page .caaf-button,
.caaf-register-page .caaf-button--yellow {
    width: 100% !important;
    min-height: 48px !important;
    height: 48px !important;
    border: none !important;
    border-radius: 14px !important;
    background: #F4AE52 !important;
    color: #15370D !important;
    font-size: 15px !important;
    font-weight: 800 !important;
    letter-spacing: 0.3px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    cursor: pointer !important;
    box-shadow: 0 4px 14px rgba(244, 174, 82, 0.35) !important;
    transition: transform 0.15s ease, background 0.15s ease, box-shadow 0.15s ease !important;
    box-sizing: border-box !important;
}

.caaf-register-page .caaf-button:hover,
.caaf-register-page .caaf-button--yellow:hover {
    background: #e59d3e !important;
    color: #15370D !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 6px 18px rgba(244, 174, 82, 0.45) !important;
}

.caaf-register-page .caaf-button:active,
.caaf-register-page .caaf-button--yellow:active {
    transform: scale(0.98) !important;
}

/* 9. Read-Only Locked Mobile Number Field */
.caaf-field-row--mobile {
    margin-bottom: 16px !important;
}

.caaf-field-row--mobile label {
    display: block !important;
    margin-bottom: 6px !important;
}

.caaf-field-row--mobile label > span {
    font-size: 13.5px !important;
    font-weight: 700 !important;
    color: #15370D !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
}

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

.caaf-input--verified {
    background-color: #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: 12px 42px 12px 14px !important;
    width: 100% !important;
    box-sizing: border-box !important;
    user-select: all !important;
    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 !important;
    right: 14px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: #64748b !important;
    pointer-events: none !important;
}

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

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

/* ==========================================================================
   Nayuomi Native Offline / Network Status Banner & In-App Toast
   ========================================================================== */
.nayuomi-net-banner {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 9999999;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: calc(10px + env(safe-area-inset-top, 0px)) 16px 10px;
    pointer-events: none;
    transform: translateY(-120%);
    opacity: 0;
    transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.35s ease;
}

.nayuomi-net-banner.is-visible {
    transform: translateY(0);
    opacity: 1;
    pointer-events: auto;
}

.nayuomi-net-banner__pill {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 10px 18px;
    border-radius: 9999px;
    background: #15370D;
    color: #FFFFFF;
    font-family: -apple-system, BlinkMacSystemFont, "Outfit", "Segoe UI", Roboto, sans-serif;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.3;
    border: 1.5px solid #F4AE52;
    box-shadow: 0 8px 24px rgba(21, 55, 13, 0.35), 0 2px 6px rgba(0, 0, 0, 0.2);
    max-width: 92vw;
    text-align: center;
}

.nayuomi-net-banner__icon {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 20px;
    height: 20px;
}

.nayuomi-net-banner__icon svg {
    width: 100%;
    height: 100%;
}

.nayuomi-net-banner--offline .nayuomi-net-banner__pill {
    background: #15370D;
    border-color: #F4AE52;
    color: #FFFDF8;
}

.nayuomi-net-banner--online .nayuomi-net-banner__pill {
    background: #0E341A;
    border-color: #34D399;
    color: #ECFDF5;
}

.nayuomi-net-toast {
    position: fixed;
    bottom: calc(80px + env(safe-area-inset-bottom, 0px));
    left: 50%;
    transform: translateX(-50%) translateY(20px);
    z-index: 9999998;
    background: rgba(21, 55, 13, 0.95);
    color: #FFFDF8;
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    padding: 10px 20px;
    border-radius: 12px;
    border: 1px solid rgba(244, 174, 82, 0.4);
    font-family: -apple-system, BlinkMacSystemFont, "Outfit", "Segoe UI", Roboto, sans-serif;
    font-size: 13px;
    font-weight: 600;
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.3);
    opacity: 0;
    pointer-events: none;
    transition: transform 0.25s ease, opacity 0.25s ease;
    text-align: center;
    max-width: 88vw;
    white-space: nowrap;
}

.nayuomi-net-toast.is-shown {
    transform: translateX(-50%) translateY(0);
    opacity: 1;
}


/* =========================================================================
   Cart Drawer & Cart Page Branch Badges
   ========================================================================= */
.cas-cart-drawer-store-bar {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 16px;
    background: #f0fdf4;
    border-bottom: 1px solid #dcfce7;
    font-size: 12.5px;
    color: #166534;
}

.cas-cart-drawer-store-bar strong {
    font-weight: 700;
    color: #111827;
}

.cas-cart-page-store-banner {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 16px;
    margin-bottom: 16px;
    background: #f0fdf4;
    border: 1px solid #bbf7d0;
    border-radius: 12px;
    font-size: 13px;
    color: #166534;
}

.cas-cart-page-store-banner strong {
    font-weight: 700;
    color: #111827;
}

/* =========================================================================
   My Wallet Modern Theme Integration
   ========================================================================= */
@import url("wallet.css");

