/* ===== RESPONSIVE PRODUCT CARD STYLES ===== */
/* This file provides comprehensive responsive styling for plant product cards */
/* Color variables are defined in lay_responsive.cfm under :root as:
   --primary, --secondary, --tertiary, --quaternary and font variables. */

/* Mobile-first card layout */
@media (max-width: 767px) {
    /* Card container adjustments */
    .col-sm-6.col-lg-4,
    .col-lg-3.col-md-4.col-sm-6.col-12 {
        width: 100% !important;
        margin-bottom: 20px;
    }
    
    /* Product card styling */
    .product {
        background: #ffffff;
        border: 1px solid #dee2e6;
        border-radius: 12px;
        padding: 15px;
        box-shadow: 0 2px 8px rgba(0,0,0,0.1);
        transition: all 0.3s ease;
        margin-bottom: 0;
    }
    
    .product:nth-child(even) {
        background: #f8f9fa;
    }
    
    .product:hover {
        box-shadow: 0 4px 16px rgba(0,0,0,0.15);
        transform: translateY(-2px);
    }
    
    /* Product image container */
    .product-thumb-info {
        position: relative;
        margin-bottom: 16px;
        border-radius: 8px;
        overflow: hidden;
    }
    
    .product-thumb-info-image {
        width: 100%;
        height: 200px;
        object-fit: cover;
        border-radius: 8px;
    }
    
    /* Badge positioning */
    .product-thumb-info-badges-wrapper {
        position: absolute;
        top: 12px;
        left: 12px;
        z-index: 10;
    }
    
    .badge {
        font-size: 11px;
        padding: 6px 10px;
        border-radius: 20px;
        font-weight: 600;
        text-transform: uppercase;
        letter-spacing: 0.5px;
        margin-bottom: 4px;
        display: inline-block;
    }
    
    .badge-ecommerce.badge-success {
        background: #28a745;
        color: white;
    }
    
    .badge-ecommerce.badge-danger {
        background: #dc3545;
        color: white;
    }
    
    /* Add to cart button */
    .addtocart-btn-wrapper {
        position: absolute;
        top: 12px;
        right: 12px;
        z-index: 10;
    }
    
    .addtocart-btn {
        background: var(--primary);
        color: white;
        width: 40px;
        height: 40px;
        border-radius: 50%;
        display: flex;
        align-items: center;
        justify-content: center;
        transition: all 0.3s ease;
        text-decoration: none;
        text-align: center;
    }
    
    .addtocart-btn:hover {
        background: var(--tertiary);
        transform: scale(1.1);
        color: white;
        text-decoration: none;
    }
    
    /* Product information layout */
    .product .d-flex.justify-content-between {
        flex-direction: column;
        gap: 14px;
        text-align: left !important;
    }
    
    /* Product names */
    .product h3 {
        font-size: 20px !important;
        line-height: 1.5 !important;
        margin-bottom: 14px !important;
        text-align: left !important;
    }
    
    .product h3 a {
        color: var(--primary) !important;
        text-decoration: underline !important;
        font-weight: 600 !important;
    }
    
    .product h3 a:hover {
        color: var(--primary) !important;
        opacity: 0.8;
    }
    
    /* Secondary name */
    .product .text-uppercase {
        font-size: 14px !important;
        color: var(--secondary) !important;
        margin-bottom: 6px !important;
        text-align: left !important;
    }
    
    /* Product details */
    .product div[style*="font-size:90%"] {
        font-size: 12px !important;
        color: var(--tertiary) !important;
        margin-top: 4px !important;
        text-align: left !important;
    }
    
    /* Action buttons */
    .product .btn {
        width: 30% !important;
        padding: 12px 20px !important;
        font-size: 14px !important;
        font-weight: 600 !important;
        border-radius: 8px !important;
        text-transform: uppercase !important;
        letter-spacing: 0.5px !important;
        transition: all 0.3s ease !important;
    }
    
    .product .btn-light {
        background: var(--primary) !important;
        color: white !important;
        border: none !important;
        text-align: center !important;
    }
    
    .product .btn-light:hover {
        background: var(--tertiary) !important;
        transform: translateY(-1px) !important;
    }
    
    /* Product modern layout adjustments */
    .product-modern {
        text-align: left !important;
        padding: 15px;
        background: #ffffff;
        border-radius: 12px;
        border: 1px solid #dee2e6;
        box-shadow: 0 2px 8px rgba(0,0,0,0.1);
        margin-bottom: 15px;
    }
    
    .product-modern:nth-child(even) {
        background: #f8f9fa;
    }
    
    .product-modern .unit {
        flex-direction: column !important;
        gap: 16px;
    }
    
    .product-modern .unit-left {
        text-align: center;
    }
    
    .product-modern .unit-body {
        text-align: left;
    }
    
    .product-modern-title {
        font-size: 20px !important;
        margin-bottom: 14px !important;
    }
    
    .product-modern-title a {
        color: var(--primary) !important;
        text-decoration: underline !important;
        font-weight: 600 !important;
    }
    
    .product-modern-title a:hover {
        color: var(--primary) !important;
        opacity: 0.8;
    }
    
    .product-price-wrap {
        margin-bottom: 12px;
    }
    
    .product-price {
        font-size: 14px;
        color: var(--secondary);
    }
    
    .product-modern .button {
        width: 100% !important;
        padding: 12px 20px !important;
        font-size: 14px !important;
        font-weight: 600 !important;
        border-radius: 8px !important;
        text-transform: uppercase !important;
        letter-spacing: 0.5px !important;
        transition: all 0.3s ease !important;
        text-align: center;
        display: block;
    }
    
    .product-modern .button-primary {
        background: var(--primary) !important;
        color: white !important;
        border: none !important;
    }
    
    .product-modern .button-primary:hover {
        background: var(--tertiary) !important;
        transform: translateY(-1px) !important;
    }
    
    /* Product details with labels for modern layout */
    .product-modern .product-details {
        margin-top: 12px;
        padding: 8px 0;
        text-align: left !important;
    }
    
    .product-modern .detail-row {
        display: flex;
        align-items: center;
        margin-bottom: 6px;
        font-size: 13px;
        line-height: 1.3;
        text-align: left !important;
    }
    
    .product-modern .detail-row:last-child {
        margin-bottom: 0;
    }
    
    .product-modern .detail-label {
        font-weight: 600;
        color: var(--primary);
        min-width: 70px;
        margin-right: 8px;
        text-align: left !important;
    }
    
    .product-modern .detail-value {
        color: var(--tertiary);
        flex: 1;
        text-align: left !important;
    }
    
    /* Ensure consistent styling for lazy loaded cards */
    .product .detail-row,
    .product-modern .detail-row {
        display: flex;
        align-items: center;
        margin-bottom: 6px;
        font-size: 13px;
        line-height: 1.3;
        text-align: left !important;
    }
    
    .product .detail-label,
    .product-modern .detail-label {
        font-weight: 600;
        color: var(--primary);
        min-width: 70px;
        margin-right: 8px;
        text-align: left !important;
    }
    
    .product .detail-value,
    .product-modern .detail-value {
        color: var(--tertiary);
        flex: 1;
        text-align: left !important;
    }
    
    /* Consistent size/caliper styling */
    .product .size-info,
    .product-modern .size-info {
        color: var(--secondary);
        font-size: 14px;
        margin-bottom: 4px;
    }
    
    .product .size-shorthand,
    .product-modern .size-shorthand {
        color: var(--primary);
        font-size: 13px;
        margin-bottom: 4px;
    }
    
    /* Override any local styles to ensure consistency - HIGH SPECIFICITY */
    .product .detail-row .detail-label,
    .product-modern .detail-row .detail-label,
    .product .product-details .detail-label,
    .product-modern .product-details .detail-label {
        color: var(--primary) !important;
        font-weight: 600 !important;
    }
    
    .product .detail-row .detail-value,
    .product-modern .detail-row .detail-value,
    .product .product-details .detail-value,
    .product-modern .product-details .detail-value {
        color: var(--tertiary) !important;
    }
    
    /* Override any inline styles for availability and price */
    .product td[class*="text-end"],
    .product-modern td[class*="text-end"] {
        color: var(--tertiary) !important;
    }
    
    /* Ensure consistent text colors for all plant information */
    .product .text-left,
    .product-modern .text-left {
        color: var(--tertiary) !important;
    }
    
    /* Override any local color styles for plant details */
    .product div[style*="font-size:90%"],
    .product-modern div[style*="font-size:90%"] {
        color: var(--tertiary) !important;
    }
    
    /* Force consistency for initial load vs lazy load cards */
    .product table td,
    .product-modern table td {
        color: var(--tertiary) !important;
    }
    
    /* Override any table-specific styling that might differ */
    .product table .text-end,
    .product-modern table .text-end {
        color: var(--tertiary) !important;
    }
    
    /* Ensure all plant information uses consistent colors */
    .product span,
    .product-modern span {
        color: inherit !important;
    }
    
    /* Override any specific color overrides */
    .product .fa-tag,
    .product-modern .fa-tag {
        color: var(--primary) !important;
    }
    
    /* Ensure quick view mobile cards match grid/list view cards exactly */
    .product .size-info {
        color: var(--tertiary) !important;
        font-size: 12px !important;
        margin-top: 4px !important;
        text-align: left !important;
    }
    
    /* Override any remaining inline styles in quick view */
    .product div[style*="font-size:90%"] {
        color: var(--tertiary) !important;
        font-size: 12px !important;
        margin-top: 4px !important;
        text-align: left !important;
    }
    
    /* Force consistency for all product cards regardless of source */
    .product h3 a,
    .product-modern h3 a,
    .product .product-title a {
        color: var(--primary) !important;
        text-decoration: underline !important;
        font-weight: 600 !important;
    }
    
    .product .text-uppercase,
    .product-modern .text-uppercase {
        color: var(--secondary) !important;
        font-size: 14px !important;
        margin-bottom: 6px !important;
        text-align: left !important;
    }
}

/* Tablet adjustments */
@media (min-width: 768px) and (max-width: 991px) {
    .col-sm-6.col-lg-4 {
        width: 50% !important;
        margin-bottom: 24px;
    }
    
    .col-lg-3.col-md-4.col-sm-6.col-12 {
        width: 50% !important;
        margin-bottom: 24px;
    }
    
    .product,
    .product-modern {
        padding: 20px;
    }
    
    .product-thumb-info-image {
        height: 180px;
    }
    
    .product h3,
    .product-modern-title {
        font-size: 18px !important;
    }
}

/* Small mobile devices */
@media (max-width: 575px) {
    .product,
    .product-modern {
        padding: 14px;
        margin-bottom: 12px;
    }
    
    .product-thumb-info-image {
        height: 160px;
    }
    
    .product h3,
    .product-modern-title {
        font-size: 17px !important;
    }
    
    .product .btn,
    .product-modern .button {
        padding: 10px 16px !important;
        font-size: 14px !important;
    }
    
    .badge {
        font-size: 10px;
        padding: 4px 8px;
    }
}

/* Landscape mobile devices */
@media (max-width: 767px) and (orientation: landscape) {
    .product-thumb-info-image {
        height: 140px;
    }
    
    .product,
    .product-modern {
        padding: 16px;
    }
}

/* High DPI displays */
@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
    .product-thumb-info-image {
        image-rendering: -webkit-optimize-contrast;
        image-rendering: crisp-edges;
    }
}

/* Print styles */
@media print {
    .product,
    .product-modern {
        break-inside: avoid;
        box-shadow: none;
        border: 1px solid #000;
    }
    
    .addtocart-btn-wrapper,
    .product .btn,
    .product-modern .button {
        display: none !important;
    }
}

/* Enhanced spacing for better mobile experience */
@media (max-width: 767px) {
    /* Improve touch targets */
    .product .btn,
    .product-modern .button,
    .addtocart-btn {
        min-height: 44px;
    }
    
    /* Better spacing between elements */
    .product > * + *,
    .product-modern > * + * {
        margin-top: 14px;
    }
    
    /* Improved text readability */
    .product h3,
    .product-modern-title {
        line-height: 1.5 !important;
    }
    
    /* Better form element spacing */
    .quantity input,
    .add-cart {
        margin-bottom: 4px;
        margin-left: 4px;
    }
    
    /* Reduce spacing between quantity input and add to cart button by 60% */
    .quantity {
        margin-right: 0.8px !important;
    }
}

/* Accessibility improvements */
@media (prefers-reduced-motion: reduce) {
    .product,
    .product-modern,
    .addtocart-btn,
    .product .btn,
    .product-modern .button {
        transition: none !important;
        transform: none !important;
    }
}

/* Dark mode support - Commented out for now */
/*
@media (prefers-color-scheme: dark) {
    .product,
    .product-modern {
        background: #2d3748;
        border-color: #4a5568;
        color: var(--tertiary);
    }
    
    .product h3 a,
    .product-modern-title a {
        color: var(--primary) !important;
    }
    
    .product .text-uppercase,
    .product-price {
        color: var(--secondary) !important;
    }
}
*/

/* Desktop styles for product details */
@media (min-width: 768px) {
    .product-details {
        margin-top: 16px;
        padding: 12px 0;
        text-align: left !important;
    }
    
    .detail-row {
        margin-bottom: 8px;
        font-size: 14px;
        text-align: left !important;
    }
    
    .detail-label {
        min-width: 80px;
        margin-right: 12px;
        font-weight: 600;
        color: var(--primary);
        text-align: left !important;
    }
    
    .detail-value {
        color: var(--tertiary);
        font-weight: 500;
        text-align: left !important;
    }
    
            /* Ensure proper alignment on larger screens */
        .product .detail-row,
        .product-modern .detail-row {
            display: flex;
            align-items: center;
            justify-content: flex-start;
            text-align: left !important;
        }
        
        /* Consistent styling for all card types */
        .product .detail-label,
        .product-modern .detail-label {
            color: var(--primary);
        }
        
        .product .detail-value,
        .product-modern .detail-value {
            color: var(--tertiary);
        }
        
        /* Consistent size/caliper styling for desktop */
        .product .size-info,
        .product-modern .size-info {
            color: var(--secondary);
            font-size: 14px;
            margin-bottom: 6px;
        }
        
        .product .size-shorthand,
        .product-modern .size-shorthand {
            color: var(--primary);
            font-size: 13px;
            margin-bottom: 6px;
        }
    }

/* ===== MOBILE-FRIENDLY CHECKOUT & CART STYLES ===== */

/* Mobile cart cards container - hidden by default on desktop */
.mobile-cart-cards {
    display: none;
}

/* Mobile label spacing */
.mobile-label {
    margin-right: 8px;
    font-weight: 600;
    color: #495057;
}

/* Mobile responsive adjustments for specific pages */
@media (max-width: 767px) {
    /* Hide desktop table on mobile - with higher specificity */
    .confirm-order-page .shop_table.cart,
    .confirm-order-page .shop_table.cart thead,
    .confirm-order-page .shop_table.cart tbody,
    .confirm-order-page .shop_table.cart tr,
    .confirm-order-page .shop_table.cart th,
    .confirm-order-page .shop_table.cart td,
    .order-confirmation-page .shop_table.cart,
    .order-confirmation-page .shop_table.cart thead,
    .order-confirmation-page .shop_table.cart tbody,
    .order-confirmation-page .shop_table.cart tr,
    .order-confirmation-page .shop_table.cart th,
    .order-confirmation-page .shop_table.cart td {
        display: none !important;
    }
    
    /* Show mobile cart cards */
    .confirm-order-page .mobile-cart-cards,
    .order-confirmation-page .mobile-cart-cards {
        display: block !important;
    }
    
    /* Hide table-responsive container on mobile */
    .confirm-order-page .table-responsive,
    .order-confirmation-page .table-responsive {
        display: none !important;
    }
    
    /* Adjust cart item cards for mobile */
    .cart-item-card {
        padding: 14px;
        margin-bottom: 12px;
    }

    /* Confirm order: mobile edit buttons use theme tertiary color */
    .confirm-order-page .address-details .btn.btn-outline-primary {
        border-color: var(--tertiary) !important;
        color: var(--tertiary) !important;
    }
    .confirm-order-page .address-details .btn.btn-outline-primary:hover,
    .confirm-order-page .address-details .btn.btn-outline-primary:focus {
        background: var(--tertiary) !important;
        border-color: var(--tertiary) !important;
        color: #fff !important;
    }
    
    .cart-item-image {
        width: 70px;
        height: 70px;
    }
    
    .cart-item-name {
        font-size: 15px;
    }
    
    .cart-item-price {
        font-size: 16px;
    }
    
    .cart-item-qty-input {
        width: 70px;
        height: 36px;
        font-size: 14px;
    }
    
    /* Adjust checkout forms for mobile */
    .checkout-form-card {
        padding: 16px;
        margin-bottom: 16px;
    }
    
    .checkout-form-title {
        font-size: 16px;
        margin-bottom: 12px;
    }
    
    .checkout-form-input,
    .checkout-form-select {
        height: 40px;
        font-size: 16px;
    }
    
    /* Mobile cart summary */
    .cart-summary-card {
        padding: 16px;
        margin-bottom: 16px;
    }
    
    .cart-summary-title {
        font-size: 18px;
        margin-bottom: 12px;
    }
    
    .checkout-btn {
        height: 44px;
        font-size: 15px;
    }
}

/* Desktop styles - show table, hide mobile cards */
@media (min-width: 768px) {
    .shop_table.cart {
        display: table !important;
    }
    
    .shop_table.cart thead {
        display: table-header-group !important;
    }
    
    .shop_table.cart tbody {
        display: table-row-group !important;
    }
    
    .shop_table.cart tr {
        display: table-row !important;
    }
    
    .shop_table.cart th,
    .shop_table.cart td {
        display: table-cell !important;
    }
    
    .table-responsive {
        display: block !important;
    }
    
    .mobile-cart-cards {
        display: none !important;
    }
}

/* ===== TABLE-BASED LAYOUT STYLES ===== */
/* Styles for files that use table layouts instead of cards */

/* Plant name table class */
.plant-name-table {
    font-size: 20px !important;
    font-weight: 700;
    color: #6f42c1;
    line-height: 1.3;
    margin-bottom: 12px;
    display: block;
    text-align: left !important;
}

/* Dimension labels styling */
.dimension-label {
    font-weight: 500 !important;
    color: #495057 !important;
    font-size: 14px !important;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-right: 8px;
    text-align: left !important;
    display: inline-block;
}

/* Highlighted data sections with purple bars */
.highlighted-data {
    background: linear-gradient(135deg, #6f42c1 0%, #5a32a3 100%);
    color: white;
    padding: 8px 12px;
    margin: 8px 0;
    border-radius: 6px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    box-shadow: 0 2px 4px rgba(111, 66, 193, 0.3);
}

.highlighted-data-label {
    font-weight: 600;
    font-size: 13px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: rgba(255, 255, 255, 0.9);
}

.highlighted-data-value {
    font-weight: 700;
    font-size: 16px;
    color: white;
}

.plant-name-table a {
    color: #2c3e50;
    text-decoration: none;
    transition: color 0.3s ease;
}

.plant-name-table a:hover {
    color: #007bff;
    text-decoration: underline;
}

/* Mobile-friendly table styles - UPDATED TO MATCH RESPONSIVE CARDS */
@media (max-width: 767px) {
    .table-responsive {
        font-size: 14px;
    }
    
    .table th, .table td {
        padding: 8px 6px;
    }
    
    /* Hide desktop table headers on mobile */
    .table thead {
        display: none;
    }
    
    /* Mobile compact layout - NOW MATCHES RESPONSIVE CARDS */
    .table tbody tr {
        display: block;
        border: 1px solid #dee2e6;
        margin-bottom: 15px;
        padding: 15px;
        border-radius: 12px;
        background: #ffffff;
        box-shadow: 0 2px 8px rgba(0,0,0,0.1);
        transition: all 0.3s ease;
    }
    
    .table tbody tr:nth-child(even) {
        background: #f8f9fa;
    }
    
    .table tbody tr:hover {
        box-shadow: 0 4px 16px rgba(0,0,0,0.15);
        transform: translateY(-2px);
    }
    
    .table tbody td {
        display: block;
        border: none;
        font-size: 13px;
        line-height: 1.3;
        text-align: left !important;
        color: var(--tertiary) !important;
    }
    
    /* Mobile column widths - NOW MATCHES RESPONSIVE CARDS */
    .mobile-name-col {
        width: 100% !important;
        font-weight: 600;
        font-size: 20px !important;
        margin-bottom: 14px !important;
        text-align: left !important;
    }
    
    .mobile-name-col a {
        color: var(--primary) !important;
        text-decoration: underline !important;
        font-weight: 600 !important;
    }
    
    .mobile-name-col a:hover {
        color: var(--primary) !important;
        opacity: 0.8;
    }
    
    .mobile-price-col {
        width: 100% !important;
        text-align: left !important;
        color: var(--secondary) !important;
        font-size: 14px !important;
        margin-bottom: 6px !important;
    }
    
    .mobile-qty-col {
        width: 100% !important;
        text-align: left !important;
        color: var(--tertiary) !important;
    }
    
    .badge {
        font-size: 11px;
        padding: 4px 8px;
    }
    
    .quantity {
        display: inline-block;
        margin-right: 0.8px !important;
        vertical-align: middle;
        text-align: left !important;
    }
    
    .quantity input {
        max-width: 80px !important;
        height: 32px !important;
        padding: 0px 15px !important;
        vertical-align: middle;
        font-size: 14px;
        text-align: left !important;
    }
    
    .add-cart {
        font-size: 14px !important;
        padding: 12px 20px !important;
        display: inline-block;
        vertical-align: middle;
        font-weight: 600 !important;
        border-radius: 8px !important;
        text-transform: uppercase !important;
        letter-spacing: 0.5px !important;
        transition: all 0.3s ease !important;
        text-align: center !important;
        background: var(--primary) !important;
        color: white !important;
        border: none !important;
    }
    
    .add-cart:hover {
        background: var(--tertiary) !important;
        transform: translateY(-1px) !important;
        color: white !important;
    }
    
    .text-sm-1 {
        font-size: 12px;
        color: var(--tertiary) !important;
    }
    
    /* Mobile inline info - NOW MATCHES RESPONSIVE CARDS */
    .mobile-info {
        display: inline;
        margin-left: 8px;
        text-align: left !important;
        color: var(--tertiary) !important;
    }
    
    .mobile-info strong {
        color: var(--primary) !important;
    }
    
    /* Mobile form layout */
    .additem {
        margin-top: 9px;
        text-align: left !important;
    }

/* ===== CONFIRM ORDER PAGE MOBILE STYLES ===== */

/* Address cards styling */
.address-details {
	font-size: 14px;
	line-height: 1.6;
	color: #495057;
}

.address-details strong {
	color: #2c3e50;
	font-weight: 600;
}

/* Form labels for mobile */
.form-label {
	font-weight: 600;
	color: #2c3e50;
	margin-bottom: 8px;
	font-size: 14px;
}

/* Mobile-friendly form inputs */
.checkout-form-input {
	height: 44px;
	font-size: 16px;
	border: 2px solid #dee2e6;
	border-radius: 8px;
	padding: 10px 12px;
	transition: all 0.3s ease;
}

.checkout-form-input:focus {
	border-color: #007bff;
	box-shadow: 0 0 0 3px rgba(0,123,255,0.1);
	outline: none;
}

/* ===== ORDER CONFIRMATION PAGE MOBILE STYLES ===== */

/* Success message styling */
.alert-success {
	background: linear-gradient(135deg, #d4edda 0%, #c3e6cb 100%);
	border: 2px solid #28a745;
	border-radius: 12px;
	padding: 20px;
}

.alert-success i {
	color: #28a745;
}

.alert-success h4 {
	color: #155724;
	font-weight: 600;
}

.alert-success p {
	color: #155724;
}

/* Order status card improvements */
.checkout-form-card .address-details strong {
	color: #2c3e50;
	font-weight: 600;
}

/* Mobile order summary improvements */
@media (max-width: 767px) {
	.cart-totals td {
		padding: 8px 4px;
		font-size: 14px;
	}
	
	.cart-totals .amount {
		font-size: 16px;
	}
	
	.checkout-form-card {
		margin-bottom: 20px;
	}
	
	.checkout-form-title {
		font-size: 18px;
		margin-bottom: 15px;
	}
}

/* Textarea specific styling */
.checkout-form-input[rows] {
	height: auto;
	min-height: 80px;
	resize: vertical;
}

/* Mobile order summary improvements */
@media (max-width: 767px) {
	/* Hide desktop table on mobile */
	.shop_table.cart {
		display: none;
	}
	
	/* Show mobile cards on mobile */
	.mobile-cart-cards {
		display: block;
	}
	
	/* Improve address cards on mobile */
	.checkout-form-card {
		margin-bottom: 16px;
	}
	
	/* Better spacing for mobile */
	.col-12.mb-3 {
		margin-bottom: 16px !important;
	}
	
	/* Improve form spacing on mobile */
	.form-group {
		margin-bottom: 20px;
	}
	
	/* Better button sizing on mobile */
	.btn-sm {
		padding: 8px 16px;
		font-size: 14px;
	}
	
	/* Improve cart totals card on mobile */
	.cart-totals {
		font-size: 14px;
	}
	
	.cart-totals td {
		padding: 8px 6px;
	}
	
	/* Better mobile spacing for order items */
	.cart-item-card {
		margin-bottom: 16px;
	}
	
	.cart-item-header {
		margin-bottom: 16px;
	}
	
	.cart-item-details {
		margin-left: 16px;
	}
	
	/* Improve mobile form inputs */
	.checkout-form-input {
		height: 48px;
		font-size: 16px;
	}
	
	/* Better mobile textarea */
	.checkout-form-input[rows] {
		min-height: 100px;
	}
}
    
    /* Mobile highlighted data sections */
    .highlighted-data {
        padding: 6px 10px;
        margin: 6px 0;
        font-size: 12px;
    }
    
    .highlighted-data-label {
        font-size: 12px;
    }
    
    .highlighted-data-value {
        font-size: 15px;
    }
}

@media (max-width: 576px) {
    .table-responsive {
        font-size: 13px;
    }
    
    .table tbody tr {
        padding: 11px;
        margin-bottom: 7px;
    }
    
    .quantity input {
        max-width: 50px !important;
        padding: 3px 6px !important;
    }
    
    .add-cart {
        font-size: 11px;
        padding: 4px 35px;
        height: 32px;
    }
    
    .mobile-name-col {
        font-size: 15px;
    }
    
    /* Small mobile plant name table styles */
    .plant-name-table {
        font-size: 18px !important;
        margin-bottom: 10px;
    }
}

/* Desktop table styles */
@media (min-width: 768px) {
    /* Hide inline mobile labels on desktop */
    .mobile-label { display: none !important; }
    .table thead {
        display: table-header-group;
    }
    
    .table tbody tr {
        display: table-row;
    }
    
    .table tbody td {
        display: table-cell;
    }
    
    /* Show desktop-only columns */
    .desktop-available-col,
    .desktop-growing-col {
        display: table-cell !important;
    }
    
    /* Desktop column widths */
    .desktop-name-col {
        width: 35%;
    }
    
    .desktop-available-col {
        width: 12%;
    }
    
    .desktop-growing-col {
        width: 8%;
    }
    
    .desktop-price-col {
        width: 20%;
    }
    
    .desktop-qty-col {
        width: 20%;
    }
    
    /* Hide mobile inline info on desktop */
    .mobile-info {
        display: none;
    }
    
    /* Desktop form layout */
    .quantity {
        display: inline-block;
        margin-bottom: 0;
        margin-right: 4px;
        text-align: left !important;
    }
    
    .add-cart {
        display: inline-block;
        text-align: center !important;
    }
    
    /* Desktop plant name table styles */
    .plant-name-table {
        font-size: 20px !important;
        margin-bottom: 12px;
    }
}
