/* ===== Velana single product — overrides Phlox Woo styles ===== */

/* Two-column layout */
.woocommerce div.product .velana-product-top {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 48px;
    align-items: start;
    margin-bottom: 40px;
}
@media (max-width: 900px) {
    .woocommerce div.product .velana-product-top {
        grid-template-columns: 1fr;
        gap: 24px;
    }
}

/* Kill Phlox floats/widths on gallery + summary */
.woocommerce div.product .velana-product-top div.images,
.woocommerce div.product .velana-product-top .woocommerce-product-gallery,
.woocommerce div.product .velana-product-top div.summary {
    width: 100% !important;
    float: none !important;
    margin: 0 !important;
}

/* Gallery: main image + thumbnail strip (not a stacked list) */
.woocommerce div.product .velana-product-gallery .flex-viewport {
    border-radius: 10px;
    overflow: hidden;
}
.woocommerce div.product .velana-product-gallery ol.flex-control-thumbs {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 8px;
    margin-top: 10px;
    padding: 0;
}
.woocommerce div.product .velana-product-gallery ol.flex-control-thumbs li {
    width: 100% !important;
    float: none !important;
    margin: 0 !important;
}
.woocommerce div.product .velana-product-gallery ol.flex-control-thumbs li img {
    border-radius: 6px;
    opacity: .6;
    transition: opacity .2s;
}
.woocommerce div.product .velana-product-gallery ol.flex-control-thumbs li img.flex-active,
.woocommerce div.product .velana-product-gallery ol.flex-control-thumbs li img:hover {
    opacity: 1;
    outline: 2px solid #C8467E;
}

/* Title & price */
.woocommerce div.product .velana-product-summary .product_title {
    font-size: 30px;
    line-height: 1.25;
    margin: 0 0 10px;
}
.woocommerce div.product .velana-product-summary p.price,
.woocommerce div.product .velana-product-summary span.price {
    font-size: 26px;
    color: #C8467E;
    font-weight: 600;
}

/* Short description */
.woocommerce div.product .velana-product-summary .woocommerce-product-details__short-description {
    font-size: 15px;
    line-height: 1.6;
    color: #444;
    margin: 14px 0 18px;
    padding: 12px 14px;
    background: #fafbfc;
    border: 1px solid #eef1f4;
    border-radius: 8px;
}

/* Variation table + add to cart */
.woocommerce div.product .velana-product-summary table.variations th,
.woocommerce div.product .velana-product-summary table.variations td {
    padding: 6px 0;
    border: none;
}
.woocommerce div.product .velana-product-summary form.cart .button,
.woocommerce div.product .velana-product-summary .single_add_to_cart_button {
    background: #C8467E !important;
    color: #fff !important;
    padding: 14px 34px !important;
    border-radius: 6px !important;
    font-size: 16px !important;
    font-weight: 600;
    text-transform: none;
}
.woocommerce div.product .velana-product-summary .single_add_to_cart_button:hover {
    background: #2E2E33 !important;
}

/* Meta (SKU / categories) */
.woocommerce div.product .velana-product-summary .product_meta {
    margin-top: 16px;
    font-size: 13px;
    color: #777;
}

/* Trust badges */
.woocommerce div.product .velana-trust-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 24px;
    margin: 20px 0 0;
    padding: 14px 16px;
    background: #f4f8fb;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 500;
    color: #2E2E33;
}

/* NDIS note */
.woocommerce div.product .velana-ndis-note {
    margin-top: 14px;
    padding: 14px 16px;
    border-left: 4px solid #C8467E;
    background: #eef6fb;
    font-size: 14px;
    line-height: 1.55;
    border-radius: 0 8px 8px 0;
    color: #223;
}
.woocommerce div.product .velana-ndis-note a { color: #C8467E; text-decoration: underline; }

/* Tabs */
.woocommerce div.product .velana-product-details .woocommerce-tabs { margin-top: 12px; }
.woocommerce div.product .woocommerce-tabs ul.tabs li a { font-size: 15px; }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a { color: #C8467E; }
.woocommerce div.product .woocommerce-tabs .panel h2:first-of-type { display: none; } /* hide duplicate "Description" heading */
.woocommerce div.product .woocommerce-tabs .panel h3 {
    font-size: 19px;
    margin: 26px 0 10px;
    color: #2E2E33;
}

/* Bottom disclaimer */
.woocommerce div.product .velana-disclaimer {
    margin: 32px 0 8px;
    padding: 14px 16px;
    background: #f7f7f7;
    border-radius: 8px;
    font-size: 13px;
    color: #555;
    line-height: 1.55;
}

/* ===== Polish pass 2 ===== */

/* --- Gallery thumbnails: neat 5-col grid, uniform tiles --- */
.woocommerce div.product .velana-product-gallery ol.flex-control-thumbs {
    grid-template-columns: repeat(5, 1fr);
    gap: 10px;
    margin-top: 14px;
}
.woocommerce div.product .velana-product-gallery ol.flex-control-thumbs li img {
    width: 100%;
    aspect-ratio: 1 / 1;
    object-fit: cover;
    border: 1px solid #e6e9ee;
    border-radius: 8px;
    opacity: 1;
    outline: none;
    transition: border-color .2s, box-shadow .2s;
}
.woocommerce div.product .velana-product-gallery ol.flex-control-thumbs li img.flex-active,
.woocommerce div.product .velana-product-gallery ol.flex-control-thumbs li img:hover {
    border-color: #C8467E;
    box-shadow: 0 0 0 2px rgba(26,115,168,.25);
    outline: none;
}
.woocommerce div.product .velana-product-gallery .woocommerce-product-gallery__wrapper {
    border: 1px solid #eef1f4;
    border-radius: 12px;
    overflow: hidden;
    background: #fff;
}

/* --- Variation selector: clean row, no grey table cell --- */
.woocommerce div.product .velana-product-summary table.variations,
.woocommerce div.product .velana-product-summary table.variations tbody,
.woocommerce div.product .velana-product-summary table.variations tr,
.woocommerce div.product .velana-product-summary table.variations th,
.woocommerce div.product .velana-product-summary table.variations td {
    display: block;
    width: 100%;
    background: none !important;
    border: none !important;
    padding: 0 !important;
    margin: 0;
}
.woocommerce div.product .velana-product-summary table.variations th.label {
    font-size: 14px;
    font-weight: 600;
    color: #2E2E33;
    margin: 14px 0 6px;
}
.woocommerce div.product .velana-product-summary table.variations select {
    width: 100%;
    max-width: 420px;
    padding: 12px 40px 12px 14px;
    font-size: 15px;
    border: 1px solid #cfd8e0;
    border-radius: 8px;
    background-color: #fff;
    color: #222;
}
.woocommerce div.product .velana-product-summary table.variations select:focus {
    border-color: #C8467E;
    box-shadow: 0 0 0 3px rgba(26,115,168,.15);
    outline: none;
}
.woocommerce div.product .velana-product-summary .reset_variations {
    font-size: 13px;
    color: #888;
    margin-left: 10px;
}
.woocommerce div.product .velana-product-summary .woocommerce-variation-price .price {
    font-size: 24px;
}
.woocommerce div.product .velana-product-summary .woocommerce-variation-availability .stock {
    font-size: 14px;
    color: #1e8e3e;
}

/* Quantity + add to cart aligned */
.woocommerce div.product .velana-product-summary form.cart .quantity .qty {
    height: 50px;
    width: 74px;
    border: 1px solid #cfd8e0;
    border-radius: 8px;
    font-size: 15px;
    text-align: center;
}
.woocommerce div.product .velana-product-summary form.cart {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px;
}
.woocommerce div.product .velana-product-summary form.cart .variations,
.woocommerce div.product .velana-product-summary form.cart .woocommerce-variation.single_variation,
.woocommerce div.product .velana-product-summary form.cart .single_variation_wrap {
    flex: 1 1 100%;
}

/* --- Tabs: modern pill/underline style --- */
.woocommerce div.product .woocommerce-tabs ul.tabs {
    display: flex;
    gap: 4px;
    padding: 0 !important;
    margin: 0 0 0 0 !important;
    border-bottom: 2px solid #e6e9ee;
    background: none;
}
.woocommerce div.product .woocommerce-tabs ul.tabs::before,
.woocommerce div.product .woocommerce-tabs ul.tabs::after,
.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after {
    display: none !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li {
    background: none !important;
    border: none !important;
    border-radius: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li a {
    display: inline-block;
    padding: 14px 22px !important;
    font-size: 15px;
    font-weight: 600;
    color: #667;
    border-bottom: 3px solid transparent;
    margin-bottom: -2px;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a {
    color: #C8467E;
    border-bottom-color: #C8467E;
    background: none;
}
.woocommerce div.product .woocommerce-tabs .panel {
    padding: 28px 4px 8px;
    font-size: 15px;
    line-height: 1.7;
    color: #333;
    max-width: 900px;
}
.woocommerce div.product .woocommerce-tabs .panel ul {
    padding-left: 22px;
}
.woocommerce div.product .woocommerce-tabs .panel li { margin-bottom: 6px; }

/* Specifications table */
.woocommerce div.product table.woocommerce-product-attributes th,
.woocommerce div.product table.woocommerce-product-attributes td {
    padding: 12px 16px;
    border: 1px solid #eef1f4;
    font-size: 14px;
}
.woocommerce div.product table.woocommerce-product-attributes th {
    background: #f4f8fb;
    color: #2E2E33;
    width: 220px;
}

/* --- Related products grid --- */
.woocommerce div.product .related.products {
    margin-top: 48px;
    padding-top: 32px;
    border-top: 1px solid #eef1f4;
}
.woocommerce div.product .related.products > h2 {
    font-size: 24px;
    color: #2E2E33;
    margin-bottom: 24px;
}
.woocommerce div.product .related.products ul.products {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr);
    gap: 24px;
    margin: 0;
    padding: 0;
}
@media (max-width: 900px) {
    .woocommerce div.product .related.products ul.products { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 560px) {
    .woocommerce div.product .related.products ul.products { grid-template-columns: 1fr; }
}
.woocommerce div.product .related.products ul.products li.product {
    width: 100% !important;
    float: none !important;
    margin: 0 !important;
    padding: 16px;
    border: 1px solid #eef1f4;
    border-radius: 12px;
    background: #fff;
    text-align: center;
    transition: box-shadow .2s, transform .2s;
}
.woocommerce div.product .related.products ul.products li.product:hover {
    box-shadow: 0 6px 24px rgba(20,60,100,.10);
    transform: translateY(-2px);
}
.woocommerce div.product .related.products ul.products li.product img {
    border-radius: 8px;
    margin-bottom: 12px;
}
.woocommerce div.product .related.products ul.products li.product .woocommerce-loop-product__title,
.woocommerce div.product .related.products ul.products li.product h2 {
    font-size: 16px;
    color: #2E2E33;
    padding: 0;
}
.woocommerce div.product .related.products ul.products li.product .price {
    font-size: 15px;
    color: #C8467E;
    font-weight: 600;
    display: block;
    margin: 6px 0 12px;
}
.woocommerce div.product .related.products ul.products li.product .button {
    background: #fff;
    color: #C8467E;
    border: 1.5px solid #C8467E;
    border-radius: 6px;
    padding: 10px 22px;
    font-size: 14px;
    font-weight: 600;
    text-transform: none;
}
.woocommerce div.product .related.products ul.products li.product .button:hover {
    background: #C8467E;
    color: #fff;
}
.woocommerce div.product .related.products ul.products li.product .onsale {
    background: #C8467E;
}

/* ===== Related products: hard grid fix ===== */
.woocommerce div.product .related.products ul.products,
.woocommerce div.product .related.products ul.products.columns-4 {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 24px !important;
}
.woocommerce div.product .related.products ul.products::before,
.woocommerce div.product .related.products ul.products::after {
    display: none !important;
}
.woocommerce div.product .related.products ul.products li.product,
.woocommerce div.product .related.products ul.products li.product.first,
.woocommerce div.product .related.products ul.products li.product.last {
    width: 100% !important;
    max-width: none !important;
    float: none !important;
    clear: none !important;
    margin: 0 !important;
    display: flex;
    flex-direction: column;
}
.woocommerce div.product .related.products ul.products li.product .button {
    margin-top: auto;              /* aligns buttons across cards */
    align-self: center;
}
@media (max-width: 900px) {
    .woocommerce div.product .related.products ul.products {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}
@media (max-width: 560px) {
    .woocommerce div.product .related.products ul.products {
        grid-template-columns: 1fr !important;
    }
}

/* ===== Gallery prev/next arrows ===== */
.woocommerce div.product .velana-product-gallery .flex-direction-nav {
    margin: 0; padding: 0; list-style: none;
}
.woocommerce div.product .velana-product-gallery .flex-direction-nav a {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 10;
    width: 42px;
    height: 42px;
    background: rgba(255,255,255,.92);
    border: 1px solid #e0e5ea;
    border-radius: 50%;
    box-shadow: 0 2px 8px rgba(20,60,100,.12);
    font-size: 0;                 /* hide default text */
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    transition: opacity .2s, background .2s;
}
.woocommerce div.product .velana-product-gallery .woocommerce-product-gallery:hover .flex-direction-nav a {
    opacity: 1;
}
.woocommerce div.product .velana-product-gallery .flex-direction-nav a::before {
    content: "";
    width: 10px;
    height: 10px;
    border-top: 2.5px solid #2E2E33;
    border-right: 2.5px solid #2E2E33;
    display: block;
}
.woocommerce div.product .velana-product-gallery .flex-direction-nav .flex-prev { left: 12px; }
.woocommerce div.product .velana-product-gallery .flex-direction-nav .flex-prev::before {
    transform: rotate(-135deg); margin-left: 4px;
}
.woocommerce div.product .velana-product-gallery .flex-direction-nav .flex-next { right: 12px; }
.woocommerce div.product .velana-product-gallery .flex-direction-nav .flex-next::before {
    transform: rotate(45deg); margin-right: 4px;
}
.woocommerce div.product .velana-product-gallery .flex-direction-nav a:hover {
    background: #5A4AA8;
}
.woocommerce div.product .velana-product-gallery .flex-direction-nav a:hover::before {
    border-color: #fff;
}

/* ============================================
   Velana shop catalogue
   ============================================ */

/* --- Layout: products + sidebar --- */
.woocommerce.archive .aux-shop-container,
.post-type-archive-product #main .aux-container {
    max-width: 1280px;
}

/* --- Toolbar: result count + sorting --- */
.woocommerce .woocommerce-result-count {
    font-size: 14px;
    color: #667;
    margin: 6px 0 24px;
}
.woocommerce .woocommerce-ordering select {
    padding: 10px 36px 10px 14px;
    font-size: 14px;
    border: 1px solid #cfd8e0;
    border-radius: 8px;
    background-color: #fff;
    color: #223;
}
.woocommerce .woocommerce-ordering select:focus {
    border-color: #C8467E;
    box-shadow: 0 0 0 3px rgba(26,115,168,.15);
    outline: none;
}

/* --- Product grid --- */
.woocommerce.archive ul.products,
.post-type-archive-product ul.products,
.tax-product_cat ul.products {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 28px !important;
    margin: 0 0 40px !important;
    padding: 0 !important;
}
.woocommerce.archive ul.products::before,
.woocommerce.archive ul.products::after,
.tax-product_cat ul.products::before,
.tax-product_cat ul.products::after {
    display: none !important;
}
@media (max-width: 900px) {
    .woocommerce.archive ul.products,
    .tax-product_cat ul.products {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 18px !important;
    }
}
@media (max-width: 560px) {
    .woocommerce.archive ul.products,
    .tax-product_cat ul.products {
        grid-template-columns: 1fr !important;
    }
}

/* --- Product cards --- */
.woocommerce.archive ul.products li.product,
.tax-product_cat ul.products li.product {
    width: 100% !important;
    max-width: none !important;
    float: none !important;
    clear: none !important;
    margin: 0 !important;
    padding: 18px;
    border: 1px solid #eef1f4;
    border-radius: 12px;
    background: #fff;
    text-align: center;
    display: flex;
    flex-direction: column;
    position: relative;
    transition: box-shadow .2s, transform .2s;
}
.woocommerce.archive ul.products li.product:hover,
.tax-product_cat ul.products li.product:hover {
    box-shadow: 0 8px 28px rgba(20,60,100,.12);
    transform: translateY(-3px);
}
.woocommerce.archive ul.products li.product img,
.tax-product_cat ul.products li.product img {
    border-radius: 8px;
    margin: 0 0 14px !important;
    width: 100%;
    aspect-ratio: 1 / 1;
    object-fit: contain;
    background: #fff;
}
.woocommerce.archive ul.products li.product .woocommerce-loop-product__title,
.woocommerce.archive ul.products li.product h2,
.tax-product_cat ul.products li.product h2 {
    font-size: 17px;
    font-weight: 600;
    color: #2E2E33;
    padding: 0;
    margin: 0 0 4px;
    line-height: 1.35;
}
.woocommerce.archive ul.products li.product .price,
.tax-product_cat ul.products li.product .price {
    font-size: 15px;
    color: #C8467E;
    font-weight: 600;
    display: block;
    margin: 4px 0 14px;
}
.woocommerce.archive ul.products li.product .price del,
.tax-product_cat ul.products li.product .price del {
    color: #a5aeb8;
    font-weight: 400;
    margin-right: 6px;
}
.woocommerce.archive ul.products li.product .price ins,
.tax-product_cat ul.products li.product .price ins {
    text-decoration: none;
    color: #d23f57;
}
.woocommerce.archive ul.products li.product .button,
.tax-product_cat ul.products li.product .button {
    margin-top: auto;
    align-self: center;
    background: #fff;
    color: #C8467E;
    border: 1.5px solid #C8467E;
    border-radius: 6px;
    padding: 10px 24px;
    font-size: 14px;
    font-weight: 600;
    text-transform: none;
    transition: background .2s, color .2s;
}
.woocommerce.archive ul.products li.product .button:hover,
.tax-product_cat ul.products li.product .button:hover {
    background: #C8467E;
    color: #fff;
}

/* Sale badge */
.woocommerce.archive ul.products li.product .onsale,
.tax-product_cat ul.products li.product .onsale {
    position: absolute;
    top: 14px;
    left: 14px;
    right: auto;
    background: #d23f57;
    color: #fff;
    font-size: 12px;
    font-weight: 700;
    min-width: 0;
    min-height: 0;
    line-height: 1;
    padding: 7px 12px;
    border-radius: 999px;
    z-index: 5;
    margin: 0;
}

/* Pagination */
.woocommerce nav.woocommerce-pagination ul {
    border: none;
    display: flex;
    gap: 8px;
    justify-content: center;
}
.woocommerce nav.woocommerce-pagination ul li {
    border: none;
}
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #e0e5ea;
    border-radius: 8px;
    font-size: 14px;
    color: #2E2E33;
    background: #fff;
}
.woocommerce nav.woocommerce-pagination ul li span.current,
.woocommerce nav.woocommerce-pagination ul li a:hover {
    background: #C8467E;
    border-color: #C8467E;
    color: #fff;
}

/* --- Sidebar widgets --- */
.woocommerce.archive .widget,
.post-type-archive-product .aux-sidebar .widget,
.tax-product_cat .aux-sidebar .widget {
    background: #fff;
    border: 1px solid #eef1f4;
    border-radius: 12px;
    padding: 20px 22px;
    margin-bottom: 22px;
}
.woocommerce.archive .widget .widget-title,
.woocommerce.archive .widget h3,
.tax-product_cat .aux-sidebar .widget h3 {
    font-size: 16px;
    font-weight: 700;
    color: #2E2E33;
    margin: 0 0 14px;
    padding-bottom: 10px;
    border-bottom: 2px solid #eef1f4;
}

/* Category list */
.widget_product_categories ul { margin: 0; padding: 0; list-style: none; }
.widget_product_categories ul li {
    padding: 7px 0;
    font-size: 14.5px;
}
.widget_product_categories ul li a {
    color: #33475b;
    transition: color .15s;
}
.widget_product_categories ul li a:hover,
.widget_product_categories ul li.current-cat > a {
    color: #C8467E;
    font-weight: 600;
}
.widget_product_categories ul li .count {
    color: #98a4b0;
    font-size: 12.5px;
    margin-left: 4px;
}
.widget_product_categories ul ul.children {
    margin: 6px 0 0 14px;
    padding-left: 12px;
    border-left: 2px solid #eef1f4;
}

/* Price filter */
.widget_price_filter .price_slider_wrapper .ui-widget-content,
.widget_price_filter .ui-slider {
    background: #e6ecf1;
    border-radius: 999px;
    height: 6px;
}
.widget_price_filter .ui-slider .ui-slider-range {
    background: #C8467E;
}
.widget_price_filter .ui-slider .ui-slider-handle {
    background: #fff;
    border: 3px solid #C8467E;
    width: 18px;
    height: 18px;
    top: -6px;
    border-radius: 50%;
    box-shadow: 0 1px 4px rgba(20,60,100,.25);
    cursor: pointer;
}
.widget_price_filter .price_slider_amount {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-top: 18px;
    font-size: 13.5px;
    color: #667;
}
.widget_price_filter .price_slider_amount .button {
    background: #C8467E;
    color: #fff;
    border-radius: 6px;
    padding: 9px 20px;
    font-size: 13.5px;
    font-weight: 600;
    border: none;
}
.widget_price_filter .price_slider_amount .button:hover {
    background: #2E2E33;
}

/* ============================================
   Velana cart page
   ============================================ */

/* --- Layout: table left, totals right --- */
.woocommerce-cart .woocommerce {
    display: grid;
    grid-template-columns: minmax(0, 1.7fr) minmax(0, 1fr);
    gap: 36px;
    align-items: start;
}
.woocommerce-cart .woocommerce form.woocommerce-cart-form { grid-column: 1; }
.woocommerce-cart .woocommerce .cart-collaterals {
    grid-column: 2;
    width: 100% !important;
    float: none !important;
}
.woocommerce-cart .woocommerce .woocommerce-notices-wrapper,
.woocommerce-cart .woocommerce > .cross-sells {
    grid-column: 1 / -1;
}
@media (max-width: 900px) {
    .woocommerce-cart .woocommerce { grid-template-columns: 1fr; gap: 24px; }
    .woocommerce-cart .woocommerce .cart-collaterals { grid-column: 1; }
}

/* --- Cart table --- */
.woocommerce-cart table.shop_table {
    border: 1px solid #eef1f4;
    border-radius: 12px;
    border-collapse: separate;
    border-spacing: 0;
    overflow: hidden;
}
.woocommerce-cart table.shop_table th {
    background: #f4f8fb;
    color: #2E2E33;
    font-size: 13.5px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .03em;
    padding: 14px 16px;
    border: none;
}
.woocommerce-cart table.shop_table td {
    padding: 18px 16px;
    border: none;
    border-top: 1px solid #eef1f4;
    font-size: 15px;
    vertical-align: middle;
    background: #fff;
}
.woocommerce-cart table.shop_table td.product-thumbnail img {
    width: 84px;
    height: 84px;
    object-fit: contain;
    border: 1px solid #eef1f4;
    border-radius: 8px;
    background: #fff;
}
.woocommerce-cart table.shop_table td.product-name a {
    color: #2E2E33;
    font-weight: 600;
}
.woocommerce-cart table.shop_table td.product-name .variation {
    font-size: 13px;
    color: #778;
    margin-top: 4px;
}
.woocommerce-cart table.shop_table td.product-price,
.woocommerce-cart table.shop_table td.product-subtotal {
    color: #C8467E;
    font-weight: 600;
}

/* Remove (×) button */
.woocommerce-cart table.shop_table td.product-remove a.remove {
    width: 30px;
    height: 30px;
    line-height: 28px;
    border: 1px solid #e0e5ea;
    border-radius: 50%;
    color: #98a4b0 !important;
    font-size: 18px;
    background: #fff;
    transition: all .2s;
}
.woocommerce-cart table.shop_table td.product-remove a.remove:hover {
    background: #d23f57;
    border-color: #d23f57;
    color: #fff !important;
}

/* Quantity input */
.woocommerce-cart table.shop_table .quantity .qty {
    width: 70px;
    height: 44px;
    border: 1px solid #cfd8e0;
    border-radius: 8px;
    font-size: 15px;
    text-align: center;
}
.woocommerce-cart table.shop_table .quantity .qty:focus {
    border-color: #C8467E;
    box-shadow: 0 0 0 3px rgba(26,115,168,.15);
    outline: none;
}

/* Coupon + update row */
.woocommerce-cart table.shop_table td.actions {
    padding: 16px;
    background: #fafbfc;
}
.woocommerce-cart table.shop_table td.actions .coupon {
    display: flex;
    gap: 10px;
    align-items: center;
}
.woocommerce-cart table.shop_table td.actions .coupon .input-text {
    width: 180px;
    height: 44px;
    padding: 0 14px;
    border: 1px solid #cfd8e0;
    border-radius: 8px;
    font-size: 14px;
}
.woocommerce-cart table.shop_table td.actions .button {
    height: 44px;
    padding: 0 22px;
    background: #fff;
    color: #C8467E;
    border: 1.5px solid #C8467E;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 600;
    text-transform: none;
}
.woocommerce-cart table.shop_table td.actions .button:hover {
    background: #C8467E;
    color: #fff;
}
.woocommerce-cart table.shop_table td.actions .button:disabled,
.woocommerce-cart table.shop_table td.actions .button:disabled:hover {
    background: #f2f4f6;
    color: #a5aeb8;
    border-color: #e0e5ea;
}

/* --- Cart totals box --- */
.woocommerce-cart .cart-collaterals .cart_totals {
    width: 100% !important;
    float: none !important;
    background: #fff;
    border: 1px solid #eef1f4;
    border-radius: 12px;
    padding: 24px;
    position: sticky;
    top: 100px;
}
.woocommerce-cart .cart-collaterals .cart_totals > h2 {
    font-size: 20px;
    color: #2E2E33;
    margin: 0 0 16px;
    padding-bottom: 12px;
    border-bottom: 2px solid #eef1f4;
}
.woocommerce-cart .cart-collaterals .cart_totals table.shop_table {
    border: none;
    border-radius: 0;
}
.woocommerce-cart .cart-collaterals .cart_totals table.shop_table th,
.woocommerce-cart .cart-collaterals .cart_totals table.shop_table td {
    background: none;
    border: none;
    border-bottom: 1px solid #f2f4f6;
    padding: 12px 0;
    font-size: 15px;
    text-transform: none;
    letter-spacing: 0;
}
.woocommerce-cart .cart-collaterals .cart_totals table.shop_table th {
    color: #556;
    font-weight: 600;
}
.woocommerce-cart .cart-collaterals .cart_totals .order-total td,
.woocommerce-cart .cart-collaterals .cart_totals .order-total th {
    font-size: 18px;
    color: #2E2E33;
    border-bottom: none;
    padding-top: 16px;
}
.woocommerce-cart .cart-collaterals .cart_totals .order-total .amount {
    color: #C8467E;
}

/* Proceed to checkout button */
.woocommerce-cart .wc-proceed-to-checkout {
    padding: 8px 0 0;
}
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
    background: #C8467E !important;
    color: #fff !important;
    border-radius: 8px !important;
    padding: 16px 24px !important;
    font-size: 16px !important;
    font-weight: 600;
    text-transform: none;
    width: 100%;
    text-align: center;
    transition: background .2s;
}
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover {
    background: #2E2E33 !important;
}

/* --- Cross-sells --- */
.woocommerce-cart .cross-sells {
    margin-top: 24px;
    padding-top: 28px;
    border-top: 1px solid #eef1f4;
}
.woocommerce-cart .cross-sells > h2 {
    font-size: 22px;
    color: #2E2E33;
    margin-bottom: 20px;
}
.woocommerce-cart .cross-sells ul.products {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 24px !important;
}
@media (max-width: 900px) {
    .woocommerce-cart .cross-sells ul.products { grid-template-columns: repeat(2, 1fr) !important; }
}
/* card styles inherit from the shop selectors if Phlox adds .woocommerce class;
   otherwise mirror them here */
.woocommerce-cart .cross-sells ul.products li.product {
    width: 100% !important;
    float: none !important;
    margin: 0 !important;
    padding: 16px;
    border: 1px solid #eef1f4;
    border-radius: 12px;
    text-align: center;
    display: flex;
    flex-direction: column;
    transition: box-shadow .2s, transform .2s;
}
.woocommerce-cart .cross-sells ul.products li.product:hover {
    box-shadow: 0 6px 24px rgba(20,60,100,.10);
    transform: translateY(-2px);
}
.woocommerce-cart .cross-sells ul.products li.product .button {
    margin-top: auto;
    align-self: center;
    background: #fff;
    color: #C8467E;
    border: 1.5px solid #C8467E;
    border-radius: 6px;
    padding: 9px 20px;
    font-size: 13.5px;
    font-weight: 600;
    text-transform: none;
}
.woocommerce-cart .cross-sells ul.products li.product .button:hover {
    background: #C8467E;
    color: #fff;
}

/* --- Empty cart state --- */
.woocommerce-cart .cart-empty.woocommerce-info {
    background: #f4f8fb;
    border: none;
    border-left: 4px solid #C8467E;
    border-radius: 0 8px 8px 0;
    color: #2E2E33;
    font-size: 16px;
    padding: 18px 20px;
}
.woocommerce-cart .cart-empty.woocommerce-info::before { color: #C8467E; }
.woocommerce-cart .return-to-shop .button {
    background: #C8467E;
    color: #fff;
    border-radius: 8px;
    padding: 14px 28px;
    font-size: 15px;
    font-weight: 600;
    text-transform: none;
}
.woocommerce-cart .return-to-shop .button:hover { background: #2E2E33; }

.velana-cart-trust {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-top: 18px;
    padding-top: 16px;
    border-top: 1px solid #eef1f4;
    font-size: 13.5px;
    color: #556;
}
.velana-cart-trust a { color: #C8467E; text-decoration: underline; }

/* ============================================
   Cart: shipping calculator
   ============================================ */
.woocommerce-cart .shipping-calculator-button {
    color: #C8467E;
    font-weight: 600;
    font-size: 14px;
}
.woocommerce-cart .shipping-calculator-form {
    margin-top: 14px;
    padding: 16px;
    background: #fafbfc;
    border: 1px solid #eef1f4;
    border-radius: 10px;
}
.woocommerce-cart .shipping-calculator-form .form-row {
    margin: 0 0 14px;
    padding: 0;
}
.woocommerce-cart .shipping-calculator-form label {
    display: block;
    font-size: 13px;
    font-weight: 600;
    color: #2E2E33;
    margin-bottom: 6px;
}
.woocommerce-cart .shipping-calculator-form label .required { color: #d23f57; }

/* Text inputs (town, postcode) */
.woocommerce-cart .shipping-calculator-form input.input-text {
    width: 100%;
    height: 44px;
    padding: 0 14px;
    border: 1px solid #cfd8e0;
    border-radius: 8px;
    font-size: 14px;
    background: #fff;
    box-shadow: none;
}
.woocommerce-cart .shipping-calculator-form input.input-text:focus {
    border-color: #C8467E;
    box-shadow: 0 0 0 3px rgba(26,115,168,.15);
    outline: none;
}

/* Plain select fallback */
.woocommerce-cart .shipping-calculator-form select {
    width: 100%;
    height: 44px;
    padding: 0 36px 0 14px;
    border: 1px solid #cfd8e0;
    border-radius: 8px;
    font-size: 14px;
    background-color: #fff;
}

/* Select2 country/state dropdown */
.woocommerce-cart .shipping-calculator-form .select2-container .select2-selection--single {
    height: 44px;
    border: 1px solid #cfd8e0;
    border-radius: 8px;
    background: #fff;
}
.woocommerce-cart .shipping-calculator-form .select2-container .select2-selection--single .select2-selection__rendered {
    line-height: 42px;
    padding-left: 14px;
    font-size: 14px;
    color: #223;
}
.woocommerce-cart .shipping-calculator-form .select2-container .select2-selection--single .select2-selection__arrow {
    height: 42px;
    right: 8px;
}
.woocommerce-cart .shipping-calculator-form .select2-container--focus .select2-selection--single,
.woocommerce-cart .shipping-calculator-form .select2-container--open .select2-selection--single {
    border-color: #C8467E;
    box-shadow: 0 0 0 3px rgba(26,115,168,.15);
}

/* Select2 dropdown panel (renders at body level, so no .woocommerce-cart prefix) */
.select2-dropdown {
    border: 1px solid #cfd8e0;
    border-radius: 8px;
    overflow: hidden;
}
.select2-container--default .select2-results__option--highlighted[aria-selected] {
    background: #C8467E;
}
.select2-search--dropdown .select2-search__field {
    border: 1px solid #cfd8e0 !important;
    border-radius: 6px;
    height: 38px;
    padding: 0 12px;
}

/* Update button */
.woocommerce-cart .shipping-calculator-form .button {
    height: 44px;
    padding: 0 24px;
    background: #C8467E;
    color: #fff;
    border: none;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 600;
    text-transform: none;
}
.woocommerce-cart .shipping-calculator-form .button:hover {
    background: #2E2E33;
}

/* Shipping row text in totals */
.woocommerce-cart .cart-collaterals .woocommerce-shipping-destination {
    font-size: 13.5px;
    color: #667;
}

/* ============================================
   Velana notices — replaces default WP/Woo alerts
   ============================================ */

@keyframes velanaNoticeIn {
    from { opacity: 0; transform: translateY(-6px); }
    to   { opacity: 1; transform: translateY(0); }
}

/* Base card — covers success, info and error notices */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error,
.woocommerce-noreviews,
p.no-comments {
    background: #fff !important;
    border: 1px solid #e6ecf1 !important;
    border-top: none !important;
    border-left: 4px solid #C8467E !important;
    border-radius: 10px !important;
    box-shadow: 0 4px 18px rgba(20,60,100,.08);
    color: #223 !important;
    font-size: 14.5px;
    line-height: 1.55;
    padding: 16px 18px 16px 52px !important;
    margin: 0 0 24px !important;
    position: relative;
    animation: velanaNoticeIn .25s ease-out;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px 14px;
}

/* Kill Woo's default icon and draw our own */
.woocommerce-message::before,
.woocommerce-info::before,
.woocommerce-error::before {
    content: "";
    position: absolute;
    left: 16px;
    top: 50%;
    transform: translateY(-50%);
    width: 22px;
    height: 22px;
    border-radius: 50%;
    background-position: center;
    background-repeat: no-repeat;
    background-size: 12px;
}

/* Success — green accent, tick */
.woocommerce-message {
    border-left-color: #1e8e3e !important;
}
.woocommerce-message::before {
    background-color: #1e8e3e;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E");
}

/* Info — blue accent, i */
.woocommerce-info {
    border-left-color: #C8467E !important;
}
.woocommerce-info::before {
    background-color: #C8467E;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round'%3E%3Cpath d='M12 8h.01M12 12v5'/%3E%3C/svg%3E");
}

/* Error — red accent, ! */
.woocommerce-error {
    border-left-color: #d23f57 !important;
}
.woocommerce-error::before {
    background-color: #d23f57;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round'%3E%3Cpath d='M12 7v6M12 17h.01'/%3E%3C/svg%3E");
}
.woocommerce-error li { margin: 0 !important; }

/* Buttons inside notices (View cart, Undo, etc.) — outlined pill */
.woocommerce-message .button,
.woocommerce-info .button,
.woocommerce-error .button,
.woocommerce-message a.restore-item,
.woocommerce-message .wc-forward {
    order: 2;
    margin-left: auto;
    background: #fff !important;
    color: #C8467E !important;
    border: 1.5px solid #C8467E !important;
    border-radius: 999px !important;
    padding: 8px 18px !important;
    font-size: 13px !important;
    font-weight: 600;
    line-height: 1 !important;
    text-transform: none;
    transition: background .2s, color .2s;
    float: none !important;
}
.woocommerce-message .button:hover,
.woocommerce-message a.restore-item:hover,
.woocommerce-message .wc-forward:hover {
    background: #C8467E !important;
    color: #fff !important;
}

/* Undo link keeps green theme on removal notices */
.woocommerce-message a.restore-item {
    color: #1e8e3e !important;
    border-color: #1e8e3e !important;
}
.woocommerce-message a.restore-item:hover {
    background: #1e8e3e !important;
    color: #fff !important;
}

/* ===== Cart: warranty add-on offer ===== */
.velana-warranty-offer {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-top: 16px;
    padding: 14px 16px;
    background: #f4f8fb;
    border: 1px dashed #9dc3da;
    border-radius: 10px;
}
.velana-warranty-offer__icon {
    font-size: 22px;
    line-height: 1;
}
.velana-warranty-offer__text {
    display: flex;
    flex-direction: column;
    gap: 2px;
    font-size: 13.5px;
    color: #33475b;
    min-width: 0;
}
.velana-warranty-offer__text strong {
    font-size: 14px;
    color: #2E2E33;
}
.velana-warranty-offer__text .amount { color: #C8467E; font-weight: 600; }
.velana-warranty-offer__btn {
    margin-left: auto;
    flex-shrink: 0;
    background: #C8467E;
    color: #fff !important;
    border-radius: 999px;
    padding: 9px 22px;
    font-size: 13.5px;
    font-weight: 600;
    line-height: 1;
    transition: background .2s;
}
.velana-warranty-offer__btn:hover { background: #2E2E33; }

/* ===== NDIS checkout section + cart banner ===== */
.velana-ndis-banner {
    background: #eef6fb;
    border-left: 4px solid #C8467E;
    border-radius: 0 8px 8px 0;
    padding: 14px 18px;
    margin-bottom: 22px;
    font-size: 14px;
    color: #223;
    line-height: 1.55;
    grid-column: 1 / -1;
}
.velana-ndis-section {
    margin-top: 24px;
    padding: 20px 22px;
    background: #f4f8fb;
    border: 1px solid #dbe7ef;
    border-radius: 12px;
}
.velana-ndis-section h3 {
    font-size: 17px;
    color: #2E2E33;
    margin: 0 0 10px;
}
.velana-ndis-intro {
    font-size: 13.5px;
    color: #556;
    margin: 4px 0 14px;
}
.velana-ndis-section .form-row label {
    font-size: 13.5px;
    font-weight: 600;
    color: #2E2E33;
}
.velana-ndis-section input.input-text,
.velana-ndis-section select {
    height: 44px;
    border: 1px solid #cfd8e0;
    border-radius: 8px;
    padding: 0 14px;
    font-size: 14px;
    background: #fff;
}
.velana-ndis-section input.input-text:focus,
.velana-ndis-section select:focus {
    border-color: #C8467E;
    box-shadow: 0 0 0 3px rgba(26,115,168,.15);
    outline: none;
}
.velana-ndis-toggle label { font-size: 15px !important; }

/* ============================================
   Velana checkout — Shopify-style
   ============================================ */

/* Two columns: form left, summary right */
.woocommerce-checkout form.checkout.woocommerce-checkout {
    display: grid;
    grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr);
    gap: 0 48px;
    align-items: start;
    max-width: 1180px;
    margin: 0 auto;
}
.woocommerce-checkout form.checkout #customer_details {
    grid-column: 1;
    grid-row: 1;
    width: 100%;
}
.woocommerce-checkout form.checkout .woocommerce-checkout-payment {
    grid-column: 1;
    grid-row: 2;
}
.woocommerce-checkout form.checkout #order_review_heading,
.woocommerce-checkout form.checkout #order_review {
    grid-column: 2;
}
.woocommerce-checkout form.checkout #order_review_heading { grid-row: 1; }

/* Right column = grey Shopify panel, sticky */
.woocommerce-checkout form.checkout #order_review_heading {
    background: #f4f6f8;
    border: 1px solid #e6ecf1;
    border-bottom: none;
    border-radius: 14px 14px 0 0;
    padding: 22px 26px 0;
    margin: 0;
    font-size: 19px;
    color: #2E2E33;
}
.woocommerce-checkout form.checkout #order_review {
    background: #f4f6f8;
    border: 1px solid #e6ecf1;
    border-top: none;
    border-radius: 0 0 14px 14px;
    padding: 14px 26px 26px;
    position: sticky;
    top: 90px;
    align-self: start;
    grid-row: 2 / 4;
}
@media (max-width: 900px) {
    .woocommerce-checkout form.checkout.woocommerce-checkout {
        grid-template-columns: 1fr;
    }
    /* Shopify mobile order: summary first, then form */
    .woocommerce-checkout form.checkout #order_review_heading { grid-column: 1; grid-row: 1; }
    .woocommerce-checkout form.checkout #order_review { grid-column: 1; grid-row: 2; position: static; margin-bottom: 28px; }
    .woocommerce-checkout form.checkout #customer_details { grid-row: 3; }
    .woocommerce-checkout form.checkout .woocommerce-checkout-payment { grid-row: 4; }
}

/* Left column: kill Woo's 2-col billing/shipping split */
.woocommerce-checkout form.checkout .col2-set {
    width: 100%;
}
.woocommerce-checkout form.checkout .col2-set .col-1,
.woocommerce-checkout form.checkout .col2-set .col-2 {
    width: 100%;
    float: none;
    margin: 0 0 10px;
}
.woocommerce-checkout form.checkout h3 {
    font-size: 19px;
    color: #2E2E33;
    margin: 26px 0 14px;
}

/* Form fields — clean Shopify-style inputs */
.woocommerce-checkout form.checkout .form-row { margin-bottom: 14px; padding: 0; }
.woocommerce-checkout form.checkout .form-row label {
    font-size: 13.5px;
    font-weight: 600;
    color: #33475b;
    margin-bottom: 5px;
}
.woocommerce-checkout form.checkout .input-text,
.woocommerce-checkout form.checkout select,
.woocommerce-checkout form.checkout textarea {
    width: 100%;
    height: 48px;
    padding: 0 14px;
    border: 1px solid #cfd8e0;
    border-radius: 8px;
    font-size: 15px;
    background: #fff;
    box-shadow: none;
}
.woocommerce-checkout form.checkout textarea { height: 96px; padding: 12px 14px; }
.woocommerce-checkout form.checkout .input-text:focus,
.woocommerce-checkout form.checkout select:focus,
.woocommerce-checkout form.checkout textarea:focus {
    border-color: #C8467E;
    box-shadow: 0 0 0 3px rgba(26,115,168,.15);
    outline: none;
}
.woocommerce-checkout form.checkout .select2-container .select2-selection--single {
    height: 48px;
    border: 1px solid #cfd8e0;
    border-radius: 8px;
}
.woocommerce-checkout form.checkout .select2-container .select2-selection--single .select2-selection__rendered {
    line-height: 46px;
    padding-left: 14px;
    font-size: 15px;
}
.woocommerce-checkout form.checkout .select2-container .select2-selection--single .select2-selection__arrow {
    height: 46px; right: 8px;
}

/* Summary: product rows with thumbnails */
.woocommerce-checkout #order_review table.shop_table {
    background: none;
    border: none;
    margin: 0;
}
.woocommerce-checkout #order_review table.shop_table th,
.woocommerce-checkout #order_review table.shop_table td {
    background: none;
    border: none;
    border-bottom: 1px solid #e6ecf1;
    padding: 12px 0;
    font-size: 14.5px;
    vertical-align: middle;
}
.woocommerce-checkout #order_review .cart_item td.product-name {
    display: flex;
    align-items: center;
    gap: 14px;
    color: #2E2E33;
    font-weight: 500;
}
.velana-sum-thumb {
    position: relative;
    flex-shrink: 0;
    display: inline-block;
}
.velana-sum-thumb img {
    width: 60px;
    height: 60px;
    object-fit: contain;
    background: #fff;
    border: 1px solid #e0e5ea;
    border-radius: 8px;
    display: block;
}
.velana-sum-qty {
    position: absolute;
    top: -7px;
    right: -7px;
    min-width: 21px;
    height: 21px;
    padding: 0 5px;
    background: #C8467E;
    color: #fff;
    font-size: 11.5px;
    font-weight: 700;
    border-radius: 999px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.velana-sum-name { line-height: 1.4; }
.velana-sum-name .variation {
    font-size: 12.5px;
    color: #778;
    margin: 2px 0 0;
}
.woocommerce-checkout #order_review td.product-total {
    text-align: right;
    color: #2E2E33;
    font-weight: 600;
    white-space: nowrap;
}

/* Totals rows */
.woocommerce-checkout #order_review tfoot th {
    font-weight: 600;
    color: #556;
    text-transform: none;
}
.woocommerce-checkout #order_review tfoot td { text-align: right; }
.woocommerce-checkout #order_review tr.order-total th,
.woocommerce-checkout #order_review tr.order-total td {
    font-size: 18px;
    color: #2E2E33;
    border-bottom: none;
    padding-top: 16px;
}
.woocommerce-checkout #order_review tr.order-total .amount { color: #C8467E; }

/* Shipping methods in summary */
.woocommerce-checkout #order_review ul#shipping_method { list-style: none; margin: 0; padding: 0; }
.woocommerce-checkout #order_review ul#shipping_method li { margin: 4px 0; }
.woocommerce-checkout #order_review ul#shipping_method label { font-size: 14px; color: #33475b; }

/* Payment section — left column card */
.woocommerce-checkout .woocommerce-checkout-payment {
    background: #fff !important;
    border: 1px solid #e6ecf1;
    border-radius: 14px;
    margin-top: 28px;
}
.woocommerce-checkout .woocommerce-checkout-payment ul.payment_methods {
    border-bottom: 1px solid #eef1f4 !important;
    padding: 8px 0;
}
.woocommerce-checkout .woocommerce-checkout-payment ul.payment_methods li {
    padding: 12px 20px;
    border-bottom: 1px solid #f2f4f6;
}
.woocommerce-checkout .woocommerce-checkout-payment ul.payment_methods li:last-child { border-bottom: none; }
.woocommerce-checkout .woocommerce-checkout-payment ul.payment_methods label {
    font-size: 15px;
    font-weight: 600;
    color: #2E2E33;
}
.woocommerce-checkout .woocommerce-checkout-payment div.payment_box {
    background: #f4f8fb !important;
    border-radius: 8px;
    font-size: 13.5px;
    color: #445;
    margin-top: 10px;
}
.woocommerce-checkout .woocommerce-checkout-payment div.payment_box::before { display: none; }

/* Place order button — full-width Shopify style */
.woocommerce-checkout #place_order {
    width: 100%;
    background: #C8467E !important;
    color: #fff !important;
    border-radius: 10px !important;
    padding: 18px !important;
    font-size: 17px !important;
    font-weight: 700;
    text-transform: none;
    transition: background .2s;
}
.woocommerce-checkout #place_order:hover { background: #2E2E33 !important; }

/* Login / coupon toggles — quieter */
.woocommerce-checkout .woocommerce-form-login-toggle .woocommerce-info,
.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info {
    box-shadow: none;
    margin-bottom: 14px !important;
}

/* NDIS section inherits checkout width — already styled */
.woocommerce-checkout .velana-ndis-section { margin-top: 20px; }

/* ============================================
   Checkout: JS-wrapped two-column layout
   ============================================ */
.woocommerce-checkout form.checkout.woocommerce-checkout {
    display: flex !important;
    gap: 48px;
    align-items: flex-start;
    max-width: 1180px;
    margin: 0 auto;
}
.velana-co-left  { flex: 1.25; min-width: 0; }
.velana-co-right { flex: 1;    min-width: 0; position: sticky; top: 90px; }

/* Right column = grey Shopify panel */
.velana-co-right #order_review_heading {
    background: #f4f6f8;
    border: 1px solid #e6ecf1;
    border-bottom: none;
    border-radius: 14px 14px 0 0;
    padding: 22px 26px 0;
    margin: 0;
    font-size: 19px;
    color: #2E2E33;
}
.velana-co-right #order_review {
    background: #f4f6f8;
    border: 1px solid #e6ecf1;
    border-top: none;
    border-radius: 0 0 14px 14px;
    padding: 14px 26px 26px;
}

/* Mobile: summary first, then form */
@media (max-width: 900px) {
    .woocommerce-checkout form.checkout.woocommerce-checkout {
        flex-direction: column;
        gap: 28px;
    }
    .velana-co-right { position: static; order: -1; width: 100%; }
    .velana-co-left  { width: 100%; }
}

/* ===== NDIS section: mobile + date inputs + validation ===== */

/* Date inputs — consistent with text fields, fix iOS rendering */
.velana-ndis-section input[type="date"] {
    height: 44px;
    width: 100%;
    padding: 0 14px;
    border: 1px solid #cfd8e0;
    border-radius: 8px;
    font-size: 14px;
    background: #fff;
    text-align: left;
    -webkit-appearance: none;
    appearance: none;
    color: #223;
}
.velana-ndis-section input[type="date"]:focus {
    border-color: #C8467E;
    box-shadow: 0 0 0 3px rgba(26,115,168,.15);
    outline: none;
}

/* Neutralise Woo's green/red validation borders in the NDIS box —
   keep our neutral border, show only a subtle red on invalid */
.velana-ndis-section .woocommerce-validated input.input-text,
.velana-ndis-section .woocommerce-validated select,
.velana-ndis-section .woocommerce-validated input[type="date"] {
    border-color: #cfd8e0;
}
.velana-ndis-section .woocommerce-invalid input.input-text,
.velana-ndis-section .woocommerce-invalid select,
.velana-ndis-section .woocommerce-invalid input[type="date"] {
    border-color: #d23f57;
}

/* Side-by-side rows: proper halves on desktop, stack on mobile */
.velana-ndis-section .form-row-first,
.velana-ndis-section .form-row-last {
    width: 48.5%;
    float: left;
}
.velana-ndis-section .form-row-last { float: right; }
.velana-ndis-section::after,
.velana-ndis-pm-fields::after {
    content: "";
    display: table;
    clear: both;
}
@media (max-width: 768px) {
    .velana-ndis-section .form-row-first,
    .velana-ndis-section .form-row-last {
        width: 100%;
        float: none;
    }
}

/* Tidy the labels: hide every "(optional)" inside the NDIS box —
   the intro text already says we'll confirm details */
.velana-ndis-section label .optional { display: none; }

/* Checkbox label wrap on small screens */
.velana-ndis-toggle label {
    display: inline-flex !important;
    align-items: flex-start;
    gap: 8px;
    line-height: 1.4;
}

/* ===== Card payment: style the wrapper around gateway iframes ===== */
.woocommerce-checkout .payment_box fieldset,
.woocommerce-checkout .payment_box .wc-payment-form,
.woocommerce-checkout .payment_box .wc-credit-card-form {
    background: #fff;
    border: 1px solid #e0e5ea;
    border-radius: 10px;
    padding: 18px;
    margin: 4px 0 0;
}
.woocommerce-checkout .payment_box label {
    font-size: 13.5px;
    font-weight: 600;
    color: #33475b;
}
/* Non-iframe fallback inputs some gateways render */
.woocommerce-checkout .payment_box .input-text,
.woocommerce-checkout .payment_box input[type="text"],
.woocommerce-checkout .payment_box input[type="tel"] {
    height: 44px;
    border: 1px solid #cfd8e0;
    border-radius: 8px;
    padding: 0 14px;
    font-size: 14px;
    width: 100%;
    background: #fff;
}
/* Iframe containers (Stripe/WooPayments render into these) */
.woocommerce-checkout .payment_box .wc-stripe-elements-field,
.woocommerce-checkout .payment_box .wcpay-upe-element,
.woocommerce-checkout .payment_box iframe {
    border-radius: 8px;
}
/* "Save payment information" checkbox row */
.woocommerce-checkout .payment_box .woocommerce-SavedPaymentMethods-saveNew {
    margin-top: 12px;
    font-size: 13.5px;
    color: #556;
}

/* ===== Checkout: no flex until JS has wrapped the columns (kills FOUC) ===== */
.woocommerce-checkout form.checkout.woocommerce-checkout:not(.velana-co-ready) {
    display: block !important;
}

/* ===== Checkout: coupon toggle + form ===== */
.woocommerce-checkout .woocommerce-form-coupon-toggle,
.woocommerce-checkout form.checkout_coupon.woocommerce-form-coupon {
    max-width: 1180px;
    margin-left: auto;
    margin-right: auto;
}
.woocommerce-checkout form.checkout_coupon.woocommerce-form-coupon {
    border: 1px solid #e6ecf1;
    border-radius: 12px;
    padding: 20px;
    margin-bottom: 24px;
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    align-items: center;
}
.woocommerce-checkout form.checkout_coupon p { margin: 0; }
.woocommerce-checkout form.checkout_coupon .form-row-first { flex: 1; min-width: 220px; }
.woocommerce-checkout form.checkout_coupon .input-text {
    height: 46px;
    border: 1px solid #cfd8e0;
    border-radius: 8px;
    padding: 0 14px;
    font-size: 14px;
    width: 100%;
}
.woocommerce-checkout form.checkout_coupon button {
    height: 46px;
    padding: 0 26px;
    background: #fff;
    color: #C8467E;
    border: 1.5px solid #C8467E;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 600;
    text-transform: none;
}
.woocommerce-checkout form.checkout_coupon button:hover {
    background: #C8467E;
    color: #fff;
}
@media (max-width: 900px) {
    .woocommerce-checkout .woocommerce-form-coupon-toggle,
    .woocommerce-checkout form.checkout_coupon.woocommerce-form-coupon { margin-left: 0; margin-right: 0; }
}

/* ===== Alignment: NDIS checkbox + payment method radios ===== */

/* NDIS toggle: checkbox and text on one baseline */
.velana-ndis-section .velana-ndis-toggle {
    display: block;
    margin-bottom: 6px;
}
.velana-ndis-toggle label.checkbox {
    display: flex !important;
    flex-direction: row;
    align-items: center;
    gap: 10px;
    margin: 0;
    cursor: pointer;
    font-size: 15px !important;
    line-height: 1.4;
}
.velana-ndis-toggle input[type="checkbox"] {
    width: 18px;
    height: 18px;
    margin: 0 !important;
    flex-shrink: 0;
    accent-color: #C8467E;
    position: static !important;
}

/* Payment methods: radio + label + icon on one row */
.woocommerce-checkout .woocommerce-checkout-payment ul.payment_methods li {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
}
.woocommerce-checkout .woocommerce-checkout-payment ul.payment_methods li input[type="radio"] {
    width: 18px;
    height: 18px;
    margin: 0 !important;
    flex-shrink: 0;
    accent-color: #C8467E;
    position: static !important;
    float: none !important;
}
.woocommerce-checkout .woocommerce-checkout-payment ul.payment_methods li label {
    display: inline-flex !important;
    align-items: center;
    gap: 10px;
    margin: 0 !important;
    padding: 0 !important;
    cursor: pointer;
    flex: 1;
    min-width: 0;
    float: none !important;
    width: auto !important;
}
.woocommerce-checkout .woocommerce-checkout-payment ul.payment_methods li label img {
    margin: 0 0 0 auto;   /* card/afterpay icons push to the right */
    max-height: 26px;
    width: auto;
}
/* The payment_box (card iframe, gateway description) takes the full row below */
.woocommerce-checkout .woocommerce-checkout-payment ul.payment_methods li .payment_box {
    flex-basis: 100%;
    order: 3;
}

/* ===== Empty cart: centred state ===== */
.woocommerce-cart .woocommerce:has(.cart-empty),
.woocommerce-cart .woocommerce:not(:has(.woocommerce-cart-form)) {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    min-height: 320px;
    gap: 18px;
}
.woocommerce-cart .cart-empty.woocommerce-info {
    max-width: 520px;
    width: 100%;
    justify-content: center;
    margin: 0 !important;
}
.woocommerce-cart .return-to-shop {
    margin: 0;
}
.woocommerce-cart .return-to-shop .button {
    background: #C8467E !important;
    color: #fff !important;
    border-radius: 8px;
    padding: 14px 32px;
    font-size: 15px;
    font-weight: 600;
    text-transform: none;
}
.woocommerce-cart .return-to-shop .button:hover { background: #2E2E33 !important; }

/* ============================================
   Order confirmation (thank you) page
   ============================================ */
.velana-ty-wrap {
    max-width: 860px;
    margin: 0 auto;
}

/* Green success check */
.velana-ty-check {
    width: 64px;
    height: 64px;
    margin: 8px auto 18px;
    border-radius: 50%;
    background: #e7f4ea;
    color: #1e8e3e;
    display: flex;
    align-items: center;
    justify-content: center;
}
.velana-ty-check svg { width: 30px; height: 30px; }

/* Headline + sub message */
.woocommerce-order .woocommerce-thankyou-order-received {
    text-align: center;
    margin: 0 0 28px;
}
.velana-ty-head {
    display: block;
    font-size: 27px;
    font-weight: 700;
    color: #C8467E;
    margin-bottom: 10px;
}
.velana-ty-sub {
    display: block;
    font-size: 15.5px;
    line-height: 1.6;
    color: #556;
    max-width: 620px;
    margin: 0 auto;
}

/* Order meta strip (number / date / email / total / payment) */
.woocommerce-order ul.woocommerce-thankyou-order-details {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    justify-content: center;
    list-style: none;
    margin: 0 0 32px;
    padding: 0;
}
.woocommerce-order ul.woocommerce-thankyou-order-details li {
    flex: 1 1 150px;
    max-width: 220px;
    background: #f4f8fb;
    border: 1px solid #e1eaf1;
    border-radius: 10px;
    padding: 14px 16px;
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: .04em;
    color: #667;
    border-right: 1px solid #e1eaf1 !important; /* undo Woo's divider style */
    margin: 0 !important;
}
.woocommerce-order ul.woocommerce-thankyou-order-details li strong {
    display: block;
    font-size: 15.5px;
    text-transform: none;
    letter-spacing: 0;
    color: #C8467E;
    margin-top: 5px;
}

/* Order details card */
.woocommerce-order .woocommerce-order-details,
.woocommerce-order .woocommerce-customer-details {
    background: #fff;
    border: 1px solid #eef1f4;
    border-radius: 12px;
    padding: 24px 26px;
    margin-bottom: 24px;
}
.woocommerce-order .woocommerce-order-details__title,
.woocommerce-order .woocommerce-customer-details h2 {
    font-size: 19px;
    color: #C8467E;
    margin: 0 0 16px;
}
.woocommerce-order table.order_details {
    border: none;
    margin: 0;
}
.woocommerce-order table.order_details th,
.woocommerce-order table.order_details td {
    border: none;
    border-bottom: 1px solid #f2f4f6;
    padding: 12px 0;
    font-size: 14.5px;
}
.woocommerce-order table.order_details thead th {
    color: #667;
    font-size: 12.5px;
    text-transform: uppercase;
    letter-spacing: .04em;
}
.woocommerce-order table.order_details tfoot th {
    color: #556;
    font-weight: 600;
}
.woocommerce-order table.order_details tfoot td { text-align: right; }
.woocommerce-order table.order_details tfoot tr:last-child th,
.woocommerce-order table.order_details tfoot tr:last-child td {
    font-size: 17px;
    color: #C8467E;
    border-bottom: none;
    padding-top: 14px;
}
.woocommerce-order table.order_details tfoot tr:last-child .amount { color: #C8467E; }

/* Addresses side by side */
.woocommerce-order .woocommerce-columns--addresses {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 24px;
}
.woocommerce-order .woocommerce-columns--addresses .woocommerce-column {
    width: 100%;
    float: none;
}
.woocommerce-order .woocommerce-columns--addresses h2 {
    font-size: 16px;
    color: #C8467E;
    margin: 0 0 10px;
}
.woocommerce-order address {
    font-style: normal;
    font-size: 14.5px;
    line-height: 1.7;
    color: #445;
    border: none;
    padding: 0;
}
@media (max-width: 700px) {
    .woocommerce-order .woocommerce-columns--addresses { grid-template-columns: 1fr; }
    .woocommerce-order ul.woocommerce-thankyou-order-details li { max-width: none; }
}

/* Help strip */
.velana-ty-help {
    background: #eef6fb;
    border-left: 4px solid #C8467E;
    border-radius: 0 10px 10px 0;
    padding: 16px 20px;
    font-size: 14.5px;
    line-height: 1.6;
    color: #223;
    margin: 4px 0 24px;
}
.velana-ty-help a { color: #C8467E; text-decoration: underline; font-weight: 600; }

/* ===== Thank-you page: force address columns side by side ===== */
.woocommerce-order .woocommerce-customer-details .col2-set,
.woocommerce-order section.woocommerce-customer-details > .col2-set {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px;
    width: 100%;
}
.woocommerce-order .woocommerce-customer-details .col2-set .col-1,
.woocommerce-order .woocommerce-customer-details .col2-set .col-2 {
    width: 100% !important;
    max-width: none !important;
    float: none !important;
    margin: 0 !important;
    padding: 0 !important;
}
.woocommerce-order .woocommerce-customer-details address {
    border: 1px solid #eef1f4 !important;
    border-radius: 10px;
    padding: 16px 18px !important;
    height: 100%;
}
.woocommerce-order .woocommerce-customer-details address .woocommerce-customer-details--phone,
.woocommerce-order .woocommerce-customer-details address .woocommerce-customer-details--email {
    margin-top: 8px;
}
@media (max-width: 700px) {
    .woocommerce-order .woocommerce-customer-details .col2-set {
        grid-template-columns: 1fr;
    }
}

/* Fallback: any two-address layout inside the thank-you wrap */
.velana-ty-wrap .woocommerce-customer-details > *:not(h2):not(.woocommerce-column__title) {
    float: none !important;
}
.velana-ty-wrap .woocommerce-customer-details [class*="col2"],
.velana-ty-wrap .woocommerce-customer-details [class*="columns"] {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 24px !important;
}
.velana-ty-wrap .woocommerce-customer-details [class*="col-1"],
.velana-ty-wrap .woocommerce-customer-details [class*="col-2"],
.velana-ty-wrap .woocommerce-customer-details [class*="column"] {
    width: 100% !important;
    max-width: none !important;
    float: none !important;
    margin: 0 !important;
}
@media (max-width: 700px) {
    .velana-ty-wrap .woocommerce-customer-details [class*="col2"],
    .velana-ty-wrap .woocommerce-customer-details [class*="columns"] {
        grid-template-columns: 1fr !important;
    }
}

/* ===== Thank-you addresses: kill clearfix ghosts + pin cells ===== */
.woocommerce-order .woocommerce-customer-details .col2-set::before,
.woocommerce-order .woocommerce-customer-details .col2-set::after,
.velana-ty-wrap .woocommerce-customer-details [class*="col2"]::before,
.velana-ty-wrap .woocommerce-customer-details [class*="col2"]::after,
.velana-ty-wrap .woocommerce-customer-details [class*="columns"]::before,
.velana-ty-wrap .woocommerce-customer-details [class*="columns"]::after {
    display: none !important;
    content: none !important;
}

/* Belt and braces: pin each address to its cell explicitly */
.woocommerce-order .woocommerce-customer-details .col-1,
.velana-ty-wrap .woocommerce-customer-details [class*="col-1"],
.velana-ty-wrap .woocommerce-customer-details [class*="column--1"] {
    grid-column: 1 !important;
    grid-row: 1 !important;
}
.woocommerce-order .woocommerce-customer-details .col-2,
.velana-ty-wrap .woocommerce-customer-details [class*="col-2"],
.velana-ty-wrap .woocommerce-customer-details [class*="column--2"] {
    grid-column: 2 !important;
    grid-row: 1 !important;
}
@media (max-width: 700px) {
    .woocommerce-order .woocommerce-customer-details .col-1,
    .woocommerce-order .woocommerce-customer-details .col-2,
    .velana-ty-wrap .woocommerce-customer-details [class*="col-1"],
    .velana-ty-wrap .woocommerce-customer-details [class*="col-2"] {
        grid-column: 1 !important;
    }
    .woocommerce-order .woocommerce-customer-details .col-2,
    .velana-ty-wrap .woocommerce-customer-details [class*="col-2"] {
        grid-row: 2 !important;
    }
}

/* ============================================
   Frequently Bought Together
   ============================================ */
.velana-fbt {
    margin: 26px 0 6px;
    padding: 20px 22px;
    background: #fafbfc;
    border: 1px solid #e6ecf1;
    border-radius: 12px;
}
.velana-fbt__title {
    font-size: 17px;
    color: #C8467E;
    margin: 0 0 14px;
}
.velana-fbt__thumbs {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
    margin-bottom: 16px;
}
.velana-fbt__thumb {
    flex-shrink: 0;
}
.velana-fbt__thumb img {
    width: 62px;
    height: 62px;
    object-fit: contain;
    background: #fff;
    border: 1px solid #e0e5ea;
    border-radius: 8px;
    display: block;
    transition: border-color .2s, opacity .2s;
    opacity: .55;
}
.velana-fbt__thumb--main img,
.velana-fbt__thumb.is-selected img {
    opacity: 1;
}
.velana-fbt__thumb.is-selected img {
    border-color: #C8467E;
    box-shadow: 0 0 0 2px rgba(26,115,168,.2);
}
.velana-fbt__plus {
    color: #98a4b0;
    font-size: 16px;
    font-weight: 600;
}
.velana-fbt__list {
    list-style: none;
    margin: 0 0 14px;
    padding: 0;
}
.velana-fbt__list li {
    border-bottom: 1px solid #eef1f4;
}
.velana-fbt__list li:last-child { border-bottom: none; }
.velana-fbt__list label {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 9px 0;
    margin: 0;
    cursor: pointer;
    font-size: 14px;
}
.velana-fbt__check {
    width: 17px;
    height: 17px;
    margin: 0 !important;
    flex-shrink: 0;
    accent-color: #C8467E;
    position: static !important;
}
.velana-fbt__name { flex: 1; min-width: 0; }
.velana-fbt__name a { color: #33475b; }
.velana-fbt__name a:hover { color: #C8467E; }
.velana-fbt__price { color: #C8467E; font-weight: 600; white-space: nowrap; }
.velana-fbt__price del { color: #a5aeb8; font-weight: 400; margin-right: 5px; }
.velana-fbt__price ins { text-decoration: none; }
.velana-fbt__footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    flex-wrap: wrap;
}
.velana-fbt__total { font-size: 14px; color: #556; }
.velana-fbt__total strong { color: #C8467E; }
.velana-fbt__add {
    background: #fff !important;
    color: #C8467E !important;
    border: 1.5px solid #C8467E !important;
    border-radius: 8px !important;
    padding: 11px 26px !important;
    font-size: 14px !important;
    font-weight: 600;
    text-transform: none;
    cursor: pointer;
}
.velana-fbt__add:hover:not(:disabled) {
    background: #C8467E !important;
    color: #fff !important;
}
.velana-fbt__add:disabled {
    opacity: .45;
    cursor: not-allowed;
}

/* FBT v2 */
.velana-fbt__qty { color: #98a4b0; font-size: 13px; flex-shrink: 0; }
.velana-fbt__totals {
    border-top: 1px solid #e6ecf1;
    padding-top: 12px;
    font-size: 14px;
    color: #556;
}
.velana-fbt__row { margin: 4px 0; }
.velana-fbt__row strong { color: #C8467E; }
.velana-fbt__row--total { font-size: 15px; }
.velana-fbt__row--total strong { color: #C8467E; }
@media (max-width: 768px) {
    .velana-fbt__thumbs { overflow-x: auto; flex-wrap: nowrap; padding-bottom: 6px; }
}

/* ===== Product reviews: gold stars + Velana link ===== */
.woocommerce div.product .velana-product-summary .star-rating,
.woocommerce div.product .star-rating,
.woocommerce ul.products li.product .star-rating,
#reviews .star-rating,
.woocommerce p.stars a {
    color: #f5a623 !important;   /* gold */
}
.woocommerce div.product .velana-product-summary .star-rating::before,
.woocommerce div.product .star-rating::before {
    color: #e6d9c3;              /* soft gold for the empty-star track */
}
.woocommerce div.product .velana-product-summary .woocommerce-review-link {
    color: #1a73a8;
    font-size: 14.5px;
    text-decoration: none;
}
.woocommerce div.product .velana-product-summary .woocommerce-review-link:hover {
    text-decoration: underline;
}

/* ===== Stars: target the actual fill elements ===== */
body.woocommerce div.product .star-rating span::before,
body div.product .star-rating span::before,
body .woocommerce .star-rating span::before,
body #reviews .star-rating span::before,
body .woocommerce ul.products li.product .star-rating span::before {
    color: #f5a623 !important;   /* filled stars */
}
body.woocommerce div.product .star-rating::before,
body div.product .star-rating::before,
body .woocommerce .star-rating::before {
    color: #e6d9c3 !important;   /* empty track */
}
/* review form clickable stars */
body .woocommerce p.stars a::before,
body .woocommerce p.stars a:hover ~ a::before {
    color: #f5a623 !important;
}
/* review link next to stars */
body.woocommerce div.product a.woocommerce-review-link,
body div.product .woocommerce-product-rating a.woocommerce-review-link {
    color: #1a73a8 !important;
}

/* ===== Phlox star ratings (aux markup) ===== */
/* filled stars */
.aux-star-rating .aux-star-rating-avg::before,
.aux-star-rating-avg::before,
.aux-star-rating .aux-star-rating-avg,
.aux-star-rating-avg {
    color: #f5a623 !important;
}
/* empty star track (the parent draws the grey stars underneath) */
.aux-star-rating,
.aux-star-rating::before {
    color: #e6d9c3 !important;
}
/* review count link beside the stars */
.aux-star-rating + a,
.woocommerce-product-rating a.woocommerce-review-link,
div.product a.woocommerce-review-link {
    color: #1a73a8 !important;
    text-decoration: none;
}
div.product a.woocommerce-review-link:hover {
    text-decoration: underline;
}
