/* Global Base */
body {
    font-family:"Segoe UI", Arial, sans-serif;
    color:#333;
    background:#f5f7fa;
    line-height:1.6;
    margin:0;
}

/* Headings */
h1, h2, h3, h4 {
    color:#2c7be5;
    font-weight:700;
    margin-bottom:15px;
}

/* Links */
a {
    color:#2c7be5;
    text-decoration:none;
    transition:color 0.3s ease;
}
a:hover {
    text-decoration:underline;
    color:#1a5bb8;
}

/* Buttons */
button, .button, input[type="submit"] {
    background:#2c7be5;
    color:#fff;
    border:none;
    padding:12px 20px;
    border-radius:5px;
    cursor:pointer;
    font-weight:600;
    transition:background 0.3s ease;
}
button:hover, .button:hover, input[type="submit"]:hover {
    background:#1a5bb8;
}

/* Cards (for dashboards, product blocks, etc.) */
.flix101-card {
    background:#fff;
    border:1px solid #d0d7de;
    border-radius:8px;
    padding:20px;
    margin-bottom:20px;
    box-shadow:0 2px 6px rgba(0,0,0,0.05);
}
.flix101-card h3 {
    margin-top:0;
    color:#2c7be5;
}

/* Profile Picture Upload */
.flix101-profile-picture {
    display:flex;
    align-items:center;
    gap:20px;
    margin:20px 0;
}
.flix101-profile-picture img {
    width:100px; height:100px;
    border-radius:50%;
    border:2px solid #2c7be5;
    object-fit:cover;
}
.flix101-profile-picture input[type="file"] {
    flex:1;
}

/* Tables (for affiliate stats, orders, etc.) */
.flix101-table {
    width:100%;
    border-collapse:collapse;
    margin:20px 0;
}
.flix101-table th, .flix101-table td {
    border:1px solid #d0d7de;
    padding:10px;
    text-align:left;
}
.flix101-table th {
    background:#2c7be5;
    color:#fff;
    font-weight:600;
}
.flix101-table tr:nth-child(even) {
    background:#f9fbfd;
}

/* Alerts */
.flix101-alert-success {
    padding:12px;
    background:#d4edda;
    border:1px solid #c3e6cb;
    color:#155724;
    border-radius:5px;
    margin-bottom:15px;
    font-weight:600;
}
.flix101-alert-error {
    padding:12px;
    background:#f8d7da;
    border:1px solid #f5c6cb;
    color:#721c24;
    border-radius:5px;
    margin-bottom:15px;
    font-weight:600;
}

/* Section Headings */
.flix101-section-heading {
    font-size:1.2em;
    font-weight:700;
    color:#1a5bb8;
    margin:25px 0 10px;
    border-bottom:2px solid #d0d7de;
    padding-bottom:5px;
}

/* WooCommerce Product Grid */
.woocommerce ul.products li.product {
    background:#fff;
    border:1px solid #d0d7de;
    border-radius:8px;
    padding:15px;
    box-shadow:0 2px 6px rgba(0,0,0,0.05);
    transition:transform 0.2s ease, box-shadow 0.2s ease;
}
.woocommerce ul.products li.product:hover {
    transform:translateY(-4px);
    box-shadow:0 4px 12px rgba(0,0,0,0.08);
}
.woocommerce ul.products li.product .woocommerce-loop-product__title {
    font-weight:600;
    color:#2c7be5;
    margin:10px 0;
}
.woocommerce ul.products li.product .price {
    color:#1a5bb8;
    font-weight:700;
    margin-bottom:10px;
}
.woocommerce ul.products li.product a.button {
    background:#2c7be5;
    color:#fff;
    border-radius:5px;
    padding:8px 12px;
    font-weight:600;
    transition:background 0.3s ease;
}
.woocommerce ul.products li.product a.button:hover {
    background:#1a5bb8;
}

/* Equal Height Product Cards */
.woocommerce ul.products {
    display:flex;
    flex-wrap:wrap;
    gap:20px;
}
.woocommerce ul.products li.product {
    flex:1 1 calc(25% - 20px); /* 4 per row, adjust as needed */
    display:flex;
    flex-direction:column;
    justify-content:space-between;
    background:#fff;
    border:1px solid #d0d7de;
    border-radius:8px;
    padding:15px;
    box-shadow:0 2px 6px rgba(0,0,0,0.05);
    transition:transform 0.2s ease, box-shadow 0.2s ease;
    min-height:320px; /* ensures equal height */
}
.woocommerce ul.products li.product:hover {
    transform:translateY(-4px);
    box-shadow:0 4px 12px rgba(0,0,0,0.08);
}

/* Product Image */
.woocommerce ul.products li.product img {
    border-radius:6px;
    margin-bottom:12px;
    object-fit:cover;
    height:200px; /* fixed image height for balance */
    width:100%;
}

/* Product Title */
.woocommerce ul.products li.product .woocommerce-loop-product__title {
    font-size:0.95em; /* smaller but readable */
    font-weight:600;
    color:#2c7be5;
    margin:8px 0;
    line-height:1.3;
    height:2.6em; /* fixes height for 2 lines */
    overflow:hidden;
    text-overflow:ellipsis;
    display:-webkit-box;
    -webkit-line-clamp:2; /* max 2 lines */
    -webkit-box-orient:vertical;
}

/* Price */
.woocommerce ul.products li.product .price {
    color:#1a5bb8;
    font-weight:700;
    margin-bottom:10px;
}

/* Add to Cart Button */
.woocommerce ul.products li.product a.button {
    background:#2c7be5;
    color:#fff;
    border-radius:5px;
    padding:8px 12px;
    font-weight:600;
    transition:background 0.3s ease;
    text-align:center;
}
.woocommerce ul.products li.product a.button:hover {
    background:#1a5bb8;
}

/* Single Product Container */
.woocommerce div.product {
    background:#fff;
    border:1px solid #d0d7de;
    border-radius:8px;
    padding:25px;
    box-shadow:0 4px 12px rgba(0,0,0,0.08);
    margin-bottom:30px;
}

/* Product Title */
.woocommerce div.product .product_title {
    font-size:1.4em;
    font-weight:700;
    color:#2c7be5;
    margin-bottom:15px;
    line-height:1.3;
}

/* Product Price */
.woocommerce div.product .price {
    color:#1a5bb8;
    font-size:1.2em;
    font-weight:700;
    margin-bottom:20px;
}

/* Product Gallery */
.woocommerce div.product div.images img {
    border-radius:8px;
    border:1px solid #d0d7de;
    box-shadow:0 2px 6px rgba(0,0,0,0.05);
    max-height:400px;
    object-fit:cover;
}

/* Short Description */
.woocommerce div.product .woocommerce-product-details__short-description {
    margin-bottom:20px;
    line-height:1.6;
    font-size:0.95em;
    color:#444;
}

/* Add to Cart Button */
.woocommerce div.product form.cart .button {
    background:#2c7be5;
    color:#fff;
    border-radius:5px;
    padding:12px 20px;
    font-weight:600;
    transition:background 0.3s ease;
}
.woocommerce div.product form.cart .button:hover {
    background:#1a5bb8;
}

/* Tabs (Description, Reviews, Additional Info) */
.woocommerce div.product .woocommerce-tabs ul.tabs {
    border-bottom:2px solid #d0d7de;
    margin-top:30px;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li {
    display:inline-block;
    margin-right:15px;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li a {
    font-weight:600;
    color:#2c7be5;
    padding:8px 12px;
    border-radius:5px 5px 0 0;
    transition:background 0.3s ease;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a {
    background:#f5f7fa;
    border:1px solid #d0d7de;
    border-bottom:none;
}

/* Related Products */
.woocommerce .related ul.products li.product {
    background:#fff;
    border:1px solid #d0d7de;
    border-radius:8px;
    padding:15px;
    box-shadow:0 2px 6px rgba(0,0,0,0.05);
}
.woocommerce .related ul.products li.product .woocommerce-loop-product__title {
    font-size:0.9em;
    font-weight:600;
    color:#2c7be5;
    line-height:1.3;
    height:2.6em;
    overflow:hidden;
    text-overflow:ellipsis;
    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
}